Skip to main content

De Vision Sensor gebruiken - C++

Icoon Toolbox voor docenten Toolbox voor leerkrachten - Het doel van deze activiteit

Om de Vision Sensor effectief te kunnen gebruiken, moeten leerlingen deze kunnen configureren en afstemmen op de omgeving waarin deze zich bevindt. In de volgende activiteit leren de studenten hoe ze beide kunnen doen.
Voor meer informatie over het programmeren van de Vision Sensor met VEXcode V5, ga naar de helpinformatie voorC++in deVEX-bibliotheek.

Hieronder volgt een overzicht van wat uw leerlingen tijdens deze activiteit zullen doen:

  • Open het voorbeeldproject Objecten detecteren (Vision).

  • Configureer de Vision Sensor.

  • Voer het voorbeeldproject Detecting Objects (Vision) uit.

  • Bespreken en reflecteren.

  • Stel de Vision Sensor af.

Tips voor leraren-pictogram Tips voor leraren

Als dit de eerste keer is dat de student VEXcode V5 gebruikt, heeft hij/zij toegangin deVEX-bibliotheek.

Tips voor leraren-pictogram Tips voor docenten - Automatisch aanvullen gebruiken

Autocomplete is een functie in VEXcode V5 die de rest van de opdracht die u typt voorspelt. Terwijl studenten met VEXcode V5 werken, moedig je ze aan om de functie Automatisch aanvullen te gebruiken als hulp bij desyntaxis.

VEXcode V5 met het Drivetrain-gedeelte van een opdracht getypt aan de linkerkant. Aan de rechterkant wordt een scrollende lijst met autoaanvulopties voor die opdracht weergegeven.

De artikelen over Automatisch aanvullen voorC++beschrijven hoe u de functie Automatisch aanvullen kunt gebruiken.

Koop de benodigde hardware, uw technische notebook en open VEXcode V5.

Benodigde materialen:
Aantal Benodigde materialen
1

VEX V5 Klaslokaal Starter Kit

1

VEXcode V5 (nieuwste versie, Windows, MacOS)

1

Technisch notitieboekje

1

Een Vision-sensor configureren (Vex-bibliotheek)

1

Afstemmen van de Vision Sensor (VEX Library)

1

Voorbeeldproject Objecten (Visie) detecteren

Deze activiteit geeft u de tools om de Vision Sensor te gebruiken.

U kunt de Help (C++) informatie in VEXcode V5 gebruiken om meer te weten te komen over de instructies.

VEXcode V5 wordt weergegeven met de Toolbox open aan de linkerkant en de Help voor de Drive for-opdracht open aan de rechterkant. De Help toont de definitie van de opdracht en informatie over hoe deze wordt gebruikt.

 

Stap 1: Open een voorbeeldproject

VEXcode V5 bevat veel verschillende voorbeeldprojecten. Je gebruikt er een in deze verkenningstocht.

Open het voorbeeldproject Objecten detecteren (Vision) door de volgende stappen te doorlopen:

  • Open het menu Bestand.
  • Selecteer Open Voorbeelden.

Werkbalk VEXcode V5 met het menu Bestand geopend en Open Voorbeelden gemarkeerd in een rood vak. Open Voorbeelden is het vierde menu-item onder Nieuw blokkenproject, Nieuw tekstproject en Openen.

  • Gebruik de filterbalk bovenaan de applicatie en selecteer "Sensing".

VEXcode V5 Voorbeeld Projectselectievenster met het Sensing-filter bovenaan geselecteerd en gemarkeerd in een rood vak. Hieronder staan zes voorbeeldprojectpictogrammen.

Selecteer en open het voorbeeldproject Objects (Vision) detecteren.

Voorbeeldprojectpictogram leest Detecting Objects Vision onderaan en toont een blauw diagram van een robot met een sensor die de objectdetectie hierboven aangeeft.

Sla uw project op als Objectdetectie.

  • Controleer of de projectnaam Objecten detecteren nu in het venster in het midden van de werkbalk staat.

Het dialoogvenster Projectnaam in de VEXcode V5-werkbalk leest Objecten detecteren en toont dat sleuf 1 aan de linkerkant is geselecteerd en leest Opgeslagen aan de rechterkant.

Tips voor leraren-pictogram Tips voor leraren

  • Zorg ervoor dat de studenten Open Voorbeelden hebben geselecteerd in het menu Bestand.

  • Zorg ervoor dat de studenten het voorbeeldproject Objecten detecteren (Vision) hebben geselecteerd. U kunt de studenten erop wijzen dat er op de pagina Open Voorbeelden verschillende keuzes zijn.

  • U kunt leerlingen vragen hun initialen of de naam van hun groep aan de projectnaam toe te voegen. Hiermee kunt u de programma's differentiëren als u de studenten vraagt om deze in te dienen.

  • Omdat VEXcode V5 automatisch opslaan ondersteunt, hoeft u het project niet opnieuw op te slaan nadat u het voor de eerste keer hebt opgeslagen.

  • Als studenten hulp nodig hebben bij het sparen, verwijs ze dan naar een van de volgende artikelen: 

