Lua scripting in Navio2 ArduPilot:Developing an autonomous parachute deployment system
Kekkonen, Aapo (2026)
Kekkonen, Aapo
2026
Tekniikan ja luonnontieteiden kandidaattiohjelma - Bachelor's Programme in Engineering and Natural Sciences
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
Hyväksymispäivämäärä
2026-01-26
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202601251845
https://urn.fi/URN:NBN:fi:tuni-202601251845
Tiivistelmä
Recent technological advances in unmanned autonomous vehicles have shown their potential in solving many tasks that would otherwise be unsolvable using traditional vehicles or methods. The key benefits of such autonomous systems are accuracy, reaction speed and safety. Moreover, autonomous vehicles have proven to be more cost-effective in the long run, as they can operate continuously and around the clock with greater efficiency than human operators. Consequently, many heavy, unpleasant, and dangerous tasks can be automated, yielding substantial improvements in both quality of life and economic productivity. Overall, new application fields are continuously emerging as the capabilities of drones improve due to rapid technological development. This thesis demonstrated the feasibility of adding easily customizable new features to ArduPilot-based autopilot drones. This was achieved by constructing a physical test bench environment and developing Lua scripts that were run on it.
Unmanned vehicles, or drones, are categorized into various domains depending on their operational environment. This thesis examined the development of unmanned aerial vehicles, also known as UAVs. The development began with testing the key components individually and constructing test bench environment to integrate the components prior to final deployment. Within this thesis, components such as the Raspberry Pi, Navio2, GPS, and servo motors were tested, and the required software was installed. Furthermore, this thesis delved into the key principles of a functional unmanned aircraft system, including the development of a ground station test bench.
The new features were added with the help of Lua scripts. In fact, the fundamentals of ArduPilot Lua scripting were explained through step-by-step test codes, which were ultimately combined into an integrated autonomous parachute deployment system. This demonstrated the emerging capabilities of ArduPilot Lua scripts and the ease of utilizing them for more advanced tasks. Consequently, this thesis served as a fair example and motivation for adding custom features to all types of ArduPilot drones. Additionally, the workflow of developing test bench environments can also be utilized elsewhere. Viimeaikaiset edistysaskeleet autonomisissa ajoneuvoissa ovat osoittaneet niiden potentiaalin ratkaista uudenlaisia ongelmia, joita ei tavanomaisilla ajoneuvoilla voida ratkaista. Autonomisten järjestelmien tärkeimpinä etuina ovat niiden tarkkuus, nopeus ja turvallisuus. Tämän lisäksi autonomiset ajoneuvot ovat usein kustannustehokkaampia pitkällä aikavälillä, sillä ne voivat toimia yhtäjaksoisesti ja ympärivuorokautisesti ihmistä tehokkaammin. Tämän seurauksena raskaiden, epämieluisien ja vaarallisien työtehtävien automatisointi on kannattavaa, mikä parantaa merkittävästi yleistä elintasoa sekä taloudellista tuottavuutta. Kaiken kaikkiaan nopea teknologinen kehitys laajentaa autonomisten ajoneuvojen sovelluskohteita jatkuvasti. Tässä työssä osoitettiin, kuinka helposti muokattavia uusia ominaisuuksia lisätään ArduPilot-pohjaiseen autopilottiin. Tämä saavutettiin rakentamalla fyysinen testipenkkiympäristö, jossa kehitetyt Lua-skriptit ajettiin.
Miehittämättömiä ajoneuvoja eli drooneja on monenlaisia riippuen niiden käyttöympäristöstä. Tämä työ käsitteli miehittämättömien ilma-alusten (Unmanned Aerial Vehicles) kehittämistä. Kehitystyö alkoi testipenkkien rakentamisella, joiden tarkoituksena oli testata ja integroida komponentit toimivaksi järjestelmäksi ennen lennokin varsinaista rakentamista. Työ sisälsi komponenttien, kuten Raspberry Pi:n, Navio2:n, GPS:n ja servomoottoreiden testaukset sekä tarvittavien ohjelmistojen asennukset. Lisäksi työ käsitteli täydellisen miehittämättömän ilma-alusjärjestelmän toimintaa sisällyttäen myös maa-aseman testipenkin rakentamisen.
Lennokin uudet ominaisuudet lisättiin Lua-skripteillä, joihin tutustuttiin yksityiskohtaisesti. Työ kehitti komponenttikohtaisesti neljä skriptiä, jotka yhdistettiin lopulta autonomiseksi laskuvarjojärjestelmäksi. Työ osoitti Lua-skriptien laajat käyttömahdollisuudet monimutkaisiin tehtäviin. Työ tarjosi myös motivaatiota ja hyvän esimerkin muiden tyyppisten ArduPilot-droonien Lua-skriptaukseen. Lisäksi työssä havaitut testipenkkien hyödyt soveltuvat hyvin myös muihin usean komponentin projekteihin.
Unmanned vehicles, or drones, are categorized into various domains depending on their operational environment. This thesis examined the development of unmanned aerial vehicles, also known as UAVs. The development began with testing the key components individually and constructing test bench environment to integrate the components prior to final deployment. Within this thesis, components such as the Raspberry Pi, Navio2, GPS, and servo motors were tested, and the required software was installed. Furthermore, this thesis delved into the key principles of a functional unmanned aircraft system, including the development of a ground station test bench.
The new features were added with the help of Lua scripts. In fact, the fundamentals of ArduPilot Lua scripting were explained through step-by-step test codes, which were ultimately combined into an integrated autonomous parachute deployment system. This demonstrated the emerging capabilities of ArduPilot Lua scripts and the ease of utilizing them for more advanced tasks. Consequently, this thesis served as a fair example and motivation for adding custom features to all types of ArduPilot drones. Additionally, the workflow of developing test bench environments can also be utilized elsewhere.
Miehittämättömiä ajoneuvoja eli drooneja on monenlaisia riippuen niiden käyttöympäristöstä. Tämä työ käsitteli miehittämättömien ilma-alusten (Unmanned Aerial Vehicles) kehittämistä. Kehitystyö alkoi testipenkkien rakentamisella, joiden tarkoituksena oli testata ja integroida komponentit toimivaksi järjestelmäksi ennen lennokin varsinaista rakentamista. Työ sisälsi komponenttien, kuten Raspberry Pi:n, Navio2:n, GPS:n ja servomoottoreiden testaukset sekä tarvittavien ohjelmistojen asennukset. Lisäksi työ käsitteli täydellisen miehittämättömän ilma-alusjärjestelmän toimintaa sisällyttäen myös maa-aseman testipenkin rakentamisen.
Lennokin uudet ominaisuudet lisättiin Lua-skripteillä, joihin tutustuttiin yksityiskohtaisesti. Työ kehitti komponenttikohtaisesti neljä skriptiä, jotka yhdistettiin lopulta autonomiseksi laskuvarjojärjestelmäksi. Työ osoitti Lua-skriptien laajat käyttömahdollisuudet monimutkaisiin tehtäviin. Työ tarjosi myös motivaatiota ja hyvän esimerkin muiden tyyppisten ArduPilot-droonien Lua-skriptaukseen. Lisäksi työssä havaitut testipenkkien hyödyt soveltuvat hyvin myös muihin usean komponentin projekteihin.
Kokoelmat
- Kandidaatintutkielmat [11031]
