Als er een stoel wordt gedetecteerd zal de robot zich hier
recht voor moeten positioneren, deze vastpakken, een rondje draaien, de stoel
weer terug zetten, om de stoel heen manoeuvreren en verder gaan in zijn pad. De
stoel gaat herkend worden door middel van een markeerder die wordt gedetecteerd
met een pixi CMUcam5 die werkt met een arduino. De markeerder bevat meerdere kleuren
waardoor ook de hoek van de markeerder herkend kan worden, waardoor de robot de
stoel op de verkeerde hoek kan pakken.
De gegevens uit de camera kan uitgelezen worden via de
seriële monitor op de arduino, de gegevens zien er dan als volgt uit:
Detected 1:
block 0: sig: 12 x: 159 y: 109 width: 61
height: 61 angle: 20
Er wordt een object gedetecteerd
met een ‘signature’, dit is de kleur of kleurcode die je aan de pixy camera geleerd
hebt. In dit geval is de signature 12, dit wilt zeggen dat het een combinatie
is van kleurcode 1 en 2. De positie van het object wordt ook weergegeven op de
x (tussen 0 en 319) en y ( tussen 0 en 199) as. De hoogte en de breedte van het
object worden weergegeven, hiermee kun je het oppervlak van het object
berekenen. Tot slot wordt de hoek waaronder het object zit weergegeven als er
gebruik gemaakt word van een markeerder met meerdere kleuren.
De informatie van de
objecten kunnen in de volgende functie op gevraagd worden:
· pixy.blocks[i].signature
· pixy.blocks[i].x
· pixy.blocks[i].y
· pixy.blocks[i].width
· pixy.blocks[i].height
· pixy.blocks[i].angle
Waarbij de I het
nummer van het gedetecteerde object is.