第二部分 单机以及编队控制实验—初级教程(4)
2.5 遙控機器人
本小節我們將通過兩種常見的方式來介紹兩種方法來遙控機器人
2.5.1 準備開始
如果要使用ps3游戲手柄,需要為其裝上電池,將里面的Nano接收器插在工控機上。使用時,要打開游戲手柄背后的開關,然后在正面按MODE上方的按鈕,點亮下面的LED燈。
2.5.2 通過電腦鍵盤來遙控機器人
2.5.2.1 簡明步驟
您只需要在工控機打開兩個終端,分別輸入下面兩條指令即可
roslaunch handsfree_hw handsfree_hw.launch
roslaunch handsfree_hw keyboard_teleop.launch
2.5.2.2 鍵盤遙控帶有工控機套餐的機器人
1)打開終端(Ctrl+Alt+T),打開機器人驅動節點
?roslaunch handsfree_hw handsfree_hw.launch
正常情況下,會顯示:
?
2)打開第二個終端(Ctrl+Alt+T或Ctrl+Shift+T),打開鍵盤控制節點
?roslaunch handsfree_hw keyboard_teleop.launch
正常情況下,會顯示:
?
根據終端的英文提示,通過鍵盤的u i o j k l m , .九個鍵來控制機器人的移動,通過q/z,w/x,e/c來控制機器人移動的速度,空格鍵和k用來強制停車,其他按鍵用于平穩停車。
到了這里您手中的機器人就可以通過鍵盤移動起來了,如果您的鍵盤是無線鍵盤,那么您可以拔掉顯示器,通過鍵盤讓您的機器人跑起來了。
2.5.2.3 鍵盤遙控基礎版機器人
1)安裝好對應等ubuntu系統,配置好相關的環境后,您只需要將機器人的usb接口連接到您的電腦后就可以開始嘗試遙控這臺機器人了。
2)如果您是通過虛擬機來嘗試,需要注意usb口的連接配置,否則會出現找不到機器人的提示.
?
FTDI FT232R USB UART [0600]是mini機器人的usb設備名,在虛擬機上要確保該設備是被選中的。
3)打開終端,打開機器人驅動節點
roslaunch handsfree_hw handsfree_hw.launch
正常情況下,會顯示:
?
4) 打開第二個終端,打開鍵盤控制節點
roslaunch handsfree_hw keyboard_teleop.launch
正常情況下,會顯示:
?
2.5.3 通過PS3游戲手柄來遙控機器人
2.5.3.1 簡明步驟
您只需要在工控機打開兩個終端,分別輸入下面兩條指令即可
roslaunch handsfree_hw handsfree_hw.launch
roslaunch handsfree_hw ps3_teleop.launch
tips:垂直按下左搖桿,然后晃動搖桿,機器人就會動起來了。搖晃的幅度越大,機器人的速度也就越快,要小心晃動搖桿。
2.5.3.2 PS3遙控帶有工控機套餐的機器人
我們以萊仕達劍神TE無線游戲手柄為例來講解如何通過PS3游戲手柄來遙控機器人。
1)打開終端,輸入下面這條命令
?ls /dev/input/
2)將游戲手柄的Nano接收器插到機器人工控機的usb接口上,在之前打開的終端再次輸入條命令
?ls /dev/input/
正常情況下,會出現只會出現一個 js0
?
如果您發現電腦識別出的Nano不是js0,而是jsX(X指的是其他數字),比如下面這張圖
?
一開始,沒有插Nano接收器時,就有 js0和js1,當插入Nano接受器時,出現了 js2。
3)確保手柄的電池已經安裝,打開游戲手柄的開關,LED指示燈是亮的。打開終端輸入
?sudo jstest /dev/input/js0
tips:如果您的是jsX(X指的是其他數字),請將js0替換為jsX
正常情況下,會出現
?
現在您可是使用您的手柄,看看終端是否在打印數據。
4)打開終端(Ctrl+Alt+T),輸入下面的指令
?roslaunch handsfree_hw handsfree_hw.launch
正常情況下,會顯示
?
5)重新打開一個終端(Ctrl+Alt+T或Ctrl+Shift+T),輸入下面指令
?roslaunch handsfree_hw ps3_teleop.launch
正常情況下,會顯示:
?
如果出現了這樣的錯誤,而您電腦檢測到的Nano接收器是js0,您先試著執行步驟6看看機器人能否動起來。
?如果您電腦檢查到的Nano接收器是jsX(X指的是其他數字),就需要在去修改我們的ps3_teleop.launch文件,打開新終端,輸入下面指令
?gedit ~/handsfree/handsfree_ros_ws/src/handsfree/handsfree_hw/launch/ps3_teleop.launch
也可以到該目錄下打開,打開后需要進行圖中的3、4、步驟,記得將 js2修改為您電腦識別Nano接收器的jsX(X指的是其他數字)
?
保存修改后的文件,然后使用Ctrl+C停止roslaunch handsfree_hw ps3_teleop.launch的進程,再次在終端運行
?roslaunch handsfree_hw ps3_teleop.launch
雖然還是會出現ERROR,但是可以通過步驟6遙控機器人了
6)垂直按下左搖桿,然后晃動搖桿,您的機器人就會動起來啦。
tips:垂直按下左搖桿,然后晃動搖桿,機器人就會動起來了。搖晃的幅度越大,機器人的速度也就越快,要小心晃動搖桿。
2.5.3.3 PS3遙控基礎版機器人
1)安裝好對應等ubuntu系統,配置好相關的環境后,您只需要將機器人等usb接口連接到您的電腦后就可以開始嘗試遙控這臺機器人了。
2)如果您是通過虛擬機來嘗試,需要注意機器人usb口的連接配置和ps3游戲手柄usb口的連接配置,否則會出現找不到機器人的提示,找不到手柄。
?
3)打開終端,輸入下面這條命令
?ls /dev/input/
4)將游戲手柄的Nano接收器插到機器人工控機的usb接口上,在之前打開的終端再次輸入條命令
?ls /dev/input/
正常情況下,會出現只會出現一個 js0
?
如果您發現電腦識別出的Nano不是js0,而是jsX(X指的是其他數字),比如下面這張圖
?
一開始,沒有插Nano接收器時,就有 js0和js1,當插入Nano接受器時,出現了 js2
5)確保手柄的電池已經安裝,打開游戲手柄的開關,LED指示燈是亮的。打開終端輸入
?sudo jstest /dev/input/js0
tips:如果您的是jsX(X指的是其他數字),請將js0替換為jsX
正常情況下,會出現
?
現在您可是使用您的手柄,看看終端是否在打印數據。
6)打開終端,輸入下面的指令
?roslaunch handsfree_hw handsfree_hw.launch
正常情況下,會顯示:
?
7)打開新終端,輸入下面指令
?roslaunch handsfree_hw ps3_teleop.launch
正常情況下,會顯示:
?
如果出現了這樣的錯誤,而您電腦檢測到的Nano接收器是js0,您先試著執行步驟8看看機器人能否動起來。
?
如果您電腦檢查到的Nano接收器是jsX(X指的是其他數字),就需要在去修改我們的ps3_teleop.launch文件
您可以通過搜索找到這個文件,也可以去相關目錄下找到該文件。您在打開launch文件時,需要鼠標右鍵,在打開方式上選擇gedit。
打開后需要進行圖中的3、4、步驟,記得將 js2修改為您電腦識別Nano接收器的jsX(X指的是其他數字)
?
然后使用Ctrl+C停止roslaunch handsfree_hw ps3_teleop.launch的進程,再次在終端運行
?roslaunch handsfree_hw ps3_teleop.launch
雖然還是會出現ERROR,但是可以通過步驟8遙控機器人了
8)垂直按下左搖桿,然后晃動搖桿,您的機器人就會動起來啦。
tips:垂直按下左搖桿,然后晃動搖桿,機器人就會動起來了。搖晃的幅度越大,機器人的速度也就越快,要小心晃動搖桿。
總結
以上是生活随笔為你收集整理的第二部分 单机以及编队控制实验—初级教程(4)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目客制化文档
- 下一篇: 关于vue框架的一些小结。(为什么使用v