Кодирование датчика расстояния V5 с использованием математических неравенств

Использование датчика расстояния V5 на вашем роботе во время матча VEX Robotics Competition (VRC) может позволить вашему роботу набрать больше очков, используя автономные движения.

В качестве примера в этой статье использована игра VRC 2021–2022 годов, Tipping Point. Просмотрите эту страницу для получения дополнительной информации об игре и правилах игры. Определения игр, используемые в этой статье, обзор правил игры и подсчета очков найти в руководстве по игре Tipping Point.


Датчик расстояния V5

Вид под углом на датчик расстояния V5.

Датчик расстояния V5 — один из мощных датчиков V5, разработанный для полной интеграции с робототехнической платформой V5.

  • Этот датчик использует импульс безопасного для классной комнаты лазерного света для измерения расстояния от передней части датчика до объекта.
  • Датчик расстояния V5 можно использовать для обнаружения объекта и определения его относительного размера. Приблизительный размер объекта указывается как маленький, средний или большой.
  • Датчик также можно использовать для расчета скорости приближения робота. Скорость приближения измеряет скорость робота/датчика при движении к объекту.

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


Пример датчика расстояния V5

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

Проект VEXcode V5 Blocks движется вперед, пока не обнаружит мобильную цель, не поднимет ее и не переместит. В описании проекта указано: «После запуска двигайтесь вперед, подождите, пока расстояние до объекта DistanceCenter в мм не станет меньше 139, а затем остановитесь». Далее, раскрутите вилочные двигатели на 600 градусов, а затем поверните налево на 90 градусов. Далее, проедьте вперед на 600 мм, поверните вилочные двигатели на 600 градусов, а затем проедьте назад на 300 мм.

Это пример кода, который будет рассмотрен в этой статье.

Будет рассмотрено поведение в примере и способы получения параметров, используемых для кодирования датчика расстояния V5.

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

В этом видео показано выполнение приведенного выше кода, а также робот, поднимающий и перемещающий мобильную цель.

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

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

Робот, использованный в этом примере

Вид сверху на робота Moby Hero Bot с выделенным дополнительным датчиком расстояния V5. Датчик расстояния расположен позади и ниже вилки робота, направлен вперед.

В этом примере используется робот Moby VRC Hero Bot 2021–2022 годов. В конструкции Moby нет датчиков, для этого примера в Moby был добавлен датчик расстояния V5.

В этом примере датчик расстояния V5 установлен недалеко от центра Moby's Forks.

Для получения дополнительной информации о Moby, ознакомьтесь с этой статьей из библиотеки VEX.

Вам не обязательно использовать Moby для кодирования датчика расстояния V5 или для участия в соревнованиях этого года. Вы можете установить датчик на своего робота там, где сочтете нужным.

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

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

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

Робот Moby установлен на поле, а в нескольких футах перед ним размещены мобильные ворота.

Во-первых, робота следует расположить лицом к мобильной цели.

На видео показан робот Moby после движения вперед для определения мобильной цели. Мобильная цель теперь находится внутри манипуляторов робота.

Затем робот должен двигаться вперед до тех пор, пока датчик расстояния не обнаружит, что мобильная цель находится внутри вилок и рядом с датчиком.

На видео показан робот Moby, который после обнаружения мобильной цели поднимает свои манипуляторы, чтобы её подобрать.

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

Робот Moby, несущий мобильную цель, повернулся на 90 градусов влево.

Как только мобильная цель будет поднята, робот повернет влево на 90 градусов и проедет вперед на 600 миллиметров (мм).

Робот Moby опустил вилы, чтобы установить мобильную цель, а затем поехал назад.

Затем робот опустит вилы, чтобы поставить мобильную цель, и поедет задним ходом в сторону от мобильной цели, чтобы случайно не опрокинуть ее во время следующего движения.


Понимание параметров

Чтобы реализовать описанные выше действия, важно понимать, насколько далеко мобильная цель находится от датчика расстояния V5.

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

Робот Moby на поле, между его вилами установлены мобильные ворота, позволяющие определить оптимальное расстояние.

Чтобы робот мог двигаться вперед до тех пор, пока датчик расстояния не обнаружит, что мобильная цель находится внутри вилки и рядом с датчиком, значения датчика должны быть записаны из V5 Brain.

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

