自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (5)
  • 收藏
  • 关注

原创 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 306

原创 Safe Trajectory Generation for Complex Urban Environments Using Spatio-Temporal Semantic Corridor

论文做了两个工作:一是环境中有动静态障碍物、红路灯、限速等不同类型的语义预算,使用统一的时空语义走廊进行建模,二是多数基于优化和Lattice的方法,只能在采样点保证无碰撞约束,使用分段贝塞尔曲线,在时空语义走廊内进行时空联合轨迹规划,保证整个轨迹的安全性。

2023-10-25 14:15:12 826

原创 ros2自定义message以及使用方法

https://roboticsbackend.com/ros2-create-custom-message/

2023-06-28 19:09:59 357

原创 Cmake编译生成git信息

【代码】Cmake编译生成git信息。

2023-04-25 11:36:38 199 1

原创 参考线平滑-QpSplineReferenceLineSmoother

`Apollo`中提供了`QpSplineReferenceLineSmoother`,即分段五次多项式曲线平滑参考线方法。将其构造成二次规划问题形式,使用`OSQP`求解。

2022-11-10 19:03:20 1588 1

原创 参考线平滑-CostThetaSmoother-Ipopt

是Apollo中离散点参考线平滑方法的一种。

2022-11-03 13:35:25 597

原创 参考线平滑-FemPosDeviation-SQP

使用SQP(顺序二次规划)对离散点进行平滑

2022-11-03 10:14:34 1367 5

原创 参考线平滑-FemPosDeviation-Ipopt

`FemPosDeviation`参考线平滑方法是离散点平滑方法,`Fem`是`Finite element estimate`的意思。`Apollo`中使用`Ipopt`求解是因为增加了曲率约束,而曲率约束是非线性的,优化目标的设置同`OSQP`一致,只是增加了松弛因子。

2022-11-02 14:18:57 1100

原创 非线性最优化问题求解器Ipopt介绍

非线性最优化问题求解器Ipopt介绍

2022-11-01 18:13:08 12736 10

原创 参考线平滑-FemPosDeviation-OSQP

Apollo参考线平滑:FemPosDeviation参考线平滑方法是离散点平滑方法

2022-10-31 18:10:07 779

原创 1. 两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

2022-10-25 08:59:38 98

原创 CommonRoad介绍与安装

CommandRoad是德国慕尼黑大学开发了一个自动驾驶motion planning算法的Benchmark。其提供了环境、车辆动力学模型等,可以对motion planning算法进行测评,同时可以进行强化学习训练。文章根据论文《CommonRoad Composable Benchmarks for Motion Planning on Roads》和其官网信息对其进行介绍和安装说明。

2022-10-22 23:23:44 1666 1

原创 Python 虚拟环境迁移

在工作中会使用`python`制作一些工具,但是`python`不同版本的兼容性较差,然而有时不得更换电脑,使原`python`脚本运行时经常会发生一些问题,因此想制作一个可以迁移的`python`虚拟环境。

2022-10-22 14:23:31 4658 1

原创 碰撞检测技术介绍

本文将对常用的碰撞检测算法进行介绍,并简要的进行benchmark。在planning中一般将主车以及障碍物处理为凸多边形(Polygon/Box),因此碰撞检测多是检测两个Polygon是否重叠,但是为了不失一般性,本文也将介绍Polygon和Point的位置关系计算方法,因为在两个Polygon的位置关系计算中可能会用到。...

2022-08-25 10:23:56 5996 7

原创 Motion Planning中的问题与挑战

在自动驾驶系统中包含定位、感知、预测、决策规划和控制算法模块,其中决策规划模块相当于自动驾驶系统的大脑。SAE将自动驾驶分为L0-L5六个等级,随着自动驾驶等级的提供,决策规划模块的重要性也随之提高。本文将介绍自动驾驶motion planning领域目前存在问题与挑战。

2022-08-22 17:57:30 1577 2

