Langsung ke konten utama

Tantangan Automed - Python

Denah lantai untuk Automed Challenge termasuk penamaan area sebagai berikut: Apotek, Ruang 1, Ruang 2, Ruang 3, Mulai, dan Lift. Kamar 2 dan Kamar 3 berada di lantai dua, sedangkan semua kamar lainnya berada di lantai satu. Ukuran ditandai, dengan seluruh denah lantai muat dalam persegi panjang berukuran 2 meter kali 1,8 meter.
Tata letak rumah sakit Automed Challenge dengan dimensi

Tantangan Otomatis

Dalam tantangan ini, Anda perlu memprogram robot Anda untuk menavigasi rumah sakit sambil mengantarkan obat-obatan kepada pasien di beberapa ruangan yang berbeda.

Ikon Tips Guru Tips untuk Guru

Tingkatkan keterlibatan dengan membuat latar belakang cerita tentang rumah sakit! Jenis rumah sakit apa ini dan jenis pasien apa yang dilayani oleh rumah sakit ini?

Aturan Tantangan

  • Robot harus memulai dan mengakhiri perjalanan di Zona Awal.

  • Seluruh robot harus berada di dalam Apotek, Lift, dan Ruang Pasien dan menunggu selama waktu berikut untuk menyelesaikan tindakan:

    • Apotek: Tunggu setidaknya 5 detik sebelum mengambil obat.

    • Lift: Tunggu setidaknya 5 detik untuk mencapai lantai berikutnya.

    • Ruang Pasien: Tunggu setidaknya 3 detik sebelum meletakkan obat.

  • Robot tersebut tidak boleh bersentuhan dengan atau melewati dinding apa pun.

  • Robot tersebut harus mengunjungi Apotek terlebih dahulu untuk mengambil obat-obatan untuk Kamar Pasien.

  • Robot tersebut harus mengunjungi setiap Kamar Pasien (tanpa urutan tertentu) untuk mengantarkan obat.

  • Selamat bersenang-senang!

Ikon Kotak Peralatan Guru Solusi Kotak Peralatan Guru -

Rubrik pemrograman untuk mengevaluasi siswa dapat ditemukan di sini (Google / .docx / .pdf).

Lihat contoh solusi VEXcode V5 Python di bawah ini: 

# Impor pustaka
dari vex import *

# Mulai kode proyek

# Pergi ke apotek
drivetrain.drive_for(FORWARD, 900, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 1350, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6, SECONDS)

# Pergi ke ruangan 1
drivetrain.drive_for(REVERSE, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6, SECONDS)

# Pergi ke lift
drivetrain.drive_for(REVERSE, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6, SECONDS)

# Pergi ke ruangan 2
drivetrain.drive_for(REVERSE, 800, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 1000, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 800, MM)
wait(5, SECONDS)

# Pergi ke ruangan 3
drivetrain.drive_for(REVERSE, 800, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 800, MM)
wait(5, SECONDS)

# Pergi ke lift
drivetrain.drive_for(REVERSE, 800, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 750, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 750, MM)
wait(6, SECONDS)

# Kembali ke zona awal
drivetrain.drive_for(REVERSE, 1500, MM)