Lompat ke isi utama

Koneksi Kompetisi: Titik Balik - Python

Lapangan Kompetisi Robotik VEX Turning Point dengan elemen permainan dan area penilaian di posisi awal untuk awal pertandingan. Di sepanjang dinding belakang terdapat jaring dengan serangkaian bendera yang dapat dibalik di depannya.
VRC 2018-2019 Titik Balik Lapangan

Kemampuan Robot

Permainan Kompetisi Robotika VEX 2018-2019 Turning Point mengharuskan pemain untuk mengganti bendera di antara elemen permainan lainnya. Totalnya ada sembilan bendera: tiga bendera bawah yang dapat diubah-ubah oleh robot, dan enam bendera tinggi yang hanya dapat diubah-ubah dengan memukulnya menggunakan potongan permainan bola kompetisi. Tim kompetisi perlu menemukan cara untuk mencapai bendera yang lebih tinggi menggunakan peluncur bola. Jika Anda dapat membayangkan, memprogram robot untuk memukul bendera menggunakan potongan permainan bola dengan pengukuran mungkin tidak selalu akurat. Jika robot melakukan satu kali kesalahan belok selama periode otonom, ada kemungkinan tidak ada satu pun bendera yang terkena karena perhitungannya salah. Demikian pula, untuk tantangan Keterampilan Mengemudi, mungkin sulit bagi tim untuk secara manual menyelaraskan robot agar dapat meluncurkan bola dengan benar. Dengan demikian, tim yang terampil akan memprogram robot menggunakan Sensor Penglihatan untuk mendeteksi bendera dan kemudian menyelaraskan robot dengan tepat agar dapat membuat tembakan akurat.

Ikon Perluas Pembelajaran Anda Perluas Pembelajaran Anda

Untuk memperluas kegiatan ini, mintalah siswa Anda untuk merancang dan menguraikan proyek yang akan membuat robot bergerak menuju objek kuning yang terdeteksi, yang berpotensi dapat mereka gunakan untuk permainan kompetisi ini!
siswa Anda untuk melakukan hal berikut:

  • Buka contoh proyek templat Clawbot (Drivetrain, 2-motor, Tanpa Gyro).

    Pemilihan proyek Contoh VEXcode V5 dengan filter Template dipilih di bagian atas, dan ikon proyek motor tanpa gyro Clawbot Drivetrain 2 disorot dalam kotak merah.

  • Gunakan proyek contoh Mendeteksi Objek (Visi) sebagai referensi saat memprogram Sensor Visi.Gunakan proyek contoh Mendeteksi Objek (Visi) sebagai referensi saat memprogram Sensor Visi (Google Doc / .v5python).
  • Tambahkan Sensor Penglihatan ke konfigurasi Clawbot (Drivetrain, 2-motor, Tanpa Gyro) lalu konfigurasikan Sensor Penglihatan untuk mendeteksi objek merah dan biru. Lihat artikel Mengonfigurasi Sensor Penglihatane untuk informasi lebih lanjut.

    Jendela Perangkat VEXcode V5 terbuka dengan opsi untuk menambahkan perangkat ditampilkan. Jendela bertuliskan Pilih Perangkat, dan opsi Visi disorot dengan kotak merah. Pilihan lainnya termasuk pengontrol, drivetrain, motor, dan 3 kabel.

  • Program Clawbot untuk bergerak menuju objek yang terdeteksi. Clawbot bahkan dapat diprogram untuk mengangkat lengannya seolah-olah ingin mengaktifkan bendera!
  • Unduh dan jalankan proyek untuk mengamati apakah Sensor Penglihatan dapat mendeteksi objek kuning seperti bola kuning dalam permainan VRC Turning Point. Jika Sensor Penglihatan dapat mendeteksi objek, apakah robot bergerak berdasarkan objek yang terdeteksi tersebut? Untuk bantuan mengunduh dan menjalankan proyek,lihat artikel ini.
  • Bila waktu memungkinkan, buatlah lapangan permainan yang mirip dengan lapangan Turning Point. Berlatihlah menggunakan Sensor Penglihatan untuk memungkinkan robot bergerak dan mencetak poin!

Lihat contoh solusi di bawah ini:

# Pustaka mengimpor
dari vex import *

# Kode awal proyek

check_yellow = Event()

def check_yellow_callback():
    brain.screen.set_font(FontType.MONO40)
    brain.screen.clear_row(3)
    brain.screen.set_cursor(3, 1)
    vision_5_objects = vision_5.take_snapshot(vision_5__YELLOWBOX)

    if (vision_5_objects):
        arm_motor.spin_for(MAJU, 300, DERAJAT)
        claw_motor.spin_for(MAJU, 100, DERAJAT)
        drivetrain.drive_for(MAJU, 12, INCI)
        arm_motor.spin_for(BALIK, 300, DERAJAT)
        claw_motor.spin_for(REVERSE, 100, DEGREES)
    
    else:
        brain.screen.print("Tidak Ada Objek Kuning")

# pengendali peristiwa sistem
check_yellow(check_yellow_callback)

# penundaan kecil untuk memastikan pengendali peristiwa siap digunakan
wait(15, MSEC)

# terus berjalan untuk memeriksa data sensor baru
while True:
    check_blue.broadcast_and_wait()
    wait(105, MSEC)