Skip to content

Add velocity and acceleration scaling when using custom limits in Time Parameterization - #1832

Merged
sjahr merged 7 commits into
moveit:mainfrom
mechwiz:add_scaling_to_custom_limits
Jan 18, 2023
Merged

Add velocity and acceleration scaling when using custom limits in Time Parameterization#1832
sjahr merged 7 commits into
moveit:mainfrom
mechwiz:add_scaling_to_custom_limits

Conversation

@mechwiz

@mechwiz mechwiz commented Dec 26, 2022

Copy link
Copy Markdown
Contributor

Description

In an effort to use dynamic joint velocity, acceleration, or jerk limits it was mentioned by @henningkayser in my moveit_msgs PR here moveit/moveit_msgs#144 (comment) that scaling should be applied regardless if using default limits or custom limits. This PR creates the necessary changes to accomplish this.
@AndyZe

EDIT

This PR also adds another overloaded computeTimeStamps function for passing in a vector of JointLimit messages. I found this to be easier to work with in my implementation for integrating dynamic joint limits.

Checklist

  • Required by CI: Code is auto formatted using clang-format
  • Extend the tutorials / documentation reference
  • Document API changes relevant to the user in the MIGRATION.md notes
  • Create tests, which fail without this PR reference
  • Include a screenshot if changing a GUI
  • While waiting for someone to review your request, please help review another open pull request to support the maintainers

@mechwiz mechwiz changed the title add velocity and accelerations scaling when using custom limits for t… Add velocity and acceleration scaling when using custom limits in Time Parameterization Dec 26, 2022
@codecov

codecov Bot commented Dec 26, 2022

Copy link
Copy Markdown

Codecov Report

Base: 50.46% // Head: 50.39% // Decreases project coverage by -0.06% ⚠️

Coverage data is based on head (b5d774e) compared to base (fd48413).
Patch coverage: 36.96% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1832      +/-   ##
==========================================
- Coverage   50.46%   50.39%   -0.06%     
==========================================
  Files         374      374              
  Lines       31335    31363      +28     
==========================================
- Hits        15809    15803       -6     
- Misses      15526    15560      +34     
Impacted Files Coverage Δ
...ry_processing/time_optimal_trajectory_generation.h 100.00% <ø> (ø)
...veit/trajectory_processing/time_parameterization.h 100.00% <ø> (ø)
...rajectory_processing/src/ruckig_traj_smoothing.cpp 85.15% <12.50%> (-6.43%) ⬇️
...cessing/src/time_optimal_trajectory_generation.cpp 86.59% <50.00%> (-0.79%) ⬇️
moveit_ros/moveit_servo/src/servo_calcs.cpp 65.97% <0.00%> (-1.45%) ⬇️
...dl_kinematics_plugin/src/kdl_kinematics_plugin.cpp 78.79% <0.00%> (-1.13%) ⬇️
moveit_ros/moveit_servo/src/pose_tracking.cpp 77.11% <0.00%> (-0.46%) ⬇️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@mechwiz
mechwiz force-pushed the add_scaling_to_custom_limits branch from 54eba67 to b073888 Compare January 4, 2023 02:29

@sjahr sjahr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for these changes! I think this looks good in general. Just out of curiosity, is your work with the Hybrid Planner and dynamic joint limits open source?

Comment thread moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp Outdated
Comment thread moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp Outdated
Comment thread moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp Outdated
@sjahr
sjahr requested review from AndyZe and henningkayser January 4, 2023 09:07
@mechwiz

mechwiz commented Jan 4, 2023

Copy link
Copy Markdown
Contributor Author

Thanks for these changes! I think this looks good in general. Just out of curiosity, is your work with the Hybrid Planner and dynamic joint limits open source?

Yep! I have it all available on my forks. I have implemented the changes across MoveIt, MTC, and moveit_msgs with some help from @AndyZe. It's just a matter of creating modular PRs to the relevant repos to get it all integrated.

Comment thread moveit_core/trajectory_processing/src/ruckig_traj_smoothing.cpp
Comment thread moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp Outdated
Comment thread moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp Outdated
Comment thread moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp Outdated
Comment thread moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp Outdated
Comment thread moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp Outdated
Comment thread moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp Outdated
@AndyZe

AndyZe commented Jan 17, 2023

Copy link
Copy Markdown
Member

Thanks for the PR @mechwiz !

@mechwiz
mechwiz force-pushed the add_scaling_to_custom_limits branch from 7baf50d to b5d774e Compare January 17, 2023 18:30
@sjahr
sjahr merged commit d1aab8c into moveit:main Jan 18, 2023
@AndyZe
AndyZe deleted the add_scaling_to_custom_limits branch April 20, 2023 17:25
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