zoukankan      html  css  js  c++  java
  • Apollo无人驾驶汽车入门课程笔记

    第一课:无人驾驶概览

    • 什么是无人驾驶?

      • 交通发展史: 步行 (->) 马车 (->) 汽车 (->) 无人驾驶汽车
      • 无人驾驶汽车存在的意义
        • 与人类驾驶相比,无人驾驶汽车不会疲劳、走神,会更加安全
        • 不需要像人一样学习
        • 可以解决停车问题
      • 无人驾驶车的等级
        • 0级 完全由驾驶员控制
        • 1级 对驾驶员进行辅助
        • 2级 部分的自动化
        • 3级 有条件的自动化,驾驶员可以在必要时接入
        • 4级 高度的自动化
        • 5级 完全自动化,不需要人类驾驶员操作
      • 无人驾驶车的运作方式
        • 计算机视觉
        • 传感器融合
        • 定位
        • 路径规划
        • 控制
    • Apollo技术框架

      • 云服务平台
      • 参考硬件平台
      • 参考车辆平台
      • 开源软件平台
    • 硬件平台

      • 控制器区域网络 ( CAN )
      • 全球定位系统 ( GPS )
      • 惯性测量装置 ( IMU )
      • 激光雷达 ( LIDAR )
      • 摄像头
      • 雷达

    第二课:高精度地图

    • 为什么要用高精度地图

      • 无人驾驶汽车和人类驾驶员相比,没有视觉和逻辑能力,所以无法确定自己位置,无法识别障碍物、车辆、行人。
      • 高精度地图包含很多驾驶辅助信息,最重要的是道路网的精准三位表征,如交通信号灯、路标等等。
      • 高精度地图有着非常高的精度,能达到 (cm) 级别,满足无人驾驶的基本需求。
    • 定位

      • 利用车上的多个传感器所收集的位置信息与高精度地图的信息进行对比,得到当前坐标。
    • Apollo HD Map

      • 包含:道路定义,交叉路口,交通信号,车道规则等等
    • 高精度地图构建

      • 数据采集
      • 数据处理
      • 对象检测
      • 手动检测
      • 地图发布

    第三课:定位

    • 目的

      • 让无人驾驶车能够准确定位自己所在位置
    • GNSS

      • GPS:基于三角测量的工作原理,是应用最广泛的GNSS系统
        • 在任何时候,都大约由 30 颗GPS卫星在外层空间运行
        • 在世界各地都有控制站用于监视和控制卫星,主要目的是让系统能保持进行并且验证GPS广播信号精确性
        • GPS接收器:GPS接收器多存在于手机、电脑、汽车中,每次应至少检测4颗卫星
        • 可以配备原子钟减小误差
        • GPS的更新频率比较低而且容易被周围的高建筑物阻碍
    • 惯性导航

      • 根据加速度、初始速度、初始位置计算出任何时间点的车速和位置
      • 加速度的计算需要用到三轴加速计传感器
      • 还需要陀螺仪进行坐标的转变
      • 惯性导航虽然可以实时但是运动误差随时间增大而增加,只适合短时间定位
    • 激光雷达定位

      • 通过点云匹配来对车辆进行定位 ( 与高精度地图持续对比 )
      • 迭代最近点 ( ICP ) : 计算最近相邻点的误差值的平均值,通过旋转和平移来最大限度的降低平均距离误差
      • 滤波算法:滤波算法可消除冗余信息并在地图上找到最可能的车辆位置
      • 卡尔曼滤波:卡尔曼滤波根据过去的状态和新的传感器测量结果预测当前状态
      • 比较稳健,但是由于高精度地图无法实时更新

    感知

    • 计算机视觉

      • 感知世界的四个核心任务
        • 检测:找出物体在环境中的位置
        • 分类:明确对象是什么
        • 跟踪:随时间推移观察移动物体
        • 语义分割:将图像中的每个像素与语义信息进行匹配
      • 分类器
        • 计算机接受图像输入
        • 预处理:调整图像大小、灰度等等
        • 找到特征
        • 将特征输入至分类模型
    • 激光雷达图像

      • 激光雷达通过发射激光来检测汽车周围的环境,在雷达图中所收集到的数据会形成很多点。
    • 机器学习

      • 机器学习是使用特殊算法训练计算机从数据中学习
      • 分为:监督学习,半监督学习,无监督学习,强化学习
    • 神经网络

    • 反向传播算法

      • 前馈:随机分配权重 ( 每个神经元的值 ),再通过神经网络馈送每个图像的输出值
      • 误差测定:真值标记与前馈输出值的误差
      • 反向传播:通过神经元反向传递误差
      • 上述三个步骤反复进行
    • 卷积神经网络 CNN

    • 检测与分类

      • 通过CNN来查找图像中对象的位置信息,并对其分类。
    • 跟踪

      • 通过查找特征相似度最高的对象,并与之前帧和当前帧进行匹配来确认身份
      • 结合预测算法,估计接下来的速度、位置信息。
    • 分割

      • 分割基于 全卷积网络( FCN ) ,是一种特殊的 CNN
      • FCN 由编码器和解码器组成,编码器负责对输入图像的特征进行提取并编码,解码器对这些特征进行解码并输出
    • Apollo 感知

      • 可以感知周围障碍物、交通信号灯以及车道等等
    • 感知融合策略

      • 卡尔曼滤波 是用于融合输出的主要算法
        • 先预测状态
        • 再更新测量结果
        • 循环两个步骤
      • 两种融合方式:同步 异步
  • 相关阅读:
    Myeclipse2013 SVN安装方法以及项目上传到svn服务器
    Gson把json串转换成java实体对象
    使用HttpClient向服务器发送restful post请求
    使用HttpURLConnection向服务器发送post和get请求
    http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/
    CAS单点登录配置[5]:测试与总结
    CAS单点登录配置[4]:客户端配置
    CAS单点登录配置[3]:服务器端配置
    CAS单点登录配置[2]:证书生成
    【Oracle/Java】向三张表各插入百万数据,共用时18分3秒,平均每张表6分钟
  • 原文地址:https://www.cnblogs.com/HexQwQ/p/13324791.html
Copyright © 2011-2022 走看看