原创 Planning-Tractor-Trailer路径规划

Tractor-Trailer是多刚体,强非线性系统,Trailer的运动轨迹是跟随运动。本文对Tractor-Trailer路径规划进行了分析。

2022-06-24 13:56:18 749 26

原创 Planning-大型车辆Bus及Tractor-Trailer路径规划

现在多数的路径规划都是基于车辆质点模型的,例如Apollo的路径规划算法。然而当车辆尺寸太大时,采用质点模型的路径规划算法,不能约束车辆的前悬或者后悬在路径边界约束内,例如下图所示。道路的半径为60m,当不同的车辆沿中心线行驶时,大型车辆的前悬会超出道路边界。因此,在此考虑车辆的尺寸约束进行路径规划,使车辆的最大范围的行驶在道路内。在进行路径规划时,不再使用质点模型,而是使用刚体或者多刚体模型,将车辆的前悬、后悬和轮胎位置进行约束,可以改善上述问题。......

2022-06-07 14:00:04 892 2

原创 挂车运动轨迹

挂车运动轨迹

2022-06-03 09:39:38 719 8

原创 Planing-使用前轴还是后轴进行路径规划?

在进行路径规划时,多数使用汽车的后轴做路径规划,在多数工况下和车辆长度(乘用车)不大时,问题并不大。但是在个别工况下,使用后轴进行路径规划得到的结果并不理想。比如在很小的换道距离内完成换道,或者车辆尺寸较大,比如是大巴车,此时使用后轴规划得到了路径质量较差。下面使用LatticeLatticeLattice算法进行路径规划举例。上图是车长为4.92m4.92m4.92m的乘用车在20m20m20m长度上使用后轴完成换道的路径规划,可以看到车辆前轴中心会超过目标车道的中心线,车辆的道路上的投影包络会靠近

2022-03-30 17:05:23 869 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 1512

原创 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 440 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 670 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 723

原创 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 6802 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 3821 5

原创 Chapter-5 结构化道路上的多车协同决策与规划方法

多车协同轨迹决策问题的规模随着NVN_VNV​的增加而迅速增长,很难设计出能够保障完备性和最优性的决策方案,仍然采用序贯决策框架来完成多车协同决策任务,其中针对单一车辆的决策需要chapter-4中的基于采样和DP搜索的方法实现。在结构化道路上,面向车辆编队协同行驶任务主要包括协同变更车道、协同避让高优先级车辆、协同通过无信号灯交叉路口以及协同汇入车流。作者认为车辆编队协同通过无信号灯交叉路口的任务足以代表上述四种协同行驶任务,并且以典型且常见的平面十字交叉路口为例构建了面向多智能网联汽车的协同轨迹.

2021-11-19 10:22:44 1467

原创 Chapter-4 结构化道路上的单一车辆决策与规划方法

