自动驾驶算法与仿真技术
文章平均质量分 88
自动驾驶算法与仿真技术
自动驾驶Player
分享自动驾驶感知预测决策规划控制算法,分享Apollo决策规划控制算法代码解析,分享Apollo规控算法仿真调试分析,分析自动驾驶从业经验。
展开
-
carla与ros2的自动驾驶算法-planning与control算法开发与仿真
carla与ros2的自动驾驶算法-planning与control算法开发与仿真。原创 2023-03-11 16:09:53 · 3354 阅读 · 4 评论 -
自动驾驶技术综述2:自动驾驶决策规划模块算法介绍
Planning模块的作用相当于理解传感器以及高精地图模块等上游的“感知系统”获得的感知信息,并且在当前周期内进行思考并做出判断,然后把计算好的轨迹信息传递给下游模块进行控制指令的分解以及控制信号的计算。现实世界中的规划面临多种约束。上图为开源的Apollo系统中Planning模块的运行过程,可以看到apollo的Planning模块就是首先确定当前自车所处在的场景scenario,然后判断在当前场景下处在什么状态stage下,最后调用一系列task进行behavior的判断从而完成决策过程。原创 2022-11-06 22:12:48 · 4272 阅读 · 4 评论 -
自动驾驶技术综述1:自动驾驶算法软件架构介绍
自动驾驶技术是一个庞大的工程体系,软件架构、功能算法、控制规划、感知识别、建图定位、电气架构、车载控制器、验证体系等等,有太多的角度可以去切入。对于自动驾驶功能与算法开发,自动驾驶功能的分级是很重要的,自动驾驶的功能衍变就是随着自动驾驶功能的分级推进而不断发展。决策规划相当于人类的大脑,处理感知或得的信息,并做出决策;以上的软件架构图是目前主流L2功能的架构图,随着自动驾驶功能向着L3迈进以及NOP等L2.5 功能的出现,自动驾驶软件架构也出现了进一步的发现,目前主流的NOP架构可以参考下图。原创 2022-09-04 21:54:32 · 9874 阅读 · 4 评论 -
自动驾驶算法详解(8):特斯拉Tesla决策规划算法Planning解析下
通过tesla的介绍可以发现,tesla的决策规划算法的执行逻辑与人类驾驶员很相似,不仅是简单的优化求解,更多时候在求解轨迹时,有对目标障碍物进行预测,并根据预测的结果进行博弈的过程,这样可以使同行效率更高,整个自动驾驶的运行过程更加智能。特斯拉的算法确实有可取之处,但是目前国内的很多新势力、自动驾驶公司在城市工况的自动驾驶算法领域,也有深入的实践与技术积累,在一些公开测试中也取得了不错的表现,大家也要对我们的国产自动驾驶技术报以信心,在很多层面我们表现都很出色。自动驾驶算法立即改变主意,并继续向前行驶。.原创 2022-07-17 19:57:24 · 1872 阅读 · 0 评论 -
自动驾驶算法详解(7):特斯拉Tesla决策规划算法Planning解析上
本文将介绍特斯拉Tesla 在AI Day 上提到的决策规划模块Planner。同人类驾驶员一样,Planner在接收到经过视觉神经网络处理过的3D Vector Space后,将会在该Space进行搜索判断,从而找到一条轨迹可以最大限度地提高汽车的安全性、舒适性和效率,将车辆规划至目的地。作为最早布局自动驾驶的厂商,Tesla早期的Planner已经可以很好的在高速公路或者是城市快速路段进行规划,包括单车道的车道保持、导航变道、主动超车、自动上下闸道也都经受了量产的考验...原创 2022-07-03 19:19:05 · 3315 阅读 · 0 评论 -
自动驾驶工具链(1): Vscode中推荐的Git插件
Vscode 作为轻量化的调试工具深受广大开发者的青睐,虽然大家都用它来看新闻逛论坛炒股,但是用它开发算法确实方便;Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,Apollo代码的版本就算使用Git进行管理。...原创 2022-06-18 12:00:31 · 6468 阅读 · 0 评论 -
自动驾驶算法详解(6):Astar算法原理以及路径规划应用在python与ros平台实现
一、算法原理Astar算法流程图如下: Astar算法是一种图形搜索算法,常用于路径规划。它是个以广度优先搜索为基础,集Dijkstra算法与最佳优先(best fit)算法特点于一身的一种算法。Astar算法从起点开始向周围扩张,通过估计函数不断计算周围相邻点的cost,并选择cost最小的节点作为下一次进行扩张的节点,按此规则一直循环直到搜索到终点。其中每个扩展节点对应的估值函数记为:f(n) = g(n) + h(n)g(n) 表示当前节点的实际代价函数;h(n) 表示当前节点至目标节点的估值函数,常原创 2022-06-01 00:23:34 · 2138 阅读 · 0 评论 -
自动驾驶算法详解(5): 贝塞尔曲线进行路径规划的python实现
一、理论知识1、路径规划定义路径规划智能物流、无人驾驶等智能领域中重要的组成部分。路径规划的目标是实现从目的地到终点之间寻找一条安全(无碰撞)、高效(最短距离或 最短时间)的一条最优或接近最优的路径。在自动驾驶算法中,路径规划一般特指局部路径规划,即规划一条路径,引导自车从当前位置驶向导航routing模块期望的位置。自动驾驶中路径规划不仅要考虑一条安全(无碰撞)、高效(最短距离或 最短时间),还应该考虑自车动力学的约束,以及曲线的平滑。贝塞尔曲线是一种常用的求解自动驾驶规划路径的方法。原创 2022-05-15 17:08:12 · 3300 阅读 · 0 评论 -
自动驾驶算法详解(4): 横向LQR、纵向PID控制进行轨迹跟踪以及python实现
前言:在量产ADAS或者自动驾驶算法中,横纵向控制往往都是分开控制的,上一篇文章中介绍了如何使用LQR同时进行横纵向的控制,本文将介绍一种横纵向分开控制的思路,将使用LQR算法进行横向控制,同时使用PID算法进行纵向控制。这种方法在很多自动驾驶科技公司比较常见,百度apollo的控制节点conrol也是使用同样的思路。如果对自动驾驶算法感兴趣,可以关注我的主页和专栏。https://blog.csdn.net/nn243823163/category_11685852.htmlhttps://b原创 2022-05-06 20:11:03 · 9521 阅读 · 0 评论 -
Apollo规划决策算法仿真调试(1): 使用Vscode断点调试apollo的方法
前言Vscode 作为轻量化的调试工具深受广大开发者的青睐,虽然大家都用它来看新闻逛论坛炒股,但是用它开发算法确实方便。Apollo作为成熟的自动驾驶系统被广泛使用,但是关于它调试代码的方法却介绍很少,相信大家也一定希望可以在apollo代码中打断点,来看程序执行过程中的变量以及逻辑,本文将介绍如何使用Vscode打断点调试apollo。如果对自动驾驶规划、控制、apollo算法细节、感知融合算法感兴趣,可以关注我的专栏:Apollo决策规划模块代码详解最新文章推荐:LQR算法进原创 2022-04-27 23:09:05 · 4920 阅读 · 17 评论 -
自动驾驶算法详解(3): LQR算法进行轨迹跟踪,lqr_speed_steering_control( )的python实现
前言:LQR算法在自动驾驶应用中,一般用在NOP、TJA、LCC这些算法的横向控制中,一般与曲率的前馈控制一起使用,来实现轨迹跟踪的目标,通过控制方向盘转角来实现横向控制。本文将使用python来实现 lqr_speed_steering_control( ) 轨迹跟踪算法的demo,通过同时控制转角与加速度来实现轨迹跟踪。如果对自动驾驶规划、控制、apollo算法细节、感知融合算法感兴趣,可以关注我的主页:https://blog.csdn.net/nn243823163/category原创 2022-04-27 18:01:54 · 7778 阅读 · 0 评论 -
Apollo Planning决策规划算法代码详细解析 (5):规划算法流程介绍
Apollo Planning决策规划系列文章:Apollo Planning决策规划代码详细解析 (1):Scenario选择Apollo Planning决策规划代码详细解析 (2):Scenario执行Apollo Planning决策规划代码详细解析 (3):stage执行Apollo Planning决策规划代码详细解析 (4):Stage逻辑详解之前的章节介绍了planning模块的整体框架,经过scenario与stage的选择,便进入了具体的task任务...原创 2022-03-30 18:08:14 · 5254 阅读 · 6 评论 -
Apollo Planning决策规划算法代码详细解析 (4):Stage逻辑详解
Apollo Planning决策规划系列文章:Apollo Planning决策规划代码详细解析 (1):Scenario选择Apollo Planning决策规划代码详细解析 (2):Scenario执行Apollo Planning决策规划代码详细解析 (3):stage执行之前的章节讲到,Apollo在每个palnning周期首先决策当前处于哪个场景Scenario下面的哪个状态stage当中,本章节以最常用的LaneFollowStage为例,介绍了Stage如何注册task,以及原创 2022-03-24 15:23:03 · 3093 阅读 · 6 评论 -
Apollo Planning决策规划算法代码详细解析 (3):stage执行
Apollo Planning决策规划系列文章:Apollo Planning决策规划代码详细解析 (1):Scenario选择Apollo Planning决策规划代码详细解析 (2):Scenario执行通过之前章节的介绍,在经过Scenario的决策与执行之后,Apollo已经可以确定目前处于对应场景下的对应stage,接下来就进入stage类的内部,通过Process() 函数来进行具体的规划过程。本章节将以 LANE_FOLLOW 场景的 LANE_FOLLOW_DEFAULT_S..原创 2022-03-23 19:26:01 · 3969 阅读 · 5 评论 -
Apollo Planning决策规划算法代码详细解析 (2):Scenario执行
上一章节讲Scenario的决策逻辑,当确认当前Scenario后,本章节继续深入讲解在代码中,Scenario的执行过程。Scenario的Process()函数根据配置文件顺序执行stage,并判断目前处于哪个stage。当确认好stage后调用该stage对应的Process()函数,来进行具体的规划任务。码字不易,喜欢的朋友们麻烦点个关注与赞。在本文你将学到下面这些内容:Scenario的Process()函数的作用于调用方式; Scenario对象的初始化方法; 如何给每个Scen原创 2022-03-23 14:51:38 · 4748 阅读 · 0 评论 -
Apollo Planning决策规划算法代码详细解析 (1):Scenario选择
本文重点讲解Apollo代码中怎样配置Scenario以及选择当前Scenario,Scenario决策是Apollo规划算法的第一步,本文会对代码进行详细解析,也会梳理整个决策流程,码字不易,喜欢的朋友们麻烦点个关注与赞。在本文你将学到下面这些内容:规划器planer的种类; 规划器planer的主要函数及逻辑; 场景管理类ScenarioManager的运行机制; 场景注册方法; 场景决策流程,如何选择当前场景 详细的apollo决策规划代码分析代码具体过程如下:1、Scenar原创 2022-03-22 18:11:59 · 14257 阅读 · 5 评论 -
自动驾驶算法详解(1) : Apollo路径规划 Piecewise Jerk Path Optimizer的python实现
本文作为Apollo Planning决策规划代码详细解析系列文章的补充,将使用Python代码以及anaconda环境,来实现Apollo 决策规划Planning 模块里的 Piecewise Jerk Path Optimizer算法。Piecewise Jerk Path Optimizer算法以上游模块决策的path bound,参考线reference line,规划起点start point为基础,通过在凸空间里将规划问题构建为二次优化问题,调用OSQP 库的求解器进行二次规划问题求解,.原创 2022-04-08 00:08:51 · 9551 阅读 · 13 评论