Introduction
Technical details of the search part of the autonomous flight mode, on the CV airside system.
Terms and definitions
Spiral height: Height the drone flies at in spiral search. R D TODO
Hover height: Height the drone flies at in investigate. R D TODO
Relevant documentation
Communication & Message Formats
Search start
The drone is not moving.
Navigation control is given to Jetson from ZP.
Travel vertically to the spiral height using RelativeMovementCommand (type 2).
Set current xy-location as origin.
Spiral search
There are no valid landing pads, so the drone will search for a landing pad using a spiral search pattern.
The pattern starts at the origin.
Each point on the spiral is travelled to horizontally using RelativeMovementCommand (type 2).
The area seen by the camera at a point has 50% overlap with the area seen of the previous point, along 1 of the xy-axes.
Take images over several seconds at each point.
If a landing pad is recognized, proceed to investigate.
Note: This pattern assumes the camera angle is constant. As this is not guaranteed, overlapping areas is a mitigation.
Investigate
There is a landing pad that the drone is investigating.
Travel horizontally to the landing pad’s xy coordinates at spiral height.
Check landing pad existence.
Travel horizontally to correct for angle so that the landing pad should be able to be seen.
Travel towards landing pad until hover height using a single RelativeMovementCommand (type 2).
Make sure landing pad continues to exist, but do not store location.
Check landing pad existence.
If landing pad is still recognized, proceed to landing.
Landing pad false positive: Go to next landing pad to investigate. If there are no remaining landing pads, return to last spiral search point and continue.
Landing
The landing pad is confirmed.
Travel horizontally to xy coordinates of landing pad.
R D TODO We could check one last time but what if drone is tilt?
Record GPS location of Waypoint and landing pad. R D TODO RFC!!!!!!
Transfer navigation control from Jetson to ZP for landing using Landing initiation Command (type 3).
Autonomous flight mode: Landing