apollo中的referenceLine
前言
关于apollo的规划模块的讲解,网上资料有很多,抽时间想系统学习整理一下;首先是参考的学习资料
结合源码解析其中的Routing模块
Routing模块正如其名称所示,其主要作用就是根据请求生成路由信息。"路由信息"通常指的是从一点到另一点的路径规划信息。
routing模块输入:
- 地图数据
- 请求,包括:开始和结束位置
routing模块输出:
- 路由导航信息(路径规划 几公里到几百公里)
路径规划不会关注具体的细节如遇到障碍物的避障。车辆默认是按照全局路径去走,所以说全局路径未考虑实时的交通状况,是理想的。
Routing模块的实现文件结构如下图所示:
自己之前不懂的是什么是proto
文件,Apollo项目中的很多数据结构都是通过Protocol Buffers定义的。所以你看不到这些类的C++文件,因为C++需要的相关文件是在编译时通过proto文件自动生成的。
Protocol Buffers是Google的开源项目。它具有语言无关,平台无关的特性,并且有很好的可扩展性。Protocol Buffers通常用于序列化结构化数据。下面这个链接很好的解释了什么是proto文件。(https://paul.pub/apollo-routing/)
Topo地图
为了计算路由路径,在Routing模块中包含一系列的类用来描述Topo地图的详细结构。首先神么是topo地图,是拓扑地图的意思吗?
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【故障公告】6月9日 17:24~17:34 再次遭遇攻击(晚上遭遇更疯狂的攻击)
· .net入行第4年
· 3 个超火的开源项目「GitHub 热点速览」
· (包含5w字提示词开源)手把手教你搭建开源提示词优化平台
· 上周热点回顾(6.2-6.8)