ackermannKinematics

Подобная автомобилю руководящая модель транспортного средства

Описание

ackermannKinematics создает подобную автомобилю модель транспортного средства, которая использует Акерманна, держащегося. Эта модель представляет транспортное средство с двумя осями, разделенными расстоянием, WheelBase. Состояние транспортного средства задано, когда четырехэлементный вектор, [x y theta psi], с глобальным позиционным xy, задал в метрах. Заголовок транспортного средства, theta и регулирование угла, psi задан в радианах. Заголовок транспортного средства задан в центре задней оси. Углы даны в радианах. Чтобы вычислить состояния производной времени для модели, используйте derivative функция с входными руководящими командами и текущим состоянием робота.

Создание

Описание

пример

kinematicModel = ackermannKinematics создает Акерманна кинематический объект модели со значениями свойств по умолчанию.

kinematicModel = ackermannKinematics(Name,Value) дополнительные свойства наборов к заданным значениям. Можно задать несколько свойств в любом порядке.

Свойства

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

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

Область значений скорости транспортного средства является двухэлементным вектором, который обеспечивает минимальные и максимальные скорости транспортного средства, [MinSpeed MaxSpeed], заданный в метрах в секунду.

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

derivativeПроизводная времени состояния транспортного средства

Примеры

свернуть все

Создайте робота

Задайте робота и установите начальную стартовую позицию и ориентацию.

kinematicModel = ackermannKinematics;
initialState = [0 0 0 0];

Симулируйте движение робота

Установите промежуток симуляции к 1 с с 0,05 тактами с и входными командами к 10 м/с и левым поворотом. Симулируйте движение робота при помощи ode45 решатель на derivative функция.

tspan = 0:0.05:1;
cmds = [10 1]; % 10m/s velocity and left turn
[t,y] = ode45(@(t,y)derivative(kinematicModel,y,cmds),tspan,initialState);

Постройте путь

figure
plot(y(:,1),y(:,2))

Ссылки

[1] Линчуйте, Кевин М. и Франк К. Парк. Современная Робототехника: Механика, Планирование и Управление 1-й редактор Кембридж, MA: Издательство Кембриджского университета, 2017.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

Классы

Блоки

Функции

Введенный в R2019b