Lompat ke isi utama

Pelajaran 3: Menambahkan Perintah Drivetrain untuk Memecahkan Labirin Dinding

Memecahkan Masalah Labirin Dinding

Sekarang setelah Robot VR melaju ke huruf 'A' dan juga ke angka '2' di Dinding Labirin Taman Bermain, bagaimana Anda akan membuat proyek tempat Robot VR melaju ke lokasi lain, seperti ke huruf 'B?' Sejauh ini, kami telah menggunakan data dari Bumper Sensor untuk melaju ke dinding, lalu berbelok untuk pindah ke dinding berikutnya. Untuk menavigasi ke huruf 'B', kita perlu mampu menggerakkan Robot VR ke suatu titik di tengah permukaan labirin, sehingga ia dapat menempuh jalur berbeda menuju tujuan kita.

Jika kode hanya berisi perintah drivedan turn_for, Robot VR bisa “terjebak” di bagian angka '2' di Wall Maze, karena akan terus berbelok ke kiri atau kanan tanpa pernah mundur.Tampilan atas ke bawah taman bermain Wall Maze dengan robot VR yang diposisikan di atas penanda 2. Sudutnya menghadap ke atas dan ke kiri, kira-kira menghadap penanda B.

Sebaliknya, kita dapat memperkirakan jarak dari dinding terakhir yang disentuh Robot VR ke tempat ia perlu berbelok. Kita kemudian dapat menggunakan perintah Drivetrain, sepertidrive_fordanturn_for, dengan loopwhiledan data Bumper Sensor dalam proyek kita untuk memecahkan labirin!

  • Mulailah dengan memodifikasi proyek Anda sebelumnya, buat proyek baru, atau pilih “Salin” dan tempel kode ini ke VEXcode VR agar sesuai dengan proyek dasar ini.

    def main():
    	sementara tidak ada bemper kiri.ditekan():
    		drivetrain.berkendara(MAJU)
    		tunggu(5, MSEC)
    		
    	drivetrain.berbelok_ke_KIRI(90, DERAJAT)
    
    	sementara tidak ada bemper kiri.ditekan():
    		drivetrain.berkendara(MAJU)
    		tunggu(5, MSEC)
    		
    	drivetrain.berbelok_ke_KANAN, 90, DERAJAT)
    
    	sementara tidak ada bemper kiri.ditekan():
    		drivetrain.berkendara(MAJU)
    		tunggu(5, MSEC)
    		
    	drivetrain.berbelok_ke_KIRI(90, DERAJAT)
    	
    	sementara tidak ada bemper kiri.ditekan():
    		drivetrain.berkendara(MAJU)
    		tunggu(5, MSEC)
    		
    	drivetrain.berhenti()
  • Proyek di atas mulai menggerakkan Robot VR ke huruf 'B', namun, agar Robot VR dapat melakukannya, ia harus mundur terlebih dahulu dan kemudian berbelok ke kiri.Tampilan atas ke bawah taman bermain Wall Maze dengan robot VR yang diposisikan di atas penanda 2. Robot VR ditekan dan menghadap dinding kiri, dengan panah hijau menunjuk ke kanan, lalu ke bawah, menunjukkan jalur yang perlu diambil.
  • Edit kode dengan menghapus perintah stop dan menggantinya dengan perintahdrive_fordan turn_for
    • Kita dapat memperkirakan bahwa Robot VR perlu bergerak mundur sekitar 300 milimeter (mm). Pertama, atur parameter perintah drive_for ke “reverse” selama 300 milimeter (mm).
    • Kemudian, atur parameter perintah turn_for untuk berbelok ke kiri 90 derajat. Proyek Anda sekarang akan terlihat seperti ini:

      def main():
      	sementara tidak ada bemper kiri.ditekan():
      		drivetrain.berkendara(MAJU)
      		tunggu(5, MSEC)
      		
      	drivetrain.belok_ke(KIRI, 90, DERAJAT)
      
      	sementara tidak ada bemper kiri.ditekan():
      		drivetrain.berkendara(MAJU)
      		tunggu(5, MSEC)
      		
      	drivetrain.belok_ke(KANAN, 90, DERAJAT)
      
      	sementara tidak ada bemper kiri.ditekan():
      		drivetrain.berkendara(MAJU)
      		tunggu(5, MSEC)
      		
      	drivetrain.belok_ke(KIRI, 90, DERAJAT)
      	
      	sementara tidak ada bemper kiri.ditekan():
      		drivetrain.berkendara(MAJU)
      		tunggu(5, MSEC)
      		
      	drivetrain.berkendara_ke(MUNDUR, 300, MM)
      	drivetrain.turn_for(KIRI, 90, DERAJAT)
  • Luncurkan Wall Maze Playground jika belum terbuka dan jalankan proyek.
  • Menambahkan perintah ini akan mengarahkan Robot VR ke arah yang benar untuk menggerakkan huruf 'B.'Di sebelah kiri, proyek kode Python yang ditunjukkan sebelumnya, diakhiri dengan drivetrain.turn_for(LEFT, 90, DEGREES). Di sebelah kanan, tampilan atas ke bawah taman bermain Wall Maze yang memperlihatkan Robot VR telah bergerak sesuai dengan kode baru, diposisikan di aula antara penanda A dan 2 dan sekarang menghadap dinding bawah taman bermain.

     

  • Pilih tombol “Reset” untuk mengatur ulang Playground dan mengembalikan Robot VR ke posisi awal.
  • Sekarang setelah Robot VR berorientasi pada arah yang benar, tambahkan perintah berikut di bawah perintah terakhir turn_for , untuk mengarahkan Robot VR ke huruf 'B' di Wall Maze Playground. Pastikan perintah-perintah tersebut diindentasi dengan benar dalam proyek Anda.

    	sementara tidak bemper kiri.ditekan():
    		drivetrain.berkendara(MAJU)
    		tunggu(5, MSEC)
    		
    	drivetrain.berbelok_ke(KANAN, 90, DERAJAT)
    
    	sementara tidak bemper kiri.ditekan():
    		drivetrain.berkendara(MAJU)
    		tunggu(5, MSEC)
    		
    	drivetrain.berbelok_ke(KANAN, 90, DERAJAT)
    
    	sementara tidak bemper kiri.ditekan():
    		drivetrain.berkendara(MAJU)
    		tunggu(5, MSEC)
    		
    	drivetrain.berhenti()
  • Luncurkan Wall Maze Playground jika belum terbuka dan jalankan proyeknya.
  • Robot VR sekarang akan melaju ke huruf 'B' di Wall Maze Playground.

    Tampilan atas ke bawah taman bermain Wall Maze dengan Robot VR yang diposisikan di atas huruf B, di tengah dinding kiri Taman Bermain. Ia ditekan ke dinding, menghadap ke atas taman bermain.

