將 RRC 控制板(STM32) 經由 UART 接入 micro-ROS Agent,在 ROS 2 中成為可接收 /cmd_vel
指令的底盤控制節點
📦 系統架構圖
🧱 1. 在 STM32 上建立 micro-ROS Node (FreeRTOS)
📁 micro-ROS 應用範例目錄:
📄 app.c
:接收 /cmd_vel
並控制底盤
🔌 2. micro-ROS Transport 設定(使用 UART)
📄 platformio.ini
或 transport.c
裡設定 UART
📄 rmw_microros_transport.c
🖥️ 3. 在 ROS 2 主機上啟動 micro-ROS Agent
成功時顯示:
🚀 4. 測試 ROS 2 發送 /cmd_vel
STM32 應該會根據這個資料來執行馬達控制。
🧩 5. 整合到 RRC 的程式架構
你只需把上面 cmd_vel_callback()
中的 diff_chassis_move()
換成你原本的馬達控制介面即可,保留 micro-ROS 接收指令功能。
📁 參考資料與工具
資源 | 說明 |
---|---|
micro-ROS setup tool | 用來建立 firmware |
RMW Micro XRCE-DDS | micro-ROS 使用的底層通訊 |
ROS 2 Twist msg | /cmd_vel 格式參考 |
✅ 結語
你現在可以讓 RRC 控制板成為一個「接收 ROS 2 /cmd_vel
指令的底盤控制器」,並保有原本 FreeRTOS + 馬達控制邏輯,具備更高擴展性!
如果你想我幫你整合:
-
✅ FreeRTOS 工程樣板
-
✅ micro-ROS + UART transport
-
✅ 差速或 Ackermann 控制介面封裝
我可以直接幫你產生一份工程目錄結構與範例。要我幫你建嗎?😎
沒有留言:
張貼留言