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

相关推荐
大鱼>13 天前
地平线BPU部署实战:YOLOv8在J5/X3上的算法适配与性能优化
算法·yolo·性能优化
stsdddd13 天前
YOLO系列目标检测数据集大全【第二十九期】
yolo·目标检测·目标跟踪
大鱼>13 天前
YOLO边缘部署深度指南:从YOLOv8n到NPU加速的全链路优化
yolo·aiot
AI棒棒牛13 天前
第 03 讲《监督学习:数据、标签、Loss与训练循环》
人工智能·学习·yolo·目标检测·yolo26
FL162386312913 天前
国内快递面单识别检测数据集VOC+YOLO格式422张6类别
人工智能·yolo·机器学习
stsdddd13 天前
YOLO系列目标检测数据集大全【第三十期】
yolo·目标检测·目标跟踪
YOLO数据集集合13 天前
无人机航拍地质灾害智能识别 山体滑坡实例分割数据集落地实战 | 泥石流监测 道路险情封堵 深度学习模型训练方案10296期
人工智能·深度学习·yolo·目标检测·无人机
音沐mu.13 天前
【73】墙壁建筑缺陷数据集(有v5/v8模型)/YOLO墙壁建筑缺陷检测
yolo·目标检测·目标检测数据集·墙壁建筑缺陷数据集·墙壁建筑缺陷检测
前网易架构师-高司机13 天前
带标注的辣椒病叶数据集,识别率95.9%,可识别三种病害和健康叶子,9916张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·病害·叶病·病叶·辣椒
动物园猫13 天前
直升机停机坪目标检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·目标检测