不断学习加努力
从事智驾领域,项目集中于无人环卫车,无人农机,无人矿车等领域。
主做规控算法研究
slam和深度学习以及AI方面也多有涉猎
欢迎多多交流
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《【一看就会】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 · 1466 阅读 · 0 评论 -
【一看就会】Autoware.universe的终点无法避障
在autoware中,每段路的终点如果有障碍物,是无法进行避障绕障的。如果要修改这部分的逻辑,就需要将autoware的终点规划逻辑给搞清楚。在此进行终点路径规划的逻辑整理。首先goal_planner_module依然是路径行为规划中的一个场景模块,所以在进行槽调用时,依然会遵循着槽调用的规则,先调用updateData()函数,再调用plan()函数。这篇写的不是很好,和我的工作内容没有搭起来。我需要完成的起点和终点的绕障逻辑,甚至如果有静态障碍物,不到终点都可以。原创 2025-05-29 16:34:36 · 91 阅读 · 0 评论 -
【一看就会】Autoware.universe的局部路径规划
前面我们的讲述,都在全局路径规划,先是mission-planner从路段层面进行规划,得到的连续的路段序列,然后由behavior-path-planner进行各种场景的路径规划,得到从起点到终点的路径,这里面有避障绕障,起点和终点规划等等。但是,上面的生成的路径都不是车辆实际要跟踪的目标路径。车辆实际行走的目标路径,是基于上面全局路径,生成的一条短的局部路径。接下来我们就给大家讲解这个局部路径的生成逻辑。原创 2025-05-26 15:00:12 · 521 阅读 · 0 评论 -
【一看就会】Autoware.universe中如何判断是否使用lane-change模块
而在lane-change模块中,判断是否需要变道的函数是:NormalLaneChange::isLaneChangeRequired()在路径行为规划中,会按照顺序将每个模块遍历一次,然后进入模块后再判断是否使用此模块。其主要功能是根据当前车道是否为空,和车辆到目标起点的距离,判断是否之后变道模块。原创 2025-05-15 17:39:18 · 88 阅读 · 0 评论 -
【一看就会】Autoware.universe的变道规划的相关调用
变道相关内容之前整理过一点,本章从变道模块调用开始进行相关补充。众所周知,在autoware.universe中路径行为规划相关模块场景调用时,会调用模块中的updateData()函数和plan()函数,以开启模块。原创 2025-05-12 18:39:05 · 358 阅读 · 0 评论 -
【一看就会】Autoware.universe中路径行为规划是如何使用mission-planner发布的路段的
在autoware.universe中,mission-planner进行路段层的规划之后,会进行发布,交给后续的路径行为规划(behavior-planner)中进行后续的路径规划,那在路径行为规划模块是如何使用路段的呢,本章会就此进行相关讲解。原创 2025-05-12 15:30:12 · 368 阅读 · 0 评论 -
【一看就会】Autoware.universe的路径行为规划的一个小问题
我在进行相关测试开发时,在运行过程中遇到了一个问题:在绕障之后,behavior_path_planner节点停止运行。路径行为规划节点是由一个计时器按照一定频率调用的,计时器一般不会出现什么问题,于是我层层查下去发现,是在BehaviorModuleOutput SubPlannerManager::run函数中出现了问题。这表明问题可能是在调用虚函数时出现了异常或访问了无效的指针。原创 2025-05-09 14:10:55 · 213 阅读 · 0 评论 -
【一看就会】Autoware.universe中缩短静态绕障路线中的回归路线距离
之前的文章中大致讲过静态绕障路线的生成逻辑。在实际运行过程中,绕障之后的回归路线过长,经常是三十多米。回归路线的纵向长短是如何规定的,本章进行相关讲解。原创 2025-05-07 16:29:01 · 190 阅读 · 0 评论 -
【一看就会】Autoware.universe中静态绕障路线的生成逻辑
在路径行为规划中,前期根据地图和起点终点,生成了一组连续可行的路径段序列(lanelets),然后后续路径行为规划,又会进行起始点,终止点,避障绕障路径的路径规划,并且会调用route_handler中的函数,进行中心线生成,最后生成路径,后续再给速度行为规划进行速度规划。在autoware.universe的规划中,是基于规则的规划,而其中的规则又是为了解决不同场景的。而这些场景,大部分是为了解决路上障碍物(静态、动态、行人、车辆等等)。原创 2025-05-06 18:17:38 · 52 阅读 · 0 评论 -
【一看就会】Autoware.universe的路径生成时遇到的一个问题记录
在autoware中的planning中,做完二次开发后,后续无法生成路径,发现问题出在了两部分,在此做个记录。现象也是两部分,第一部分是完全无法生成路径,在rviz中点击终点后没有任何反应。第二个无法生成变道路径。做个记录也给大家做个参考。原创 2025-04-21 10:39:25 · 158 阅读 · 0 评论 -
【一看就会】Autoware.universe的路线颜色设置
在autoware中,有着非常好用的rviz可视化工具,而可视化中,表示路径相关信息的,除了形状和各种标志之外,便是颜色信息。而行为路径产生的这些路径的颜色信息是在哪里设置的,并且是根据什么而显示的,本文进行了相关整理。首先明确一下,本文整理的颜色信息的路径话题为:/planning/scenario_planning/lane_driving/behavior_planning/path。原创 2025-04-15 11:48:53 · 130 阅读 · 0 评论 -
【一看就会】Autoware.universe的绕障路线的安全检查
在autoware中,静态绕障路线在生成过程中,会有很多的安全检查。主要可以分为路线生成时,和路线生成后。大家有时会看到,明明已经规划出了绕障路线,但是路线却是红色的,这意味着路线生成后没有通过安全检查,导致路线不可通行。我们本章探讨的都是static_obstacle中的绕障路线内容哈。原创 2025-04-01 09:00:00 · 337 阅读 · 0 评论 -
【一看就会】Autoware.universe的控制部分源码梳理【二】
上一篇讲完纵向速度控制了,这一篇讲横向速度控制的mpc。这部分讲了横向跟踪中mpc的相关内容,理解起来不难,就是各个部分很繁琐。原创 2025-01-06 17:56:49 · 1049 阅读 · 0 评论 -
【一看就会】Autoware.universe的控制部分源码梳理【三】
control最核心的路径跟踪部分在之前的内容中讲完了(虽然讲的很烂,最后我会再出一章梳理一下)。但是在control.launch.xml,还启动了别的控制模块,毕竟车辆不止有路径跟随一种控制。轨迹跟踪(Trajectory Follower):控制车辆沿着规划轨迹前进。车道偏离检查(Lane Departure Checker):检测车辆是否偏离车道。换挡决策(Shift Decider):控制车辆的换挡操作。原创 2025-01-08 16:52:16 · 1023 阅读 · 0 评论 -
autoware.universe在ubuntu22.04上的安装
接下来我会更新autoware.universe的源码学习内容。原创 2025-01-02 16:47:31 · 790 阅读 · 1 评论 -
Autoware.universe中的车辆模型参数文件
无论是控制还是规划,车辆模型参数都是在从一个地方调用:/src/vehicle/sample_vehicle_launch/sample_vehicle_description/config里面有三个参数文件在此解释一下,方便大家调试的时候修改。(其实就是翻译,英文好的不用搭理我)原创 2025-01-09 15:38:59 · 485 阅读 · 0 评论 -
Autoware.universe中的油门和方向盘控制
在进行控制命令下发时,如果直接将速度和转角这种离散量下发给电机,电机的响应会不太连续。导致车辆行驶时会出现顿挫。并且有些车辆并没有直接流出电机的接口。而在Autoware.universe中,可以将速度和转角,转变为油门的量和方向盘转角,解决了这部分问题。其中还给了油门和速度的标定工具。本文便是从使用和原理来进行一系列的讲解,帮助大家更好的使用和理解这部分内容。这部分先把实现给讲了,还有一部分是油门标定工具的使用,在之后的博客中会讲。原创 2025-01-09 13:20:34 · 725 阅读 · 0 评论 -
【一看就会】autoware universe项目结构解析——从一层一层直到control源码
下载安装autoware universe花了一天。下载好之后,按照网上说的跑了一下仿真是能跑的,证明下的代码没问题。然后就得看一下各模块实现的源码了。但是当我打开这些文件的时候。我勒个豆。这么多是个玩意儿。我连该启动哪个launch文件,哪个文件夹是干啥的都不知道。在我慢慢弄懂之后,我也记录这个庞大的项目的各个文件夹和里面的文件以及项目,以及自己使用时应该启动哪些launch文件。这篇文章目的就是通过找到control部分的源码,来帮助我们梳理这个庞大项目的各个文件的功能。原创 2025-01-03 14:23:19 · 1496 阅读 · 0 评论 -
【一看就会】autoware universe中有关control部分的参数设置
autoware universe虽然是一个无人驾驶基础框架,但实际上把接口写好之后,它直接能放到车上跑。所以本文从实际出发,给大家介绍一下其中控制的相关的参数设置。调参会用到。需要调整的参数主要分为两部分,第一部分为车辆参数,第二部分为控制算法参数。首先需要阅读我写的另外一篇博客:https://blog.youkuaiyun.com/weixin_48386130/article/details/144906806这次使用的是国产deepseek进行注释和分析。原创 2025-01-06 13:59:24 · 1208 阅读 · 0 评论 -
【一看就会】Autoware.universe的控制部分源码【一】梳理。
上一篇文章,我们一层一层的深入,终于理清楚了Autoware.universe文件基础架构,并且找到了轨迹跟踪控制节点:trajectory_follower_node。这篇文章,我们便从这个trajectory_follower_node的具体实现源码开始,将整个control部分源码梳理一遍。这一篇就到这里吧,整理了将近五个小时,主要讲了control整体架构还有pid的纵向速度控制策略。原创 2025-01-03 18:12:11 · 1462 阅读 · 0 评论 -
【比较乱,如果遇到相同问题可以看】Autoware.universe的绕障线路的参数修改
control那里还没学完,但是目前来了个比较着急的任务,需要解决一个问题:绕障碍物时,路径太远了。看了一下仿真里面的效果一样,如图:哪怕速度很慢,也是距离障碍物10m就开始拐了,横向距离大约2.3m。如果是在低速的园区中的话,这样也太占路了,并且激光雷达的精度还是比较准的,所以需要尽量把这部分给缩小,尽量能贴着绕开。于是,便开始了研究planning这部分的工作。我还是从tier4_planning_component.launch.xml开始出发,主要为了找到可以修改这部分的参数。原创 2025-01-07 19:08:12 · 1261 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十三】(behavior_velocity_planner第十部分)
本篇讲速度行为规划中的安全相关模块的第二部分——occlusion_spot_module: 遮挡点处理。没什么总结的。原创 2025-02-08 09:40:36 · 1040 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十六】(behavior_velocity_planner第十三部分)
书接上文,本篇讲速度行为规划中的道路特征模块的第一部分——speed_bump_module: 减速带处理。没啥总结的。原创 2025-02-10 09:00:00 · 914 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【三十】(autoware_route_handler:路由处理)
本篇将讲解planning这部分中的autoware_route_handler——路由处理。先解释一下【路由】这两个字:路由指的是从起点到目标点的具体路径选择过程。这个模块中只有一个源代码,但是有2000多行,目前deepseek已经崩到无法进行长代码注释的生成了,gpt免费的那部分之前也试过完全不行,需要自己分段输入,目前只能即希望于deepseek的代餐——kimi了。路由处理是planning中路径生成的核心,搜索算法也在其中体现,除了路径生成之外还有一些别的功能,被其他函数所调用。原创 2025-02-11 09:00:00 · 980 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【十八】(behavior_velocity_planner第五部分)
书接上文,本篇继续讲速度行为规划中的场景处理模块中的第二部分——intersection_module: 交叉路口处理。上一篇文章刚夸了通义灵码,这次就拉跨。在进行长代码加注释中,它会没注释完就报请求超时,且发送继续等,都不能继续生成代码注释。现在deepseek又经常刷不出来,只能用kimi,但是kimi的注释代码的质量就差很多了。原创 2025-02-06 08:30:00 · 726 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十七】(behavior_velocity_planner第十四部分)
书接上文,本篇讲速度行为规划中的道路特征模块的第二部分——stop_line_module: 停止线处理。无。原创 2025-02-10 09:00:00 · 502 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十四】(behavior_velocity_planner第十一部分)
本篇讲速度行为规划中的安全相关模块的第三部分——run_out_module: 突发情况处理。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2025-02-09 09:00:00 · 921 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【十九】(behavior_velocity_planner第六部分)
本篇开始讲速度行为规划中的场景处理模块的第三部分——traffic_light_module: 交通信号灯处理。没什么总结的,就是最近用deepseek的人太多了,导致我开始用kimi进行源码注释了。原创 2025-02-06 10:00:00 · 962 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十九】(behavior_velocity_planner第十六部分)
终于到了速度行为规划的最后一个模块——autoware_behavior_velocity_template_module——模板模块。这个模块用作创造新的行为模块时使用。template模块是behavior_velocity_planner的基础框架提供标准化的模块开发方式支持插件化和动态加载便于维护和扩展系统兄弟们,好消息!终于将速度行为规划这部分讲完了!planning中最多的也是最重要的两部分——路径行为规划和速度行为规划模块就讲完啦。原创 2025-02-11 09:00:00 · 967 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【三十二】(motion_velocity_planner第一部分)
之前讲过了行为速度规划,从本篇开始讲运动速度规划模块——motion_velocity_planner。graph TBA[Motion Velocity Planner] --> B[主要功能]A --> C[处理对象]A --> D[优化目标]B --> B1[轨迹速度规划]B --> B2[障碍物避让]B --> B3[安全性保证]B --> B4[舒适性优化]C --> C1[动态障碍物]C --> C2[静态障碍物]C --> C3[交通规则]原创 2025-02-12 09:00:00 · 595 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【十七】(behavior_velocity_planner第四部分)
书接上文,前两篇文章将速度规划模块的主节点模块(autoware_behavior_velocity_planner)和接口模块(autoware_behavior_velocity_planner_common)讲完了。从本篇开始讲速度规划模块中的场景模块。本篇为场景模块的第一部分——crosswalk_module: 人行横道处理之前有一篇文章中评论区的兄弟介绍我用通义灵码进行代码注释,我觉得还蛮好用的。原创 2025-02-05 14:19:10 · 1012 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十】(behavior_velocity_planner第七部分)
本篇开始讲速度行为规划中的场景处理模块的第四部分——blind_spot_module: 盲区检测处理。停车线:基于地图信息自动创建通过判断线:用于避免急刹车的判断位置检测区域:自车位置的左/右侧区域冲突区域:从自车位置到停车线的左/右侧区域没啥总结的,deepseek出名后使用起来便开始卡了,难受。原创 2025-02-07 09:00:00 · 758 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十八】(behavior_velocity_planner第十五部分)
书接上文,本篇讲速度行为规划中的道路特征模块的第三部分——no_drivable_lane_module: 不可行驶车道处理。在地图中通过标签定义:常见场景:施工区域铁路地下通道坡度过大区域技术限制区域无。原创 2025-02-10 09:00:00 · 692 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【十六】(behavior_velocity_planner第三部分)
类比路径行为规划,速度行为规划模块也是有个公共模块——autoware_behavior_velocity_planner_common。本篇将速度规划模块中的接口模块讲完,从下一篇开始,讲速度规划模块中的各个场景模块。原创 2025-02-05 11:08:30 · 644 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【三十一】(autoware_scenario_selector:场景选择)
在planning中,需要根据各种道路场景,进行各种算法模块选择,这一任务的实现就是本篇所讲——autoware_scenario_selector:场景选择场景选择这部分会根据不同的场景激活不同的规划器。场景就两个,一个正常行驶,一个停车。原创 2025-02-12 09:00:00 · 731 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十五】(behavior_velocity_planner第十二部分)
书接上文,本篇讲速度行为规划中的安全相关模块的第四部分——walkway_module: 人行道处理。本篇加上前面的三篇,一共四篇文章,就把速度行为规划中的安全相关模块讲完了。原创 2025-02-09 09:30:00 · 435 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【十五】(behavior_velocity_planner第二部分)
根据上一章的综述,我们本篇先进行速度行为规划的核心模块——autoware_behavior_velocity_planner 模块。每篇讲一个节点吧,好整理一些。原创 2025-01-23 14:43:14 · 651 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十二】(behavior_velocity_planner第九部分)
上五篇文章讲完了速度行为规划中的场景处理模块,从本篇开始讲速度行为规划中的安全相关模块的第一部分——no_stopping_area_module: 禁停区域处理。没啥总结的,一个规则,需要用或者改的时候来看就行。原创 2025-02-08 09:00:00 · 549 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【二十一】(behavior_velocity_planner第八部分)
本篇开始讲速度行为规划中的场景处理模块的第五部分——detection_area_module: 检测区域处理。想念年前deepseek没这么多人用的时候,没想到我也体会到了追星的感觉,当初还是一个次次有回应的小花,现在已经成了服务器繁忙的大明星,呜呜呜。原创 2025-02-07 09:00:00 · 756 阅读 · 0 评论 -
【一看就会】Autoware.universe的“规划”部分源码梳理【四十二】(sampling_based_planner第五部分)
书接上文,本篇讲解sampling_based_planner的第四个模块——autoware_path_samplerautoware_path_sampler是一个路径采样器节点,负责:生成多条候选路径评估路径可行性选择最优路径发布轨迹信息这个模块在Autoware的规划系统中扮演着重要角色,通过生成和评估多条候选路径,为车辆提供最优的行驶路径。原创 2025-02-10 11:06:59 · 520 阅读 · 0 评论