自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (1)
  • 收藏
  • 关注

原创 LanguageMPC:将大模型作为自动驾驶的决策者(一)

本文的架构是利用LLM来分析和推理各种场景,提高high-level的决策,并通过调整参数矩阵转换为low-level的底层控制信息输送给MPC。由于情况是预定义的,因此可以直接调整到相应的权重矩阵,从而来提供加速减速或转向的指导。因此LLM系统通过辨别车辆的意图与优先路权,并判断是否与自车有冲突的可能,最终有可能冲突的车辆则是我们需要注意的,从而形成。LLM处理复杂和广泛的数据通过一个思维链的框架,思维链通过一系列的工具来串联,工具让LLM在决策过程中遵循每次只获取。总之,LLM拥有推理能力,

2024-03-27 21:55:08 395

原创 自动驾驶轨迹规划之时空语义走廊(一)

城市道路轨迹规划的难点在于有很多语义元素。不同的语义元素有不同的数学表征形式,提出了一种新的统一的时空语义走廊来为不同类别的语义元素来提供abstraction,可以推广到任何语义元素组合的场景。SSC由一系列互相连接的无碰撞cubes组成,其中包含了动态约束,并且轨迹生成问题可以归结于一个QP问题,并且通过贝塞尔曲线来保证轨迹安全性和可行性。

2024-03-23 19:20:14 740

原创 自动驾驶轨迹规划之碰撞检测(四)

圆的性质是圆心到圆周各点等距,这非常适合碰撞检测,如果两个物体能近似为圆,那么两个物体之间是否碰撞,则可以利用两个圆心之间的距离是否大于半径之和就可以判断,但是大部分物体若用圆去近似将产生较大的冗余部分,因此针对汽车,一篇2010年的IEEE IV提出通过多个圆去覆盖车辆,这个方法极大地提高了自动驾驶汽车碰撞检测的计算速度,也是现在广泛使用的方法

2024-03-05 17:14:39 1167

原创 自动驾驶预测与决策规划(基于运动模型的预测)

Constant Velocity 模型:假设目标做匀速直线运动,再恒定速度的基础上加上高斯分布的噪声这是CV模型的连续表达形式与离散表达形式对于二维来说,CV模型比之前的一维模型复杂一些,可以看作两个方向的合成(矩阵的拼接)在代码中一般通过离散形式去simulate,这是一个CV模型的Python示例由右图可知,CV模型在遇到时效果较差、

2024-03-05 17:06:41 945

原创 自动驾驶预测与决策规划(nuplan数据集)

nuPlan是。虽然基于机器学习的运动规划算法越来越多,但由于缺乏成熟的数据集、模拟框架和指标,限制了这一领域的进展。现有的自动驾驶汽车运动预测基准()侧重于其他智能体的。这导致以前的工作使用,这不适合公平地评估长期规划。nuPlan提供了一个训练框架来开发一个、一个轻量级的,、一个运动规划的和一个可视化结果的。

2024-03-05 16:47:37 1199

原创 自动驾驶轨迹规划之kinodynamic planning

kinodynamic是一个合成词,由运动学与动力学组成这样的一个规划问题是受限于运动学约束:如避障、高阶微分模型。受限于动力学约束:如状态量控制量有界。

2024-02-12 15:54:08 1084

原创 自动驾驶轨迹规划之碰撞检测(三)

inflation_layer:膨胀层,用于在障碍物外标记一层危险区域,在路径规划时需要避开该危险区域当你选用了footprint,那么膨胀层就没有意义了,因为只有你是圆形的,障碍物才能进行有意义的闵可夫斯基和运算同时footprint是利用多边形计算代价,在耗算力,如果为了节省算力,可以用圆,冗余的部分当做缓冲就行如果你发现怎么调膨胀距离都会碰,因为膨胀层仅在圆形时有效,因此为了使用有安全距离的footprint,必须直接扩大footprint通过下图来认识下为何要设置膨胀层以及意义:

2024-01-17 00:42:43 1073

原创 自动驾驶轨迹规划之碰撞检测(二)

