- MeOrion 記憶空間不足 說明:
- 透過修改ros nodehandle的宣告方式,減少rosarduino使用的publisher及subscriber數量,可以減少使用空間。但測試後仍然還是不夠使用。實際做法可參考此篇部落格 Using rosserial for a ATmega168/Arduino based motorcontroller
- 改為使用MeAuriga開發版,此開發版為Arduino 2560的架構,具有flash memory 256 KB。即可同時使用Mackblock及rosarduino函式庫。
- MeAuriga無法與Raspberry PI3 進行連線 說明:
- Raspberry PI3預設將UART串口指定連接至藍芽介面
- MeAuriga UART埠為Serial2,但rosarduino預設為Serial
- 修改Raspberry PI3 UART設定的路徑,改為連接至UART Serial串口
可參考此部落格,樹莓派3 串列埠使用 raspberry pi 3B+ uart boot overlay - 修改rosarduino呼叫時,使用的nodehandle預設的UART埠,實際做法如下:
- ROS與C# UI連線之後,在使用者沒有操作的情況下,ROS端的callback函式也沒有做動 說明:
- MeOrion採用Arduino Uno架構,記憶體空間只有2048 bytes。若是要同時使用Makeblock及ros的函式庫,則會使得超過記憶體空間大小。
處理方式:
處理方式
-
ros端,Socket.recv 指令會導致系統block,才使得callback函式沒有執行
處理方式
-
在Socket初始化完成之後,加上fcntl函式設定socket參數為O_NONBLOCK,參考如下
Beej's Guide to Network Programming 正體中文版
沒有留言:
張貼留言