Source-linked AI summary
Trajectory Generation and Control for Quadrotors
Sandesh Thapa
TL;DR
Quadrotors need trajectories that support safe passage through constrained environments. This project implements differential-flatness-based minimum-snap trajectory generation and PD tracking, and its simulations show smooth trajectories compared with a shortest-distance trajectory that has discontinuities.
Problem
Quadrotor maneuvering in tightly constrained environments motivates optimal trajectories for safe passage through corridors and constraints.
Source: §I · p. 1Method
The project implements differential-flatness-based minimum-snap trajectory generation from waypoints and uses a PD controller to track trajectories.
Source: §II · p. 1, §III · p. 1, §VII · p. 6Results
The minimum-snap trajectories are smooth, whereas the shortest-distance trajectories pass through waypoints but show discontinuities and sudden jumps in position and velocity.
Source: §VIII · p. 8Takeaways & Limitations
The project aims to apply its understanding of quadrotor trajectory generation and control to future multi-agent path planning and control.
Source: §II · p. 1
Abstract
from arXiv · showhide
In this project, I explored controller design and trajectory generation for a quadrotor. Differential flatness was used for trajectory generation based on one of the references. A minimum snap trajectory is generated from the given algorithm based on waypoint navigation, and a simple proportional plus derivative (PD) controller is used to track the trajectories. Simulation results are presented which generate smooth trajectories for position and velocity of the quadrotor.
I. INTRODUCTION
The project addresses trajectory planning for quadrotors, with attention to safe passage through constrained environments. It implements differential-flatness-based trajectory generation and PD tracking, using a model described in inertial and body-fixed frames.
I. INTRODUCTION
- Safe passage through corridors and constraints motivates developing optimal quadrotor trajectories that leverage system dynamics.Source: §I · p. 1
II. PROJECT OBJECTIVE
- The project reviews differential flatness and implements Mellinger’s minimum-snap trajectory and control algorithm, with future application to multi-agent path planning and control,.Source: §II · p. 1
III. METHODOLOGY
- The MATLAB implementation uses the dynamic model and control from, differential-flatness-based trajectory generation, and a PD controller to track trajectories.Source: §III · p. 1
A. Coordinate Systems
- The model defines an inertial frame and a body frame attached to the quadrotor’s center of mass, and identifies the rotor center and arm length relative to that frame.Source: A. Coordinate Systems · p. 1
C. Rigid Body Dynamics
- Quadrotor orientation is represented by yaw-pitch-roll Euler angles, and the state and rotation matrix from body frame B to inertial frame A are specified.Source: C. Rigid Body Dynamics · p. 2
1) Newton’s Equations of Motion:
The Newton-equation model relates gravity and rotor forces to the quadrotor’s center-of-mass acceleration and defines the first system input from rotor forces.
1) Newton’s Equations of Motion:
- Gravity and the forces from the four rotors govern the acceleration of the quadrotor’s center of mass.Source: 1) Newton’s Equations of Motion · p. 2
- The first input, u1, is defined from the rotor forces.Source: 1) Newton’s Equations of Motion · p. 2
- The displayed expression for u1 is the sum F1 + F2 + F3 + F4.Source: 1) Newton’s Equations of Motion · p. 2
2) Euler’s Equations of Motion:
The Euler-equation section describes rotor-generated moments and the resulting angular acceleration. The control section linearizes the dynamics around a hover operating point under a symmetric-rotor assumption.
2) Euler’s Equations of Motion:
- Each rotor produces a moment perpendicular to its blade’s rotation plane; rotors 1 and 3 contribute in the b3 direction, while rotors 2 and 4 contribute in the −b3 direction.Source: 2) Euler’s Equations of Motion · p. 2
V. CONTROL
- The controller linearizes the equations about a hover operating point with zero roll, pitch, angular rates, and translational velocity, using small-angle approximations for roll and pitch.At the nominal state, the hover inputs are u1,0 = mg and u2,0 = 0.Source: §V · p. 3
- The rotor craft is assumed symmetric, with Ixx = Iyy.Source: §V · p. 3
A. Position and Attitude Controller
The controller uses position error to derive control inputs and a desired orientation, then uses an attitude controller to track that orientation. The attitude controller is a PD controller with gains that require tuning.
A. Position and Attitude Controller
- Position error is used to derive the controller, while the equations also provide a desired orientation for the attitude controller.Source: A. Position and Attitude Controller · p. 3
- The attitude control loop is required to run faster than the position control loop.Source: A. Position and Attitude Controller · p. 3
1) Attitude Control:
- Mellinger’s attitude controller is a PD controller with gains kp,i and kd,i that need tuning.Source: 1) Attitude Control · p. 3
2) Position Control:
A PD controller tracks yaw and the three position coordinates using a desired trajectory. Differential flatness describes systems whose states and inputs can be expressed through selected outputs and their derivatives.
2) Position Control:
- The PD controller tracks yaw and the three position coordinates of the rotor.The desired-acceleration command combines desired acceleration with proportional position-error and derivative velocity-error terms.Source: 2) Position Control · p. 3
- Desired roll and pitch velocities are taken to be zero.Source: 2) Position Control · p. 4
VI. DIFFERENTIAL FLATNESS
- Differential flatness means states and inputs can be expressed using selected outputs and their derivatives.Source: §VI · p. 4
A. Example
The kinematic-car example identifies the car as differentially flat and chooses (x, y) as outputs. For the quadrotor, the derivation relates position derivatives to inputs and uses that relation to establish differential flatness.
A. Example
- The text identifies the kinematic car as a differentially flat system.Source: A. Example · p. 4
- For the kinematic car, choosing (x, y) as outputs allows ϕ to be expressed in terms of the flat outputs.Source: A. Example · p. 4
B. Quadrotor as a Differentially Flat System
- The quadrotor’s second position derivative is proportional to input u1.Source: B. Quadrotor as a Differentially Flat… · p. 5
- The quadrotor’s fourth position derivative is proportional to u2, which the text uses to establish differential flatness.The derivation uses linearized equations near hover and approximations that neglect products of angular rates.Source: B. Quadrotor as a Differentially Flat… · pp. 5–6
VII. 3D TRAJECTORY GENERATION
The trajectory-generation approach uses an optimal trajectory formulation based on calculus of variations. It selects minimum snap for simulation, with the trajectory order determining the quantity minimized.
VII. 3D TRAJECTORY GENERATION
- For simulation, the project uses an optimal trajectory formulation based on calculus of variations.The functional is solved using the Euler–Lagrange equation to obtain the optimal function.Source: §VII · p. 6
- With n = 4, the trajectory minimizes snap, and this minimum-snap trajectory is used for simulation.Source: §VII · p. 6
- The text assigns shortest distance with minimum velocity to n = 1 and minimum acceleration to both n = 2 and n = 3.Source: §VII · p. 6
A. Minimum Snap Trajectory
Minimum-snap trajectories are assembled from seventh-order polynomial segments, each connecting consecutive waypoints over a specified duration. Their coefficients are determined by constraints on waypoint passage, endpoint derivatives, and continuity between segments.
A. Minimum Snap Trajectory
- A minimum-snap trajectory uses one seventh-order polynomial for each consecutive waypoint pair, with a specified duration for each segment.Source: A. Minimum Snap Trajectory · p. 6
- The segment coefficients must satisfy waypoint passage constraints, with each polynomial reaching both endpoints of its waypoint pair.Source: A. Minimum Snap Trajectory · p. 6
- Velocity, acceleration, and jerk are zero at the endpoints, while velocity through the sixth derivative is continuous across segments.Source: A. Minimum Snap Trajectory · p. 6
- The coefficients are obtained by solving the resulting equations in matrix form.Source: A. Minimum Snap Trajectory · p. 6
VIII. SIMULATION RESULTS
The simulation compares minimum-snap trajectories with a shortest-distance path, showing smoother position and velocity trajectories for minimum snap. It implements the algorithm and control for an AscTec Hummingbird model.
VIII. SIMULATION RESULTS
- The implementation uses minimum-snap trajectory generation and control with an AscTec Hummingbird quadrotor model; the rotor mass is 0.18 kg, and rotor length from center of mass to motors is 0.086 m.The principal moments of inertia are Ixx = 0.00025kgm2, Iyy = 0.000232kgm2, and Izz = 0.0003738kgm2.Source: §VIII · p. 6
- Minimum-snap trajectories are smooth and continuous, unlike the shortest-distance path’s position and velocity jumps, whose sharp turns may be infeasible under inertia.The shortest-distance path connects waypoints linearly.Source: Figure 5 · p. 7, Figure 6 · p. 7, §VIII · p. 8
IX. CONCLUSION
The conclusion presents minimum-snap trajectories as useful for dynamic quadrotor motion and identifies experimental testing and multi-agent motion planning as future work.
IX. CONCLUSION
- Minimum-snap trajectories are presented as usable for aggressive maneuvers and perching without perturbations.Source: §IX · p. 8
- Selecting waypoints can introduce more dynamic behavior while the trajectories remain smooth and optimal.Source: §IX · p. 8
- Future work will test differential-flatness-based trajectory generation experimentally and extend it to multi-agent motion planning and control.Source: §IX · p. 8