ros-controls / ros-controls/ros2_controllers

Update mecanum_drive_controller with common controller features

Open
#1,676 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement persistent
Dominant language
C++
Stars
834
Forks
530
Avg merge
18h 3m
Merged PRs (30d)
19

Description

It appears that the mecanum_drive_controller is lacking some features that are present in other controllers and seem to be important or useful. Compared to the diff_drive_controller, there are several features that could be implemented in the mecanum_drive_controller:

  • Velocity limits (linear.x, linear.y, angular.z)
  • cmd_vel_timeout: Timeout in seconds, after which input command on cmd_vel topic is considered staled.
  • tf frame prefix parameters:
    • tf_frame_prefix_enable: Enables or disables appending tf_prefix to tf frame id's.
    • tf_frame_prefix: (optional) Prefix to be appended to the tf frames, will be added to odom_id and base_frame_id before publishing. If the parameter is empty, controller's namespace will be used.
  • Wheel radius multiplier - Correction factor when radius of wheel differs from the nominal value in wheel_radius parameter.
  • publish_rate: Publishing rate (Hz) of the odometry and TF messages.

All of these features are already implemented in the diff_drive_controller, so it seems the task would be to port them into the mecanum_drive_controller.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare the existing diff_drive_controller implementation with mecanum_drive_controller, focusing on the listed velocity limits, timeout, TF prefix, wheel-radius multiplier, and publish-rate features. Done means the mecanum controller supports the corresponding parameters and behavior consistently with diff_drive_controller; the issue does not name specific files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
robotics
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.