MoveIt!によるmyCobot280の制御
はじめに
【環境】
Windows10+WSL2+Ubuntu18.04+ROS melodic
myCobot280をROSから動かす
今回はMoveItでrviz上のmyCobotを動かしてみる
下準備
ROS melodicのインストールや必要なパッケージのインストールは下記を参照
kakepro.hatenablog.com
逆運動学的にmyCobotを動かす
ゴールとなるロボットの姿勢を入力として、各関節の角度の計算や経路生成をMoveIt!に行ってもらう
以下のソースコードは下記記事を参考にした
"mycobot_arm"を"arm_group"に変えるだけである
note.com
なおワークスペースの名前はmycobot_wsとした
~/mycobot_ws/src/myCobotROS/mycobot_280/scriptsに下記コードを新たに作成する
$ vim ./src/myCobotROS/mycobot_280/scripts/pose_planner.py
#!/usr/bin/env python # coding: UTF-8 import geometry_msgs.msg import moveit_commander import rospy import sys from math import pi def main(): # Initialize moveit_commander moveit_commander.roscpp_initialize(sys.argv) # Initialize node rospy.init_node('hello_moveit') # make the instance of MoveGroupCommander move_group = moveit_commander.MoveGroupCommander("arm_group") # output the geometry msg # pose_goal = geometry_msgs.msg.Pose() # get current pose pose_goal = move_group.get_current_pose().pose # set goal pose pose_goal.position.x += 0.01 pose_goal.position.y += 0.0 pose_goal.position.z -= 0.03 pose_goal.orientation.x += 0.0 pose_goal.orientation.y += 0.0 pose_goal.orientation.z += 0.0 pose_goal.orientation.w += 0.0 # plan and execute of the motion planning by pose move_group.set_pose_target(pose_goal) move_group.go(wait=True) # stop move_group.stop() # clear goal pose move_group.clear_pose_targets() if __name__ == "__main__": main()