![](https://img-blog.csdnimg.cn/8d0b474461034e0b9011a54c4eefba96.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Auto Driving
文章平均质量分 87
介绍Auto Driving系统PNC(Decision,Planning And Control)相关技术
小作坊钳工
钳子锉刀小铁锤
展开
-
Efficient Uncertainty-aware Decision-making for Automated Driving Using Guided Branching
自动驾驶系统中,由于交通参与者和感知的不确定性,在密集交通流场景中决策是非常苦难的。POMDP(partially observable Markov decision process)是解决不确定问题的系统性的工具,但是在实际的大规模问题中,其计算非常耗时。论文提出了,在复杂的行驶环境中产生横纵向决策。使用,利用了特定领域的专家经验对行为空间和意图空间进行剪枝,减少计算量。论文是在MPDM(multipolicy decision-making)的基础改进的。原创 2023-10-25 14:18:38 · 473 阅读 · 0 评论 -
Safe Trajectory Generation for Complex Urban Environments Using Spatio-Temporal Semantic Corridor
论文做了两个工作:一是环境中有动静态障碍物、红路灯、限速等不同类型的语义预算,使用统一的时空语义走廊进行建模,二是多数基于优化和Lattice的方法,只能在采样点保证无碰撞约束,使用分段贝塞尔曲线,在时空语义走廊内进行时空联合轨迹规划,保证整个轨迹的安全性。原创 2023-10-25 14:15:12 · 1012 阅读 · 0 评论 -
参考线平滑-QpSplineReferenceLineSmoother
`Apollo`中提供了`QpSplineReferenceLineSmoother`,即分段五次多项式曲线平滑参考线方法。将其构造成二次规划问题形式,使用`OSQP`求解。原创 2022-11-10 19:03:20 · 1840 阅读 · 2 评论 -
参考线平滑-CostThetaSmoother-Ipopt
是Apollo中离散点参考线平滑方法的一种。原创 2022-11-03 13:35:25 · 727 阅读 · 2 评论 -
参考线平滑-FemPosDeviation-SQP
使用SQP(顺序二次规划)对离散点进行平滑原创 2022-11-03 10:14:34 · 1565 阅读 · 5 评论 -
参考线平滑-FemPosDeviation-Ipopt
`FemPosDeviation`参考线平滑方法是离散点平滑方法,`Fem`是`Finite element estimate`的意思。`Apollo`中使用`Ipopt`求解是因为增加了曲率约束,而曲率约束是非线性的,优化目标的设置同`OSQP`一致,只是增加了松弛因子。原创 2022-11-02 14:18:57 · 1338 阅读 · 0 评论 -
非线性最优化问题求解器Ipopt介绍
非线性最优化问题求解器Ipopt介绍原创 2022-11-01 18:13:08 · 16622 阅读 · 14 评论 -
参考线平滑-FemPosDeviation-OSQP
Apollo参考线平滑:FemPosDeviation参考线平滑方法是离散点平滑方法原创 2022-10-31 18:10:07 · 995 阅读 · 0 评论 -
CommonRoad介绍与安装
CommandRoad是德国慕尼黑大学开发了一个自动驾驶motion planning算法的Benchmark。其提供了环境、车辆动力学模型等,可以对motion planning算法进行测评,同时可以进行强化学习训练。文章根据论文《CommonRoad Composable Benchmarks for Motion Planning on Roads》和其官网信息对其进行介绍和安装说明。原创 2022-10-22 23:23:44 · 2076 阅读 · 1 评论 -
碰撞检测技术介绍
本文将对常用的碰撞检测算法进行介绍,并简要的进行benchmark。在planning中一般将主车以及障碍物处理为凸多边形(Polygon/Box),因此碰撞检测多是检测两个Polygon是否重叠,但是为了不失一般性,本文也将介绍Polygon和Point的位置关系计算方法,因为在两个Polygon的位置关系计算中可能会用到。...原创 2022-08-25 10:23:56 · 6394 阅读 · 8 评论 -
Motion Planning中的问题与挑战
在自动驾驶系统中包含定位、感知、预测、决策规划和控制算法模块,其中决策规划模块相当于自动驾驶系统的大脑。SAE将自动驾驶分为L0-L5六个等级,随着自动驾驶等级的提供,决策规划模块的重要性也随之提高。本文将介绍自动驾驶motion planning领域目前存在问题与挑战。原创 2022-08-22 17:57:30 · 1668 阅读 · 2 评论 -
Planning-Tractor-Trailer路径规划
Tractor-Trailer是多刚体,强非线性系统,Trailer的运动轨迹是跟随运动。本文对Tractor-Trailer路径规划进行了分析。原创 2022-06-24 13:56:18 · 834 阅读 · 26 评论 -
Planning-大型车辆Bus及Tractor-Trailer路径规划
现在多数的路径规划都是基于车辆质点模型的,例如Apollo的路径规划算法。然而当车辆尺寸太大时,采用质点模型的路径规划算法,不能约束车辆的前悬或者后悬在路径边界约束内,例如下图所示。道路的半径为60m,当不同的车辆沿中心线行驶时,大型车辆的前悬会超出道路边界。因此,在此考虑车辆的尺寸约束进行路径规划,使车辆的最大范围的行驶在道路内。在进行路径规划时,不再使用质点模型,而是使用刚体或者多刚体模型,将车辆的前悬、后悬和轮胎位置进行约束,可以改善上述问题。......原创 2022-06-07 14:00:04 · 994 阅读 · 2 评论 -
Planing-使用前轴还是后轴进行路径规划?
在进行路径规划时,多数使用汽车的后轴做路径规划,在多数工况下和车辆长度(乘用车)不大时,问题并不大。但是在个别工况下,使用后轴进行路径规划得到的结果并不理想。比如在很小的换道距离内完成换道,或者车辆尺寸较大,比如是大巴车,此时使用后轴规划得到了路径质量较差。下面使用LatticeLatticeLattice算法进行路径规划举例。上图是车长为4.92m4.92m4.92m的乘用车在20m20m20m长度上使用后轴完成换道的路径规划,可以看到车辆前轴中心会超过目标车道的中心线,车辆的道路上的投影包络会靠近原创 2022-03-30 17:05:23 · 911 阅读 · 1 评论 -
Planning-Apollo Planning失败时Fallback机制
在Apollo的planning模块中,当决策规划计算失败时,会触发FallBack机制。不同的情况引发的失败,FallBack机制不同。1 Task失败在Lane Follow Scenario只有一个lane follow stage,在此stage会依次处理各个task,当任意一个stage计算失败时,会触发fallback trajectory。1.1 path plan fallbackpath plan fallback有多种方法进行冗余,按下述顺序依次进行计算。当没有执行到path原创 2022-03-22 16:39:36 · 1713 阅读 · 0 评论 -
Planning-Frenet坐标和Cartesian坐标转换下
本文根据B站up:忠厚老实的老王 的视频《自动驾驶决策规划算法第一章第三节(上) 直角坐标与自然坐标转换》整理,连接:https://www.bilibili.com/video/BV1tQ4y1r7fh?spm_id_from=333.1007.top_right_bar_window_history.content.click2.4 FrenetFrenetFrenet坐标系转换到CartesianCartesianCartesian坐标系已知rr⃗,vr⃗,κr,s,s˙,s¨,l,l′,l′′\原创 2022-03-18 11:27:39 · 482 阅读 · 1 评论 -
Planning-Frenet坐标和Cartesian坐标转换中
本文根据B站up:忠厚老实的老王 的视频《自动驾驶决策规划算法第一章第三节(上) 直角坐标与自然坐标转换》整理,连接:https://www.bilibili.com/video/BV1tQ4y1r7fh?spm_id_from=333.1007.top_right_bar_window_history.content.click2 坐标转换2.1 变量说明:rh⃗\vec{r_h}rh车的位置矢量rh⃗\vec{r_h}rh投影的位置矢量v⃗\vec{v}v车的速原创 2022-03-18 11:26:41 · 708 阅读 · 2 评论 -
Planning-Frenet坐标和Cartesian坐标转换上
本文根据B站up:忠厚老实的老王 的视频《自动驾驶决策规划算法第一章第三节(上) 直角坐标与自然坐标转换》整理,连接:https://www.bilibili.com/video/BV1tQ4y1r7fh?spm_id_from=333.1007.top_right_bar_window_history.content.click1 基础知识1.1 曲线坐标系和直角坐标系的两点不同1.1.1 曲线坐标系的基向量一般不是常向量在直角坐标系中,基向量为i⃗,j⃗\vec{i},\vec{j}i,j,原创 2022-03-18 11:24:39 · 778 阅读 · 0 评论 -
Planning-Apollo速度决策规划
Apollo采用路径规划和速度规划解耦的方式,先进行路径规划,在得到的规划路径上再进行速度规划。利用ST Graph,将障碍物、限速等投影在ST图上,利用全局搜索方法DP算法得到决策,在利用最优化方法进行速度规划。1. 算法原理百度已经将算法原理发表在论文《Optimal Trajectory Generation for Autonomous Vehicles Under Centripetal Acceleration Constraints for In-lane Driving Scenario原创 2021-12-18 11:07:37 · 7614 阅读 · 15 评论 -
Planning-Apollo路径决策规划及问题
Apollo中采用路径规划和速度规划解耦的方法,由EM Planner演变而来,路径规划是基于参考线的规划,放弃了EM Planner中的路径决策DP过程。1. 算法原理百度已经将算法原理发表在《Optimal Vehicle Path Planning Using Quadratic Optimization for Baidu Apollo Open Platform》中。基于参考线将规划问题解耦为SL坐标系中的路径规划和ST坐标系中的速度规划。1.1 优化模型Apollo采用了piecewi原创 2021-11-24 16:15:02 · 4128 阅读 · 5 评论 -
Planning-小鹏汽车NGP系统Planning模块分析
近期小鹏公司和深蓝学院展开合作介绍了一些NGP相关内容,从主讲人的资料中可以看出一些NGP系统Planning模块的一些蛛丝马迹。1. 算法原理算法原理的介绍是目前较为主流的,并且和Apollo有较高的相似性。在参考线平滑模块,主讲人介绍的是piece-wisely with polynomial spirals方法。在决策规划部分由Path Decision,Path Optimization,Speed Decision, Speed Optimization依次执行,路径决策和速度决策在SL和原创 2021-11-18 10:52:25 · 4402 阅读 · 5 评论 -
Planning-碰撞检测之GJK
原文:dyn4j:GJK (Gilbert–Johnson–Keerthi)GJKGJKGJK和SATSATSAT一样用于检测凸多边形,和SATSATSAT不同,GJKGJKGJK可以处理任意形状的凸多边形,然而SATSATSAT处理圆的碰撞检测时需要用不同的算法。1. Minkowski Sum(明可夫斯基和)GJKGJKGJK是基于MinkowskiMinkowskiMinkowski SumSumSum概念上的,即形状1的所有点和形状2的所有点之和。A+B={a+b∣a∈A,b∈B}A +.原创 2021-11-13 22:40:28 · 1161 阅读 · 3 评论 -
Planning-碰撞检测之分离轴定理(SAT)
原文:dyn4j-SAT (Separating Axis Theorem)目录1. 原理2. 分离轴3. 凸多边形在分离轴的投影4. 计算**MTVMTVMTV**sat(分离轴定理)用来检测两个凸多边形是否相交,也可以用于检测点是否在凸多边形内。凸多边形内的点的连线上的点都在凸多边形内,或者连线只和图多边形相交两次(边界处)。1. 原理如果凸多边形在某个轴上的投影不重叠,则两个凸多边形不相交。需要对所有的轴(每个边的法向量)进行投影,存在一个轴上的投影不相交,则两个凸多边形不相交。如果所有.原创 2021-11-13 22:23:14 · 3773 阅读 · 2 评论 -
Planning-Apollo 6.0 Planning模块pipeline
Planning模块1 planning模块的主要类成员PlanningComponent继承于cyber::Component,是事件触发机制,即当同时收到预测、底盘和定位信息时,planning模块才会运行。Prediction和Localization同样是事件触发的,Chassis模块是时间触发的。预测模块的频率是10Hz,因此规划模块的频率也是10Hz。class PlanningComponent final : public cyber::Component<predic原创 2021-11-12 13:54:36 · 1364 阅读 · 3 评论 -
Control-车辆动力学模型
动力学主要研究作用于物体的力与物体运动的关系,车辆动力学模型一般用于分析车辆的平顺性和车辆操纵性的稳定性。对于车辆动力学,主要是研究车辆轮胎及相关部件的受力情况。比如纵向速度控制通过控制轮胎转速实现,横向航向控制通过控制轮胎转角实现。正常情况下,车辆上的作用力沿着三个不同的轴分布:xxx轴上的力:驱动力、制动力、滚动阻力和拖曳阻力。车辆绕xxx轴做滚动运动;yyy轴上的力:转向力、离心力和侧风力。车辆绕yyy轴做俯仰运动;zzz轴上的力:地面支持力、风压力。车辆绕zzz轴做横摆运动;在单车模原创 2021-11-10 18:46:21 · 5845 阅读 · 0 评论 -
Control-车辆运动学模型
1 单车模型(Bicycle ModelBicycle \;ModelBicycleModel)根据一些假设,可以建立用于车辆侧向运动的运动学模型。这一模型以数学方式描述车辆运动而不考虑影响运动的力。运动方程是基于控制系统的几何关系建立的。做如下假设:不考虑车辆在ZZZ轴方向的运动,只考虑水平运动;左右侧车轮转角一致,将左右侧轮胎合并为一个轮胎;车辆行驶速度变化缓慢,忽略前后轴在载荷的转移;车身及悬架系统是刚性的。单车模型将左/右前轮合并为一个AAA点,将左/右后轮合并为一原创 2021-11-10 18:43:38 · 1065 阅读 · 0 评论 -
Control-Stanley
StanleyStanleyStanley控制是前轮反馈控制,其核心思想是利用前轮中心的路径跟踪偏差量对方向盘转向量进行计算。在DARPA中,斯坦福大学的Stanley曾使用这种控制方法。efae_{fa}efa是前轴中心与参考路径最近点(xc,yc)(x_c,y_c)(xc,yc)的横向偏差,StanleyStanleyStanley控制是关于横向偏差efae_{fa}efa的非线性反馈控制,是指数收敛的。δ=θe+arctan(kefav)(1)\delta = \theta_e + a原创 2021-11-10 18:31:53 · 595 阅读 · 0 评论 -
Control-模型参考自适应控制(MRAC)
自适应控制可以在系统老化或者存在建模不确定性的情况下改善控制系统性能。自适应控制是一类处理不确定性系统的非线性控制方法,这些不确定性可能来自系统的动力学自身无法预见的变化或者外部的干扰。自适应控制系统可以广义地描述为能够基于被控对象所接受到的输入在线控制器设计参数,如控制增益,以适应系统不确定性的一种控制系统。其中,将可调参数成为自适应参数,将通过一组数学方程进行描述的调整机制称为自适应律。大多数情况下,典型的自适应律是非线性的。自适应控制的历史可以追溯到20世纪50年代初,但自适应控制由于其固有的非线性原创 2021-11-10 12:45:32 · 13093 阅读 · 8 评论 -
Control-模型预测控制(Model Predict Control,MPC)
模型预测控制(Model Predict Control)利用一个已有的模型、系统当前的状态和未来的控制量去预测系统未来的输出;这个输出的长度是控制周期的整数倍;由于未来的控制量是未知的,需要根据一定的条件进行求解,以得到未来的控制量序列,并在每个控制周期结束后,系统根据当前实际状态重新预测系统未来的输出。因此模型预测控制有三个关键步骤,分别是:预测模型、滚动优化和反馈校正。预测模型:预测模型是控制的基础,根据对象的历史信息和未来输入,预测系统未来的输出。预测模型有:状态空间方程、传递函数、阶跃响应原创 2021-11-10 12:01:03 · 18972 阅读 · 30 评论 -
PNC模块坐标系的一些思考
在自动驾驶系统中,会使用多种坐标系,比如WGS84,UTM,车体坐标系等,介绍各个坐标系的文章也很多,在此不再赘述。在这里对planing和control常用坐标系做一些简述。1 planning模块规划模块常用的坐标系分为曲线坐标系(Frenet)和笛卡尔坐标系(直角坐标系),其中笛卡尔坐标系分为UTM(统一横轴墨卡托)或者全局/世界坐标系和车体坐标系。地图模块一般是采用WGS84(经纬度信息)坐标系或者SL坐标系(OpenDrive)等,会转化为UTM坐标系提供给下游各个模块,包括plann原创 2021-11-09 23:01:21 · 882 阅读 · 0 评论 -
Planning-Apollo6.0 planning module protobuf定义
Planning module是自动驾驶的决策模块,会收集其他模块的所有信息进行综合决策,Apollo开源系统的架构如下: Planning会订阅感知,预测,地图,导航,定位,底盘,HMI(Pad),Storytelling模块发布的消息. channel message module content "/apollo/prediction" PredictionObstacles Predicition 障碍物信息 "/apollo/pe.原创 2021-11-09 21:04:31 · 1557 阅读 · 0 评论 -
Control-Pure Pursuit
将车辆模型简化为自行车模型,如下图,根据转向,在低速和平缓转向情况下,车辆的转向角可近似求解:其中,是车辆轴距,是车辆后轴中心转向半径。纯跟踪控制算法是一种典型的横向控制算法,在中有多次应用。该算法思想是基于车辆后轴中心位置,在参考路径上前的距离匹配一个预瞄点,假设车辆后轴中心可以按照一定转弯半径行驶到达该预瞄点。该算法根据预瞄距离、转弯半径与预瞄点坐标等几何关系来求解转向角。如图所示,车辆的航向角为,车辆后轴中心和预瞄点间的连线与车辆航向的夹角为,则车辆后轴中心..原创 2021-11-08 21:31:36 · 211 阅读 · 0 评论