로봇 팔 프로그래밍 - 파이썬
교사 도구 상자
개요
- 이 탐구를 통해 학생들은 V5 클로봇의 팔 모터에 대한 기본 프로그래밍을 배우게 됩니다.
- 팔 모터를 프로그래밍하는 법을 배우면 학생들은 V5 클로봇의 팔 움직임을 올바르게 제어할 수 있습니다. Python 프로젝트에서 사용되는 지침에 대한 자세한 내용은 VEXcode V5 Python에 대한 도움말 정보를 참조하세요.
교사 팁
-
자동완성 사용
자동완성은 VEXcode V5의 기능으로, 사용자가 입력하는 나머지 명령어를 예측해 줍니다. 학생들이 VEXcode V5로 작업할 때 Python 구문을 이해하는 데 도움이 되는 자동 완성 기능을 사용하도록 권장합니다. 명령어를 입력하기 시작하면 자동완성 기능이 나타날 수 있습니다. "위쪽" 및 "아래쪽" 키를 사용하여 원하는 이름을 선택한 다음 키보드의 "Tab" 또는 (Enter/Return) 키를 눌러 선택합니다. 이 기능에 대한 자세한 내용은 Python 문서확인하세요. 
V5 클로봇이 도착할 준비가 되었습니다!
이 탐색을 통해 V5 클로봇의 팔을 사용하여 멋진 프로젝트를 만드는 데 필요한 도구를 얻을 수 있습니다.
- 이 탐색에 사용될 VEXcode V5 Python 명령어:
- arm_motor.spin_for(전진, 90, 도)
- arm_motor.위치 설정(0, 도)
- 기다림(2, 초)
-
지침에 대한 자세한 정보를 알아보려면 명령 옆에 있는 물음표 아이콘 선택하여 자세한 정보를 확인하세요.

- 필요한 하드웨어, 엔지니어링 노트북, VEXcode V5를 다운로드하여 준비하세요.
| 수량 | 필요한 재료 |
|---|---|
| 1 |
VEX V5 교실 스타터 키트(최신 펌웨어 포함) |
| 1 |
VEX코드 V5 |
| 1 |
엔지니어링 노트북 |
| 1 |
Clawbot 및 Advanced TrainingBot(드라이브트레인 2모터, 자이로 없음) 예제 프로젝트 |
1단계: 탐색 준비
활동을 시작하기 전에 다음 항목을 모두 준비하셨나요? 다음 각 항목을 확인하세요.
-
모터가 올바른 포트에 연결되어 있습니까?
-
스마트 케이블모든 모터에 완전히되어 있습니까?
-
배터리충전되어 있나요?
교사 팁
학생들에게 각 문제 해결 단계를 모델로 보여줍니다.
2단계: 새 프로젝트 시작
프로젝트를 시작하기 전에 올바른 템플릿 프로젝트를 선택하세요. Clawbot과 Advanced TrainingBot(Drivetrain 2-motor, No Gyro) 예제 프로젝트에는 Clawbot의 모터 구성이 포함되어 있습니다. 템플릿을 사용하지 않으면 로봇이 프로젝트를 올바르게 실행하지 않습니다.
다음 단계를 완료하세요.
- 파일 메뉴를 엽니다.
- 선택열기예.
- Clawbot과 Advanced TrainingBot(Drivetrain 2-motor, No Gyro) 예제 프로젝트를 선택하여 엽니다.
- 팔을 제어하기 위한 프로그래밍을 하게 되므로 프로젝트 이름을ArmControl바꾸세요.
- 프로젝트를저장하세요.
- 프로젝트 이름 ArmControl이 이제 도구 모음 중앙 창에 있는지 확인하세요.

