Fix MoveIt planning by defining joint acceleration limits#89
Open
leochien1110 wants to merge 1 commit into
Open
Fix MoveIt planning by defining joint acceleration limits#89leochien1110 wants to merge 1 commit into
leochien1110 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR fixes a MoveIt planning failure by defining nonzero acceleration limits in
openarm_bimanual_moveit_config/config/joint_limits.yaml.What I observed
Using the MoveIt demo launch with fake hardware:
RViz and the Motion Planning panel start correctly, and the robot model is visible, but pressing Plan or Plan & Execute fails.
I reproduced this in:
I also verified the same behavior against both upstream
mainandjazzy.Important scope note
I have not tested this on real hardware.
So this PR is based on the fake/demo workflow (
use_fake_hardware:=true). It is possible that real hardware workflows were not affected in the same way, but the MoveIt config currently lacks usable acceleration limits for trajectory time parameterization, which appears to be a configuration issue regardless.Root cause
The MoveIt config defines velocity limits, but acceleration limits are disabled in:
openarm_bimanual_moveit_config/config/joint_limits.yamlFor example, the joints were configured like this:
However, the configured planning response adapter:
default_planning_response_adapters/AddTimeOptimalParameterizationrequires acceleration limits in order to generate a time-parameterized trajectory.
Without them, planning fails.
Fix in this PR
This PR enables acceleration limits and assigns conservative nonzero acceleration values so MoveIt can complete time parameterization and produce a valid trajectory.
Why these values
The
max_acceleration: 5.0values used here are intended as conservative placeholder values to restore planning behavior.I am not claiming these are the authoritative hardware acceleration limits. If there is a better source for canonical acceleration limits (URDF, hardware specs, internal tuning, etc.), maintainers may want to replace these values accordingly.
Validation performed
Tested with:
colcon build --symlink-install --packages-up-to openarm_bringup openarm_description openarm_bimanual_moveit_config source install/setup.zsh ros2 launch openarm_bimanual_moveit_config demo.launch.py use_fake_hardware:=trueBefore this change:
After this change:
Error details
Terminal error output before this fix
Notes