VEX IQ(2세대) 뇌의 관성 센서 데이터 이해

VEX IQ(2세대) 브레인에는 관성 센서가 내장되어 있습니다. 관성 센서는 센서 대시보드와 VEXcode IQ에서 방향, 회전, 방향 및 가속도에 대한 데이터를 보고합니다. 이 문서에서는 센서 대시보드에 표시되는 데이터를 검토합니다.

센서 대시보드 액세스에 대한 자세한 내용은 이 문서를 참조하세요. 

장치 메뉴에서 관성 센서 대시보드가 열리면 뇌 화면이 표시됩니다. 다음 관성 센서 정보가 표시됩니다. 방위, 회전, 롤, 피치, 요, 보정, x, y, z 축의 가속도, x, y, z 축의 회전 속도입니다.


표제

원과 그 주위에 표시된 각도 단위로 뇌를 위에서 아래로 나타낸 다이어그램으로, 뇌의 방향이 0도에서 359.99도까지임을 나타냅니다.

방향은 뇌가 향하는 방향이며 0-359.99의 각도를 사용하여 나침반 스타일로 보고됩니다.  0점은 VEXcode IQ의 명령을 사용하거나 VEX IQ(2세대) 두뇌를 보정하여 설정할 수 있습니다. 이 정보는 드라이브트레인을 사용할 때 로봇이 특정 위치를 향하도록 회전하는 데에도 사용될 수 있습니다.

관성 센서 대시보드가 열려 있고 방향 값이 강조 표시된 뇌 화면이 표시됩니다.

Brain 화면의 센서 대시보드에서 제목이 나열된 첫 번째 값입니다. 이 화면에서 뇌를 움직이면 값이 실시간으로 업데이트되는 것을 볼 수 있습니다.

관성 센서 대시보드가 열려 있고 확인 버튼이 강조 표시된 뇌가 표시됩니다.

브레인이 켜지고 관성 센서가 보정되면 0도로 설정됩니다. 브레인의 방향을 재설정하려면 브레인의 확인 버튼을 선택하세요. 이렇게 하면 방향과 회전이 0도로 재설정되고 관성 센서 센서 대시보드의 모든 데이터는 이 새로운 시작 위치를 기반으로 합니다.

VEXcode IQ 블록 VEXcode IQ 파이썬
VEX코드 IQ 방향 블록으로 이동하여 방향 90도로 회전이라고 적습니다.
드라이브트레인.turn_to_heading(90, DEGREES)
VEX코드 IQ C++
int main()
{
Drivetrain.turnToHeading(90, 도);
}

VEXcode IQ에서는 [Turn to Heading] 블록, Turn_to_headingPython 명령 및 TurnToHeading C++ 명령을 사용하여 로봇을 특정 방향으로 회전시킬 수 있습니다.

VEXcode IQ 블록 VEXcode IQ 파이썬
VEXcode IQ Set 드라이브 헤딩 블록에는 Set drive heading to 0도라고 적혀 있습니다.
드라이브트레인.set_heading(0, DEGREES)
VEX코드 IQ C++
int main()
{
Drivetrain.setHeading(0, 도);
}

센서 대시보드의 보정 옵션과 유사하게 [Set Drive Heading] 블록, set_heading Python 명령 또는 setHeading C++ 명령을 사용하여 프로젝트가 실행되는 동안 제목을 설정할 수 있습니다.


회전

관성 센서 대시보드가 열려 있고 회전 값이 강조 표시된 뇌 화면이 표시됩니다. 회전 값은 -90.13입니다.

회전은 로봇이 뇌의 중심축을 중심으로 회전할 때 보고됩니다. 센서 대시보드에 보고된 각도의 양은 회전 방향과 보정 이후 두뇌가 완료한 회전의 각도 값을 나타냅니다. 제목과 달리 숫자 값은 0~359.99도로 제한되지 않습니다. 로봇은 음수 값의 경우 시계 반대 방향으로 회전할 수 있고 양수 값의 경우 시계 방향으로 회전할 수 있으며 뇌 내의 관성 센서가 보고하는 회전 수와 일치하도록 각도 값을 계속 증가시킵니다. 

관성 센서 대시보드가 열려 있고 회전 값이 강조 표시된 뇌 화면이 표시됩니다. 회전 값은 0.47입니다.

Brain 화면의 센서 대시보드에는 회전이 두 번째로 나열된 값입니다. 이 화면에서 뇌를 회전하면 값이 실시간으로 업데이트되는 것을 볼 수 있습니다. 

관성 센서 대시보드가 열려 있고 확인 버튼이 강조 표시된 뇌가 표시됩니다.

브레인이 켜지고 관성 센서가 보정되면 0도로 설정됩니다. 로봇의 회전을 재설정하려면 브레인에서 확인 버튼을 선택하세요. 이렇게 하면 방향과 회전이 0도로 재설정되고 관성 센서 센서 대시보드의 모든 데이터는 이 새로운 시작 위치를 기반으로 합니다.

VEXcode IQ 블록 VEXcode IQ 파이썬
VEXcode IQ 회전 블록에 회전 90도라고 쓰여 있습니다.
드라이브트레인.turn_to_rotation(90, DEGREES)
VEX코드 IQ C++
int main()
{
Drivetrain.turnToRotation(90, 도);
}

