Skip to main content

수업 1: 범퍼 센서란 무엇인가요?

이 수업에서는 센서가 무엇이고 VR 로봇에 센서를 사용하는 이유를 알아봅니다. 여러분이 배우게 될 첫 번째 센서는 범퍼 센서입니다. 범퍼 센서가 작동하는 방식과 VEXcode VR Python 프로젝트에서 VR 로봇 범퍼 센서를 사용하는 방법을 알아봅니다.

학습 성과

  • 범퍼 센서는 눌렸는지 눌리지 않았는지 알려주는 스위치 유형이라는 것을 알아보세요.
  • 범퍼 센서를 누르면 VR 로봇이 작동하고, 누르면 안 누르면 VR 로봇이 작동한다는 것을 알아보세요.
  • left_bumper.pressedright_bumper.pressed은 범퍼 센서에 대한 부울 값을 보고하는 명령임을 식별합니다.
  • 범퍼 센서가 프로젝트에 사용되는 이유를 설명하세요.

적용

센서는 로봇공학에 필수적이다. VR 로봇이 진정한 로봇으로 간주되려면 주변 환경을 감지하고 상호 작용할 수 있어야 합니다. 이는 일반적으로 감각 → 생각 → 행동 결정 루프라고 합니다.

화살표로 연결된 3단계의 연속적인 순환을 보여주는 다이어그램입니다. 첫 번째 단계는 '감각'으로 표시되며, '환경 감지'라는 텍스트가 포함되어 있어 주변 환경에서 정보를 수집하는 것으로 프로세스가 시작됨을 나타냅니다. 다음 단계인 '생각'으로 넘어가면 텍스트에 '환경에서 수집한 센서 데이터를 기반으로 의사 결정하기'라고 적혀 있는데, 이는 이 단계가 감지된 정보를 처리하여 의사 결정을 내리는 것을 포함한다는 것을 의미합니다. 마지막 단계는 실행(Act)으로, 실행 결정(Carry Out Decisions)이라는 텍스트가 포함되어 있으며, 이는 결정에 따라 조치가 취해진다는 것을 보여줍니다. 화살표는 루프를 만들어서 과정을 감각 단계로 되돌리는데, 이는 감지, 사고, 행동의 지속적인 순환을 나타냅니다.

VR 로봇은 센서를 사용하여 주변 환경에서 데이터를 수집(감지)하고, 이 정보를 바탕으로 결정을 내리고(사고), 이 정보를 행동 지침으로 전환(행동)합니다.

센서를 통해 VR 로봇은 주변 환경과 상호 작용할 수 있으며, 사용자는 더욱 동적인 프로젝트를 만들 수 있습니다. 이러한 역동적인 프로젝트에는 VR 로봇이 변화하는 환경과 상호 작용하고 대응할 수 있는 것이 필요합니다.

범퍼 센서

이 단원에서는 물리적 접촉을 감지할 수 있는 센서인 범퍼 센서를 사용합니다. 범퍼 센서는 VR 로봇이 물체나 벽과 접촉했을 때 이를 알리는 데 사용됩니다. VR 로봇은 왼쪽 또는 오른쪽 범퍼 센서로부터 보고된 정보를 사용하여 결정을 내릴 수 있습니다.

VR 로봇에는 전면에 범퍼 센서가 두 개 있습니다.

VR 로봇의 정면도. 앞면의 두 개의 범퍼 센서는 빨간색 상자로 강조 표시되어 있습니다.

범퍼 센서는 눌렸는지 아닌지를 알려주는 스위치입니다.

  • 범퍼 센서는 범퍼 센서를 때 센서 값 보고합니다.
  • 범퍼 센서가 않으면 범퍼 센서는 센서 값 보고합니다.

범퍼 센서는 벽 미로 놀이터의 벽이나 다른 놀이터를 둘러싼 바깥쪽 벽에 의해 눌립니다.

벽 미로 놀이터의 VR 로봇. 로봇은 앞에 있는 벽을 바라보고 있는데, 이는 앞으로 나아가려면 방향을 바꿔야 한다는 것을 나타냅니다.

범퍼 센서의 작동 방식에 대한 자세한 내용은 범퍼 센서 - 로봇 기능 - VEX VR문서를 읽어보세요.

