基於ros_arduino_bridge的智慧小車----上位機篇
阿新 • • 發佈:2019-01-06
基於ros_arduino_bridge的智慧小車----上位機篇
1.下載ros_arduino_bridge
進入你的workspace目錄下的src目錄
cd ~/catkin_ws/src
git clone https://github.com/hbrobotics/ros_arduino_bridge.git
2.編譯
cd ..
catkin_make
實際上,編譯完成後並不能直接控制小車,還需要匹配串列埠,使用base_controller.py 等,之後需要另開部落格詳細介紹。
3.下位機
從github下載的程式碼中包含對應的arduino mega2560下位機程式,嚴格按照原作者推薦安裝下位機的話就可以直接使用,否則就要做對應修改。如何安裝修改另開一篇部落格(基於ros_arduino_bridge的智慧小車----下位機篇)
4.測試
新終端,啟動roscore
新終端,增加路徑到bash
source ~/catkin_ws/devel/setup.bash
新終端,啟動節點
roslaunch ros_arduino_python arduino.launch
新終端,釋出Twist訊息來控制機器人的執行,如:
rostopic pub /cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
(由於擔心小車移動無法拍照,這裡我輸入的速度是0)
執行此命令,機器人會原地打轉,用如下命令檢視odom的資訊,此資訊會不斷的變化
新終端,檢視里程
rostopic echo /odom
至此機器人已經可以按照Twist訊息進行控制,釋出功move base使用的odom資訊,但是使用rostopic
pub 為cmd_vel話題傳送通知命令顯然很麻煩,這裡我們可以使用鍵盤來控制小車。
5.使用鍵盤控制小車
安裝鍵盤控制程式,可以直接安裝在小車的workspace裡面
cd ~/catkin_ws/src
git clone https://github.com/Forrest-Z/teleop_twist_keyboard.git
catkin_make
啟動小車後,再啟動鍵盤控制:
rosrun teleop_twist_keyboard teleop_twist_keyboard. py
使用鍵盤釋出命令就是代替rostopic pub的作用給cmd_vel釋出控制資訊,這樣就方便了不少,當然這本質上仍然是一個簡單的專案教程,就類似ros上的小烏龜教學專案,只不過是實物化了。即使如此,一個ros小車作為平臺,是可以進行很多後續專案的開發,可以說是既簡單又重要了。
接下來就可以直接使用鍵盤來控制小車了