惯性#

介绍#

The VEX AIM Coding Robot has a built-in Inertial Sensor. This sensor measures how the robot is moving and turning.

The Inertial Sensor uses two parts to do this. The gyroscope measures turning, such as the robot’s heading, rotation, turn rate, and orientation. The accelerometer measures changes in motion, such as speeding up, slowing down, or stopping suddenly during a crash.

The Inertial blocks can be used to track turns, measure acceleration, detect crashes, and reset heading or rotation values.

以下是所有模块的列表:

Values — Report orientation and movement data.

  • heading — Reports the direction the robot is facing, from 0 to 359.99 degrees.

  • rotation — Reports how far the robot has turned.

  • acceleration — Reports how quickly the robot is speeding up or slowing down on the selected axis.

  • get turn rate — Reports how fast the robot is rotating on the selected axis.

  • orientation — Reports the robot’s roll, pitch, or yaw angle.

Actions — Respond to crashes or reset turn values.

价值观#

标题#

A heading is the direction the robot is facing, measured in degrees from 0 to 359.99. The heading reporter block reports the robot’s current heading.

The starting heading is 0 degrees. If the robot turns past 359.99 degrees, the heading wraps back to 0 degrees.

标题报告器块。#
heading in degrees

参数

描述

该块没有参数。

示例

when started
[Turn right until the heading reaches 90 degrees.]
turn [right v]
wait [0.05] seconds
wait until <(heading in degrees) [math_greater_than v] [90]>
stop all movement

