Skip to main content

2과: 5번지까지 운전하세요

이 수업에서 VR 로봇은 번 숫자 그리드 맵 놀이터에서 숫자 '5'까지 주행하고 숫자 '1'로 돌아옵니다!

숫자 그리드 맵 놀이터의 위에서 내려다본 모습. 빨간색 상자로 숫자 5가 강조 표시되어 있습니다. VR 로봇은 숫자 1에서 시작하고, 숫자 5는 오른쪽으로 4칸 떨어져 있습니다.

VR 로봇이 X축을 따라 이동하며 X 값이 증가하면서 숫자 그리드 맵 놀이터의 숫자 '5'로 이동합니다.

숫자 그리드 맵 놀이터의 위에서 내려다본 모습. 숫자 5 공간이 검은색 상자로 강조 표시되어 있습니다. 선은 X축을 따라 측정값을 나타내는데, 첫 번째 공간은 X축의 -900밀리미터이고, 다음 공간은 -700이며, 매번 200씩 계산됩니다. 다섯 번째 공간은 -100밀리미터의 X 위치에 있습니다.

VR 로봇은 숫자 그리드 맵 놀이터에 있는 숫자 '5'의 위치로 이동합니다. 하지만 VR 로봇이 해당 번호로 이동하려면 먼저 VR 로봇에게 해당 번호의 위치가 어디인지 알려야 합니다. 놀이터 중앙에서 시작하여 숫자 '5'의 좌표는 (-100, -900)입니다.

숫자 그리드 맵 놀이터의 위에서 내려다본 모습. 두 개의 축 표시기가 다섯 번째 공간의 위치를 표시합니다. VR 로봇은 -900 X와 -900 Y에서 시작하고, 다섯 번째 공간은 -100 X와 -900 Y에 있습니다.
  • 시작하려면 VR 로봇이 숫자 '5'를 마주보고 있어야 합니다. [회전] 블록을 작업 공간으로 끌어다 놓습니다.

    VEXcode VR 블록 프로젝트는 When Started 블록으로 시작하여 Turn For 블록으로 이어지며, 그 다음에 오른쪽으로 90도 회전합니다.
  • [드라이브] 대기 중이 아닌 블록을 작업 공간으로 끌어다 놓습니다.

    VEXcode VR 블록 프로젝트의 연장선으로, 이제 Turn Forward 블록 다음에 Drive Forward 블록이 추가되었습니다. 이제 전체 프로젝트는 시작 시 오른쪽으로 90도 회전한 다음 앞으로 주행하는 것으로 구성됩니다.
  • [운전] 블록 아래에 [대기] 블록을 붙입니다.

    VEXcode VR 블록 프로젝트의 연장선으로, 이제 Drive Forward 블록 다음에 Wait Until 블록이 추가되었습니다. 이제 전체 프로젝트는 시작 시 오른쪽으로 90도 회전한 다음 앞으로 주행하는 것으로 구성됩니다. 마지막으로 빈 부울 매개변수가 있는 Wait Until 블록이 있습니다.
  • [Wait until] 블록은 부울 조건을 허용합니다. 거리 센서 장치와 마찬가지로 이 프로젝트에서는 조건을 사용하여 번호 그리드 맵 놀이터을 주행합니다. <Greater than> Boolean 리포터 블록을 [대기] 블록으로 끌어다 놓습니다.

    VEXcode VR 블록 프로젝트의 연장선으로, 이제 Wait Until 블록에 Greater Than 블록이 삽입되었습니다. 이제 전체 프로젝트는 시작 시 오른쪽으로 90도 회전한 다음 앞으로 주행하는 것으로 구성됩니다. 마지막으로, '빈칸은 50보다 크다'라고 쓰여 있는 Greater Than 블록이 포함된 Wait Until 블록이 있습니다.
  • VR 로봇이 놀이터의 왼쪽에서 오른쪽으로 주행하기 때문에 <Less than> 블록 대신 <Greater than> 블록이 사용됩니다. VR 로봇은 -900밀리미터(mm)의 X값에서 시작합니다. VR 로봇이 앞으로 나아갈수록 X값이 증가합니다.

    두 개의 축 표시기가 다섯 번째 공간의 위치를 표시한 숫자 그리드 맵 놀이터의 위에서 아래로 본 모습과 같습니다. VR 로봇은 -900 X와 -900 Y에서 시작하고, 다섯 번째 공간은 -100 X와 -900 Y에 있습니다.
  • (로봇의 위치) 블록을 <Greater than> 블록으로 끌어다 놓습니다.

    VEXcode VR 블록 프로젝트의 연장선으로, 이제 로봇 위치 블록이 Greater Than 블록에 삽입되었습니다. 이제 전체 프로젝트는 시작 시 오른쪽으로 90도 회전한 다음 앞으로 주행하는 것으로 구성됩니다. 마지막으로 로봇의 X 위치(밀리미터)가 50보다 커질 때까지 기다립니다.

    귀하의 정보를 위해

    (로봇 위치) 블록은 VR 로봇 중심의 X 또는 Y 좌표 위치를 보고하는 수치 보고 블록입니다. X 또는 Y 좌표 위치를 보고할지 선택합니다.

    로봇 위치 블록의 축 드롭다운 메뉴가 열려 측정 축이 X에서 Y로 변경되었습니다.

    스위치 블록 사용 

    이것은 스위치(로봇의 위치) 블록입니다. (로봇 위치) 블록의 매개변수를 변경하여 Y 좌표를 보고하려면 좌표 값에 "Y"를 입력하거나 표시되는 좌표 제안을 선택하면 됩니다. 

    자동 완성 기능을 보여주는 로봇 위치 스위치 블록입니다. 블록은 'location.position(X, MM)'을 읽고, 사용자는 자동 완성을 사용하여 X 매개변수를 Y로 변경하고 있습니다.

    (로봇 위치) 블록은 밀리미터(mm) 또는 인치로 값을 보고할 수 있습니다.

    측정 단위 드롭다운 메뉴가 열린 로봇 블록의 위치, 측정 단위가 밀리미터에서 인치로 변경되었습니다.

    로봇 위치 전환 블록을 사용하는 동안 측정 단위에 대한 매개변수를 변경하려면 "INCHES"를 입력하거나 표시되는 제안을 선택하면 됩니다. 측정 단위의 매개변수를 입력할 때는 반드시 대문자를 사용하세요.

    자동 완성 기능을 보여주는 로봇 위치 스위치 블록입니다. 블록은 'location.position(X, MM)'을 읽고, 사용자는 자동 완성을 사용하여 밀리미터 매개변수를 인치로 변경하고 있습니다.

  • <Greater than> 블록의 매개변수를 -100으로 설정합니다.

    VEXcode VR 블록 프로젝트의 연장선으로, 이제 Greater Than 블록의 두 번째 매개변수가 50에서 -100으로 변경되었습니다. 이제 전체 프로젝트는 시작 시 오른쪽으로 90도 회전한 다음 앞으로 주행하는 것으로 구성됩니다. 마지막으로 로봇의 X 위치(밀리미터)가 -100보다 클 때까지 기다립니다.
  • [운전 중지] 블록을 끌어서 프로젝트에 추가합니다.

    VEXcode VR 블록 프로젝트의 연장선으로, 이제 Wait Until 블록 아래에 Stop Driving 블록이 추가되었습니다. 이제 전체 프로젝트는 시작 시 오른쪽으로 90도 회전한 다음 앞으로 주행하는 것으로 구성됩니다. 마지막으로 로봇의 X 위치가 밀리미터 단위로 -100보다 커질 때까지 기다린 후 운전을 중지합니다.
  • 아직 열려 있지 않으면 숫자 그리드 맵 플레이그라운드 을 열고 프로젝트를 실행합니다.
  • 번호 그리드 맵 놀이터에서 VR 로봇이 숫자 '5'를 향해 주행하는 모습을 지켜보세요.

    VR 로봇이 다섯 번째 공간으로 이동한 모습을 담은 숫자 그리드 맵 놀이터의 상단 보기입니다.
  • 이 프로젝트에서 VR 로봇은 숫자 그리드 맵 놀이터의 숫자 '5'를 향해 주행합니다. [Wait until] 블록은 VR 로봇이 표시된 숫자가 있는 좌표의 X 값보다 X 값이 이상 이하가 될 때까지 계속 전진하도록 사용됩니다.
  • X 값이 -100보다 커지면 프로젝트는 스택의 다음 블록, 즉 [운전 중지] 블록으로 이동합니다. 숫자 '5'의 X 값은 -100이므로, X 값이 -100보다 커지면 VR 로봇이 운전을 멈춥니다.