而具身足迹的意思则是在两个离散点之间自动驾驶汽车自身所覆盖的足迹,这并不是一个新的概念,计算机图形学中的扫掠体与这个具身足迹的意义相同。李柏老师用矩形框去近似具身足迹,也就实现了连续碰撞检测,但是有些保守,不适合狭窄空间,但是安全性较好,具体结合曲率去分析这个具身足迹的性质可以参考原文

2024-01-16 23:43:42 1670

原创 自动驾驶轨迹规划之碰撞检测(一)

这种方法是游戏中或物理引擎中常用的,AABB是指一个东西的包围盒,但是它横平竖直的,而OBB是会随着这个东西而旋转,包围盒始终不变,显然AABB相对保守但是后续计算简单,OBB更精确但是后续计算复杂。当对于两个凸边形是否相交,又可以转换为是否凸边形的每个顶点都在另一个凸边形之外,那么判断一个点是否在凸边形之外的计算几何算法就有很多,比如。对于自动驾驶汽车或机器人的路径规划,碰撞检测是其中非常重要的一个模块,因为碰撞检测不仅仍然是路径规划中的。受益于多边形的性质,对于两个都是多边形的物体,

2024-01-16 22:56:33 1611

原创 机器人中的数值优化之罚函数法

由于L1-罚函数非光滑,因此无约束优化问题P的收敛速度无法保证,这实际上就相当于用牺牲收敛速度的方式来换取优化问题P的精确最优解。,如在1e-2~1e-3之间可接受。约束违背量不要求特别小时可采用。除了直接一步到位,还可以。

2023-12-29 22:42:52 1087

原创 机器人中的数值优化之无约束优化

欢迎大家关注我的B站:偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com)本文ppt来自深蓝学院《机器人中的数值优化》

2023-12-28 21:24:14 777

原创 机器人中的数值优化之牛顿共轭梯度法

如何解决Hessian矩阵非正定的情况求解线性系统需要很精确么引入截断的机制,如果Hessian矩阵不是正定的,而且是初始位置,说明刚开始用共轭梯度的效果很差,所以直接把搜索方向改为负梯度方向,到达一个相对较好的初始位置否则直接break,因为如果此时用共轭法可能会让函数上升

2023-12-28 21:11:20 778

原创 机器人中的数值优化之线性共轭梯度法

hessian矩阵需要n方的复杂度,逆需要n三次方的复杂度,我们求解d需要hessian矩阵的逆hessian与向量的乘积经过泰勒展开的简化可以变为只需求两次梯度

2023-12-28 20:42:11 1357

原创 机器人中的数值优化之L-BFGS

对于strong wolfe conditions来说,非凸函数会导致条件失败,因为非凸。通过右侧框图中的算法流程可以把复杂度从n方降到n,具体细节可以阅读论文。想要实现应用于非凸非光滑函数的BFGS,需要在BFGS的基础上加上。对于非凸光滑的函数,L-BFGS是最优的,对于非凸非光滑函数,L-BFGS也可以应用。这也就是所谓limited-memory。来实现每次迭代只利用m+1对。当迭代点之间相隔很远,不是很有用,同时为了。

2023-12-28 17:19:03 901

原创 《密集环境下编队飞行的分布式集群轨迹优化》论文解读二

参数映射通过线性时间复杂度与空间复杂度将轨迹转化,使代价函数可以二阶连续为了解决时间积分约束,如避障和动态可行性,通过采样将其转化为有限维度约束

2023-12-18 16:39:36 848

原创 《密集环境下编队飞行的分布式集群轨迹优化》论文解读一

一个机器人编队可以被建模为一个无向图,每个机器人可以与其他机器人通信,因此图是完备的,图中edge的值是两个机器人之间的距离的平方A是邻接矩阵,D是度矩阵,L是拉普拉斯矩阵,同时对其进行。

2023-12-15 00:47:21 511

原创 汽车底盘构造之离合器

