I’m working on getting a six-legged hexapod robot simulation running in Gazebo. The real hardware does already exist and even works to some agree but I hope to get faster iteration on the gait algorithm by experimenting inside a simulation.
My setup is ROS Humble and GZ Fortress.
I have a XACRO / URDF description that can be parsed and instantiated/spawned both in rviz and Gazebo.
What I would like to do now - for a start - is to obtain the current joint position as well as the torque applied to each joint due to gravity - as determined by the simulation and stream it via ros_gz_bridge back to the gait controller implemented as a ROS node.
In a later stage I would then like to feed target angular velocities from the gait controller ROS node back into the simulation to close the loop.
I’ve spent a couple of hours looking through various available online documentation, github repositories and actual gazebo integrations written by 3rd parties (i.e. ardupilot_gazebo) and I’m not afraid to write my own Gazebo plugin but honestly I’m failing at a more fundamental level:
What is the first next step start on this journey?
Where can I find the appropriate documentation?
Is there publicly available example code on dealing with multi-jointed robots under the Humble / Fortress combination?
Since this is quite an unspecific question (i.e. not “How to spawn a robot from a URDF model via ROS launch file”) I hope this is the right place to ask it vs. stackexchange.