moveit_commander Python包为MoveIt中提供的功能提供了包装器。简单的接口可用于运动规划,计算笛卡尔路径,挑选和放置。moveit_commander包还包括一个命令行接口moveit_commander_cmdline.py。
一.Starting RViz and the Command Line Tool
打开两个sehll。启动RViz,并等待一切完成加载在第一个shell中:
roslaunch panda_moveit_config demo.launch
现在在另一个shell中启动moveit_commander接口:
rosrun moveit_commander moveit_commander_cmdline.py
二.Using the MoveIt! Commander Command Line Tool
下面的命令将启动一个命令行接口工具,该工具允许连接到move_group节点的运行实例。应该键入的第一个命令是:
use
这将连接到指定组名的move_group节点[例如,在Panda中,可以连接到panda_arm]。现在可以在该组上执行命令。这个名为current的命令将显示组的当前状态:
current
要记录特定名称下的状态,只需输入即可:
rec c
这将记住名称c下robot group的当前关节值。类似于Matlab的语法可用于修改关节值。上面的代码将c的关节值复制到一个名为goal的新变量中。然后将goal的第一个关节修改为0.2。可能需要使用不同的值,而不是0.2[它需要在允许的范围内,并且不会造成碰撞]。go命令规划一个动作并执行它。
要让机器人移动,可以输入,例如:
goal = c
goal[0] = 0.2
go goal
而不是调用go命令,也能输入:
goal[0] = 0.2
goal[1] = 0.2
plan goal
execute
这稍微有些低效,但其优点是,在实际发出execute命令之前,plan命令允许在RViz中可视化计算出的运动规划。
对于受支持的命令列表,可以键入help。要退出moveit_commander接口,可以键入quit。
参考文献:
[1]MoveIt! Commander Scripting:http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/moveit_commander_scripting/moveit_commander_scripting_tutorial.html