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

相关推荐
竹叶青lvye1 天前
ROS2话题、服务、动作通讯
ros2·服务·动作·话题
kyle~1 天前
ROS2---零拷贝
linux·c++·机器人·ros2
济6171 天前
ROS2 Humble 开发专栏---ROS2 三维视觉应用(1)---RGB-D 相机三维点云数据获取实验---适配Ubuntu 22.04
ubuntu·嵌入式·ros2·机器人开发·机器人方向
BestOrNothing_20152 天前
ROS2 话题通信实战:消息对象、Publisher 发布器与 Subscriber 订阅器保姆级教程
c++·ros2·subscriber·publisher·话题通信
羊羊小栈2 天前
老人摔倒检测系统(基于YOLO姿态估计)
yolo·毕业设计·创业创新·大作业
土星云SaturnCloud2 天前
土星云AI边缘计算SE110S系列模型部署实战-YOLOv5
服务器·人工智能·yolo·docker·边缘计算
YOLO数据集集合2 天前
配电站智能运维|变电一次设备识别|高压电气构件目标检测数据集|电力巡检
运维·人工智能·深度学习·yolo·目标检测·视觉检测
stsdddd2 天前
YOLO系列目标检测数据集大全【第八期】
yolo·目标检测·目标跟踪
YOLO数据集集合2 天前
航拍输电线路故障识别|线路金具缺陷判别|无人机电力巡检故障检测数据集10262期
人工智能·深度学习·yolo·目标检测·视觉检测·无人机
深度学习lover2 天前
<数据集>yolo安全手套佩戴识别<目标检测>
人工智能·yolo·目标检测·数据集·安全手套佩戴识别