Эта модель использует блок Velocity Profiler, чтобы сгенерировать скоростной профиль для транспортного средства, перемещаясь вперед на прямом, 100-метровом пути, который не имеет никаких изменений направления.
Блок Velocity Profiler генерирует скоростные профили на основе скорости, ускорения и ограничений толчка, что вы задаете параметры использования. Можно использовать сгенерированный скоростной профиль в качестве входных скоростей ссылки контроллера транспортного средства.
Эта модель в иллюстративных целях и не показывает, как использовать блок Velocity Profiler в полной автоматизированной ведущей модели. Чтобы видеть, как использовать этот блок в такой модели, смотрите, что Автоматизированный Оставляет Камердинера в примере Simulink.
Модель состоит из одного блока Velocity Profiler с постоянными входными параметрами. Откройте модель.
model = 'VelocityProfileStraightPath';
open_system(model)
Первые три входных параметров указывают информацию о ведущем пути.
Вход Directions задает направление движения транспортного средства вдоль пути, где 1 среднее значение вперед и –1 среднее значение инвертируют. Поскольку перемещения транспортного средства только передают, направление 1 вдоль целого пути.
Вход CumLengths задает длину пути. Путь 100 метров длиной и состоит из последовательности 200 совокупных длин пути.
Вход Curvatures задает искривление вдоль пути. Поскольку этот путь является прямым, искривление 0 вдоль целого пути.
В полной автоматизированной ведущей модели можно получить эти входные значения из выхода блока Path Smoother Spline, который сглаживает путь на основе набора положений.
Входные параметры StartVelocity и EndVelocity задают скорость транспортного средства в начале и конце пути, соответственно. Транспортное средство запускает путь, перемещающийся при скорости 1 метра в секунду, и достигает конца пути, перемещающегося при скорости 2 метров в секунду.
Симулируйте модель, чтобы сгенерировать скоростной профиль.
out = sim(model);
Выходной скоростной профиль является последовательностью скоростей вдоль пути, которые встречают скорости, ускорению и ограничениям толчка, заданным в параметрах блока Velocity Profiler.
Блок также выводит времена, в которые транспортное средство прибывает в каждую точку вдоль пути. Можно использовать этот выход, чтобы визуализировать скорости в зависимости от времени.
Используйте симуляцию выход, чтобы построить скоростной профиль.
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 метров в секунду, как задано Максимальной допустимой скоростью (m/s) параметр блока Velocity Profiler
Замедляется к его конечной скорости 2 метров в секунду
Для сравнения постройте смещение транспортного средства в зависимости от времени при помощи совокупных длин пути.
figure cumLengths = linspace(0,100,200); plot(times,cumLengths) title('Displacement') xlabel('Time (s)') ylabel('Cumulative Path Length (m)') grid on
Для получения дополнительной информации о том, как блок вычисляет скоростной профиль, смотрите раздел Algorithms страницы с описанием блока Velocity Profiler.
Velocity Profiler | Path Smoother Spline