代码解析
linxigjs
这个作者很懒,什么都没留下…
展开
-
代码解析之自行车模型在Apollo规划中的应用
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/duangduangduang)。希望大家可以多多交流,互相学习。...原创 2020-04-09 21:36:11 · 2014 阅读 · 0 评论 -
文献阅读之Voronoi图的生成与更新
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/duangduangduang)。希望大家可以多多交流,互相学习。...原创 2020-04-08 21:46:32 · 5050 阅读 · 4 评论 -
Baidu Apollo代码解析之path_bounds_decider
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。希望大家可以多多交流,互相学习。...原创 2020-03-11 23:04:21 · 4750 阅读 · 2 评论 -
Baidu Apollo代码解析之Open Space Planner中的平滑优化
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。目录1、Hybrid A*和平滑优化的效果对比2、Optimization Smooth...原创 2020-01-19 18:45:30 · 5891 阅读 · 9 评论 -
Baidu Apollo代码解析之Planning的结构与调用流程(2)
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。Apollo5.0的Planning模块是基于Scenario、Stage、Task这样的层次组织的,针对不...原创 2019-12-31 23:48:47 · 2164 阅读 · 0 评论 -
Baidu Apollo代码解析之Planning的结构与调用流程(1)
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。本文主要围绕 apollo/modules/planning/ 模块分析Apollo5.0是如何组织轨迹规划...原创 2019-12-30 23:01:25 · 3248 阅读 · 2 评论 -
Baidu Apollo代码解析之Open Space Planner中的Hybrid A*
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。目录1. 节点的定义2.Hybrid A*的规划主流程3. 碰撞检测4. ReedS...原创 2019-12-10 19:43:39 · 7592 阅读 · 1 评论 -
Baidu Apollo代码解析之EM Planner中的QP Speed Optimizer 2
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。上文添加优化问题的约束后,本文接着讲如何添加目标函数,即QpSplineStGraph::AddKernel...原创 2019-12-04 00:12:57 · 1542 阅读 · 1 评论 -
Baidu Apollo代码解析之EM Planner中的QP Path Optimizer 2b
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。本文是对Baidu Apollo代码解析之EM Planner中的QP Path Optimizer 2这篇...原创 2019-12-03 02:04:35 · 841 阅读 · 0 评论 -
Baidu Apollo代码解析之EM Planner中的QP Speed Optimizer 1
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。EM Planner 中的QP Speed Optimizer 和 QP Path Optimizer 大同...原创 2019-11-30 23:27:56 · 1747 阅读 · 0 评论 -
Baidu Apollo代码解析之EM Planner中的DP Speed Optimizer
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。SpeedOptimizer类继承自Task类,实现了继承来的Execute()函数,又在Execute()...原创 2019-11-28 00:27:49 · 2390 阅读 · 3 评论 -
Baidu Apollo代码解析之EM Planner中的QP Path Optimizer 3
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。本节主要分析optimization中的kernel,即要优化的目标,其实就是cost function,整...原创 2019-09-18 23:33:35 · 1259 阅读 · 0 评论 -
Baidu Apollo代码解析之EM Planner中的QP Path Optimizer 2
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。本节主要讲QpSplinePathGenerator::AddConstraint()和Spline1dCo...原创 2019-09-18 00:01:50 · 815 阅读 · 0 评论 -
Baidu Apollo代码解析之EM Planner中的QP Path Optimizer 1
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。QpSplinePathOptimizer 的入口函数在该类的Process(),在Process()中构造...原创 2019-08-16 10:10:18 · 2917 阅读 · 1 评论 -
代码解析之range_sensor_layer中costmap更新的方法和模型(一)
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。在ROS Navigation中,costmap_2d定义了代价地图,range_sens...原创 2018-03-19 22:35:07 · 4268 阅读 · 1 评论 -
代码解析之grid_map库grid_map_core工程(一)——GridMapMath文件
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。做占用栅格地图的话,相对于ROS中采用的costmap_2d,本文介绍的grid_map的兼...原创 2018-03-30 17:30:04 · 4412 阅读 · 0 评论 -
代码解析之grid_map库grid_map_core工程(二)——move功能
grid_map库的说明中,强调了因为该库采用了circular buffer的数据结构,使得地图移动时无需重新分配内存空间、无需移动和复制内存数据,即可保存新的地图数据,大大提高了效率。本文主要分析该功能的实现原理——move。头文件中声明如下: /*! * Move the grid map w.r.t. to the grid map frame. Us...原创 2018-04-03 13:46:11 · 1517 阅读 · 0 评论 -
代码解析之range_sensor_layer中costmap更新的方法和模型(二)
隔了一段时间回头再看costmap的更新,结合自己使用gridmap的经历,发现costmap中那么多代码无非是做2件事情,一是限定传感器探测扫描过的区域大小和边界(即后续要更新的区域),二是根据传感器模型和贝叶斯方法计算上述区域中所有栅格的更新后的被占据概率。 costmap中使用的是扇形传感器模型,认为传感器的探测区域是一个以sensor为中心的一定视场角的扇...原创 2018-04-24 09:56:04 · 1802 阅读 · 0 评论 -
Baidu Apollo代码解析之s-t图的创建与采样(path_time_graph)
百度Apollo中使用Frenet坐标系下的s-t图来帮助分析障碍物的状态(静态、动态)对于自车轨迹规划的影响。典型的如Lattice Planner中,在s-t图中绘制出障碍物占据的s-t区间范围,便可以在范围外采样无碰撞的轨迹点(end condition),然后拟合和评估轨迹,选取最优的输出。在s-t图中,静态障碍物是矩形块表示,因为直观的,随着时间推移,其s轴位置始终不变;动态障碍物是...原创 2019-05-30 09:46:54 · 7128 阅读 · 1 评论 -
Baidu Apollo代码解析之碰撞检测
在Lattice Planner中,需要对1D横纵向轨迹结合(combine)后形成的2D轨迹做限制检测(速度、加速度等)和碰撞检测。碰撞检测由CollisionChecker类完成,文件路径:apollo\modules\planning\constraint_checker\collision_checker.cc。碰撞检测主要是遍历每个障碍物的预测轨迹的每个轨迹点、遍历自车规划轨迹的每个轨迹...原创 2019-05-30 10:11:44 · 3092 阅读 · 1 评论 -
Baidu Apollo代码解析之Lattice Planner
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。Apollo中提到了几种轨迹规划方法,这里简要介绍Lattice,主要思路可以参考这一篇博文,我为了自己方便...原创 2019-05-30 10:26:39 · 3187 阅读 · 0 评论 -
Baidu Apollo代码解析之predicition-container
Apollo中预测模块的任务是预测n秒内障碍物可能的运动轨迹,是以评估每条Lane Sequence的概率然后筛选进行的。预测模块由3个部分组成:Container,Evaluator,Predictor。而Container又分为3种:PoseContainer,ADCTrajectoryContainer,ObstaclesContainer。Container主要是用来存储数据的,不同C...原创 2019-05-31 11:17:17 · 1030 阅读 · 0 评论 -
Baidu Apollo代码解析之轨迹规划中的轨迹评估代价函数
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。Baidu Apollo中包含了2种轨迹规划方法:Lattice Planner 和 EM Planner。...原创 2019-08-07 22:34:28 · 3126 阅读 · 6 评论 -
Baidu Apollo代码解析之EM Planner中的DP Path Optimizer
大家好,我已经把CSDN上的博客迁移到了知乎上,欢迎大家在知乎关注我的专栏慢慢悠悠小马车(https://zhuanlan.zhihu.com/c_1132958996826546176)。以后,我会把日常的思考放在CSDN上,梳理过的精华文章放在知乎上,希望大家可以多多交流,互相学习。apollo中的EM Planner采用优化的思路做轨迹规划,并将轨迹分为path和speed 2部分,分别...原创 2019-08-14 22:25:17 · 4155 阅读 · 1 评论 -
rplidar_ros代码解析之角度补偿
if (angle_compensate) { const int angle_compensate_nodes_count = 360; const int angle_compensate_multiple = 1; int angle_compensate_offset =...原创 2018-03-19 20:24:02 · 2003 阅读 · 0 评论