基于MPC的LKA算法设计

Matlab 2018版本中的simulink,有个自带的车道辅助保持模块,可以直接在帮助文档中搜索lane keeping assist system,如下,该模块是以MPC控制器为基础的,通过道路曲率、纵向速度、侧向路径偏移、横摆角误差作为控制输入,输出车轮转角信号。现在分享一下通过Carsim与simulink联合仿真出来的效果。
在这里插入图片描述
首先看一下这个模块里面的信息,给定车辆信息作为MPC预测模块的输入,车辆信息在Carsim中可以查到,给定转角约束,预测步长以及采样时间。右下角有个controller behavior的设置,范围在0-1之间,该值越大,控制器响应越快,但可能出现超调过大的情况,越小,控制器效果越平滑,这里取0.5。
在这里插入图片描述
Carsim中的设置与上一篇LQR中类似,只在Carsim的输出模块中第一项更换为纵向速度
在这里插入图片描述
simulink中模型搭建如下:
在这里插入图片描述
首先看一下右边carsim的输出,选择其中四个输出并将纵向速度和横摆角速度转换单位,这里车辆坐标x没有用到,我们先输出到工作空间。左边是道路曲率和侧向路径偏移计算模块,分别如下:
在这里插入图片描述
由于道路曲率的计算如下:
在这里插入图片描述
通过memory延时模块,利用导数定义的方式分别求取期望路径y的两阶和一阶导数。再通过如下模块计算出道路曲率,下面的fuction模块1即为上述曲率计算公式,function2和3是使得信号更加平滑。
在这里插入图片描述
通过车辆横摆角、车辆y坐标与期望的路径横摆角、期望y坐标做差,如下:得到控制器模块输入。
在这里插入图片描述
最后看一下carsim中的仿真效果:
在这里插入图片描述
车辆大致还是跟踪了期望路径,后续可以尝试在控制器设计中加入预瞄特性,以获得更好的跟踪效果。

  • 12
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
Simulink LKA(Lane Keep Assist)是一种车辆辅助驾驶系统,用于提供激光雷达、摄像头等传感器数据的处理和分析,以实现车辆在行驶过程中自动保持在车道内的功能。 Simulink LKA通过激光雷达感知车辆周围的环境,并通过摄像头识别道路标线,以获取车道的位置和宽度等信息。系统会根据车道的位置和车辆当前的位置进行比较,并通过控制方向盘的转动来实现车辆在车道内保持一定的行驶轨迹。 在LKA系统中,控制算法起着至关重要的作用。算法根据感知数据和车辆状态信息,计算出需要施加的方向盘转角,并通过电控单元控制方向盘的运动。同时,系统也会对车辆的速度进行监控,以确保在高速行驶状态下仍能保持车辆在车道内的稳定行驶。 Simulink LKA系统的实现需要综合考虑多种因素。首先,需要对车辆和周围环境进行准确的建模,以便准确获取车道和车辆位置信息。其次,需要设计合适的控制算法,并进行实时优化,以保证车辆能够在不同的路况下稳定地行驶。此外,还需要对系统进行严格的测试和验证,确保系统在各种情况下的安全性和可靠性。 Simulink LKA系统的应用有助于提高驾驶的舒适性和安全性,减少驾驶者的疲劳驾驶和不必要的交通事故。同时,也为自动驾驶车辆的研发和应用奠定了基础,为未来智能交通的发展提供了技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值