探索发动机逆模型:从 MAP 图到自适应巡航的奇妙之旅
发动机逆模型 逆发动机模型 根据发动机模型MAP图数据,得到发动机逆模型 以carsim 150kw的发动机为例 逆纵向动力学模型 逆发动机模型 自适应巡航 ACC 红色*是原始数据点 线性插值

在汽车工程的奇妙世界里,发动机逆模型是一个极具魅力且实用的领域。今天咱们就以 carsim 中 150kw 的发动机为例,唠唠这发动机逆模型是咋回事儿,以及它和逆纵向动力学模型、自适应巡航(ACC)之间千丝万缕的联系。
从发动机模型 MAP 图数据出发
发动机模型 MAP 图可是个宝贝,它记录了发动机在不同工况下的性能数据,比如扭矩、功率和燃油消耗等。然而,在实际应用中,我们有时候需要反过来,根据特定的输出去找到对应的输入工况,这就引出了发动机逆模型的概念。

咱们假设有一个简单的 MAP 图数据存储格式,用 Python 字典来模拟一下,每个键值对代表一个工况点的相关数据,这里简化为转速和扭矩的关系:
map_data = {
1000: 100,
1500: 150,
2000: 200,
2500: 220,
3000: 250
}
这个字典里,键是发动机转速(单位:转/分钟),值是对应的扭矩(单位:牛·米)。
构建发动机逆模型
要根据这些 MAP 图数据得到发动机逆模型,线性插值是个常用的好办法。为啥用线性插值呢?因为 MAP 图上的数据点通常是离散的,实际工况不可能正好落在这些离散点上,线性插值能帮我们估算出中间工况的值。

发动机逆模型 逆发动机模型 根据发动机模型MAP图数据,得到发动机逆模型 以carsim 150kw的发动机为例 逆纵向动力学模型 逆发动机模型 自适应巡航 ACC 红色*是原始数据点 线性插值

下面是一段简单的 Python 代码来实现基于线性插值的发动机逆扭矩模型(根据给定扭矩找转速):
def inverse_engine_model(target_torque, map_data):
sorted_rpm = sorted(map_data.keys())
for i in range(len(sorted_rpm) - 1):
if map_data[sorted_rpm[i]] <= target_torque <= map_data[sorted_rpm[i + 1]]:
slope = (sorted_rpm[i + 1] - sorted_rpm[i]) / (map_data[sorted_rpm[i + 1]] - map_data[sorted_rpm[i]])
interpolated_rpm = sorted_rpm[i] + slope * (target_torque - map_data[sorted_rpm[i]])
return interpolated_rpm
return None
咱们来分析一下这段代码哈。首先,它把 MAP 图数据里的转速按从小到大排序,这样方便后续查找。然后遍历排序后的转速列表,看看目标扭矩是不是落在某两个相邻数据点的扭矩之间。如果是,就根据这两个点的转速和扭矩计算斜率,进而通过线性关系估算出对应目标扭矩的转速。要是目标扭矩不在现有数据范围内,就返回 None。
比如说,咱们想知道扭矩为 180 牛·米时的转速:
target_torque = 180
result = inverse_engine_model(target_torque, map_data)
if result:
print(f"对应扭矩 {target_torque} Nm 的转速约为 {result} 转/分钟")
else:
print("目标扭矩不在现有数据范围内")
逆纵向动力学模型与发动机逆模型
逆纵向动力学模型和发动机逆模型其实是相辅相成的。逆纵向动力学模型主要关注车辆整体在纵向(前进或后退方向)上的动力学关系,比如车速、加速度和驱动力之间的联系。而发动机逆模型提供的发动机工况信息,能为逆纵向动力学模型更准确地计算车辆的驱动力等参数。比如说,通过发动机逆模型得到合适的发动机转速和扭矩,就能更好地模拟车辆在不同行驶工况下的动力输出,从而优化逆纵向动力学模型的计算精度。
发动机逆模型与自适应巡航(ACC)
自适应巡航(ACC)大家都不陌生吧,这可是现代汽车的一项超实用功能。发动机逆模型在 ACC 里起着关键作用呢。ACC 系统需要根据前方车辆的距离和速度,实时调整本车的速度。这时候就需要发动机逆模型来告诉系统,为了达到目标速度,发动机应该工作在什么工况。比如说,当前方车辆减速,ACC 系统判断本车也需要减速,通过发动机逆模型就能计算出合适的发动机扭矩和转速,来降低车速又保证车辆行驶的平稳。这样,发动机逆模型就像 ACC 系统的一个聪明小助手,让 ACC 系统能更智能、更精准地控制车辆。
在汽车技术不断发展的今天,深入理解和优化发动机逆模型,对于提升车辆性能、优化驾驶体验以及推动自动驾驶技术的进步,都有着不可忽视的意义。希望今天这番分享,能让大家对发动机逆模型有了更清晰的认识。咱们下次再接着聊汽车领域的其他有趣话题!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)