Game of Drones

Mathias
Bos
  • Rian
    Beck

Drone banner 0

Machines en robots zijn al veelvuldig in gebruik in allerlei toepassingen, maar de stap zetten van voorgeprogrammeerde, domme toestellen naar slimme robots die autonoom taken uitvoeren, dat is vandaag nog steeds een uitdaging. En liefst doen ze deze taken nog beter, veiliger én sneller dan de mens. Wij gingen deze uitdaging aan met een drone.

‘Waarvoor is dit nuttig?’

Drones hebben veel potentieel op vlak van inspecties op moeilijk bereikbare plaatsen in industriële installaties, ze geven overzicht vanuit ‘vogelperspectief’ op een ongeval of rampsituatie, en kunnen snel kleine pakketjes afleveren. Maar laat ons eerlijk zijn: ze zijn ook gewoon leuk! Kleine quadcopters (drones met vier propellers) zijn snel, wendbaar en kunnen acrobatische toeren uithalen, wat indrukwekkende taferelen oplevert. Anderzijds zijn ze uitdagend om te besturen. Daarom zijn ze ideaal voor baanbrekend onderzoek.

De demo ontwikkeld in deze thesis is ontworpen om met behulp van een drone te tonen waar ingenieurs aan de KU Leuven mee bezig zijn. Het resultaat is een interactieve demo die principes uit de regeltechniek illustreert, en dat in een reeks taken met een stijgende graad van autonomie en dus ook stijgende moeilijkheid.

Laat de drone het maar zélf doen

Met autonomie bedoelen we hier: de drone kan zijn taak uitvoeren zonder dat een mens de besturing verzorgt. Dat wil niet zeggen dat de mens niets doet tijdens de demo: hij kan aangeven waar naartoe of waarlangs de drone moet vliegen. Maar hoe de drone dat doet, dat beslist hij helemaal zelf.

Het eerste niveau van autonomie voor een drone is: blijf waar je bent. De meeste drones hebben reeds een ingebouwde controller die de drone rechtop houdt, dus is het vooral van belang ervoor te zorgen dat de drone ook zijn gewenste positie behoudt en niet ‘ronddobbert’. Hiervoor moet hij zijn eigen locatie nauwkeurig kennen.          

De demo vindt indoor plaats, waar GPS onbruikbaar is. Daarom lokaliseert de drone zich met behulp van het HTC Vive VR gaming system. Ook al zijn de positiemetingen van de Vive erg nauwkeurig, een belangrijke bijdrage in deze thesis is het ontwerp van een positieschatter (een algoritme dat de drone gebruikt om te bepalen waar hij is) die in geval van minder nauwkeurige metingen toch een heel goede schatting kan geven van de exacte positie en snelheid van de drone. Dat doet hij door de positiemetingen af te toetsen tegen een model van de drone. Als wat de meting vertelt niet overeenkomt met wat volgens het model kan, dan gaat hij meer op het model vertrouwen en de meting automatisch bijstellen. Testen tonen aan dat in geval van toegevoegde ruis op de metingen en een lager aantal metingen per seconde, de positieschatting toch zeer nauwkeurig blijft.

Ter plaatse blijven kan de drone dan met een eenvoudige feedback controller: hij meet waar hij is, hij vergelijkt dat met waar hij zou moeten zijn, en hoe verder dit uiteenligt, hoe meer hij zijn best doet om terug naar de gewenste positie te vliegen.         

Dit kan ook uitgebreid worden naar een bewegende referentie; de referentie wordt verlegd door een toeschouwer die met een Vive controller rondbeweegt, en de drone volgt de handbeweging.

Het tweede niveau van autonomie is het volgen van een willekeurig pad doorheen de ruimte. Dat pad wordt door een toeschouwer getekend, die zijn of haar creativiteit kan tonen met eender welke 3d-tekening. Dan wordt het pas echt interessant qua controle. Naast de feedback, kan nu ook feedforward controle toegepast worden. Dit houdt in dat op basis van het model van de drone berekend wordt welke inputs aan de drone aangelegd moeten worden om de gewenste snelheden en posities op het getekende pad te halen. Dit heeft als voordeel dat de drone anticipeert op wat er komt door vroegtijdig bij te sturen. Feedforward controle zorgt er zo voor dat de drone veel sneller kan rondvliegen zonder aan nauwkeurigheid in te boeten.

navigate slalom

