Advertisement

Apollo无人驾驶课程 Intro

阅读量:

高精地图

用于自动驾驶的地图

如何采集与生成:

IMU: 监测x、y、z轴的加速度变化及其间的相对运动情况。
wheel rate sensor: 用于检测车辆车轮的旋转频率。
GPS: 适用于空旷的地方,在高速场景下效果显著;通常情况下无需过于复杂的算法设计。
LiDAR: 用于精确测定物体间距离;通过发射与接收激光束来获取数据。

在这里插入图片描述

J = Q(z - h(m, x))
高效精准地图计算模型:Q为用于优化的模型;z为激光雷达采集得到的点坐标;h为通过方程预测最新的扫描点位置;m为该扫描点在地图中的位置坐标;x为无人车当前位置坐标。
初始状态下未知参数m和x,在获取多传感器数据后可初步确定参数m,并进一步确定无人车位置x。

有时将视觉数据与激光雷达数据相结合,并利用其丰富的色彩信息弥补了传统雷达在图像捕捉方面的不足

规范:

NDS,OpenDRIVE
主要以下几个概念:Section,line,Junction.

在这里插入图片描述

通过基于reference line 偏移量来描述。

一些公司的方案:

地图上记录着车辆或其他移动物体的数据,并定期去除这些点云数据。被称作feature的部分是静止的物体,在定期的时间间隔内被更新到地图中。

在这里插入图片描述

路口处提供虚拟lane

在这里插入图片描述

Apollp的方案:

在这里插入图片描述

借助百度所供应的软体完成测绘工作,在收集回的数据之后,在云端基于百度的数据资源生成高精度地图。

自定位技术

在这里插入图片描述

姿态是说绕三个轴的旋转。

激光定位

首先呈现一个地图图像,并将其点云数据转换为二维网格形式进行划分,在每个小格子中存储相应的颜色信息以及高度数据等关键参数信息。接着通过车载实时监测系统与各个小格子的数据进行对比匹配计算出车辆在该二维网格中的具体位置坐标值。随后采用重合度指标以及线段距离度量指标对计算结果进行验证并结合图形展示帮助实现车子的实时定位功能

在这里插入图片描述

定位基础知识

二维旋转矩阵:三维同理

在这里插入图片描述

ECI地心惯性坐标系:x和y指向两个恒星,不随地球的自转运动。IMU的输出是基于这个参考系下的量测输出。
ECEF地心地固坐标系:x和y轴是随着地心转动的。地球上任意一点有唯一坐标。
UTM坐标系(水平地图):坐标(x,y)加投影带代号表示地球表面唯一的点,坐标与经纬度或者ECEF坐标系有确定的转换关系。高纬度误差会大,使用不同的坐标系,利用这个坐标系做输出。
当地水平坐标系:通常定义为ENU,位于载体上面,东向北向天向。称为导航坐标系。可以绕ECEF旋转得到。
车体坐标系:RFU(右前上)与FLU(前左上),随载体转动,所以是局部坐标系。可以对于ENU有旋转差异。
IMU坐标系:基本上和载体坐标系相同。IMU:惯性测量单元
激光雷达坐标系:固定于雷达上,通过外参与IMU有关系。
相机坐标系:通过外参与IMU有关系,因为其与IMU有旋转关系。

无人车定位所涉及的坐标系:IMU,ENU,车体坐标系他们之间都是旋转关系。

Apollp用到的技术

GNSS 定位采用全球卫星导航系统作为基础框架,在完成实验验证后可实现位置测定功能。
载波定位技术能够在 5 秒时间内实现厘米级精度。
PPP 系统根据不同区域特点采用了多样化的消除误差方法,并且 RTK 系统的应用范围较为广泛。
激光点云定位系统能够输出 XYZ 坐标数据以及 YAW 角度参数,并将大地图划分为多个小网格区域。
通过检测获取的点云数据与预设网格进行匹配处理后可实现厘米级精度目标。
LK 算法用于优化目标物的姿态参数设置,在实际应用中当目标物姿态参数的位置误差超过 1 米时需及时采取纠正措施。
通过综合考虑反射值与高度信息进行自适应匹配处理后可实现厘米级精度目标。
基于视频图像的信息提取技术可有效利用道路标志信息或交通信号指示等多类道路特征信息作为视觉感知基础。

在这里插入图片描述

捷联惯性导航系统:误差随时间累计。

在这里插入图片描述

综合上述:最后的自定位融合上述一些技术最终得到组合导航系统

在这里插入图片描述

自定位技术开源代码及论文:

可靠且精确的车辆定位系统基于多样化的城市场景下的多传感器融合技术,在ICRA 2018会议上进行了详细展示。Apollp开源项目提供了一个公开可用的学习与导航算法库。

