Skip to content

Convert the diff_drive_controller into a ChainableControllerInterface in the master branch #1457

@arthurlovekin

Description

@arthurlovekin

I am currently working on designing a differential drive robot with advanced navigation and balancing capabilities using ROS2 Jazzy. I would like to configure my controllers in a chained configuration similar to the one described in the Controller Chaining Tutorial. However, in the ros2_controllers master branch it looks like the diff_drive_controller is still a standard ControllerInterface, not a ChainableControllerInterface, so I cannot put controllers that precede the diff_drive_controller.

I propose to convert the diff_drive_controller into a ChainableControllerInterface, and push these changes to the master branch.
I noticed that there is a chainable-diff-drive branch from last year that converts the diff_drive_controller into a ChainableControllerInterface as I desire. The problem is that this branch is many commits behind master at this point, and lacks functionality such as using TwistStamped instead of Twists for the velocity_command subscriber, among others. I would like to see the chainable-diff-drive branch merged with master (or, since this would be a complex merge, simply start from scratch using chainable-diff-drive as a guide).

I have not contributed to ros2_controllers before, but would be interested in taking this on as a challenge. My questions are:
Why was this merge not made before? What are the blockers or nuances that I should watch out for?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions