MoveIt! Gazebo Integration

Hey fellas,

I am surprised that there isn’t a Gazebo integration topic in this channel. Although MoveIt! has streamlined Gazebo integration, the auto-generated files didn’t work directly in my 3DOF robotics arm’s case. Therefore I needed to solve the problems manually. After I’ve successfully integrated Gazebo and MoveIt!, I have written a Medium post. The post contains steps to follow after setup_assistant finishes its job. It also contains solutions to various subsidiary problems. At the end there are pointers to external links with similar context, which I didn’t notice at the beginning of the article. I hope it would be useful for beginners and newcomers.

9 Likes

This is absolutely great! I went and posted on the OpenRobotics twitter feed.

1 Like

Hi @tahsin_kose,

Thanks for further documenting how to use Gazebo with MoveIt, its an important part of the ROS ecosystem!

The Gazebo / MoveIt Setup Assistant integration was a Google Summer of Code intern project last year by Mohamad Ayman, and we’re really happy the progress. I was his primary mentor on the effort. Of course, there’s always more work to be done!

One thought - maybe you could create a tutorial in the centralized MoveIt tutorials website that includes this documentation?

1 Like

Hi there,

I can definitely adapt the post to the centralized tutorials if it is convenient.

1 Like

@tahsin_kose today is World MoveIt Day, any interest in tackling this tutorial? I started a stub just now:

Yes I’m interested. I’ll allocate a 2-3h timespan to have it finished. Hopefully, that would be enough.

1 Like

@davetcoleman I need write access to https://github.com/davetcoleman/moveit_tutorials/tree/pr-gazebo. If you prefer a branch of my own, please say so.

Thanks for making a new PR for it!

1 Like

Looks like I’ll be adding “MoveIt Gazebo tutorial” to my never-ending backlog! :slight_smile:

@tahsin_kose Thank you so much for this. Could you tell me which control plugin and hardware interface should be included in the URDF so that this works correctly?

I am currently using gazebo_ros_control and hardware_interface/PositionJointInterface for each joint. This gives me the following error (here arm_position_controller is the same as arm_controller in your medium post):
[ERROR] [1592059180.816312573, 0.405000000]: No joint given (namespace: /kuka_lwr/arm_position_controller)
[ERROR] [1592059180.816350026, 0.405000000]: Failed to initialize the controller
[ERROR] [1592059180.816386230, 0.405000000]: Initializing controller ‘arm_position_controller’ failed
[ERROR] [1592059181.818000, 1.359000]: Failed to load arm_position_controller

Hi @thejose5,

Discourse is not suitable for troubleshooting. I suggest you to open the question in answers.ros.org. Alternatively you could check this tutorial PR to figure out your own problem.

Yes, I tried following the tutorials to simulate the MoveIt-Gazebo integration and went through the same issues.

It took me 5 days to get it working-ish (I still couldn’t get it working with position controller, only effort controller). Here is the repository:

I am very disappointed with this software. I intended to implement this for the real robot as well, but I am seriously considering just using another package, or making it from scratch.