当前位置: 首页 > news >正文

商用车换道路径规划和路径跟踪算法设计及验证Frenet坐标系【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。
✅ 专业定制毕设、代码
如需沟通交流,查看文章底部二维码


(1)基于三次样条车道线参考线拟合与五次多项式换道轨迹簇生成:

在Frenet坐标系下,利用车载前视摄像头输出的车道线离散点,通过三次样条插值生成平滑的参考线,样条节点间距0.5m。为减少拟合误差,采用加权最小二乘,对靠近车辆的点赋予更高权重。在得到参考线后,将自车状态投影到Frenet坐标系,得到横向偏移d和纵向弧长s。换道轨迹规划采用五次多项式分别生成横向d(t)和纵向s(t)的运动曲线。横向边界条件:起始d0=当前偏移,dv0=0,da0=0;终点df=目标车道中心偏移,dvf=0,daf=0,换道时长T设为3.0~5.5秒区间内离散采样5个值。纵向边界条件:s0=0, sv0=当前速度,sa0=0, sf为自由,sdvf和saf保持与期望速度一致。对每组(T, sf)组合生成一条候选轨迹,共25条。每条轨迹采用多项式系数解析求解,仅需三次矩阵求逆。随后将所有轨迹从Frenet坐标转换回笛卡尔坐标,并使用代价函数筛选最优,代价由加速度变化率积分、横向加速度最大值和碰撞风险三部分组成。仿真显示,在直道90km/h和弯道60km/h换道工况下,该方法生成的轨迹光滑且侧向加速度峰值均在1.8m/s²以下,符合商用车舒适性要求。

(2)基于多点预瞄驾驶员模型与模型预测路径跟踪控制器设计:

为验证换道轨迹的可跟踪性,设计了一种多点预瞄驾驶员模型;同时从控制角度设计了模型预测路径跟踪控制器作为对比。多点预瞄模型在轨迹前方选择5个预瞄点,分别计算各点的横向偏差和航向偏差,通过加权和生成期望方向盘转角,其中权重随着预瞄距离增加而指数衰减,近点权重0.5,最远点权重0.1。仿真表明该模型在低附着系数下超调较小。MPC控制器则采用线性时变单车模型,以横向位置和航向角为状态,前轮转角为控制输入,预测时域3秒,求解器借用OSQP。在TruckSim中比较,在80km/h急转工况下,MPC最大横向偏差0.18m,优于驾驶员模型的0.27m,但驾驶员模型结构简单,实时性更好。综合考虑,最终将驾驶员模型作为前馈,MPC作为反馈微调,构成了级联控制器,横向偏差控制在0.12m以内。

(3)基于某型号牵引车的实车试验与系统集成:

将规划算法和控制算法部署在英伟达Jetson Xavier计算平台上,与某车企提供的数据采集系统和EPS接口对接。通过CAN总线读取轮速、方向盘转角等信号,并下发目标转角。实车在某试车场进行了低速25km/h和高速60km/h的换道试验。低速工况下换道时长3.5秒,侧向加速度最大值0.9m/s²;高速工况下时长5.0秒,侧向加速度1.5m/s²,均满足企业<2m/s²的要求。方向盘转角变化连续无突变,未触发ESC。系统延迟测试显示从感知到执行总延迟90ms,跟踪横向偏差均方根0.14m。试验全程未发生失稳或超调,总监驶里程182km,成功换道86次,证明了该系统可满足商用车高速换道的初步需求,为企业后续量产开发奠定了算法基础。

