Object Avoidance Milestones:
Bootcamp and onboarding
LIDAR working - able to read outputs
Get drone to stop on autonomous mission if obstacle is detected and return if obstacle is no longer detected
Find path deflection algorithm in auto mode
Implement path deflection algorithm in auto mode
Get drone to stop on manual mode if obstacle is detected and return
Path deflection in manual mode (not just stop, but stop the drone from crashing as pilot moves around the obstacle)
Weekly Milestones
May 6, Week 1 Milestone 1: Bootcamp
May 13, Week 2 Milestone 2: Test LIDAR and start obstacle avoidance repo by reading up on multiprocessing
Similar architecture to airside
Modules will be continuously integrated into main as they are created instead
Planning on having the co-op be the only person working on this repo, shouldn’t block other people
May 20, Week 3 (note, comp week): Flight interface class + workerGood starter task, architecture will be very similar to airside’s flight interface worker
Gets telemetry data and constantly updates the current state of the drone
May 27, Week 4: Detection class + worker, Decision class + worker
Detection (doesn’t have to have a class, depending on how the lidar works)
Worker constantly scan with the lidar and creates data struct
Passes data struct into output queue
Decision
Takes LIDAR data and decides whether or not the drone should stop
If it should, passes command to output queue
If stopped, decide if it should go back to the mission
Jun 3, Week 5 Milestone 3: Flight Interface input queue and testing
Add input queue to handle Detection Worker output
Reads from queue and calls upload command to stop the drone, or return the drone to the mission
Jun 10, Week 6: Research obstacle deflection algorithms, potential ideas include:
Bendy Ruler
Vector Field Histogram
Artificial Potential Fields
Jun 17, Week 7: Research continued?
Jun 24 Week 8 Milestone 4 (note, midterm evaluation): Decide on algorithm and start to implement it
Depending on the algorithm the architecture will be pretty different
At this point, halfway through the term, the co-op has done several tasks and should have an idea of how we do system design
I want them to start designing the architecture themself and the milestones become less structured
Jul 1 Week 9: Continue working on implementing path deflection in auto mode + flight testing?
Jul 8 Week 10 Milestone 5: Successfully tested path deflection in auto mode
Jul 15 Week 11: Go back to simple stopping, but in manual mode
Go into loiter mode if we’re going to crash
Based on velocity, direction, and detected objects
Jul 22 Week 12 Milestone 6: Successfully test stopping in manual mode
Jul 29 Week 13 (note, exams start: Research assistive obstacle avoidance methods, e.g.:
Proportional
Pure pursuit
Reactive
Aug 5 Week 14: Implement algorithm
Aug 12 Week 15: Implementation continued, Flight tests
Aug 19 Week 16 Milestone 7: Flight tests, offboarding