VEX EXP 두뇌의 관성 센서 데이터 이해

VEX EXP 브레인에는 관성 센서가 내장되어 있습니다. 관성 센서는 센서 대시보드와 VEXcode EXP에서 방향, 회전, 방향 및 가속도에 대한 데이터를 보고합니다. 이 문서에서는 센서 대시보드에 표시되는 데이터를 검토합니다. 센서 대시보드에 액세스하는 방법에 대한 자세한 내용은 이 문서를 참조하세요. 

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


표제

로봇의 위쪽에서 아래쪽으로 내려다보는 다이어그램. 원 안에 각도 단위가 표시되어 있어, 뇌의 방향이 0도에서 359.99도까지 다양함을 나타냅니다.

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

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

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

관성 센서 대시보드가 열린 상태에서 뇌가 표시됩니다.

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

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

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

VEXcode EXP 블록 VEXcode EXP 파이썬
VEX코드 EXP는 드라이브 헤딩을 0도로 설정한다는 내용이 적힌 드라이브 헤딩 블록을 설정합니다.
드라이브트레인.set_heading(0, DEGREES)
VEX코드 EXP C++
int main()
{
Drivetrain.setHeading(0, 도);
}

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


회전

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

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

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

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

관성 센서 대시보드가 열린 상태에서 뇌가 표시됩니다.

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

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

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

VEXcode EXP 블록 VEXcode EXP 파이썬
VEXcode EXP Set 드라이브 회전 블록은 Set drive rotation to 0 degrees를 읽습니다.
드라이브트레인.set_rotation(0, DEGREES)
VEX코드 EXP C++
int main()
{
Drivetrain.setRotation(0, 도);
}

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


피치, 롤, 요

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

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

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

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

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

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

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

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


x, y 및 z 축의 가속도

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

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

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


x, y, z축의 회전 속도

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

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

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

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

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

Last Updated: