Obstacle Avoidance

Вычислите направление без препятствий с помощью данных о датчике области значений и предназначайтесь для положения

  • Библиотека:
  • UAV Toolbox / Алгоритмы

  • UAV Obstacle Avoidance Block

Описание

Блок Obstacle Avoidance вычисляет направление без препятствий с помощью данных о датчике области значений и целевого положения.

Порты

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

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

Положение UAV в виде вектора из формы [x; y; z], в метрах.

Пример: [1; 1; 1]

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

Ориентация UAV в виде вектора кватерниона из формы [w; x; y; z].

Пример: [1; 0; 0; 0]

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

Положения препятствий в виде N-by-3 матрица со строками формы [x y z] , в метрах. N является количеством точек препятствия.

Пример: [1 1 1; 2 2 2]

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

Положение цели в виде вектора из формы [x; y; z], в метрах.

Пример: [2; 3; 4]

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

Вывод

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

Желаемое направление, возвращенное как вектор из формы [x; y; z], в метрах.

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

Желаемое рыскание, возвращенное в виде числа в радианах в области значений [-pi, pi].

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

Состояние направления без препятствий, возвращенного как 0 или 1. Значением является 1 когда блок находит препятствие свободным направлением. В противном случае этим выходом является 0.

Типы данных: uint8

Параметры

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

Основной

Задайте минимальные и максимальные пределы датчика области значений как вектор из формы [min max] , со значениями в метрах.

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

Задайте минимальные и максимальные горизонтальные пределы поля зрения датчика области значений как вектор из формы [min max] , со значениями в градусах.

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

Задайте минимальные и максимальные вертикальные пределы поля зрения датчика области значений как вектор из формы [min max] , со значениями в градусах.

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

Задайте монтирующееся местоположение датчика на UAV как вектор из формы [x y z] , со значениями в метрах.

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

Задайте ориентацию датчика, смонтированного на UAV как вектор из формы [roll pitch yaw] , со значениями в градусах.

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

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

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

Расстояние безопасности задает в метрах, пробел составлял между UAV и препятствиями в дополнение к радиусу транспортного средства. Радиус транспортного средства и расстояние безопасности используются для расчета направление без препятствий.

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

Задайте, симулировать ли модель с помощью Interpreted execution или Code generation.

  • Interpreted execution — Симулируйте модель с помощью MATLAB® интерпретатор. Эта опция уменьшает время запуска, но имеет более медленную скорость симуляции, чем Code generation. В этом режиме можно отладить исходный код блока.

  • Code generation — Симулируйте модель с помощью сгенерированного кода C. В первый раз вы запускаете симуляцию, Simulink® генерирует код С для этого блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций сопоставима с Interpreted execution.

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

Гистограмма

Чтобы изменить разрешение сетки гистограммы, выберите значение из списка. Все значения в градусах.

Размер окна гистограммы определяет угловую ширину открытия без препятствий в направлениях вертикального изменения и азимуте. Это значение безразмерно.

Типы данных: uint8

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

Типы данных: uint8

Задает максимальный возраст помнившей точки препятствия в виде числа. Это значение задает количество предыдущих временных шагов, за которые точки препятствия от тех временных шагов помнится.

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

Стоимость

Задает функциональный вес для перемещения к целевому направлению. Чтобы следовать за целевым направлением, установите этот вес быть больше суммы Current direction weight и Previous direction weight. Чтобы проигнорировать целевую стоимость направления, установите этот вес на 0.

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

Задает функциональный вес для перемещения транспортного средства в текущих направлениях заголовка. Более высокие значения этого веса производят эффективные пути. Чтобы проигнорировать текущую стоимость направления, установите этот вес на 0.

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

Задает функциональный вес для того, чтобы приблизиться ранее выбранное руководящее направление. Более высокие значения этого веса производят более сглаженные пути. Чтобы проигнорировать предыдущую стоимость направления, установите этот вес на 0.

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

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

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

|

Введенный в R2021b