exponenta event banner

bicycleKinematics

Модель велосипедного транспортного средства

Описание

bicycleKinematics создание модели велосипедного транспортного средства для моделирования упрощенной автомобильной динамики транспортного средства. Данная модель представляет собой транспортное средство с двумя осями, разделенными расстоянием, А Base. Состояние транспортного средства определяется как трехэлементный вектор [x y theta] с глобальной xy-позицией, заданной в метрах, и углом тета курса транспортного средства, заданным в радианах. Переднее колесо может поворачиваться с углом поворота psi. Курс транспортного средства тета определяется в центре задней оси. Чтобы вычислить состояния производной по времени модели, используйте derivative функция с входными командами и текущим состоянием робота.

Создание

Описание

пример

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

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

Свойства

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

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

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

Максимальный угол поворота, фунт/кв.дюйм, означает максимальный угол поворота транспортного средства вправо или влево, указанный в радианах. Значение pi/2 обеспечивает транспортное средство с минимальным радиусом поворота, равным 0. Это свойство используется для проверки введенного пользователем состояния.

Это свойство только для чтения возвращает минимальный радиус поворота транспортного средства в метрах. Минимальный радиус рассчитывается с использованием основания колеса и максимального угла поворота.

VehicleInputs задает формат команд ввода модели при использовании derivative функция. Свойство имеет два допустимых параметра, указанных как строковый или символьный вектор:

  • "VehicleSpeedSteeringAngle" - Скорость и угол поворота транспортного средства

  • "VehicleSpeedHeadingRate" - Скорость транспортного средства и угловая скорость курса

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

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

Примеры

свернуть все

Создание робота

Определите робота и задайте начальное начальное положение и ориентацию.

kinematicModel = bicycleKinematics;
initialState = [0 0 0];

Моделирование движения робота

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

tspan = 0:0.05:1;
inputs = [2 pi/4]; %Turn left
[t,y] = ode45(@(t,y)derivative(kinematicModel,y,inputs),tspan,initialState);

Траектория графика

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

Figure contains an axes. The axes contains an object of type line.

Ссылки

[1] Линч, Кевин М. и Фрэнк К. Парк. Современная робототехника: механика, планирование и управление 1-й ред. Кембридж, Массачусетс: Cambridge University Press, 2017.

[2] Корк, Питер И. Робототехника, зрение и управление: фундаментальные алгоритмы в MATLAB. Спрингер, 2011.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

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