Кодування датчика відстані V5 за допомогою математичних нерівностей

Використання датчика відстані V5 на вашому роботі під час матчу VEX Robotics Competition (VRC) може дозволити вашому роботу набрати більше очок за допомогою автономних рухів.

Гра, використана як приклад для цієї статті, є грою VRC 2021-2022, Tipping Point. Перегляньте цю сторінку , щоб дізнатися більше про гру та як у неї грають. Для визначення ігор, які використовуються в цій статті, огляду правил гри та підрахунку очок, перегляньте Посібник з гри для Переломний момент.


Датчик відстані V5

Кутовий вигляд датчика відстані V5.

V5 Distance Sensor є одним із потужних датчиків V5, розроблених для повної інтеграції з робототехнічною платформою V5.

  • Цей датчик використовує імпульс безпечного лазерного світла для вимірювання відстані від передньої частини датчика до об’єкта.
  • Датчик відстані V5 можна використовувати для виявлення об’єкта та визначення відносного розміру об’єкта. Приблизний розмір об’єкта позначається як малий, середній або великий.
  • Датчик також можна використовувати для розрахунку швидкості наближення робота. Швидкість наближення вимірює швидкість робота/датчика, коли він рухається до об’єкта.

Для отримання детальнішої інформації про датчик відстані V5, принцип його роботи та використання з VEXcode V5, версіяперегляньте цю статтю з бібліотеки VEX.


Приклад датчика відстані V5

Мета цього проекту полягає в тому, щоб робот підбирав і переміщував мобільну ціль за допомогою датчика відстані V5, щоб визначити, наскільки далеко знаходиться ціль.

Проект VEXcode V5 Blocks рухається вперед, доки не виявить мобільну ціль, не підніме її, а потім не перемістить. У проекті написано: «Після запуску рухайтеся вперед, чекайте, поки відстань до об’єкта DistanceCenter у мм не стане меншою за 139, а потім зупиняйтеся». Далі розкрутіть ForkMotors на 600 градусів, а потім поверніть ліворуч на 90 градусів. Далі проїдьте вперед на 600 мм, поверніть ForkMotors вниз на 600 градусів, а потім проїдьте назад на 300 мм.

Це приклад коду, який буде розглянуто в цій статті.

Розглянемо розбивку поведінки в прикладі та те, як отримати параметри, які використовуються для кодування датчика відстані V5.

Ви можете створити проект у VEXcode V5 , дотримуючись статті, або ви можете просто прочитати статтю для натхнення як приклад того, як включити датчик відстані V5, коли ви кодуєте власного спеціального робота.

У цьому відео показано виконання наведеного вище коду, а робот піднімає та переміщує мобільну ціль.

У цьому прикладі відкривається меню «Пристрої VEXcode V5», щоб відобразити конфігурацію пристрою. У меню спочатку відображається датчик відстані під назвою DistanceCenter на порту 19. Далі йде трансмісія з двигунами на портах 1 та 10 та інерційним датчиком на порту 3. Нарешті, на портах 2 та 9 є група двигунів під назвою ForkMotors.

Ось конфігурація робота, яка використовується у VEXcode V5 для додавання робота та датчика відстані до конфігурації для цього прикладу, якщо ви хочете спробувати приклад самостійно.

Для цього прикладу використано робота

Вигляд Moby Hero Bot зверху та з виділеним доданим датчиком відстані V5. Датчик відстані розташований позаду та під вилкою робота, повернутий вперед.

У цьому прикладі використовується робот VRC Hero Bot Moby 2021-2022 років. Конструкція Moby не має жодних датчиків, для цього прикладу в Moby додано датчик відстані V5.

У цьому прикладі датчик відстані V5 встановлено поблизу центру Moby's Forks.

Щоб отримати додаткову інформацію про Moby, перегляньте цю статтю з бібліотеки VEX.

Вам не обов’язково використовувати Moby для кодування датчика відстані V5 або для участі в цьогорічному конкурсі. Ви можете встановити датчик на своєму роботі будь-де, де вважаєте за потрібне.

Примітка: переконайтеся, що жодна конструкція на роботі не знаходиться перед маленьким лазерним віконцем на передній частині датчика. Перед датчиком між воротами та датчиком має бути вільний шлях.

Розбивка поведінки для оцінки

Щоб підняти та перемістити мобільну ціль за допомогою зворотного зв’язку від датчика відстані V5, спочатку розберіть, як повинен рухатися робот.

Робота Мобі розміщують на полі, а мобільні ворота розташовані за кілька футів перед ним.

По-перше, робота слід поставити обличчям до мобільної цілі.

Робот Мобі показано після того, як він рухається вперед, щоб відчути Мобільну Ціль. Мобільна ціль тепер знаходиться всередині вилок робота.

Потім робот повинен їхати вперед, доки датчик відстані не виявить, що мобільна ціль знаходиться всередині вил і близько до датчика.

Робот Мобі зображений після того, як виявив Мобільну Мету та підняв руки, щоб її підняти.

Коли датчик виявляє, що мобільна ціль знаходиться всередині вил або близько до датчика, робот припиняє рух і піднімає вилки, щоб забрати мобільну ціль.

Робот Мобі, який несе Мобі Мет і повернувся на 90 градусів ліворуч.

Після того, як Mobile Goal буде підібрано, робот поверне ліворуч на 90 градусів і поїде вперед на 600 міліметрів (мм).

Робот Мобі, який опустив свою вилку, щоб поставити мобільну ворота, а потім рушив назад.

