-
Notifications
You must be signed in to change notification settings - Fork 24
Closed
Labels
Description
Description of task
Continue to explore and learn how the YASMIN library works. Do so by developing a demo for the docking task at TACC. The demo should be similar to how we (auto) will handle the task in a real run, but since we cant yet rely on data from Perception you can use timers in the demo. The flow of the demo can be as follows:
- Start by looking for the dock. This can be done by performing a search maneuver like the rectangular search for a set amount of seconds (for example 15).
- When the dock is found go into a converging state where the drone will get to a certain distance to the dock. Starting off this can also be done with timer, but in the actual demo you will use the Velocity Controller for this state.
- When close enough to the dock go into a setup state which will align the drone over the dock, such that it is ready to dock. This maneuver will be done by the DP Controller.
- When the setup is right, go into docking state where the drone will perform the docking maneuver.
- When the drone has landed on the dock go into the docked state.
- (Bonus) Add a returning home state which will take the drone back to the starting point.
The demo will be tested in the simulator at the office.
Suggested Workflow
- Outline the whole process with all necessary states with a drawing/figure. Figure out what actions to be done in each state and requirement for transition.
- Discuss with the team on how to communicate states and transitions for the demo.
- Implement and test that the state transitions work as intended.
Specifications
Specification for the demo
- The starting position for the drone is (x ,y, z) = (29, 6, 0)
- The dock is located at (x, y, z) = (5, 5, 10)
- The distance to the dock to trigger transition from converging to setup can be set to 3 meters.
- The dimensions for the pool in the simulator is 30x12x10 (L x W x H)
Contacts
Code Quality
- Every function in header files are documented (inputs/returns/exceptions)
- The project has automated tests that cover MOST of the functions and branches in functions (pytest/gtest)
- The code is documented on the wiki (provide link)