Tantangan Paket Dash - Python
Tantangan Paket Lari
Dalam tantangan ini, Anda akan memprogram robot Anda untuk mengambil paket dan membawanya ke dermaga pemuatan secepat mungkin!
Aturan tantangan:
- Robot harus memulai tantangan di Zona Mulai.
- Paket (kaleng aluminium) hanya dapat bersentuhan dengan buku, cakar Clawbot, dan Dermaga Pemuatan.
- Jika suatu paket terjatuh di lantai gudang, Anda harus mengatur ulang bidang tersebut dan memulai dari awal lagi.
- Waktu untuk setiap putaran dimulai segera setelah robot bergerak.
- Waktu berhenti saat paket terakhir dijatuhkan di Dermaga Pemuatan.
- Saat mengatur ulang bidang, semuanya harus dikembalikan ke lokasi tepat saat dimulai.
- Selamat bersenang-senang!
Tips Guru
- Tingkatkan keterlibatan dengan membuat cerita latar atau tujuan gudang! Gudang jenis apa itu? Jenis paket apa yang ditemukan di gudang? Siapa pemilik gudang itu?
- Izinkan siswa membuat rute atau strategi berbeda yang akan memudahkan mereka mengangkut kaleng secara lebih efisien.
- Bandingkan tidak hanya waktu penyelesaian untuk menentukan pemenang tantangan ini (jika Anda menyelenggarakannya untuk menjadi kompetitif) tetapi juga teknik navigasi yang digunakan sehingga siswa dapat mempertimbangkan solusi tim lain.
Kotak Alat Guru
-
Solusi
Rubrik pemrograman untuk mengevaluasi siswa dapat ditemukan di sini
Berikut ini adalah salah satu kemungkinan solusi untuk tantangan tersebut. Solusi dapat bervariasi tergantung pada posisi awal robot dan jalur yang dipilih. Ada beberapa jalur yang dapat mengarah pada pemindahan semua paket.
Bahasa Indonesia: # Mulai kode proyek
# Jalankan motor Claw dengan aman dan ambil paket pertama
claw_motor.set_timeout(2, detik)
drivetrain.drive_for(MAJU, 900, MM)
drivetrain.turn_for(KANAN, 90, DERAJAT)
arm_motor.spin_for(MAJU, 315, DERAJAT)
claw_motor.spin_for(BALIK, 180, DERAJAT)
drivetrain.drive_for(MAJU, 215, MM)
claw_motor.spin_for(MAJU, 120, DERAJAT)
# Berkendara ke Dermaga Pemuatan untuk menurunkan paket pertama
drivetrain.drive_for(REVERSE, 110, MM)
drivetrain.turn_for(KANAN, 90, DERAJAT)
drivetrain.drive_for(MAJU, 920, MM)
drivetrain.turn_for(KIRI, 90, DERAJAT)
drivetrain.drive_for(MAJU, 2300, MM)
drivetrain.turn_for(KIRI, 90, DERAJAT)
drivetrain.drive_for(MAJU, 750, MM)
arm_motor.spin_for(MUNDUR, 315, DERAJAT)
claw_motor.spin_for(MUNDUR, 120, DERAJAT)
# Ambil paket kedua
drivetrain.drive_for(MUNDUR, 200, MM)
drivetrain.turn_for(KIRI, 170, DERAJAT)
drivetrain.drive_for(MAJU, 900, MM)
drivetrain.turn_for(KANAN, 90, DERAJAT)
drivetrain.drive_for(MAJU, 2300, MM)
arm_motor.spin_for(MAJU, 315, DERAJAT)
claw_motor.spin_for(MAJU, 120, DERAJAT)
# Berkendara ke Dermaga Pemuatan untuk menurunkan paket kedua
drivetrain.drive_for(MAJU, 900, MM)
drivetrain.turn_for(KANAN, 90, DERAJAT)
drivetrain.drive_for(MAJU, 960, MM)
arm_motor.spin_for(MUNDUR, 315, DERAJAT)
claw_motor.spin_for(MUNDUR, 120, DERAJAT)
# Mengambil paket ketiga
Bahasa Indonesia: drivetrain.drive_for(REVERSE, 150, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(MAJU, 490, MM)
arm_motor.spin_for(MAJU, 315, DEGREES)
claw_motor.spin_for(MAJU, 120, DEGREES)
# Berkendara ke Dermaga Pemuatan untuk menurunkan paket ketiga
drivetrain.drive_for(REVERSE, 490, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(MAJU, 150, MM)
arm_motor.spin_for(REVERSE, 315, DEGREES)
claw_motor.spin_for(REVERSE, 120, DERAJAT)