IsaacSim Support with topic_based_ros2_control
Feature summary
Currently, the packages only support physical hardware or mock hardware. For testing in a simulator such as IsaacSim, topic_based_ros2_control is required.
topic_based_ros2_control would be a simple plugin in the URDF that implements a simple 'hardware interface' that communicates with IsaacSim through topic_based_ros2_control. There would also be changes to all the launch files (change use_mock_hardware parameter to something like hardware_type with options for real, mock, or simulated hardware).
Tasks
To complete this issue involves
- [X] Implement the feature
- [X] Make documentation
- [ ] Make Unit test
- [ ] Make example
- [ ] Test on real hardware
Happy to work on this.
That sounds like a cool idea! We have structured the URDF in a way that such a thing would be implemented in a separate package. For example, if you take a look at the GZ sim package you will find a URDF including the kinematic description from ur_description and adding a gz-specific ros2_control specification.
We split things up like that in order to break up some dependency chains from the description.
Would that fit to what you have in mind?
Yes that makes sense. Will someone create a new repo under UniversalRobotics? I see an Isaac Driver but that seems to be deprecated.
Yes, that is deprecated. We would have to discuss internally, whether we want to support that, as supporting a new platform always comes with some maintenance overhead. That shouldn't stop you from implementing this, though.
Sounds good. I have a basic implementation in my fork of this repo, but I'll work on refactoring it as a separate package soon.