littlebot
Published on 2025-04-07 / 2 Visits
0

【源码】基于ROS2框架的HDMI图像显示系统

项目简介

本项目是基于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板端编译

  1. 确认编译环境:
  2. 板端已安装X3 Ubuntu系统。
  3. 设置TogetherROS环境变量:source PATH/setup.bash
  4. 已安装ROS2编译工具colcon
  5. 编译命令: bash colcon build --packages-select hobot_hdmi

2.2 Docker交叉编译

  1. 确认编译环境:
  2. 在Docker中编译,Docker中已安装TogetherROS。
  3. 编译命令: ```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系统

  1. 设置环境变量: bash export COLCON_CURRENT_PREFIX=./install source ./install/setup.bash
  2. 发布图片数据: bash ros2 run mipi_cam mipi_cam --ros-args -p io_method:=shared_mem -p out_format:=nv12
  3. 启动HDMI显示: bash ros2 run hobot_hdmi hobot_hdmi --ros-args -p sub_img_topic:=/hbmem_img -p io_method:=shared_mem

3.2 Linux系统

  1. 设置环境变量: bash export ROS_LOG_DIR=/userdata/ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./install/lib/
  2. 发布图片数据: bash /userdata/install/lib/mipi_cam/mipi_cam --ros-args -p io_method:=shared_mem
  3. 启动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】