ROS 2 中 Astra Pro 相机与 YOLOv5 检测功能编译启动全记录

先记录大概主要流程,后期有时间了再完善细节以及附上截图
一、编译 Astra Pro 相机功能包
1. 清理并编译相机包
cpp 复制代码
cd ~/Astra_ws
rm -rf build/astra_camera install/astra_camera  # 清理旧编译
colcon build --packages-select astra_camera --parallel-workers 2  # 编译相机包
source install/setup.bash  # 激活环境
  • 指令解析
    • --packages-select 仅编译指定包,节省时间;
    • --parallel-workers 2 设置 2 线程并行编译,可根据 CPU 核心数调整。

最终显示 Finished <<< astra_camera,即编译成功。

二、编译 YOLOv5 Rockchip 检测包
1. 清理并编译检测包
cpp 复制代码
cd ~/Astra_ws
rm -rf build/yolov5_rockchip install/yolov5_rockchip  # 清理旧编译
colcon build --packages-select yolov5_rockchip --parallel-workers 2  # 编译检测包
source install/setup.bash
  • 核心依赖
    需提前安装 rknn-toolkit-lite2pip install rknn-toolkit-lite2),用于 Rockchip NPU 推理。
2. 模型路径确认

确保检测节点配置的模型路径正确:

cpp 复制代码
# yolov5_node.py中模型路径
self.declare_parameter('model_path', '/home/elf/Astra_ws/src/yolov5_rockchip/models/yolov5s_relu_rk3588.rknn')
三、启动 Astra Pro 相机
1. 启动相机节点
cpp 复制代码
source install/setup.bash
ros2 launch astra_camera astra_pro.launch.py  # 启动Pro型号相机

关键日志

cpp 复制代码
[INFO] [camera.camera]: Device connected: Astra serial number: xxx  # 设备连接成功
[INFO] [camera.camera]: set color video mode Resolution :640x480@30Hz  # 图像参数

2. 查看相机话题

cpp 复制代码
ros2 topic list  # 确认包含/camera/color/image_raw等图像话题
四、启动 YOLOv5 检测功能
1. 运行检测节点(指定图像输入)
cpp 复制代码
source install/setup.bash
ros2 run yolov5_rockchip yolov5_node --input /camera/color/image_raw
  • 参数说明
    --input 需与相机发布的彩色图像话题一致(通过ros2 topic list查询)。
2. 检测日志验证

正常运行时可见:

cpp 复制代码
[INFO] [yolov5_rockchip_node]: RKNN Lite 初始化成功
[INFO] [yolov5_rockchip_node]: 检测到目标: person, 置信度: 0.92
五、常用调试指令汇总

查看系统日志

cpp 复制代码
ros2 topic echo /rosout | grep -E "yolov5|camera"  # 过滤关键日志

统计话题发布频率

cpp 复制代码
ros2 topic hz /yolov5/detections  # 检测结果帧率
ros2 topic hz /camera/color/image_raw  # 相机图像帧率

保存检测图像(无图形界面时)

修改yolov5_node.py添加:

cpp 复制代码
cv2.imwrite(f"/home/elf/det_{int(time.time())}.jpg", result_image)
七、完整流程指令速查表
操作阶段 指令示例 说明
编译相机包 colcon build --packages-select astra_camera 仅编译相机功能包
编译检测包 colcon build --packages-select yolov5_rockchip --parallel-workers 2 2 线程编译检测包
启动相机 ros2 launch astra_camera astra_pro.launch.py 加载 Pro 型号相机配置
启动检测 ros2 run yolov5_rockchip yolov5_node --input /camera/color/image_raw 指定相机图像作为检测输入
查看检测日志 `ros2 topic echo /rosout grep yolov5`

通过以上步骤,可在 ROS 2 中实现 Astra Pro 相机与 YOLOv5 检测的联动,利用 Rockchip NPU 加速推理,适用于机器人视觉、目标跟踪等场景。

相关推荐
Coovally AI模型快速验证5 小时前
基于YOLOv11的CF-YOLO,如何突破无人机小目标检测?
人工智能·神经网络·yolo·目标检测·计算机视觉·cnn·无人机
Edward-tan14 小时前
基于无人机 RTK 和 yolov8 的目标定位算法
yolo·无人机
源之缘-OFD先行者15 小时前
基于YOLOv11的无人机目标检测实战(Windows环境)
人工智能·yolo·目标检测
蹦蹦跳跳真可爱58916 小时前
Python----目标检测(使用YOLOV8网络训练人脸)
人工智能·python·yolo·目标检测
Coovally AI模型快速验证20 小时前
从FCOS3D到PGD:看深度估计如何快速搭建你的3D检测项目
人工智能·深度学习·神经网络·yolo·3d·cnn
A7bert7771 天前
【YOLOv8-obb部署至RK3588】模型训练→转换RKNN→开发板部署
linux·c++·人工智能·python·yolo
加油加油的大力2 天前
入门基于深度学习(以yolov8和unet为例)的计算机视觉领域的学习路线
深度学习·yolo·计算机视觉
Zhichao_973 天前
【ROS2 自动驾驶学习】03-ROS2常用命令
ros2
小哥谈3 天前
论文解析篇 | YOLOv12:以注意力机制为核心的实时目标检测算法
人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
向哆哆3 天前
YOLO在自动驾驶交通标志识别中的应用与优化【附代码】
人工智能·深度学习·yolo·自动驾驶·yolov8