Advertisement

百度无人驾驶课程——无人驾驶

阅读量:

无人驾驶出现的需求

人驾驶车

  • 较高的交通事故
  • 需要从头学起如何驾车
  • 停车位的问题

自动驾车

  • 更为可靠的驾驶体验
  • 具备学习功能的驾驶员控制系统-支持更高效率的操作
  • 无需担心停车位置的选择

自动驾驶的6个等级

  • 0级: 驾驶员是系统的唯一决策角色,在这一等级中驾驶员负责操作方向盘、油门、制动装置以及其他车辆控制设备;
    • 1级: 驾驶辅助模式下车辆为驾驶员提供转向或加速辅助功能(例如巡航控制系统),在此模式中驾驶员须全程参与但可选择放弃对自治系统的部分控制权;
    • 2级: 部分自主模式下车辆自动执行诸如自动巡航控制和车道保持等功能;在此模式中驾驶员仍需全程参与并负责处理自治系统未接管的功能;
    • 3级: 条件自主模式下车辆实现高度自主驾驶状态;在此模式中驾驶员须随时准备接管驾驶任务;
    • 4级: 高度自主模式下车辆全面接管驾驶体验的所有方面;需要注意的是该系统可能不具备方向盘或其他传统驾驶装置但在限定区域(称为"地理围栏")内可完全自主运行;
    • 5级: 完全自动驾驶状态在该等级下车辆可在所有可驾驶区域内实现与人类驾驶员相当甚至更高的操作水平。

总结:

无人驾驶车辆由专用计算机和传感器组成。

在自动驾驶技术的发展中,自主计算单元展现出显著的优势。相较于个人电脑而言,自主计算单元的性能高出至少十倍以上。在Apollo系统中运行的车辆车载计算单元不仅得到了强大的云集群支持,在每一个无人驾驶车辆上都配备了大量先进的传感器设备。这些传感器能够执行感知与定位等基础任务,并通过结合人工智能技术实现完全独立的操作能力,在无需任何驾驶员干预的情况下就可以完成各种操作任务。

运作方式

名字叫做Carla

简单解析:就是一个简单的agent

感知:周围环境——通过计算机视觉和传感器。

计算:计算路径——定位,规划道路路径,避障

执行:执行器(效应器)-加速、制动、转向

5个核心部件:

  • 计算机视觉: 通过摄像头捕捉到的图像识别我们周围世界的特征与状态。
  • 传感器融合: 整合来自多种传感器(如激光雷达)的数据以更全面地认识周围的环境。
  • 定位: 基于对周围的环境有了较为深入的认识后,则可利用定位技术精确确定自身在特定环境中的位置与配置。
  • 路径规划: 规划行驶路线以确保车辆能够顺利到达目标地点。
  • 控制: 为了使汽车沿预设的行驶路线平稳运行,请根据当前状态分别调整方向盘转向角度、加速或减速。

利用计算机视觉技术与传感器数据融合的方法能够实现对周围环境的全面感知,在此基础上通过定位技术准确识别当前所处位置及周边环境特征。基于路径规划算法生成一条从当前位置到目标地点的最佳行驶路线,并根据预设的安全距离自动计算出各节点之间的最优间距。随后分别操作方向盘转向、加速踏板以及制动踏板,在此轨迹上完成精确导航至目标位置并完成任务。

以下作为知识点补充。

软件和硬件平台

可通过电子控制的基础车辆——线控驾驶车辆。

Apollo 无人驾驶车

这款车有几个不同的传感器,传感器参数由参考硬件规格定义:

  • 控制器区域网络(CAN): 采用CAN协议作为基础的通信网络系统,在汽车内部实现信息传递功能。通过安装专门的CAN卡设备可实现汽车内部网络之间的信息交互与协调控制。
  • 全球定位系统(GPS): 通过接收卫星发送的信号来确定自身位置及运动状态的技术系统。该技术基于地面接收站与卫星间的信号传输关系可实现精确的位置计算。
  • 惯性测量装置(IMU): 一种实时监测车辆运动状态并提供运动参数数据的传感器系统。通过追踪位置变化、速度矢量以及加速度等关键参数可全面了解车辆动态。
  • 激光雷达(LiDAR): 由多组高能激光器组成的工作装置在Apollo计划中被广泛用于环境感知系统。该装置能够360度扫描周围障碍物并通过反射光信号生成点云数据为后续分析提供基础信息。
  • 摄像头: 主要用于采集图像信息的技术设备结合计算机视觉算法可解析图像内容并辅助环境感知工作。由于其能够捕捉丰富的色彩信息因此广泛应用于交通监控领域。
  • 雷达: 同样用于障碍物探测的重要技术手段但由于其分辨率限制难以明确识别探测到的具体障碍类型然而其成本低廉适应性强等特点使其成为理想的选择方案。

