Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update acceleration limits for robot configs #194

Open
pac48 opened this issue Dec 27, 2023 · 1 comment
Open

Update acceleration limits for robot configs #194

pac48 opened this issue Dec 27, 2023 · 1 comment

Comments

@pac48
Copy link
Contributor

pac48 commented Dec 27, 2023

It looks like the acceleration limits for the robots in this repository do not match the values from here. I'm not positive these are the correct limits to use, but the values in this repository come from this commit. The justification of the values was

As MoveIt! does not support jerk limits, the acceleration limits provided here are the highest values that guarantee
that no jerk limits will be violated. More precisely, applying Euler differentiation in the worst case (from min accel
to max accel in 1 ms) the acceleration limits are the ones that satisfy
max_jerk = (max_acceleration - min_acceleration) / 0.001

I am also not positive that switching between the minimum and maximum accelerations in 1 ms is the best estimate of jerk. There is a parameter called resample_dt in TOTG that creates waypoints every 100 ms by default. It seems that the jerk estimate would be (max_acceleration - min_acceleration) / 0.1 in the worst case. Of course, JTC interpolation also has the potential to significantly impact this. Regardless, since this commit added a parameter to enable/disable jerk limits, I believe the max_acceleration values can be updated. There are at least two options that are worth considering: 1) update the acceleration values joint_limits.yaml or 2) add another configuration joint_limits_jerk.yaml or something like that with new values. Option 1) is concerning because it's not opt-in.

I think this is something worth discussing. I'll create a PR with this issue.

@sea-bass
Copy link
Contributor

To me, keeping separate configurations is an okay fix, though no suffix vs. _jerk suffix doesn't seem like the clearest option we can provide.

Some options would be:

  • joint_limits.yaml - original file / joint_limits_servo.yaml - new file
  • joint_limits_jerk_limited.yaml - original file / joint_limits.yaml - new file

or something like that.

Also while I think the jerk limits parsing was added for Ruckig, I suspect that TOTG doesn't use them at all so this proxy first-order Euler jerk limit is what would be needed there. Although I guess the right answer would be, if you want jerk limits, use a trajectory timing scheme that supports them?

@pac48 pac48 changed the title Update acceleration limits in for robot configs Update acceleration limits for robot configs Dec 28, 2023
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

No branches or pull requests

2 participants