Skip to main content

3과: '1'번으로 운전하세요

  • VR 로봇을 시작 위치로 되돌리려면 놀이터를 재설정하세요.
  • 이제 VR 로봇은 숫자 그리드 맵 놀이터에서 숫자 '31'에 도달하면 돌아서 숫자 '1'로 돌아갑니다.

    숫자 그리드 맵 놀이터의 위에서 아래로 본 모습. 두 개의 축 표시기가 숫자 31 공간의 위치를 표시합니다. VR 로봇은 -900 X 및 -300 Y의 31번째 공간에 있습니다.
  • [운전정지] 블록을 제거하고 다음 블록으로 교체하세요.

    로봇을 공간 1에서 공간 31로 이동시키고 다시 공간 1로 돌아오게 하기 위해 이전 프로젝트에 추가해야 하는 블록에 대한 개요입니다. 이는 정지 주행 블록 앞에 회전, 주행, 대기 블록을 추가하여 수행됩니다. 이제 전체 프로젝트는 시작 시, 전진하고 로봇의 Y 위치(밀리미터)가 -300보다 클 때까지 기다립니다. 다음으로 180도 오른쪽으로 돌아서 앞으로 나아가세요. 마지막으로 로봇의 Y 위치가 밀리미터 단위로 -900보다 작아질 때까지 기다린 후 운전을 중지합니다.
  • 두 번째 [Waiting until] 블록에는 <Greater than> 블록 대신 <Less than> 블록이 포함되어 있다는 점에 유의하세요. 이는 VR 로봇이 이제 Y축을 따라 주행하고 있으며 숫자가 점점 더 음수로 변하고 있기 때문입니다. VR 로봇은 Y 값이 -900보다 작아지면 멈춥니다.

    동일한 VEXcode VR 블록은 VR 로봇을 공간 1에서 공간 31, 그리고 공간 1로 이동시키는 프로젝트이며, 두 번째 Wait Until 블록은 Greater Than 블록 대신 Less Than 블록을 사용했다는 점에 주의를 환기하기 위해 강조되었습니다. 프로젝트 전체에서는 시작 시, 전진하고 로봇의 Y 위치(밀리미터)가 -300보다 클 때까지 기다린다고 되어 있습니다. 다음으로 180도 오른쪽으로 돌아서 앞으로 나아가세요. 마지막으로 로봇의 Y 위치가 밀리미터 단위로 -900보다 작아질 때까지 기다린 후 운전을 중지합니다.
  • 아직 열려 있지 않으면 Number Grid Map Playground 을 실행하고 프로젝트를 실행합니다.
  • 번호 그리드 맵 놀이터에서 VR 로봇이 숫자 '1'을 향해 달리는 모습을 지켜보세요.
  • 이 프로젝트에서 VR 로봇은 번호 그리드 맵 놀이터의 숫자 '1'을 향해 주행합니다. VR 로봇이 숫자 '1'로 이동할 때 Y 값은 에서 씩 감소하므로 이 프로젝트에서는 <Less than> 블록을 사용합니다.
  • VR 로봇은 해당 숫자가 있는 좌표의 Y 값보다 Y 값이 에서 만큼 작은 값이 되면 멈춥니다. 숫자 '1'의 Y 값은 -900이므로, Y 값이 -900보다 작아지면 VR 로봇의 주행이 중단됩니다.

    우리가 작업하고 있는 VEXcode VR Blocks 프로젝트의 논리 흐름을 시각화한 다이어그램입니다. 이 프로젝트는 앞으로 주행하는 것으로 시작하여 로봇 센서의 Y 위치(밀리미터)가 -300보다 커질 때까지 해당 명령을 유지합니다. 다음으로 180도 오른쪽으로 돌아 앞으로 주행하면서 로봇 센서의 Y 위치(밀리미터)가 -900보다 작아질 때까지 해당 명령을 유지합니다. 작아지면 주행 중지 블록으로 앞으로 주행 명령을 종료합니다.

    귀하의 정보를 위해

    주석은 일반적으로 프로그래머가 프로젝트의 각 부분에 무엇을 원하는지 설명하기 위해 프로젝트에 추가됩니다. 주석은 코드에 대한 맥락과 전반적인 의미를 제공하므로 협업과 문제 해결 시 유용합니다. 주석을 사용하면 프로그래머가 "추측하고 확인"하는 대신 프로젝트의 전반적인 목표와 의도에 대해 개념적으로 생각할 수 있습니다. 특정 숫자와 어떤 좌표가 일치하는지 기억하고 싶으신가요? "-900, 700에 위치한 81번 도로로 운전하세요."라는 코멘트를 추가합니다. 이는 프로젝트의 다양한 섹션과 블록에 대한 의사소통에 도움이 됩니다.

    VEXcode VR 블록 프로젝트의 한 예는 로봇을 공간 1에서 공간 81로 이동시킨 후 다시 공간 41로 돌아오도록 하는 것입니다. 코드의 가독성을 높이고 디버깅에 도움이 되도록 각 위치의 좌표를 나열하는 주석이 추가되었습니다. 이 프로젝트는 '시작 시' 블록으로 시작하고 그 뒤에 '(-900,700)에 위치한 81번 도로로 주행'이라는 주석이 붙습니다. 다음으로 전진하고 로봇의 Y 위치(밀리미터)가 700보다 커질 때까지 기다립니다. 그 다음에는 '돌아가세요'라는 주석과 180도 오른쪽으로 돌라는 블록이 나옵니다. 다음은 '(-900, -100)에 위치한 41번 도로로 주행하세요'라는 주석과 'Drive Forward' 블록이 있습니다. 마지막으로 로봇의 Y 위치가 밀리미터 단위로 -100보다 작아질 때까지 기다린 후 운전을 중지합니다.

    댓글에 대한 자세한 내용은 댓글 - VR 블록 문서를 참조하세요.

스위치 블록 사용 

아래 이미지는 위의 프로젝트를 Switch 블록으로 변환한 것을 보여줍니다. Python의 주석은 녹색으로 표시됩니다. Python에서 주석을 작성하려면 파운드 기호(#) 뒤에 주석을 입력하면 됩니다. 

VR 블록 코드를 공간 1에서 공간 81, 그리고 공간 41로 이동하기 위한 VEX코드 VR 스위치 블록 구현입니다. 스위치 코드는 11줄로 구성되어 있으며, 다음과 같습니다. '# (-900, 700)에 위치한 81로 주행, drivetrain.drive(FORWARD), while not location.position(Y, MM) > 700: wait(5, MSEC), # 회전, drivetrain.turn_for(RIGHT, 180, DEGREES), # (-900, -100)에 위치한 41로 주행, drivetrain.drive(FORWARD), while not location.position(Y, MM) < -100: wait(5, MSEC), drivetrain.stop()'.

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