Apollo开发-apollo介绍(一)

apollo是百度的自动驾驶开源框架,根据自动驾驶的功能划分为不同的模块,下面会根据目录结构和功能模块分别介绍和学习 apollo模块。下面主要对apollo学习过程中做下笔记,如果有错误或者补充,欢迎指正。

目录结构

cyber 消息中间件,替换ros作为消息层

docker 容器相关

docs 文档相关

modules 自动驾驶模块,主要的定位,预测,感知,规划都在这里

calibration 校准,主要用于传感器坐标的校准,用于感知模块做传感器融合

canbus 通讯总线,工业领域的标准总线,鉴于工业界的保守,我估计后面会有新的总线来取代

common

contrib

control 控制模块,根据planning生成的路径对车辆轨迹进行控制,

再底层就是发送命令到can总线,实现车辆的控制。

data 地图等生成好的数据放在这里(其他数据待补充)

dreamview 仿真,能够对自动驾驶过程中的数据进行回放,其他厂家也有推出一些仿真平台,

后面有机会再介绍下

drivers 雷达,lidar,GPS, canbus,camera等驱动

guardian 监护程序?

localization 定位,获取汽车的当前位置

map 地图模块

monitor 监控模块,主要是监控汽车状态,并且记录,用于故障定位,健康检查等

perception 感知,获取汽车当前的环境,行人,车辆,红绿灯等,给planning模块规划线路

planning 规划,针对感知到的情况,对路径做规划,短期规划,只规划100-200M的距离,

生成好的路径给control模块

prediction 预测,属于感知模块,对运动物体的轨迹做预测

routing 导航线路,就是百度地图上查询2点之间的线路,生成的线路短期规划还是planning模块

third_party_perception 第三方感知模块

tools 工具,这里面的工具倒是很多,后面再详细介绍下

transform 转换,主要是?

v2x 顾名思义就vehicle-to-everything,其希望实现车辆与一切可能影响车辆的实体实现信息交互,

目的是减少事故发生,减缓交通拥堵,降低环境污染以及提供其他信息服务.

scripts 脚本

third_party 第三方库

tools 工具目录,基本就是个空目录

编译

apollo采用的是bazel来进行编译,因为我对JAVA的maven比较熟,因此对maven的包管理的功能觉得特别好用,第一能解决包自动下载,第二解决依赖传递的问题,第三解决了编译的问题。也就是说你只要引用对应的包,就可以把包的依赖全部解决。

而bazel就是c++对应的编译管理,bazel主要是通过WORKSPACE和BUILD文件来进行编译。

  以下为官方的教学课程,感兴趣的小伙伴上课学习吧~

 《Apollo开放平台9.0专项技术公开课》Apollo开发者社区_Apollo活动

《Apollo自动驾驶技术详解25讲》Apollo自动驾驶技术详解25讲_Apollo精品课

《自动驾驶新人之旅》自动驾驶新人之旅_Apollo精品课

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值