No matching hardware interface found for 'hardware_interface/JointStateInterface' while loading interfaces
I have a robot defined in a URDF file that I want to use in gazebo with ros-control.
The robot has multiple non-fixed joints, but I only want to control the wheels. The other non-fixed joints should move freely according to the movement of the wheels. For the wheels I need to write a transmission like so:
<transmission name="${prefix}_wheel_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="${prefix}_wheel_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
<joint name="${prefix}_wheel_joint">
<hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
</joint>
</transmission>
My question is, how do I write a transmission for the other non-fixed joints so that their state is published by the JointStateController
? I tried the following:
<transmission name="${prefix}_something_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="${prefix}_something_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
<joint name="${prefix}_something_joint">
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
But it results in the error No matching hardware interface found for 'hardware_interface/JointStateInterface' while loading interfaces for something_joint
.