Het derde en laatste autonome niveau houdt in dat de drone zelf een vloeiend pad opstelt tussen stilstaande en bewegende obstakels en dat pad aflegt om zo snel en veilig mogelijk een opgegeven doel te bereiken. Het berekenen van dit optimale pad gebeurt met software ontwikkeld aan de KU Leuven genaamd ‘OMG-tools’. Deze thesis draagt bij tot het praktische gebruik van deze software in een echte toepassing.

Slim, snel, maar ook veilig?

Vaak zijn machines of robots dom, in de zin dat ze één taak heel snel en nauwkeurig kunnen uitvoeren, maar niet flexibel geprogrammeerd zijn om vlot tussen taken te wisselen. Tijdens de demo wil de operator graag kunnen kiezen wanneer hij welke opdracht geeft. Maar ook de drone zelf moet beslissingen kunnen maken. Allemaal leuk en wel, zo snel mogelijk rondvliegen tussen obstakels, maar wat als er iets misloopt? Zo kan het gebeuren dat de drone plots geen metingen meer binnenkrijgt van het Vive-systeem. Ook dan moet de drone op een veilige manier reageren.

Dit is mogelijk gemaakt door het besturingssysteem van de drone te programmeren als een ‘Finite State Machine’. Dit is een structuur waarin een aantal ‘toestanden’ voor de drone zijn gedefinieerd. Wanneer de drone een fout ontdekt, bijvoorbeeld het wegvallen van een meting, of wanneer de operator aangeeft dat het tijd is voor een andere opdracht, wisselt de drone van toestand. Het gedrag van de drone is altijd uniek bepaald door de toestand waarin hij zich bevindt. Via meldingen op het computerscherm weet de operator altijd in welke toestand het systeem zich bevindt en worden misverstanden tussen mens en drone vermeden. Deze Finite State Machine met een inbegrepen ‘noodtoestand’ maakt de drone dus slimmer, flexibeler en veiliger.

Onderzoek met speelgoed

Goed nieuws: iedereen die een Parrot Bebop 2 drone en een HTC Vive heeft, kan in principe aan de slag met deze demo (let wel op: reken voor de drone zo’n €400 en voor de Vive ongeveer €700, dus echt goedkoop is het niet). Het programma is volledig open source toegankelijk en de hardware is vrij te verkrijgen in elektronica- en multimediawinkels.

Toegegeven: ingenieurs spelen soms ook gewoon nog graag met speelgoed…

QR YouTube

Bibliografie

[1] Interreg, “Smart tooling.” https://www.grensregio.eu/projecten/smart-tooling, 2018.

[2] BASF België | BASF Antwerpen, “Smart tooling.” https://www.basf.com/be/nl/who-we-are/Group-Companies/BASF-Antwerpen/Pr…, 2019.

[3] R. Beck and M. Bos, “Interactive autonomous drone demo.” https://github.com/RianBeck/DroneDemo, 2019.

[4] R. Beck and M. Bos, “Interactive demo on the indoor localization, control and navigation of drones.” https://www.youtube.com/watch?v=4jUyKBdEDlI,2019.

[5] A. Hussein, A. Al-Kaff, et al., “Autonomous indoor navigation of low-cost quadcopters,” in 2015 IEEE International Conference on Service Operations And Logistics, And Informatics (SOLI), pp. 133–138, IEEE, 2015.

[6] A. Garcia, E. Mattison, and K. Ghose, “High-speed vision-based autonomous indoor navigation of a quadcopter,” in 2015 International Conference on Unmanned Aircraft Systems (ICUAS), pp. 338–347, IEEE, 2015.

[7] M. Krogius, A. Haggenmiller, and E. Olson, “Flexible layouts for fiducial tags (under review).” Under Review.

[8] J. Wang and E. Olson, “Apriltag 2: Efficient and robust fiducial detection,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4193–4198, 10 2016.

[9] SwatBotics, “Demo of april tag localization system.” https://www.youtube.com/watch?v=Y8WEGGbLWlA, 2012.

[10] Bitcraze AB, “Mocap deck.” https://www.bitcraze.io/2018/06/mocap-deck/, 2019.

[11] R. Van Parys, M. Verbandt, et al., “Distributed coordination, transportation & localisation in industry 4.0,” in 17th International Conference on Indoor Positioning and Indoor Navigation (IPIN), IEEE, 2018.

