Výzva pro vizuální data - C++
Sada nástrojů pro učitele
výzvy Vision Data
Účelem soutěže Vision Data Challenge je zajistit, aby studenti pochopili data shromážděná ze snímku vizuálního senzoru a jak se vypočítávají středové hodnoty X a Y. Vaši studenti by také měli toto cvičení dokončit s pochopením toho, jak lze tato data interpretovat (např. hodnotu středové osy X lze použít k určení polohy objektu vzhledem ke středovému bodu robota) a s osvědčenými postupy pro pojmenovávání objektů při konfiguraci.

Dokončete výzvu Vision Data Challenge zodpovězením otázek a vyplněním chybějících údajů ve vašem technickém notebooku.
- Který z těchto pokynů byl použit k pořízení snímku výše?
-
Vision5.takeSnapshot(Vision5__REDBOX); -
Vision5.takeSnapshot(Vision5__YELLOWBOX);
-
-
Vyplňte tyto hodnoty:
- Je YELLOWBOX vlevo nebo vpravo od středu robota?
- Je YELLOWBOX nad nebo pod středovým bodem robota?
- ŽLUTÁ SKŘÍŇKA jeNEnejlepší název pro tento objekt, pokud chcete snadno rozpoznat, která barevná signatura je která. Které z nich je lepší jméno? Proč?
- YELLOWGEAR
- YELLOWCUBE
Sada nástrojů pro učitele
-
odpovědí
Odpovědi studentů lze prodiskutovat ve třídě a/nebo si můžete projít jejich technické sešity, abyste se ujistili, že aktivitu úspěšně dokončili.
-
Vision5.takeSnapshot(Vision5__YELLOWBOX); 
- ŽLUTÝ BOX je mírně vlevo od středového bodu robota, ale pouze o rozdíl 16,5 pixelů (střed 157,5 - 141).
- ŽLUTÝ BOX je o něco níže než střed robota, ale pouze o rozdíl 5,5 pixelů (111 - střed 105,5).
-
A. ŽLUTÝ OZUBENÍ
Toto je lepší název, protože popisuje nejen barvu objektu, ale také jeho typ. Je to ozubené kolo,nebo krychle.
Rozšiřte si učení
-
Používejte instrukce pro snímání v rámci projektu
Nyní, když jsou některá data hlášená kamerovým senzorem lépe pochopena, by studenti mohli tyto instrukce pro snímání použít v rámci projektu. Dovolte jim, aby to prozkoumali.
void má 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("Nalezen červený objekt");
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);
} else {
Brain.Screen.print("Žádný červený objekt");
}
}Pokročilejší studenti mohou tyto instrukce použít v rámci projektu k rozhodování.
Drivetrain.drive(vpřed);
Vision5.takeSnapshot(Vision5__REDBOX);
if (Vision5.objectCount > 1 && Vision5.objects[0].centerX > 157.5) {
Drivetrain.turnFor(vlevo, 90 stupňů);
} else {
Drivetrain.turnFor(vpravo, 90 stupňů);
}