news 2026/3/27 13:54:49

基于Prescan、CarSim和Simulink的弯道超车避撞联合仿真

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于Prescan、CarSim和Simulink的弯道超车避撞联合仿真

prescan,carsim,simulink三软件联合仿真,实现弯道超车,避撞前方机动车,使用frent坐标系下五次多项式规划加模型预测控制,有横向轨迹跟踪对比图,仿真图。 可包调试运行。 需要安装软件版本为,matlab2020b以上,carsim2020.0,prescan8.5。

在自动驾驶领域,车辆的路径规划与避撞控制是关键技术。今天咱就来聊聊如何通过Prescan、CarSim和Simulink三软件联合仿真,实现弯道超车并避撞前方机动车,这里用到了Frent坐标系下五次多项式规划加模型预测控制,最后还有横向轨迹跟踪对比图和仿真图呈现哦,而且包调试运行。不过在开始前,得确保安装软件版本为matlab2020b以上,carsim2020.0,prescan8.5 。

一、整体思路

  1. Frent坐标系下五次多项式规划:在复杂的弯道场景中,传统笛卡尔坐标系不太方便描述车辆轨迹。Frent坐标系则以道路中心线为参考,能更灵活地规划路径。五次多项式因其具有足够的自由度,可以很好地满足起始点和终点的位置、速度及加速度等边界条件。

下面是简单示意如何构建五次多项式路径规划的代码(这里用Python示意,实际在项目中可能用Matlab语言结合相关库实现):

import numpy as np import matplotlib.pyplot as plt # 定义起始点和终点条件 start_s = 0 start_d = 0 start_d_dot = 0 start_d_ddot = 0 end_s = 100 end_d = 5 end_d_dot = 0 end_d_ddot = 0 # 构建五次多项式系数矩阵 A = np.array([ [1, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0], [0, 0, 2, 0, 0, 0], [1, end_s, end_s**2, end_s**3, end_s**4, end_s**5], [0, 1, 2*end_s, 3*end_s**2, 4*end_s**3, 5*end_s**4], [0, 0, 2, 6*end_s, 12*end_s**2, 20*end_s**3] ]) b = np.array([start_d, start_d_dot, start_d_ddot, end_d, end_d_dot, end_d_ddot]) # 求解系数 coefficients = np.linalg.solve(A, b) # 生成路径点 s_vals = np.linspace(start_s, end_s, 100) d_vals = np.polyval(coefficients, s_vals) plt.plot(s_vals, d_vals) plt.xlabel('s (along the reference line)') plt.ylabel('d (lateral distance)') plt.title('五次多项式路径规划示例') plt.show()

代码分析:这段代码首先定义了起始点和终点在Frent坐标系下的位置、速度和加速度信息。然后构建了一个系数矩阵A和条件向量b,通过np.linalg.solve求解出五次多项式的系数。最后,在一定范围内生成路径点并绘制出路径。

  1. 模型预测控制(MPC):规划好路径后,得让车辆能沿着规划的轨迹行驶,这就用到MPC。MPC通过建立车辆的动力学模型,预测车辆未来的状态,并根据预测结果和目标轨迹不断优化控制输入(如方向盘转角、油门、刹车等)。

在Matlab中利用MPC工具箱实现简单的车辆横向控制的代码片段如下(简化示意):

% 车辆参数 L = 2.8; % 轴距 Ts = 0.1; % 采样时间 % 离散化车辆动力学模型 A = [1 Ts 0 0; 0 1 0 0; 0 0 1 Ts; 0 0 0 1]; B = [0; Ts/L; 0; 1/L]; C = [1 0 0 0; 0 0 1 0]; sys = ss(A, B, C, 0, Ts); % 定义MPC控制器 mpcObj = mpc(sys); mpcObj.MV(1).RateMin = -0.1; mpcObj.MV(1).RateMax = 0.1; mpcObj.MV(1).Min = -0.5; mpcObj.MV(1).Max = 0.5; mpcObj.OV(1).SoftMax = 1; mpcObj.OV(1).SoftMaxPenalty = 100;

代码分析:这里先定义了车辆的基本参数,如轴距L和采样时间Ts。接着离散化车辆动力学模型,得到状态空间矩阵ABC。然后利用这些信息创建MPC控制器对象mpcObj,并对控制输入(这里是方向盘转角相关量)设置了变化率限制、上下限等约束,对输出变量设置了软约束和惩罚系数。

