사용자 인터페이스로서의 컨트롤러
로봇 원격 제어
우리는 대부분 리모컨을 사용하여 텔레비전과 상호작용합니다. 우리는 원하는 채널이나 정보/접속 화면을 TV에 표시하기 위해 버튼을 누릅니다. 기술적으로 보면, TV 리모컨은 UI입니다. 하지만 스마트폰에서 사용하는 UI에 비하면 훨씬 덜 정교합니다. 덜 정교하기 때문에 일반적으로 TV 리모컨은 UI 엔지니어가 아닌 전기 엔지니어가 디자인합니다. 전기 기술자는 훈련을 통해 리모컨에 새로운 기능을 추가하는 문제를 회로 문제로 봅니다. 즉, 텔레비전에 새로운 기능을 제어하기 위해 새로운 버튼을 추가하는 방법입니다. 그들은 다른 버튼과 관련하여 새로운 버튼의 사용성을 고려하지 않습니다.
V5 컨트롤러를 프로그래밍하는 것은 훨씬 더 정교합니다. 대회의 드라이버 컨트롤 매치 동안, 당신은 당신의 드라이버/팀이 가능한 한 많은 이점을 갖기를 원할 것입니다. 따라서 버튼과 조이스틱을 프로그래밍하여 두 가지 이상의 간단한 동작을 수행할 수 있습니다. 그리고 버튼/조이스틱을 조합하여 사용하면 복잡한 동작을 하도록 프로그래밍할 수 있습니다. 일부 게임 컨트롤러가 작동하는 방식과 유사합니다. 컨트롤러의 프로그래머로서, UI 엔지니어처럼 모든 버튼에 닿기 위해 손가락과 손을 어떻게 놓아야 할지 파악하여 어떤 버튼을 조합하여 사용할지 고려합니다. 로봇을 조종하는 운전자가 손이 경련을 일으키는 상황을 원하지 않을 것입니다.
V5 컨트롤러의 프로그래밍에서는 로봇이 적절한 동작을 수행하도록 하기 위해 어떤 버튼이 눌렸는지 반복적으로 확인합니다. 다음 예와 같이 여러 버튼을 조합하여 사용할 경우 컨트롤러 프로젝트 내에 중첩된 조건문이 매우 많을 수 있다는 점을 고려하세요. A 버튼을 누르고 B 버튼을 누르면 이 동작을 수행합니다. A버튼을 누르고, B버튼을 누르고, 왼쪽 조이스틱을 아래로 누르면 이런 동작을 합니다. 그렇지 않은 경우(A만 눌린 경우) 다음과 같이 동작합니다. 컨트롤러에서 사용 가능한 다른 모든 버튼과 해당 버튼의 조합을 고려하려면 얼마나 많은 조건 조합이 필요한지 생각해 보세요.
물론, 컨트롤러의 기능에 더 복잡한 동작을 프로그래밍할수록 프로젝트는 로봇이 자율적으로 동작하는 데 더 가까워집니다. 따라서 경쟁팀은 어떤 행동을 복잡한 시퀀스로 컨트롤러에 프로그래밍하는 것이 가장 좋은지, 어떤 행동을 여러 부분으로 분해하여 컨트롤러가 운전자(사용자)에게 행동의 속도와 정확도를 더 잘 제어할 수 있도록 하는 것이 가장 좋은지 파악해야 합니다.
동기 부여 토론
-
VEX 로봇 경연 대회
매년 VEX는 새로운 게임으로 사용자에게 도전 과제를 제공합니다. 각 팀은 15초(15)의 자율 기간(컨트롤러 없음)과 1분 45초(1:45)의 드라이버 제어 기간(컨트롤러)으로 구성된 경기에서 경쟁합니다. 일부 학생들은 클럽이나 팀의 일원으로 로봇 경연 대회에 참가한 적이 있을 수 있습니다. 아래 질문은 학생들에게 대회 경험 및/또는 관심사를 공유해 달라고 요청합니다.
질문:여기 계신 분이나 당신이 아는 분 중에 로봇 대회에 참가한 분이 있나요?
답변:참가한 학생들이 경험을 공유하도록 격려해 주세요. '어떤 로봇을 사용했나요?' 또는 '경험 중 가장 좋았던 부분은 무엇이었나요?'와 같은 질문을 더 해보세요.
질문:올해 VEX 대회/게임에 대해 더 자세히 알고 싶은 분 계신가요?
답변:학생들이 '예'라고 답하면, VEX 대회 웹사이트로 안내하여 올해 챌린지 영상을 보여주세요.
학습 확장
-
컨트롤러 프로그래밍
위에서 설명한 대로, 컨트롤러는 버튼 하나 또는 여러 버튼의 조합으로 복잡한 일련의 동작을 시작하도록 프로그래밍할 수 있습니다. 이러한 복잡한 시퀀스는 반드시 간단한 동작 시퀀스일 필요는 없으며, 센서 데이터를 사용하여 상황에 적합한 복잡한 동작 시퀀스를 결정하는 조건문을 포함할 수도 있습니다.
학생들에게 컨트롤러를 프로그래밍하여 하나 또는 두 개의 버튼을 누르면 로봇이 복잡한 작업을 수행하도록 하세요. 다음은 몇 가지 가능한 예입니다.
-
로봇은 특정 색상의 공이나 게임 요소를 회수합니다.
-
로봇은 특정 목표를 향해 게임 요소를 집어 들고 발사합니다.
-
로봇은 계속하기 전에 벽에 밀착하여 자세를 다시 잡습니다.