VEXcode IQ에서는 [Turn to Rotation] 블록, Turn_to_rotation Python 명령 및 TurnToRotation C++ 명령을 사용하여 로봇을 특정 각도로 회전시킬 수 있습니다.

VEXcode IQ 블록 VEXcode IQ 파이썬
VEXcode IQ Set 드라이브 회전 블록에는 Set drive rotation to 0 Degrees라는 문구가 적혀 있습니다.
드라이브트레인.set_rotation(0, DEGREES)
VEX코드 IQ C++
int main()
{
Drivetrain.setRotation(0, 도);
}

센서 대시보드의 보정 옵션과 유사하게 [드라이브 회전 설정] 블록, set_rotationPython 명령 또는 setRotation C++ 명령을 사용하여 프로젝트가 실행되는 동안 회전 값을 설정할 수 있습니다.


피치, 롤, 요

피치를 나타내는 곡선 화살표가 있는 BaseBot의 다이어그램입니다. 피치 방향은 로봇이 위를 바라보거나 아래를 바라보는 것으로 상상할 수 있습니다.

피치, 롤 및 요는 지정된 축을 따른 뇌의 방향 각도입니다. 피치는 y축과 로봇이 앞뒤로 기울어지는 각도를 나타냅니다. 피치 값의 범위는 -90도에서 90도 사이입니다. 

롤을 나타내는 곡선 화살표가 있는 BaseBot의 다이어그램입니다. 롤 방향은 로봇이 옆으로 굴러가는 것으로 상상할 수 있습니다.

롤은 x축과 로봇이 좌우로 기울어지는 각도를 나타냅니다. 롤 값 범위는 -180도에서 180도 사이입니다. 

Yaw를 나타내는 곡선 화살표가 있는 BaseBot의 다이어그램입니다. 요 방향은 로봇이 좌우를 바라보는 것으로 상상할 수 있습니다.

요(Yaw)는 z축과 로봇의 각도 회전을 나타냅니다. 요 값의 범위는 -180도에서 180도 사이입니다.

관성 센서 대시보드가 열려 있고 롤, 피치, 요 값이 강조 표시된 뇌 화면이 표시됩니다.

피치, 롤, 요는 센서 대시보드의 방향 및 회전 아래에 표시됩니다.

피치, 롤, 요 예제 프로젝트 썸네일의 스크린샷입니다.

VEXcode IQ의 Pitch, Roll, Yaw 예제 프로젝트는 y, x, z 축을 따라 뇌의 방향 각도를 감지하는 방법을 보여주는 데 사용할 수 있습니다. Touch LED는 뇌의 방향 각도가 Pitch, Roll, Yaw를 나타내기 위해 어떻게 변하는지에 따라 다른 색상으로 설정됩니다.

VEXcode IQ에서 예제 프로젝트를 여는 방법에 대한 자세한 내용은 다음 문서 중 하나를 참조하세요.


x, y 및 z 축의 가속도

관성 센서 대시보드가 열려 있고 x, y, z축의 가속도 값이 강조 표시된 뇌 화면이 표시됩니다. 이러한 값은 대시보드에서 ax, ay, az로 표시됩니다.

센서 대시보드의 섹션 가속도는 지정된 축을 따라 관성 센서의 가속도 값을 보고합니다. x, y 및 z 축을 따른 가속도는 약어 "ax," "ay" 및 "az"를 사용하여 오른쪽 센서 대시보드에 표시됩니다. 이들 각각은 -4.0~4.0G 범위를 보고합니다.

뇌가 표면에 있는 동안 대략 -1.0G의 값을 볼 수 있습니다. 이는 휴식 중에 뇌에 가해지는 중력 때문입니다.

가속도 감지 예제 프로젝트 썸네일의 스크린샷입니다.

VEXcode IQ의 가속 감지 예제 프로젝트를 사용하여 x, y 및 z 축을 따라 뇌의 가속도를 감지하는 방법을 보여줄 수 있습니다. 두뇌가 어느 축에 기울어져 있는지에 따라 터치 LED의 색상이 달라집니다.

VEXcode IQ에서 예제 프로젝트를 여는 방법에 대한 자세한 내용은 다음 문서 중 하나를 참조하세요.


x, y, z축의 회전 속도

관성 센서 대시보드가 열려 있고 x, y, z 축의 회전 속도 값이 강조 표시된 뇌 화면이 표시됩니다. 이러한 값은 대시보드에서 gx, gy, gz로 표시됩니다.

센서 대시보드의 단면 자이로 속도는 지정된 축을 따라 관성 센서의 회전 값을 보고합니다. x, y, z 축을 따른 회전 속도는 약어 "gx", "gy" 및 "gz"를 사용하여 센서 대시보드 오른쪽에 표시됩니다. 이들 각각은 초당 -1000.0~1000.0도 범위를 보고합니다.

VEXcode IQ 블록 VEXcode IQ 파이썬
x축의 BrainInertial 자이로 속도를 읽는 VEXcode IQ 자이로 속도 블록입니다.
Brain_inertial.gyro_rate(AxisType.XAXIS, VelocityUnits.DPS)
VEX코드 IQ C++
int main()
{
BrainInertial.gyroRate(xaxis, dps)
}

VEXcode IQ에서는 (자이로 속도) 블록, gyro_ratePython 명령 및 gyroRate C++ 명령을 사용하여 프로젝트가 실행되는 동안 특정 축의 회전 속도를 보고할 수 있습니다.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: