RDK X3(旭日X3派)在Ubuntu20.04 ROS2 Foxy手动编译新版TROS YOLOv5s包

在RDK X3 的20.04系统镜像中, 运行的TROS是基于ROS2 Foxy Server版编译的, 其中672 × 672 分辨率, 80类别的YOLOv5s模型, 推理节点后处理约65ms, 约25fps. 参考TROS手册: YOLO | TogetheROS.Bot用户手册 (horizon.cc)

最近在RDK X3的22.04系统镜像中, 基于ROS2 Humble Server的新版TROS对YOLOv5s的推理节点后处理又优化了一版, 只需要50ms, 不仅仅减少了单帧延迟, 还将80类别模型的分辨率提高到了30fps.

本文给出在地平线RDK X3和RDK X3 Module平台手动的编译方法, 供各位开发者抢鲜体验.

另外推理结果的订阅请参考: RDK X3 (旭日X3派) 使用TROS快速部署YOLOv5刷爆 30 fps !_origin car rdkx3派-CSDN博客

步骤

创建工作目录, 下载源码的Foxy分支, clone不下来可多尝试几次.

mkdir -p tros_hb_dnn_ws/src && cd tros_hb_dnn_ws/src  # 新建工作目录及src文件夹, 并进入
git clone -b foxy https://github.com/HorizonRDK/hobot_dnn.git  # 拉取foxy分支
cd .. # 回到工作目录

卸载板卡自带的dnn_nodednn_node_example`

sudo apt remove -y tros-dnn-node-example tros-dnn-node

安装ROS2第三方编译工具colcon

pip install -U colcon-common-extensions

编译到单独的install目录, 注意, 此后需要单独source此工作目录的 ./install/setup.bash 脚本.

colcon build --packages-select dnn_node_example dnn_node

或者增量编译到TROS, 这样相当于直接替换了原版的hobot_dnn相关的ROS2 Package, 编译完成需要约2分18秒.

colcon build --packages-select dnn_node_example dnn_node --cmake-args -DIS_ROS2_SH_MODE=DYNAMIC --install-base /opt/tros --merge-install

如果是2GB的板子编译时因为内存不足报错, 可以通过添加下列命令减少编译的线程数量.

colcon build --packages-select dnn_node_example dnn_node --cmake-args -DIS_ROS2_SH_MODE=DYNAMIC --install-base /opt/tros --merge-install --parallel-workers 1

接下来的使用步骤和TROS手册一致

使用MIPI摄像头发布图片

# 配置tros.b环境
source /opt/tros/setup.bash

# 配置MIPI摄像头
export CAM_TYPE=mipi

# 启动launch文件
ros2 launch dnn_node_example dnn_node_example.launch.py dnn_example_config_file:=config/yolov5workconfig.json dnn_example_image_width:=480 dnn_example_image_height:=272

使用USB摄像头发布图片

# 配置tros.b环境
source /opt/tros/setup.bash

# 配置USB摄像头
export CAM_TYPE=usb

# 启动launch文件
ros2 launch dnn_node_example dnn_node_example.launch.py dnn_example_config_file:=config/yolov5workconfig.json dnn_example_image_width:=480 dnn_example_image_height:=272
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值