Skip to content

yoshito-n-students/layered_hardware

Repository files navigation

layered_hardware

A ros_control implementation that adopts layered scheme

The layered scheme

  • every ros_control's component (ex. joint_limits, transmissions) is implemented as a layer plugin (base_class: layered_hardware::LayerBase)
  • one can reuse plugins of non-actuator-specific layers for different actuators

Node: layered_hardware_node

Parameters

~control_frequency (double, default: 10.0)

  • frequency of control step (reading from the layers, updating the controllers, and writing to the layers) in Hz

~use_expected_period (bool, default: false)

  • if true, the node uses the expected control cycle time instead of the actual when reading from/writing to the layers
  • useful as workaround for clock jump

~robot_description or robot_description (string, default: "")

  • robot description in URDF
  • if both given, ~robot_description will be used

~layers (string array, required)

  • names of layers from upper (controller-side) to bottom (actuator-side)

~<layer_name>/type (string, required)

  • lookup name for each layer plugin like 'layered_hardware/TransmissionLayer'

Example

see launch/example.launch

Plugins: layered_hardware_default_plugins

layered_hardware/JointLimitsLayer

  • implements general joint_limits_interface procedures
  • supports both hard & soft limits

layered_hardware/TransmissionLayer

  • implements general transmission_interface procedures

layered_hardware/Dummy{Position, Velocity, Effort}ActuatorLayer

  • implements dummy {position, velocity, effort}-controlled actuators
  • useful to debug your command generation, state visualization nodes, or transmissions without physical actuators and dynamics simulators

Parameters

~<layer_name>/actuators (string array, required)

  • names of actuators to be managed by this layer

Related packages

layered_hardware_extensions

  • extended layers for position-velocity(-effort)-controlled actuators

layered_hardware_dynamixel

  • layer implementation for ROBOTIS Dynamixel actuators

layered_hardware_epos

  • layer implementation for maxon EPOS actuator controllers

layered_hardware_gazebo

  • layer implementation for joints of a virtual robot in the Gazebo simulator

About

A ros_control implementation that adopts layered scheme

Resources

License

Stars

Watchers

Forks

Packages

No packages published