-
Notifications
You must be signed in to change notification settings - Fork 3
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
Integrate real-time safety verification #95
Merged
Merged
Conversation
This file contains 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
…ementing test cases
…ty checker class to static class
8 tasks
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.
Checklist
Changes Made
This PR implements real-time safety verification (collision prevention) using reachability analysis. The result of this is that users can execute multi-agent missions with safety verification enabled.
Associated Issues
Files Changes
pymavswarm/mavswarm.py
: Implemented user-facing methods that can be used to enable/disable collision avoidance. Additionally, added support for collision responses.pymavswarm/safety/interval.py
: Implemented a hyperrectangle interval for safety usagepymavswarm/safety/hyperrectangle.py
: Implemented a reachable state polytope and helper methods to enable reachable state computationpymavswarm/safety/safety_checker.py
: Implemented an interface for computing the reachable state of agentsexamples/collision_prevention_no_flight.py
: Implemented an example that demonstrates multi-agent collision avoidance without flying agents into each otherexamples/collision_prevention.py
: Implemented an example that demonstrates multi-agent collision avoidance during flightpymavswarm/state/*
: Removed default values for constructorspymavswarm/agent.py
: Updated agent to provide default values to stateTesting
Two testing approaches have been integrated to verify the correctness of the collision avoidance system:
Issues Introduced
N/A