교사 팁
- 이것은 프로그래밍의 시작 활동이므로, 교사는 단계를 모델로 보여준 다음 학생들에게 동일한 동작을 완료하도록 요청해야 합니다. 그런 다음 교사는 학생들이 단계를 올바르게 따르고 있는지 모니터링해야 합니다.
- 학생들이 파일 메뉴에서 예제 열기를 선택했는지 확인하세요.
- 학생들이 Clawbot과 Advanced TrainingBot(Drivetrain 2-motor, No Gyro) 예제 프로젝트를 선택했는지 확인하세요.
학생들에게 예제 페이지에서 선택할 수 있는 항목이 여러 개 있다는 점을 알려줄 수 있습니다. 학생들이 다른 로봇을 만들고 사용하면서 다양한 템플릿을 사용할 기회를 얻게 됩니다.
- 학생들에게 프로젝트 이름에 자신의 이니셜이나 그룹 이름을 추가하도록 요청할 수 있습니다. 학생들에게 프로젝트를 제출하도록 요청할 경우, 프로젝트를 구분하는 데 도움이 됩니다.
교사 도구 상자
-
프로젝트 저장
- VEXcode V5를 처음 열었을 때 창에 VEXcode 프로젝트라는 라벨이 붙어 있었다는 점을 지적하세요. VEXcode 프로젝트는 VEXcode V5를 처음 열었을 때 기본 프로젝트 이름입니다. 프로젝트 이름을 변경하고 저장한 후 디스플레이가 업데이트되어 새로운 프로젝트 이름이 표시되었습니다. 도구 모음의 이 창을 사용하면 학생들이 올바른 프로젝트를 사용하고 있는지 쉽게 확인할 수 있습니다.
- 학생들에게 이제 첫 번째 프로젝트를 시작할 준비가 되었다고 말하세요. 학생들에게 몇 가지 간단한 단계만 따르면 클로봇의 팔을 올리고 내리는 프로젝트를 만들고 실행할 수 있다고 설명하세요.
- 학생들에게 작업하는 동안 프로젝트를 저장하도록 상기시켜 주세요. VEX 라이브러리 Python 섹션에 있는 문서에서는 VEXcode V5의 저장 방법을 설명합니다.
교사 도구 상자
-
멈추고 토론하기
여기서 잠시 멈춰서 학생 그룹이 VEXcode V5에서 새 프로젝트를 시작하기 위해 방금 완료한 단계를 검토해 보는 것이 좋습니다.
3단계: 팔을 위로 올리세요
이제 팔을 들어올리는 동작을 프로그래밍해 보겠습니다!
# 라이브러리 가져오기
from vex import *
# 프로젝트 코드 시작
arm_motor.set_position(0, DEGREES)- 프로그래밍 영역에서 위에 표시된 대로 arm_motor.set_position()명령을 작성하여 팔의 시작 위치를 설정합니다.
arm_motor.위치 설정(0, 각도)
arm_motor.전진, 90, 각도로 회전- 위에 표시된 것처럼 arm_motor.set_position() 명령 아래에 arm_motor.spin_for()명령을 추가하여 팔을 위로 이동합니다.
- 슬롯 아이콘을 선택하세요. 로봇 브레인의 사용 가능한 슬롯 중 하나에 프로젝트를 다운로드할 수 있습니다. 슬롯 1을 선택하세요.
- 로봇을 컴퓨터나 태블릿에 연결합니다. 연결이 성공적으로 이루어지면 도구 모음의 Brain 아이콘이 녹색로 바뀝니다.
- 툴바에서다운로드버튼을 클릭하여 ArmControl 프로젝트를 로봇 브레인에 다운로드합니다.
교사 도구 상자
학생들이 컴퓨터를 사용하고 있다면, 지금 로봇 브레인에서 USB 케이블을 분리하라고 요청하세요. 프로젝트를 실행하는 동안 로봇을 컴퓨터에 연결하면 로봇이 연결 케이블을 잡아당길 수 있습니다.

