Skip to content

Conversation

mathias31415
Copy link
Contributor

This PR adds the motion_primitives_from_trajectory_controller. To make reviewing easier, another PR #1857 was created first to move shared functionality into a base controller.

This PR replaces PR #1837.

This PR is marked as a draft because PR #1636 and PR #1857 must be merged first.

This PR complements motion_primitives_forward_controller PR #1636 .
Instead of sending hardcoded motion primitives to the motion_primitives_forward_controller, this controller (motion_primitives_from_trajectory_controller) approximates a JointTrajectory using either PTP or LIN motion primitives.

This allows, for example, collision-free paths planned with MoveIt to be executed as motion primitives. The approximation is performed using the Ramer-Douglas-Peucker (RDP) algorithm:

  • For PTP primitives in joint space
  • For LIN primitives in Cartesian space

mathias31415 and others added 30 commits April 8, 2025 14:35
…time --> added gitignore, to not push it to github --> remove it after everything is done
… the hardware interface can receive a new motion primitive — replaces the previous, more complex handling via execution_status
…ls according to other controllers in the repo
… rtw template to fit the controller implementation
…tation from rtw template to fit the controller implementation
Copy link
Contributor

mergify bot commented Aug 25, 2025

This pull request is in conflict. Could you fix it @mathias31415?

Copy link

codecov bot commented Aug 25, 2025

Codecov Report

❌ Patch coverage is 0% with 594 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.73%. Comparing base (30473a5) to head (8fb3ba9).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
...c/motion_primitives_from_trajectory_controller.cpp 0.00% 309 Missing ⚠️
...ves_controllers/src/approx_primitives_with_rdp.cpp 0.00% 159 Missing ⚠️
motion_primitives_controllers/src/rdp.cpp 0.00% 92 Missing ⚠️
motion_primitives_controllers/src/fk_client.cpp 0.00% 20 Missing ⚠️
...s/motion_primitives_from_trajectory_controller.hpp 0.00% 14 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1858      +/-   ##
==========================================
- Coverage   85.25%   81.73%   -3.52%     
==========================================
  Files         143      148       +5     
  Lines       13794    14388     +594     
  Branches     1194     1279      +85     
==========================================
  Hits        11760    11760              
- Misses       1636     2230     +594     
  Partials      398      398              
Flag Coverage Δ
unittests 81.73% <0.00%> (-3.52%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...s/motion_primitives_from_trajectory_controller.hpp 0.00% <0.00%> (ø)
motion_primitives_controllers/src/fk_client.cpp 0.00% <0.00%> (ø)
motion_primitives_controllers/src/rdp.cpp 0.00% <0.00%> (ø)
...ves_controllers/src/approx_primitives_with_rdp.cpp 0.00% <0.00%> (ø)
...c/motion_primitives_from_trajectory_controller.cpp 0.00% <0.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants