Closed sniyaz closed 3 years ago
@brianhou I tried to handle https://github.com/personalrobotics/aikido/issues/447 by enforcing that any DART planner (and only a DART planner) has to satisfy these two invariants when plan()
is called:
The only DART planner class that didn't need to be updated was the VFP offset planner (since the core VFP code does both of these anyway). LMK what you think of this solution: if we're happy with it, I can document this new invariant for DART planners somewhere.
This also means we don't have to worry about locking or saving state anywhere in ConcreteRobot
or ConcreteManipulator
, which is nice. I've taken that out.
Also, for what it's worth I tested simple_trajectories
with all of these changes and things seem to work fine (so at least planToConfiguration
isn't broken).
Looks good to me. Has it been tested through libherb
and herb3_demos
to ensure everything works fine?
@aditya-vk Yup! The only other thing we're waiting on are the corresponding ADA changes. I'll chat with @egordon about those.
This PR cleans up
robot/util
by deleting all of theplanTo*
methods. This requires us to rewrite the corresponding methods inConcreteRobot
andConcreteManipulator
to reroute through the new Planner API.This PR also removes all CRRT functionality in both
ConcreteRobot
andConcreteManipulator
. This will be added back later once we actually decide how to integrate CRRT and AIKIDO. None of our demo code should rely on CRRT, so this is fine.NOTE: This PR depends on https://github.com/personalrobotics/aikido/pull/587 by @brianhou, due to the new planner adapter.
Before creating a pull request
make format
Before merging a pull request
CHANGELOG.md