- ArmControl 프로젝트가 선택한 슬롯의 Brain에 다운로드되었는지 확인하세요.
교사 도구 상자
-
모델 우선
모든 학생이 한꺼번에 시도하기 전에, 먼저 학급 앞에서 프로젝트를 진행하는 모델을 만드세요. 학생들을 한곳에 모으고 클로봇이 팔을 움직일 수 있을 만큼 충분한 공간을 남겨둡니다. 프로젝트를 종료하고 클로봇의 팔을 원래 위치로 되돌리는 방법을 보여줍니다.
학생들에게 이제 그들이 프로젝트를 진행할 차례라고 말하세요. 클로봇의 팔을 안전하게 들어 올릴 수 있을 만큼 충분한 공간이 있는지 확인하세요.
- Clawbot에서 프로젝트를 하려면 프로젝트가 선택되어 있는지 확인한 다음 실행 버튼을 누릅니다. 첫 번째 Claw Arm 프로젝트를 만든 것을 축하드립니다!
4단계: 다음을 시도해 보세요: 팔을 아래로 프로그래밍하세요
이제 팔을 위로 움직이도록 프로그래밍했으므로, 이제는 팔을 낮추거나 아래로 움직이도록 프로그래밍해야 합니다.

- ArmControl 프로젝트에 두 번째 arm_motor.spin_for()명령을 추가하여 팔이 90도까지 올라가고 2초간 기다린 후 다시 내려가도록 합니다.
- 힌트:명령 내에서 방향을 변경해야 합니다.
- wait명령이 실행되는 동안 팔이 위치를 유지하는 것을 확인하세요. 모터는 배터리에서 전력을 얻어 중력에 맞서 팔을 들어올립니다. 모터를 멈추는 기본 설정이보류설정이기 때문입니다. 정지를 위한 다른 설정은 두 가지가 있습니다.브레이크및코스팅. 이에 대해서는 다른 연구실에서 배우게 될 겁니다.
교사 도구 상자
-
솔루션
이 과제에 대한 해결책은 아래와 같습니다. 팔을 낮추려면 학생들은 추가된 arm_motor.spin_for()명령에서 "FORWARD" 매개변수를 "REVERSE"로 변경해야 했습니다.
# 프로젝트 코드 시작
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
wait(2, SECONDS)
arm_motor.spin_for(REVERSE, 90, DEGREES)
5단계: 비행 교통 관제사 챌린지 완료

비행 교통 관제사 챌린지에서 클로봇은 팔을 90도 동안 위아래로 한 번 움직여야 하고, 3초간 기다린 다음, 팔을 45도 동안 위아래로 두 번 움직여야 하고, 5초간 기다린 다음, 팔을 90도 동안 위아래로 세 번 움직여야 합니다.
클로봇의 동작 목록은 다음과 같습니다.
- 팔을 위로, 그리고 아래로 90도 각도로 움직입니다.
- 3초간 기다리세요.
- 팔을 위로, 그리고 아래로 45도 움직입니다.
- 팔을 위로, 그리고 아래로 45도 움직입니다.
- 5초간 기다리세요.
- 팔을 위로, 그리고 아래로 90도 각도로 움직입니다.
- 팔을 위로, 그리고 아래로 90도 각도로 움직입니다.
- 팔을 위로, 그리고 아래로 90도 각도로 움직입니다.
교사 도구 상자
-
솔루션
이 챌린지 내의 대부분의 명령은 arm_motor.spin_for()입니다. 팔을 위로 움직이는 명령과 아래로 움직이는 명령을 추가한 후, 두 명령을 강조 표시하고 마우스 오른쪽 버튼을 클릭한 다음, 필요한 만큼 복사하여 붙여넣을 수 있습니다. 그런 다음 매개변수를 변경하여 과제를 충족할 수 있으며 대기명령을 추가할 수 있습니다.
- 여기에서 비행 교통 관제사 챌린지 솔루션의 예를 검토해 보세요.
# 프로젝트 코드 시작
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
arm_motor.spin_for(전진, 90도, 도)
arm_motor.spin_for(후진, 90도, 도)
arm_motor.spin_for(전진, 90도, 도)
arm_motor.spin_for(후진, 90도, 도)더 높은 단계의 학생은 루프를 사용하여 솔루션을 단순화할 수 있습니다.
# 프로젝트 코드 시작
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
for repeat_count in range(2):
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
for repeat_count in range(3):
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)- 프로그래밍 루브릭(Google Doc / .docx / .pdf)