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, заданным Seed свойство.

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

Начальный seed mt19937ar алгоритма генератора случайных чисел в виде неотрицательного целого числа.

Зависимости

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

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

Описание

ticks = encoder(velocity,angularVelocity,orientation) возвратите показания метки деления колеса ticks от заданной скорости, скорости вращения и информации об ориентации.

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

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

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

Скорость вращения транспортного средства в локальной навигации структурирует в виде N-by-3 матрицу скаляров в rad/s. N является количеством отсчетов.

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

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

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

Создайте датчик энкодера колеса.

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