exponenta event banner

wheelEncoderBicycle

Имитация показаний датчиков кодировщика колес для велосипедного транспортного средства

Описание

wheelEncoderBicycle Система object™ вычисляет показания делений кодера колес на основе ввода позы для велосипедного транспортного средства.

Для получения показаний засечки кодировщика:

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

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

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

Создание

Описание

пример

encoder = wheelEncoderBicycle создает wheelEncoderBicycle Системный объект, encoder.

encoder= wheelEncoderBicycle(Name,Value) устанавливает свойства кодировщика, используя одну или несколько пар имя-значение. Например, wheelEncoderBicycle('SampleRate',120) устанавливает частоту дискретизации кодера в 120 Гц. Неопределенные свойства имеют значения по умолчанию. Заключите каждое имя свойства в кавычки.

Свойства

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

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

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

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

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

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

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

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

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

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

Смещение радиуса колеса, определяемое как двухэлементный вектор скаляров в метрах. Первый элемент предназначен для заднего колеса, а второй элемент - для переднего колеса.

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

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

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

Коэффициент проскальзывания или смещения колеса, определяемый как двухэлементный вектор скаляров, в котором каждый скаляр больше или равен -1. Первый элемент предназначен для заднего колеса, а второй элемент - для переднего колеса.

  • Для колеса, проскальзывающего (над поворотом), укажите его в качестве положительного значения. Большее значение обозначает большее проскальзывание.

  • Для колеса, перемещаемого (при вращении), укажите его как отрицательное значение, большее или равное -1. Меньшее значение обозначает большее смещение. Для колеса, которое не вращается, укажите его как -1.

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

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

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

Источник случайных чисел, указанный как символьный вектор или строка:

  • 'Global stream' - Случайные числа генерируются с использованием текущего глобального потока случайных чисел.

  • 'mt19937ar with seed' - Случайные числа генерируются с использованием алгоритма mt19937ar с начальным числом, указанным Seed собственность.

Типы данных: char | string

Начальное начальное число алгоритма генератора случайных чисел mt19937ar, определяемое как неотрицательное целое число.

Зависимости

Чтобы включить это свойство, установите RandomStream кому 'mt19937ar with seed'.

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

Описание

ticks = encoder(velocity,angularVelocity,orientation) вернуть показания засечки колеса, ticks, скорость формы, угловая скорость и информация об ориентации.

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

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

Скорость транспортного средства в локальной навигационной рамке, определяемая как N-by-3 матрица скаляров в м/с. N - количество выборок.

Угловая скорость транспортного средства в локальной навигационной рамке, определяемая как N-by-3 матрица скаляров в рад/с. N - количество выборок.

Ориентация транспортного средства в локальной навигационной рамке, определяемая как N-элементный вектор quaternion или 3-by-3-by-N массив матриц вращения. N - количество выборок. Каждая матрица кватерниона или поворота представляет собой поворот кадра от локальной навигационной системы координат к текущей системе координат кузова транспортного средства.

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

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

Количество делений колес, перемещаемых транспортным средством за шаг времени, возвращаемых в виде N-by-2 матрицы целых чисел. N - количество выборок. Первая колонка предназначена для заднего колеса, а вторая - для переднего колеса.

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

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

release(obj)

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

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

Примеры

свернуть все

Создайте датчик датчика положения колеса.

encoder = wheelEncoderBicycle;

Определите позы транспортного средства.

orient = [quaternion([90 0 0],'eulerd','ZYX','frame'); quaternion([45 0 0], 'eulerd', 'ZYX', 'frame')];
vel = [1 0 0; 0 1 0];
angvel = [0 0 0.2; 0 0 0.1];

Создание засечек колес из поз.

ticks = encoder(vel,angvel,orient)
ticks = 2×2

     0     5
     6     7

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

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