wheelEncoderDifferentialDrive

Симулируйте показания датчика энкодера колеса для дифференциального транспортного средства диска

Описание

wheelEncoderDifferentialDrive Система object™ вычисляет показания метки деления энкодера колеса на основе входа положения дифференциального транспортного средства диска.

Чтобы получить энкодер отмечают показания:

  1. Создайте wheelEncoderDifferentialDrive объект и набор его свойства.

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

пример

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

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Смещение ширины дорожки в виде скаляра в метрах.

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

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

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

release(obj)

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

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

Примеры

свернуть все

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

encoder = wheelEncoderDifferentialDrive;

Задайте положения транспортного средства.

orient = [quaternion([60 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

     3     6
     6     7

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

Введенный в R2020b