Langsung ke konten utama

Tantangan Data Visi - C++

Ikon Kotak Peralatan Guru Kotak Peralatan Guru - Tujuan Tantangan Data Visi

Tujuan dari Tantangan Data Penglihatan adalah untuk memastikan bahwa siswa memahami data yang dikumpulkan dari cuplikan Sensor Penglihatan dan bagaimana nilai X dan Y pusat dihitung. Siswa Anda juga harus menyelesaikan praktikum ini dengan pemahaman tentang bagaimana data tersebut dapat diinterpretasikan (misalnya, nilai X tengah dapat digunakan untuk menentukan posisi objek relatif terhadap titik tengah robot), dan praktik terbaik untuk menamai objek saat melakukan konfigurasi.

Cuplikan sensor penglihatan dari konfigurasi yang menunjukkan sebuah tangan memegang roda gigi berwarna kuning. Terdapat lapisan persegi di atas roda gigi dengan data berikut yang tercantum di atas: Kotak Kuning, X 90, Y 62, W 102, H 98.

Selesaikan Tantangan Data Visi dengan menjawab pertanyaan dan mengisi data yang hilang di buku catatan teknik Anda.

  1. Instruksi manakah yang digunakan untuk mengambil foto di atas?
    1. Vision5.takeSnapshot(Vision5__REDBOX);
    2. Vision5.takeSnapshot(Vision5__YELLOWBOX);
  2. Isilah nilai-nilai berikut:

    Perintah sensor penglihatan tercantum di sisi kiri dengan kotak kosong untuk diisi dengan nilainya. Dari atas ke bawah, blok-blok tersebut tercantum sebagai berikut: Object count > 0, object count, object 0 center x, object 0 center y, object 0 width, dan object 0 height.

  3. Apakah YELLOWBOX berada di sebelah kiri atau kanan titik tengah robot?
  4. Apakah YELLOWBOX berada di atas atau di bawah titik tengah robot?
  5. YELLOWBOX adalahBUKANnama terbaik untuk objek ini jika Anda ingin dengan mudah mengenali tanda warna mana yang mana. Manakah di antara nama-nama ini yang lebih baik? Mengapa?
    1. YELLOWGEAR
    2. KUBUS KUNING

Ikon Kotak Peralatan Guru Jawaban untuk Kotak Peralatan Guru -

Jawaban siswa dapat didiskusikan di kelas dan/atau Anda dapat meninjau buku catatan teknik mereka untuk memastikan bahwa mereka telah menyelesaikan aktivitas tersebut dengan sukses.

  1. Vision5.takeSnapshot(Vision5__YELLOWBOX);
  2. Data yang telah selesai diselaraskan dengan perintah VEXcode. Jawaban dibaca, secara berurutan, jumlah objek > 0 = Benar; jumlah objek = 1; pusat objek 0 x = 141; pusat objek 0 y = 111; lebar objek 0 = 102; tinggi objek 0 = 98.
  3. YELLOWBOX sedikit bergeser ke kiri dari titik tengah robot, tetapi hanya dengan selisih 16,5 piksel (tengah 157,5 - 141).
  4. YELLOWBOX sedikit lebih rendah dari titik tengah robot, tetapi hanya dengan selisih 5,5 piksel (111 - tengah 105,5).
  5. A. YELLOWGEAR

    Ini adalah nama yang lebih baik karena tidak hanya menggambarkan warna objek tetapi juga jenis objek tersebut. Ini adalah roda gigi,atau kubus.

Perluas Pembelajaran Anda Perluas Pembelajaran Anda - Gunakan Instruksi Penginderaan dalam Sebuah Proyek

Sekarang setelah beberapa data yang dilaporkan oleh Sensor Penglihatan lebih dipahami, siswa mungkin ingin menggunakan Instruksi Penginderaan ini dalam sebuah proyek. Biarkan mereka mengeksplorasi cara melakukannya.

void has 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("Objek Merah Ditemukan");
    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("Tidak Ada Objek Merah");
  }
}

Siswa yang lebih mahir mungkin dapat menggunakan petunjuk ini dalam sebuah proyek untuk membuat keputusan.

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

if (Vision5.objectCount > 1 && Vision5.objects[0].centerX > 157.5) {
  Drivetrain.turnFor(left, 90, degrees);
} else {
  Drivetrain.turnFor(right, 90, degrees);
}