A method for executing a docking evolution at a docking station by an aerial vehicle,
- wherein the aerial vehicle comprises:
- a plurality of propulsion motors, wherein each of the plurality of propulsion motors is coupled to a propeller and configured to rotate the propeller at one or more selected speeds;
- a camera, wherein the camera has a field of view extending normal to a surface on an underside of the aerial vehicle;
- a navigation sensor;
- an inertial measurement unit comprising at least one gyroscope, at least one accelerometer and at least one magnetometer;
- a range sensor, wherein the range sensor is configured to emit light below the aerial vehicle and capture reflections of the emitted light;
- and
- one or more computer processors,
- wherein the docking station comprises a frame having a plurality of visual markings arranged in an asymmetric pattern on an upper surface of the frame, and
- wherein the method comprises:
- operating, by the aerial vehicle, one or more of the propulsion motors to cause the aerial vehicle to travel to a first position associated with the docking evolution;
- initiating, by the aerial vehicle, a first phase of the docking evolution with the aerial vehicle within a vicinity of the first position, wherein initiating the first phase of the docking evolution comprises causing the aerial vehicle to descend in altitude;
- during the first phase,
- capturing, by the camera, a first plurality of images;
- detecting, by the aerial vehicle, the plurality of visual markings depicted within at least one of the first plurality of images;
- calculating, by the aerial vehicle, at least a first pose of the aerial vehicle based at least in part on the plurality of visual markings depicted within the at least one of the first plurality of images;
- capturing data by the navigation sensor;
- calculating, by the aerial vehicle, at least a second pose of the aerial vehicle based at least in part on the data captured by the navigation sensor;
- and
- prior to arriving at a second position,
- determining that the first pose is consistent with the second pose;
- and
- initiating, by the aerial vehicle, a second phase of the docking evolution with the aerial vehicle within a vicinity of the second position, wherein initiating the second phase of the docking evolution comprises causing the aerial vehicle to descend in altitude;
- during the second phase,
- capturing, by the camera, a second plurality of images;
- detecting, by the aerial vehicle, the plurality of visual markings depicted within at least one of the second plurality of images;
- capturing first data by the inertial measurement unit;
- calculating, by the aerial vehicle, at least a third pose of the aerial vehicle based at least in part on the plurality of visual markings depicted within the at least one of the second plurality of images and the first data;
- and
- prior to arriving at a third position,
- determining that the third pose is consistent with the second pose;
- and
- initiating, by the aerial vehicle, a third phase of the docking evolution with the aerial vehicle within a vicinity of the third position, wherein initiating the third phase of the docking evolution comprises causing the aerial vehicle to descend in altitude;
- and
- during the third phase,
- capturing, by the camera, a third plurality of images;
- detecting, by the aerial vehicle, at least one of the plurality of visual markings depicted within at least one of the third plurality of images;
- capturing second data by the inertial measurement unit;
- determining, by the range sensor, ranges to at least a portion of the docking station below the aerial vehicle;
- calculating, by the aerial vehicle, at least a fourth pose of the aerial vehicle based at least in part on the plurality of visual markings depicted within the at least one of the third plurality of images and the second data.