[12] D. W. Mellinger, Trajectory Generation and Control for Quadrotors. PhD thesis, University of Pennsylvania, 2012.

[13] G. Espinosa and M. Rubenstein, “Towards mixed reality system with quadrotor: Autonomous drone positioning in real and virtual.,” in Workshop: Robotics in Virtual Reality, 2018 IEEE International Conference on Robotics and Automation (ICRA 18)., 2018.

[14] J. Kim and B. Kim, “Accurate states estimation using asynchronous kalman filter with encoder edges for tmrs,” in 2013 13th International Conference on Control, Automation and Systems (ICCAS 2013), pp. 1528–1533, 2013.

[15] G. Xue, Y. Xu, et al., “The fractional kalman filter-based asynchronous multirate sensor information fusion,” Complexity, vol. 2018, pp. 1–10, 2018.

[16] B. Deepak and P. Singh, “A survey on design and development of an unmanned aerial vehicle (quadcopter),” International Journal of Intelligent Unmanned Systems, vol. 4, no. 2, pp. 70–106, 2016.

[17] S. Devasia, “Should model-based inverse inputs be used as feedforward under plant uncertainty?,” IEEE Transactions on Automatic Control, vol. 47, pp. 1865–1871, Nov 2002.

[18] 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, pp. 233–246, Jan 2012.

[19] T. Mercy, R. Van Parys, and G. Pipeleers, “Spline-based motion planning for autonomous guided vehicles in a dynamic environment,” IEEE Transactions on Control Systems Technology, vol. 26, pp. 2182–2189, Nov 2018.

[20] R. Van Parys and G. Pipeleers, “Spline-based motion planning in an obstructed 3d environment,” in Proceedings of the 20th IFAC World Congress, vol. 50, pp. 8668–8673, Elsevier, 2017.

[21] D. Fox, W. Burgard, and S. Thrun, “The dynamic window approach to collision avoidance,” IEEE Robotics & Automation Magazine, vol. 4, no. 1, pp. 23–33, 1997.

[22] P. Saranrittichai, N. Niparnan, and A. Sudsang, “Robust local obstacle avoidance for mobile robot based on dynamic window approach,” in 2013 10th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology, pp. 1–4, IEEE, 2013.

[23] D. Claes and K. Tuyls, “Multi robot collision avoidance in a shared workspace,” Autonomous Robots, vol. 42, pp. 1749–1770, Dec 2018.

[24] C. Rosmann, F. Hoffmann, and T. Bertram, “Timed-elastic-bands for timeoptimal point-to-point nmiscar model predictive control,” in 2015 European Control Conference (ECC), pp. 3352–3357, EUCA, 2015.

[25] G. Rossetti, R. Van Parys, et al., “Optimal autonomous quadrotor navigation in an obstructed space,” in Proceedings of the 4th International Workshop on Research, Education and Development on Unmanned Aerial Systems, pp. 19–24, 2017.

[26] L. Ma, J. Xue, et al., “Efficient sampling-based motion planning for on-road autonomous driving,” IEEE Transactions on Intelligent Transportation Systems, vol. 16, pp. 1961–1976, Aug 2015.

[27] Y. Kuwata, G. A. Fiore, et al., “Motion planning for urban driving using RRT,” in 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1681–1686, Sep. 2008.

[28] IROS Secretariat, “Iros autonomous drone racing 2018.” https://www.iros2018.org/competitions, 2018.

[29] S. Li, M. Ozo, , et al., “Autonomous drone race: A computationally efficient vision-based navigation and control strategy,” CoRR, vol. abs/1809.05958, 2018.

[30] E. Kaufmann, M. Gehrig, , et al., “Beauty and the beast: Optimal methods meet learning for drone racing,” CoRR, vol. abs/1810.06224, 2018.

[31] K.Wei and B. Ren, “A method on dynamic path planning for robotic manipulator autonomous obstacle avoidance based on an improved rrt algorithm.,” Sensors (Basel, Switzerland), vol. 18, no. 2, 2018.

[32] Okreylos, “Htc vive localization system.” http://doc-ok.org/?p=1478, 2016.

[33] Games on Track, “Games on track vive localization system.” http://www.gamesontrack.com/satellites.html, 2018.

[34] Marvelmind Robotics, “Marvelmind localization system.” https://marvelmind.com/, 2017.

