Robotica is een van de vele toepassingen die de makers van de Raspberry Pi voor hun mini-computer voor ogen hadden. Door bepaalde componenten te combineren met de juiste software kan de Raspberry Pi worden omgevormd tot een kleine robot met een indrukwekkend educatief potentieel. Een van de beste voorbeelden die we buiten vinden is Empathybot, een robot die emoties detecteert met een Raspberry Pi 3 als brein en de Google Cloud Vision API.
Een robot die emoties kan lezen. Stel je voor dat je zoiets voor een klaslokaal zou maken. Tien jaar geleden zou een project met die kenmerken een fortuin hebben gekost, maar nu kunnen we praten over 230 dollar per robot, en als we improviseren, wordt het aantal nog lager. Uiteraard is de sleutel een mini-computer met de juiste balans tussen grootte en verwerkingskracht, wat ons aan de poorten van de Raspberry Pi 3 brengt. De oudere broer van de Raspberry-familie heeft een bevoorrechte plaats gevonden in het ontwerp van de robot Empathybot, en hier zie je hem in actie.
Hoe werkt Empathybot?
De Empathybot nadert een persoon (met behulp van de GoPiGo-behuizing of iets dergelijks) en detecteert de benodigde afstand om met hem of haar te interageren met behulp van een ultrasone sensor. Vervolgens maakt de robot een foto van het gezicht en verwerkt deze met de Raspberry Pi 3 in combinatie met de Google Cloud Vision API. De vier emoties die Empathybot kan detecteren zijn blijdschap, verdriet, boosheid en verrassing. Afhankelijk van de emotie zal de Empathybot proberen een gesprek te starten, vragen waarom we blij zijn, of of we een knuffel willen. De gebruikte software op dit punt heet eSpeak, en wanneer de interactie eindigt, beweegt de Empathybot zich weg om iemand anders te zoeken.
Beperkingen van Cloud Vision
De robot werkt zoals verwacht, maar de belangrijkste beperkingen zijn de verantwoordelijkheid van de Cloud Vision API. Voor de API was het erg moeilijk om boosheid of verrassing bij volwassenen te detecteren, maar het registreerde goede resultaten voor blijdschap en verdriet. Een te lange baard kan Cloud Vision gemakkelijk in de war brengen, en bij het zien van het gezicht van een baby kwam het bijna altijd tot de conclusie dat de baby verdrietig was, terwijl hij in werkelijkheid blij en verrast leek door de beweging van de robot. Alle betrokken code is te vinden op GitHub, en de instructies om Empathybot te bouwen staan op de officiële pagina (link hieronder).