Скоростной профиль прямолинейного пути

Эта модель использует блок Velocity Profiler, чтобы сгенерировать профиль скорости для транспортного средства, перемещающегося вперед по прямому 100-метровому пути, который не имеет изменений в направлении.

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

Эта модель предназначена для иллюстративных целей и не показывает, как использовать блок Velocity Profiler в полной автоматизированной модели вождения. Чтобы увидеть, как использовать этот блок в такой модели, смотрите пример Automated Parking Valet в Simulink.

Откройте и осмотрите модель

Модель состоит из одного блока Velocity Profiler с постоянными входами. Откройте модель.

model = 'VelocityProfileStraightPath';
open_system(model)

Первые три входа задают информацию о пути движения.

  • Вход Directions задает направление движения транспортного средства вдоль пути, где 1 означает вперед, а -1 означает назад. Поскольку транспортное средство перемещается только вперед, направление равно 1 по всему пути.

  • Вход CumLengths задает длину пути. Путь имеет длину 100 метров и состоит из последовательности из 200 совокупных длин пути.

  • Вход Curvatures задает кривизну вдоль пути. Поскольку этот путь прямой, кривизна равна 0 по всему пути.

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

Входы StartVelocity и EndVelocity задают скорость транспортного средства в начале и конце пути, соответственно. Транспортное средство начинает путь со скоростью 1 метр в секунду и достигает конца пути со скоростью 2 метра в секунду.

Сгенерируйте профиль скорости

Симулируйте модель, чтобы сгенерировать профиль скорости.

out = sim(model);

Выход скорости является последовательностью скоростей вдоль пути, которые удовлетворяют ограничениям скорости, ускорения и рывка, заданным в параметрах блока Профилировщик.

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

Визуализация профиля скорости

Используйте выходы симуляции, чтобы построить график скорости.

t = length(out.tout);
velocities = out.yout.signals(1).values(:,:,t);
times = out.yout.signals(2).values(:,:,t);

plot(times,velocities)
title('Velocity Profile')
xlabel('Times (s)')
ylabel('Velocities (m/s)')
grid on

А транспортное средство, который следует этому профилю скорости:

  1. Начинается со скорости 1 метр в секунду

  2. Ускоряет до максимальной скорости 10 метров в секунду, как задается параметром Максимально допустимая скорость (м/с) блока Velocity Profiler

  3. Замедляется до конечной скорости 2 метра в секунду

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

figure
cumLengths = linspace(0,100,200);
plot(times,cumLengths)
title('Displacement')
xlabel('Time (s)')
ylabel('Cumulative Path Length (m)')
grid on

Для получения дополнительной информации о том, как блок вычисляет профиль скорости, смотрите раздел «Алгоритмы» блока Профилировщика скорости страницы с описанием.

См. также

|

Похожие темы