Computing minimum-time trajectories for quadrotors via transverse coordinates
Sara Spedicato, Giuseppe Notarstefano

TL;DR
This paper introduces a new method using transverse coordinates to efficiently compute minimum-time trajectories for quadrotors in constrained environments, accounting for physical limitations.
Contribution
It presents a novel re-formulation of the trajectory optimization problem using transverse coordinates, enabling fixed horizon planning and easier constraint handling.
Findings
Successful numerical simulations in complex scenarios
Efficient handling of position constraints
Fixed horizon problem formulation
Abstract
In this paper we present a novel strategy to compute minimum-time trajectories for quadrotors. In particular, we consider the motion in constrained environments, taking into account the physical limitations of the vehicle. Instead of approaching the optimization problem in its standard time-parameterized formulation, the proposed strategy is based on an appealing re-formulation. Transverse coordinates, expressing the distance from a "reference" path, are used to parameterize the vehicle position and a spatial parameter is used as independent variable. This re-formulation allows us to (i) obtain a fixed horizon problem and (ii) easily formulate (even complex) position constraints. The effectiveness of the proposed strategy is proven by numerical computations on two different illustrative scenarios.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Computing minimum-time trajectories for quadrotors
via transverse coordinates
Sara Spedicato and Giuseppe Notarstefano*∗* ∗ S. Spedicato and G. Notarstefano are with the Department of Engineering, Università del Salento, Via per Monteroni, 73100 Lecce, Italy, e-mail: [email protected] result is part of a project that has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 638992 - OPT4SMART).
Abstract
In this paper we present a novel strategy to compute minimum-time trajectories for quadrotors. In particular, we consider the motion in constrained environments, taking into account the physical limitations of the vehicle. Instead of approaching the optimization problem in its standard time-parameterized formulation, the proposed strategy is based on an appealing re-formulation. Transverse coordinates, expressing the distance from a “reference” path, are used to parameterize the vehicle position and a spatial parameter is used as independent variable. This re-formulation allows us to (i) obtain a fixed horizon problem and (ii) easily formulate (even complex) position constraints. The effectiveness of the proposed strategy is proven by numerical computations on two different illustrative scenarios.
I INTRODUCTION
Numerous applications involving quadrotors require them to move inside areas characterized by physical boundaries, obstacles and even tight space constraints (as e.g., urban environments) in order to accomplish their robotics tasks. Trajectory generation, a core step for physical task realization [1], becomes extremely challenging in this scenario. A physically realizable trajectory must satisfy (i) the (nonlinear) system dynamics, (ii) the physical limits of the vehicle, and (iii) the position constraints. Moreover, the computation of optimal (rather than just feasible) trajectories is more and more becoming a necessity to ensure an efficient accomplishment of the tasks, posing an additional challenge in the trajectory generation problem.
Quadrotor trajectory planning in constrained environments can be addressed using a reacting (e.g., [2, 3]) or a planning approach. The majority of the planning algorithms, such as [4], [5], [6], take advantage of the differential flatness property to avoid the integration of nonlinear differential equations, reduce the order of the problem and simplify the definition of position constraints. The problem is posed in the flat output space, where outputs are approximated as a combination of primitives, such as polynomial functions [4], B-splines [5], or convex functions [6]. The parameters of the primitives are the optimization variables. When dealing with obstacle dense environments, trajectory generation is often performed using a decoupled approach ([7], [8], [9]) aiming to avoid the difficult definition of spatial constraints and the high computational cost. In a first stage, a collision-free path is generated by sampling-based path planning algorithms, such as the Rapidly-exploring Random Tree (RRT) in [7, 8] or the Probabilistic Roadmap (PRM) in [9], and without the dynamics constraint. In a second stage, an optimal trajectory (satisfying the system dynamics) is generated from the collision free path. Optimization techniques such as [10], [4], [5] can be used at this stage. Differently from these works, the one in [6] considers a space-parameterized problem re-formulation, suitable for modeling complex flight scenarios, and thus avoids the decoupled approach. Finally, only few works do not consider the differential flatness hypothesis, such as [11]. Nevertheless, in [11] a discretized simple point-mass dynamics and approximated convex constraints are considered.
Our main contribution is the design of an optimization framework to generate feasible minimum-time quadrotor trajectories in geometrically constrained environments. In our problem setup (i) the vehicle nonlinear dynamics is directly included into the optimization problem (the differential flatness assumption is not required) and (ii) the vehicle position, which is an optimization variable, is not approximated via primitives. Similarly to [6], the minimum-time problem is formulated by using the path parameter as independent variable: a fixed horizon problem is obtained and even complex position constraints can be easily formulated. The optimization problem is solved combining the Projection Operator Newton method for Trajectory Optimization (PRONTO) [12] with a barrier function approach [13]. Similar problem setups and optimization methods are presented in [14] for two-wheeled mobile robots and in [15] for UAVs. In [14] a minimum-energy problem in a bi-dimensional space with obstacles is addressed by considering a standard formulation (i.e., with variables parameterized by the time). In [15] a virtual target approach (without position constraints) is presented using an arc-length parameterized transverse dynamics model. Differently from these works, we solve the optimization problem in the three-dimensional space and we define obstacle constraints by an arc-length parameterization. As an additional contribution, we present numerical computations on two challenging scenarios with respectively, a circular tube of variable section and a narrow corridor with an obstacle, as constrained spaces.
The paper is organized as follows. In Section II we present the standard formulation of the optimization problem we aim to solve. In Section III our trajectory generation strategy, based on an appealing reformulation of the problem, is described. Finally, in Section IV, we provide numerical computations discussing the minimum-time vehicle behavior.
II The quadrotor minimum-time problem
We first briefly introduce the quadrotor model used in the paper and then recall the standard problem formulation.
The quadrotor dynamics can be described by the so called vectored-thrust dynamical model, [16],
[TABLE]
where is the vehicle position expressed in the inertial frame , is the linear velocity expressed in , is the angular rate expressed in the body frame ( is such that, for ), and is the Jacobian matrix. The rotation matrix , mapping vectors in into vectors in , is parameterized using roll-pitch-yaw angles, denoted by . Furthermore, and are respectively the mass and the inertia matrix, is the gravity constant, and . The vehicle is controlled by the thrust and the torques .
For the vehicle maneuvering, we use a cascade control scheme with an off-board position/attitude control loop and an on-board angular rate controller. Assuming that the virtual control input is tracked by the on-board angular rate controller, we restrict our trajectory generation problem on the position/attitude subsystem (1-3), which can be written in state-space form as
[TABLE]
with state and input .
We deal with the following optimal control problem:
[TABLE]
where are the bounds on the angular rate, and are lower an upper bounds on thrust, and are the bounds on the roll and pitch angles respectivelly, and represents position constraints taking into account physical boundaries and obstacles. The position constraints may also represent GPS denied areas or spaces with limited communication. Angular rates have bounds, due to, for example, a limited range of the gyroscopes or to controller limitations. The vehicle thrust is also limited: quadrotor vehicles can only generate positive thrust and the maximum rotor speed is limited. Furthermore, constraints on angles are imposed into the optimization problem in order to avoid acrobatic vehicle configurations.
III Minimum-Time Trajectory Generation Strategy
In order to solve the minimum-time problem, we consider an equivalent formulation of (6) where a spatial parameter (instead of time) is the independent variable. The derivation of the equivalent problem formulation is based on three steps: (i) generation of a “reference” path, (ii) definition of the transverse dynamics, in which the vehicle position is parameterized by transverse coordinates (with respect to that path), and (iii) mapping of time-parameterized cost and constraints into arc-length parameterized ones. The PRONTO method, combined with a barrier function approach, is then used to numerically solve the optimization problem.
III-A Minimum-Time problem: equivalent formulation
The first step to convert the standard problem into the new formulation is the computation of a “reference” path , , where is the arc-length of the path and is its total length. In the following, we denote the arc-length parameterized functions with a bar, and the derivative with respect to the arc-length with a prime, i.e., . The “reference” path is computed as a geometric curve, e.g., using arctangent functions, as in our numerical computations. Note that is not required to satisfy the position constraints, and it can be suitably chosen.
With in hand, we re-write the system dynamics (5) as follows.
First, we design a change of coordinates from the inertial position to the transverse coordinate vector , such that . Let us consider the “reference” path . A Serret-Frenet frame, whose origin has as coordinates, can be defined . In particular, the tangent, normal and bi-normal vectors, respectively , are defined, with components in the inertial frame, as
[TABLE]
where is the curvature of at . Moreover, we define the rotation matrix mapping vectors with components in the Serret-Frenet frame into vectors with components in the inertial frame. According to the Serret-Frenet formulas, the arc-length derivative of the Serret-Frenet rotation matrix is
[TABLE]
where is the torsion of at . Let us now consider the quadrotor center of mass with position . As depicted in Figure 1, its orthogonal projection on the “reference” path identifies a point with position , where the function is defined as
[TABLE]
Note that, the minimizing arc-length is unique provided that is locally a non-intersecting curve with non-vanishing . By mapping into a vector with components in the Serret-Frenet frame attached to , we obtain . Moreover, noticing that the component related to the tangent vector is always zero by construction, we define the transverse coordinates as the second and third components of . Thus . More formally, we define the locally invertible function , such that , with components defined as
[TABLE]
Moreover, we denote by the linear velocity of the quadrotor with components in the Serret-Frenet frame. In particular, .
Second, we note that, considering the position function with the time as independent variable, the function provides a change of variables from the time to the arc-length . In particular, we denote by the function evaluated at the time , and by the time derivative of , evaluated at . A generic arc-length function can thus be expressed as the time function . Note that, the time derivative of is . Using the function , the position of the quadrotor center of mass , at time instant , can be written as
[TABLE]
Differentiating (14) with respect to time, we get
[TABLE]
Multiplying both members of equation (15) by , using (10), the definition of , and , we get
[TABLE]
Furthermore, since we are using transverse coordinates to parameterize the vehicle position, we re-write equation (2) using instead of v. Differentiating both members of with respect to time, and using (2) and (10), we get
[TABLE]
with . The dependence on and is omitted for simplicity. Equations (17), (18), (22) and (3) can be compactly written as
[TABLE]
with state and input .
Third and final, we write the dynamics (23) in terms of the arc-length . By using the chain rule, we have . Moreover, we parameterize the state and the input using , i.e., and . Thus, equations (23) can be written as the transverse dynamics
[TABLE]
with the arc-length as independent variable and where
[TABLE]
Re-writing the time-parameterized cost and constraints of (6) into arc-length parameterized ones, the new formulation of the minimum-time problem, using the new set of coordinates and with as independent variable, is
[TABLE]
The constraints on the roll and pitch angles, the thrust and the angular rates are re-written by means of an -parameterized equivalent form (with smooth functions). The position constraints have specific formulations according to the shape of the collision free region. Considering regions with rectangular or circular transversal sections, we get the following inequalities. For rectangular sections, the position constraints are
[TABLE]
, where the non constant functions and identify the obstacle boundaries. For circular sections, the position constraint is
[TABLE]
where the non constant function identifies the circular boundary of the collision free region.
The new formulation (24) is equivalent to (6) since trajectories solving (24) can be mapped into trajectories solving (6). Using transverse coordinates, the formulation of position constraints is simpler than using the time-parameterized inertial frame position. Since collision free region boundaries , and are arc-length functions, even complex spaces can be modelled.
III-B Numerical solution to the optimization problem
In order to solve problem (24), we use a combination of the PRojection Operator based Newton method for Trajectory Optimization (PRONTO) [12] with a barrier function approach [13]. We relax state-input constraints by adding them in the cost functional, i.e., given the state-input curve , we consider the problem
[TABLE]
where
[TABLE]
and , j=1,..,7 denote the constraints in problem (24). The strategy to find a solution to (24) consists in iteratively solving problem (27) by reducing the parameters and at each iteration, and thus pushing the trajectory towards the constraint boundaries. Each instance of problem (27) is solved by means of the PRONTO algorithm. This is based on a properly designed projection operator , mapping a state-control curve into a system trajectory , by the nonlinear feedback system
[TABLE]
where the feedback gain is designed by solving a suitable linear quadratic optimal control problem. The projection operator is used to convert the dynamically constrained optimization problem (27) into the unconstrained problem
[TABLE]
where Then, using an (infinite dimensional) Newton descent method, a local minimizer of (29) is computed.
An initial trajectory, with a position matching the “reference” path, is used to initialize the algorithm. Given the current trajectory iterate , the search direction is obtained by solving a linear quadratic optimal control problem with cost , where and are respectively the first and second Fréchet differentials of the functional at . Then, the curve , where is a step size obtained through a standard backtracking line search, is projected, by means of the projection operator, in order to get a new trajectory . The strength of this approach is that the local minimizer of (29) is obtained as the limit of a sequence of trajectories, i.e., curves satisfying the dynamics. Furthermore, the feedback system (28), defining the projection operator, allows us to generate trajectories in a numerically stable manner.
IV Numerical computations
In this section, we present numerical computations to show the effectiveness of the proposed strategy.
We consider two different scenarios with a nano-quadrotor having mass .
In the first scenario, the vehicle moves inside a tube with a D center line and circular transversal sections getting smaller along it. Results are depicted in Figures 2 and 3. As regards the initial trajectory (dot-dashed green line), by choosing as “reference” path the 3D center-line of the tube, the collision free region is defined by constraint (26) where is depicted in Figure 2b (gray line). Furthermore, we set an initial constant velocity and a zero yaw angle. The remaining initial states and inputs are computed by tracking these positions and velocities. Note that, in real applications, the bounds of the collision free region should be restricted (with respect to the physical boundaries of the region) in order to consider the vehicle dimension and an imperfect tracking of the trajectory. Each intermediate optimal trajectory (dotted black line) is computed by iteratively solving problem (27) with decreasing values of and . As regards the minimum-time trajectory (blue line), the maneuver is performed in , the optimal path touches the tube at arc-lengths , and (Figure 2b) and the velocity (Figure 2c) reaches more than at the end of the path. As regards inputs, while constraints on thrust (Figure 3d) are always active, roll and pitch rate (Figures 3a and 3b, respectively) are saturated after and the yaw rate (Figure 3c) touches the constraint boundary only in the beginning of the maneuver.
In the second scenario, the vehicle moves from one room to another through a narrow corridor with a squared section with side length . Leaving the corridor, the vehicle encounters an obstacle and is forced to fly above it, having a final altitude . In this scenario, as an additional requirement, we seek for a trajectory reaching the desired final state . In order to fulfil this objective, we use a penalty function approach by adding the term , where is a penalty parameter and is the identity matrix, in the cost functional of problem (24). Results are depicted in Figures 4 and 5. We choose as “reference” path an unfeasible curve on the plane and the collision free region is defined by constraint (25) where obstacle boundaries and , are depicted in gray in Figures 4b and 4c. In particular, is defined in order to take into account the presence of the obstacle that forces the vehicle to fly above it. An initial constant velocity and a zero yaw angle are considered and the remaining initial states and inputs are computed as in the first scenario. Note that, even if the initial trajectory is unfeasible, intermediate trajectories are feasible. As regards the minimum-time trajectory, the maneuver is performed in and the path touches the constraint boundaries when the vehicle is inside the corridor (Figures 4b and 4c). The velocity (Figure 4d) reaches a peak of in the middle of the path and approaches zero at the end. As regards the inputs, only constraints on roll and pitch rates (Figures 5a, 5b, respectively) are always active. Furthermore, note that the desired final state is not exactly reached, since our penalty function approach only guarantees approximated solutions. An ad-hoc strategy should be designed to exactly reach the desired final state.
V Conclusion
In this paper, we have presented a strategy to compute minimum-time trajectories for quadrotors in constrained spaces. Our approach consists of: (i) generating a “reference” path, (ii) expressing the vehicle dynamics using transverse coordinates, and (iii) re-defining constraints in the new coordinates. We obtain a re-formulation of the problem, which we solve by combining the PRONTO algorithm with a barrier function approach. Numerical computations on two challenging scenarios prove the effectiveness of the strategy. As a future work, we aim to compare our numerical results with a theoretical analysis on particular scenarios.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] N. Dadkhah and B. Mettler, “Survey of motion planning literature in the presence of uncertainty: considerations for uav guidance,” Journal of Intelligent & Robotic Systems , vol. 65, no. 1-4, pp. 233–246, 2012.
- 2[2] X. Hou and R. Mahony, “Dynamic kinesthetic boundary for haptic teleoperation of vtol aerial robots in complex environments,” IEEE Transactions on Systems, Man, and Cybernetics: Systems , vol. PP, no. 99, pp. 1–12, 2015.
- 3[3] M. Furci, R. Naldi, S. Karaman, and L. Marconi, “A combined planning and control strategy for mobile robots navigation in populated environments,” in IEEE Conference on Decision and Control , 2015.
- 4[4] D. Mellinger and V. Kumar, “Minimum snap trajectory generation and control for quadrotors,” in IEEE International Conference on Robotics and Automation , 2011, pp. 2520–2525.
- 5[5] Y. Bouktir, M. Haddad, and T. Chettibi, “Trajectory planning for a quadrotor helicopter,” in Mediterranean Conference on Control and Automation , 2008, pp. 1258–1263.
- 6[6] W. Van Loock, G. Pipeleers, and J. Swevers, “Time-optimal quadrotor flight,” in European Control Conference , 2013, pp. 1788–1792.
- 7[7] A. Bry, C. Richter, A. Bachrach, and N. Roy, “Aggressive flight of fixed-wing and quadrotor aircraft in dense indoor environments,” The International Journal of Robotics Research , 2015.
- 8[8] E. Koyuncu and G. Inalhan, “A probabilistic b-spline motion planning algorithm for unmanned helicopters flying in dense 3d environments,” in IEEE/RSJ International Conference on Intelligent Robots and Systems , 2008, pp. 815–821.