结构化道路与非结构化道路场景的重要区别是,车辆在结构化道路中行驶时受到指引线(Reference Line)的引导,于是可以在Frenet坐标系中进行路径决策规划。1. Reference Line1.1 参考线生成参考线的生成依赖一系列航路点(waypoint)的位置信息,据此可以将参考线生成任务转化为规划一条尽量抵近各航路点的平滑路径的任务。可以建立最优化控制问题模型:J=w1∑k=1Nw(x(tfkNW)−xwk)2+w1∑k=1Nw(y(tfkNW)−ywk)2+w2∑k=1Nwω2(t

2021-11-18 19:15:22 1620

原创 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 4206 5

原创 Chapter-3 低速非结构化场景中的多车协同决策与规划方法

本章介绍了低速非结构化场景中的多车协同决策规划,作者在此章节中介绍了多车协同决策规划的难点,并给出了一种解决方案。1. 协同轨迹决策与序贯轨迹决策多车协同轨迹决策问题规模会随着车队规模的增大而迅速增大,给完备、最优解法的设计造成难以避免的苦难。在多车协同轨迹规划问题中,轨迹决策还额外决定着各智能网联汽车相互之间的绕行方式。与单一车辆的轨迹决策相比,多车协同轨迹决策不等价于各车辆轨迹决策的简单叠加。假设场景中存在非协作障碍物NobsN_{obs}Nobs​个,在对单车进行轨迹决策时有2Nobs2^{N_

2021-11-15 10:48:08 1103

原创 Chapter-2 低速非结构化场景中的单一车辆决策与规划方法

本章介绍在低速非结构化场景中的最优化规划问题的构建和决策规划的计算流程。作者着重介绍了最优控制问题的一般形式和数值求解方法,以及使用A*求解初始值。最优化问题为连续Bolza型问题,通过离散化通过非线性求解器计算。由于初始解既可以提高非线性规划问题的求解效率,又可以避免非线性规划限于局部最优解,因此先使用全局规划方法得到粗糙的轨迹作为决策轨迹,并作为非线性规划的初始解,非线性规划的结果最为最终规划的轨迹。1. 轨迹规划命题的构建车辆的轨迹规划任务是指在车辆的起始运动状态与终止时刻运动状态之间计算出满

2021-11-14 21:34:42 1544 2

原创 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 1122 3

原创 Planning-碰撞检测之分离轴定理(SAT)

原文:dyn4j-SAT (Separating Axis Theorem)目录1. 原理2. 分离轴3. 凸多边形在分离轴的投影4. 计算**MTVMTVMTV**sat(分离轴定理)用来检测两个凸多边形是否相交,也可以用于检测点是否在凸多边形内。凸多边形内的点的连线上的点都在凸多边形内,或者连线只和图多边形相交两次(边界处)。1. 原理如果凸多边形在某个轴上的投影不重叠,则两个凸多边形不相交。需要对所有的轴(每个边的法向量)进行投影,存在一个轴上的投影不相交,则两个凸多边形不相交。如果所有.

2021-11-13 22:23:14 3435 2

原创 Chapter-1 智能网联汽车概述

本章节是综述,介绍了《智能网联汽车协同决策与规划技术》的研究内容。智能决策技术是指融合多传感器信息、根据驾驶需求而进行的控制决策,包括行为预测、任务决策、路径规划、行为决策等多个方面,是自动驾驶汽车的大脑。从空间尺度上,路径规划可以分为全局路径规划和局部路径规划;从时间尺度上,路径规划可以分为静态规划和动态规划,传统路径规划规划已经能够实现实时性不强的动态规划能力,比如躲避拥堵、路线调整等,而自动驾驶需要更加实时性的路径规划能力。行为预测能力成为智能决策技术的重大短板。从文中表述来看,“静态规划”和

2021-11-13 09:09:32 2322

原创 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 1310 3

原创 Control-车辆动力学模型

动力学主要研究作用于物体的力与物体运动的关系,车辆动力学模型一般用于分析车辆的平顺性和车辆操纵性的稳定性。对于车辆动力学,主要是研究车辆轮胎及相关部件的受力情况。比如纵向速度控制通过控制轮胎转速实现,横向航向控制通过控制轮胎转角实现。正常情况下,车辆上的作用力沿着三个不同的轴分布:xxx轴上的力:驱动力、制动力、滚动阻力和拖曳阻力。车辆绕xxx轴做滚动运动;yyy轴上的力:转向力、离心力和侧风力。车辆绕yyy轴做俯仰运动;zzz轴上的力:地面支持力、风压力。车辆绕zzz轴做横摆运动;在单车模

2021-11-10 18:46:21 5536

原创 Control-车辆运动学模型

1 单车模型(Bicycle  ModelBicycle \;ModelBicycleModel)根据一些假设,可以建立用于车辆侧向运动的运动学模型。这一模型以数学方式描述车辆运动而不考虑影响运动的力。运动方程是基于控制系统的几何关系建立的。做如下假设:不考虑车辆在ZZZ轴方向的运动,只考虑水平运动;左右侧车轮转角一致,将左右侧轮胎合并为一个轮胎;车辆行驶速度变化缓慢,忽略前后轴在载荷的转移;车身及悬架系统是刚性的。单车模型将左/右前轮合并为一个AAA点,将左/右后轮合并为一

2021-11-10 18:43:38 1002

原创 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 556

原创 Control-模型参考自适应控制(MRAC)

自适应控制可以在系统老化或者存在建模不确定性的情况下改善控制系统性能。自适应控制是一类处理不确定性系统的非线性控制方法,这些不确定性可能来自系统的动力学自身无法预见的变化或者外部的干扰。自适应控制系统可以广义地描述为能够基于被控对象所接受到的输入在线控制器设计参数,如控制增益,以适应系统不确定性的一种控制系统。其中,将可调参数成为自适应参数,将通过一组数学方程进行描述的调整机制称为自适应律。大多数情况下,典型的自适应律是非线性的。自适应控制的历史可以追溯到20世纪50年代初,但自适应控制由于其固有的非线性

2021-11-10 12:45:32 10013 8

原创 Control-模型预测控制(Model Predict Control,MPC)

模型预测控制(Model Predict Control)利用一个已有的模型、系统当前的状态和未来的控制量去预测系统未来的输出;这个输出的长度是控制周期的整数倍;由于未来的控制量是未知的,需要根据一定的条件进行求解,以得到未来的控制量序列,并在每个控制周期结束后,系统根据当前实际状态重新预测系统未来的输出。因此模型预测控制有三个关键步骤,分别是:预测模型、滚动优化和反馈校正。预测模型:预测模型是控制的基础,根据对象的历史信息和未来输入,预测系统未来的输出。预测模型有:状态空间方程、传递函数、阶跃响应

2021-11-10 12:01:03 14289 28

原创 PNC模块坐标系的一些思考

在自动驾驶系统中,会使用多种坐标系,比如WGS84,UTM,车体坐标系等,介绍各个坐标系的文章也很多,在此不再赘述。在这里对planing和control常用坐标系做一些简述。1 planning模块规划模块常用的坐标系分为曲线坐标系(Frenet)和笛卡尔坐标系(直角坐标系),其中笛卡尔坐标系分为UTM(统一横轴墨卡托)或者全局/世界坐标系和车体坐标系。地图模块一般是采用WGS84(经纬度信息)坐标系或者SL坐标系(OpenDrive)等,会转化为UTM坐标系提供给下游各个模块,包括plann

2021-11-09 23:01:21 809

自动驾驶轨迹跟踪控制Automatic Steering Methods for Path Tracking

自动驾驶车辆轨迹跟踪控制,讲解的pure pursuit、stanley method、车辆运动学/动力学模型、LQR控制及MPC控制。分析了各个控制方法在不同控制参数和工况下的控制效果,分析了不同控制方法的适用工况

2019-05-08

Model_Predictive_Control_System_Design_and_Implementation_Using_MATLAB_2009

讲解Model Predictive Control,并配有MATLAB程序,实例丰富,易于理解学习

2019-03-04

线性定常系统和线性时变系统的模型预测控制

自动控制领域大牛Alberto Bemporad博士课程“Model Predictive Control”讲义,讲解了线性系统的模型预测控制,并通过实例进行了仿真,讲义中附有MATLAB代码

2018-07-11

模型预测控制(model predictive control)

模型预测、自动控制领域大牛Alberto Bemporad的博士课程讲义,内容为MPC模型预测控制,讲解了MPC的基本概念,线性系统的MPC理论

2018-07-11

Identification,Analysis and Control of Dynamic System

控制系统领导大牛Alberto Bemporad讲义。线性系统分析(稳定性、可控性、可观性)和反馈控制系统分析和状态估计。系统识别(从数据中获取系统动态模型)。线性时变系统分析和控制

2018-07-11

空空如也

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

TA关注的人

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