Apollo8.0版本在以下几个功能点做出升级:
一、软件包管理
在最新的8.0版本中,我们重新整理了模块之间的依赖并引入了软件包的概念来管理和发布各个模块,优化了下载安装中出现的下载量大、无法按需使用、编译时间过长等问题,并在这个基础上更新发布了基于应用场景的扩展方案让更多开发者更好更快的使用Apollo。
(*关于:包管理既将Apollo的编译产出按照“模块化”粒度进行规范化组织。一方面支持直接使用产出包的方式直接使用组件;另一方面规范组件的依赖关系以及组件的粒度,从而降低组件的使用/复用难度,提升自动驾驶系统的研发效率。详细规范介绍可以参考文档IntroducetoPackageofApollo。)1、更清晰的模块结构,降低学习门槛相较于以往Apollo里各个模块间的依赖关系错综复杂,开发者要想了解和学习Apollo往往容易陷入代码阅读的困难中。在Apollo8.0中,我们将Apollo各个模块进行重新梳理,去掉了不合理的依赖关系,整合了通用的模块,使Apollo整体结构更清晰简洁。此外,我们将各个模块依赖关系的明确声明放在包的描述文件(cyberfile.xml)中,方便开发者统一查看。同时,我们也提供了快速查看工具,方便开发者了解学习相关代码,整体降低开发者的学习门槛。2、更快速的部署方式,提升编译效率以往开发者安装Apollo都需要下载源码再全量编译才能完成整个部署,这个过程环节多耗时长,往往需要天级别的时间,且失败率高,成为开发者使用Apollo的第一道门槛。为了提升开发者编译效率,我们在Apollo8.0引入了包管理的概念,在模块化的基础上对Apollo各个模块作了预编译和发布,并提供更细粒度的包以方便开发者按需获取和使用。无论开发者是想快速体验或是快速使用Apollo,都可以直接通过我们提供的工具快速安装部署,整个过程耗时缩短至0分钟内即可完成,大大减少了下载和编译的时间。、更便捷的扩展方案,方便二次扩展、验证及实践以扩展修改Planning模块为例(Demo工程的代码可参考