1. 程式人生 > >基於ros_arduino_bridge的智慧小車----上位機篇

基於ros_arduino_bridge的智慧小車----上位機篇

基於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小車作為平臺,是可以進行很多後續專案的開發,可以說是既簡單又重要了。

接下來就可以直接使用鍵盤來控制小車了