A ros2_control layer implementation for Maxon EPOS actuator drivers. See layered_hardware to understand the layered scheme.
- 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
<layer_name> (yaml, required)
- map of parameter names and values for this layer
<layer_name>.device (string, default: 'EPOS4')
- device type of EPOS driver like 'EPOS', 'EPOS2', or 'EPOS4'.
<layer_name>.protocol_stack (string, default: 'MAXON SERIAL V2')
- protocol stack type of EPOS driver like 'MAXON SERIAL V2', or 'MAXON RS232'.
<layer_name>.interface (string, default: 'USB')
- interface type of EPOS driver like 'USB', 'RS232', or 'CANopen'.
<layer_name>.port (string, default: 'USB0')
- port name of EPOS driver
<layer_name>.baudrate (int, default: 1000000)
- baudrate of communication to EPOS drivers
<layer_name>.timeout (double, default: 0.5)
- timeout of communication to EPOS drivers in seconds
<layer_name>.actuators (map<string, map>, required)
- map of parameters for each actuator
<layer_name>.actuators.<actuator_name>.id (int, required)
- id of the EPOS driver
<layer_name>.actuators.<actuator_name>.count_per_revolution (int, required)
- encoder count per revolution of the actuator, for conversion between position units
<layer_name>.actuators.<actuator_name>.torque_constant (double, required)
- torque constant for conversion between current and torque in N*m/A
<layer_name>.actuators.<actuator_name>.operation_mode_map (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'
<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>