(4)操纵机构:分离杠杆、分离杠杆支承柱、摆动销、分离套筒、分离轴承、离合器踏板。分离间隙:离合器彻底分离后,从动盘工作端面与飞轮及压盘表面间的间隙。按螺旋弹簧布置方式分类:周布螺旋弹簧离合器、中央弹簧离合器。自由间隙:离合器接合时,分离轴承端面与分离杠杆端头间的间隙。自由行程:从踩下离合器踏板到自由间隙消除所对应的踏板行程。(2)从动部分:从动盘、从动轴(即变速器第一轴)按压紧弹簧分类:膜片弹簧离合器、螺旋弹簧离合器。分离过程:首先消除自由间隙,然后产生分离间隙。(1)主动部分:飞轮、压盘、离合器盖。

2023-12-04 01:25:17 541

原创 Apollo control之PID算法

为实现PID控制,我们可以利用离散的PID控制来实现,当采样时间足够短时,也能保持较好的性能,公式如下。同时项目中还要求写一个 reset 的函数,我们需要更新下面这四个参数来保证从头开始。需要注意的点就是积分初始值为0、微分初始值为0。

2023-02-02 20:10:24 1552 1

原创 Apollo planning之参考线平滑算法

输入raw_reference_line,设置中间点(GetAnchorPoints),然后smooth,最后输出。lateral_bound、longitudinal_bound代表裕度,enforced代表是否是强约束。离散点平滑算法也是基于评价函数来做的,分别衡量。这里是对参考线平滑算法进行配置,对于平滑度的衡量有两种方式。参考线平滑算法主要有三种。同时还需要满足约束条件。这是中间点的配置文件。

2023-02-02 20:00:47 4744

原创 Apollo planning之交规决策技术

modules/planning/conf/scenario/traffic_light_protected_ config.pb.txt中进行定义。有Routing、Prediction、Location、Perception等等module,这作为决策模块的输入。前面遍历配置的信息都存储到ReferenceLineInfo中,A p o l l o 对 交 通 规 则 的 处 理 是。中设置的交通规则,处理后相关信息存入。路径上过近的车辆,较为拥挤的道路。的情况进入不同的Scenario。

2023-02-02 18:52:49 2636 2

原创 机器人中的数值优化之BFGS(nonconvex and smooth)

这是cautious update,一般在。当我们需要搜索方向是下降方向时,一定要让。,这就需要满足wolfe条件。首先需要满足充分下降条件,,当离最优解很近时没必要。

2023-01-31 17:43:10 868 3

原创 机器人中的数值优化之修正阻尼牛顿法

当函数是二次型时,近似没有起到效果,迭代的过程就是求解原函数最优解的过程,因此当然。当遇到hessian矩阵不是正定时,我们需要。将牛顿法与最速下降法相比,,否则会出现上述两种情况,,具体的数学推导请参考。,具体的数学推导请参考。

2023-01-28 18:02:46 1195

原创 机器人中的数值优化之最速下降法

梯度方向是函数上升最快的方向,而负梯度方向则是函数下降最快的方向,因此。如果采用衰减步长迭代,可以保证收敛,但是随着步长越来越短,收敛越来越慢。如果采用恒定步长迭代,将导致不停的震荡,始终无法收敛。非精确线搜索:我们不希望再求解子优化问题,也就是。前面我们讨论了迭代方向如何选择,现在讨论。,对于条件数,不清楚的读者可以参考。而这里也采用了一种二分的方法,当。这里我们还需要考虑条件数的问题,对于次梯度的介绍,读者请参考。时,就可以停止二分,取此步长。,但实际上这导致我们又。

2023-01-28 16:48:55 1223 2

原创 自动驾驶控制算法之车辆横向控制(project)

在理解算法时可能没有关注到上述两个量的正负,但是用代码实现时,这是非常重要的问题。横向误差:因为当一辆车在参考轨迹的右侧和左侧,转向角必须做出相反的反应,这里通过向量叉乘判断车在参考轨迹的哪一侧。航向误差:会涉及到的问题就是需要把两角之差限制到-pi~pi,因为原始角度会出现差2*k*pi是代表一样的角度,导致把多出来的2*k*pi附加到转向角中

