Langsung ke konten utama
Portal Guru

Tantangan Paket Dash - Python

Contoh tata letak untuk tantangan pengiriman paket yang menunjukkan area bongkar muat di sudut kiri bawah, tiga area untuk penempatan kaleng, dan area awal di sudut kanan atas dengan Clawbot di dalamnya.
Tantangan Package Dash (tidak sesuai skala)

Tantangan Pengiriman Paket Cepat

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 Awal.
  • Paket-paket (kaleng aluminium) hanya boleh bersentuhan dengan buku-buku, cakar Clawbot, dan Dermaga Pemuatan.
    • Jika paket terjatuh di lantai gudang, Anda harus mengatur ulang kolom dan memulai dari awal lagi.
  • Waktu untuk setiap percobaan dimulai segera setelah robot bergerak.
  • Waktu berhenti begitu paket terakhir dijatuhkan di area bongkar muat.
  • Saat mengatur ulang lapangan, semuanya harus dikembalikan ke lokasi persis seperti semula.
  • Selamat bersenang-senang!
     

Ikon Tips Guru Tips untuk Guru

  • Tingkatkan keterlibatan dengan menciptakan latar belakang atau tujuan untuk gudang tersebut! Gudang jenis apa ini? Jenis paket apa saja yang ditemukan di gudang? Siapa pemilik gudang tersebut?
  • Izinkan siswa untuk membuat rute atau strategi berbeda yang memungkinkan mereka mengangkut kaleng dengan lebih efisien.
  • Bandingkan tidak hanya waktu penyelesaian untuk menentukan pemenang tantangan ini (jika Anda menyelenggarakannya secara kompetitif) tetapi juga teknik navigasi yang digunakan sehingga siswa dapat mempertimbangkan solusi tim lain.

Ikon Kotak Peralatan Guru Solusi Kotak Peralatan Guru -

Rubrik pemrograman untuk mengevaluasi siswa dapat di.

Berikut ini adalah salah satu solusi yang mungkin untuk tantangan tersebut. Solusi yang dihasilkan dapat bervariasi tergantung pada posisi awal robot dan jalur yang dipilih. Ada beberapa jalur yang dapat mengarah pada pemindahan semua paket.

# Mulai kode proyek

# Jalankan motor cakar dengan aman dan ambil paket pertama
claw_motor.set_timeout(2, seconds)
drivetrain.drive_for(FORWARD, 900, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
arm_motor.spin_for(FORWARD, 315, DEGREES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.drive_for(FORWARD, 215, MM)
claw_motor.spin_for(FORWARD, 120, DEGREES)

# Berkendara ke Dermaga Pemuatan untuk menurunkan paket pertama
drivetrain.drive_for(REVERSE, 110, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 920, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 2300, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 750, MM)
arm_motor.spin_for(REVERSE, 315, DEGREES)
claw_motor.spin_for(REVERSE, 120, DEGREES)

# Ambil paket kedua
drivetrain.drive_for(REVERSE, 200, MM)
drivetrain.turn_for(LEFT, 170, DEGREES)
drivetrain.drive_for(FORWARD, 900, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 2300, MM)
arm_motor.spin_for(FORWARD, 315, DEGREES)
claw_motor.spin_for(FORWARD, 120, DEGREES)

# Berkendara ke Dermaga Pemuatan untuk menurunkan paket kedua
drivetrain.drive_for(FORWARD, 900, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 960, MM)
arm_motor.spin_for(REVERSE, 315, DEGREES)
claw_motor.spin_for(REVERSE, 120, DEGREES)

# Mengambil paket ketiga
drivetrain.drive_for(REVERSE, 150, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 490, MM)
arm_motor.spin_for(FORWARD, 315, DEGREES)
claw_motor.spin_for(FORWARD, 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(FORWARD, 150, MM)
arm_motor.spin_for(REVERSE, 315, DEGREES)
claw_motor.spin_for(REVERSE, 120, GELAR)