无人车框架内容(CAN总线、GPS、激光雷达、相机)

零、 无人驾驶技术框图

在这里插入图片描述

  • 如图所示,CAN总线的作用在于它凭借自身高速传播且不分主从设备的特点,连接起激光雷达、摄像头、车身控制系统(车门、车窗…)等诸多电子设备,使他们在同一块CPU的控制下,相互协调、区分优先级等。
  • 激光雷达用于感知车身周围环境,目前某公司的车身激光雷达可达到360°感知0.3m~200m范围的环境。由于激光雷达会受到物体激光反射度的影响,为了更加可靠地感知环境,可以配合摄像头,通过算法对接收到的图像进行行人、交通信号等的检测。提高汽车的行驶安全性。
  • 汽车的定位系统常利用GPS配合差分技术,但在于地下室等GPS信号较弱的地方定位不佳。常辅以SLAM(同步定位与地图构建),SLAM的缺点在于当行驶距离较长误差会增大。由于CAN负载多,GPS与SLAM的信息可以以串口传给CPU。
  • 无人车还需要用软件编程,基于感知到的信息定位信息实现路线的规划、避让/制动等行为的规划、加减速/转弯等动作的规划
  • 为了实现平滑的加减速与转弯,需要利用反馈控制来让无人车稳定地达到预期的指令效果。PID控制可以增加汽车控制的鲁棒性、稳定性、抗干扰能力,使无人车更好地达到控制效果。

一、差分GPS

1.1 GPS

• 构成:GPS(Global Positioning System)由卫星星座、地面监控部分、GPS信号接收机三部分构成。
• 原理:测出用户设备到3个空间卫星的距离(称伪距),以卫星为球心作3个球,所测卫星表面与这三个球面的交点为所测位置。

  1. Q1:什么是伪距?A1:测得的距离含有时钟误差和大气层折射延迟,而非“真实距离”,故称伪距。
  2. Q2:如何测量用户到空间卫星的距离? A2:将接收设备与卫星内部放入原子钟,让卫星发出信号,记录时间t1,当设备接收到信号,记录时间t2. (t2-t1)/信号传播速度可以得到伪距

• 分类:动态定位与静态定位。动态定位可以实时、直接获得用户坐标;静态定位需要进一步解算。因此动态定位用户站的天线会随运动而变化,而静态定位的天线静止。
• 不足:由于轨道、传播延时、原子钟、对流层等产生的误差对于伪距的影响极大,就算增多卫星对单点进行测距残差仍然无法忽略。

1.2 差分GPS

• 原理:将差分技术用在GPS上即差分GPS技术。在地面设置一个经过精密测量、已知精度坐标的差分基准站,基站与卫星的距离可以相对准确地算出。通过实时地运用GPS测伪距,可以得到附近设备GPS测量的公共误差,由此可以改正附近用户的定位结果。
• 分类:位置差分、伪距差分、载波相位平滑伪距差分、载波相位差分。

1.2.1 位置差分

• 原理:基准站精确坐标为 ( X 0 , Y 0 , Z 0 ) \left( X_0,Y_0,Z_0 \right) (X0,Y0,Z0) ,经由4颗卫星观测后解方程组算出基准站实测坐标 ( X ∗ , Y ∗ , Z ∗ ) \left( X^*,Y^*,Z^* \right) (X,Y,Z) ,由 Δ X = X 0 − X ∗ \varDelta X=X_0-X^* ΔX=X0X(Y、Z轴同理)得出坐标改正数 Δ X    Δ Y    Δ Z \varDelta X\,\,\varDelta Y\,\,\varDelta Z ΔXΔYΔZ 。用户收到卫星测到的伪距坐标后加上修正数即可得到更为精确的位置,即 X u = X u ∗ + Δ X X_u=X_{u}^{*}+\varDelta X Xu=Xu+ΔX
• 用户接收机位置变化时可以进一步写为 X u = X u ∗ + Δ X + Δ d ( Δ X ) d t ( t − t 0 ) X_u=X_{u}^{*}+\varDelta X+\varDelta \frac{d\left( \varDelta X \right)}{dt}\left( t-t_0 \right) Xu=Xu+ΔX+Δdtd(ΔX)(tt0)
• 缺点:需要用户站到基准站的距离较近才能实现(所有差分GPS都会有),且需要用户站与基准站共用相同的几个卫星。优点:计算简单。
• 应用:适用于各种GPS机。

1.2.2 伪距差分

