Skip to main content
Log in

Trajectory Tracking for Aerial Robots: an Optimization-Based Planning and Control Approach

  • Published:
Journal of Intelligent & Robotic Systems Aims and scope Submit manuscript

Abstract

In this work, we present an optimization-based trajectory tracking solution for multirotor aerial robots given a geometrically feasible path. A trajectory planner generates a minimum-time kinematically and dynamically feasible trajectory that includes not only standard restrictions such as continuity and limits on the trajectory, constraints in the waypoints, and maximum distance between the planned trajectory and the given path, but also restrictions in the actuators of the aerial robot based on its dynamic model, guaranteeing that the planned trajectory is achievable. Our novel compact multi-phase trajectory definition, as a set of two different kinds of polynomials, provides a higher semantic encoding of the trajectory, which allows calculating an optimal solution but following a predefined simple profile. A Model Predictive Controller ensures that the planned trajectory is tracked by the aerial robot with the smallest deviation. Its novel formulation takes as inputs all the magnitudes of the planned trajectory (i.e. position and heading, velocity, and acceleration) to generate the control commands, demonstrating through in-lab real flights an improvement of the tracking performance when compared with a controller that only uses the planned position and heading. To support our optimization-based solution, we discuss the most commonly used representations of orientations, as well as both the difference as well as the scalar error between two rotations, in both tridimensional and bidimensional spaces SO(3) and SO(2). We demonstrate that quaternions and error-quaternions have some advantages when compared to other formulations.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Achtelik, M.W., Lynen, S., Chli, M., Siegwart, R.: Inversion Based Direct Position Control and Trajectory Following for Micro Aerial Vehicles. In: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2933–2939 (2013), https://doi.org/10.1109/IROS.2013.CR1

  2. Achtelik, M.W., Lynen, S., Chli, M., Siegwart, R.: Inversion Based Direct Position Control and Trajectory Following for Micro Aerial Vehicles. In: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2933–2939. IEEE (2013)

  3. Aguiar, A.P., Hespanha, J.P.: Trajectory-tracking and path-following of underactuated autonomous vehicles with parametric modeling uncertainty. IEEE Trans. Autom. Control 52(8), 1362–1379 (2007). https://doi.org/10.1109/TAC.2007.902731

    Article  MathSciNet  MATH  Google Scholar 

  4. Alvarenga, J., Vitzilaios, N.I., Valavanis, K.P., Rutherford, M.J.: Survey of unmanned helicopter model-based navigation and control techniques. J. Intell. Robot. Syst. 80(1), 87–138 (2015). https://doi.org/10.1007/s10846-014-0143-5

    Article  Google Scholar 

  5. Beul, M., Behnke, S.: Analytical Time-Optimal Trajectory Generation and Control for Multirotors. In: 2016 International Conference on Unmanned Aircraft Systems (ICUAS), pp. 87–96 (2016), https://doi.org/10.1109/ICUAS.2016.7502532

  6. Beul, M., Behnke, S.: Fast Full State Trajectory Generation for Multirotors. In: 2017 International Conference on Unmanned Aircraft Systems (ICUAS), pp. 408–416 (2017), 10.1109/ICUAS.2017.7991304

  7. Boeuf, A., Cortés, J., Alami, R., Siméon, T.: Planning Agile Motions for Quadrotors in Constrained Environments. In: 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 218–223 (2014), https://doi.org/10.1109/IROS.2014.6942564

  8. Brescianini, D., D’Andrea, R.: Computationally efficient trajectory generation for fully actuated multirotor vehicles. IEEE Trans. Robot. 34(3), 555–571 (2018). https://doi.org/10.1109/TRO.2018.2813373

    Article  Google Scholar 

  9. Carrio, A., Pestana, J., Sanchez-Lopez, J.L., Suarez-Fernandez, R., Campoy, P., Tendero, R., García-De-Viedma, M., González-Rodrigo, B., Bonatti, J., Rejas-Ayuga, J.G., Martínez-Marín, R., Marchamalo-Sacristán, M.: UBRISTES: UAV-Based Building Rehabilitation with Visible and Thermal Infrared Remote Sensing, pp 245–256. Springer International Publishing, Cham (2016)

    Google Scholar 

  10. Castillo-Lopez, M., Olivares-Mendez, M.A., Voos, H.: Evasive Maneuvering for Uavs: an Mpc Approach. In: Ollero, A., Sanfeliu, A., Montano, L., Lau, N., Cardeira, C. (eds.) ROBOT 2017: Third Iberian Robotics Conference, pp 829–840. Springer International Publishing, Cham (2018)

  11. Chen, H., Wang, X., Li, Y.: A Survey of Autonomous Control for Uav. In: 2009 International Conference on Artificial Intelligence and Computational Intelligence, vol. 2, pp. 267–271 (2009), https://doi.org/10.1109/AICI.2009.147

  12. Consolini, L., Locatelli, M., Minari, A., Piazzi, A.: An optimal complexity algorithm for minimum-time velocity planning. http://www.sciencedirect.com/science/article/pii/S0167691117300245, vol. 103, pp 50–57 (2017), https://doi.org/10.1016/j.sysconle.2017.02.001

  13. Diebel, J.: Representing attitude: Euler angles, unit quaternions and rotation vectors (2006)

  14. Diehl, M., Ferreau, H.J., Haverbeke, N.: Efficient Numerical Methods for Nonlinear Mpc and Moving Horizon Estimation. In: Nonlinear Model Predictive Control, pp. 391–417. Springer (2009)

  15. collab=Dvořák, J., de Lellis, M., Hurák, Z.: Advanced Control of Quadrotor Using Eigenaxis Rotation. In: 2011 IEEE International Conference on Control Applications (CCA), pp. 153–158. IEEE (2011)

  16. Ezair, B., Tassa, T., Shiller, Z.: Planning high order trajectories with general initial and final conditions and asymmetric bounds. Int. J. Robot. Res. 33(6), 898–916 (2014). https://doi.org/10.1177/0278364913517148

    Article  Google Scholar 

  17. Faessler, M., Franchi, A., Scaramuzza, D.: Differential flatness of quadrotor dynamics subject to rotor drag for accurate tracking of high-speed trajectories. IEEE Robot. Autom. Letters 3(2), 620–626 (2018). https://doi.org/10.1109/LRA.2017.2776353

    Article  Google Scholar 

  18. Falanga, D., Foehn, P., Lu, P., Scaramuzza, D.: Pampc: Perception-aware Model Predictive Control for Quadrotors. In: 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 1–8. IEEE (2018)

  19. Goerzen, C., Kong, Z., Mettler, B.: A survey of motion planning algorithms from the perspective of autonomous uav guidance. J. Intell. Robot. Syst. 57(1), 65 (2009). 10.1007/s10846-009-9383-1

    Article  MATH  Google Scholar 

  20. Hamilton, W.R. In: Hamilton, W.E. (ed.) : Elements of Quaternions. Cambridge University Press, Cambridge (2010)

  21. Haschke, R., Weitnauer, E., Ritter, H.: On-Line Planning of Time-Optimal, Jerk-Limited Trajectories. In: 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3248–3253 (2008), 10.1109/IROS.2008.4650924

  22. Hauser, K., Ng-Thow-Hing, V.: Fast Smoothing of Manipulator Trajectories Using Optimal Bounded-Acceleration Shortcuts. In: 2010 IEEE International Conference on Robotics and Automation, pp. 2493–2498 (2010), https://doi.org/10.1109/ROBOT.2010.5509683

  23. Hönig, W., Preiss, J.A., Kumar, T.K.S., Sukhatme, G.S., Ayanian, N.: Trajectory planning for quadrotor swarms. IEEE Trans. Robot. 34(4), 856–869 (2018). https://doi.org/10.1109/TRO.2018.2853613

    Article  Google Scholar 

  24. Horn, B.K.: Closed-form solution of absolute orientation using unit quaternions. Josa a 4(4), 629–642 (1987)

    Article  Google Scholar 

  25. Houska, B., et al.: ACADO Toolkit – an open source framework for automatic control and dynamic optimization optimal control applications and methods (2011)

  26. Judd, K.B., McLain, T.W.: Spline Based Path Planning for Unmanned Air Vehicles. In: AIAA Guidance, Navigation, and Control Conference and Exhibit, vol. 9. Montreal, Canada (2001)

  27. Jung, D., Tsiotras, P.: On-Line Path Generation for Small Unmanned Aerial Vehicles Using B-Spline Path Templates. In: AIAA Guidance, Navigation and Control Conference, IEEE, vol. 7135 (2008)

  28. Kamel, M., Alexis, K., Achtelik, M., Siegwart, R.: Fast Nonlinear Model Predictive Control for Multicopter Attitude Tracking on So (3). In: 2015 IEEE Conference on Control Applications (CCA), pp. 1160–1166. IEEE (2015)

  29. Kamel, M., Burri, M., Siegwart, R.: Linear vs nonlinear mpc for trajectory tracking applied to rotary wing micro aerial vehicles. IFAC-PapersOnLine 50(1), 3463–3469 (2017)

    Article  Google Scholar 

  30. Kerrigan, E.C., Maciejowski, J.M.: Soft Constraints and Exact Penalty Functions in Model Predictive Control. In: Proc. UKACC International Conference (Control. Citeseer (2000)

  31. Kuipers, J.B., et al.: Quaternions and rotation sequences, vol. 66. Princeton University Press, Princeton (1999)

    Book  Google Scholar 

  32. Lee, H., Kim, H.J.: Trajectory tracking control of multirotors from modelling to experiments: A survey. Int. J. Control Autom. Syst. 15(1), 281–292 (2017)

    Article  Google Scholar 

  33. Lee, T.: Exponential stability of an attitude tracking control system on so(3) for large-angle rotational maneuvers. Syst. Control Letters 61, 231–237 (2012). https://doi.org/10.1016/j.sysconle.2011.10.017. http://www.sciencedirect.com/science/article/pii/S0167691111002829

    Article  MathSciNet  MATH  Google Scholar 

  34. Lee, T., Leoky, M., McClamroch, N.H.: Geometric Tracking Control of a Quadrotor Uav on Se (3). In: Decision and Control (CDC), 2010 49Th IEEE Conference On, pp. 5420–5425. IEEE (2010)

  35. Li, Y., Song, S.: A Survey of Control Algorithms for Quadrotor Unmanned Helicopter. In: 2012 IEEE Fifth International Conference on Advanced Computational Intelligence (ICACI), pp. 365–369 (2012), https://doi.org/10.1109/ICACI.2012.6463187

  36. Macfarlane, S., Croft, E.A.: Jerk-bounded manipulator trajectory planning: design for real-time applications. IEEE Trans. Robot. Autom. 19(1), 42–52 (2003). https://doi.org/10.1109/TRA.2002.807548

    Article  Google Scholar 

  37. Manyam, S.G., Rathinam, S., Casbeer, D., Garcia, E.: Tightly bounding the shortest dubins paths through a sequence of points. J. Intell. Robot. Syst. 88(2), 495–511 (2017). https://doi.org/10.1007/s10846-016-0459-4

    Article  Google Scholar 

  38. Mellinger, D., Kumar, V.: Minimum Snap Trajectory Generation and Control for Quadrotors. In: 2011 IEEE International Conference on Robotics and Automation, pp. 2520–2525 (2011), https://doi.org/10.1109/ICRA.2011.5980409

  39. Mellinger, D., Kumar, V.: Minimum Snap Trajectory Generation and Control for Quadrotors. In: Robotics and Automation (ICRA), 2011 IEEE International Conference On, pp. 2520–2525. IEEE (2011)

  40. Mohammed, F., Idries, A., Mohamed, N., Al-Jaroodi, J., Jawhar, I.: Uavs for Smart Cities: Opportunities and Challenges. In: Unmanned Aircraft Systems (ICUAS), 2014 International Conference On, pp. 267–273 (2014), https://doi.org/10.1109/ICUAS.2014.6842265

  41. Morari, M., Lee, J.H.: Model predictive control: past, present and future. Comput. Chem. Eng. 23(4-5), 667–682 (1999)

    Article  Google Scholar 

  42. Mueller, M.W., D’Andrea, R.: A Model Predictive Controller for Quadrocopter State Interception. In: 2013 European Control Conference (ECC), pp. 1383–1389 (2013)

  43. Mueller, M.W., Hehn, M., D’Andrea, R.: A Computationally Efficient Algorithm for State-To-State Quadrocopter Trajectory Generation and Feasibility Verification. In: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3480–3486 (2013), https://doi.org/10.1109/IROS.2013.6696852

  44. Neunert, M., De Crousaz, C., Furrer, F., Kamel, M., Farshidian, F., Siegwart, R., Buchli, J.: Fast Nonlinear Model Predictive Control for Unified Trajectory Optimization and Tracking. In: 2016 IEEE International Conference on Robotics and Automation (ICRA), pp. 1398–1404. IEEE (2016)

  45. Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., Ng, A.Y.: Ros: an Open-Source Robot Operating System. In: ICRA Workshop on Open Source Software, vol. 3, p. 5 (2009)

  46. Richter, C., Bry, A., Roy, N.: Polynomial Trajectory Planning for Aggressive Quadrotor Flight in Dense Indoor Environments, pp 649–666. Springer International Publishing, Cham (2016)

    Google Scholar 

  47. Sanchez-Lopez, J.L., Arellano-Quintana, V., Tognon, M., Campoy, P., Franchi, A.: Visual marker based multi-sensor fusion state estimation. IFAC-PapersOnLine 50(1), 16,003–16,008 (2017). https://doi.org/10.1016/j.ifacol.2017.08.1911. 20th IFAC World Congress

    Article  Google Scholar 

  48. Sanchez-Lopez, J.L., Fernández, R. A. S., Bavle, H., Sampedro, C., Molina, M., Pestana, J., Campoy, P.: Aerostack: an Architecture and Open-Source Software Framework for Aerial Robotics. In: 2016 International Conference on Unmanned Aircraft Systems (ICUAS), pp. 332–341 (2016), https://doi.org/10.1109/ICUAS.2016.7502591

  49. Sanchez-Lopez, J.L., Molina, M., Bavle, H., Sampedro, C., Suárez Fernández, R. A., Campoy, P.: A multi-layered component-based approach for the development of aerial robotic systems: the aerostack framework. J. Intell. Robot. Syst., 1–27 (2017)

  50. Sanchez-Lopez, J.L., Olivares-Mendez, M.A., Castillo-Lopez, M., Voos, H.: Towards Trajectory Planning from a Given Path for Multirotor Aerial Robots Trajectory Tracking. In: 2018 International Conference on Unmanned Aircraft Systems (ICUAS), pp. 1342–1351 (2018), https://doi.org/10.1109/ICUAS.2018.8453428

  51. Sanchez-Lopez, J.L., Pestana, J., Campoy, P.: A Robust Real-Time Path Planner for the Collision-Free Navigation of Multirotor Aerial Robots in Dynamic Environments. In: 2017 International Conference on Unmanned Aircraft Systems (ICUAS), pp 316–325 (2017), https://doi.org/10.1109/ICUAS.2017.7991354

  52. Sanchez-Lopez, J.L., Wang, M., Olivares-Mendez, M.A., Molina, M., Voos, H.: A real-time 3d path planning solution for collision-free navigation of multirotor aerial robots in dynamic environments. J. Intell. Robot. Syst. 93(1), 33–53 (2019). https://doi.org/10.1007/s10846-018-0809-5

    Article  Google Scholar 

  53. Santos, M.C.P., Rosales, C.D., Sarapura, J.A., Sarcinelli-Filho, M., Carelli, R.: An adaptive dynamic controller for quadrotor to perform trajectory tracking tasks. J. Intell. Robot. Syst. 93(1), 5–16 (2019). 10.1007/s10846-018-0799-3

    Article  Google Scholar 

  54. Sola, J.: Quaternion kinematics for the error-state kalman filter. arXiv:1711.02508 (2017)

  55. Tang, S., Thomas, J., Kumar, V.: Hold or take optimal plan (hoop): a quadratic programming approach to multi-robot trajectory generation. Int. J. Robot. Res. 37(9), 1062–1084 (2018). https://doi.org/10.1177/0278364917741532

    Article  Google Scholar 

  56. Tayebi, A., McGilvray, S.: Attitude Stabilization of a Four-Rotor Aerial Robot. In: 2004 43Rd IEEE Conference on Decision and Control (CDC)(IEEE Cat. No. 04CH37601), vol. 2, pp 1216–1221. IEEE (2004)

  57. Valavanis, K.P., Vachtsevanos, G.J.: Handbook of unmanned aerial vehicles. Springer, Berlin (2015)

    Book  Google Scholar 

  58. Yang, K., Sukkarieh, S.: An analytical continuous-curvature path-smoothing algorithm. IEEE Trans. Robot. 26(3), 561–568 (2010). https://doi.org/10.1109/TRO.2010.2042990

    Article  Google Scholar 

  59. Zhang, F.: Quaternions and matrices of quaternions. Linear Algebra Its Appl. 251, 21–57 (1997)

    Article  MathSciNet  Google Scholar 

Download references

Funding

This work was supported by the ”Fonds National de la Recherche” (FNR), Luxembourg, under the projects C15/15/10484117 (BEST-RPAS) and PoC16/11565377 (AFI).

Author information

Authors and Affiliations

Authors

Contributions

J.L.S.-L. representation of rotations, trajectory definition, trajectory planner, evaluation and manuscript writing. M.C.-L. trajectory tracking controller, evaluation and manuscript writing. M.A.O.-M. and H.V. project management and funding acquisition.

Corresponding author

Correspondence to Jose Luis Sanchez-Lopez.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Appendix to Trajectory Definition

To ease the formulation of the trajectory planner presented in Section 7, the definition of the trajectory can be expressed using the compact formulation presented along with this Appendix A.

1.1 A.1 Position and Derivatives of a Polynomial

The position of a polynomial segment defined in Eq. 67, can be written using the following compact nomenclature:

$$ \begin{array}{@{}rcl@{}} p_{i,j}(\tau_{i}) &=& \boldsymbol{l}_{\boldsymbol{x},m_{i},0}(\tau_{i}) \cdot \boldsymbol{b}_{i,j,:} \\ &=& \left[ 1 \quad \tau_{i} \quad \tau_{i}^2 \quad ... \quad \tau_{i}^{m_{i}} \right] \cdot \left[ \begin{array}{c} b_{i,j,0} \\ b_{i,j,1} \\ b_{i,j,2} \\ ... \\ b_{i,j,m_{i}} \end{array} \right] \end{array} $$
(89)
$$ \begin{array}{@{}rcl@{}} p_{i,j}(\tau_{i}) &=& {(\boldsymbol{b}_{i,j,:})}^{T} \cdot \boldsymbol{r}_{\boldsymbol{x},m_{i},0}(\tau_{i}) \\ &=& \left[ b_{i,j,0} \quad b_{i,j,1} \quad b_{i,j,2} \quad ... \quad b_{i,j,m_{i}} \right] \cdot \left[ \begin{array}{c} 1 \\ \tau_{i} \\ \tau_{i}^2 \\ ... \\ \tau_{i}^{m_{i}} \end{array} \right]\\ \end{array} $$
(90)

The lm-th time-derivative of the position defined in Eq. 68, can be written as:

$$ \begin{array}{@{}rcl@{}} p_{i,j}^{(l_{m})}(\tau_{i}) = \frac{{\mathrm{d}}^{l_{m}} p_{i,j}}{{\mathrm{d}} \tau_{i}^{l_{m}}} &=& \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}}(\tau_{i}) \cdot \boldsymbol{b}_{i,j,:} \end{array} $$
(91)
$$ \begin{array}{@{}rcl@{}} &=& {(\boldsymbol{b}_{i,j,:})}^{T} \cdot \boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m}}(\tau_{i}) \end{array} $$
(92)

