Skip to main content

3과: 더 먼 거리에서 회전하기

회전 위치로 이동

  • 프로젝트의 마지막 turn_for 명령 뒤에 다음 명령을 추가합니다. while 루프의 들여쓰기가 프로젝트의 들여쓰기와 일치하는지 확인하세요. 기존 프로젝트에서 복사하여 붙여넣거나 작업 공간에 입력할 수 있습니다.  

        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES)
  • 미로에서 다음 벽으로부터 원하는 회전 위치까지의 거리는 약 300밀리미터(mm)라고 추정할 수 있습니다. 로봇이 마지막 위치에 있는 벽 미로 놀이터의 위에서 내려다본 모습. 검은색 선은 시작점에서부터 로봇의 경로를 보여줍니다. 로봇 앞쪽에서 반대편 벽 장애물까지의 거리는 약 300mm로 표시되어 있습니다. 

귀하의 정보를 위해

대시보드에 보고된 거리 센서 데이터를 사용하여 VR 로봇과 물체 사이의 거리를 추정할 수 있습니다. VR 로봇이 원하는 위치에 도착하면 프로젝트를 중지하세요. 로봇이 멈추면 대시보드의 값은 VR 로봇이 현재 위치한 곳의 센서 값을 표시합니다. 이는 센서 값을 관찰하고 특정 시점에서 VR 로봇과 물체 사이의 거리를 시각화하는 데 사용할 수 있습니다.

VR 로봇이 B 문자 아래의 장애물 벽에 갇힌 벽 미로 놀이터를 위에서 내려다본 모습입니다. 놀이터 창의 왼쪽 하단에 있는 중지 버튼은 빨간색 상자로 강조 표시되어 있습니다.

VR 로봇이 특정 지점에 도달하면 프로젝트를 중지하면 프로젝트를 일시 중지하여 거리 센서가 실시간으로 보고하는 값을 확인할 수 있습니다. 벽 미로의 경우 이 값을 보다 큰 연산자(>)에서 사용하여 VR 로봇이 벽에서 더 멀리 떨어진 곳에 멈추도록 할 수 있습니다.
VR 로봇이 벽을 돌아 B라는 글자로 향하는 길로 나아가기 위해 방향을 바꿔야 하는 위치에서 멈춘 벽 미로 놀이터의 위에서 내려다본 모습입니다. 놀이터 창에 대시보드가 열려 있고, 가장 오른쪽에 보고된 거리 값은 272mm입니다.

  • 아래와 같이 최종 while 루프 비교 연산자의 값을 300밀리미터(mm)로 조정합니다. 이를 통해 VR 로봇은 벽과의 거리가 300mm 이상 떨어져 있어도 앞으로 주행할 수 있습니다. 300mm 미만이면 VR 로봇은 벽 미로의 원하는 회전 위치에서 왼쪽으로 회전합니다.

        while front_distance.get_distance(MM) > 300:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES) 
  • 아직 열려 있지 않으면Wall Maze Playground을 실행하고 프로젝트를 실행합니다. VR 로봇이 원하는 방향 전환 위치에서 좌회전하여 미로를 통과해 'B' 문자까지 이동할 준비를 하는 모습을 주목하세요. 작업 공간 왼쪽에 프로젝트가 표시된 VEXcode VR과 놀이터에 있는 VR 로봇의 최종 위치입니다. 로봇은 이제 아래쪽을 향하고 있으며, B라는 글자로 이어지는 열린 길 안에 있고, 벽에 막혀 있지 않습니다.
  • 다음으로, 마지막 turn_for 명령 뒤에 다음 명령을 프로젝트에 추가하여 VR 로봇이 문자 'B'를 향해 경로를 계속 이동할 수 있도록 합니다. while 루프가 올바르게 들여쓰기되었는지 확인하세요. 
  • 	while front_distance.get_distance(MM) > 50:
            drivetrain.drive(전진)
            wait(5, MSEC)
    
        drivetrain.turn_for(우회전, 90, 도)
    
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(전진)
            wait(5, MSEC)
    
        drivetrain.turn_for(우회전, 90, 도)
    
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(전진)
            wait(5, MSEC)
    
        drivetrain.stop()
  • 아직 열려 있지 않으면 Wall Maze Playground 을 실행하고 프로젝트를 다시 실행합니다.

    VR 로봇이 문자 B에 멈춰 있는 벽 미로 놀이터의 위에서 내려다본 모습.
  • VR 로봇은 이제 벽 미로 놀이터 의 시작점에서 출발하여 'B'라는 글자에서 멈춥니다.
  • 오른쪽 피연산자를 300밀리미터로 바꾸면 VR 로봇이 벽으로부터 더 먼 거리에서 회전할 수 있는데, 이는 올바른 위치에서 회전하는 데 필요한 것입니다.
  • 대시보드에 보고된 거리 값은 VR 로봇이 문자 'B'에 도달하기 위해 방향을 바꿔야 할 때 벽에서 얼마나 떨어져 있었는지 관찰하는 데 사용할 수 있습니다.
    VR 로봇이 B 문자로 향하는 열린 길을 향해 방향을 전환하는 놀이터 창입니다. 대시보드에 보고된 거리 값은 300mm입니다.

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