Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

xArmにROS環境をつくる その2:サービスを経由してxArmを動かす

実際のところ

roslaunch

$ YOURIP=192.168.1.230
$ roslaunch xarm_bringup xarm7_server.launch robot_ip:=$YOURIP

操作側端末の準備

サービス経由でロボットを動かす

$ rosservice call /xarm/motion_ctrl 8 1
ret: 0
message: "motion enable, ret = 0"

モードの切り替え

$ rosservice call /xarm/set_mode 0
ret: 0
message: "pose mode, ret = 0"

待機状態を切替

$ rosservice call /xarm/set_state 0
ret: 0
message: "start, ret = 0"

軸を最低限動かす

$ rosservice call /xarm/move_joint [0.1,0,0,0,0,0,0] 0.35 7 0 0

スクリプトを動かす

$ cat test.bash
#!/bin/bash

rosservice call /xarm/motion_ctrl 8 1
rosservice call /xarm/set_mode 0
rosservice call /xarm/set_state 0

#まずHome
rosservice call /xarm/go_home [] 0.35 7 0 0

#Z X Yの順にうごかす……ただし、スペースは開けないこと
rosservice call /xarm/move_line_tool  [0,0,-50,0,0,0] 200 2000 0 0
rosservice call /xarm/move_line_tool  [50,0,0,0,0,0] 200 2000 0 0
rosservice call /xarm/move_line_tool  [0,50,0,0,0,0] 200 2000 0 0

rosservice call /xarm/go_home [] 0.35 7 0 0

move_line_toolは相対位置で動くので、行き過ぎないように注意