layered_hardware_epos
A ros2_control layer implementation for Maxon EPOS actuator drivers. See layered_hardware to understand the layered scheme.
Layer plugin: layered_hardware_epos/EposActuatorLayer
- sends commands to Maxon EPOS actuator drivers within
write()
function
- fetches actuators' states within
read()
function
- switches actuators' operation modes within
perform_command_mode_swtich()
function when controllers using associated interfaces activate
Hardware parameters
__ (yaml, required)
- map of parameter names and values for this layer
_.device_ (string, default: 'EPOS4')
- device type of EPOS driver like 'EPOS', 'EPOS2', or 'EPOS4'.
_.protocolstack (string, default: 'MAXON SERIAL V2')
- protocol stack type of EPOS driver like 'MAXON SERIAL V2', or 'MAXON RS232'.
_.interface_ (string, default: 'USB')
- interface type of EPOS driver like 'USB', 'RS232', or 'CANopen'.
_.port_ (string, default: 'USB0')
_.baudrate_ (int, default: 1000000)
- baudrate of communication to EPOS drivers
_.timeout_ (double, default: 0.5)
- timeout of communication to EPOS drivers in seconds
_.actuators_ (map<string, map>, required)
- map of parameters for each actuator
_.actuators..id_ (int, required)
_.actuators..count_perrevolution (int, required)
- encoder count per revolution of the actuator, for conversion between position units
_.actuators..torqueconstant (double, required)
- torque constant for conversion between current and torque in N*m/A
_.actuators..operation_modemap (map<string, string>, required)
- map to actuator's operation mode names from associated interface names (typically joint interfaces)
- possible operation mode names are 'clear_falut', 'current', 'disable', 'position', 'profile_position', 'profile_velocity', 'reset' & 'velocity'
Example of parameter description
<param name="example_epos_actuator_layer">
device: EPOS4
protocol_stack: MAXON SERIAL V2
interface: USB
port: USB0
baudrate: 1000000
actuators:
example_epos_1:
id: 1
count_per_revolution: 2048
torque_constant: 2.41
operation_mode_map:
example_joint_1/position: profile_position
...
example_epos_2:
id: 2
...
</param>
Example