Logboek+Dries

= = Logboek Dries

__7 oktober 2011__
toc We zij nu aan het werken naar een tussendoel, namelijk de drone zo programmeren dat hij een balletje kan volgen. Ik ben nu 2 dagen bezig geweest met de librarys van OpenCV en het is me gelukt om een balletje te detecteren en hier rond een cirkel te teken, ook kan ik de coördinaten opvragen van het middelpunt van de cirkel. Hiervoor gebruik ik nog wel mijn eigen webcam en niet de cam van de drone. Dit wordt mijn volgend punt om aan te werken. Nu kan ik een blauw balletje detecteren, maar uit testen blijkt dat dit niet de ideale kleur is om de detecteren omdat deze veel voor komt "in het dagelijks leven" waardoor het programma nog veel valse signalen geeft. Daarom zal ik de code nog aanpassen zodat we een andere kleur kunnen detecteren die niet zo veel voor komt in het dagelijks leven, zodat we niet te veel valse signalen binnen krijgen.

De methode die ik heb toegepast om het balletje te detecteren:
 * kleur vinden op het beeld
 * omzetten naar wit-zwart (de kleur blauw wordt wit, alle rest zwart, zo is de achtergrond weg)
 * beeld smoother maken (hierop werkt het algorithme om cirkels te detecteren beter)
 * cirkel detecteren via het [|Hough algorithme]

Het groene puntje is het midden van de bal, dit moet nog verbeterd worden Omgezet naar zwart wit Smoother gemaakt De coordinaten van het groene puntje binnen het beeld(waarde tussen 0 en 255)

De code kan je terugvinden op de algemeene code pagina onder codenummer OKT7

__8 oktober 2011__

 * Vandaag de code nog wat aangepast op een witte bal te detecteren, uiteindelijk bleek dat dit het best detecteerbaar was wanneer je binnen werkt. Ook Wordt nu al geprint of de Drone naar boven,onder,links of rechts moet bewegen om de bal in het midden van het scherm te hebben. Hierop staat een speling zodat de Drone niet constant staat te bewegen wanneer je de bal een millimeter verplaatst.
 * inlezen in OpenCv
 * Boek besteld over OpenCV

__9 oktober 2011__

 * Info opzoeken over RGB en HSV, omdat OpenCV veel gebruik maakt van HSV.
 * [|RGB]
 * [|HSV]

__12 oktober 2011__
Voor de moment ben ik OpenCV aan het leren met simpele voorbeelden, om zo beter te worden in OpenCV om het programma voor het balletje te detecteren nog beter te maken.

Ik heb ook lang zitten sukkelen omdat ik Linking errors kreeg. Dit was omdat er nog een aantal librarys moesten gelinkt worden aan het project in Visual Studio.
 * Inlezen in OpenCV
 * Voorbeeldje gemaakt om een foto in te lezen en om te vormen naar grijsschaal

__13 oktober 2011__

 * Code voor het balletje te detecteren nog beter gemaakt. Eerst had ik het moeilijk om de kleur goed in te stellen, dit kwam omdat ik met de BGR kleurnotatie werkte terwijl de functie de HSV notatie verwacht. Dus heb ik nu de HSV kleur voor een rood balletje ingegeven en het detecteren van een rood balletje werkt nu natuurlijk veel beter.
 * Afgesproken met Maarten om zondag een filmpje te gaan maken van een boomgaard.

__16 oktober 2011__

 * Vandaag zijn we filmpjes gaan maken met de Drone in een boomgaard. Deze was verre van perfect dus gaan we in de loop van volgende week nog een betere boomgaard zoeken. De filmpjes zullen ook online komen zodat andere mensen er ook wat aan hebben.

__19 oktober 2011__

 * In mijn boek van openCV gelezen en een aantal voorbeelden gemaakt, waardoor ik al het een en ander begin te begrijpen.

__22 oktober 2011__

 * Code voor het balletje te vinden aangepast met de functies dilation en erosion, om nog een beter resultaat te krijgen. Nu wil ik de code nog zo aanpassen, zodat je eerst het balletje moet aanduiden in het beeld, zodat de drone weet welk voorwerp/kleur hij moet volgen.

__26 oktober 2011__

 * Alles software op mijn nieuwe pc installeren + compileren
 * Bezig om code van het baltje samen te voegen met de code van de drone...
 * Schrijven aan literatuurstudie

problemen: De code die de drone bestuurd liep altijd vast op windows7. Uiteindelijk bleek dat dit door de thread kwam die ik zelf had bijgemaakt en op windows xp had getest.


 * Code balletje aangepast door er een smoothingsalgoritme op los te laten alvorens te converteren naar zwart-wit afbeelding, op aanraden van meneer Goedemé. Dit geeft inderdaad een beter resultaat.
 * Problemen bij het samenvoegen van de code van het balletje met de code van de Drone. Ik probeer de code van het balletje vinden te laten draaien in een thread van de ARDrone, maar het lijkt alsof de ik de webcam niet open krijg in de thread. Morgen ga ik verder proberen.

__29 oktober 2011__

 * Code van" het balletje vinden" draait nu ook vanuit de code van de Drone
 * Code geschreven om het beeld van de cam van de Drone weer te geven met OpenCV.
 * Mijlpaal 2 bereikt.

__6 november 2011__

 * Code om bal te vinden aangepast om de camera van de drone te gebruiken.
 * Globale variable aangemaakt met x,y,straal,en visible, voor de positie van de bal.
 * Code is te vinden onder NOV6 en de code waar Maarten mee kan verder werken in NOV6 sec.

__7 november 2011__

 * In de code van het balletje zoeken zocht ik naar de rode kleur op het verkeerde frame (bgr). Heb dit nu aangepast naar het juiste frame, waardoor de HSV waardes van de kleur ook anders zijn als bij de vorige code. Aanpassingen zijn te vinden onder NOV7

__9 november 2011__

 * Gewerkt aan literatuurstudie
 * Code aangepast om het balletje te detecteren van op grotere afstand.

__12 november 2011__

 * Gewerkt aan literatuurstudie
 * Code aangepast zodat S en V van HSV in het begin kunnen worden afgesteld. Zie NOV12

__16 november 2011__

 * Vandaag de PID lus van Maarten ook bij mij in de code van de SDK toegevoegd. Ik kan de Drone alleen in de Yaw richting laten bewegen, omdat bij het omhoog vliegen, de drone vanzelf rond zijn als draait. Dit probleem kan te wijten zijn aan de zwaardere batterij, propellor die wat scheef staat of een motor die niet meer helemaal oke is. Dit probleem ga ik nog uitzoek, maar is geen prioriteit. Een 2de probleem is dat bij mij, de video een dikke seconde te laat binnenkomt, waardoor het moeilijk is om direct te reageren op het beeld. Dit is wel niet het geval in Urbi, dus ga ik er ook niet te veel tijd insteken om dit probleem op te lossen in de parrot SDK

__27 november 2011__

 * Literatuurstudie
 * Opzoeken algoritmes grasdetectie

__2 december 2011__

 * Code aangepast om meerdere ballen in beeld te vinden voor de volgende mijlpaal. Dit lukt, maar de coordinten van de ballen zitten niet altijd in de zelfde volgorde. Soms wordt bal A eerst gedetecteerd en opgeslagen en dan bal B, maar het kan ook zijn dat bal B eerst wordt gevonden. Hierop moeten we nog iets vinden.[[image:2ballen.png width="800" height="310"]]

Het vervolg is terug te vinden in het logboek van het tweede semester: Logboek 2de semester