Skip to main content

De Vision Data-uitdaging - C++

Icoon Toolbox voor docenten Toolbox voor docenten - Het doel van de Vision Data Challenge

Het doel van de Vision Data Challenge is om ervoor te zorgen dat leerlingen de gegevens begrijpen die worden verzameld via de momentopname van de Vision Sensor en hoe de waarden voor het middelste X- en Y-punt worden berekend. Uw studenten moeten dit lab afronden met een goed begrip van hoe die gegevens geïnterpreteerd kunnen worden (de middelste X-waarde kan bijvoorbeeld gebruikt worden om te bepalen waar het object zich bevindt ten opzichte van het middelpunt van de robot) en de beste werkwijzen kennen voor het benoemen van objecten bij het configureren.

Zichtsensor momentopname van de configuratie met een hand die een geel tandwiel vasthoudt. Een vierkante overlay is over het tandwiel met de volgende gegevens hierboven vermeld: Yellow Box, X 90, Y 62, W 102, H 98.

Voltooi de Vision Data Challenge door de vragen te beantwoorden en de ontbrekende gegevens in uw technische notitieblok in te vullen.

  1. Welke van deze instructies is gebruikt om de bovenstaande momentopname te maken?
    1. Vision5.takeSnapshot(Vision5__REDBOX);
    2. Vision5.takeSnapshot(Vision5__YELLOWBOX);
  2. Vul deze waarden in:

    Vision Sensor-opdrachten worden aan de linkerkant weergegeven met lege vakken om hun waarden in te vullen. Van boven naar beneden worden de blokken als volgt weergegeven: Aantal objecten > 0, aantal objecten, object 0 midden x, object 0 midden y, object 0 breedte en object 0 hoogte.

  3. Staat YELLOWBOX links of rechts van het middelpunt van de robot?
  4. Is YELLOWBOX boven of onder het middelpunt van de robot?
  5. YELLOWBOX isNOTde beste naam voor dit object als u gemakkelijk wilt herkennen welke kleursignatuur bij welke hoort. Welke van deze is een betere naam? Waarom?
    1. YELLOWGEAR
    2. YELLOWCUBE

Icoon Toolbox voor docenten Toolbox voor leraren - antwoorden

U kunt de antwoorden van de studenten klassikaal bespreken en/of hun technische notitieboekjes doornemen om er zeker van te zijn dat ze de activiteit succesvol hebben afgerond.

  1. Visie5.takeSnapshot(Visie5__YELLOWBOX);
  2. Voltooide gegevens afgestemd op de VEXcode-opdrachten. Antwoorden lezen, in volgorde, aantal objecten > 0 = Waar; aantal objecten = 1; object 0 midden x = 141; object 0 midden y = 111; object 0 breedte = 102; object 0 hoogte = 98.
  3. YELLOWBOX bevindt zich iets links van het middelpunt van de robot, maar het verschil is slechts 16,5 pixels (midden 157,5 - 141).
  4. YELLOWBOX ligt iets lager dan het middelpunt van de robot, maar het verschil is slechts 5,5 pixels (111 - middelpunt 105,5).
  5. A. GELE UITRUSTING

    Dit is een betere naam, omdat het niet alleen de kleur van het object beschrijft, maar ook het type object. Het is een tandwiel,nieteen doos of kubus.

Breid uw leerproces uit-pictogram Breid uw leerproces uit - Gebruik de sensorinstructies binnen een project

Nu een deel van de gerapporteerde gegevens van de Vision Sensor beter wordt begrepen, willen studenten deze Sensing Instructions mogelijk in een project gebruiken. Geef ze de ruimte om dit te ontdekken.

void heeft RedCallback() {

  Brain.Screen.setFont(mono40);
  Brain.Screen.clearLine(3);
  Brain.Screen.setCursor(3, 1);
  Vision5.takeSnapshot(Vision5__REDBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print("Rood object gevonden");
    Brain.Screen.newLine();
    Brain.Screen.print(Vision5.objectCount);
    Brain.Screen.newLine();
    Brain.Screen.print(Vision5.objects[0].centerX);
    Brain.Screen.print(Vision5.objects[0].centerY);
    Brain.Screen.print(Vision5.objects[0].width);
    Brain.Screen.print(Vision5.objects[0].height);

  } anders {
    Brain.Screen.print("Geen rood object");
  }
}

Meer gevorderde studenten kunnen deze instructies gebruiken in een project om beslissingen te nemen.

Drivetrain.drive(vooruit);
Vision5.takeSnapshot(Vision5__REDBOX);

if (Vision5.objectCount > 1 && Vision5.objects[0].centerX > 157.5) {
  Drivetrain.turnFor(links, 90, graden);
} else {
  Drivetrain.turnFor(rechts, 90, graden);
}