exponenta event banner

Дифференциальный колесный робот с датчиком LIDAR

В vrcollisions_lidar примере показано, как можно использовать LinePickSensor для моделирования поведения датчика LIDAR в Simulink ® 3D Animation™.

В простом виртуальном мире определен колесный робот с установленным на его вершине датчиком LIDAR. Этот датчик LIDAR реализован с помощью LinePickSensor, который обнаруживает столкновения нескольких лучей (смоделированных как IndexedLineSet) с окружающими объектами сцены. Датчик pickedRange и pickedPoint области используются в этой модели в целях визуализации только, но вместе с информацией о позе робота они могут использоваться для Одновременной локализации и отображения (SLAM) и других подобных целей.

Сенсорные линии видны в виде прозрачных зеленых линий. В горизонтальной плоскости от -90 до 90 градусов равномерно разнесен 51 чувствительный луч. Дальность LIDAR составляет 10 метров.

Чтобы визуализировать выход датчика LIDAR, существует прокси-сервер визуализации LineSet, определенный линиями, идентичными линиям, определенным как чувствительная геометрия LinePickSensor. Линии визуализации синие. Комбинация pickedPoint и продукции pickedRange LinePickSensor используется, чтобы визуализировать пункты столкновения. Продукция pickedPoint содержит координаты пунктов, которые столкнулись с окружением объектов. Этот выход имеет переменный размер в зависимости от того, сколько лучей датчика столкнулись. pickedRange производят размер, зафиксирован, равен количеству ощущения лучей. Выходной сигнал возвращает расстояние от начала координат датчика LIDAR до точки столкновения для каждой сенсорной линии. Для лучей, которые не сталкиваются, этот вывод возвращает -1. pickedRange используется, чтобы определить индексы линий, для которых пункты столкновения возвращены в pickedPoint продукции датчика. В действительности синие линии укорачиваются так, что для каждой линии отображается только сегмент линии между началом вращения вентилятора луча и точкой столкновения.

Траектория робота моделируется тривиальным образом с помощью редактора сигналов и блоков пандуса. В редакторе сигналов для первых 40 секунд моделирования определяется простая квадратная траектория 1x1 метра. После возвращения в исходное положение робот вращается только бесконечно.

В модели определены блоки VR Sink и VR Source, связанные с одним и тем же виртуальным миром. Источник VR используется для считывания сигналов датчика. Приемник VR используется для установки положения/поворота робота и координат конечных точек линий визуального прокси датчика.

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