범퍼 프레스 명령

범퍼 센서는 VR 로봇이 물체나 벽에 닿아 있는지 확인하는 데 사용됩니다. 이 데이터는 범퍼 센서가 눌렸을 때 VR 로봇이 결정을 내릴 수 있도록 하는 프로젝트에 사용될 수 있습니다. 

텍스트 프로젝트에서 left_bumper.pressedright_bumper.pressed명령을 사용하여 범퍼 센서의 상태를 확인합니다.

Left_bumper.pressed 은 범퍼가 눌 경우 True하고,않았을 경우 False 보고 부울 보고 명령입니다.

범퍼를 누르라는 명령 두 개가 두 줄에 쓰여 왼쪽 범퍼와 오른쪽 범퍼의 차이를 보여줍니다. 맨 위 행의 명령은 오른쪽 밑줄 범퍼 점을 눌렀다는 뜻입니다(). 아래쪽 행의 명령은 왼쪽 밑줄 범퍼 점을 눌렀다는 뜻입니다().

left_bumper.pressedright_bumper.pressed명령은 일반적으로while루프와 같은 제어 구조와 함께 사용되므로 VR 로봇이 범퍼 센서의 데이터를 사용하여 결정을 내릴 수 있습니다. 다음 수업에서는while루프에 대해 자세히 알아보겠습니다. 

범퍼 센서와 벽 미로 문제

벽 미로 문제를 생각해 보면, 목표는 범퍼 센서를 누르지 않은 상태에서 VR 로봇이 주행하도록 하는 것입니다. 범퍼 센서가 눌리면 VR 로봇이 벽에 도달한 것이며, 미로에서 계속 진행하려면 멈추거나 방향을 바꿔야 합니다. 

다음 예에서 VR 로봇은 시작 위치에서 앞으로 주행하다가 반대편 벽에 도달했을 때 왼쪽 범퍼가 눌립니다. 왼쪽 범퍼를 누르면 VR 로봇의 주행이 멈춥니다. 

비디오 파일

프로젝트가 실행되는 동안 범퍼 센서가 보고하는 값이 대시보드에 실시간으로 표시됩니다. 범퍼 센서를 누르지 않으면 값이 False로 보고됩니다.

# ""main"
에 프로젝트 코드 추가 def main():
	while not left_bumper.pressed():
		drivetrain.drive(FORWARD)
		wait(5, MSEC)
	drivetrain.stop()

# VR 스레드 - 삭제하지 마세요
vr_thread(main())
놀이터 대시보드와 VR 로봇이 시작 위치에 있는 벽 미로 놀이터는 벽에 닿지 않은 모습입니다. 놀이터 대시보드의 범퍼 센서는 빨간색 상자로 강조 표시되어 False를 보고하며, 둘 다 눌리지 않았다는 것을 나타냅니다.

범퍼 센서가 눌리고 VR 로봇이 벽에 기대어 있는 경우, 값은 True로 보고됩니다.

# ""main"
에 프로젝트 코드 추가 def main():
	while not left_bumper.pressed():
		drivetrain.drive(FORWARD)
		wait(5, MSEC)
	drivetrain.stop()

# VR 스레드 - 삭제하지 마세요
vr_thread(main())
VR 로봇의 앞면이 벽에 닿았을 때 놀이터의 대시보드를 보여주는 벽 미로 놀이터. 놀이터 대시보드의 범퍼 센서는 빨간색 상자로 강조 표시되어 True를 보고하며, 두 센서 모두 눌리고 있음을 나타냅니다.

언제든지 대시보드를 사용하여 프로젝트가 실행되는 동안 센서 데이터를 시각화할 수 있습니다. 대시보드는 언제든지 숨기거나 다시 열 수 있습니다(이 영상에서 보여줌). 아래 비디오 클립에서는 Playground 창의 왼쪽 상단에 있는 햄버거 메뉴를 선택하여 그 아래에 대시보드 버튼을 표시합니다. 그런 다음 대시보드 버튼을 선택하면 대시보드가 열립니다. 대시보드를 닫으려면 이 과정을 반복합니다.

비디오 파일

질문

아래 링크를 선택하여 수업 퀴즈에 참여하세요.

Google 문서 / .docx / .pdf