Skip to content

A ros_control layer implementation for maxon EPOS motor drivers

License

Notifications You must be signed in to change notification settings

yoshito-n-students/layered_hardware_epos

Repository files navigation

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

<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'

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

About

A ros_control layer implementation for maxon EPOS motor drivers

Resources

License

Stars

Watchers

Forks

Packages

No packages published