exponenta event banner

wheelEncoderOdometryUnicycle

Вычисление одометрии одноколесного цикла с использованием засечек кодировщика колес и угловой скорости

Описание

wheelEncoderOdometryUnicycle Система object™ вычисляет одометрию одноколесного цикла с использованием засечек кодировщика колес и угловой скорости.

Для вычисления одометрии одноцикловой системы:

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

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

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

Создание

Описание

пример

whlEncOdom = wheelEncoderOdometryUnicycle создает wheelEncoderOdometryUnicycle Системный объект со значениями свойств по умолчанию.

whlEncOdom = wheelEncoderOdometryUnicycle(encoder) создает wheelEncoderOdometryUnicycle Системный объект с использованием указанного wheelEncoderUnicycle Системный объект, encoder, для установки свойств.

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

Например, whlEncOdom = wheelEncoderOdometryUnicycle('SampleRate',100) устанавливает частоту дискретизации датчика равной 100 Гц.

Свойства

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

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

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

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

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

Пример: 'SampleRate',100

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

Число делений кодировщика на оборот колеса, указанное как положительное целое число.

Пример: 'TicksPerRevolution',2048

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

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

Пример: 'WheelRadius',0.35

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

Начальная поза транспортного средства, определяемая как трехэлементный вектор вида [X Y Yaw]. X и Y указывают положение транспортного средства в метрах. Yaw указывает ориентацию транспортного средства в радианах. Все значения находятся в локальной навигационной системе координат.

Пример: 'InitialPose',[0 0 0]

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

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

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

Описание

pose = whlEncOdom(ticks,angVel) вычисляет одометрию одноколесного велосипеда с использованием заданных засечек кодировщика колес ticks и угловая скорость angVelи возвращает положение и ориентацию транспортного средства в локальной навигационной системе координат.

пример

[pose,velocity] = whlEncOdom(ticks,angVel) дополнительно возвращает линейную и угловую скорость транспортного средства в локальной навигационной системе координат.

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

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

Число засечек кодера колеса, указанное как вектор столбца n-элемента. n - число выборок в текущем кадре.

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

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

Угловая скорость транспортного средства в системе координат кузова транспортного средства, определяемая как вектор столбца n-элементов в радианах в секунду. n - число выборок в текущем кадре.

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

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

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

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

Положение и ориентация транспортного средства, возвращенные в виде матрицы n-by-3. n - число выборок в текущем кадре. Каждая строка матрицы определяет положение и ориентацию образца в форме [X Y Yaw]. X и Y указывают положение транспортного средства в метрах. Yaw указывает ориентацию транспортного средства в радианах. Все значения находятся в локальной навигационной системе координат.

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

Линейная и угловая скорость транспортного средства, возвращаемая в виде матрицы n-by-3. n - число выборок в текущем кадре. Каждая строка матрицы определяет линейную и угловую скорость образца в виде [velX velY yawRate]. velX и velY определяют линейную скорость транспортного средства в метрах в секунду. yawRate - угловая скорость транспортного средства в радианах в секунду. Все значения находятся в локальной навигационной системе координат.

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

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

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

release(obj)

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

cloneСоздать повторяющийся объект System
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System
isLockedОпределить, используется ли объект System

Примеры

свернуть все

Создать wheelEncoderOdometryUnicycle Системный объект.

whlEncOdom = wheelEncoderOdometryUnicycle;

Укажите количество засечек кодировщика колеса и угловую скорость.

ticks = [5; 2];
angVel = [0.2; 0.2];

Вычислите одометрию одноколесного цикла.

[pose,vel] = whlEncOdom(ticks,angVel)
pose = 2×3

    0.0054    0.0000    0.0020
    0.0075    0.0000    0.0040

vel = 2×3

    0.5369    0.0011    0.2000
    0.2148    0.0009    0.2000

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

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