1 |
Autonoma drönare : modifiering av belöningsfunktionen i airsim / Autonomous Drones : modification of the reward function in airsimDzeko, Elvir, Carlsson, Markus January 2018 (has links)
Inom det heta forskningsområdet med självflygande drönare sker det en kontinuerlig utveckling både inom forskningen och inom industrin. Det finns flera forskningsproblem kring autonoma fordon, inklusive autonom styrning av drönare. Ett intressant spår för autonom styrning av drönare, är via deep reinforcement learning, dvs. en kombination av djupa neuronnät med reinforcement learning. Problemen som ofta uppkommer är tidskrävande träning, ineffektiv manövrering och problem med oförutsägbarhet och säkerhet. Även höga kostnader kan vara ett problem. Med hjälp av simuleringsprogrammet AirSim har vi fått en möjlighet att testa aktuella algoritmer utan hänsyn till kostnader och andra begränsande faktorer som kan utgöra svårigheter för att arbeta inom detta område. Microsofts egenutvecklade simulator AirSim tillåter användare att via deras applikationsprogrammeringsgränssnitt kommunicera med drönaren i programmet, vilket gör det möjligt att testa olika algoritmer. Frågeställningen som berörs är hur kan den existerande belöningsfunktionen i AirSim simulatorn förbättras med avseende på att undvika hinder och förflytta drönaren från start till mål. Målet med undersökningen är att studera och förbättra AirSims existerande Deep Q-Network algoritm med fokus på belöningsfunktionen och testa den i olika simulerade miljöer. Med hjälp av två olika experiment som utförts i två olika miljöer, observerades belöningen, antalet kollisioner och beteendet agenten hade i simulatorn. Vi lyckades inte få fram tillräckligt med data för att kunna mäta en tydlig förbättring av den modifierade belöningsfunktionens utvärderingsmått, dock kan vi säga att vi lyckades utveckla en belöningsfunktion som presterar bra genom att den undviker hinder och tar sig till mål. För att kunna jämföra vilken av belöningsfunktionerna som är bättre, behövs mer forskning inom ämnet. Med de problem som fanns med att samla in data är slutsatsen att vi inte lyckades förbättra algoritmen då vi vet inte om den presterar bättre eller sämre än den existerande belöningsfunktionen. / Drones are growing popular and so is the research within the field of autonomous drones. There are several research problems around autonomous vehicles overall, but one interesting problem covered by this study is the autonomous manoeuvring of drones. One interesting path for autonomous drones is through deep reinforcement learning, which is a combination of deep neural networks and reinforcement learning. Problems that researchers often encounter within the field stretch from time consuming training, effective manoeuvring to problems with unpredictability and security. Even high costs of testing can be an issue. With the help of simulation programs, we are able to test algorithms without any concerns to cost or other real-world factors that could limit our work. Microsoft’s own simulator AirSim lets users control the vehicle in their simulator through an application programming interface, which enables the possibility to test a variety of algorithms. The research question addressed in this study is how can the pre-existing reward function be improved on avoiding obstacles and move the drone from start to goal. The goal of this study is to find improvements on AirSim’s pre-existing Deep Q-Network algorithm’s reward function and test it in two different simulated environments. By conducting several experiments and storing evaluation metrics produced by the agents, it was possible to observe a result. The observed evaluation metrics included the average reward that the agent received over time, number of collisions and overall performance in the respective environment. We were not successfully able to gather enough data to measure an improvement of the evaluation metrics for the modified reward function. The modified function that was created performed well but did not display any substantially improved performance. To be able to successfully compare if one reward function is better than the other more research needs to be done. With the difficulties of gathering data, the conclusion is that we created a reward function that we can’t tell if it is better or worse than the benchmark reward function.
|
2 |
Autonom drönare tar sig förbi rörliga hinderGustafsson, Philip January 2022 (has links)
Det här projektet optimerar ett system som använder den statiska sökalgoritmen A* för att fåen autonom drönare att kunna undvika rörliga och målsökande hinder på sin färd emot enangiven måldestination. Optimeringen bygger på tidigare arbeten där bland annat ModelPredictive Control (MPC) har en stor påverkan på det implementerade systemet.Resultatet av projektet visar att det är möjligt att optimera ett system som använder sig av enstatisk planeringsalgoritm genom lokal planering inom det område drönaren har kunskap om.Ett högt planeringstempo där drönaren enbart följer första delen i den genererade planen,möjliggör att drönaren hela tiden kan anpassa sig till förändringar i omgivningen och undvikakollision. / This project optimizes a system that uses the static search algorithm A* to enable anautonomous drone to avoid moving and target-seeking obstacles on its way to a specifieddestination. The optimization is based on previous work where Model Predictive Control(MPC) has a major impact on the implemented system.The result of the project shows that it is possible to optimize a system using a static planningalgorithm through local planning in the area of which the drone has knowledge. A highplanning pace enables the drone to follow the first part of the generated plan, which meansthat the drone can constantly adapt to changes in the surroundings and avoid collisions.
|
3 |
Exploration of AirSim using C and Rust in the Context of SafetyCritical Systems / Utforskning av AirSim med hjälp av C och Rust inom ramen för Säkerhetskritiska SystemAros Banda, Daniel, Wachsler, Joel January 2018 (has links)
AirSim is a new simulator developed as a plugin for the Unreal Engine, aiming to be a useful tool aiding the development and testing of algorithms for autonomous vehicles. Due to AirSim still being in its infancy there is little to none research available of its possibilities or detailed guidelines and tutorials on how to use its APIs.Rust is a new systems programming language with the purpose of being safe, practical and concurrent which through design choices can solve some of the major drawbacks of the C programming language such as memory leaks, thread management, and segmentation faults.Researching the features of AirSim and its different ways of communicating, we determine the possibility of implementing a custom flight controller in Rust and C able to control a drone in the simulator and evaluate the capabilities of Rust compared to C. This is conducted by reading available documentation for AirSim, studying the source code and learning about the communication protocols used by AirSim.This thesis results in an implementation of a custom flight controller in Rust and C that controls a drone in AirSim using a communication protocol named MAVLink which enables fine-grained control of the motors. The conclusion made about the comparison of Rust and C is that both languages were able to implement the safety-critical functionality of the flight controller and that Rust provided capabilities which could be useful when developing safety-critical systems. / AirSim är en ny simulator utvecklad som ett plugin för Unreal Engine, med målet att fungera som ett hjälpmedel inom utveckling och testning av algoritmer för autonoma fordon. På grund av att AirSim fortfarande är väldigt ungt finns väldigt lite forskning tillgänglig om dess möjligheter eller detaljerade riktlinjer och beskrivningar för användningen av dess APIer.Rust är ett nytt programmeringsspråk med målet att vara säkert, praktiskt och parallellt vilket genom designval kan lösa några av de största problemen med programmeringsspråket C som till exempel minnessläckor, trådhantering och segmenteringsfel.Genom att undersöka funktionerna i AirSim och dess olika sätt att kommunicera, utforskar vi möjligheten av att utveckla en egen flygkontroller i Rust och C som kan styra en drönare i simulatorn och utvärdera Rust i förhållande till C. Detta genomförs genom att läsa tillgänglig dokumentation för AirSim, studera källkoden och lära oss de kommunikationsprotokoll som används av AirSim.Denna avhandling resulterar i implementationen av en egen flygkontroller i Rust och C som styr en drönare i AirSim med kommunikationsprotokollet MAVLink, vilket möjliggör en noggrann kontroll av motorerna. Slutsatsen gällande Rust och C är att båda språken fungerade väl för implementationen av säkerhetsritiska funktioner i flygkontrollern samt att Rust erbjöd förmågor som kan visa sig vara användbara vid utveckling av säkerhetskritiska system.
|
4 |
MULTI-DRONE COLLABORATION FOR SEARCH AND RESCUE MISSIONSForsslund, Patrik, Monié, Simon January 2021 (has links)
Unmanned Aerial Vehicle (UAV), also called drones, are used for Search And Rescue (SAR) missions, mainly in the form of a pilot manoeuvring a single drone. However, the increase in labour to cover larger areas quickly would result in a very high cost and time spent per rescue operation. Therefore, there is a need for an easy to use, low-cost, and highly autonomous swarm of drones for SAR missions where the detection and rescue times are kept to a minimum. In this thesis, a Subsumption-based architecture is proposed, which combines multiple behaviours to create more complex behaviours. An investigation of (1) what are the critical aspects of controlling a swarm of drones, (2) how can a combination of different behavioural algorithms increase the performance of a swarm of drones, and (3) what benchmarks are necessary when evaluating the fitness of the behavioural algorithms. The proposed architecture was simulated in AirSim using the SimpleFlight flight controller through experiments that evaluated the individual layers and missions that simulated real-life scenarios. The results validate the modularity and reliability of the architecture, where the architecture has the potential for improvements in future iterations. For the search area of 400×400meters, the swarm consistently produced an average area coverage of at least 99.917% and found all the missing people in all missions, with the slowest average being 563 seconds. Compared to related work, the result produced similar or better times when scaled to the same proportions and higher area coverage. As comparisons of results in SAR missions can be difficult, the introduction of Active time can serve as a benchmark for others in future swarm performance measurements.
|
Page generated in 0.0826 seconds