where the k-th element of the matrices:

$$ \begin{array}{@{}rcl@{}} {\boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}}(\tau_{i})}_{1,k}&=&{\boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m}}(\tau_{i})}_{k,1} \\ &=&\left( \prod\limits_{l=k-(l_{m}-1)}^{k} l \right) \cdot \tau_{i}^{k-l_{m}} \end{array} $$
(93)

The following equivalence can be easily extracted:

$$ {\boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m}}(\tau_{i})} = \left( {\boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}}(\tau_{i})}\right)^{T} $$
(94)

Additionally, it can be easily demonstrated that:

$$ \begin{array}{@{}rcl@{}} \frac{{\mathrm{d}} \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}}(\tau_{i})}{{\mathrm{d}} \tau_{i}} &=& \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m+1}}(\tau_{i}) \end{array} $$
(95)
$$ \begin{array}{@{}rcl@{}} \frac{{\mathrm{d}} \boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m}}(\tau_{i})}{{\mathrm{d}} \tau_{i}} &=& \boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m+1}}(\tau_{i}) \end{array} $$
(96)

The norm of the magnitude, \({p}_{i,j}^{(l_{m})}(\tau _{i})\), can be calculated as:

$$ \begin{array}{@{}rcl@{}} {\| {p}_{i,j}^{(l_{m})}(\tau_{i}) \|}_{2}^{2} &=&\left( {p}_{i,j}^{(l_{m})}(\tau_{i}) \right)^{T} \cdot {p}_{i,j}^{(l_{m})}(\tau_{i})\\ &=&\left( { \boldsymbol{b}_{i,j,:} }\right)^{T} \cdot { \boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) \cdot { \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) \cdot { \boldsymbol{b}_{i,j,:} }\\ &=&\left( { \boldsymbol{b}_{i,j,:} }\right)^{T} \cdot { \boldsymbol{rl}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) \cdot { \boldsymbol{b}_{i,j,:} } \end{array} $$
(97)

