“Generating dynamically feasible trajectories for quadrotor cameras”

  • ©Mike Roberts and Patrick (Pat) Hanrahan




    Generating dynamically feasible trajectories for quadrotor cameras

Session/Category Title: CAMERA CONTROL & VR




    When designing trajectories for quadrotor cameras, it is important that the trajectories respect the dynamics and physical limits of quadrotor hardware. We refer to such trajectories as being feasible. In this paper, we introduce a fast and user-friendly algorithm for generating feasible quadrotor camera trajectories. Our algorithm takes as input an infeasible trajectory designed by a user, and produces as output a feasible trajectory that is as similar as possible to the user’s input. By design, our algorithm does not change the spatial layout or visual contents of the input trajectory. Instead, our algorithm guarantees the feasibility of the output trajectory by re-timing the input trajectory, perturbing its timing as little as possible while remaining within velocity and control force limits. Our choice to perturb the timing of a shot, while leaving the spatial layout and visual contents of the shot intact, leads to a well-behaved non-convex optimization problem that can be solved at interactive rates.We implement our algorithm in an open-source tool for designing quadrotor camera shots, where we achieve interactive performance across a wide range of camera trajectories. We demonstrate that our algorithm is between 25x and 45x faster than a spacetime constraints approach implemented using a commercially available solver. As we scale to more finely discretized trajectories, this performance gap widens, with our algorithm outperforming spacetime constraints by between 90x and 180x. Finally, we fly 5 feasible trajectories generated by our algorithm on a real quadrotor camera, producing video footage that is faithful to Google Earth shot previews, even when the trajectories are at the quadrotor’s physical limits.


    1. 3D Robotics, 2015. Solo. http://3drobotics.com/solo.Google Scholar
    2. APM, 2015. APM Autopilot Suite. http://ardupilot.com.Google Scholar
    3. Betts, J. T. 1998. A survey of numerical methods for trajectory optimization. Journal of Guidance, Control, and Dynamics 21, 2.Google ScholarCross Ref
    4. Bouktir, Y., Haddad, M., and Chettibi, T. 2008. A prototype of an autonomous controller for a quadrotor UAV. In Mediterranean Conference on Control and Automation 2008.Google Scholar
    5. Boyd, S., 2008. Convex optimization II (course notes for Stanford EE364b). http://stanford.edu/class/ee364b.Google Scholar
    6. Bry, A., Richter, C., Bachrach, A., and Roy, N. 2015. Aggressive flight of fixed-wing and quadrotor aircraft in dense indoor environments. International Journal of Robotics Research 34, 7. Google ScholarDigital Library
    7. Cowling, I. D., Yakimenko, O. A., Whidborne, J. F., and Cooke, A. K. 2007. A prototype of an autonomous controller for a quadrotor UAV. In European Conference on Control (ECC) 2007.Google Scholar
    8. Dahl, O., and Nielsen, L. 1990. Torque-limited path following by on-line trajectory time scaling. Transactions on Robotics and Automation 6, 5.Google ScholarCross Ref
    9. Deits, R., and Tedrake, R. 2015. Efficient mixed-integer planning for UAVs in cluttered environments. In International Conference on Robotics and Automation (ICRA) 2015.Google Scholar
    10. DJI, 2015. DJI Go. http://www.dji.com/product/goapp.Google Scholar
    11. DJI, 2015. DJI Ground Station. http://www.dji.com/product/pc-ground-station.Google Scholar
    12. Fang, A. C., and Pollard, N. S. 2003. Efficient synthesis of physically valid human motion. Transactions on Graphics (Proc. SIGGRAPH 2003) 22, 3. Google ScholarDigital Library
    13. Faulwasser, T., Hagenmeyer, V., and Findeisenc, R. 2014. Constrained reachability and trajectory generation for flat systems. Automatica 50, 4.Google ScholarCross Ref
    14. Gebhardt, C., Hepp, B., Nageli, T., Stevsic, S., and Hilliges, O. 2016. Airways: Optimization-based planning of quadrotor trajectories according to high-level user goals. Transactions on Computer-Human Interaction (Proc. CHI 2016). Google ScholarDigital Library
    15. Geijtenbeek, T., and Pronost, N. 2012. Interactive character animation using simulated physics: A state-of-the-art review. Computer Graphics Forum 31, 8. Google ScholarDigital Library
    16. Gill, P. E., Murray, W., and Saunders, M. A. 2002. SNOPT: An SQP algorithm for large-scale constrained optimization. SIAM Journal on Optimization 12, 4. Google ScholarDigital Library
    17. Joubert, N., Roberts, M., Truong, A., Berthouzoz, F., and Hanrahan, P. 2015. An interactive tool for designing quadrotor camera shots. Transactions on Graphics (Proc. SIGGRAPH Asia 2015) 34, 6. Google ScholarDigital Library
    18. Kondak, K., Krieger, K., Albu-Schaeffer, A., Schwarzbach, M., Laiacker, M., Maza, I., Rodriguez-Castano, A., and Ollero, A. 2013. Closed-loop behavior of an autonomous helicopter equipped with a robotic arm for aerial manipulation tasks. International Journal of Advanced Robotic Systems 10, 145.Google ScholarCross Ref
    19. Lipp, T., and Boyd, S. 2014. Minimum-time speed optimisation over a fixed path. International Journal of Control 87, 6.Google ScholarCross Ref
    20. McCann, J., Pollard, N. S., and Srinivasa, S. 2006. Physics-based motion retiming. In SCA 2006. Google ScholarDigital Library
    21. Meier, L., Tanskanen, P., Heng, L., Lee, G. H., Fraun-dorfer, F., and Pollefeys, M. 2012. PIXHAWK: A micro aerial vehicle design for autonomous flight using onboard computer vision. Autonomous Robots 33, 1–2. Google ScholarDigital Library
    22. Mellinger, D., and Kumar, V. 2011. Minimum snap trajectory generation and control for quadrotors. In International Conference on Robotics and Automation (ICRA) 2011.Google Scholar
    23. Safonova, A., Hodgins, J. K., and Pollard, N. S. 2004. Synthesizing physically realistic human motion in low-dimensional, behavior-specific spaces. Transactions on Graphics (Proc. SIGGRAPH 2004) 23, 3. Google ScholarDigital Library
    24. Shin, K. G., and McKay, N. D. 1985. Minimum-time control of robotic manipulators with geometric path constraints. Transactions on Automatic Control 30, 6.Google Scholar
    25. Slotine, J.-J. E., and Yang, H. S. 1989. Improving the efficiency of time-optimal path-following algorithms. Transactions on Robotics and Automation 5, 1.Google ScholarCross Ref
    26. SymPy, 2014. SymPy: Python library for symbolic mathematics. http://www.sympy.org.Google Scholar
    27. Tedrake, R., 2016. Underactuated robotics: Algorithms for walking, running, swimming, flying, and manipulation (course notes for MIT 6.832). http://underactuated.mit.edu.Google Scholar
    28. Van Loock, W., Pipeleers, G., and Swevers, J. 2013. Time-optimal quadrotor flight. In European Control Conference (ECC) 2013.Google Scholar
    29. Verscheure, D., Demeulenaere, B., Swevers, J., Schutter, J. D., and Diehl, M. 2009. Time-optimal path tracking for robots: A convex optimization approach. Transactions on Automatic Control 54, 10.Google ScholarCross Ref
    30. Witkins, A., and Kass, M. 1988. Spacetime constraints. In SIGGRAPH 1988. Google ScholarDigital Library

ACM Digital Library Publication:

Overview Page: