一段展示自建的 ROS CLI 工具連結 Arduino 內的 CLI,相關程式碼與說明釋出
 
 
  設計動機與想法
  
  FBTUG Mini FarmBot 一直想整合到 ROS 內, 採果專案也需要將 Arduino 周邊(尤其是手臂)整合進來,需要 ROS 能跟 Arduino 溝通,需要 ROS 通過 UART 發 G-code 字串到 Arduino, 並取得 Arduino 以 G-code 字串回覆的狀態。一直搞不定是因為,ROS 怎麼跟 Arduino 溝通不是很懂,似乎一直是個謎,能夠通也不太會把字串發下去,發下去後怎麼接上原來的 G-code processor. 就算都接起來了, ROS 內還是需要一個 CLI 才能讓使用者輸入命令字串,而且這個 CLI 還得接收狀態回復的字串。另外,因為主 Serial 被 rosserial 佔用,但也不能讓 Arduino 那邊,失去 debug 功能以及,沒有 ROS 在的時候也希望能單獨開發。這表示 debug console 是必須同時存在的。
 
 
  簡單說,我們需要一個 ROS 上的 Arduino UART Console 以及讓原來複雜的 Arduino 程式賦予 ROS 的能力與架構
 
 
  此範例就是用最精簡的方式,展示解決以上問題的一點建議參考,由於精簡當然很多可以改善的空間,但也讓這個範例很容易移植到各式各樣類似的情境,希望此範例能為很多苦惱於相同問題的夥伴,帶來一點幫助,預祝大家很快能看到自己的 Arduino 程式跟 ROS 相處得很融洽
 
 
  操作步驟
  
  1. hardware setup : RPI —usb-- Arduino MEGA , 可參考接線與環境,由於不需要 MEGA 上的 console debug, 所以 debug console 的接線不需要(含 usb-to-serial)
  
  2. firmware setup: using this
  
  3. ROS setup
  
  3.1. git clone
  
   https://github.com/FBTUG/FarmHarvestBot.git
  
  # 其實只需要裡面的 software/debug_ros/src/debug_ros.py
 
 
  4. ROS usage:
  
  4.1. roscore
  
  4.2. ubuntu@ha:~$ rosrun rosserial_python serial_node.py /dev/ttyACM0
  
  4.3. cd [github downloaded source]/software/debug_ros/src
  
  4.4. chmod +x debug_ros.py
  
  4.5. ./debug_ros.py
 
 
  文件請參考:
  
  
   https://paper.dropbox.com/…/FBTUG-FarmHarvestBot-Debug-ROS-…
  
  (-serial-CLI-enabl
 
 
  哈爸
 
														 
								 
										
					
						 David Chuang
						David Chuang
						2018-10-26 12:27:05
					
					
				 
				
					
						 Wuulong Hsu
						Wuulong Hsu
						2018-10-26 20:56:59