1.2 A.2 State of a Polynomial

The state \(\boldsymbol {x}_{i,j,l_{0}:l_{m}}\) of a polynomial can be defined as:

$$ \boldsymbol{x}_{i,j,l_{0}:l_{m}}(\tau_{i}) = \left[ p_{i,j}^{(l_{0})} \quad p_{i,j}^{(l_{1})} \quad ... \quad p_{i,j}^{(l_{m})} \right]^{T} $$
(98)

Which is calculated using the following compact nomenclature:

$$ \begin{array}{@{}rcl@{}} \boldsymbol{x}_{i,j,l_{0}:l_{m}}(\tau_{i}) &=& \boldsymbol{L}_{\boldsymbol{x},m_{i},l_{0}:l_{m}} (\tau_{i}) \cdot \boldsymbol{b}_{i,j,:} \end{array} $$
(99)
$$ \begin{array}{@{}rcl@{}} \left( \boldsymbol{x}_{i,j,l_{0}:l_{m}}(\tau_{i})\right)^{T} &=& {(\boldsymbol{b}_{i,j,:})}^{T} \cdot \boldsymbol{R}_{\boldsymbol{x},m_{i},l_{0}:l_{m}}(\tau_{i}) \end{array} $$
(100)

where

$$ \begin{array}{@{}rcl@{}} \boldsymbol{L}_{\boldsymbol{x},m_{i},l_{0}:l_{m}} (\tau_{i})= \left[ \begin{array}{c} \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{0}}(\tau_{i})\\ \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{1}}(\tau_{i})\\ ...\\ \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}}(\tau_{i}) \end{array} \right] \end{array} $$
(101)
$$ \begin{array}{@{}rcl@{}} \boldsymbol{R}_{\boldsymbol{x},m_{i},l_{0}:l_{m}}(\tau_{i}) = (\boldsymbol{L}_{\boldsymbol{x},m_{i},l_{0}:l_{m}}(\tau_{i}))^{T} \end{array} $$
(102)