开源软件架构

开放式软件架构包含三个主要层次:支持实时系统的操作平台、具备灵活扩展能力的运行时框架以及功能完整的应用程序模块集

  • 实时操作系统(RTOS): 能够在规定时间内可靠地完成所需任务,在无人驾驶车的操作系统中体现为"实时性"特性。这种特性要求无人驾驶车的操作系统能够在汽车传感器收集外界数据后迅速启动计算流程,并及时执行相应的操作。
  • Apollo RTOS: 由 Ubuntu Linux 操作系统与 Apollo 核心协同作用形成的独特的操作系统解决方案。作为业内领先的开源Linux发行版之一,在Apache设计理念的基础上融入了Apollo内核创新形成了专为实时系统设计的操作系统。
  • 运行时框架: 属于 ROS 机器人操作系统家族。
    • 它是基于ROS开发的机器人操作系统环境平台。
    • 该框架通过将ROS功能模块化实现了高度可扩展性和灵活性。
    • 每个功能模块负责接收来自传感器的数据并进行处理,并在此基础上生成相应的指令发送出去。
    • 各功能模块之间通过运行时框架实现通信隔离以确保系统的稳定性和可维护性。
    • Apollo团队对传统ROS进行了多项技术改进以适应无人驾驶车的需求:
      • 在共享内存实现方面引入了高效的同步机制减少数据复制需求并支持"一次性写入"模式以提高传输效率;
      • 采用去中心化的架构避免了单一节点故障风险;
      • 在消息传递层面引入了Protobuf协议实现了跨平台的消息兼容性保障了系统的扩展性和兼容性;
      • 针对无人驾驶车的应用需求Apollo还专门优化了ROS的消息格式使其能够高效传输并存储;
      • 这些改进不仅提升了系统的性能还为其长期发展奠定了坚实的技术基础;

应用程序模块

应用程序模块

云服务

Apollo 云服务不仅限于存储数据,并且也包含了其他功能模块;其中一项重要功能是能够加速无人驾驶车软件开发与训练的关键工具集合;此外还包括高精度地图、仿真实验室(Simulation Environment)、海量数据分析平台(Data Platform)、安全防护系统等基础设施;同时还有空中升级软件包(UAM Software Bundle)以及被称为DuerOS的操作系统(智能语音交互系统);本节将重点阐述这两个关键组成部分:仿真实验室(Simulation Environment)和海量数据分析平台(Data Platform)。

  • 仿真环境平台: 作为 Apollo 开放软件栈的关键组成部分, 该平台不仅允许个人根据自身需求构建独特的仿真环境, 还整合了海量驾驶数据资源, 从而帮助开发人员全面评估无人驾驶软件系统的性能与可靠性。
    • 仿真环境 让 Apollo 车辆不仅能够观察周边环境, 还能实时掌握道路状况及场景信息. 该平台具备多项功能模块, 其中包含多场景配置功能, 可以根据障碍物布局、行驶路线及交通信号灯状态等不同条件自定义测试场景. 执行模式则提供了全面的测试界面, 用户可以在其中完整模拟各类行驶情境.
    • 执行模式 下, 开发人员可上传并验证各类功能模块. 当前自动评分系统基于多个关键指标对测试场景进行评估, 包括但不限于碰撞检测效率、交通信号灯识别准确性、速度控制严格性、障碍物探测灵敏度以及路径规划逻辑合理性等指标. 最后, 三维可视化模块 实时更新路况信息, 并动态展示无人驾驶车辆的状态与运行状态.
    • 数据资源对于无人驾驶技术的研发至关重要. 数据来源主要包括模拟场景数据与真实道路测试数据两大类. 在具体应用中, 我们支持两种不同的场景类型: 记录场景虚拟场景.

记录场景:重放我们在实际道路测试中已经观察到的传感器数据。

虚拟场景:通过虚拟编辑器生成新的驾驶场景这一操作能够有效提升算法的仿真测试效率。

  • 为了训练像深度学习网络那样的机器学习模型,我们需要带标签的注释数据,其中包括交通信号灯数据,带边界框的障碍物数据以及语义分割数据。此外,Apollo 已向公众发布了 ApolloScape 数据集,ApolloScape 涵盖了各种复杂路况,ApolloScape 在单个图像中列入并注释了多达162辆车或80名行人,同时开放数据集使用。
  • 语义分割****对图像进行逐像素标记, 这使得 ApolloScape 成为世界上最为复杂又最精准的无人驾驶数据集。Apollo 云服务也提供了信息安全,DuerOS 和无线更新等其他模块内容。

全部评论 (0)

还没有任何评论哟~