VEXcode VR Blocks 프로젝트의 논리 흐름을 시각화한 다이어그램입니다. 이 프로젝트는 오른쪽으로 90도 회전한 다음 앞으로 주행하는 것으로 시작하며, 로봇 센서의 X 위치(밀리미터)가 -100보다 커질 때까지 해당 명령을 유지합니다. 커진 후에는 주행 중지 블록이 앞으로 주행 명령을 종료합니다.

스위치 블록 사용 

이번 수업에서는 부울 조건과 함께 VEXcode [대기까지] 블록을 사용하여 로봇이 X축에서 -100보다 큰 위치에 도달할 때까지 대기한 후 다음 동작으로 이동하도록 명령하는 방법을 배웠습니다.

로봇의 X 위치가 밀리미터 단위로 -100보다 클 때까지 기다리라는 내용을 읽는 VEXcode VR 블록입니다.

아래 이미지는 Python에서 동일한 명령을 사용한 Switch [Wait until] 블록을 보여줍니다. Switch 블록 내에서 while not location.position(X, MM) > -100: 는 로봇의 X축을 따라 위치가 -100보다 큰지 확인하는 첫 번째 Python 명령입니다.

들여쓰기된 명령어 wait (5, MSEC)특정 시간 동안 검사 실행을 일시 중지합니다. 이 예에서 프로젝트는 로봇의 위치가 5MSEC마다 X 값 -100보다 큰지 여부를 확인합니다. 이 코드 줄은 첫 번째 코드 줄 바로 아래에 들여쓰기되어 있는데, 그 이유는 이 명령이 조건(X 좌표 값이 -100보다 큰 경우)이 충족될 때까지 반복되는 동작이기 때문입니다. 

'while not location.position(X, MM) > -100: wait(5, MSEC)'라는 Python 코드가 있는 VEXcode VR 스위치 블록입니다.

이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.