二、三软件联合仿真设置

  1. Prescan:主要用于搭建场景,比如设置弯道、前方机动车等元素。在Prescan中创建一个包含弯道的道路场景,并放置目标车辆和前方障碍物车辆。同时,配置车辆的传感器,例如毫米波雷达,用于检测前方车辆的位置和速度等信息。
  2. CarSim:提供精确的车辆动力学模型。将Prescan中车辆的相关参数传递给CarSim,CarSim根据输入的控制信号(如方向盘转角、油门、刹车)计算车辆的实际运动状态,如位置、速度、加速度等,并将这些信息反馈给Prescan和Simulink。
  3. Simulink:作为控制算法实现的平台。将前面提到的Frent坐标系下五次多项式规划和MPC控制算法在Simulink中搭建模型。接收来自Prescan的传感器信息和CarSim的车辆状态信息,经过算法处理后输出控制信号给CarSim。

三、仿真结果

  1. 横向轨迹跟踪对比图:可以清晰看到规划轨迹与实际车辆行驶轨迹的对比。在理想情况下,实际轨迹应紧密跟随规划轨迹。如果存在偏差,可分析是算法参数问题还是车辆动力学模型与实际差异导致的。通过对比图能直观评估控制算法的跟踪性能。
  2. 仿真图:展示整个弯道超车避撞过程的动态画面。从车辆接近弯道、开始超车,到成功避开前方机动车的全过程,能更全面地观察车辆的运动状态和周围环境的变化。

总之,通过Prescan、CarSim和Simulink的联合仿真,结合Frent坐标系下五次多项式规划和模型预测控制,我们能够有效实现弯道超车并避撞前方机动车的功能,为自动驾驶技术的研究提供了有力的验证手段。而且包调试运行,大家可以放心上手实践。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 12:23:16

27.PXE高效批量网络装机

1.挂载镜像文件: mkdir -p /mnt/cdrom mount /dev/sr0 /mnt/cdrom 2.安装必要组件: sudo yum install -y httpd dhcp tftp-server syslinux xinetd 配置 TFTP 服务(传输引导文件) TFTP 用于传输 pxelinux.0、vmlinuz、initr…

作者头像 李华
网站建设 2026/3/24 5:40:52

对比接口测试工具在自动化测试优缺点:Jmeter、Python、Postman

一、JMeter总结:适合对代码不敏感的使用人员,不会代码也可以完成接口自动化,设计框架。适合紧急迭代的项目。JMeter接口测试的优势小巧轻量级,并且开源免费,社区接受度高,比较容易入门支持多协议&#xff0…

作者头像 李华
网站建设 2026/3/21 10:06:39

数据里的“平行宇宙”:用分支管理实现数据的版本控制

适用版本提示:本文提及的 Data Branch 功能适用于 MatrixOne v3.0 及以上版本。 我们想解决的不是“怎么再备份一份”,而是这三件事:随时落一个可靠锚点、开出互不打扰的试验台、把变更做成可审阅/可回放的补丁。 序幕:双线并行的…

作者头像 李华
网站建设 2026/3/26 17:26:54

SMT贴片加工生产车间主要设备有哪些

SMT的全称是SuRFace mount technology,中文意思为表面贴装技术,SMT设备是指用于SMT加工过程需使用的机器或设备,不同厂家根据自身实力规模以及客户要求,配置不同的SMT生产线,可分为半自动SMT生产线和全自动SMT生产线&a…

作者头像 李华
网站建设 2026/3/21 13:12:55

2026企业微信高效办公指南:打卡/审批/会议实操

2026年,仍有不少企业被考勤统计混乱、审批流程拖沓、会议信息丢失等问题困扰。而企业微信的打卡、审批、会议三大功能,能够通过链路串联的方式,一站式解决这些办公效率痛点。无论是企业高管希望降低人力管理成本,私域运营人员想要…

作者头像 李华
网站建设 2026/3/21 11:23:10

解锁淘宝API:实时监控商品价格变动,抢占市场先机!

在电商竞争激烈的时代,实时监控商品价格变动是抢占市场先机的关键策略。淘宝作为国内最大的电商平台,提供了丰富的API接口,允许开发者获取商品数据,包括实时价格。本文将一步步教你如何解锁淘宝API,实现商品价格的实时…

作者头像 李华