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

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

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием 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++ с помощью MATLAB® Coder™.

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