Stap 2: Configureren en gebruiken van de Vision-sensor

Het configuratievenster van de Vision-sensor toont een afbeelding van een hand die een rode kubus links vasthoudt, met een overlay op de kubus en de woorden REDBOX en W142 H142 erboven. Aan de rechterkant zijn 3 kleurhandtekeningen ingesteld voor BlueBox, Redbox en Greenbox.

Open het eerder opgeslagen voorbeeldproject Detecting Objects (Vision).

Hoe wordt de Vision-sensor in dit project gebruikt? Voorspel wat er gebeurt wanneer het project wordt uitgevoerd en noteer de voorspellingen in uw technische notitieblok.

#include "vex.h"

met behulp van namespace vex;

event checkBlue = event();
event checkRed = event();
event checkGreen = event();

// Zal controleren of er een blauw object is in het zicht van de Vision
// Sensor en de resultaten weergeven op regel 1 van het scherm van de V5 Brain.
void heeft BlueCallback () {

  Brain.Screen.clearLine (1);
  Brain.Screen.setCursor (1, 1);
  Vision5.takeSnapshot (Vision5 __BLUEBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print ("Blue Object Found");

  } else {
    Brain.Screen.print ("No Blue Object");

} }

// Zal controleren of er een rood object in het zicht van de Vision
// Sensor is en de resultaten weergeven op regel 3 van het scherm van de V5 Brain.
void heeft RedCallback () {

  Brain.Screen.clearLine (3);
  Brain.Screen.setCursor (3, 1);
  Vision5.takeSnapshot (Vision5 __REDBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print ("Red Object Found");

  } else {
    Brain.Screen.print ("No Red Object");

} }

// Zal controleren of er een groen object in het zicht van de Vision
// Sensor is en de resultaten weergeven op regel 5 van het scherm van de V5 Brain.
void heeft GreenCallback() {

  Brain.Screen.clearLine (5);
  Brain.Screen.setCursor (5, 1);
  Vision5.takeSnapshot (Vision5 __ GREENBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print ("Green Object Found");

  } else
    {Brain.Screen.print ("No Green Object");

} }

// Begin projectcode
int main() {
  // Initializing Robot Configuration. NIET VERWIJDEREN!
  vexcodeInit ();

  // Registreer event handlers
  checkBlue (hasBlueCallback); checkRed
  (hasRedCallback); checkGreen
  (hasGreenCallback);

  // Kleine vertraging om ervoor te zorgen dat de event handlers klaar zijn om te worden gebruikt,
  wacht(15, msec);

  // Stel het afdruklettertype voor alle toekomstige afdrukken in op het
  V5-scherm Brain.Screen.setFont (mono40);

  //Voer voortdurend uit om te controleren op nieuwe sensorgegevens
  terwijl (true)
    {checkBlue.broadcastAndWait ()
    ; checkRed.broadcastAndWait ()
    ; checkGreen.broadcastAndWait ();
    wait(0.1, seconds);
  }
}
  • Download en voerhet project uit. Plaats verschillende gekleurde objecten voor de Vision Sensor en observeer het gedrag van de robot. Noteer in uw technische notitieboekje hoe uw voorspelling anders of correct was in vergelijking met wat u daadwerkelijk hebt waargenomen in het project.

Tips voor leraren-pictogram Tips voor leraren

De drie gekleurde objecten hoeven geen kubussen te zijn. Het kunnen ook relatief kleine groene, rode en blauwe objecten zijn.

Motiveer discussie-icoon Motiveer Discussie - Antwoorden

Leid een discussie in de klas, waarbij de leerlingen in hun technische notitieboekje vertellen wat ze van dit project verwachten en hoe ze de Vision Sensor moeten configureren.
Leid de discussie door de volgende vragen te stellen:

  1. Wat zijn de stappen voor het configureren van de Vision Sensor?

  2. Wat doet deif then else structuur?

  3. Wat zou er gebeuren met de manier waarop de Vision Sensor objecten detecteert als we van kamer veranderen?

De antwoorden zullen variëren:

  1. De studenten moeten er rekening mee houden dat ze zelf een naam voor het object moeten bedenken. Plaats het object in het frame van de Vision Sensor en zet het vast met de knop "Freeze". Vervolgens wordt de kleur geselecteerd en geconfigureerd via de knop "Instellen". De studenten moeten de stappen diedit artikel staantoelichten.

  2. De structuurif then elsevoert de instructies uit in het eerste of tweede deel van deif then elseop basis van de gerapporteerde Booleaanse waarde. Meer informatie over het gebruik van deze instructie vindt u in de Help-informatie.

  3. Als de Vision Sensor objecten in een andere omgeving moet detecteren, kan de verlichting veranderen en kunnen de kleuren van de objecten er anders uitzien. Hierdoor kan het voor de Vision Sensor lastig zijn om objecten te detecteren.

