# Bluewhale ROS Driver Tutorial ::: success 藍鯨馬達驅動器 ROS Driver Packages 使用教學 本教學的`.launch`檔預設為**控制兩個Driver** ,一個Driver控制左右兩輪,總共四個馬達 若您只要控一個Driver,請看 **melodic-devel** branch的。 ::: [TOC] ## Steps ### 1. 連接 Driver的PC線,將USB插入筆電 ### 2. 打開 Terminal,打 ``` linux ls -l /dev|grep ttyUSB ``` #### 這行指令是查看目前電腦接收的Port是哪個,順利的話會回傳如下圖: ![回傳ttyUSB0/1圖](https://i.imgur.com/ntYaLfP.png) #### 通常會寫: ttyUSB0 / ttyUSB1 * 如果沒有回傳東西,可以嘗試拔掉USB線,重新插入,再試試看。 ### 3. 確認好 Port 後,要取得權限,分別打: ``` linux= sudo chmod 666 /dev/ttyUSB0 sudo chmod 666 /dev/ttyUSB1 ``` * 他可能會要你打密碼,你就打你的密碼 ![](https://i.imgur.com/DEWblIk.png) #### 如果你沒有打這兩行指令,在你直接跑`roslaunch`時,很可能會遇到`Permission Denied`之類的問題。另外要注意:`/ttyUSB0`實際上還是要看你電腦步驟2回傳的port是甚麼,才有效果。 ### 4. 以上步驟都正確後,開始 Launch: ``` ROS roslaunch xqserial_server xqserial.launch ``` #### 這步驟就是大家熟悉且期待已久的 roslaunch~ #### 如果都沒有跑出error(有Exception:.../ 或shut down等訊息),恭喜你Launch成功~ * 成功畫面如下: 可以看到最下面兩行:welcome to ...和port : ttyUSB0 baud 115200 表示成功! ![launch成功畫面](https://i.imgur.com/jAHlqF7.png) ### 5. roslaunch 成功後,另開一個新的Terminal,開啟鍵盤控制的 Node ```ROS rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=cmd_vel _speed:=0.5 _turn:=0.5 ``` * 如果你遇到 **Package not found**或**No such file or directory**,要先下載 `teleop_twist_keyboard` 這包 Package 見官網[下載teleop_twist_keyboard教學](http://wiki.ros.org/teleop_twist_keyboard) 或直接打: ```ros sudo apt-get install ros-noetic-teleop-twist-keyboard ``` * _speed:= 0.5 , _turn:=0.5 這兩個參數是可以因人而異改的,分別代表你想要他做的**線性速度**與**旋轉速度**,單位是 **(m/s)** 和 **(rad/s)** ### 6. rosrun teleop_twist_keyboard 成功後,應該跑出以下畫面: ![給你輸入的畫面](https://i.imgur.com/fy9R2ws.png) * 如他告訴你的,可以使用以下鍵盤位置 控制車子移動: | Key | Action | Key | Action | Key | Action | | --- | -------- | --- | ------ | --- | -------- | | U | 左前轉彎 | I | 前進 | O | 右前轉彎 | | J | 原地左轉 | K | 停止 | L | 原地右轉 | | M | 左後轉彎 | , | 後退 | . | 右後轉彎 | * 如果要增加/減少**線性速度**: W(增加10%) / X(減少10%) 按鍵 * 如果要增加/減少**旋轉速度**: E(增加10%) / C(減少10%) 按鍵 ![提升/降低速度範例](https://i.imgur.com/hyBASvG.png) ## 使用 VirtualBox 小提醒 若你是使用 **VirtualBox虛擬機** 架設VM,要注意插入USB線後,要做一個動作,他才會認知**你有把USB線插入這台Linux虛擬機**: ### 1.點選 裝置 -> USB -> XXX Port ![](https://i.imgur.com/VXhbmbZ.png) * 如果找不到你插入的USB Port,使用第二個步驟: ### 2.點選 裝置 -> USB -> USB設定 ![](https://i.imgur.com/NW94V73.png) * 基本上應該一定會看到你剛剛新插入的USB Port,把他勾選起來,再回到上面步驟1,應該就會回傳了。 ###### tags: `ROS` `Bluewhale Driver` `Hub Motor` `Linux`