Датчик расстояния на роботе VR сообщает о расстоянии между роботом VR и ближайшим объектом. Датчик рассчитывает расстояние, используя время, необходимое лазерному лучу, чтобы отразиться от объекта и вернуться к датчику.
Датчик расстояния на VR-роботе
Датчик расстояния — это датчик, который сообщает расстояние между VR-роботом и ближайшим твердым объектом.
Датчик расстояния использует лазеры класса 1, аналогичные лазерам, которые современные сотовые телефоны используют для обнаружения головы. Он излучает крошечный импульс безопасного лазерного света, а затем использует время, необходимое для отражения импульса, для расчета расстояния до ближайших объектов. Датчик рассчитывает расстояние на основе того, сколько времени потребовалось лазерному импульсу, чтобы пройти туда и обратно.
Команды VEXcode VR, используемые с датчиком расстояния
Команды, используемые с датчиком расстояния, можно найти в категории «Датчики».
get_distance Команда
Используя команду get_distance , датчик расстояния может сообщить расстояние до ближайшего объекта в миллиметрах (мм) или дюймах. Команда get_distanceвыдает числовые значения в миллиметрах (мм) или дюймах.
def main(): |
|
Чтобы отобразить значения датчика расстояния на консоли монитора, перетащите или введите команду «Мониторировать датчик». Затем задайте для параметра строковый идентификатор отображаемого значения датчика. В этом случае строковым идентификатором будет «distance.get_distance». |
Расстояние будет отображаться в миллиметрах (мм) и дюймах на консоли монитора.
найдено объектов Команда
Датчик расстояния определяет, есть ли перед ним объект, используя команду Расстояние найдено объект. Датчик расстояния может обнаружить объект или поверхность в пределах 3000 мм (~ 118 дюймов) от датчика. Команда «Расстояние найденного объекта» возвращает логическое значение: True или False.
def main(): |
|
Значение команды Found_object возвращает логическое значение и сообщает True когда датчик расстояния находится близко к объекту, и сообщает Fи , когда он недостаточно близко к объекту. Чтобы отобразить значения датчика расстояния на консоли монитора, перетащите или введите команду «Мониторировать датчик». Затем задайте для параметра строковый идентификатор отображаемого значения датчика. В этом случае строковым идентификатором будет «distance.found_object». |
True или false будет сообщено и появится в консоли монитора.
Лазер позволяет датчику иметь очень узкое поле зрения, поэтому обнаружение всегда происходит непосредственно перед датчиком.
Распространенные варианты использования датчика расстояния
Датчик расстояния может обнаружить, есть ли объект перед роботом VR. Это можно использовать, чтобы избежать препятствия.
Датчик расстояния может измерять расстояние между передней частью датчика расстояния и передней частью объекта. Это может быть полезно для прохождения лабиринта, не натыкаясь постоянно на стены, или для того, чтобы избежать столкновения с объектом.
def main(): |
|
Чтобы использовать приведенный выше пример, скопируйте этот код в VEXcode VR и запустите проект на игровой площадке Wall Maze. |
Пример проекта датчика расстояния
В этом примере робот VR поедет вперед, если датчик расстояния обнаружит объект. Если объект не обнаружен, робот VR повернет направо и продолжит поиск объекта.
Примечание: В этом примере будет найдено первое здание, но его необходимо улучшить, чтобы избежать падения со стола.
def main(): |
|
Чтобы использовать приведенный выше пример, скопируйте этот код в VEXcode VR и запустите проект на игровой площадке Castle Crasher или Dynamic Castle Crasher. |