Hello there folks,
We’ve had a busy 2020 at the ros2_control Working Group thinking about and discussing how to improve ros_control for ROS2.
I am pleased to announce the first release of ros2_control and ros2_controllers in Foxy!
Don’t be overly excited yet though! This is a release of only the core framework and some of the old and loved controllers, but not everything yet.
- Supported controllers:
- Entirely component-based setup, for those of you familiar with ros_control, you can think of it as
CombinedRobotHardwarebeing a first class citizen. No need to write a
RobotHWanymore if someone else already made a driver for the component/robot you want to use.
- ROS2 CLI support
- No more hardcoded joint or actuator interface types (i.e. can support any joint type, not only position, velocity and effort)
- Resource and lifecycle management done in a cleaner manner, leveraging some ROS2 and more modern C++ practices
- Composability with other ROS2 nodes via executors
- Support the
control_msgs/DynamicJointStatemessage which is a flexible alternative to
Upcoming releases will include:
- Gazebo support
- more demos and documentation.
Did you guys also watch Die Hard 2 over the Christmas break? If yes, I’m sure those orange industrial robots in the baggage-handling scene made you wonder: “When can I use
ros_control with ROS2 on my robots?” The time has come!
As we do not yet have the Gazebo plugin working, allow me to show a KUKA and an ABB simulation thanks to Taiga Robotics. The source code for both can be found here.
For getting started, try the hands-on demo from the demos repo:
For more, you may join us or follow our progress at the working group meetings or in the following repos:
- The framework: ros2_control
- The controllers: ros2_controllers
- Our ever-growing set of reference implementations following some typical robot urdfs can be found in ros2_control_demos
Warmest thanks to everyone who helped make
ros2_control happen but especially our main contributors:
Karsten Knese (Bosch), Denis Štogl (KIT), Victor Lopez & Jordan Palacios (PAL Robotics),
Edwin Fan & Alejandro Cordero (Open Robotics), Colin MacKenzie, Dmitri Ignakov (Taiga Robotics), Andy Zelenak and Lovro Ivanov (PickNik Robotics)
Until the next Foxy sync, the packages are only available from the
ros2-testing apt repository.