# openEuler RISC-V ROS2 Humble
**Repository Path**: yunxiangluo/open-euler-risc-v-ros2-humble
## Basic Information
- **Project Name**: openEuler RISC-V ROS2 Humble
- **Description**: openEuler RISC-V ROS2 Humble
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 7
- **Created**: 2023-08-10
- **Last Updated**: 2023-09-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

版权所有 © 2023 openEuler社区
您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。
修订记录
| 日期 | 修订 版本 | 修改描述 | 作者 |
|-------|-------------|--------------------|------------------------------------------------|
| 8 月 10 日 | V1.0 | 测试用例与测试结论文档 | 罗云翔 郑景坤 蔡玮霖 朱旭昌 李永泰 郑俊杰 张天宇 |
关键词: ROS2 Humble
摘要:
ROS2 Humble 是一个上游社区长期支持版本,支持到 2027 年 5 月份。本次移植 ROS2 Humble 版本的基础功能包和部分上层应用包,使得 openEuler 社区可以获得基于 RISC-V 的 ROS2 Humble 版本特性的兼容。
缩略语清单:
| 缩略语 | 英文全名 | 中文解释 |
|--------|------------------------|------------|
| ROS | Robot Operating System | 机器人操作系统 |
# 1 特性概述
ROS作为当今主流的机器人开发中间件,已经在 Ubuntu 上发展了近 10 多年。是一款比较成熟的机器人软件开发套件,并且有 ROS1 和 ROS2 两个大的套件版本。 本特性为 ROS2 Humble 版本,支持开发者使用 ROS 的通信、交互等功能,以及上层软件的拓展开发,比如建图、导航、定位等功能包的开发与使用。
# 2 特性测试信息
本节描述被测对象的版本信息,测试的时间和测试结果,包括依赖的硬件。
| 版本名称 | 测试起始时间 | 测试结束时间 |
|--------------------------|------------|------------|
| openEuler RISC-V 2203 v2 | 8月9号 | 8月11号 |
描述特性测试的硬件环境信息
| 硬件型号 | 硬件配置信息 | 备注 |
|-------------------------|-----------------|------|
| RISC-V QEMU 虚拟机 | CPU 8核, 内存 8G | |
| VisionFive2 V1.2A SBC 开发板 | CPU 4核, 内存 4G | |
| HiFive Unmatched 开发板 | CPU 4 核, 内存 16G | |
# 3 测试结论概述
## 3.1 测试整体结论
ROS2 Humble 版本特性,共计执行 40 个用例,成功 39 个,失败 1 个(不影响基本功能使用),覆盖了在 QEMU、VisionFive2 和 Unmatched 开发板环境下的安装卸载测试和功能测试,通过多次的反复测试,整体质量良好。
## 3.2 约束说明
## 3.3 遗留问题分析
### 3.3.1 遗留问题影响以及规避措施
暂无
### 3.3.2 问题统计
暂无
# 4 详细测试结论
## 4.1 功能测试
*开源软件:主要关注开源软件升级后的变动点,继承特性由开源软件自带用例保证(需额外关注软件包提供可执行命令、库、服务功能)*
*社区孵化软件:主要参考以下列表*
### 4.1.1 继承特性测试结论
| 序号 | 组件/特性名称 | 特性质量评估 | 备注 |
|------|---------------|:--------------------------:|------|
| | | ■ | |
| | | ▲ | |
●: 表示特性不稳定,风险高
▲: 表示特性基本可用,遗留少量问题
■: 表示特性质量良好
### 4.1.2 新增特性测试结论
| 序号 | 组件/特性名称 | 特性质量评估 | 备注 |
|------|---------------|:--------------------------:|-----|
| 1 | ROS2-humble | ■ | 无 |
●: 表示特性不稳定,风险高
▲: 表示特性基本可用,遗留少量问题
■: 表示特性质量良好
## 4.2 兼容性测试结论
*针对应用软件,主要考虑OS版本兼容性(在不同LTS SPx上的兼容性)、升降级兼容性、上层以来软件兼容性(如升级mysql后,对版本内已发布的使用mysql的软件的兼容性)*
ROS2-Humble 组件在 RISC-V 平台上分别测试通过.
## 4.3 DFX专项测试结论
### 4.3.1 性能测试结论
| 指标大项 | 指标小项 | 指标值 | 测试结论 |
|----------|----------|--------|----------|
| | | | |
### 4.3.2 可靠性/韧性测试结论
| 测试类型 | 测试内容 | 测试结论 |
|----------|----------|----------|
| | | |
### 4.3.3 安全测试结论
| 测试类型 | 测试内容 | 测试结论 |
|----------|----------|----------|
| | | |
## 4.4 资料测试结论
*建议附加资料PR链接*
| 测试类型 | 测试内容 | 测试结论 |
|----------|----------|----------|
| | | |
## 4.5 其他测试结论
| 测试类型 | 测试内容 | 测试结论 |
|------|-----------------------------------------------------------------|--------------|
| 组件安装 | dnf install \`cat packages.list\` (list中为组件包含的所有软件包) | RISC-V测试通过 |
| 组件卸载 | dnf remove \`cat packages.list\` (list中为组件包含的所有软件包) | RISC-V测试通过 |
| 功能测试 | colcon build | RISC-V测试通过 |
| 功能测试 | ros2 pkg create | RISC-V测试通过 |
| 功能测试 | ros2 pkg executables | RISC-V测试通过 |
| 功能测试 | ros2 pkg list | RISC-V测试通过 |
| 功能测试 | ros2 pkg prefix | RISC-V测试通过 |
| 功能测试 | ros2 pkg xml | RISC-V测试通过 |
| 功能测试 | ros2 run | RISC-V测试通过 |
| 功能测试 | ros2 topic list | RISC-V测试通过 |
| 功能测试 | ros2 topic info | RISC-V测试通过 |
| 功能测试 | ros2 topic type | RISC-V测试通过 |
| 功能测试 | ros2 topic find | RISC-V测试通过 |
| 功能测试 | ros2 topic hz | RISC-V测试通过 |
| 功能测试 | ros2 topic bw | RISC-V测试通过 |
| 功能测试 | ros2 topic echo | RISC-V测试通过 |
| 功能测试 | ros2 topic pub | RISC-V测试通过 |
| 功能测试 | ros2 param list | RISC-V测试通过 |
| 功能测试 | ros2 service list | RISC-V测试通过 |
| 功能测试 | ros2 node list | RISC-V测试通过 |
| 功能测试 | ros2 node info | RISC-V测试通过 |
| 功能测试 | ros2 bag record -a | RISC-V测试未通过 |
| 功能测试 | ros2 launch demo_nodes_cpp talker_listener.launch.py | RISC-V测试通过 |
| 功能测试 | ros2 interface list | RISC-V测试通过 |
| 功能测试 | ros2 interface package | RISC-V测试通过 |
| 功能测试 | ros2 interface packages | RISC-V测试通过 |
| 功能测试 | ros2 interface show | RISC-V测试通过 |
| 功能测试 | ros2 interface proto | RISC-V测试通过 |
| 功能测试 | topic 通信 c++ | RISC-V测试通过 |
| 功能测试 | topic 通信 python | RISC-V测试通过 |
| 功能测试 | service 通信 c++ | RISC-V测试通过 |
| 功能测试 | service 通信 python | RISC-V测试通过 |
| 功能测试 | ros2 node info | RISC-V测试通过 |
| 功能测试 | ros2 run tf2_ros static_transform_publisher | RISC-V测试通过 |
| 功能测试 | ros2 run tf2_ros tf2_monitor | RISC-V测试通过 |
| 功能测试 | ros2 run tf2_tools view_frames | RISC-V测试通过 |
| 功能测试 | 测试 turtlesim | RISC-V测试通过 |
| 功能测试 | rqt 基础测试 | RISC-V测试通过 |
| 功能测试 | 双机 topic 通信测试 | RISC-V测试通过 |
| 功能测试 | 双机 service 通信测试 | RISC-V测试通过 |
# 5 测试执行
## 5.1 测试执行统计数据
*本节内容根据测试用例及实际执行情况进行特性整体测试的统计,可根据第二章的测试轮次分开进行统计说明。*
| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 |
|-----------------------------|------------|------------|--------------|
| openEuler 22.03 RISC-V test | 40 | 通过 39 | 1 |
*数据项说明:*
*测试用例数--到本测试活动结束时,所有可用测试用例数;* 40
*发现问题单数--本测试活动总共发现的问题单数。* 1(解决中,ros2 bag record 命令)
## 5.2 后续测试建议
后续测试需要关注点(可选)
# 6 附件
*此处可粘贴各类专项测试数据或报告*
[QEMU 测试报告](./QEMU/README.md)
[VisionFive2 测试报告](./VisionFive2/README.md)
[HiFive Unmatched 测试报告](./Unmatched/README.md)