Tantangan Mini

Dalam tantangan ini, Robot VR harus menavigasi ke angka '3' di Wall Maze Playground menggunakan beberapa putaransementara, perintah Drivetrain, dan Sensor Bumper.

Tampilan atas taman bermain Wall Maze dengan robot VR yang diposisikan di atas angka 3. Angka 3 terletak di kuadran kiri atas labirin, di atas B dan di sebelah kanan, di dalam sudut yang dibuat oleh 3 dinding di sekelilingnya. Robot VR ditekan ke dinding di bawah penanda 3, menghadap ke bagian bawah taman bermain.

Ikuti langkah-langkah berikut untuk menyelesaikan tantangan mini:

  • Tonton video solusi di bawah ini dan tinjau bagaimana Robot VR harus mengemudi untuk menyelesaikan tantangan mini. Dalam klip video di bawah, Robot VR mulai dari lokasi awal dan mengikuti pola yang sama dengan melaju ke dinding hingga bumper ditekan lalu berputar. Robot tersebut melaju pada jalur yang sama untuk memulai, seperti yang dilakukannya untuk melaju ke huruf B. Pada titik balik menjauhi dinding, robot berbelok ke kanan untuk melanjutkan ke angka 3. Dari titik itu, robot melaju maju dan berbelok ke kiri dua kali untuk melewati rangkaian dinding berikutnya, melewati huruf B. Akhirnya, robot melaju maju dan berbelok ke kanan dua kali untuk melewati dinding terakhir guna mencapai angka 3.

  • Buat proyek dengan menambahkan atau menghapus perintah yang diperlukan ke proyek Unit4Lesson3 untuk mengarahkan Robot VR ke angka '3' di Wall Maze Playground.
  • Mulai proyek untuk menguji apakah berhasil.
  • Jika proyek tidak berhasil, edit dan coba lagi. Lanjutkan proses ini hingga tantangan selesai.
  • Setelah Robot VR berhasil melaju ke angka '3' di Wall Maze Playground, simpan proyek.

Selamat! Anda telah berhasil menyelesaikan Tantangan Labirin Dinding!

Pertanyaan

Silakan pilih tautan di bawah untuk mengakses kuis pelajaran.

Google Doc / .docx / .pdf