自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 自动驾驶轨迹规划算法——Apollo OpenSpace Planner

Apollo OpenSpace Planner是百度Apollo自动驾驶系统中专为非结构化道路设计的轨迹规划器。它直接在笛卡尔坐标系下进行空间搜索与轨迹优化,支持前进/倒车切换等复杂机动。核心流程包括:1) Hybrid A*算法在自由空间搜索可行路径;2) 轨迹平滑优化满足动力学约束;3) 时间参数化生成可执行轨迹。相比结构化道路规划器,它摆脱了车道线依赖,适用于自动泊车、狭窄调头、港口作业等低速场景。该算法通过状态空间离散化、混合启发式搜索、Reeds-Shepp分析连接等技术,在保证实时性的同时生成

2025-08-14 12:25:21 1285

原创 自动驾驶轨迹规划算法——Apollo Lattice Planner

Apollo Lattice Planner是百度Apollo自动驾驶系统中的一种基于采样的实时轨迹规划算法。其核心思想是在离散化的状态空间中,对终端状态进行采样,并通过多项式曲线连接当前状态与候选终端状态,形成候选轨迹集,最后基于代价函数选择最优轨迹。该算法将车辆可达状态按纵向距离、横向偏移和速度等维度规则离散化,形成"格点"状态空间。 Lattice Planner通过三个主要步骤实现轨迹规划:1)终端状态采样,在规划时域内枚举多种驾驶意图;2)轨迹生成,使用五次多项式连接起点与各终

2025-08-14 11:59:24 1257

原创 自动驾驶轨迹规划算法——Apollo EM Planner

Apollo EM Planner 是百度自动驾驶系统中的轨迹规划算法,采用期望-最大化(EM)迭代优化思想。其核心是将轨迹规划分解为路径优化(E-Step)和速度优化(M-Step)两个子问题,在Frenet坐标系下交替求解。算法先通过动态规划(DP)搜索粗路径,再使用二次规划(QP)进行平滑优化,并结合障碍物信息生成安全走廊。相较Lattice、Hybrid A*等规划器,EM Planner具有更好的实时性、动态障碍物处理能力和轨迹平滑性,适用于城市道路、高速公路等复杂场景。该算法通过解耦路径与速度优

2025-08-13 22:41:33 2306

原创 自动驾驶决策算法 —— 有限状态机 FSM

有限状态机(FSM)是自动驾驶决策层的核心算法之一,通过离散状态描述车辆行为。其核心思想是"在不同状态下执行不同动作,并根据事件触发状态切换"。FSM由状态集合、事件集合、动作集合和状态转移函数组成,适用于高速公路巡航、变道、避障等场景。相比行为树和规则引擎,FSM具有高可读性但灵活性较低。设计时需明确场景需求、定义状态集合、提取触发事件并制定转移规则。为防止状态爆炸,可采用层次化FSM或模块化设计。典型的应用包括高速公路巡航决策和变道控制,通过状态转移实现安全驾驶。FSM为自动驾驶提供

2025-08-12 17:39:14 1657

原创 自动驾驶控制算法——Stanley 控制器

摘要: Stanley控制器是一种用于车辆横向控制的路径跟踪算法,由斯坦福大学在2005年DARPA自动驾驶挑战赛中提出。其核心思想是通过同时修正航向误差和横向误差,使车辆贴合参考路径。控制律包含航向修正项和速度自适应的横向修正项,确保高速稳定性和低速响应性。相比纯跟踪法和PID控制,Stanley控制器具有更好的速度适应性和实现简单性,适用于轨迹跟踪、车道保持等自动驾驶场景。其实现基于单轨运动学模型,通过实时计算误差并代入控制律求解转向角,形成闭环控制。关键参数需调优以平衡响应速度和稳定性,适合低中速自动

2025-08-10 19:10:44 749

原创 自动驾驶控制算法——纯跟踪法(Pure Pursuit)

摘要: 纯跟踪法(Pure Pursuit)是一种基于几何原理的路径跟踪控制算法,通过预瞄距离选择目标点并计算转向角,实现路径跟踪。其核心思想是利用圆弧几何关系,计算车辆与预瞄点之间的转向角,具有实现简单、计算速度快等优点,适用于低速和中速场景。与Stanley、MPC等方法相比,纯跟踪法对车辆模型依赖较低,但性能受预瞄距离影响较大。典型应用包括轨迹跟踪、车道保持、AGV导航等。控制流程包括状态获取、预瞄点选择、航向误差计算、转向角求解和执行控制。尽管计算效率高,但其在高速或急弯场景下的跟踪精度有限,需合理

2025-08-10 18:08:21 1423

原创 自动驾驶--车辆动力学模型

本文介绍了两种车辆运动模型:Kinematic Bicycle Model(运动学自行车模型)和Dynamic Bicycle Model(动力学自行车模型)。运动学模型适用于低速场景,通过几何约束建立车辆运动方程,包含位置、航向角和速度状态变量;动力学模型考虑轮胎侧向力、惯性质心偏移等因素,适用于中高速控制,增加了横向速度和偏航角速度状态变量。两种模型均结合纵向动力学建模,并给出了状态空间形式和典型控制约束参数,为车辆路径规划和控制提供理论基础。

2025-08-08 12:31:08 940

原创 自动驾驶控制算法——滑模控制(SMC)原理与建模

自动驾驶滑模控制(SMC)原理与应用 本文介绍了滑模控制(SMC)在自动驾驶领域的应用原理。SMC是一种鲁棒的非线性控制方法,通过设计滑模面将系统状态强制"吸引"并沿面滑动,有效应对车辆动力学中的不确定性。文章首先阐述了SMC的核心思想,将其与PID、LQR、MPC等控制方法进行对比。随后以车辆横向控制为例,详细推导了SMC的建模过程,包括滑模面设计、控制律推导及抖振问题的解决方案。最后探讨了SMC的优化方向,包括最优滑模面设计、自适应控制和高阶滑模控制。SMC凭借其强鲁棒性和简单结构,

2025-08-07 11:54:48 1979

原创 自动驾驶控制算法——MPC控制算法

自动驾驶MPC控制算法摘要 模型预测控制(MPC)是一种基于系统预测模型的先进控制算法,通过滚动优化方式求解最优控制输入。其核心流程包括:1)使用数学模型预测未来系统状态;2)定义优化目标函数衡量预测误差;3)求解满足约束的最优控制序列;4)仅执行第一步控制并重复该过程。 相比传统PID控制,MPC具有预测未来、多步优化、显式处理约束等优势,特别适合自动驾驶中对安全性要求高的场景,如轨迹跟踪、车道保持、联合纵横向控制、自动泊车和动态避障等。MPC通过状态空间模型预测系统行为,在每个控制周期计算未来N步的控制

2025-08-05 20:36:54 7065 4

原创 自动驾驶控制算法——LQR控制算法

摘要:LQR(线性二次型调节器)是一种基于状态反馈的最优控制算法,通过最小化二次型性能指标(误差和能耗)实现最优控制。其核心是求解黎卡提方程得到反馈增益矩阵K,使系统在误差最小化和控制能量最小化之间取得平衡。LQR具有多变量耦合处理能力、实时性强和理论最优性等特点,广泛应用于自动驾驶轨迹跟踪、车道保持等场景。通过调整Q(状态加权)和R(控制加权)矩阵可优化系统性能,如跟踪精度与舒适性的权衡。案例分析表明,LQR即使在非线性系统中也能有效工作。

2025-08-03 17:29:19 1565 1

原创 自动驾驶控制算法——PID算法

自动驾驶中的PID控制算法摘要 PID控制算法是自动驾驶系统中实现车辆运动控制的经典方法。该算法通过比例(P)、积分(I)、微分(D)三环节协同工作:比例项快速响应当前误差,积分项消除稳态误差,微分项预测变化趋势抑制振荡。在自动驾驶应用中,PID常用于速度控制(纵向)和路径跟踪(横向)场景,其优势在于算法简单、响应迅速。典型案例分析表明,合理调节P、I、D参数可有效平衡系统响应速度和稳定性,其中比例系数决定基本控制强度,积分系数消除长期偏差,微分系数抑制超调。PID算法特别适合低速或规则场景下的车辆控制任务

2025-07-31 12:11:54 2261 1

原创 路径平滑优化算法--Clothoid 路径平滑