Breid uw leerproces uit-pictogram Breid uw leerproces uit - Configureer meer objecten

Kies twee andere gekleurde objecten om te configureren, bijvoorbeeld wit, paars, geel, etc.

Configuratievenster van de Vision Sensor met links een momentopname en een hand die een geel tandwiel vasthoudt. Er is een vierkante overlay op het gele tandwiel en de gegevens luiden als volgt: Geel vak, X90 y 62, w102, h 98. Rechts zijn de kleursignaturen voor Bluebox, Redbox, Greenbox en Yellowbox ingesteld.

Als de studenten hulp nodig hebben, verwijs ze dan naar de informatieHelpof het artikel Een V5 Vision Sensor configureren.

Stap 3: De zichtsensor afstemmen

Vaak wordt een object geconfigureerd om door de Vision Sensor in één omgeving te worden herkend, bijvoorbeeld in een klaslokaal. Wanneer de Vision Sensor vervolgens in een andere omgeving wordt gebracht, zoals een wedstrijdomgeving, wordt het object mogelijk niet herkend door de Vision Sensor. Dit komt vaak doordat de verlichting verandert nadat de Vision Sensor al geconfigureerd is. Om dit probleem op te lossen, moet u mogelijk uw Vision-sensor afstemmen.

Vision Sensor configuratie venster met een hand die een rode kubus vasthoudt met een overlay over de kubus en tekstlezing redbox en x84 y 28 vervolgens w 158 h 166. Aan de rechterkant worden Bluebox-, Redbox- en Greenbox-kleurenhandtekeningen ingesteld met een schuifregelaar gemarkeerd in een rood vak met de draaiknop ingesteld op 4.4.

Open het eerder opgeslagen voorbeeldproject Detecting Objects (Vision).

Hoe zal het afstemmen van de Vision Sensor invloed hebben op hoe goed het objecten kan detecteren? Breng de Clawbot naar een ander deel van de kamer met meer of minder licht.

V5 Clawbot op een veld met de arm naar beneden en de klauw open en rond een paars kubusobject.

  • Download en voerhet project uit. Plaats verschillende gekleurde objecten voor de Vision Sensor en observeer het gedrag van de robot. Documenteer in uw technische notebook hoe goed de Vision Sensor objecten detecteert. Moet de Vision-sensor worden afgestemd nadat deze van locatie is veranderd?
  • Stel de Vision Sensor zo nodig af. Test de Vision Sensor nadat deze is afgesteld om te bepalen of deze objecten beter kan detecteren en indien nodig kan aanpassen.

Motiveer discussie-icoon Motiveren Discussie - Reflecteren op de activiteit

V:Heeft de Vision Sensor objecten gedetecteerd zoals u verwachtte?
A:De antwoorden zullen variëren, maar het doel van deze vraag is om het cognitieve denken te bevorderen. Studenten moeten er rekening mee houden dat het vermogen van de Vision Sensor om objecten te detecteren kan veranderen, afhankelijk van de omgeving en het licht.

V:Waarom is het belangrijk om de Vision Sensor naar behoefte te kunnen afstemmen?
A:Hoewel de antwoorden kunnen variëren, zou een veelvoorkomend antwoord moeten zijn dat als een robot een Vision Sensor gebruikt en meedoet aan een wedstrijd of zelfs wordt gebruikt in een spel of uitdaging, de prestaties van de robot afhangen van de nauwkeurigheid van de Vision Sensor. Het afstemmen ervan is belangrijk voor de nauwkeurigheid.

Breid uw leerproces uit-pictogram Breid uw leerproces uit - Meerdere objecten

Vraag de studenten om het project Objecten detecteren (Vision) uit te voeren en meer dan één van de geconfigureerde objecten voor de Vision Sensor te plaatsen. Wat gebeurt er? Vraag ze om hun bevindingen te documenteren in hun technisch notitieboekje. Vraag de studenten
om één geconfigureerd object en één onbekend of niet-geconfigureerd object voor de Vision Sensor te plaatsen. Wat gebeurt er? Vraag ze om hun bevindingen te documenteren in hun technisch notitieboekje.

Vraag de studenten, voordat ze het gaan testen, wat er zou gebeuren als ze drie geconfigureerde objecten voor de Vision Sensor zouden plaatsen? Vraag de leerlingen om hun voorspellingen op te schrijven voordat ze de test uitvoeren. Vraag hen om hun observaties vast te leggen nadat ze het getest hebben.

Vision Sensor Utility-interface met twee handen die een Greenbox en een Redbox vasthouden in het venster aan de linkerkant. Elke gekleurde kubus is voorzien van een overlay met gegevens. Rechts zijn de handtekeningen voor Bluebox, Redbox, Greenbox en Yellowbox gezet.

Leid een discussie over wat de studenten voorspelden en observeerden.

Leid de discussie door de volgende vragen te stellen:

  • Wat waren de verschillen tussen één, twee en drie objecten?
  • Zou u het project op enigerlei wijze aanpassen om meerdere objecten te kunnen herkennen?