Потім робот опустить вилки, щоб поставити мобільну ціль, і поїде заднім ходом від мобільної цілі, щоб випадково не перекинути її під час наступного руху.


Розуміння параметрів

Щоб виконати наведені вище дії, важливо розуміти, наскільки далеко мобільна ціль знаходиться від датчика відстані V5.

Параметр для визначення мобільної цілі за допомогою датчика відстані V5

Робот Мобі на полі з мобільними воротами, розміщеними між його вилами, щоб можна було визначити ідеальну відстань.

Щоб робот рухався вперед, поки датчик відстані не виявить, що мобільна ціль знаходиться всередині вил і близько до датчика, значення від датчика потрібно записати з V5 Brain.

Помістіть мобільну ціль між вилками робота.

Екран V5 Brain відображається в головному меню з виділеною опцією «Пристрої».Екран Brain відображається в меню «Інформація про пристрій», яке містить список усіх смарт-портів Brain та підключених пристроїв. Піктограма датчика відстані в меню «Інформація про пристрій» виділена, щоб показати, що елементи можна вибрати для відкриття відповідних інформаційних меню.

Потім на екрані мозку виберіть «Пристрої», а потім піктограму датчика відстані.

Екран Brain відображається в меню датчика відстані, де перелічені дані датчика. У меню відображаються дані про розмір, швидкість та відстань до об'єкта. У меню також є діаграма, яка візуалізує відстань та її зміни з часом. На цьому скріншоті розмір об'єкта невеликий, його швидкість становить 0 метрів за секунду, а відстань до нього — 139 мм.

Відстань у міліметрах (мм), на якій Mobile Goal знаходиться від датчика, відображається на екрані Brain.

Той самий проект VEXcode V5 Blocks з попереднього періоду, який рухається вперед, доки не виявить мобільну ціль, не підніме її, а потім не перемістить. Значення, з яким порівнюється відстань до об'єкта від датчика відстані в проекті, дорівнює 139, і воно виділено.

Це значення, яке використовуватиметься в проекті під час підбору мобільної цілі за допомогою датчика відстані.

Параметр для підйому та опускання вил

Робот Мобі на полі з мобільними воротами, розміщеними між його розвилками.

Знову помістіть мобільну ціль у вилку.

Екран Brain відображається в меню «Інформація про пристрій», яке містить список усіх смарт-портів Brain та підключених пристроїв. Піктограма двигуна в меню «Інформація про пристрій» виділена, щоб показати, що елементи можна вибрати для відкриття відповідних інформаційних меню.

Потім на екрані Brain виберіть «Пристрої», а потім піктограму Motor 2. Мотор 2 керує лівою вилкою.

Робот Мобі на полі з мобільними воротами, розміщеними між його піднятими вилами, щоб підняти його.

Вручну піднімайте вилки, поки нижня частина мобільного воріт не перестане закривати огляд датчика відстані.

Коли вручну піднімаєте вилку, переконайтеся, що ви піднімаєте кожну з лівої та правої сторони Moby одночасно, оскільки кожна з них керується власним двигуном.

Примітка: уникайте точок защемлення під час піднімання вилок вручну.

Екран Brain відображається в меню Smart Motor, де перелічені дані пристрою. У меню є показники та графіки, які відображають дані пристрою. На цьому скріншоті значення градусів двигуна виділено та дорівнює 604.

Кількість градусів, на яку були підняті Вилки, повідомляється на екрані Мозку.

Той самий проект VEXcode V5 Blocks з попереднього періоду, який рухається вперед, доки не виявить мобільну ціль, не підніме її, а потім не перемістить. Кількість градусів, на яку обертається група вилочного двигуна в проекті, дорівнює 600 і виділена.

Це значення, яке використовуватиметься в проекті під час підняття та опускання Вилок, щоб підняти та розмістити мобільну ціль.

Використання операторних блоків

Показано блок оператора VEXcode V5 "Менше ніж". Цей блок використовується для порівняння двох значень та повідомлення про те, чи перше значення менше за друге.

У цьому проекті блок оператора <Less than> використовується для кодування датчика відстані.

Екран Brain відображається в меню датчика відстані, де перелічені дані датчика. У меню відображаються дані про розмір, швидкість та відстань до об'єкта. У меню також є діаграма, яка візуалізує відстань та її зміни з часом. На цьому скріншоті розмір об'єкта невеликий, його швидкість становить 0 метрів за секунду, а відстань до нього — 139 мм.

Це пояснюється тим, що в міру наближення датчика відстані до об’єкта відстань у міліметрах між датчиком і цим об’єктом зменшується.

Той самий проект VEXcode V5 Blocks з попереднього періоду, який рухається вперед, доки не виявить мобільну ціль, не підніме її, а потім не перемістить. Значення, з яким порівнюється відстань до об'єкта від датчика відстані в проекті, дорівнює 139, і воно виділено.

Порогові значення можна вибрати, щоб ініціювати поведінку робота, коли відстань менше попередньо визначеної величини.

Наприклад, коли робот рухається до мобільної цілі, використовуйте блок оператора <Less than> , щоб ініціювати поведінку робота, який зупиняється, коли відстань на буде меншою за приблизно 139 міліметрів (мм).

Робот Мобі на полі з мобільними цілями всередині його вилок. Відстань від датчика відстані до мобільної цілі виділена червоною стрілкою.

Якби це значення змінилося, наприклад, на 10 міліметрів (мм), робот фактично врізався б у мобільну ціль і потенційно пошкодив би себе, оскільки 10 міліметрів (мм) від датчика недостатньо, щоб запобігти торканню вилок робота. мобільна ціль.

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

Last Updated: