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 加速推理,适用于机器人视觉、目标跟踪等场景。

相关推荐
2501_941333101 天前
数字识别与检测_YOLOv3_C3k2改进模型解析
人工智能·yolo·目标跟踪
xsc-xyc1 天前
RuntimeError: Dataset ‘/data.yaml‘ error ❌ ‘_lz
人工智能·深度学习·yolo·计算机视觉·视觉检测
张3蜂1 天前
我希望做的是识别身份证正反面,我需要标注多少张图片?
yolo
AAD555888991 天前
YOLOv8-MAN-Faster电容器缺陷检测:七类组件识别与分类系统
yolo·分类·数据挖掘
AI浩1 天前
YOLO-IOD:面向实时增量目标检测
yolo·目标检测·目标跟踪
wfeqhfxz25887821 天前
YOLOv8-BiFPN鸟巢目标检测与识别实战教程
yolo·目标检测·目标跟踪
Katecat996631 天前
基于YOLOv8和MAFPN的骆驼目标检测系统实现
人工智能·yolo·目标检测
ZCXZ12385296a1 天前
YOLOv8_HSPAN_机器人视觉系统中的球体目标检测与追踪_1
yolo·目标检测·机器人
BestSongC1 天前
基于 YOLO11 的智能行人摔倒检测系统
人工智能·深度学习·yolo·目标检测
2501_941333101 天前
【工业视觉检测】基于YOLOv8的皮带输送机关键部件检测与识别系统完整实现
人工智能·yolo·视觉检测