ros-controls / ros-controls/control_toolbox

Merge JointSaturationLimiter and RateLimiter

Open
#287 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

persistent
Dominant language
C++
Stars
176
Forks
124
Avg merge
3h 44m
Merged PRs (30d)
9

Description

We have a JointSaturationLimiter that limits positions, velocities, and acceleration for the arms. Can we reuse that logic also here, by extending the limiter with a new on_enforce method to also accept the Twist (or TwistStamped) messages and do the limiting there. I suppose we can reuse the logic, and then we hopefully don't need to have two implementations. AFAIK, we can even create a new class for it as Joint in the name implies to be used on joint only.

Originally posted by @destogl in #1346

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

Start by reading joint_limits/src/joint_saturation_limiter.cpp and comparing the existing JointSaturationLimiter and RateLimiter entry points. Trace how position, velocity, and acceleration limits are applied, then determine the shared behavior needed for Twist and TwistStamped messages. Done means the duplicated limiter logic is consolidated and both joint and twist limiting behavior remains covered by the project’s tests.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.