Інерційний#
Вступ#
Мозок має вбудований інерційний датчик. Цей датчик може вимірювати, як мозок рухається або повертається.
Інерційний датчик використовує для цього дві частини. Гіроскоп вимірює повороти, наприклад, у якому напрямку повернутий мозок і наскільки сильно він повернувся. Акселерометр вимірює зміни в русі, такі як прискорення, уповільнення або раптова зупинка під час аварії.
Інерціальні методи можна використовувати для відстеження поворотів, скидання значень курсу або обертання, вимірювання крену, тангажу та рисьхання, а також для звітності про прискорення.
Існує багато способів кодування інерційного датчика. Нижче наведено список усіх інерційних методів:
Орієнтація — Поверніться та встановіть, як мозок орієнтований, повертається або нахиляється.
get_heading— Повертає напрямок, у якому дивиться Brain, від 0 до 359 градусів.get_rotation— Повертає, наскільки обертався Мозок.get_yaw— Повертає, наскільки Brain повернувся ліворуч або праворуч від початкового положення.get_roll— Повертає значення, на яке число нахилено мозок ліворуч або праворуч.get_pitch— Повертає, наскільки мозок нахилений вперед або назад.calibrate— Калібрує інерційний датчик мозку.reset_heading— Скидає поточний напрямок руху Мозку до 0 градусів.reset_rotation— Скидає поточне обертання Мозку до 0 градусів.set_heading— Встановлює поточний напрямок руху Мозку на нове значення.set_rotation— Встановлює поточне обертання Мозку на нове значення обертання.
Рух — Повертає, як рухається мозок.
get_acceleration— Повертає, наскільки швидко Мозок прискорюється або сповільнюється на вибраній осі.
Орієнтація#
get_heading#
Напрямок руху — це напрямок руху мозку, виміряний у градусах від 0 до 359. get_heading повертає поточний напрямок руху мозку.
Початковий напрямок — 0 градусів. Якщо мозок повертається далі за 359 градусів, напрямок повертається до 0 градусів.
Usage:
inertial.get_heading()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
get_rotation#
Обертання – це кут повороту Мозку, виміряний у градусах. На відміну від напрямку руху, обертання може збільшуватися понад 359 градусів або зменшуватися нижче 0 градусів. На початку проекту значення обертання встановлюється на 0 градусів. get_rotation повертає поточне обертання Мозку.
Поворот праворуч збільшує обертання, а поворот ліворуч зменшує. Наприклад, два повні обертки праворуч повернуть обертання на 720 градусів. Поворот на один повний оберт ліворуч від 0 градусів поверне обертання на -360 градусів.
Usage:
inertial.get_rotation()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
get_yaw#
Значення кута повороту (Yaw) – це те, наскільки Brain повернувся ліворуч або праворуч від початкового положення, вимірюється в градусах. get_yaw повертає поточне значення кута повороту Brain.
Поворот праворуч збільшує значення рискання, а поворот ліворуч зменшує його. Рискування корисне для перевірки поворотів ліворуч та праворуч без використання значення курсу, що обгортається.
Usage:
inertial.get_yaw()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
get_roll#
Крен — це нахил Мозку ліворуч або праворуч, виміряний у градусах. get_roll повертає поточне значення кренування Мозку.
Якщо мозок повернутий вперед, нахил ліворуч збільшує значення крену, а нахил праворуч зменшує його.
Usage:
inertial.get_roll()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
get_pitch#
Висота тону – це нахил Мозку вперед або назад, виміряний у градусах. get_pitch повертає поточне значення висоти тону Мозку.
Коли мозок повернутий вперед, нахил вперед збільшує висоту звуку, а нахил назад зменшує його.
Usage:
inertial.get_pitch()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
calibrate#
calibrate калібрує інерційний датчик мозку.
Калібрування допомагає інерціальному датчику правильно вимірювати повороти. Тримайте Brain нерухомо приблизно 2 секунди під час калібрування. Якщо Brain рухається під час калібрування, значення курсу, обертання, риськування, крену та тангажу можуть вимірюватися неправильно.
Проєкт чекатиме на завершення калібрування, перш ніж буде виконано наступний рядок коду.
Usage:
inertial.calibrate()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
reset_heading#
Курс руху – це напрямок, у якому дивиться мозок, виміряний у градусах. reset_heading скидає поточний курс руху мозку до 0 градусів.
Після використання цього методу поточний напрямок руху мозку стає новим курсом 0 градусів.
Usage:
inertial.reset_heading()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
reset_rotation#
Обертання – це кут повороту Мозку, виміряний у градусах. reset_rotation скидає поточне обертання Мозку до 0 градусів.
Після використання цього методу мозок відстежує майбутні повороти, виходячи з нового значення повороту 0 градусів.
Usage:
inertial.reset_rotation()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
set_heading#
Курс руху — це напрямок руху Мозку, виміряний у градусах від 0 до 359. set_heading змінює поточний курс руху Мозку на нове значення курсу.
Наприклад, якщо мозок повернувся обличчям праворуч, встановлення напрямку на 0 градусів робить це положення обличчям праворуч новим 0 градусами. Тоді мозок може відстежувати інші напрямки руху на основі цього нового напрямку.
Usage:
inertial.set_heading(heading)
Параметри |
Опис |
|---|---|
|
Значення курсу в градусах, яке потрібно встановити для Brain. Це може бути ціле число від 0 до 359. |
set_rotation#
Обертання – це кут повороту Мозку, виміряний у градусах. На відміну від напрямку руху, обертання може збільшуватися понад 359 градусів або зменшуватися нижче 0 градусів. На початку проекту значення обертання встановлюється на 0 градусів. set_rotation змінює поточне обертання Мозку на нове значення.
Наприклад, якщо мозок зробив два повних оберти праворуч, значення його обертання становитиме 720 градусів. Встановлення обертання на 0 градусів скине це обертання з 720 до 0 градусів. Тоді мозок зможе відстежувати обертання на основі цього нового значення.
Usage:
inertial.set_rotation(rotation)
Параметри |
Опис |
|---|---|
|
Значення обертання в градусах, яке потрібно встановити для Мозку. Це може бути ціле число. |
Рух#
get_acceleration#
Прискорення – це те, наскільки швидко Мозок прискорюється або сповільнюється. get_acceleration повертає прискорення Мозку на вибраній осі, від -4.0 G до 4.0 G.
G — це одиниця вимірювання прискорення. 1 G — це прискорення, яке ви відчуваєте від сили тяжіння, сидячи нерухомо.
Значення може бути додатним або від’ємним залежно від напрямку прискорення на вибраній осі. Варіанти осей: X, Yта Z.
Usage:
inertial.get_acceleration(axis)
Параметри |
Опис |
|---|---|
|
Вісь для вимірювання прискорення: |
# Build Used: Super Code Base 2.0
def main():
# Display the acceleration after moving.
drivetrain.set_drive_velocity(100)
console.print("Resting: ")
console.print(inertial.get_acceleration(X), precision=2)
console.new_line()
wait(1, SECONDS)
drivetrain.drive_for(FORWARD, 500, MM, wait=False)
wait(0.20, SECONDS)
console.print("Startup: ")
console.print(inertial.get_acceleration(X), precision=2)
# Start threads — Do not delete
start_thread(main)