In the same way than in Eqs. 95 and 96, it can be easily demonstrated that:

$$ \begin{array}{@{}rcl@{}} \frac{{\mathrm{d}} \boldsymbol{L}_{\boldsymbol{x},m_{i},l_{0}:l_{m}}(\tau_{i})}{{\mathrm{d}} \tau_{i}} = \boldsymbol{L}_{\boldsymbol{x},m_{i},l_{1}:l_{m+1}}(\tau_{i}) \end{array} $$
(103)
$$ \begin{array}{@{}rcl@{}} \frac{{\mathrm{d}} \boldsymbol{R}_{\boldsymbol{x},m_{i},l_{0}:l_{m}}(\tau_{i})}{{\mathrm{d}} \tau_{i}} = \boldsymbol{R}_{\boldsymbol{x},m_{i},l_{1}:l_{m+1}}(\tau_{i}) \end{array} $$
(104)

1.3 A.3 Coefficients of a polynomial

Given the state of a polynomial, \(\boldsymbol {x}_{i,j,l_{0}:l_{m}}\), at a certain time τi, the coefficients of the polynomial, bi,j,:, can be calculated using Eq. 100, as:

$$ \boldsymbol{b}_{i,j,:} = \left( \boldsymbol{L}_{\boldsymbol{x},m_{i},l_{0}:l_{m}}(\tau_{i}) \right)^{-1} \cdot \boldsymbol{x}_{i,j,l_{0}:l_{m}}(\tau_{i}) $$
(105)

