Моделирование подвески автомобиля
В данном примере демонстрируется моделирование работы подвески автомобиля при наезде на препятствие.
Препятствие задано в виде прямоугольного сигнала с помощью блока Signal Generator. С помощью источника скорости производная сигнала (скорость), подаётся на порт C блока Translational Spring, который описывает упругие свойства колеса.
Translational Spring, в свою очередь, присоединён к массе, которая характеризует инерционные свойства колеса.
Колесо закреплено на элементах подвески, амортизаторе и амортизационной пружине, которые представлены блоками Damper и Spring.
Сама "четверть" автомобиля закреплена за другие порты блоков Damper и Spring.
Колесо имеет массу 50 кг, а "четверть" автомобиля 350 кг.
Препятствие имеет высоту 5 см.
Схема модели:

Определение функции для загрузки и запуска модели:
function start_model_engee()
try
engee.close("suspension_physmod", force=true) # закрытие модели
catch err # в случае, если нет модели, которую нужно закрыть и engee.close() не выполняется, то будет выполнена её загрузка после catch
m = engee.load("$(@__DIR__)/suspension_physmod.engee") # загрузка модели
end;
try
engee.run(m) # запуск модели
catch err # в случае, если модель не загружена и engee.run() не выполняется, то будут выполнены две нижние строки после catch
m = engee.load("$(@__DIR__)/suspension_physmod.engee") # загрузка модели
engee.run(m) # запуск модели
end
end
Запуск симуляции
try
start_model_engee() # запуск симуляции с помощью специальной функции, реализованной выше
catch err
end;
Выделение из simout данных в переменную:
sleep(5)
result = simout;
res = collect(result)
Запись в переменные данных о перемещении колеса и автомобиля, а также о перегрузке:
wheel_pos = collect(res[1])
car_pos = collect(res[4])
overload = collect(res[2]);
Визуализация результатов моделирования
using Plots
plot(wheel_pos[:,1], wheel_pos[:,2], linewidth=3, label="Положение колеса, м")
plot!(car_pos[:,1], car_pos[:,2], linewidth=3, label="Положение автомобиля, м")
plot(overload[:,1], overload[:,2], linewidth=3, label="Перегрузка, м/(с^2)")
Проанализировав графики можно увидеть, что перегрузка (отношение ускорения тела к ускорению свободного падения), возникающая при наезде на препятствие, величиной чуть больше 2 , в течении менее чем 50 мс воздействует на четверть автомобиля.
Такая перегрузка не велика и не окажет опасного влияния на человека, а также не повлияет на комфорт пассажиров.
Вывод:
В данном примере продемонстрировано моделирование работы подвески автомобиля при резком наезде на препятствие. Проанализированы параметры движения четверти автомобиля, а также значение перегрузки, которая может повлиять на безопасность и комфорт пассажиров.