摘要: Clothoid(欧拉螺线)是一种曲率随弧长线性变化的曲线,广泛应用于路径平滑优化。其优势包括:G²连续性(位置、切向、曲率连续),符合车辆动力学特性(避免转向突变),解析计算友好(Fresnel积分),以及易于拼接(Clothoid对或圆弧连接)。数学上,曲率κ(s)=κ₀+a·s,切向角θ(s)为二次函数,空间坐标需通过Fresnel积分求解。Clothoid Pair通过两段曲率线性增减的曲线拼接,实现任意两点间的G²连续路径规划,适用于自动驾驶和轨道设计。

2025-07-30 20:27:09 1272

原创 路径平滑优化算法--B样条(B-spline)路径平滑算法

B样条路径平滑算法通过分段低阶多项式曲线实现路径优化,克服了贝塞尔曲线的高阶震荡和全局修改问题。该算法利用控制点、节点向量和基函数定义平滑曲线,通过局部调整实现灵活优化。关键步骤包括:1)参数选择与节点向量构建;2)基于弦长的路径点参数化;3)最小二乘拟合控制点;4)曲线采样生成。实验表明,三次B样条能有效平滑离散路径点,保证C2连续性,同时通过局部控制特性避免全局重构。相较于贝塞尔曲线,B样条在路径平滑应用中展现出更好的稳定性和实用性。

2025-07-29 20:28:47 2124 1

原创 路径平滑优化算法--贝塞尔曲线算法(二)

本文介绍了贝塞尔曲线在机器人路径平滑中的应用,重点阐述了其数学原理、连续性条件及实现方法。贝塞尔曲线通过控制点定义平滑路径,具有一阶到n阶的递推公式。文章详细分析了G1连续性(切线连续)和G2连续性(曲率连续)的区别,并解释G2对机器人运动的重要性。介绍了三个基于贝塞尔曲线平滑路径的算法。

2025-07-28 12:31:13 1483

原创 路径平滑优化算法--贝塞尔曲线算法(一)

本文介绍了贝塞尔曲线在机器人路径平滑中的应用,重点阐述了其数学原理、连续性条件及实现方法。贝塞尔曲线通过控制点定义平滑路径,具有一阶到n阶的递推公式。文章详细分析了G1连续性(切线连续)和G2连续性(曲率连续)的区别,并解释G2对机器人运动的重要性。介绍了三个基于贝塞尔曲线平滑路径的算法。

2025-07-28 12:28:02 1233

原创 路径平滑优化算法--DiscretePointsSmoother

DiscretePointsSmoother 是 Apollo 自动驾驶规划模块中的一个关键组件,用于对原始参考线(reference line)进行平滑处理,生成适合车辆行驶的平滑路径。它通过优化离散点集(而不是拟合连续曲线)来实现高效、鲁棒的平滑效果,非常适合实时自动驾驶应用。

2025-07-23 11:05:41 1155

原创 路径平滑优化算法--Polynomial Spiral(多项式螺旋法)

Polynomial Spiral(多项式螺旋法)是一种用于自动驾驶路径平滑的优化算法,通过将曲率κ表示为弧长s的多项式函数(如κ(s)=a+bs+cs²+ds³)来生成平滑路径。该方法通过数值积分计算路径坐标,并设定起点和终点的边界条件(位置、方向、曲率)。优化过程综合考虑平滑性(最小化曲率变化率)、贴近参考路径和满足车辆动态约束(如最大曲率限制)。Apollo系统采用数值方法(如高斯-勒让德积分)进行求解,通过离散化和数值积分实现高效计算,最终生成符合车辆运动学的平滑路径。

2025-07-22 21:55:11 1460

原创 路径平滑优化算法--QpSpline平滑原理

自动驾驶路径平滑优化算法采用多段低次多项式(如五次样条曲线)拟合初始离散路径,通过二次规划(QP)优化实现平滑目标。该方法将路径分段处理,每段用低次多项式拟合,避免高次多项式振荡问题。优化目标包括最小化路径方向变化、曲率及其变化率,同时保持与初始路径的贴合度。通过设置连续性约束(位置、方向、曲率)和不等式约束(位置边界、曲率限制),确保路径平滑且物理可行。QP求解过程包括构建Hessian矩阵、约束条件,并使用求解器迭代优化。该方法在保证路径平滑性的同时,兼顾计算效率和实时性要求。

2025-07-21 12:34:07 1254

原创 路径平滑优化算法--L-BFGS法

