wheelEncoderOdometryBicycle

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

Описание

The wheelEncoderOdometryBicycle Система object™ вычисляет велосипедную одометрию с помощью тактов энкодера колеса и угла поворота транспортного средства.

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

  1. Создайте wheelEncoderOdometryBicycle Объекту и установите его свойства.

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

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

Создание

Описание

пример

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

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

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

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

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

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

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

Количество тактов энкодера на оборот колеса, заданное как положительное целое число. Это значение соответствует заднему колесу велосипеда.

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

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

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

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

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

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

Пример: 'WheelBase',2.818

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

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

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

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

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

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

Описание

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

пример

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

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

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

Количество тактов энкодера колеса, заданное как вектор-столбец 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Определите, используется ли системный объект

Примеры

свернуть все

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

whlEncOdom = wheelEncoderOdometryBicycle;

Укажите количество тактов энкодера колеса и угол поворота руля.

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

Вычислите велосипедную одометрию.

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

    0.0054    0.0000    0.0004
    0.0075    0.0000    0.0005

vel = 2×3

    0.5369    0.0002    0.0386
    0.2148    0.0001    0.0154

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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