项目简介
本项目是基于ROS2框架的HDMI图像显示系统,用于通过HDMI接口显示由ROS2节点发布的图像消息。系统支持ROS2标准格式的图像消息,也支持通过共享内存方式订阅图像数据。项目可在X3和X86平台上编译和运行,适配Ubuntu 20.04系统。
项目的主要特性和功能
- 图像显示:通过HDMI接口实时显示ROS2节点发布的图像消息。
- 共享内存支持:支持通过共享内存订阅图像数据,提升数据传输效率。
- 多平台支持:可在X3和X86平台编译运行。
- 多编译方式:支持在X3 Ubuntu系统直接编译,也支持在PC上用Docker交叉编译。
- 参数配置:支持通过参数配置图像主题和数据传输方式。
安装使用步骤
1. 环境准备
- 开发平台:X3或X86
- 系统版本:Ubuntu 20.04
- 编译工具链:Linux GCC 9.3.0/Linaro GCC 9.3.0
- ROS2环境:确保已安装ROS2编译工具
colcon
,安装命令:pip install -U colcon-common-extensions
2. 编译项目
2.1 Ubuntu板端编译
- 确认编译环境:
- 板端已安装X3 Ubuntu系统。
- 设置TogetherROS环境变量:
source PATH/setup.bash
。 - 已安装ROS2编译工具
colcon
。 - 编译命令:
bash colcon build --packages-select hobot_hdmi
2.2 Docker交叉编译
- 确认编译环境:
- 在Docker中编译,Docker中已安装TogetherROS。
- 编译命令: ```bash export TARGET_ARCH=aarch64 export TARGET_TRIPLE=aarch64-linux-gnu export CROSS_COMPILE=/usr/bin/$TARGET_TRIPLE-
colcon build --packages-select hobot_hdmi \
--merge-install \
--cmake-force-configure \
--cmake-args \
--no-warn-unused-cli \
-DCMAKE_TOOLCHAIN_FILE=pwd
/robot_dev_config/aarch64_toolchainfile.cmake
```
3. 运行项目
3.1 Ubuntu系统
- 设置环境变量:
bash export COLCON_CURRENT_PREFIX=./install source ./install/setup.bash
- 发布图片数据:
bash ros2 run mipi_cam mipi_cam --ros-args -p io_method:=shared_mem -p out_format:=nv12
- 启动HDMI显示:
bash ros2 run hobot_hdmi hobot_hdmi --ros-args -p sub_img_topic:=/hbmem_img -p io_method:=shared_mem
3.2 Linux系统
- 设置环境变量:
bash export ROS_LOG_DIR=/userdata/ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./install/lib/
- 发布图片数据:
bash /userdata/install/lib/mipi_cam/mipi_cam --ros-args -p io_method:=shared_mem
- 启动HDMI显示:
bash /userdata/install/lib/hobot_hdmi/hobot_hdmi --ros-args -p sub_img_topic:=hbmem_img -p io_method:=shared_mem
4. 结果分析
在X3平台上运行时,HDMI输出分辨率为1920*1080,可在显示器上实时查看摄像头数据。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】