ros-controls / ros-controls/ros2_controllers
JTC Cancels original and new trajectory when performing trajectory replacement with RT kernel
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 834
- Forks
- 530
- Avg merge
- 18h 3m
- Merged PRs (30d)
- 19
Description
Describe the bug
Our application builds a trajectory in real time by appending new points to the end of the trajectory. New points are added every 1.5 seconds, and send over the action interface to the joint trajectory controller. When using a standard kernel (not real-time), everything works as expected, a goal cancelled and a goal accepted message is sent to the client every 1.5 seconds. However, with a RT kernel, the JTC will cancel the old trajectory and the new trajectory. This causes the robot to stop moving until it receives a new trajectory 1.5 seconds later.
To Reproduce
Steps to reproduce the behavior:
- Use a rt kernel
- send a new trajectory every 1.5 seconds
Expected behavior
The controller will cancel 1 trajectory and accept 1 new trajectory every time a new trajectory is sent.
Screenshots
Figure 1. Client side output
Figure 2. Server side ouput
The lines of interest are between times 1722870436.911681030 and 1722870441.413748510.
Environment (please complete the following information):
- OS: 5.15.0-1052-realtime
- Version: Humble
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing trajectory replacement with a real-time kernel on ROS 2 Humble, using the reported 1.5-second update interval and comparing client and server output around the listed timestamps. Done means each update cancels one trajectory and accepts one replacement without stopping the robot.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- operating-systems, robotics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100