ros機器人手臂控制:MoveIt Commander教程
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