ros-controls / gazebo_ros2_control

Wrappers, tools and additional API's for using ros2_control with Gazebo Classic
Apache License 2.0
188 stars 120 forks source link

Kinematic chains with passive joints don't work with position interface #240

Open christophfroehlich opened 9 months ago

christophfroehlich commented 9 months ago

As indicated with #172, passive joints not being part of a kinematic chain (a pendulum for example) do not work properly if anything except effort interface is used.

If the position or velocity command interface is used instead, the motion of the pendulum is not calculated correctly and does not move at all, see the following example. This also holds true if a mimicked joint with position or velocity interface is used.

christophfroehlich commented 9 months ago

I'm not sure how gazebo with gz_ros2_control behaves with passive joints. But one suggestion for gazebo_ros2_control would be to implement a high-gain feedback on the effort or velocity interface from position commands, similar to the position interface of gz_ros2_control

But I'm not certain if this will end up in a stable simulation.