wheelEncoderOdometryUnicycle

Вычислите одноколесную одометрию с помощью тактов энкодера колес и скорости вращения

Описание

The 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-element. n - количество выборок в текущей системе координат.

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

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

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

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

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

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

расширить все

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

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

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

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

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

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

release(obj)

расширить все

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

Примеры

свернуть все

Создайте 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++ с помощью Coder™ MATLAB ®

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