When and why should we use the urdf/xacro transmission tag when working with ros_control?
According to the C++ API documentation:
The
transmission_interfaceis not used by controllers themselves (it does not implement a HardwareInterface) but instead operates before or after the controllersupdate, in theread()andwrite()methods (or equivalents) of the robot abstraction.
Can the transmision tag be omitted or is it always required?
According to this answer and the ROScon 2014 talk:
Actuators are connected to joints via mechanical transmissions, and you need to use them if you want
ros_controlto handle the mapping between joint and actuator spaces.
Is the transmission always required when working with the gazebo_ros_control plugin?