with the condition that l0 = 0 and lm = mi.

The coefficients of a polynomial, bi,j,:, can be calculated from its initial state, \(\boldsymbol {x}_{i,j,0:m_{i}}(0)\), using (105).

$$ \boldsymbol{b}_{i,j,:} = \left( \boldsymbol{L}_{\boldsymbol{x},m_{i},0:m_{i}}(0) \right)^{-1} \cdot \boldsymbol{x}_{i,j,0:m_{i}}(0) $$
(106)

being therefore the value of the coefficients, independent of the time, Δτi.

1.4 A.4 Initial and Final States of a Polynomial

The initial state of a polynomial, \(\boldsymbol {x}_{i,j,0:m_{i}}(0)\), can be calculated following (100), as:

$$ \boldsymbol{x}_{i,j,0:m_{i}}(0) = \boldsymbol{L}_{\boldsymbol{x},m_{i},0:m_{i}}(0) \cdot \boldsymbol{b}_{i,j,:} $$
(107)

The final state of a polynomial, \(\boldsymbol {x}_{i,j,0:m_{i}}({\varDelta } \tau _{i})\), can be calculated from its initial state as follows:

$$ \begin{array}{@{}rcl@{}} \boldsymbol{x}_{i,j,0:m_{i}}({\varDelta} \tau_{i}) &=& \boldsymbol{L}_{\boldsymbol{x},m_{i},0:m_{i}}({\varDelta} \tau_{i}) \cdot \boldsymbol{b}_{i,j,:} \\ &=& \boldsymbol{L}_{\boldsymbol{x},m_{i},0:m_{i}}({\varDelta} \tau_{i}) \cdot \left( \boldsymbol{L}_{\boldsymbol{x},m_{i},0:m_{i}}(0) \right)^{-1} \cdot \boldsymbol{x}_{i,j,0:m_{i}}(0)\\ \end{array} $$
(108)