На экране V5 Brain в главном меню отображается выделенный пункт «Устройства».Информация об устройстве отображается в меню «Информация об устройстве», где представлен список всех интеллектуальных портов и подключенных устройств устройства Brain. Значок датчика расстояния в меню «Информация об устройстве» подсвечивается, указывая на то, что для открытия соответствующих информационных меню можно выбрать нужный элемент.

Затем на экране Brain выберите «Устройства», а затем значок датчика расстояния.

Информация о состоянии мозга отображается в меню «Датчик расстояния», где перечислены данные датчика. В меню отображаются данные о размере, скорости и расстоянии объекта. В меню также есть диаграмма, которая визуализирует расстояние и то, как оно меняется со временем. На этом скриншоте размер объекта невелик, его скорость равна 0 метрам в секунду, а расстояние составляет 139 мм.

Расстояние в миллиметрах (мм), на котором мобильная цель находится от датчика, отображается на экране Brain.

Тот же самый проект VEXcode V5 Blocks, что и раньше, который движется вперед, пока не обнаружит мобильную цель, не подберет ее и не переместит. В проекте значение, с которым сравнивается расстояние до объекта, измеренное датчиком расстояния, составляет 139, и оно выделено.

Это значение будет использоваться в проекте при обнаружении мобильной цели с помощью датчика расстояния.

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

Робот Moby на поле, между вилами которого установлены мобильные ворота.

Снова поместите мобильную цель в развилки.

Информация об устройстве отображается в меню «Информация об устройстве», где представлен список всех интеллектуальных портов и подключенных устройств устройства Brain. Значок двигателя в меню «Информация об устройстве» подсвечивается, указывая на то, что элементы можно выбрать для открытия их информационных меню.

Затем на экране мозга выберите «Устройства», а затем значок «Мотор 2». Двигатель 2 управляет левой вилкой.

Робот Moby на поле, между поднятыми вилами которого установлены мобильные ворота, которые он должен поднять.

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

Поднимая вилы вручную, обязательно поднимайте каждую вилку с левой и правой стороны Moby одновременно, поскольку каждая из них управляется собственным двигателем.

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

Результаты сканирования мозга отображаются в меню Smart Motor, где перечислены данные устройства. В меню отображаются показания и графики, показывающие данные, полученные с устройства. На этом скриншоте значение «Градусы» двигателя выделено и отображается как 604.

Количество градусов, на которое были подняты вилки, отображается на экране Мозга.

Тот же самый проект VEXcode V5 Blocks, что и раньше, который движется вперед, пока не обнаружит мобильную цель, не подберет ее и не переместит. В ходе проекта группа двигателей Fork Motor вращается на 600 градусов, и это значение выделено.

Это значение, которое будет использоваться в проекте при подъеме и опускании вил, чтобы поднять и разместить мобильную цель.

Использование блоков оператора

В VEXcode V5 отображается блок оператора "меньше". Этот блок используется для сравнения двух значений и сообщения о том, меньше ли первое значение второго.

В этом проекте блок оператора <Less than> используется для кодирования датчика расстояния.

Информация о состоянии мозга отображается в меню «Датчик расстояния», где перечислены данные датчика. В меню отображаются данные о размере, скорости и расстоянии объекта. В меню также есть диаграмма, которая визуализирует расстояние и то, как оно меняется со временем. На этом скриншоте размер объекта невелик, его скорость равна 0 метрам в секунду, а расстояние составляет 139 мм.

Это связано с тем, что по мере того, как датчик расстояния приближается к объекту, расстояние в миллиметрах между датчиком и этим объектом уменьшается.

Тот же самый проект VEXcode V5 Blocks, что и раньше, который движется вперед, пока не обнаружит мобильную цель, не подберет ее и не переместит. В проекте значение, с которым сравнивается расстояние до объекта, измеренное датчиком расстояния, составляет 139, и оно выделено.

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

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

Робот Moby на поле с мобильными воротами внутри своих вилок. Расстояние от датчика расстояния до мобильной цели выделено красной стрелкой.

Если это значение изменится, например, на 10 миллиметров (мм), робот фактически столкнется с мобильной целью и потенциально повредит себя, поскольку расстояние в 10 миллиметров (мм) от датчика недостаточно далеко, чтобы предотвратить соприкосновение вилок робота. Мобильная цель.

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

Last Updated: