Tigao教程五:運行預先定義過的一些運動命令

tiago機器人的自帶的一些動作命令,比如招手呀,撿東西這些動作其實已經預先寫好了。有三種方法可以實現
一種方法是用webcommader
一種是命令執行

還有一個是GUI
這裏主要講解一下rosparam list選取參數的過程

rosparam list | grep  "play_motion/motions" | grep "meta/name" | cut -d '/' -f 4

如果先執行

rosparam list | grep  "play_motion/motions"

得到的
在這裏插入圖片描述
在執行

rosparam list | grep  "play_motion/motions" | grep "meta/name"

得到的是
在這裏插入圖片描述
最後執行

rosparam list | grep  "play_motion/motions" | grep "meta/name" | cut -d '/' -f 4

得到
在這裏插入圖片描述
注意
其中cut -d ‘/’ -f 4的意思是剪取以’/'爲分隔符的第四段字符,但是會發現感覺應該是3呀,其實的確是4.因爲/play_motion的這用形式,play_motion已經算2了,不是1,因爲命令行裏的確是4.

如果要獲取參數裏面的位置信息,使用rosparam get
具體的形式如下

rosparam get /play_motion/motions/wave/joints
[arm_1_joint, arm_2_joint, arm_3_joint, arm_4_joint, arm_5_joint, arm_6_joint, arm_7_joint]

比如可以這樣輸入命令

rosparam get /play_motion/motions/wave/points
- positions: [0.06337464909724033, -0.679638896132783, -3.1087325315620733, 2.0882339360702575,
    -1.1201172410014792, -0.031008601325809293, -2.0744261217334135]
  time_from_start: 0.0
- positions: [0.06335930908588873, -0.7354151774072313, -2.939624246421942, 1.8341256735249563,
    -1.1201355028397157, -0.031008601325809293, -2.0744261217334135]
  time_from_start: 1.0
- positions: [0.06335930908588873, -0.7231278283145929, -2.9385504456273295, 2.2121050027803877,
    -1.1201355028397157, -0.031008601325809293, -2.0744261217334135]
  time_from_start: 2.0
- positions: [0.06335930908588873, -0.7354151774072313, -2.939624246421942, 1.8341256735249563,
    -1.1201355028397157, -0.031008601325809293, -2.0744261217334135]
  time_from_start: 3.0

GUI啓動

最後可以用使用GUI來使用動作

rosrun actionlib axclient.py /play_motion

在這裏插入圖片描述
特別注意,skip_planning一般都是false,因爲這是保護手段,如果認爲手臂運動的過程中絕對安全,可以改成true。

注意

當web的命令失效的時候,可以利用這個命令來讓機器人復位,我感覺是可以的。

命令啓動

c++文件啓動

rosrun play_motion run_motion wave

當然python也行

rosrun play_motion run_motion_python_node.py home

我認爲這一章蠻重要的,謝謝請指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章