Датчик расстояния на роботе VR сообщает о расстоянии между роботом VR и ближайшим объектом. Датчик рассчитывает расстояние, используя время, необходимое лазерному лучу, чтобы отразиться от объекта и вернуться к датчику.
Датчик расстояния на VR-роботе
Датчик расстояния — это датчик, который сообщает расстояние между VR-роботом и ближайшим твердым объектом.
Датчик расстояния использует те же принципы, что и эхолоты для измерения звука. Он посылает крошечный импульс лазерного света с помощью излучателя на одной стороне датчика, а затем рассчитывает, сколько времени потребуется свету, чтобы отразиться обратно к приемнику на другой стороне датчика. Датчик рассчитывает расстояние на основе того, сколько времени потребовалось импульсу, чтобы пройти туда и обратно. Затем датчик расстояния сообщает VR-роботу, как далеко находится ближайший объект.
Ширина диапазона обзора датчиков расстояния меняется по мере удаления от передней части робота VR:
- Датчик может обнаруживать объекты в поле зрения 10 градусов при поиске объектов на расстоянии менее 1000 миллиметров (~ 39 дюймов).
- Датчик может обнаруживать объекты в поле зрения 5 градусов при поиске объектов на расстоянии от 1000 миллиметров (~ 39 дюймов) до 2000 миллиметров (~ 78 дюймов).
- Датчик может обнаруживать объекты в поле зрения 2 градуса при поиске объектов на расстоянии более 2000 миллиметров (~ 78 дюймов).
Обычное использование датчика расстояния
Датчик расстояния может обнаружить, есть ли объект перед роботом VR. Это можно использовать, чтобы избежать препятствия.
| Блоки VEXcode VR | Игровая площадка «Настенный лабиринт» | |
| VEXcode VR-программа Python | ||
def main(): |
||
|
Датчик расстояния может измерять расстояние между передней частью датчика расстояния и передней частью объекта. Это может быть полезно для прохождения лабиринта, не натыкаясь постоянно на стены, или для того, чтобы избежать столкновения с объектом. |
||
| Блоки VEXcode VR | Динамичная игровая площадка Castle Crasher | |
|
|
||
| VEXcode VR-программа Python | ||
def main(): |
||
|
В этом примере робот VR поедет вперед, если датчик расстояния обнаружит объект. Если объект не обнаружен, робот VR повернет направо и продолжит поиск объекта. Примечание: В этом примере будет найдено первое здание, но его необходимо улучшить, чтобы избежать падения со стола. |
||
Использование датчика расстояния с блоками VEXcode VR
Блоки, используемые с датчиком расстояния, можно найти в категории «Ощущение».
<Расстояние до найденного объекта> Блокировать
Датчик расстояния определяет, есть ли перед ним объект, используя блок <Расстояние найдено, объект>. Датчик расстояния может обнаружить объект или поверхность в пределах 3000 мм (~ 118 дюймов) от датчика.
Блок <Расстояние найденного объекта>представляет собой логический блок, который возвращает условие либо как true , либо false и помещается внутри любых блоков с шестиугольными (шестисторонними) пространствами для других блоков.
Для получения дополнительной информации о логических блоках просмотрите эту статью.
Значение блока <Distance found object> — это логический блок, который сообщает «истина», когда датчик расстояния находится близко к объекту, и сообщает «ложь», когда он находится недостаточно близко к объекту.
True или false будет сообщено и появится в консоли монитора.
Чтобы узнать больше о консоли монитора просмотрите эту статью.
(Расстояние от) Блока
Используя блок (Расстояние от), датчик расстояния может сообщать расстояние до ближайшего объекта в миллиметрах (мм) или дюймах.
Блок (Расстояние от) сообщает числовые значения и помещается внутри любых блоков с овальными промежутками.
Для получения дополнительной информации о блокировках репортеров, просмотрите эту статью.
Значение блока (Расстояние от) в миллиметрах (мм) или дюймах можно отобразить на консоли монитора в VEXcode VR.
Чтобы узнать больше о консоли монитора просмотрите эту статью.
Использование датчика расстояния в VEXcode VR Python
Чтобы начать программирование датчика расстояния с помощью Python, вам необходимо сначала открыть текстовый проект VEXcode VR. Для получения дополнительной информации см. эту статью.
Затем найдите категорию «Ощущение» на панели инструментов и найдите команды Found_object и get_distance. Это функции, которые сообщают логическое или числовое значение о датчике.
Чтобы добавить команду в свой проект, вы можете перетащить ее из панели инструментов или ввести команду в рабочей области, используя функцию автозаполнения.
Чтобы узнать больше об автозаполнении в VEXcode VR с Python, см. эту статью.
def main(): |
|
Петлю и можно использовать с датчиками вашего робота, если вы хотите, чтобы ваш робот делал что-то, например, двигался до тех пор, пока датчик расстояния не окажется на расстоянии 50 мм или меньше от стены, а затем остановился или повернулся. В этом проекте робот будет двигаться вперед, пока датчик расстояния сообщит о значении, превышающем 50 мм, и прекратит движение, когда датчик расстояния окажется на расстоянии менее 50 мм от стены. |
def main(): |
|
Значение командget_distance иFound_object можно отобразить на консоли монитора в VEXcode VR. Чтобы узнать больше об использовании консоли монитора в VEXcode VR Python, см. эту статью. |