exponenta event banner

wheelEncoderUnicycle

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

Описание

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

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

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

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

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

Создание

Описание

пример

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

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

Свойства

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

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

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

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

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

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

Число делений кодировщика на оборот колеса, указанное как положительное целое число.

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

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

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

Смещение радиуса колеса, указанное как скаляр в метрах.

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

Стандартное отклонение ошибки положения колеса, определяемое как неотрицательный скаляр в радианах.

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

Коэффициент проскальзывания или проскальзывания колеса, заданный как скаляр, больший или равный -1.

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

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

Типы данных: 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-элементного вектора неотрицательных целых чисел. N - количество выборок.

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

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

release(obj)

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

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

Примеры

свернуть все

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

encoder = wheelEncoderUnicycle;

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

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×1

     0
     6

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

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