2023-01-19 11:28:36 2497 5

原创 自动驾驶控制算法之车辆纵向控制(project)

本文为深蓝学院-自动驾驶控制与规划-第二章作业。本项目希望大家根据PID控制方法实现一个巡航控制系统。我们已经为大家开发了ROS1.0的系统框架,仅需要大家实现.cpp文件中的todo部分,即 control 实现以及 reset PID参数。

2023-01-17 20:56:52 2140 1

原创 自动驾驶控制算法之概况介绍

本文PPT来自深蓝学院《自动驾驶控制与规划》

2023-01-05 14:26:23 671

原创 机器人中的数值优化之凸函数

条件数:存在hessian矩阵的函数,作奇异值分解,最大的奇异值除最小的奇异值就是条件数,可导但没有二阶信息的函数,通过利普希茨常数与强凸函数的常数的比值得到条件数,对于一般的不可微的函数,构造等高线,长轴与短轴之比为条件数。条件数决定了我们需不需要在优化算法中利用函数的高阶信息

2023-01-01 23:07:33 1374

原创 机器人中的数值优化之函数高阶信息

hessian矩阵是对称矩阵,最后一个公式是函数关于0的泰勒展开 负梯度是函数下降的最快方向注意区分Hessian矩阵与Jacobian矩阵,Hessian矩阵对应的函数是向量映射到标量,矩阵元素是二阶信息,而Jacobian矩阵对应的函数是向量映射到向量,矩阵元素是一阶信息。 上述几种不同的高阶信息是由于函数映射中X、Y的不同类型导致导数的形式不同Matrix calculus - HandWiki用两种方法计算梯度,一种是元素法,一种是向量法

2023-01-01 21:23:30 383

原创 机器人中的数值优化之凸集

集合中任意两点连线形成的线段属于这个集合,这个集合是凸集。注意:是否是凸集,集合的边界是否属于这个集合很重要这涉及到构造最小凸包的问题。上面列出的超平面、半空间等等都是凸集的典型代表锥不一定是凸集,比如锥的横截面是非凸集合,那么锥也是非凸的。上面的二阶锥是通过增加一个维度产生的。半正定的锥为何是凸集可以利用在集合中取A,B,证明他们的凸组合仍然在这个集合里。2 凸集的运算凸集的并集不一定是凸或非凸,凸集的交集一定是凸集。凸集的sum与product一定是凸集。

2023-01-01 20:09:49 1141

原创 机器人中的数值优化之基本概念

目标函数不能存在负无穷的值,这样会使得最小值无法在计算机中用浮点数表示,最小值可以很小但必须有界,也就是上述的 lower bounded。sub-level sets就是下水平集,此时要求目标函数不能存在当x趋于无穷时函数趋于某个值即下水平集无界,这同样会导致最小值无法用浮点数表示

2023-01-01 19:33:18 945

原创 rosdep update遇到ERROR: error loading sources list: The read operation timed out问题

添加到脚本中的download_rosdep_data()函数中,以应用ghproxy代理服务(可能不在311行,要找到对应函数名)里面DEFAULT_INDEX_URL的参数,将网址改为。

2022-12-29 16:08:36 1042

原创 Ubuntu安装python解析器遇到问题: 软件包 python没有可安装候选

说明Ubuntu的版本相对较高,应该下载python3的解析器。会出现如下情况,软件包python没有可安装候选。古月居老师给的安装指令为。在终端输入,就可以成功。

2022-12-28 23:32:32 4658 4

原创 路径规划算法之刚体变换

1 一般概念假设刚体机器人a被定义为R2或R3的一个子集。刚体变换是一个函数,它将A的每一点映射到W,有两个要求:1)A的任意两点之间的距离必须保持,2)A的方向必须保持(没有“镜像”)。对于某a∈A, h(a)表示W中被a“占据”的点。这是h的像,表示变换后的机器人占据W中的所有点。1.1 基元的变换上述是一整个刚体进行变换,但是对于一个复杂的机器人,我们通常用多个基元的组合来定义,如因此变换的函数如下如果利用逆映射,则变换的函数如下1.2 一个参数化的变换族。

