Ignition ros control hardware interface (noetic + ignition edifice)

Hello ros community!

Noticing that currently there is no ros control plugin for ignition gazebo, resulting in most implementations using the ignition trajectory plugin along with custom moveit action servers to implement the follow_joint_trajectory , omitting the dynamic nature of ros control.

I made a custom hardware interface node that uses topic interface (pub subs) to interface with the ignition gazebo using joint-state-controller and x6 joint-position-controller plugins along with the ignition bridge.

This way we can run native ros control controllers although it is not as elegant as the whole hardware interface being as a plugin.

For more info please check the demo repository

github : ign_hw_interface

Pull requests and advice are welcomed, give it a star if you found it helpful!

Some previews

driver_diagram

3 Likes

Hi @MakeMe

Great work! I will test it and I will compare it with this other solution which is the ros plugin that were missing. It’s still on review.

Hi @ahcorde

I wasn’t aware there was such a plugin for ignition and ros2 in development i will give it a try once i can : )

I guess i still fill the niche of ros1 with ignition, is that also scheduled for development?

Thank you!

I don’t have any plans for a ROS 1 port.

Another fellow roboticist that also uses Plantuml :grinning_face_with_smiling_eyes:, nice! I was thinking that it would be really nice to develop some python script that based on the class diagram creates the classes with nodes, topics…

Hello everyone!

I prepared a ros_control plugin for ignition.
Here is the repository: GitHub - ros-controls/ign_ros_control: ros_control plugin for Ignition
Feel free to contribute to it.

@ahcorde Thank you for your work on the plugin for ROS2, I took a lot of inspiration (and line of codes) from it :slight_smile: . Also, I noticed that the JointForce are not correctly computed, did you find a solution to that? These are the incriminated lines ign_ros_control/ign_system.cpp at master · ros-controls/ign_ros_control · GitHub

2 Likes