Engee 文档
Notebook

汽车悬架模拟

这个例子演示了汽车悬架在撞到障碍物时的模拟.

使用信号发生器块将障碍物设置为矩形信号。 使用速度源,将信号(速度)的导数馈送到平移弹簧块的C端口,该端口描述了车轮的弹性特性。

平移弹簧,反过来,连接到质量,其表征车轮的惯性属性。

车轮安装在悬挂元件,减震器和减震器弹簧上,由块阻尼器弹簧表示。

汽车本身的"四分之一"连接到阻尼器弹簧块的其他端口。

车轮的质量为50kg,汽车的"四分之一"为350kg。

障碍物高5厘米。

模型图:

suspension_physmod--1727789568075.png

定义加载和运行模型的函数:

In [ ]:
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
Out[0]:
start_model_engee (generic function with 1 method)

运行模拟

In [ ]:
try
    start_model_engee() # запуск симуляции с помощью специальной функции, реализованной выше
    catch err
    end;

从simout中提取数据到变量中:

In [ ]:
sleep(5)
result = simout;
res = collect(result)
Out[0]:
4-element Vector{WorkspaceArray}:
 WorkspaceArray("suspension_physmod/Положение колеса")
 WorkspaceArray("suspension_physmod/Перегрузка")
 WorkspaceArray("suspension_physmod/Препятствие")
 WorkspaceArray("suspension_physmod/Положение машины")

将有关车轮和汽车运动以及有关过载的数据写入变量:

In [ ]:
wheel_pos = collect(res[1])
car_pos = collect(res[4])
overload = collect(res[2]);

模拟结果的可视化

In [ ]:
using Plots
plot(wheel_pos[:,1], wheel_pos[:,2], linewidth=3, label="Положение колеса, м")
plot!(car_pos[:,1], car_pos[:,2], linewidth=3, label="Положение автомобиля, м")
Out[0]:
In [ ]:
plot(overload[:,1], overload[:,2], linewidth=3, label="Перегрузка, м/(с^2)")
Out[0]:

分析这些图表,您可以看到在撞击障碍物时发生的过载(身体加速度与自由落体加速度的比率)略大于2 ,影响四分之一的汽车在不到50毫秒。

这样的过载不大,不会对人产生危险影响,也不会影响乘客的舒适度。

结论:

这个例子演示了汽车悬架在与障碍物突然碰撞时的模拟. 分析了四分之一汽车运动的参数,以及过载的值,这会影响乘客的安全性和舒适性。