rangeSensor

Симулируйте переносящие область значений показания датчика

Описание

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

Симулировать переносящий область значений датчик с помощью этого объекта:

  1. Создайте rangeSensor объект и набор его свойства.

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Описание

пример

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

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (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) возвращает область значений и угловые показания от 2D информации о положении и карты основной истины.

Входные параметры

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

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

Карта основной истины, заданная как occupancyMap или binaryOccupancyMap объект. Для occupancyMap введите, переносящий область значений датчик рассматривает ячейку, как занято и возвращает область значений, читающую, если вероятность заполнения ячейки больше значения, заданного OccupiedThreshold свойство карты заполнения.

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

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

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

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

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

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

release(obj)

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

stepЗапустите алгоритм Системного объекта
cloneСоздайте объект дублированной системы

Примеры

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

Создайте переносящий область значений датчик.

 rbsensor = rangeSensor;

Задайте положение датчика и карты основной истины.

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

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

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

Визуализируйте результаты с помощью lidarScan.

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

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

Смотрите также

| |

Введенный в R2019b

Для просмотра документации необходимо авторизоваться на сайте