Programmeren van een Drone
-
Hallo,
Wij zijn 3 leerlingen uit 6VWO op ISW Hoogeland. Wij volgen hier het Technasium en zijn nu bezig met onze meesterproef.
Wij hebben de de opdracht gekregen een schaduwcreërend voorwerp te ontwerpen dat boven je hooft hangt en je kan volgen zodra je beweegt. De opdrachtgever kwam met de eis dat dit een drone moest worden.De hoofdvraag bij dit project is: Hoe creëren we een werkende, schaduwcreërende drone die je volgt?
Wij zijn nu al een aantal maanden bezig met dit project en zijn de afgelopen weken bezig geweest met het programmeren. Wij lopen nu tegen een aantal dingen aan. Wij hebben het programma "Matlab" geïnstalleerd en willen hiermee gaan programmeren. De Drone die wij gaan gebruiken heeft een camera, door middel van camera beelden willen wij ervoor zorgden dat de drone je volgt. Je hebt bijvoorbeeld een geel petje op en de camera detecteert dit petje en moet dit petje steeds volgen. Een aantal vragen waar wij op dit moment niet uitkomen:
- Wij hebben op Matlab even gekeken naar de functie "Image acquisition". Maar hoe kunnen we de beelden die binnen komen via de camera omzetten in een beweging van de drone? Stel dus dat je een geel petje op hebt en de camera detecteert dit. Stel dat dit gele petje zich verplaatst, dan moet de camera er dus weer voor zorgden, dat dit object in het midden van het beeld komt. Hoe kunnen we dit doen?
- Een ander vraag, Hoe kunnen we de beelden die de drone maakt, in Matlab krijgen?
wij hopen dat u ons hierbij kunt helpen!
groetjes Wilke, Fleur en Erik
-
Hoi Wilke, Fleur en Erik,
Dat is een behoorlijk uitdagend project dat jullie als opdracht hebben gekregen. En het verbaast me dat jullie toegang tot Matlab hebben, maar dat maakt wel een hoop mogelijk :).
Ik begin met het antwoord op jullie tweede vraag. Jullie willen in "real time" de beelden van de camera in matlab laden en het gele petje herkennen. Ik neem aan dat de beelden met een webcam o.i.d. worden gemaakt? In Matlab kun je de video dan laden door een "serial" object aan te maken en de juiste communicatie poort (USB) toe te wijzen. Meer informatie kun je hier en hier vinden.
De verschillende frames van de video wil je dan bewerken, zodat je de locatie van het gele petje kunt bepalen en kan zorgen dat deze altijd in het midden van het beeld zit. Dit betekent namelijk dat de drone zich recht boven de persoon bevindt. Het gele petje kun je herkennen door zogenaamde beeldsegmentatie toe te passen. De kleur van het petje is heel herkenbaar, dus wat je kunt doen is gele objecten in je video detecteren. Hier kun je meer informatie vinden.
Als je uiteindelijk de positie van het gele petje weet kun je de besturen van de drone zo aanpassen dat hij altijd de positie van het petje in het midden probeert te houden. Als het petje dus links van het midden wordt gedetecteerd, moet de drone naar links bewegen etc.
Ik hoop dat dit jullie verder kan helpen!
Groeten,
Matthijs