-
Notifications
You must be signed in to change notification settings - Fork 19
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
Switched to L2 DOF resolution in VectorField and GreedyIk #332
Conversation
vdc = VanDerCorputSampleGenerator | ||
checks = GetLinearCollisionCheckPts(robot, path, | ||
norm_order=2, | ||
sampling_func=vdc) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you modify FollowVectorField
to accept a sampling_func
? The default can still be VanDerCorputSampleGenerator
. This is the convention we've followed in other planners to allow the user to configure this option.
# TODO: This will recheck the entire trajectory | ||
# Ideally should just check the new portion of the trajectory | ||
checks = GetLinearCollisionCheckPts(robot, path, | ||
norm_order=norm_order, sampling_func=sampling_func) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately, this isn't enough. GetLinearCollisionCheckPts
retimes the trajectory internally and returns timestamps on the retimed trajectory. This means that the value of t_check
below does not correspond to the original trajectory.
This change causes VectorFieldPlanner
to fail a unit test about constraint deviation because the trajectory is being sampled at arbitrary (incorrect) times.
…ollisionCheckPts to return timings from original trajectory instead of timings from internally timed trajectory
Conflicts: src/prpy/planning/workspace.py
This PR updates Vectorfield and GreedyIK to use L2 norm for determining collision checking resolution.