Tigao教程五:运行预先定义过的一些运动命令
tiago机器人的自带的一些动作命令,比如招手呀,捡东西这些动作其实已经预先写好了。有两种方法可以实现一种方法是用webcommader一种是命令执行还有一个是GUI这里主要讲解一下rosparam list选取参数的过程rosparam list | grep"play_motion/motions" | grep "
·
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
我认为这一章蛮重要的,谢谢请指正。
更多推荐
已为社区贡献1条内容
所有评论(0)