wheelEncoderOdometryBicycle

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

Описание

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

Примеры

свернуть все

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

Введенный в R2020b