exponenta event banner

rangeSensor

Моделирование показаний датчика дальности

Описание

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

Чтобы смоделировать датчик дальности с помощью этого объекта:

  1. Создать rangeSensor и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

пример

rbsensor = rangeSensor возвращает rangeSensor Системный объект, rbsensor. Датчик способен выводить измерения дальности и угла на основе позы датчика и карты занятости.

rbsensor = rangeSensor(Name,Value) задает свойства датчика, используя одну или несколько пар имя-значение. Неопределенные свойства имеют значения по умолчанию. Заключите каждое имя свойства в кавычки.

Свойства

развернуть все

Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Минимальный и максимальный обнаруживаемый диапазон, заданный как положительный действительный вектор 1 на 2. Единицы в метрах.

Пример: [1 15]

Настраиваемый: Да

Типы данных: single | double

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

Пример: [-pi/3 pi/3]

Типы данных: single | double

Разрешение показаний горизонтального угла, заданного как положительный скаляр. Разрешение определяет угловой интервал между двумя последовательными показаниями датчика. Единицы находятся в радианах.

Пример: 0.01

Типы данных: single | double

Стандартное отклонение шума диапазона, заданное как положительный скаляр. Шум диапазона моделируется как процесс нулевого среднего белого шума с заданным стандартным отклонением. Единицы в метрах.

Пример: 0.01

Настраиваемый: Да

Типы данных: single | double

Стандартное отклонение горизонтального углового шума, определяемое как положительный скаляр. Шум диапазона моделируется как процесс нулевого среднего белого шума с заданным стандартным отклонением. Единицы находятся в радианах.

Пример: 0.01

Настраиваемый: Да

Типы данных: single | double

Это свойство доступно только для чтения.

Количество выходных показаний для каждой позы датчика, указанное как положительное целое число. Это свойство зависит от HorizonalAngle и HorizontalAngleResolution свойства.

Типы данных: single | double

Использование

Описание

[ranges,angles] = rbsensor(pose,map) возвращает значения диапазона и угла из 2-D информации о позе и карты «земля-истина».

Входные аргументы

развернуть все

Позы датчика в карте 2-D, заданной как N-by-3 вещественно-значная матрица, где N - количество поз для моделирования датчика. Каждая строка матрицы соответствует позе датчика в порядке [x, y, start]. x и y представляют положение датчика в кадре карты. Единицы x и y в метрах. λ - курсовой угол датчика относительно положительного х-направления кадра карты. В радианах представлены единицы, выраженные в λ.

Карта «земля-истина», заданная как occupancyMap(Панель инструментов навигации) или binaryOccupancyMap(Панель инструментов навигации). Для occupancyMap на входе датчик дальности рассматривает ячейку как занятую и возвращает показания диапазона, если вероятность занятости ячейки превышает значение, заданное параметром OccupiedThreshold (Navigation Toolbox) свойство карты заполняемости.

Выходные аргументы

развернуть все

Показания диапазона, заданные как вещественная матрица R-by-N. N - количество поз, для которых моделируется датчик, а R - количество показаний датчика на позу датчика. R совпадает со значением NumReadings собственность.

Угловые показания, заданные как R-by-1 действительный вектор. R - количество показаний датчика на позу датчика. R совпадает со значением NumReadings собственность.

Функции объекта

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

развернуть все

stepЗапустить алгоритм объекта System
cloneСоздать повторяющийся объект System

Примеры

свернуть все

Создайте датчик дальности.

rbsensor = rangeSensor;

Укажите позу датчика и карту «земля-истина».

truePose = [0 0 pi/4];
trueMap = binaryOccupancyMap(eye(10));

Создайте показания датчика.

[ranges, angles] = rbsensor(truePose, trueMap);

Визуализация результатов с помощью lidarScan.

scan = lidarScan(ranges, angles);
figure
plot(scan)

Figure contains an axes. The axes with title LiDAR Scan contains an object of type line.

Расширенные возможности

.

См. также

| (Панель инструментов навигации) | (Панель инструментов навигации)

Представлен в R2020b