Інерційний#
Вступ#
Робот-кодувальник VEX AIM має вбудований інерційний датчик. Цей датчик вимірює, як робот рухається та повертається.
Інерційний датчик використовує для цього дві частини. Гіроскоп вимірює повороти, такі як напрямок руху робота, обертання, швидкість повороту та орієнтація. Акселерометр вимірює зміни в русі, такі як прискорення, уповільнення або раптова зупинка під час аварії.
Інерційні блоки можна використовувати для відстеження поворотів, вимірювання прискорення, виявлення аварій та скидання значень курсу або обертання.
Нижче наведено список усіх блоків:
Значення — Повідомляти про орієнтацію та дані руху.
heading — Повідомляє напрямок руху робота, від 0 до 359,99 градусів.
обертання — Повідомляє, наскільки повернувся робот.
прискорення — Повідомляє, як швидко робот прискорюється або сповільнюється на вибраній осі.
get turn rate — Повідомляє, з якою швидкістю обертається робот на вибраній осі.
орієнтація — Повідомляє кут крен, тангаж або риськування робота.
Дії — реагування на аварії або скидання значень ходу.
коли зіткнувся — Запускає приєднані блоки, коли робот виявляє раптовий удар.
встановити чутливість до зіткнень — Налаштовує чутливість виявлення зіткнень до ударів.
скинути курс — Скидає значення курсу робота до 0 градусів.
скинути обертання — Скидає значення обертання робота до 0 градусів.
Цінності#
заголовок#
Курс руху – це напрямок, у якому рухається робот, що вимірюється в градусах від 0 до 359,99. Блок репортера курсу повідомляє поточний курс руху робота.
Початковий курс становить 0 градусів. Якщо робот повертається далі за 359,99 градусів, курс повертається до 0 градусів.
курс у градусах
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклади
коли запущено
[Turn right until the heading reaches 90 degrees.]
повернути [праворуч v]
чекати [0.05] секунд
чекати до <(курс у градусах) [math_greater_than v] [90]>
зупинити весь рух
коли запущено
[Display the robot's heading as it is rotated by hand.]
назавжди
очистити рядок [1] на екрані
встановити курсор на рядок [1] стовпець [1] на екрані
вивести (курс у градусах) на екран ▶
чекати [0.05] секунд
обертання#
Обертання – це кут повороту робота, виміряний у градусах. На відміну від напрямку, обертання може збільшуватися понад 359,99 градусів або зменшуватися нижче 0 градусів. На початку проекту значення обертання встановлюється на 0 градусів. Блок звіту обертання повідомляє про поточне обертання робота.
Поворот праворуч збільшує обертання, а поворот ліворуч зменшує. Наприклад, два повні обертки праворуч покажуть обертання на 720 градусів. Поворот на один повний оберт ліворуч від 0 градусів позначить обертання на -360 градусів.
(обертання у градусах)
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено
[Print the rotation value as the robot turns.]
повернути [праворуч v] на [480] градусів ◀ і не чекати
назавжди
очистити екран
встановити курсор на рядок [1] стовпець [1] на екрані
вивести (обертання у градусах) на екран ▶
прискорення#
Прискорення – це швидкість, з якою робот розганяється або сповільнюється. Блок звіту прискорення повідомляє про прискорення робота вздовж вибраної осі, від -4,00 G до 4,00 G.
G – це одиниця вимірювання прискорення. 1 G – це прискорення, яке ви відчуваєте від сили тяжіння, сидячи нерухомо.
Значення може бути додатним або від’ємним залежно від напрямку прискорення на вибраній осі. В AIM опції осей називаються відповідно до напрямків руху робота: вперед, праворуч та вниз.
(прискорення по осі [вперед v] у g :: custom-controller-inertial-timer)
Параметри |
Опис |
|---|---|
вісь |
Вісь для вимірювання прискорення:
|

Приклад
коли запущено
[Show the change in acceleration as the robot begins to move.]
встановити курсор на рядок [4] стовпець [1] на екрані
вивести (об'єднати [Resting: ] (прискорення по осі [праворуч v] у g :: custom-controller-inertial-timer)) на екран ▶
перейти до наступного рядка на екрані
чекати [0.5] секунд
рухатися [праворуч v] на [50] [мм v] ◀ і не чекати
чекати [0.1] секунд
вивести (об'єднати [Startup: ] (прискорення по осі [праворуч v] у g :: custom-controller-inertial-timer)) на екран ▶
отримати коефіцієнт повороту#
Швидкість обертання – це швидкість обертання робота. Блок репортера get turn rate повідомляє поточну швидкість обертання робота вздовж вибраної осі в градусах за секунду \(dps\) як ціле число.
Значення може бути додатним або від’ємним залежно від напрямку обертання робота навколо цієї осі. На зображенні нижче стрілки показують напрямок позитивного обертання для крену, тангажу та рискування.

(кутова швидкість по осі [рискання v] у °/с)
Параметри |
Опис |
|---|---|
вісь |
Вісь, для якої потрібно повідомляти про швидкість повороту:
|
Приклад
коли запущено
[Observe the yaw turn rate as the robot turns.]
повернути [праворуч v] на [180] градусів ◀ і не чекати
назавжди
очистити екран
встановити курсор на рядок [1] стовпець [1] на екрані
вивести (кутова швидкість по осі [рискання v] у °/с) на екран ▶
орієнтація#
Орієнтація — це поточний кут робота на вибраній осі повороту. Блок звіту орієнтації повідомляє про крен, тангаж або рискування робота від -180,00 до 180,00 градусів у вигляді десяткового числа.
Крен, тангаж та рисьхання описують різні способи нахилу або повороту робота. На зображенні нижче стрілки показують напрямок позитивного обертання для крену, тангажу та рисьхання.

орієнтація [рискання v] у градусах
Параметри |
Опис |
|---|---|
вісь |
Вісь орієнтації для повідомлення:
|
Приклад
коли запущено
[Display the robot's orientation as it is rotated by hand.]
назавжди
очистити рядок [1] на екрані
встановити курсор на рядок [1] стовпець [1] на екрані
вивести (орієнтація [крен v] у градусах) на екран ▶
чекати [0.05] секунд
Дії#
коли розбився#
Блок when crashed запускає приєднаний стек, коли робот виявляє раптовий удар або зіткнення. Виявлення аварії використовує акселерометр та поточну чутливість до аварії.
при зіткненні
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено
[Start moving forward.]
встановити швидкість руху [100]%
рухатися [вперед v]
при зіткненні
[Respond when a crash is detected.]
зупинити весь рух
відтворити звук [зіткнення v] ▶
встановити чутливість до зіткнень#
Блок стеку set crash sensitivity налаштовує, наскільки різке прискорення потрібне роботу для виявлення зіткнення.
встановити чутливість до зіткнень [низький v]
Параметри |
Опис |
|---|---|
чутливість |
Чутливість робота під час виявлення зіткнень:
|
Приклад
коли запущено
[Move slowly with high crash sensitivity.]
встановити швидкість руху [35]%
встановити чутливість до зіткнень [високий v]
рухатися [вперед v]
при зіткненні
[Respond when a crash is detected.]
зупинити весь рух
відтворити звук [зіткнення v] ▶
скинути заголовок#
Блок стеку скидання курсу скидає поточний курс робота до 0 градусів. Після виконання цього блоку напрямок, у якому зараз рухається робот, стає новим курсом 0 градусів.
скинути курс
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено
[Face left before turning around.]
повернути на курс [270] градусів ▶
скинути курс
чекати [1] секунд
повернути на курс [180] градусів ▶
скинути обертання#
Блок стеку скидання обертання скидає поточне значення обертання робота до 0 градусів. Після виконання цього блоку робот відстежує майбутні повороти від нового значення обертання 0 градусів.
скинути обертання
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено
[Turn for 480 degrees before resetting rotation.]
повернути [праворуч v] на [480] градусів ▶
скинути обертання
назавжди
очистити екран
встановити курсор на рядок [1] стовпець [1] на екрані
вивести (обертання у градусах) на екран ▶