exponenta event banner

Профиль скорости прямой траектории

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

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

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

Открытие и проверка модели

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

model = 'VelocityProfileStraightPath';
open_system(model)

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

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

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

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

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

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

Создать профиль скорости

Смоделировать модель для создания профиля скорости.

out = sim(model);

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

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

Визуализация профиля Velocity

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

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

Дополнительные сведения о том, как блок вычисляет профиль скорости, см. в разделе Алгоритмы на странице ссылок блока Velocity Profiler.

См. также

|

Связанные темы