1.5 A.5 Linear Variables of a Segment

The full-dimensional position of the segment is defined as:

$$ \boldsymbol{p}_{i,:}\left( \tau_i \right) ={\left[{p}_{i,x}\left( \tau_i \right) \quad {p}_{i,y}\left( \tau_i \right) \quad {p}_{i,z}\left( \tau_i \right)\right]}^{T} $$
(109)

Which is calculated using the following compact nomenclature:

$$ \begin{array}{@{}rcl@{}} \boldsymbol{p}_{i,:}\left( \tau_i \right)&=&{\boldsymbol{l}_{\boldsymbol{x},m_{i},0}} (\tau_i) \cdot {\boldsymbol{b}_{i,xyz,:}} \end{array} $$
(110)
$$ \begin{array}{@{}rcl@{}} \left( \boldsymbol{p}_{i,:}\left( \tau_i \right) \right)^{T}&=&\left( \underline{\boldsymbol{b}_{i,xyz,:}}\right)^{T} \cdot \underline{\boldsymbol{r}_{\boldsymbol{x},m_{i},0}} (\tau_i) \end{array} $$
(111)

where

$$ \begin{array}{@{}rcl@{}} \underline{ \boldsymbol{b}_{i,xyz,:} } &=& \left[ \begin{array}{c} \boldsymbol{b}_{i,x,:} \\ \boldsymbol{b}_{i,y,:} \\ \boldsymbol{b}_{i,z,:} \end{array} \right] \end{array} $$
(112)
$$ \begin{array}{@{}rcl@{}} \underline{ \boldsymbol{l}_{\boldsymbol{x},m_{i},0} } (\tau_i) &=& \left[ \begin{array}{ccc} \boldsymbol{l}_{\boldsymbol{x},m_{i},0} (\tau_{i}) & \boldsymbol{0}_{1 \times (m_{i}+1)} & \boldsymbol{0}_{1 \times (m_{i}+1)} \\ \boldsymbol{0}_{1 \times (m_{i}+1)} & \boldsymbol{l}_{\boldsymbol{x},m_{i},0} (\tau_{i}) & \boldsymbol{0}_{1 \times (m_{i}+1)} \\ \boldsymbol{0}_{1 \times (m_{i}+1)} & \boldsymbol{0}_{1 \times (m_{i}+1)} & \boldsymbol{l}_{\boldsymbol{x},m_{i},0} (\tau_{i}) \end{array} \right] \end{array} $$
(113)
$$ \begin{array}{@{}rcl@{}} \underline{ \boldsymbol{r}_{\boldsymbol{x},m_{i},0} } (\tau_i) &=& \left( \underline{ \boldsymbol{l}_{\boldsymbol{x},m_{i},0} } (\tau_i) \right)^{T} \end{array} $$
(114)

