- 博客(111)
- 收藏
- 关注

原创 《【一看就会】Autoware.universe的“规划”部分源码梳理》系列文章目录(持续更新中)
第零章:Planning综述第一章:【一】全局路径生成模块——mission_planner第二章:【二】路径行为规划模块——behavior_path_planner第一部分——behavior_path_planner模块第三章:【二】路径行为规划模块——behavior_path_planner第二部分——behavior_path_planner_common模块(1)第四章:【二】路径行为规划模块——behavior_path_planner第三部分——behavior_path_plan
2025-02-18 10:06:16
1155
原创 【一看就会】Autoware.universe的绕障路线的安全检查
在autoware中,静态绕障路线在生成过程中,会有很多的安全检查。主要可以分为路线生成时,和路线生成后。大家有时会看到,明明已经规划出了绕障路线,但是路线却是红色的,这意味着路线生成后没有通过安全检查,导致路线不可通行。我们本章探讨的都是static_obstacle中的绕障路线内容哈。
2025-04-01 09:00:00
253
原创 【一看就会】lanelets2中相关函数的使用(持续更新)
在autoware智驾系统,以及其余智驾领域的算法,都离不开高精地图,而lanelet2作为高精地图最常用的保存格式,其中的各种库函数使用起来很是方便,本文便结合autoware系统,对相关函数进行了整理。用到啥补充啥。
2025-03-28 17:27:57
817
原创 【一看就会】Autoware.universe的静态绕障路线的相关参数修改
autoware中的静态绕障路线有点太长了,看到障碍物后提前很多开始绕障,并且绕完之后会很远才能回去。对于这个绕障路线,有些参数可以修改,将其缩短,本文进行总结。需要注意的是,这部分参数如果修改的太小,就无法生成一条可行的路径,需要注意。关于绕障线路的计算和逻辑,在官方文档中讲的很清楚,本文主要是在代码中的修改进行补充。绕障逻辑官方文档这部分的参数修改能做到的程度还是有限,无法做到贴着障碍物绕行。
2025-03-25 11:57:48
345
原创 【一看就会】Autoware.universe的常规变道路线长度修改
在autoware的使用过程中,发现其中的常规变道所生成的路径太长了。而相关的参数文件中可以进行修改,同时代码中可以进行变道路径长度的打印,本文简单整理一下。
2025-03-25 11:29:42
321
原创 挨骂女友机器人——第一篇
事情的起因是这样的。有一天早上,女友将我气了个半死,导致我一早上气的胸口疼,心脏疼,恨不得打电话骂她一顿或者打她一顿。但是我不敢。只能自己气着。但是我发现,这种生气真的非常影响身体健康,长期以往我担心自己的身体出现问题,也很影响我们的感情。所以打算动手做个挨骂女友机器人。使用我女友的声音,让我能够出气。气大伤身。这对于我来说实在是个刚需。这篇是我记录的第一篇,也是我进行机器人落地探索的初始,以此作为记录,希望将来有一天能实现自己的梦想。
2025-03-22 16:18:28
365
原创 【一看就会】Autoware.universe的路径生成逻辑
planning规划出来的路线都是沿着车道中心的,那这个沿着车道中心线的路径具体是如何生成的呢?本文对此进行了梳理。写的博客越来越干巴巴的了。总结啥啊,我不知道还有没有别人需要改这个中心线,改到靠右或者靠左,反正我是得做。
2025-03-11 09:00:00
558
原创 【一看就会】Autoware.universe的静态绕障路线生成逻辑(一)
在Autoware.universe的避障规划逻辑一文中,我们进行了避障规划逻辑的梳理,一直到静态和动态避障模块中函数的调用。那静态障碍物的绕障路线是如何生成的呢?本文会给大家进行梳理。ps:先别看了,没整理完,有个着急的任务,忙完了再继续整理。
2025-03-10 16:39:50
1050
原创 【一看就会】Autoware.universe的静态避障中停止线生成逻辑
在路径行为规划的静态障碍物模块中,静态障碍物如果绕不过去,就会进行在障碍物前设置停止线,并将停止线之后的点的速度都设置为0,以达成遇到障碍物能平稳停车的目的。本文梳理一下插入停止线的逻辑。tmd,还是没改成功,这部分的任务不是特别着急,先不管了,之后再调,等之后再补充。
2025-03-10 16:38:52
1130
原创 【一看就会】Autoware.universe的避障规划逻辑
在路径行为规划中,有动态避障模块和静态避障模块,那路径行为规划对他们是如何进行调用的呢?本文对此进行了梳理。和预想的不同,静态障碍物和动态障碍物并不是根据速度完全区分开的,而是有可能会重叠执行,且动态障碍物在静态障碍物之后,原代码为什么要这样做我也不清楚,不过我对静态障碍物添加了速度区分,更便于我自己的理解。
2025-03-07 09:47:05
785
原创 【一看就会】Autoware.universe的路径生成逻辑
在autoware.universe中planning规划路径的逻辑,是先由起始点和终点,搜索出起始点路径段和终点路径段(lanelet),然后在根据起始点路径段和终点路径段和路由图,通过搜索算法计算出一条权重最小,且连续可行的路径段序列(lanelets),然后进行输出。输出的路径段序列,被行为路径规划模块-behavior-path-planner接收,然后进行行为路径规划,包括启动路径规划,终点路径规划,变道路径规划等等,最后输出一条行驶的大致位置序列-path,进行发布。
2025-02-25 16:06:02
697
原创 autoware.universe编译过程中的一个报错:<command-line>: fatal error: grid_map_core/eigen_plugins/FunctorsPlugin.
在autoware.universe的编译过程中,报了一个错误:: fatal error: grid_map_core/eigen_plugins/FunctorsPlugin.hpp: 没有那个文件或目录。
2025-02-25 10:59:38
561
2
原创 几种AI模型在算法工作中的使用测评——Grok3,Deepseek,Chatgpt,Kimi,Claude(持续更新)
在工作中现在已经离不开这AI模型了。于是我单开一个博客,记录在使用过程中的这几种模型使用感受。大家的感受也可以在评论区畅所欲言,我会抽空放进博客中。当然ai编程主要用的还是cluade3.5.嘿嘿,最吸引人的地方你懂。这位明星现在太繁忙了。旧皇一脉。明星代餐。没你我可怎么办。之后在使用过程中会记录实际的使用工况及效果。
2025-02-25 10:01:22
718
原创 【一看就会】Autoware.universe的路径点生成逻辑
在【一看就会】Autoware.universe的车道规划逻辑文章中,我们介绍了车道规划逻辑。车道规划是指在两个路径点之间规划一条连续可行的车道。也就是说,在我们给了起点和终点之后,会先生成路径点,将起点和终点分割成几段,再将这几段进行车道规划。那路径点又是如何生成的呢?本文便详细介绍了路径点的生成逻辑。mission_planner通过两个回调函数开始整个流程,分别是on_set_lanelet_route和on_set_waypoint_route,我们先来讲解这两个函数。
2025-02-22 15:57:27
661
原创 【一看就会】Autoware.universe的变道操作逻辑
在规划过程中,经常会遇到各种需要变道的场景。如何判断是否可以变道,如何生成变道路径等,就显得至关重要。而在planning中, mission_planner模块在生成主路径后,会交给路径行为规划模块——BehaviorPathPlanner。随后,路径行为规划模块会交给其下面管理变道的LaneChangeModule。很多小伙伴在使用autoware时或许已经注意到,它是不支持连续变道的,虽然连续变道违法交通法规,但在部分情况下,需要实现连续变道的功能。
2025-02-20 15:53:31
1028
原创 【一看就会】Autoware.universe的车道规划逻辑
在autoware的Planning中,行驶时目标车道的选择是其中很重要的一个部分。通俗点来说,就是知道了起点和终点了,然后根据规划算法——A*或者别的,给算出路径来了,但是每一段路又不止一个车道(大部分公路都是多车道),那每段路选择哪条车道,这就需要着重考虑了。在autoware中,这部分内容都是在路由处理器(RouteHandler)中实现的,我们接下来给大家梳理这部分的内容。本文总结了如何获得起点和终点之间的车道流程。
2025-02-20 10:55:42
1411
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十】(autoware_planning_validator:规划验证器)
书接上文,本篇讲述planning这边的第十六部分——autoware_planning_validator:规划验证器autoware_planning_validator是一个用于验证规划轨迹合法性的模块,主要功能:验证轨迹的动力学约束检查轨迹的安全性发布无效轨迹信息提供调试和可视化功能autoware_planning_validator是一个重要的验证模块,负责确保规划系统生成的轨迹满足各种约束条件和安全要求。
2025-02-18 09:00:00
645
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十一】(autoware_planning_test_manager:规划测试管理器)
书接上文,本篇讲述planning这边的第十七部分——autoware_planning_test_manager:规划测试管理器autoware_planning_test_manager是一个专门用于测试规划模块的工具,主要功能:验证规划节点在异常输入下的稳定性测试节点的正常运行状态提供自动化测试框架确保节点在合并PR前能处理异常情况autoware_planning_test_manager是一个重要的测试工具,用于确保规划模块在各种情况下的稳定性和可靠性。
2025-02-18 09:00:00
953
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十二】(autoware_planning_topic_converter:规划话题转换器)
书接上文,本篇讲述planning这边的第十八部分——autoware_planning_topic_converter:规划话题转换器。autoware_planning_topic_converter是一个用于在Autoware消息类型之间进行转换的工具包,主要功能:将Path类型转换为Trajectory类型提供可组合的ROS2组件节点支持灵活的话题配置确保规划数据类型的兼容性autoware_planning_topic_converter是一个专门用于转换规划相关消息类型的工具包。
2025-02-18 09:00:00
565
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十三】(autoware_external_velocity_limit_selector:外部速度限制选择器)
书接上文,本篇讲述planning这边的第十九部分——autoware_external_velocity_limit_selector:外部速度限制选择器)。autoware_external_velocity_limit_selector是一个用于管理和选择外部速度限制的节点,主要功能:订阅并整合来自API和内部模块的速度限制命令选择最严格的速度限制和加加速度约束维护速度限制的一致性提供速度限制的清除机制。
2025-02-18 09:00:00
1258
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十四】(autoware_freespace_planner:自由空间规划器)
书接上文,本篇讲述planning这边的第二十部分——autoware_freespace_planner:自由空间规划器。autoware_freespace_planner是一个自由空间规划器,主要功能:在有静态/动态障碍物的空间中规划轨迹基于混合A*搜索算法进行路径规划生成可执行的单向轨迹(前进或后退)支持实时重规划autoware_freespace_planner是一个用于自由空间轨迹规划的重要模块。
2025-02-18 09:00:00
597
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十五】(autoware_remaining_distance_time_calculator:剩余距离时间计算器)
书接上文,本篇讲述planning这边的第二十一部分——autoware_remaining_distance_time_calculator:剩余距离时间计算器。autoware_remaining_distance_time_calculator是一个计算任务剩余距离和时间的模块,主要功能:计算从当前位置到目标位置的剩余距离基于最大速度限制估算剩余时间提供实时的任务进度信息。
2025-02-18 09:00:00
865
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十六】(autoware_objects_of_interest_marker_interface:兴趣对象标记接口)
书接上文,本篇讲述planning这边的第二十二部分——autoware_objects_of_interest_marker_interface:兴趣对象标记接口。autoware_objects_of_interest_marker_interface是一个用于可视化感兴趣对象的标记接口,主要功能:为感兴趣的对象创建可视化标记支持多种标记颜色和样式提供灵活的标记配置接口发布标记数组用于RViz显示。
2025-02-18 09:00:00
639
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十七】(autoware_costmap_generator——代价地图生成模块)
书接上文,本篇讲述planning这边的第二十四部分——autoware_costmap_generator——代价地图生成模块。autoware_costmap_generator是一个用于生成代价地图的模块,主要功能:读取点云数据和动态对象数组生成OccupancyGrid和GridMap格式的代价地图支持使用VectorMap(Lanelet2)定义可行驶区域整合多种信息源生成综合代价地图autoware_costmap_generator是一个用于生成综合代价地图的重要模块。
2025-02-18 09:00:00
647
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十八】(autoware_freespace_planning_algorithms——自由空间路径规划算法包)
书接上文,本篇讲述planning这边的第二十四部分——autoware_freespace_planning_algorithms——自由空间路径规划算法包。autoware_freespace_planning_algorithms是一个自由空间路径规划算法包,主要功能:实现了多种路径规划算法:Hybrid A和RRT(包括RRT和informed RRT*)提供了统一的算法接口和抽象基类支持碰撞检测和路径优化可以处理复杂的障碍物环境//////
2025-02-18 09:00:00
680
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【五十九】(autoware_velocity_smoother:速度曲线平滑模块)
书接上文,本篇讲述planning这边的第二十五部分——autoware_velocity_smoother:速度曲线平滑模块。主要功能是在参考轨迹上输出期望的速度曲线在速度、加速度和加加速度限制下规划平滑的速度曲线,实现速度最大化和乘坐舒适性通过限制加速度和加加速度来保证速度曲线的平滑性到此为止,planning中的二十四个模块就都讲完了,之后还会补充一些相关的基础知识。完结撒花!
2025-02-18 09:00:00
654
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【四十七】(autoware_obstacle_stop_planner:障碍物停止规划器)
书接上文,本篇讲述planning这边的第十三部分——autoware_obstacle_stop_planner:障碍物停止规划器autoware_obstacle_stop_planner是一个专门处理障碍物停止的规划器,主要功能:检测前方障碍物并决定是否需要停车生成安全的停车轨迹实现自适应巡航控制(ACC)功能处理紧急制动情况autoware_obstacle_stop_planner是一个关键的安全模块,负责处理障碍物相关的停车决策和轨迹生成。
2025-02-17 09:00:00
812
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【四十八】(autoware_surround_obstacle_checker:周围障碍物检查器)
书接上文,本篇讲述planning这边的第十四部分——autoware_surround_obstacle_checker:周围障碍物检查器autoware_surround_obstacle_checker是一个用于检查车辆周围障碍物的模块,主要功能:360度检测车辆周围的障碍物评估碰撞风险生成安全区域提供紧急制动建议autoware_surround_obstacle_checker是一个关键的安全模块,负责全方位监控车辆周围的障碍物并评估风险。
2025-02-17 09:00:00
547
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【四十九】(autoware_rtc_interface:实时控制接口)
书接上文,本篇讲述planning这边的第十五部分——autoware_rtc_interface:实时控制接口autoware_rtc_interface是一个实时控制接口模块,主要功能:发布行为规划模块的决策状态接收来自自动驾驶系统外部的执行命令管理模块间的协作状态提供实时控制和监控能力autoware_rtc_interface是一个关键的接口模块,负责管理和协调自动驾驶系统中各个规划模块的实时控制。
2025-02-17 09:00:00
665
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【四十五】(autoware_static_centerline_generator:静态中心线生成器)
书接上文,本篇讲述planning这边的第十一部分——autoware_static_centerline_generator:静态中心线生成器autoware_static_centerline_generator是一个用于生成车道中心线的模块,主要功能:基于地图数据生成车道中心线支持多种中心线生成方法优化和平滑中心线提供静态参考路径。
2025-02-16 09:00:00
556
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【四十六】(autoware_obstacle_cruise_planner:障碍物巡航规划器)
书接上文,本篇讲述planning这边的第十二部分——autoware_obstacle_cruise_planner:障碍物巡航规划器autoware_obstacle_cruise_planner是一个用于处理巡航过程中障碍物的规划器,主要功能:根据前方障碍物调整巡航速度实现自适应巡航控制(ACC)保持安全跟车距离处理动态和静态障碍物autoware_obstacle_cruise_planner是一个复杂的规划系统,它通过多种方法处理巡航过程中的障碍物,确保安全和舒适性。
2025-02-16 09:00:00
1663
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【四十三】(autoware_path_optimizer:路径优化器)
书接上文,本篇讲述planning这边的第九部分——autoware_path_optimizer:路径优化器autoware_path_optimizer是一个路径优化器,主要功能:对输入路径进行优化,使其更平滑且满足车辆动力学约束使用MPT(Model Predictive Trajectory)方法进行轨迹优化考虑车辆运动学模型和约束条件生成满足多种约束的最优路径。
2025-02-15 09:00:00
622
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【四十四】(autoware_path_smoother:路径平滑器)
书接上文,本篇讲述planning这边的第十部分——autoware_path_smoother:路径平滑器autoware_path_smoother是一个基于弹性带算法的路径平滑器,主要功能:对规划路径进行平滑处理保持路径的几何连续性考虑车辆运动学约束确保平滑后的路径安全性autoware_path_smoother是一个基于弹性带算法的路径平滑器,它通过模拟物理系统中的弹性力和排斥力,对路径进行平滑处理。
2025-02-15 09:00:00
519
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【三十六】(motion_velocity_planner第五部分)
书接上文,本篇开始讲解运动速度规划中的第四个模块——autoware_motion_velocity_obstacle_velocity_limiter_module。负责根据障碍物情况限制车辆速度通过前向投影预测潜在碰撞动态调整车辆速度以确保安全距离无。
2025-02-14 09:00:00
762
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【三十七】(motion_velocity_planner第六部分)
书接上文,本篇开始讲解运动速度规划中的第五个模块——autoware_motion_velocity_planner_common。提供运动速度规划器的公共接口和数据结构定义插件模块接口规范实现碰撞检查和速度规划的基础功能运动速度规划结束。
2025-02-14 09:00:00
488
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【三十八】(sampling_based_planner第一部分)
从这一章开始接下来一共五章,将详细讲述sampling_based_planner:基于采样的路径规划器。其中一共包含有四个小模块。sampling_based_planner是作为behavior_path_planner的一个插件形式存在的。在Autoware的Planning模块中,sampling_based_planner是作为behavior_path_planner的一个插件形式存在的。它主要被behavior_path_planner调用,用于生成具体的路径轨迹。
2025-02-14 09:00:00
451
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【三十九】(sampling_based_planner第二部分)
书接上文,本篇讲解sampling_based_planner的第一个模块——Frenet Planner模块将规划好的全局路径作为参考线,在其基础上进行精细的局部路径规划,以生成满足各种约束条件的实际可行驶轨迹。autoware_frenet_planner是一个基于Frenet坐标系的路径规划器,主要负责:1.在Frenet坐标系下进行路径采样和生成2.考虑车辆动力学和环境约束生成可行路径3.优化路径的平滑性和舒适性4.处理复杂场景下的路径规划问题Frenet坐标系属于局部坐标系,是一种用于描述
2025-02-14 09:00:00
747
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【四十】(sampling_based_planner第三部分)
书接上文,本篇讲解sampling_based_planner的第二个模块——Bezier Sampler模块:使用Bezier曲线进行路径平滑和生成。autoware_bezier_sampler是一个使用贝塞尔曲线进行路径采样的模块,主要功能是:生成平滑的贝塞尔曲线路径通过控制点采样生成多条候选路径保证路径的连续性和可导性提供路径评估和选择机制autoware_bezier_sampler是一个专门用于生成平滑路径的采样器模块。
2025-02-14 09:00:00
636
原创 【一看就会】Autoware.universe的“规划”部分源码梳理【四十一】(sampling_based_planner第四部分)
书接上文,本篇讲解sampling_based_planner的第三个模块——Sampler Common模块autoware_sampler_common是一个通用的采样工具库,为其他采样based规划器提供基础功能支持。主要提供:通用数据结构定义约束处理机制坐标转换工具评估函数接口。
2025-02-14 09:00:00
766
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人