https://github.com/ros-controls/ros_control
Tip revision: 88f008252375060d17271f336456a07e340d13a1 authored by Adolfo Rodriguez Tsouroukdissian on 08 January 2014, 11:57:36 UTC
Build script fixes.
Build script fixes.
Tip revision: 88f0082
README.md
## Transmission Interface ##
### Overview ###
**transmission_interface** contains data structures for representing mechanical transmissions, and methods for
propagating position, velocity and effort variables between actuator and joint spaces.
In the same spirit as the **hardware_interface** package, this package wraps existing raw data (eg. current actuator
positon, reference joint command, etc.) under a consistent interface. By not imposing a specific layout on the raw data,
it becomes easier to support arbitrary hardware drivers to software control.
### Structure ###
There are three main elements involved in setting up a transmission_interface:
- The **Transmission** class defines an abstract interface for mapping
position, velocity and effort variables between actuator and joint space.
Derived classes implement specific transmission types, such as
simple reducers, differentials and four-bar linkages.
Note that a single transmission may couple the variables of multiple actuators and joints (eg. a differential couples
two actuators to two joints).
- The **TransmissionHandle** class associates a name to a
Transmission instance and a set of raw data variables
it operates on (specified through the **ActuatorData** and
**JointData** structures).
Derived classes implement specific maps, such as
**JointToActuatorEffortHandle** or
**ActuatorToJointStateHandle**.
- The **TransmissionInterface<HandleType>** class manages
a set of transmission handles of the same type.
Note that although the handles are of the same type, the underlying transmissions can be heterogeneous
eg. a single **ActuatorToJointPositionInterface** can be
set up to transform position variables from actuator to joint space for an arm with a four-bar-linkage in the
shoulder, a differential in the wrist, and simple reducers elsewhere.
### TODO ###
- Read transmission configuration from configuration files.
### Examples ###
Please refer to the [transmission_interface](https://github.com/ros-controls/ros_control/wiki/transmission_interface) wiki page.