The lm-th time-derivative of the position can be expressed as:

$$ \boldsymbol{p}_{i,:}^{(l_{m})}\left( \tau_i \right) =\frac{{{\mathrm{d}}}^{l_{m}} \boldsymbol{p}_{i,:}}{{{\mathrm{d}}} \tau_{i}^{l_{m}}} =\left[{p}_{i,x}^{(l_{m})}\left( \tau_i \right) \quad {p}_{i,y}^{(l_{m})}\left( \tau_i \right) \quad {p}_{i,z}^{(l_{m})}\left( \tau_i \right) \right]^{T} $$
(115)

Which is calculated using the following compact nomenclature:

$$ \begin{array}{@{}rcl@{}} \boldsymbol{p}_{i,:}^{(l_{m})}\left( \tau_i \right) &=& \underline{ \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) \cdot \underline{ \boldsymbol{b}_{i,xyz,:} } \end{array} $$
(116)
$$ \begin{array}{@{}rcl@{}} \left( \boldsymbol{p}_{i,:}^{(l_{m})}\left( \tau_i \right) \right)^{T}&=&\left( \underline{ \boldsymbol{b}_{i,xyz,:} }\right)^{T} \cdot \underline{ \boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) \end{array} $$
(117)

where

$$ \begin{array}{@{}rcl@{}} \underline{ \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) &=& \left[ \begin{array}{ccc} \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}} (\tau_{i}) & \boldsymbol{0}_{1 \times (m_{i}+1)} & \boldsymbol{0}_{1 \times (m_{i}+1)} \\ \boldsymbol{0}_{1 \times (m_{i}+1)} & \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}} (\tau_{i}) & \boldsymbol{0}_{1 \times (m_{i}+1)} \\ \boldsymbol{0}_{1 \times (m_{i}+1)} & \boldsymbol{0}_{1 \times (m_{i}+1)} & \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}} (\tau_{i}) \end{array} \right] \end{array} $$
(118)
$$ \begin{array}{@{}rcl@{}} \underline{ \boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) &=& \left( \underline{ \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) \right)^{T} \end{array} $$
(119)

