Recently I started with UR robots, and due to the nature of my project and the inaccessibility to the factory robots related to COVID, it is highly desirable for me to use a simulator like Gazebo and use ROS to interface the robot with other algorithms.
Regarding the interface with ROS I already checked out the driver and simulation environments available online, and I’m already using them. I also installed URSim and used it, however i have some questions about the this component.
- How is URSim simulating the robot’s feedback without any physical simulation? How is the movement data evidenced in the GUI generated?
- Is it possible to create a Gazebo plugin that redirects feedback to URSim? Is it possible to only remove the robot simulation component of URSim and connect it to Gazebo, leaving the GUI and full interface intact? I know that the package ur_gazebo implement Gazebo, however they do not implement the same interface. If it is could you possibly mention some bullet points on how to do it?
URSim and Gazebo are something completely different and cannot be combined. Either use URSim or use Gazebo.
Which one to use depends on your actual use case. If you want to develop a complete system, test it and then replace the simulated robot with a real robot, use URSim, as it can be used with the driver directly. Replacing the simulation by the real robot will just be a matter of changing the IP address (if even necessary, depending on your system’s setup).
When using URSim, the robot blindly follows its targets without any dynamics simulation. Apart from that, the simulation behaves exactly like the real robot in most cases, which is why I would recommend using this, if it fits your needs.
If you want to have a physics simulation e.g. because you want to simulate dynamics, you could use Gazebo, but don’t expect a 100% accurate simulation. The robot’s dynamics won’t be the same as the one from a real robot. Of course, you can also create your setup so that the gazebo simulation and the real robot are interchangeable, but you’ll have to take care about loading the correct controllers twice, once for gazebo and once for the setup using the driver, as those two are complementary.