[ros-users] [Discourse.ros.org] [ROS Projects] Hal_ros_control: simple, powerful ros_control hardware interface

John Morris via Discourse.ros.org ros.discourse at gmail.com
Fri Jan 11 18:42:44 UTC 2019

My team has written a simple but very flexible ros_control hardware
interface that runs Dave Coleman's `ros_control_boilerplate` in
Machinekit HAL + RTAPI.  It's really cool, and we believe it can be
used to control a lot of different robot hardware with configuration
only, and little or no coding.  We use it in our 6 DOF robot arms with
simulated and EtherCAT drivers.  While it's still brand-new, it plays
out joint trajectories beautifully.


Machinekit HAL provides an RT threading environment where 'components'
are loaded and 'pins' are connected through 'signals' in a simple
configuration file.  Out of the box it includes hundreds of
pre-defined virtual components such as joint controllers, PID
controllers, encoders, scale & offset, filters, pos/vel/acc limiters
and logic gates.  It talks to many types of real hardware, like
EtherCAT, BeagleBone GPIO (incl. PRU support), and Zynq SOCs.
Machinekit HAL is an offshoot of LinuxCNC HAL, well-proven to adapt an
enormous variety complex physical hardware configurations for use with
its CNC controller application; Machinekit improves and extends HAL
for general automation applications, including robots.

The `ros_control_boilerplate` enables adaptation to many
applications by setting up ros_control and its joint limits and
transmissions interfaces purely through configuration from the ROS
parameter server.

By complementing the boilerplate with Machinekit HAL as the hardware
interface, we hope to eliminate most coding tasks in robot hardware
integration and let you spend your time on more important things.

[Visit Topic](https://discourse.ros.org/t/hal-ros-control-simple-powerful-ros-control-hardware-interface/7418/1) or reply to this email to respond.

More information about the ros-users mailing list