when started
[Display the robot's heading as it is rotated by hand.]
forever
clear row [1] on screen
set cursor to row [1] column [1] on screen
print (heading in degrees) on screen ▶
wait [0.05] seconds

旋转#

Rotation is how much the robot has turned, measured in degrees. Unlike heading, rotation can increase past 359.99 degrees or decrease below 0 degrees. At the beginning of a project, the rotation value is set to 0 degrees. The rotation reporter block reports the robot’s current rotation.

Turning right increases the rotation, and turning left decreases the rotation. For example, making two full turns to the right will report a rotation of 720 degrees. Turning one full turn to the left from 0 degrees will report a rotation of -360 degrees.

旋转报告块。#
(rotation in degrees)

参数

描述

该块没有参数。

例子

when started
[Print the rotation value as the robot turns.]
turn [right v] for [480] degrees ◀ and don't wait
forever
clear screen
set cursor to row [1] column [1] on screen
print (rotation in degrees) on screen ▶

加速度#

Acceleration is how quickly the robot is speeding up or slowing down. The acceleration reporter block reports the robot’s acceleration along the selected axis, from -4.00 G to 4.00 G.

A G is a unit used to measure acceleration. 1 G is about the acceleration you feel from gravity while sitting still.

The value can be positive or negative depending on the direction of acceleration on the selected axis. On AIM, the axis options are named for directions on the robot: forward, rightward, and downward.

加速度报告器块。#
(acceleration of [forward v] axis in g :: custom-controller-inertial-timer :: custom-controller-inertial-timer)

参数

描述

The axis to measure acceleration on:

  • forward
  • rightward
  • downward

VEX 传感器设备图示为三个带颜色标记的箭头,分别指示方向。红色箭头“向右”指向左侧斜上方,绿色箭头“向前”指向右侧斜上方,蓝色箭头“向下”指向中心正下方。

例子

when started
[Show the change in acceleration as the robot begins to move.]
set cursor to row [4] column [1] on screen
print (join [Resting: ] (acceleration of [rightward v] axis in g :: custom-controller-inertial-timer)) on screen ▶
set cursor to next row on screen
wait [0.5] seconds
move [right v] for [50] [mm v] ◀ and don't wait
wait [0.1] seconds
print (join [Startup: ] (acceleration of [rightward v] axis in g :: custom-controller-inertial-timer)) on screen ▶

获取转弯速率#

Turn rate is how fast the robot is rotating. The get turn rate reporter block reports the robot’s current rotation speed along the selected axis in degrees per second \(dps\), as an integer.

The value can be positive or negative depending on the direction the robot is rotating on that axis. The image below uses arrows to show the direction of positive rotation for roll, pitch, and yaw.

VEX 传感器设备图中显示了三个带颜色的箭头,分别指示其旋转轴。红色箭头“俯仰”(Pitch)指向左侧对角线上方,绿色箭头“滚动”(Roll)指向右侧对角线上方,蓝色箭头“偏航”(Yaw)从中心直接指向下方。

获取转弯率报告器块。#
(get turn rate of [yaw v] axis in dps)

参数

描述

The axis to report turn rate on:

  • roll
  • pitch
  • yaw

例子

when started
[Observe the yaw turn rate as the robot turns.]
turn [right v] for [180] degrees ◀ and don't wait
forever
clear screen
set cursor to row [1] column [1] on screen
print (get turn rate of [yaw v] axis in dps) on screen ▶

方向#

Orientation is the robot’s current angle on a selected turning axis. The orientation reporter block reports the robot’s roll, pitch, or yaw, from -180.00 to 180.00 degrees as a decimal number.

Roll, pitch, and yaw describe different ways the robot can tilt or turn. The image below uses arrows to show the direction of positive rotation for roll, pitch, and yaw.

VEX 传感器设备图中显示了三个带颜色的箭头,分别指示其旋转轴。红色箭头“俯仰”(Pitch)指向左侧对角线上方,绿色箭头“滚动”(Roll)指向右侧对角线上方,蓝色箭头“偏航”(Yaw)从中心直接指向下方。

方向报告块。#
orientation of [yaw v] in degrees

参数

描述

The orientation axis to report:

  • roll
  • pitch
  • yaw

例子

when started
[Display the robot's orientation as it is rotated by hand.]
forever
clear row [1] on screen
set cursor to row [1] column [1] on screen
print (orientation of [roll v] in degrees) on screen ▶
wait [0.05] seconds

行动#

当崩溃时#

The when crashed hat block runs the attached stack when the robot detects a sudden impact or collision. Crash detection uses the accelerometer and the current crash sensitivity.

当帽子块坠毁时。#
when crashed

参数

描述

该块没有参数。

例子

when started
[Start moving forward.]
set move velocity to [100]%
move [forward v]

when crashed
[Respond when a crash is detected.]
stop all movement
play sound [crash v] ▶

设置碰撞敏感度#

The set crash sensitivity stack block adjusts how much sudden acceleration is needed for the robot to detect a crash.

设置崩溃敏感度堆栈块。#
set crash sensitivity to [low v]

参数

描述

敏感度

How sensitive the robot is when detecting crashes:

  • low — Detects stronger impacts only.
  • medium — Detects moderate impacts.
  • high — Detects smaller impacts.

例子

when started
[Move slowly with high crash sensitivity.]
set move velocity to [35]%
set crash sensitivity to [high v]
move [forward v]

when crashed
[Respond when a crash is detected.]
stop all movement
play sound [crash v] ▶

重置标题#

The reset heading stack block resets the robot’s current heading to 0 degrees. After this block runs, the direction the robot is currently facing becomes the new 0-degree heading.

重置标题堆栈块。#
reset heading

参数

描述

该块没有参数。

例子

when started
[Face left before turning around.]
turn to heading [270] degrees ▶
reset heading
wait [1] seconds
turn to heading [180] degrees ▶

重置旋转#

The reset rotation stack block resets the robot’s current rotation value to 0 degrees. After this block runs, the robot tracks future turns from the new 0-degree rotation value.

重置旋转堆栈块。#
reset rotation

参数

描述

该块没有参数。

例子

when started
[Turn for 480 degrees before resetting rotation.]
turn [right v] for [480] degrees ▶
reset rotation
forever
clear screen
set cursor to row [1] column [1] on screen
print (rotation in degrees) on screen ▶