MoveIt Commander
概述
moveit_commander的Python包提供MoveIt!包的功能封装。可以提供运动规划的简单接口,笛卡尔路径的计算,抓住&放下。
示例代码
from moveit_commander importMoveGroupCommander
if name == '__main__':
group =MoveGroupCommander("arm")
# move to a random target
group.set_random_target()
group.go()
命令行工具
moveit_commander包还包含控制机器人的命令行工具。
rosrunmoveit_commander moveit_commander_cmdline.py
上面的命令会开始命令行接口工具,允许与正在运行的move_group实例相连,首先应该打印的命令是:
use<group name>
连接指定的组名到move_group节点。现在可以执行那个组的命令,如:
current
将会显示此组当前状态。把状态记录为指定名称,可用:
recc
记录名称c下的组的关节当前值。为了使机器人移动,可以:T
goal= c
goal[0]= 0.2
gogoal
类似Matlab的语法可以用来更改关节值,上面的代码复制关节值c到一个新的名为goal的变量。然后更改goal的第一个关节值为0.2。可用其他值代替0.2(要在允许范围之内且不会发生碰撞)。go命令规划一个运动并且执行。
也可以使用下面方法代替go:
plangoal
execute
但是效率可能会有点低,优点是plan命令可在执行之前在rviz上观察规划好的路径。对于支持的一系列命令,请用help查询。
原文:
[1]http://moveit.ros.org/wiki/MoveIt_Commander