Skip to content

Hardware Configuration

Darko Lukić edited this page Feb 7, 2023 · 9 revisions

mep3 heavily relies on ros2_control as a hardware abstraction framework. Therefore, the most hardware configuration is placed in .urdf and .yaml files.

Hardware Interface

The hardware interface defines primitives on how to interact with the hardware like joint position or GPIO output:

  • The physical hardware interfaces are placed in mep3_hardware/resource. The files are named as [robot]_description.urdf.
  • The simulated hardware interfaces are placed in mep3_simulation/resource and have the same naming convention.

Important: It is necessary to have the same hardware primitives described for both, physical and simulated robots. Otherwise, there is a high risk they will not be compatible.

Controllers

Controllers utilize primitives from hardware interfaces to implement a control behavior like differential drive or joint position control. Both, physical and simulated robots, load the same controllers, from the same configuration files. The controller configurations are placed in mep3_hardware/resource and files are named as [robot]_controllers.yaml.