L-BFGS(Limited-memory Broyden–Fletcher–Goldfarb–Shanno)是一种高效的准牛顿优化方法,特别适用于大规模无约束优化问题。在路径平滑任务中,它通过迭代调整初始路径$\mathcal{X} = \{x_1, \dots, x_n\}$(通常由栅格Hybrid A*、RRT*等搜索算法生成),来最小化目标函数$f(\mathcal{X})$,从而解决路径中的**锯齿、曲率突变、障碍边缘过近**等问题。以下是对优化过程的详细描述,包括目标函数的构成和计算步骤。

2025-07-18 20:40:29 1146

原创 路径平滑优化算法--BFGS法

BFGS算法是一种高效的准牛顿优化方法,适用于解决无约束非线性路径平滑问题。文章详细阐述了如何利用BFGS优化由搜索算法(如Hybrid A、RRT)生成的初始路径 X={x 1​ ,…,x n​ },解决路径存在的锯齿、曲率突变和靠近障碍物等问题。

2025-07-18 19:18:43 975

原创 路径平滑优化算法 -- 牛顿法

牛顿法路径平滑优化算法利用二阶导数信息高效优化路径,通过目标函数$f(\mathcal{X})=w_oP_{\text{obs}}+w_\kappa P_{\text{cur}}+w_sP_{\text{smo}}$消除初始路径的锯齿、曲率突变和障碍物接近问题。算法计算梯度$\nabla f$和Hessian矩阵$\nabla^2 f$,通过迭代更新$\mathcal{X}^{k+1}=\mathcal{X}^k-(\nabla^2 f)^{-1}\nabla f$实现路径优化。关键步骤包括障碍物距离、曲率

2025-07-17 11:32:20 745

原创 路径平滑优化算法--共轭梯度法

路径平滑优化算法:共轭梯度法 摘要:针对路径规划算法(如Hybrid A*、RRT*)输出的锯齿状路径,提出基于共轭梯度法的平滑优化方法。通过构建包含障碍物避让、曲率控制和平滑性三项的优化目标函数,利用共轭梯度法高效求解。该方法避免了传统梯度下降法的"之字形"收敛问题,通过构造共轭方向实现更快的收敛速度。文中详细推导了三项代价函数的梯度表达式,并分析了共轭梯度法在路径优化中的优势:无需显式计算Hessian矩阵、适合大规模轨迹点优化、已在多个自动驾驶系统中验证有效。共轭梯度法的迭代过程通

2025-07-16 17:51:08 1331

原创 路径平滑优化算法--梯度下降法

梯度下降法是一种广泛应用于轨迹优化的迭代算法,通过沿目标函数梯度反方向更新轨迹点,逐步优化轨迹的平滑性、避障能力和性能指标。轨迹优化问题通常建模为多目标函数组合,包括平滑性、障碍物距离和轨迹长度等。算法通过计算各代价项的梯度(如二阶差分平滑性梯度、障碍物距离场梯度)来更新轨迹点。该方法简单易实现,适用于自动驾驶、机械臂规划等场景,但存在易陷入局部最优、对初始轨迹敏感等局限性。实践时需要合理设置学习率和迭代次数,并可结合高阶差分项提升轨迹质量。

2025-07-14 21:06:47 398

原创 路径搜索算法——PRM算法

摘要:PRM算法是一种基于采样的路径规划方法,适用于高维复杂环境。其核心思想是通过随机采样构建路网图,将连续路径规划转化为图搜索问题。算法分为构建阶段(随机采样自由空间点并连接)和查询阶段(连接起点终点并搜索路径)。PRM具有高维适应性、预处理优势等优点,但也面临狭窄通道、采样依赖等挑战。文章详细介绍了配置空间概念、局部规划器作用、算法变种及Python实现示例,为机器人导航提供有效解决方案。

2025-07-13 17:20:40 1528

原创 路径搜索算法——RRT*算法

RRT算法是RRT算法的优化版本,通过引入路径优化机制实现渐进最优性。该算法在高维空间和复杂环境中表现优异,主要步骤包括随机采样、树扩展和邻近节点重新连接。相比RRT,RRT能够不断优化路径质量,但计算复杂度更高。Python实现展示了其核心逻辑:随机采样扩展树节点,检查碰撞,选择最优父节点,并通过重新连接优化路径。算法适用于机器人导航等场景,但需平衡计算效率与路径质量。

2025-07-10 21:58:47 2782

