Эта модель использует блок 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 метр в секунду
Ускоряет до максимальной скорости 10 метров в секунду, как задается параметром Максимально допустимая скорость (м/с) блока Velocity Profiler
Замедляется до конечной скорости 2 метра в секунду
Для сравнения постройте график перемещения транспортного средства с течением времени с помощью совокупных длин пути.
figure cumLengths = linspace(0,100,200); plot(times,cumLengths) title('Displacement') xlabel('Time (s)') ylabel('Cumulative Path Length (m)') grid on
Для получения дополнительной информации о том, как блок вычисляет профиль скорости, смотрите раздел «Алгоритмы» блока Профилировщика скорости страницы с описанием.
Path Smoother Spline | Velocity Profiler