2022-11-30 13:56:33 1356 1

原创 路径规划算法之几何建模

对于运动规划,如何对机器人和环境进行几何建模是非常重要的内容。几何建模的方法和技术多种多样,具体的选择通常取决于应用和问题的难度。在大多数情况下,通常有两种选择:边界表示与实心表示。首先介绍凸集,当且仅当,对于X中的任何一对点,连接它们的线段上的所有点都包含在X中。因此,x1和x2之间的插值总是在X中产生点。直观地说,X不包含口袋或缩进。不仅可以用多项式来定义f ,一个流行的基元是超二次元,它概括了二次曲面。一个例子是超椭球体广义圆柱是普通圆柱的推广。

2022-11-28 13:10:02 2887

原创 《移动机器人运动规划与集群协同》直播要点总结

在移动机器人领域往往进行模块化的开发,自主导航系统的功能分为感知、规划、控制,明确他们之间的输入输出关系。在信息共享的基础上就能进行协同导航,从而单机系统延伸为集群系统。研究现状:目前的无人机单机系统运行速度慢,只能应对比较稀疏的简单环境。对本身系统的建模,需要对物理系统的动力学系统精准描述,同时又需要对环境进行建模,从感知中得到的数据怎么处理成规划模块读得懂的数据结构是一个非常重要的问题。规划等于开环的控制,控制等于闭环的规划。这是对于初学者值得思考的一个问题。

2022-11-13 01:47:34 1046 1

原创 Apollo planning之hybrid A*

hybrid_a_star的目标是在开放空间中产生粗轨迹。Hybrid_a_star包含 node3d、grid_search、reeds_shepp_path和hybrid_a_star。hybrid_a_star是产生粗轨迹并调用grid_search和reeds_shepp_path的最重要组件。输入:当前点(计划起点),目标点(计划终点),ROI_xy_boundary(x和y的最大和最小边界值),障碍物顶点矢量(顶点位置信息)。

2022-10-21 17:25:48 2942

原创 Apollo planning之RuleBasedStopDecider

基于规则,碰到以上三种情况,会进行停止决策

2022-08-15 14:35:13 1216 1

原创 Apollo planning之PiecewiseJerkPathOptimizer

路径规划是自动驾驶汽车运动规划的关键组成部分。路径指定车辆将行驶的几何形状,因此,安全性和舒适性是至关重要的。对于城市驾驶场景,自动驾驶汽车需要能够在杂乱无章的环境中导航,例如,道路部分地被许多车辆/障碍物挡住。如何去生成一个运动学可行、平滑的、并且能够在复杂环境中避障的路径,这是路径规划中极具挑战的问题。在这篇论文中,我们提出了一个能生成最优路径的新颖的二次规划方法,这是以一定分辨率来完全避障的方法。.........

2022-08-15 14:08:02 2820

原创 Apollo planning之PathDecider

在上一个任务中获得了最优的路径,PathDecider的功能是根据静态障碍物做出自车的决策。而在MakeObjectDecision函数中调用了。都在MakeStaticObstacleDecision中。中获得了最优的路径,PathDecider的功能是。Process函数的主要功能是。是循环体的主要内容,主要功能是。......

2022-08-15 11:18:28 1024

原创 Apollo planning之PathBoundsDecider

PathBoundsDecider类,,路径边界决策主要的就在Process方法中。Decider类继承了,,并且执行方法。和上述的方法相对应Task类,定义类,是路径边界决策的输入。

2022-08-14 21:21:32 1900

深蓝学院-自动驾驶控制与规划-第三章作业-完整代码

深蓝学院-自动驾驶控制与规划-第三章作业-完整代码,采用ROS框架,系统框架已经完全搭建好,只需要完成stanley_control.cpp中的 todo 部分,进行编译就能与LGSVL进行联合仿真

2023-01-19

数学模型与数学建模课程ppt

利于数学建模的入门,掌握基本数学模型

2022-04-10

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

TA关注的人

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