Aggressive trajectories involve agile flight at high speeds. Accurately tracking such trajectories is an important robotics and control systems challenge that is relevant to many applications, such as collision avoidance systems, and autonomous search and rescue drones.
Control design for high-speed quadcopter maneuvers is challenging for several reasons. When flying at high speeds, the vehicle incurs significant (unsteady) aerodynamic forces. These forces are hard to predict and differ between vehicles, but must be accounted for to achieve accurate flight control. Additionally, tracking a fast trajectory requires the controller to anticipate future movements by considering higher-order derivatives of the trajectory, i.e. jerk and snap (the first and second temporal derivatives of acceleration).
Our control design is based on incremental nonlinear dynamic inversion (INDI), which directly incorporates measurements from the inertial measurement unit (IMU) to compute control increments. By incrementally updating the control inputs (instead of directly computing their complete value), the controller only relies on a simple control effectiveness model and does not require any aerodynamics model. The unmodeled aerodynamics contributions are implicitly estimated and accounted for by comparing measured linear and angular accelerations with expected values based on motor speed measurements. Using this sensor-based approach, the controller achieves accurate tracking of aggressive trajectories without relying on an aerodynamics model.
The flight control algorithm does not just track position and yaw references, but simultaneously track velocity, acceleration, jerk, snap, yaw rate, and yaw acceleration. It uses differential flatness of the quadcopter dynamics to calculate feedforward control inputs for the angular velocity (based on jerk and yaw rate), and for the angular acceleration (based on snap and yaw acceleration). We directly control angular acceleration (and thus snap and yaw acceleration) by precise torque application using closed-loop control of the motor speeds with measurements from the optical encoders. We attached optical encoders to the motors to obtain very precise high-rate motor speed measurements that are also used by the INDI controller.
Complex 3D trajectory: We evaluated the performance of the trajectory-tracking controller on a 3D trajectory that includes a high-speed straight and fast turns. The trajectory is flown with two yaw references: forward yaw in the velocity direction, and constant yaw. Over the forward yaw trajectory a maximum speed of 12.9 m/s is achieved, while the RMS tracking error is limited to 6.6 cm. The vehicle attains a maximum proper acceleration of 20.8 m/s 2 (2.12g).
Substantial change in aerodynamic drag: We attached a 16 cm × 32 cm cardboard plate to the bottom on the drone. This more than triples the vehicle’s frontal surface and thus completely changes its aerodynamic properties. The flight controller is not adapted in any way to account for these aerodynamic changes, or the changes in mass and moment of inertia. Our experiments show that the drag plate does not significantly affect position tracking performance. This demonstrates that INDI control is able to counteract the disturbance forces and moments by sensor-based incremental control. In contrast, controllers that are based on an aerodynamics model (e.g., obtained from flight data or computational modeling) may incur large errors when the vehicle aerodynamics are changed.
Hover under significant external disturbance: In order to further demonstrate the disturbance rejection property of the controller, we attach a wire to the quadcopter. We pull on the other end of the wire to drag the vehicle away from its hover position. While the vehicle hovers, the incremental controller estimates the force in the tensioned wire and corrects for it. When pulling hard, this requires large attitude changes, but the controller manages to keep the vehicle within several centimeters of the reference position.