Apollo ROS介绍 底层数据通讯结构

目的:通过将底层算法模块与通讯框架整合实现其快速处理能力,并使其具备高度安全性和稳定可靠性的运行效能。 两节点通讯链路过程:分别称为Publisher, Subscriber

中心化网络拓扑

在这里插入图片描述

发布者:发布自己的数据
流程:
1:发布者向Master注册自己的数据源
2:订阅者向Master注册自己的订阅点
3:Master将现有的发布者数据拓扑结构发送给订阅者
4:订阅者接收到该拓扑信息后请求与发布者建立TCP连接
5:通过P2P方式与订阅者建立连接后持续不断地传输数据到订阅点。

优点:具备较强的节点容错能力,并且各语言模块之间相互隔离以降低耦合度;开发过程中各模块间的耦合度较低
缺点:严重依赖单个Master节点运行;缺少针对异常的自动修复机制
尤其是Master作为拓扑网络的核心节点之一,在发生故障时可能会影响整个系统运行。

在这里插入图片描述

车上通常配置有冗余备用系统,在主系统出现故障时态下(即发生故障时),整个系统无法正常运行(即无法达到预期作用)。

去中心化网络拓扑

为了改进以上缺点,采用去中心化网络拓扑。

在这里插入图片描述

去中心化:分布式系统中通常采用的方式是邀请用户注册并完成身份认证流程后才能访问服务资源。当用户注销账户时,则会触发相应的注销流程以释放资源占用空间。

  1. 所有注册的新用户都会收到一条通知,请他们立即开始使用我们的服务功能。
  2. 当新用户接入系统后(即接收到来自已有用户的连接请求),他们会自动建立双向通信连接。
  3. 随后系统会将现有网络结构的信息同步给新增用户,并更新其本地存储中的拓扑数据模型。
  4. 流程图
流程图

每个节点并不是单一的角色类型,而是通常同时扮演发布者和订阅者两种角色。任何接收来自上层的消息后,在回调处理完毕后会立即转发给下一层的Subscriber。

Rviz是一种可视化拓扑网络工具,它也是一个Ros节点

在这里插入图片描述

使用EclipsePlugin引入Rviz的相关功能进行调试

四个需要用到的重要功能

TF坐标转换

每个节点各自都是彼此独立的,在此情况下,每个节点所对应的局部坐标系必须整合成一个统一的世界坐标系。

在这里插入图片描述

RQT

ROS中的QT可视化工具是一种直观展示的重要工具。

URDF

Robot Models 机器人表述语言的核心在于对节点及其关联关系的系统化描述。 Link作为模型中的关键元素代表独立个体或实体单元,而 Joint则体现了不同Link之间建立的具体连接机制与互动模式

在这里插入图片描述

SDF

另一种调试工具

在这里插入图片描述

Service

不同于之前基于消息的订阅发送模型。在实际中使用的还是非常广泛的。

在这里插入图片描述

ROS Actions

比Service多了一个Cancel功能,在目前使用较少。

在这里插入图片描述

ROS Time

在模拟运行时长方面进行测试研究时所使用的仿真实验数据全部来源于之前的记录,在构建仿真实验环境中时会复制当时的运行条件

在这里插入图片描述

ROS Bags

1:在实际调试过程中获取的数据被系统记录下来并存储于特定的文件夹中,在回到实验室后工作人员会从中提取数据并还原真实场景以供分析研究。例如当车辆在某条限速路段做出错误判断时技术人员可以通过复现这一过程来验证算法性能并评估新算法是否能够有效弥补此处缺陷。
2:在算法训练过程中 除了使用单机数据外 在线收集多源异步 bags 数据也是必要的 已经证明这种混合数据训练策略能显著提升模型鲁棒性。

在这里插入图片描述

Debugging Strategies

RQT提供的诊断程序,当节点运行不起来时,到底哪里错了

在这里插入图片描述

Apollo平台介绍

待填::

在这里插入图片描述

https://apollodreamlandprod.b2clogin.com/apollodreamlandprod.onmicrosoft.com/oauth2/v2.0/authorize?p=b2c_1a_signup_signin&redirect_uri=https%3A%2F%2Fazure.apollo.auto%2Fauth%2Fopenid%2Freturn&response_type=code id_token&response_mode=form_post&client_id=622ae2f5-9f92-492b-b9a8-967f3b1f63e9&state=CUSTOMa1zr-Ci1YgdFmvyqh0yHyK_bhG5F3J9Dmy_state&nonce=53D3OVFQfEwX34ZhqqxLbVr4O48yUHX0&scope=offline_access openid&x-client-SKU=passport-azure-ad&x-client-Ver=3.0.12
Online simulate software

决策规划

运动规划:Motion planning
本质是搜索

全部评论 (0)

还没有任何评论哟~