Erg 'slim' is deze robotauto niet. Een tweede lijnsensor kan zijn intelligentie opkrikken. Met een raspberry pi camera die vormen, kleuren of gezichten kan ontdekken maak je hem pas echt 'virtueel intelligent', in theorie althans.
We leren al doende een beetje linux en python want de raspberry pi heeft als besturingssyteem een versie van linux en alle programeerwerk gebeurt met de taal python.
Stap 1: werken met de raspberry pi en python
De raspberry pi heeft geen harde schijf ; alle data en het besturingssysteem staan op een sd-kaartje. We hebben sd-kaartjes met het standaardbesturingssyteem raspbian.
Wie zelf een sd-kaartje wil maken met een besturingssysteem:
Download het "raspbian jessie met desktop"-zipbestand van de officiële site: https://www.raspberrypi.org/downloads/raspbian/
Op deze plaats vind je de methode om het zipbestand op een sd-kaartje te copiëren. Voor wie met de camera vormen, kleuren en gezichten wil herkennen: verderop in de tekst wordt uitgelegd hoe je de extra software hiervoor kan installeren. Dit is een lang en foutgevoelig werkje. Als je dit voorlopig wil overslaan kan je ook een sd-kaartje gebruiken waar we deze software al op hebben geïnstalleerd.
Met een raspberry pi kan je leren programmeren in veel verschillende talen maar de meest gebruikte is toch wel python. Hier vind je enkele introducties tot de programeertaal die wij hier gaan gebruiken.
Stap 2: de basiskit
De worksheets op http://camjam.me/edukit tonen hoe je twee motoren kan laten draaien en daarmee dus twee wielen zodat je de auto in alle mogelijke richtingen kan laten rijden. Een lijnsensor en een afstandssensor programmeren is de kers op de taart van deze zelfrijdende "google auto". Alle programma's zijn geschreven in en worden uitgevoerd met de programeertaal python (zie boven).
De kit bevat 9 worksheets:
- Worksheet 1 – Introduction
- Worksheet 2 – Building a robot
- Worksheet 3 – Running the motors
- Worksheet 4 – Driving and turning
- Worksheet 5 – Line detector
You may also want to download the Test Line - Worksheet 6 – Distance
- Worksheet 7 – Control and calibration
- Worksheet 8 – Line follower
You may also want to download the Line following course - Worksheet 9 – Obstacle avoidance
- Worksheet 10 – Remote control : Instructions for using a keyboard remote control over SSH
De robotauto met één lijnsensor over een lijn laten rijden is een hachelijke zaak. Met twee lijnsensoren kan je een veel beter resultaat bekomen. Je kan hier je eerste echte stapjes in het programmeren met python zetten. Hier vind je enkele introducties tot deze programeertaal.
Stap 4: camera installeren en gebruiken
Op de officiële website van raspberry pi vind je duidelijke instructies om de raspberry pi camera aan te sluiten, te activeren en ermee te programmeren in python.
Stap 5: openCV installeren en gebruiken
Met een raspberry pi camera kunnen we in theorie nog heel wat meer. Met de programmeerbibliotheek OpenCV kunnen we de Pi "artificiële intelligent" maken: gezichten, kleuren en vormen herkennen.
De installatie-handleiding van OpenCV 3 voor Raspberry Pi 2/3 met Raspbian Jessie door
We hebben op YouTube ook filmpjes gezien van mensen die erin geslaagd zijn de robotauto te laten rijden achter een bal maar de resulaten zijn erg afhankelijk van welk licht er in de kamer is. Een bepaalde vorm of kleur kan op een bepaald moment ontdekt worden en een seconde later weer niet. Door slim te programmeren kan je dat proberen op te lossen. Tijd om te experimenteren dus.
Onze python2-bestanden om rood, blauw, cirkels, gezichten, ogen, neuzen en monden te ontdekken, vind je hier: https://drive.google.com/drive/folders/0B8B_4EJFaJPgZjh6U3ppOTBBc2s?usp=sharing
Stap 6: raspberry pi besturen op afstand via wifi
Steek eerst de wifi-router in het stopcontact.
Om de raspberry pi te verbinden met het netwerk moeten we hem eerst verbinden met het wifi-netwerk. Het is daarom het gemakkelijste om de raspberry pi even aan te sluiten op een scherm.
Rechts bovenaan klikken we op het wifi-symbool en vullen het paswoord in (ligt in de doos van de router)
We starten het programma LXTerminal en typen: hostname -I. We schrijven dat IP-adres op.
We controleren ook even bij Start > Voorkeuren > Raspberry pi Configuratie programma > tabblad interfaces of SSH "aan" staat.
We downloaden het python-programma rijden3.py en slaan het bijvoorbeeld op in /home/pi/Downloads. Dit programma laat je toe de pijtjestoetsen te gebruiken om te sturen.
Als je de robotauto vanaf je eigen windows-pc wil gebruiken dan moet je eerste een ssh-programma installeren. Je kan ook een linux-pc gebruiken of een andere raspberry pi aansluiten op het scherm. Daarna openen we LXTerminal:
ssh pi@192.XXX.XXX.XXX (= het IP-adres dat je had opgeschreven)
Mogelijk moet je een keer 'yes' antwoorden en dan het paswoord van de raspberry pi invullen: als je dat niet veranderd hebt, is dat 'raspberry'.
Je bent nu 'in' de robotauto. Type 'pwd' om te weten waar je bent en 'cd /home/pi/Downloads' om naar de Downloads-map te gaan en 'ls' om te kijken of 'rijden3.py' hier staat.
Om het programma te starten: sudo python rijden3.py
Je kan nu de robotauto op afstand besturen met de pijltjestoetsen.
Probeer eventueel rijden4.py en rijden5.py (die de robotauto laten stoppen als ze rood en/of een cirkel zien). Pas het programma aan naar jouw wensen.
Geen opmerkingen:
Een reactie posten