Universal Robots+

Moveit real ur5 together with gazebo ur5 model


I succeeded to run ur_robot_driver with moveit. I also managed to do that with ur_gazebo and moveit. Now, I want to connect between gazebo and real robot and run them with the same moveit planning. the main problem is that the real robot and the gazebo have different controllers while moveit can work with only one controller (correct me if Im wrong. Is there any way combine these two tasks?

Thanks in advance.

I’m fairly new to ROS. At first glance Gazebo seems just like RVIZ from the MoveIT package. There is one major difference though. RVIZ is used to visualize actual data, while Gazebo is used to simulate an environment and the robot.

I’m at the point where I’m learning to write nodes for an UR and simulating the result with RVIZ. The GitHub readme has helped me a lot. universal Robots Gitub. The instructions fail to mention that launching the demo launch for your robot is neccary to have the parameters for the parameter server.

roslaunch <your-robot-modle>config demo.launch

For future reference: Such questions are best asked on answers.ros.org :slight_smile:

For your specific case, please see https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/issues/55 which provides a workaround and opens a discussions on how to solve this properly.

maria and mauch,

Thank you for prompt answer. It looks like my question was not clear. I will try again. I can run the real ur5 with moveit and rviz. I also managed to run gazebo + moveit + rviz via ur_gazebo package. All is well. However, I want to connect gazebo to real model so when moveit creates trajectory both gazebo and real robot will move simultaneously and executes the similar trajectory created by moveit at the same time.

I agree that maybe this question relates to ros forum, but i do not think that this is a ros problem because both apps work seperately. I published the question here because UR contributed (thanks a lot!) both ros drivers and ur_gazebo package. So you may know how to arrange both apps to process the moveit output simultaneously.
I think this is a difficult question because the apps uses different controllers.

Best regards

Thanks for clarifying. Indeed I think, this is a pure ROS question. If you want to mirror both actions to gazebo and the real robot, usually you’ll use a remap in either the gazebo node or the driver node. However, I’m not sure whether actions will behave correctly when two action servers are listening to the same action namespace.