8. Convert Twist to TwistStamped in Ecosystem and Run-Time Configuration¶
Task description
This project is comprised of 2 smaller projects that can be easily worked on in parallel.
Subproject A: Convert Twist to TwistStamped in Ecosystem
The aim of this project is to identify places in the ROS 2 ecosystem that make use of Twist
in the context of cmd_vel
coming out of Navigation. This includes things like Nav2, ROS 2 Control, Gazebo ROS Plugins, Yuk’s Velocity Filter, major robot drivers, etc. A set of previously identified places is shown in the ticket linked below.
Once you’ve created a list of places in the ecosystem where it is used, your project will be to submit PRs on their ROS 2 branches to change the interface to make use of a TwistStamped
instead of a Twist
.
Subproject B: Run-time Reconfiguration of Parameters
In the meantime while you’re waiting for PRs to be merged or blocked by reviews on converting all of the ecosystems cmd_vel
use of Twist
to TwistStamped
, your project will be to enable run-time reconfiguration of the major parameters in Nav2. In ROS 2 this is done via the parameter change event callbacks. See tickets below for a list of plugins or servers needing dynamically reconfigurable parameter support added.
Project difficulty: Medium
Project community mentor: Steve Macenski @SteveMacenski
Mentor contact details: [See link above, link in GitHub profile description]
Project output requirements - Convert all the major ecosystem projects into TwistStamped - Enable run-time reconfiguration of the remaining plugins and servers in Nav2 missing - Ensure that reconfiguration is thread-safe by using locks, atomic variables, or callback groups
Skills required
C++, Python3
ROS 2
List of relevant open source software repositories and refs
Licensing - All contributions will be under the Apache 2.0 license. - No other CLA’s are required.