Langsung ke konten utama

Navigasi GPS

Buat algoritma untuk mengarahkan Hero Bot ke posisi tertentu di Lapangan. Gunakan blok [Berkendara ke] dan [Berbelok ke arah], Sensor GPS, Motor Lengan, dan Motor Pengambilan untuk menggerakkan Hero Bot ke posisi yang terletak di (1380,-1380) untuk mengambil Triball yang ditandai dengan warna merah. Kemudian arahkan robot ke posisi yang terletak di (600,-300) dan cetak Triball ke gawang Aliansi Merah.

  • Pilih VRC Virtual Skills - Over Under Playground.
  • Gunakan daftar periksa Pra-Pertandingan untuk memilih Lokasi Awal “H”, SArah Awal ”Utara”, dan Pramuat Robot “Tidak” untuk robot.
  • Buat algoritma untuk mengarahkan robot ke posisi tertentu.
  • Program robot agar memutar Motor Lengan untuk menurunkan Lengan sepenuhnya guna mengambil Triball di Lapangan.
  • Gunakan algoritma untuk mengarahkan robot ke koordinat (1380, -1380) dan memutar robot ke arah Heading 135 derajat.
  • Programkan robot untuk memutar Motor Pengambilan agar mengambil Triball Hijau yang ditandai dengan warna merah.
  • Gunakan algoritma untuk mengarahkan robot ke koordinat (600, -300) dan memutar robot ke arah Heading 90 derajat.
  • Programkan robot untuk memutar Motor Pengumpan guna meluncurkan Triball ke Gawang Aliansi Merah. 

Tips Bermanfaat

  • Gunakan Sensor GPS untuk mengidentifikasi koordinat X dan Y dari Hero Bot di Lapangan. Untuk informasi lebih lanjut mengenai penggunaan Sensor GPS di VRC Over Under Playground, silakan klik di sini.
  • Gunakan blok Reporter dari kategori Sensing untuk mendapatkan nilai posisi dari Sensor GPS.

    Blok posisi GPS VEXcode yang membaca 'posisi GPS X dalam mm'.

    Blok posisi GPS VEXcode yang membaca posisi GPS 'Y dalam mm'.

    • Perintah Python yang cocok:

      gps.x_position(MM)
      gps.y_position(MM)
  • Gunakan blok set dari kategori Variabel untuk mendeklarasikan dua variabel untuk menyimpan koordinat X dan Y asli dari Hero Bot.

    Tumpukan blok variabel VEXcode Set. Blok pertama berbunyi 'atur X1 ke posisi GPS X dalam mm'. Blok kedua berbunyi 'atur Y1 ke posisi GPS Y dalam mm'.

    • Perintah Python yang cocok:

      X1 = gps.x_position(MM)
      Y1 = gps.y_position(MM)
  • Untuk bantuan dalam mendeklarasikan variabel dan menyimpan data dalam proyek, silakan pilih tombol “TUTORIAL” di VEXcode VR dan pilih Tutorial Menyimpan Data.

    Ikon tutorial dari Toolbar VEXcode VR.

    Ikon Tutorial Penyimpanan Data VEXcode VR.

  • Untuk informasi lebih lanjut mengenai aturan penamaan variabel di VEXcode VR, lihat artikel.
  • Gunakan koordinat robot (x1,y1), koordinat posisi target (x2,y2), dan fungsi atan untuk menemukan arah penggerak.
    • Hitung sudut theta θ dari garis yang menghubungkan kedua titik ini.

      Diagram dari dua ekspresi matematika. Ekspresi pertama berbunyi 'theta sama dengan atan((y2 - y1) / (x2 - x1))'. Ekspresi kedua berbunyi 'negatif pi / 2 kurang dari theta, yang kurang dari pi / 2'.

      Diagram matematika dari atas ke bawah menunjukkan robot berada di koordinat (X1, Y1) dan sebuah garis mengarah ke koordinat (X2, Y2). Jarak dilabeli dengan variabel d, sudut dilabeli dengan variabel theta. Jarak horizontal antara titik-titik tersebut direpresentasikan sebagai 'x2 - x1', dan jarak vertikal direpresentasikan sebagai 'y2 - y1'.

    • Konversikan sudut theta θ untuk menentukan arah (Heading).

      Contoh pseudocode untuk ekspresi Matematika (Arah Awal: Utara):

      Jika X1 sama dengan X2:
      	Jika Y2 > Y1:
      		heading = 0
      	Jika tidak:
      		heading = 180
      Jika tidak:
      	Jika X2 > X1:
      		heading = 90 - atan((Y2 - Y1) / (X2 - X1))
      	Jika tidak:
      		heading = 270 - atan((Y2 - Y1) / (X2 - X1))
    • Diagram dari atas menunjukkan robot di dalam lingkaran yang memiliki label yang menandai lingkaran'hingga 360 derajat.
  • Gunakan fungsi dari kategori Operator dan pilih fungsi atan untuk menghitung sudut theta θ.

    Blok Fungsi VEXcode kosong yang membaca 'atan dari kosong'.

    • Perintah Python yang cocok:

      matematika.atan() / matematika.pi * 180
  • Gunakan koordinat robot (x1,y1), koordinat posisi target (x2,y2), dan Teorema Pythagoras untuk menemukan jarak tempuh.

    Ekspresi matematika berbunyi 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)'

    Diagram dari atas ke bawah yang sama seperti sebelumnya menunjukkan perbedaan antara dua koordinat. Robot tersebut berada di koordinat (X1, Y1) dan sebuah garis mengarah ke koordinat (X2, Y2). Jarak dilabeli dengan variabel d, sudut dilabeli dengan variabel theta. Jarak horizontal antara titik-titik tersebut direpresentasikan sebagai 'x2 - x1', dan jarak vertikal direpresentasikan sebagai 'y2 - y1'.

  • Gunakan fungsi dari kategori Operator dan pilih fungsi sqrt untuk menghitung jarak tempuh.

    Blok Fungsi VEXcode kosong yang membaca 'akar kuadrat dari' kosong.

    • Perintah Python yang cocok:

      matematika.akar kuadrat()