It can be easily demonstrated that:

$$ \begin{array}{@{}rcl@{}} \frac{{\mathrm{d}} \underline{ \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i)}{{\mathrm{d}} \tau_i} &=& \underline{ \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m+1}} } (\tau_i) \end{array} $$
(120)
$$ \begin{array}{@{}rcl@{}} \frac{{\mathrm{d}} \underline{ \boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i)}{{\mathrm{d}} \tau_i} &=& \underline{ \boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m+1}} } (\tau_i) \end{array} $$
(121)

The norm of the magnitude, \(\boldsymbol {p}_{i,:}^{(l_{m})}(\tau _{i})\), can be calculated as:

$$ \begin{array}{@{}rcl@{}} {\| \boldsymbol{p}_{i,:}^{(l_{m})}(\tau_{i}) \|}_{2}^{2} &=& \left( \boldsymbol{p}_{i,:}^{(l_{m})}(\tau_{i}) \right)^{T} \cdot \boldsymbol{p}_{i,:}^{(l_{m})}(\tau_{i}) \\ &=& \left( \underline{ \boldsymbol{b}_{i,xyz,:} }\right)^{T} \cdot \underline{ \boldsymbol{r}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) \cdot \underline{ \boldsymbol{l}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) \cdot \underline{ \boldsymbol{b}_{i,xyz,:} } \\ &=& \left( \underline{ \boldsymbol{b}_{i,xyz,:} }\right)^{T} \cdot \underline{ \boldsymbol{rl}_{\boldsymbol{x},m_{i},l_{m}} } (\tau_i) \cdot \underline{ \boldsymbol{b}_{i,xyz,:} } \end{array} $$
(122)

Appendix B: Appendix to Evaluation and Results

This Appendix B gathers extra information and the raw data of the experiments presented in Section 9.

Figures 29 and 30 graphically represent the total time of the trajectory tracking computed by the trajectory planner during the optimization process for the first and second evaluation paths respectively.

Fig. 29
figure 29

Total time of the trajectory tracking computed by the trajectory planner during the optimization process for the first evaluation path

Fig. 30
figure 30

Total time of the trajectory tracking computed by the trajectory planner during the optimization process for the second evaluation path

Tables 12 and 13 show the summarized information of the total time of the trajectory tracking computed during the optimization process of the trajectory planner for the first and second evaluation paths respectively.

Table 12 Total time of the trajectory tracking computed by the trajectory planner for the first evaluation path
Table 13 Total time of the trajectory tracking computed by the trajectory planner for the second evaluation path

Tables 14 and 15 gather the percentage of the configuration parameters with respect to their maximum value for the magnitudes of the initial trajectories of the first and second evaluation paths respectively.

Table 14 Percentage of the configuration parameters with respect to their maximum value for the magnitudes of the initial trajectories of the first evaluation path
Table 15 Percentage of the configuration parameters with respect to their maximum value for the magnitudes of the initial trajectories of the second evaluation path

Tables 16 and 17 collect the percentage of the configuration parameters with respect to their maximum value for the magnitudes of the planned trajectories of the first and second evaluation paths respectively.

Table 16 Percentage of the configuration parameters with respect to their maximum value for the magnitudes of the planned trajectories of the first evaluation path
Table 17 Percentage of the configuration parameters with respect to their maximum value for the magnitudes of the planned trajectories of the second evaluation path

Tables 18 and 19 display the percentage of the energy (computed with Eq. 88) of the planned trajectory magnitudes with respect to the initial trajectories of the first and second evaluation paths respectively.

Table 18 Percentage of the energy (88) of the planned trajectory magnitudes with respect to the initial trajectories of the first evaluation path
Table 19 Percentage of the energy (88) of the planned trajectory magnitudes with respect to the initial trajectories of the second evaluation path.1

Tables 20 and 21 show the percentage of the energy (88) of the planned control commands references with respect to the initial trajectories of the first and second evaluation paths respectively.

Table 20 Percentage of the energy (88) of the planned control commands references with respect to the initial trajectories of the first evaluation path
Table 21 Percentage of the energy (88) of the planned control commands references with respect to the initial trajectories of the second evaluation path

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sanchez-Lopez, J.L., Castillo-Lopez, M., Olivares-Mendez, M.A. et al. Trajectory Tracking for Aerial Robots: an Optimization-Based Planning and Control Approach. J Intell Robot Syst 100, 531–574 (2020). https://doi.org/10.1007/s10846-020-01203-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10846-020-01203-2

Keywords

Navigation