• 原理:遵循差分GPS的原理,与位置误差的不同点在于:不再以简单相减得到的 Δ X    Δ Y    Δ Z \varDelta X\,\,\varDelta Y\,\,\varDelta Z ΔXΔYΔZ作为误差。而是基准站会测量所有可见卫星的伪距与收集星历文件,利用 α-β滤波器得到一个经过过滤的公共误差,可以提高精度。(具体计算方式暂省略。)
• 优点:解决了用户站与基准站采用不同的卫星导致的精度不稳定问题。

1.2.3 载波相位平滑伪距差分

特点:用载波相位测量辅助码相位测量

1.2.4 载波相位差分

又称为RTK技术(Real Time Kinematic),特点体现在其数学意义上。(没看懂ORZ)

二、汽车CAN总线协议

2.1 什么是CAN总线?

• CAN 总线是现场总线的一种,区别于一般的点对点的总线结构,CAN((Controller Area Network)总线协议通过让ECU(Electronic Control Unit)通过支线挂载到同一根主线上、利用分时及仲裁的方式保证了每个节点可以直接地作为主节点,来被CPU控制,实现多主结构,或者说不分主从。
• CAN于汽车:现代汽车典型控制系统有:电控燃油喷射系统、电控传动系统、防抱死制动系统。许多动态信息还需要与车速同步。为了满足各子系统的实时性要求,有必要对汽车公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等。CAN总线本身具有极高的通信速率与正确率,且可以处理多信号的竞争。

2.2 CAN总线的特点

(PS:多图来自维克多汽车技术

2.2.1 位值与通信距离

CAN总线逻辑用显性和隐性两个互补逻辑表示0与1,当CAN_H与CAN_L的差值Vdiff超过一个阈值时,总线传输数据就相当于逻辑0。CAN 总线的通信距离最远可达10Km(位速率为5 kbps) ,通信速最快可达 1Mbps(此时最长通信距离为40m)。
在这里插入图片描述

在这里插入图片描述

2.2.2 报文传输

CAN总线所连设备不分主从,可以实现点对点、一点对多点、全局广播等收发数据操作。传输采用帧格式(64~1518Byte),帧类型分为数据帧、远程帧、错误帧和过载帧。

2.2.3 仲裁

如果两个以上的节点同时开始传输报文,这时需要采用逐位仲裁。每一位又按照与优先的形式仲裁。即:与“与结果”相同的位所在线路可以继续进行传输,而不同的线路则暂时停止,等待下一轮仲裁。
在这里插入图片描述

2.3 通信结构

2.3.1 微控制器

带有很多的其他电子元件,与CAN控制器相连,负责与应用层的交互,可以实现与CAN控制器的信息发生/接收。

2.3.2 CAN控制器

主要用于保证数据的链路层和物理层的通信质量,将从微控制器中收到的报文封装成二进制码。其中:
在这里插入图片描述

  1. 接口管理辑(IML)负责解释来自 CPU的命令,控制 CAN 寄存器的寻址,向主控制器(CPU)提供中断信息和状态信息。

  2. 报文缓冲器:有一定的字节长度,使CPU/位流处理器在处理一条报文的同时继续接收下一条指令。

  3. 验收滤波器(ACF)将一条接收到的报文标识码与验收滤波器中的预设值相比较,以决定是否接收这条报文。

  4. 位流处理器(BSP)执行总线上的错误检测、仲载、总线填充和错误处理。

  5. 位时序逻辑(BTL)监视串行的CAN总线和位时序。每一帧开始的头为0(总线空闲时为1),也就是一帧中的SOF为0,这也被称为硬同步,旨在确定每一帧的起始范围。以及接收报文时继续以调整报文中插入的缓冲段进行同步,这被称为重同步。

  6. 错误管理逻辑(EML)负责限制传输层模块的错误,它接收来自位流处理器的出错报告。
    2.3.3 总线收发器
    负责二进制信号与电平信号的转换。始端与CAN总线的最远端都有一个终端电阻,主要用于保证电平信号的阻抗连续性,一般为120Ω。

2.4 帧结构

2.4.1 分类

标准数据帧(id:11bit;DataField:0-8bit)、远程帧(id:11bit;DataField:无)、拓展帧(id:29bit;DataField:0~8bit)、远程拓展帧(id:29bit;DataField:无)。

2.4.2 结构组成

在这里插入图片描述

• SOF:帧起始的标志位,为0
• Identifier与RTR构成仲裁场
• RTR:为0时帧带有Data Field,为1时为远程帧无Data Field
• IDE:为1时是拓展帧,在IDE后边增添18bit
• DLC:转换为十进制数为K(0<=K<=8)时表示Data Field有K字节
• Data Field:即发送的数据,CAN中有位填充机制-当SOF到CRC位出现连续5bit的电平无变化时填充一位取非的电平信号。(位填充的目的:1.与EOF和ITM组成的11位的1区分开。2.避免持续出现同一电平位出现的信息缺失。)
• CRC:校验码,发送时Identifier~DataField的二进制数除以一个多项式结果存入CRC,当接收到的数除以同样的多项式得到同样的CRC时,数据传输无错误。当CRC不同时,会立刻发一个ACK为1的帧。
• ACK与DEL构成应答位,发送端写入ACK与DEL均为1,校验成功后,接收端会将ACK写0。DEL一直置1。
• EOF:表示帧的结束。7个bit的1。
• ITM:帧间隔,3个bit的1。表示至少在3bit的间隔后,才能接收下一个帧。

2.5 CAN总线的数据保护

2.5.1 错误检查

• 发送端:

  1. 位监控:通过比较输入数据与总线回读数据看有没有那个位变化了,比如仲裁失败时的错误。
  2. ACK Check
    • 接收端:
  3. 位填充机制检查。
  4. ACK=0,DEL、EOF均为1。否则报错。
    2.5.2 错误帧
    • 当检测到错误时,下一帧立马发错误帧(除CRC外)
    • 错误帧由错误标志位+错误助记符(8个位的1)。
    • 错误标志位包括主动错误状态(6个0)与被动错误状态(6个1),主要由接收/发送端的错误计数器来判断。
    • 主动错误状态与被动错误状态的区别在于:主动的在ITM之后就可以访问总线了,而被动的要额外等待8bit

三、激光雷达

3.1 什么是激光雷达?

激光雷达,又叫激光阵列距离扫描仪(Laser Range Scanner),近几年,在三维空间的实时目标获取方面取得了重大成就。这种感知设备,可以部分穿透树叶,对地表进行测量,用在汽车上,让汽车能够区分薄纸片与小孩,这是传统摄像测量技术无法实现的。并且,相对于传统的激光测距技术(点对点的),激光扫描测量技术极大地提升了测量的精度、速度,还可以实现三维数据的获取,这是传统测距技术无法实现的。

3.2 原理

-激光测量由激光扫描器与距离传感器合作建立三维模型。激光扫描器由激光发射器、接收器、计数器、微电脑等组成。激光发射器周期地驱动激光二极管去发射激光脉冲,然后由接收器进行接收反射的激光,计时器会记录下所用的时间,有微电脑进行内部的处理、显示或存储角度信息与距离信息,在于距离传感器获取的数据相匹配,搭建立体的点云图模型。

在这里插入图片描述

3.3 特点

• 激光雷达在使用上,显示的图像中偏蓝代表物体反射度偏低,变红代表物体反射度偏高。
• 相比于相机,激光雷达可以360°监测,且由于它自带光源因此在黑暗环境下也不影响使用
• 要素:分辨率-当每周期激光发出的点够多是才能更好地识别物体。抗干扰性-当无人驾驶汽车慢慢增多时,激光雷达需要只处理自己发出的激光而不被其他车辆的激光干扰。

四、摄像头

4.1 分类

根据数据信号不同,摄像头可分为数字式和模拟式两种。数字式摄像头采集到的图像将通过内部的感光组件及控制组件进行转换,转换后的数字信号可以方便的进行数据存储。而模拟式摄像头在进行数字信号转换时,就需要借助视频采集卡等组件来完成操作,转换速率和成本上不及数字式摄像头。

4.2 原理

小孔成像,光线穿过透镜到达CMOS,会被转化成模拟信号,再经由数模转换器,就变为方便存储、调色的数字信息。随后数据到达ISP(不知道是不是只有手机摄像头有)会对数据进行色彩还原、压缩同时传给屏幕。

4.2 应用时的注意事项

• 运用在汽车上,摄像头相对于激光雷达需要强大的图像处理算法进行处理。不过目前也有一些折中的方案,如依靠激光雷达测距、依靠摄像头识别路标以及道路边缘。
• 当结合激光雷达使用时,需要将摄像头与激光雷达感知到的图像坐标转换到相同的车辆坐标下。
• 协调可信度:与激光雷达的可信度有可能不同,需要处理。
• 摄像头在强光、黑暗、遮挡的情况下效果会大打折扣。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值