2019年11月15日 星期五

麥輪車開發相關問題

  1. MeOrion 記憶空間不足
  2. 說明:
      MeOrion採用Arduino Uno架構,記憶體空間只有2048 bytes。若是要同時使用Makeblock及ros的函式庫,則會使得超過記憶體空間大小。

    處理方式:
    1. 透過修改ros nodehandle的宣告方式,減少rosarduino使用的publisher及subscriber數量,可以減少使用空間。但測試後仍然還是不夠使用。實際做法可參考此篇部落格 Using rosserial for a ATmega168/Arduino based motorcontroller

    2. 改為使用MeAuriga開發版,此開發版為Arduino 2560的架構,具有flash memory 256 KB。即可同時使用Mackblock及rosarduino函式庫。 

  3. MeAuriga無法與Raspberry PI3 進行連線
  4. 說明:
    1. Raspberry PI3預設將UART串口指定連接至藍芽介面

    2. MeAuriga UART埠為Serial2,但rosarduino預設為Serial

    處理方式
    1. 修改Raspberry PI3 UART設定的路徑,改為連接至UART Serial串口
      可參考此部落格,樹莓派3 串列埠使用 raspberry pi 3B+ uart boot overlay

    2. 修改rosarduino呼叫時,使用的nodehandle預設的UART埠,實際做法如下:

  5. ROS與C# UI連線之後,在使用者沒有操作的情況下,ROS端的callback函式也沒有做動
  6. 說明:
      ros端,Socket.recv 指令會導致系統block,才使得callback函式沒有執行

    處理方式
      在Socket初始化完成之後,加上fcntl函式設定socket參數為O_NONBLOCK,參考如下
      Beej's Guide to Network Programming 正體中文版




沒有留言:

張貼留言

apt-get update異常處理

1. 問題描述 系統環境:Ubuntu 18.04.3 LTS 執行apt-get update更新時遇到如下狀況 錯誤訊息: Err:1 http://security.ubuntu.com/ubuntu bionic-security InRe...