1. 程式人生 > >ros機器人手臂控制:MoveIt Commander教程

ros機器人手臂控制:MoveIt Commander教程

MoveIt Commander

 

概述

moveit_commanderPython包提供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