[35] Pozyx NV, “Pozyx localization system.” https://www.pozyx.io/store/detail/2, 2019.

[36] E. Olson, “AprilTag: A robust and flexible visual fiducial system,” in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pp. 3400–3407, May 2011.

[37] A. Hernandez, C. Copot, et al., “Identification and path following control of an ar.drone quadrotor,” in 2013 17th International Conference on System Theory, Control and Computing (ICSTCC), pp. 583–588, IEEE, 2013.

[38] Parrot, “Parrot bebop drone specifications.” http://blog.parrot.com/2016/01/12/comparison-bebop-2-vs-bebop-drone/, 2019.

[39] Intel, “Intel aero drone specifications.” https://software.intel.com/en-us/aero/drone-kit, 2019.

[40] DJI, “Dji drone specifications.” https://www.dji.com, 2019.

[41] M. Monajjemi, “Bebop autonomy.” https://bebop-autonomy.readthedocs.io/en/latest/, 2015.

[42] L. Hardesty, “Autonomous robotic plane flies indoors,” Targeted News Service, 2012.

[43] Open Source Robotics Foundation, “Robot operating system.” http://www.ros.org/about-ros/, 2019.

[44] Triad Semiconductor, “Triad openvr.” https://github.com/TriadSemi/triad_openvr, 2018.

[45] C. Bruns, “Pyopenvr.” https://github.com/cmbruns/pyopenvr, 2019.

[46] Valve corporation, “Steamvr.” https://steamcommunity.com/steamvr, 2017.

[47] S. Pfeiffer, “Read out htc vive controller keypresses.” https://gist.github.com/awesomebytes/75daab3adb62b331f21ecf3a03b3ab46, 2019.

[48] A. G. Mutambara, “Chapter 8 - digital control systems,” in Design and Analysis of Control Systems - 1st Edition, p. 652, CRC Press, 1999.

[49] L. Ljung, “Chapter 4 - models of linear time-invariant systems,” in System Identification: Theory for the User, pp. 69–126, Englewood Cliffs, New Jersey 07632: P T R Prentice Hall, 1987.

[50] HTC Corporation, “Htc vive tracker (2018) developer guidelines ver.1.0.” https://dl.vive.com/Tracker/Guideline/HTC_Vive_Tracker(2018)_Developer+…, 2018.

[51] T. Foote, E. Marder-Eppstein, and W. Meeussen, “tf2.” http://wiki.ros.org/tf2, 2019.

[52] T. Kailath, A. H. Sayed, and B. Hassibi, “Chapter 9 - the kalman filter,” in Linear Estimation, pp. 310 – 369, Upper Saddle River, New Jersey 07458: Prentice Hall, 2000.

[53] S. Boys and L. Vandenberghe, “Chapter 2 - separating and supporting hyperplanes,” in Convex Optimization, pp. 46–50, The Edinburgh Building, Cambridge, CB2 8RU, UK: Cambridge University Press, 2004.

[54] R. Van Parys, Fast and Distributed Model Predictive Control: Tailored solutions for mechatronic systems. PhD thesis, KU Leuven, Celestijnenlaan 300 bus 2420, B-3001 Leuven (Belgium), October 2018.

[55] G. F. Franklin, J. D. Powell, and A. Emami-Naeini, “Chapter 6 - the frequency response design method,” in Feedback Control of Dynamic Systems, pp. 328–452, Edinburgh Gate, Harlow, Essex CM20 2JE, England: Pearson Education Limited, 2015.

[56] G. Pipeleers and J. Swevers, “C9. Control design using frequency response methods,” in Control Theory - Handouts, CuDi VTK vzw, 2017.

[57] Autonomy Lab, “bebop_vel_ctrl.” https://github.com/AutonomyLab/bebop_vel_ctrl, 2016.

[58] H. Elci, R. W. Longman, and R. Ugoletti, “Discrete frequency based learning control for precision motion control,” in Proceedings of IEEE International Conference on Systems, Man and Cybernetics, vol. 3, pp. 2767–2773, Oct 1994.

[59] M. Tomizuka, “Zero phase error tracking algorithm for digital control,” Journal of Dynamic Systems, Measurement, and Control, vol. 109, pp. 65–68, Mar 1987.

Download scriptie (15.87 MB)
Universiteit of Hogeschool
KU Leuven
Thesis jaar
2019
Promotor(en)
Jan Swevers; Goele Pipeleers
Thema('s)