Ask Your Question
0

MoveIt with rrbot

asked 2015-08-06 12:57:02 -0500

mg001 gravatar image

Hello,

Has anyone implemented MoveIt with rrbot? Would you mind sharing your code? [Rrbot is used to introduce ROS controls in gazebosim tutorials: http://gazebosim.org/tutorials?tut=ro... . ]

My goal is to learn how to set-up MoveIt with a very simple robot so its joints could be moved in a simulator. I have configured MoveIt setup assistant and I can plan paths towards the goal position. However, I am struggling with plan execution.

I am raising this questions because I could not find any tutorials for this and I believe there are a lot of students who would benefit from step-by-step explanation about full MoveIt set-up.

Thank you in advance.

John

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-06-16 22:01:03 -0500

mizu_lily gravatar image

I think the key problem is that the example of rrbot uses a hardware interface of joint effort. If you want to implement MoveIt to it, you need to build a joint trajectory controller.

  • Add a trajectory controller to your robot:

rrbot_control/config/rrbot_control.yaml

arm_controller:
type: effort_controllers/JointTrajectoryController
joints:
   - joint1
   - joint2
constraints:
    goal_time: 0.0
    stopped_velocity_tolerance: 0.01
    joint1: {trajectory: 0.01, goal: 0.01}
    joint2: {trajectory: 0.01, goal: 0.01}
gains:
   joint1: {p: 100.0, d: 75.0, i: 0.0, i_clamp: 0.0}
   joint2: {p: 100.0, d: 25.0, i: 0.0, i_clamp: 0.0}
state_publish_rate:  100
action_monitor_rate: 100
stop_trajectory_duration: 0.0

notice that you should maunally setup these parameters to have a good performance, especially pid.

  • Remap the controller topic to MoveIt topic

    rrbot_gazebo/launch/rrbot_world.launch

    <remap from="/rrbot/arm_controller/follow_joint_trajectory" to="/joint_trajectory_action"/> <remap from="/rrbot/arm_controller/state" to="/feedback_states"/> <remap from="/rrbot/arm_controller/command" to="/joint_path_command"/>

If you just want to learn how to set-up MoveIt with a simple robot, I suggest you change the hardware interface to joint position interface. It's at the bottom of the description of rrbot. Tag hardwareInterface of joint and actuator both should be PositionJointInterface. And then in the joint trajectory controller, you don't have to tune pid any more.

Hope this would help.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2015-08-06 12:57:02 -0500

Seen: 251 times

Last updated: Aug 06 '15