gazebosim / gazebo-classic

Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim
http://classic.gazebosim.org/
Other
1.21k stars 484 forks source link

"ODESliderJoint::SetAnchor not implemented" log with PositionJointInterface #3191

Open christophfroehlich opened 2 years ago

christophfroehlich commented 2 years ago

I just ran into the same problem as described in this unanswered question on answers.gazebosim.org and thought I'd repost it here. I use gazebo11, but it seems that the error occurred also with gazebo9:

Whenever I have a prismatic joint in my robot that has a transmission with the hardwareInterface tag of PositionJointInterface, the Gazebo log outputs the following line in every simulation step: "ODESliderJoint::SetAnchor not implemented.". Since I have 4 of these joints I get this message 4 times per simulation step. I feel like that may be slowing down the simulation.

Now, this only happens with the combination of a prismatic joint and PositionJointInterface (that I know of). The messages don't appear for example with a revolute joint and PositionJointInterface or a prismatic joint with EffortJointInterface.

Does anyone know if there's a way to prevent that message from logging while still using PositionJointInterface with a prismatic joint?

In contrast to the original question, I do not have a transmission but use a ros2_control position command interface

<ros2_control name="GazeboSystem" type="system">
  <hardware>
    <plugin>gazebo_ros2_control/GazeboSystem</plugin>
  </hardware>
  <joint name="q5_small_telescope">
    <command_interface name="position"/>
    <state_interface name="position"/>
  </joint>
</ros2_control>

and get the following log messages

(1647434771 490414121) ODESliderJoint::SetAnchor not implemented. (1647434784 108009465) ODESliderJoint::Anchor not implemented.

Or is this problem related to gazebo_ros2_control instead of gazebo itself?