Description
The ros2_control framework in ROS 2 is a rewrite of the ros_control framework from ROS 1.
Our rich set of standard controllers was one of the main motivations for users to adopt ros_control in ROS 1 and while we ported most of them, there are quite a few features missing for the two main controllers of this set, the diff_drive_controller and the joint_trajectory_controller.
This work will consist of reviewing the two versions of the two controllers and comparing for feature parity. Once the missing parts are identified, port them over from ROS 1 with as much test support as possible.
Related existing issues are:
- joint_trajectory_controller should be feature complete with ROS Noetic version #303
- diff_drive_controller code tidy-up + many tests are missing from ROS1 #304
Stretch goals:
- realtime_tools API restructure realtime_tools#81
- controllers hardly use realtime_tools, they should #302
| Skills required/preferred:
- Good C++ skills
- Basic understanding of ROS and/or ROS 2
- Basic understanding of unit testing with gmock
| Possible mentors: Bence Magyar
| Expected size of project: 350 hours
| Difficulty: medium