2025年4月10日 星期四

保留 Hailo-8(邊緣推論)vs 不使用 Hailo-8(集中推論於桌機)

 

📦 方案 A:保留 Hailo-8(邊緣推論)

推論執行在 Raspberry Pi 4 + Hailo-8,強調「本地避障 + 桌機導航」的 混合式架構,兼顧反應速度與全局規劃。

🎯 特點:

  • YOLO 推論本地執行,延遲極低(<50ms)

  • 遇人、障礙可緊急停止

  • 桌機仍負責 SLAM、導航與遠端任務下達

🧩 Node 配置圖:

bash
🟢 Raspberry Pi 4 + Hailo-8 ├── usb_cam_node → /camera/image_raw ├── imu_node → /imu/data ├── encoder_node → /wheel/encoder ├── motor_bridge_node ← /cmd_vel ├── hailo_yolo_node → /detected_objects │ └── 判斷危險 → 發佈 /emergency_stop └── emergency_stop_node → 控制 /cmd_vel 允不允許送出 🟠 ROS 2 Desktop (i5 + RTX4060) ├── orb_slam3_node ← /camera/image_raw + /imu/data ├── nav2 stack │ ├── map_server │ ├── planner_server │ ├── controller_server │ └── bt_navigator ├── obstacle_costmap merger ← /detected_objects ├── rviz2 ← /map, /odom, /tf └── ros2 bag / debug tools

📦 方案 B:不使用 Hailo-8(集中推論於桌機)

推論、SLAM、導航皆由桌機執行,Raspberry Pi 僅負責感測與馬達執行。適合網路穩定、高效能桌機、延遲容許的場景。

🎯 特點:

  • 整個 AI 推論與規劃集中於桌機 RTX4060

  • Pi 僅送影像與感測資料,硬體簡化

  • 價格較低、部署較單純

🧩 Node 配置圖:

bash
🟢 Raspberry Pi 4 ├── usb_cam_node → /camera/image_raw ├── imu_node → /imu/data ├── encoder_node → /wheel/encoder ├── motor_bridge_node ← /cmd_vel 🟠 ROS 2 Desktop (i5 + RTX4060) ├── yolo_node (TensorRT) ← /camera/image_raw │ └── 發佈 /detected_objects ├── orb_slam3_node ← /camera/image_raw + /imu/data ├── nav2 stack │ ├── map_server │ ├── planner_server │ ├── controller_server │ └── bt_navigator ├── costmap_merger_node ← /detected_objects ├── emergency_stop_node ← /detected_objects │ └── /cmd_vel 覆蓋保護 ├── rviz2 ← /map, /odom, /tf └── ros2 bag / rqt 工具

✅ Node 功能總結對比表

功能項目方案 A:Hailo-8 在 Pi 上方案 B:不使用 Hailo-8
AI 推論Pi 本地 + Hailo-8桌機 GPU 推論(如 RTX)
反應速度快(即時避障)慢(依賴傳圖與回傳)
架構穩定性高(離線也可停車)中(需穩定網路)
架構複雜度高(需加 SDK、資源管理)低(全靠桌機)
成本稍高(Hailo 加速器)低(簡化硬體)
適合情境遠端 / 室外 / 容錯要求高實驗室 / 學術模擬

📌 開發提示建議

  • 可在兩種架構下都維持相同的 ROS topic 和 message 格式,例如:

    • /detected_objectsvision_msgs/Detection2DArray

    • /cmd_velgeometry_msgs/Twist

  • launch 檔控制不同平台啟動不同 node,保持模組化部署

  • 建議所有重要 topic 都進行 rosbag2 錄製,利於後續模型訓練或錯誤追蹤

沒有留言:

張貼留言