[Documentation] [TitleIndex] [WordIndex

Package Summary

A wrapper around the EPOS Command Library to provide easy integration with ROS control

Overview

A ROS wrapper for the Maxon Motor EPOS Command Library to allow use of EPOS motor controllers with ros_control.

Nodes

epos_hardware_node

Node that launches a controller manager with Maxon Motors as the robot hardware. Transmissions are also loaded from the URDF. The motors to load are specified as arguments.

Parameters

robot_description (string)

Usage

 $ rosrun epos_hardware epos_hardware_node motor_name1 motor_name2 motor_name3

Each name that is specified as an argument will be loaded as a motor. See below for configuration

Configuration

Both the epos_hardware_node node and the epos_manager library are configured using ROS parameters. If a parameter is related to a register value then the register is listed in the parameter description. (NOTE: the values may not be the same if the units are different) See the EPOS Command Library documentation for more information.

NOTE: while amps and seconds are used for most parameters, all position and velocity parameters and control inputs are in the device units (this is normally rotations and rpm by default).

Device Parameters

~/motor_name/serial_number (string)

~/motor_name/actuator_name (string) ~/motor_name/operation_mode (string) ~/motor_name/clear_faults (bool, default: false)

Motor Parameters

~/motor_name/motor/type (int)

DC Motor Parameters

~/motor_name/motor/dc_motor/nominal_current (double)

~/motor_name/motor/dc_motor/max_output_current (double) ~/motor_name/motor/dc_motor/thermal_time_constant (double)

EC Motor Parameters

~/motor_name/motor/ec_motor/nominal_current (double)

~/motor_name/motor/ec_motor/max_output_current (double) ~/motor_name/motor/ec_motor/thermal_time_constant (double) ~/motor_name/motor/ec_motor/number_of_pole_pairs (int)

Sensor Parameters

~/motor_name/sensor/type (int)

Incremental Encoder Parameters

~/motor_name/motor/incremental_encoder/resolution (int)

~/motor_name/motor/incremental_encoder/inverted_polarity (bool)

Hall Sensor Parameters

~/motor_name/motor/hall_sensor/inverted_polarity (bool)

SSI Absolute Encoder Parameters

~/motor_name/motor/ssi_absolute_encoder/inverted_polarity (bool)

~/motor_name/motor/ssi_absolute_encoder/data_rate (int) ~/motor_name/motor/ssi_absolute_encoder/number_of_multiturn_bits (int) ~/motor_name/motor/ssi_absolute_encoder/number_of_singleturn_bits (int)

Safety Parameters

~/motor_name/safety/max_following_error (int)

~/motor_name/safety/max_profile_velocity (int) ~/motor_name/safety/max_acceleration (int)

Position Regulator Parameters

~/motor_name/position_regulator/gain/p (int)

~/motor_name/position_regulator/gain/i (int) ~/motor_name/position_regulator/gain/d (int) ~/motor_name/position_regulator/feed_forward/velocity (int) ~/motor_name/position_regulator/feed_forward/acceleration (int)

Velocity Regulator Parameters

~/motor_name/velocity_regulator/gain/p (int)

~/motor_name/velocity_regulator/gain/i (int) ~/motor_name/velocity_regulator/feed_forward/velocity (int) ~/motor_name/velocity_regulator/feed_forward/acceleration (int)

Current Regulator Parameters

~/motor_name/velocity_regulator/gain/p (int)

~/motor_name/velocity_regulator/gain/i (int)

Position Profile Parameters

~/motor_name/position_profile/velocity (int)

~/motor_name/position_profile/acceleration (int) ~/motor_name/position_profile/deceleration (int) ~/motor_name/position_profile/window/window (int) ~/motor_name/position_profile/window/time (int)

Velocity Profile Parameters

~/motor_name/velocity_profile/acceleration (int)

~/motor_name/velocity_profile/deceleration (int) ~/motor_name/velocity_profile/window/window (int) ~/motor_name/velocity_profile/window/time (int)

Tools

list_devices

 $ rosrun epos_hardware list_devices [--rs232]

Enumerate all EPOS devices on USB and optionally RS232 ports

get_state

 $ rosrun epos_hardware get_state serial_number

Get the position, velocity, and current from the motor with the given serial number


2019-08-24 12:45