原创 路径搜索算法——RRT算法

RRT算法是一种基于随机采样的路径规划方法,通过随机生成点并逐步扩展树结构来探索空间。其核心思想是从起点出发,每次随机采样一个点并找到树中最近节点,向该方向扩展新节点,进行碰撞检测后加入树结构。算法具有随机性、增量式扩展和概率完备性特点,特别适合处理复杂环境和高维空间问题。关键步骤包括初始化树结构、随机采样、寻找最近节点、生成新节点、碰撞检测和目标检查。当找到目标后回溯生成路径。伪代码展示了从起点随机扩展至目标的逻辑过程,最终输出可行路径。

2025-07-10 20:32:09 2558

原创 路径搜索算法——Hybrid A*算法

Hybrid A算法是一种专为自动驾驶车辆设计的路径规划方法,它结合了离散A搜索和连续运动学模型。算法分为两个阶段:改进的A搜索在3D状态空间(x,y,θ)中生成初始路径,考虑车辆转向约束;随后通过数值优化平滑路径。算法采用Reeds-Shepp曲线作为启发式,支持前进/后退运动,能生成满足最小转弯半径的可行路径。与传统A相比,Hybrid A*扩展节点时模拟连续轨迹而非离散跳跃,牺牲最优性保障但获得更平滑的路径。该算法在DARPA挑战赛中成功应用,重规划时间50-300毫秒,适用于复杂场景如停车场导航和U

2025-07-09 20:26:34 2219

原创 路径搜索算法——Anytime D*算法

Anytime D算法是一种结合实时响应与增量搜索的路径规划方法。它在D Lite基础上引入Anytime特性,允许在计算未完成时输出近似路径,随后逐步优化至最优解。算法通过放大启发函数因子ε快速生成初始路径,并在执行过程中不断减小ε以提高精度。核心机制包括节点属性维护、优先级队列排序、路径执行与优化以及动态调整能力,适用于动态环境下的实时路径规划。实验表明,Anytime D*能在资源受限场景中快速响应,同时保证最终路径最优性,为移动机器人导航提供了高效解决方案。

2025-07-02 21:14:24 690

原创 路径搜索算法——D*Lite算法

DLite算法是一种高效的动态路径规划算法,特别适用于环境频繁变化的场景。该算法通过维护节点的g值和rhs值(实际成本和估计成本),利用优先级队列实现增量更新。与A算法不同,D*Lite从终点反向搜索至起点,当环境变化时只需局部调整受影响节点,而无需全局重算。其核心优势在于: 增量更新:仅处理环境变化影响的部分路径 2.高效性:重用历史搜索信息减少计算量 3.适应性:适合动态/未知环境下的实时路径规划 算法通过比较g和rhs值判断节点一致性,利用启发式函数指导搜索,最终从终点回溯生成最优路径。典型的应用场景

2025-07-02 16:43:01 1876 5

原创 路径搜索算法——Dijkstra算法

Dijkstra算法是一种经典的单源最短路径算法,由荷兰计算机科学家Dijkstra于1956年提出。该算法采用贪心策略,从起点出发逐步扩展,每次选择当前最短路径的节点进行访问,并更新其邻居节点的距离值。算法适用于静态环境下的路径规划,如自动驾驶中的全局路径规划。本文通过具体示例展示了Dijkstra的执行过程,包括初始化、多轮迭代更新距离值直至确定所有节点的最短路径。最后提供了C++和Python的实现代码,演示了在二维网格地图中如何应用Dijkstra算法寻找最短路径。该算法保证找到最优解,但时间复杂度

2025-06-30 19:47:43 872

原创 路径搜索算法——A*算法

A*算法是一种高效的启发式路径搜索算法,结合了Dijkstra的最短路径特性和贪心算法的目标导向性。其核心是通过评估函数f(n)=g(n)+h(n)计算节点代价,其中g(n)为实际路径代价,h(n)为启发式估计代价。算法使用开放列表和关闭列表管理节点,优先扩展f值最小的节点。常用启发函数包括曼哈顿距离、欧几里得距离等,当h(n)不超过真实代价时,算法可保证找到最优路径。文章提供了Python和C++的简化实现示例,适用于栅格地图的最短路径搜索,展示了算法从起点到终点的完整搜索流程。

2025-06-30 16:49:40 1704 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除