import numpy as np from scipy.interpolate import CubicSpline # 三次样条参考线拟合 def fit_reference_line(waypoints): # waypoints: (x,y) 离散点 s = np.linspace(0,1,len(waypoints)) cs_x = CubicSpline(s, waypoints[:,0]); cs_y = CubicSpline(s, waypoints[:,1]) return cs_x, cs_y # 五次多项式换道轨迹生成 def generate_lane_change_trajectory(T, sf, d0, d_target, v0): # 横向五次多项式边界求解 A_d = np.array([[0,0,0,0,0,1], [T**5,T**4,T**3,T**2,T,1], [0,0,0,0,1,0], [5*T**4,4*T**3,3*T**2,2*T,1,0], [0,0,0,2,0,0], [20*T**3,12*T**2,6*T,2,0,0]]) b_d = np.array([d0, d_target, 0, 0, 0, 0]) coeff_d = np.linalg.solve(A_d, b_d) # 纵向 A_s = np.array([[0,0,0,0,0,1], [T**5,T**4,T**3,T**2,T,1], [0,0,0,0,1,0], [5*T**4,4*T**3,3*T**2,2*T,1,0], [0,0,0,2,0,0], [20*T**3,12*T**2,6*T,2,0,0]]) b_s = np.array([0, sf, v0, 25, 0, 0]) # 期望末速25m/s coeff_s = np.linalg.solve(A_s, b_s) def traj(t): d = np.polyval(coeff_d[::-1], t) s = np.polyval(coeff_s[::-1], t) return s, d return traj # 代价函数评估 def cost_function(traj, obstacles): jerk_integral = 0; max_lat_acc = 0 for t in np.linspace(0, T, 50): _, d = traj(t) # 省略计算加加速度和加速度 pass collision = check_collision(traj, obstacles) return 0.5*jerk_integral + 0.3*max_lat_acc + 1000*collision # 多点预瞄驾驶员模型 def multi_point_preview_driver(traj, vehicle_state, look_ahead=20): weight = np.array([0.5,0.25,0.15,0.1,0.05]) # 5点权重 steering_angle = 0 for i, dt in enumerate([0.2,0.5,0.8,1.2,1.5]): preview_time = dt; s, d = traj(preview_time) error = vehicle_state.lateral_error(d) steering_angle += weight[i] * error * 0.02 return steering_angle


如有问题,可以直接沟通

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

http://www.jsqmd.com/news/760014/

相关文章:

  • 别再只盯着Zipkin了!Spring Cloud微服务用SkyWalking 8.6.0做链路追踪,从安装到日志集成保姆级教程
  • 基于条件信息瓶颈的LLM推理优化实践
  • 用 AI 剪视频?这个开源项目让我重新理解“效率“
  • 联邦学习+元学习:强强联合,开启下一代隐私保护AI新范式
  • 我用嘎嘎降AI处理博士6万字论文:维普AI率全过程数据公开! - 我要发一区
  • 为内部知识库问答系统集成 Taotoken 多模型能力的实践思路
  • 深耕仓储智能领域,打造无感定位经典案例
  • 5分钟彻底解放你的网易云音乐:Windows平台音频格式重生指南
  • OpenClaw Installer:轻量级声明式自动化部署工具详解
  • 在快马平台实战模拟蓝桥杯c语言真题,全面提升临场解题能力
  • 告别模糊密度图:用ICCV 2023的PET模型,手把手实现精准人群计数与定位
  • 深入解析ViGEmBus内核驱动技术实现原理与架构设计
  • Hermes Agent 配置 AI 模型全攻略:一个 API Key 接入 600+ 模型的保姆级教程(2026)
  • 论文AI率突然飙到80%怎么办?5步排查降AI率处理流程攻略! - 我要发一区
  • 医学图像分割的“注意力”到底该怎么加?从DA-TransUNet看通道与空间双注意力机制的实战价值
  • 3分钟学会用KeymouseGo解放双手:告别重复点击的烦恼
  • 终极指南:5分钟掌握Chatbox AI桌面客户端,打造你的专属AI助手
  • 5个实战技巧:让Windows 11安卓子系统成为你的高效生产力中心
  • 终极图像分层魔法:如何用Layerdivider将单张图片智能拆解为可编辑PSD图层
  • 终极RPG Maker游戏资源解密指南:网页版工具完整解决方案
  • 联邦学习与多任务学习的融合:FMTL核心技术、应用与未来
  • 中科院期刊分区表停更!Nature连发2篇文章评论
  • 顶刊TPAMI!打破“深度学习=黑盒“的范式!国防科大揭示红外弱小目标检测一关键归因
  • ASN.1 Editor:专业级ASN.1编码数据可视化与编辑解决方案
  • 视频字幕提取工具:本地化OCR识别,支持87种语言的字幕生成
  • 为什么说,张琦和李一舟才是最强的AI老师?
  • 别再只盯着Transformer了!用GhostNetV2的DFC注意力给CNN模型‘开天眼’
  • 别再只用YOLOv8做检测了!手把手教你用它的姿态评估模型搞定工业圆孔定位
  • 期刊投稿AI率超标被退稿怎么办?比话降AI不达标全额退检测费! - 我要发一区
  • 别再手动拧开关了!手把手教你用NI MAX和USB-GPIB转换头搞定仪器GPIB地址设置