자동화 챌린지 - 파이썬
자동 챌린지
이 챌린지에서는 로봇이 여러 병실에 있는 환자에게 약물을 전달하기 때문에 병원을 탐색하도록 로봇을 프로그래밍해야 합니다.
교사 팁
병원에 대한 배경 스토리를 만들어 참여도를 높이세요! 이 병원은 어떤 유형의 병원이고, 어떤 유형의 환자를 치료합니까?
챌린지 규칙
-
로봇은 시작 구역에서 시작하고 종료해야 합니다.
-
작업을 완료하려면 전체 로봇이 약국, 엘리베이터 및 환자실 내부에 있어야 하며 다음 시간을 기다려야 합니다.
-
약국: 약을 수령할 때까지 최소 5초 이상 기다리십시오.
-
엘리베이터: 다른 층에 도착하려면 5초 이상 기다리세요.
-
환자실: 약을 떨어뜨릴 때까지 최소 3초 이상 기다리십시오.
-
-
로봇은 벽에 닿거나 벽을 넘어서는 안 됩니다.
-
로봇은 먼저 약국을 방문하여 환자 병실을 위한 약을 픽업해야 합니다.
-
로봇은 약물을 투약하기 위해 (특별한 순서 없이) 각 환자실을 방문해야 합니다.
-
즐거운 시간 보내세요!
교사 도구 상자
-
솔루션
학생을 평가하기 위한 프로그래밍 평가 기준은 여기에서 확인할 수 있습니다(Google / .docx / .pdf).
아래에서 VEXcode V5 Python 샘플 솔루션을 확인하세요.
# 라이브러리 가져오기
from vex import *
# 프로젝트 코드 시작
# 약국으로 이동
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)
# 방 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(전진, 600, MM)
wait(6, SECONDS)
# 엘리베이터로 이동
drivetrain.drive_for(후진, 600, MM)
drivetrain.turn_for(우회전, 90, 도)
drivetrain.drive_for(전진, 600, MM)
drivetrain.turn_for(좌회전, 90, 도)
drivetrain.drive_for(전진, 600, MM)
wait(6, SECONDS)
# 2호실로 이동
drivetrain.drive_for(후진, 800, MM)
drivetrain.turn_for(좌회전, 90, 도)
drivetrain.drive_for(전진, 1000, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 800, MM)
wait(5, SECONDS)
# 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)
# 엘리베이터로 이동
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)
# 시작 구역으로 돌아가기
drivetrain.drive_for(REVERSE, 1500, MM)