先記錄大概主要流程,后期有時間了再完善細節以及附上截圖
一、編譯 Astra Pro 相機功能包
1. 清理并編譯相機包
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. 清理并編譯檢測包
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-lite2
(pip install rknn-toolkit-lite2
),用于 Rockchip NPU 推理。
2. 模型路徑確認
確保檢測節點配置的模型路徑正確:
# yolov5_node.py中模型路徑
self.declare_parameter('model_path', '/home/elf/Astra_ws/src/yolov5_rockchip/models/yolov5s_relu_rk3588.rknn')
三、啟動 Astra Pro 相機
1. 啟動相機節點
source install/setup.bash
ros2 launch astra_camera astra_pro.launch.py # 啟動Pro型號相機
?關鍵日志:
[INFO] [camera.camera]: Device connected: Astra serial number: xxx # 設備連接成功
[INFO] [camera.camera]: set color video mode Resolution :640x480@30Hz # 圖像參數
?2. 查看相機話題
ros2 topic list # 確認包含/camera/color/image_raw等圖像話題
四、啟動 YOLOv5 檢測功能
1. 運行檢測節點(指定圖像輸入)
source install/setup.bash
ros2 run yolov5_rockchip yolov5_node --input /camera/color/image_raw
- 參數說明:
--input
?需與相機發布的彩色圖像話題一致(通過ros2 topic list
查詢)。
2. 檢測日志驗證
正常運行時可見:
[INFO] [yolov5_rockchip_node]: RKNN Lite 初始化成功
[INFO] [yolov5_rockchip_node]: 檢測到目標: person, 置信度: 0.92
五、常用調試指令匯總
查看系統日志
ros2 topic echo /rosout | grep -E "yolov5|camera" # 過濾關鍵日志
統計話題發布頻率
ros2 topic hz /yolov5/detections # 檢測結果幀率
ros2 topic hz /camera/color/image_raw # 相機圖像幀率
保存檢測圖像(無圖形界面時)
修改yolov5_node.py
添加:
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 加速推理,適用于機器人視覺、目標跟蹤等場景。