| by msbeta | No comments

MIT自动驾驶与深度学习公开课(1)-深度学习与自动驾驶介绍

本文来源于MIT深度学习与自动驾驶公开课-MIT 6.S094: Introduction to Deep Learning and Self-Driving Cars的PPT材料,版权归作者所有!有兴趣、有条件的同学可以到Youtube观看视频课程:https://www.youtube.com/watch?v=1L0TKZQcUtA&list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf&index=2

微信公众号”半杯茶的小酒杯”输入“MIT20200101”,获取MIT深度学习与自动驾驶公开课所有PPT与视频材料!

[……]

继续阅读

Read More
| by msbeta | No comments

自动驾驶定位算法(十四)-递归贝叶斯滤波

今天讨论无人驾驶汽车中高精定位相关的技术原理,同时也是机器人技术中的基础算法-贝叶斯滤波器(Bayes Filter)。

如上图,开始机器人不知道自己在哪里,跟人在陌生的环境中一样,一脸茫然,觉得四周哪里都一样,对机器人来说就是在任何地方的置信度都相等。

置信度(Belief)是什么

要让机器人理解物理世界,就需要给机器人安装各种传感器,比如摄像头、GPS、轮速记等等,通过传感器让机器人可以对周围环境进行建模,从而理解自己所处的位置和处境。真实的世界是非常复杂、动态变化的,机器人没有能力也不可能把周围环境都刻画出来。比如机器人运动过程中,受风速或者地面湿度影响,它通过轮速[……]

继续阅读

Read More
| by msbeta | No comments

3D平面拟合算法拟合Lidar点云

如下图所示,激光雷达(Lidar)扫描周围环境,会产生周围环境的3D点云数据。我们假设3D点云数据存储在一个数组中,每一行是一个点云坐标。

根据高中几何,我们知道,三维的平面方程为z=a+bx+cy。有了点云数据,我们可以采用最小二乘方法估算平面的方程参数(a, b, c),确定了这些参数,也就唯一确定了平面方程。

Python代码如下:

[……]

继续阅读

Read More
| by msbeta | No comments

基于Frenet优化轨迹的自动驾驶运动规划算法

动作规划动作在无人车规划模块的最底层,它负责根据当前配置和目标配置生成一序列的动作,我们前面讨论的三次样条插值实际上只是一个简单的路径,而非我们最终能够执行的轨迹,本文介绍一种基于Frenet坐标系的优化轨迹动作规划方法,该方法在高速情况下的高级车道保持和无人驾驶都具有很强的实用性,是目前普遍采用的一种动作规划算法。

基于Frenet坐标系的动作规划方法由于是由BMW的Moritz Werling提出的,为了简便,我们在后文中也会使用Werling方法简称。在讨论基于Frenet坐标系的动作规划方法之前,我们首先得定义什么是最优的动作序列:对于横向控制而言,假定由于车辆因为之前躲避障碍物[……]

继续阅读

Read More
| by msbeta | No comments

自动驾驶定位算法(十三)-粒子滤波(Particle Filter)

自动驾驶对定位的精度的要求在厘米级的,如何实现厘米级的高精度定位呢?一种众所周知的定位方法是利用全球定位系统(GPS),利用多颗卫星的测量结果,通过三角测量(Triangulation)机制确定目标的位置,GPS定位的原理见自动驾驶硬件系统(十一)-Global Navigation Satellite Systems,但是GPS并不总是提供高精度定位数据,在GPS信号强的情况下,定位精度在1~3m范围内,在GPS信号弱的情况下,定位精度下降到10~50m范围内。虽然依赖于RTK,可以将卫星定位的精度提高到厘米级,但是在GPS信号弱的场景下,定位精度仍然不能满足应用需求。所以仅仅使用GPS不能[……]

继续阅读

Read More
| by msbeta | No comments

自动驾驶路径规划算法——给初学者看的A*算法

A*算法可以说是一种非常古老的算法,本身的思路可以说非常简单,不过要设计一个好的A*算法却并不容易。

1.问题定义

假设无人驾驶汽车要从 A 点(绿色方块)移动到 B 点(红色方块),但是这两点之间被一堵墙(蓝色方块)隔开,如下图所示。

你可能应该已经注意到了,我们把搜索的区域划分成了正方形的格子,它的状态就是walkable和unwalkable,通过计算出从A到B需要走过哪些方格,就找到了一条可通行的路径。每个方格都可以成为一个节点,很多A*的文章都在讨论节点,为什么不直接描述为方格呢?因为我们有可能把搜索区域划为为其他多变形而不是正方形,例如可以是六边形,矩形,甚至[……]

继续阅读

Read More
| by msbeta | No comments

自动驾驶硬件系统(十二)-激光雷达(Lidar)测量模型

激光雷达(Lidar, Light Detection And Ranging)是Google系自动驾驶技术路线广泛应用的硬件传感器。

1、激光雷达(Lidar)的工作原理

通过持续不断的发射激光束,激光束遇到障碍物会产生反射,部分反射会被激光雷达(Lidar)传感器再次接收到,通过测量激光束发送和返回传感器的耗时(Round Trip Time)可以或者周围物体距离激光雷达的距离。

$r = \frac{1}{2} C * t$,其中r是激光雷达到障碍物的距离,C是光速,t是Round Trip Time,由于时间是从激光发送到接收的总耗时(往返总耗时),所以要再除以2[……]

继续阅读

Read More
| by msbeta | No comments

自动驾驶硬件系统(十一)-Global Navigation Satellite Systems (GNSS)

高精度全局定位系统本质上可以看做一个级联的定位系统,先通过GNSS系统提供一个可能的位置范围,再利用激光雷达(Lidar)系统、视觉定位系统等方法进行局部环境的搜索匹配,从而实现厘米级的定位精度。由于需要由GNSS为高精度定位系统提供全局唯一的位置初值和误差范围,所以它在自动驾驶系统中的作用至关重要。

一、什么是GNSS

全球导航卫星系统(Global Navigation Satellite System,GNSS)是能在地球表面或近地空间的任何地点为用户提供全天候的三维坐标、速度以及时间信息的空基无线电导航定位系统。目前最大的GNSS系统是美国的GPS、俄罗斯的GlONASS、[……]

继续阅读

Read More
| by msbeta | No comments

计算机视觉-Camera标定

1、像素坐标系与图像坐标系之间的关系

假设每一个像素在u轴和v轴方向上的物理尺寸为dx和dy

2、图像坐标系到相机坐标系

3、世界坐标系到相机坐标系

于是,从世界坐标系到像素坐标系的转换关系:

4、其他情况

考虑像素坐标系坐标轴不垂直的情况(实际相机由于制造工艺上的问题,导致物理成像坐标轴不是绝对垂直),如下图所示,假设O1在UV坐标系下的坐标为(u0, v0),像素的物理尺寸仍然为dx,dy,则有

矩阵形式如下:

世界坐标系与像素坐标系转换关系:

[……]

继续阅读

Read More
| by msbeta | No comments

自动驾驶传感器之毫米波雷达(Radar)

自动驾驶汽车相对与传统汽车而言,主要是给汽车装上了感知系统和处理大脑。感知系统数字化周围环境,然后将数字化的模型信息交由大脑来综合处理判断。用于感知的传感器有很多,毫米波雷达是比较常用的一种。

1.什么是毫米波雷达

毫米波本质上是电磁波,频率高于无线电,低于可见光和紫外线,频率大致在10GHZ-200GHZ。在车载领域比较常见的毫米波雷达有三种:

1,24GHz。这个频段的毫米波频率比较低,带宽比较窄(250MHZ),在实际应用中,主要安装在车辆的后保险杠内,监测车辆后方的障碍物,以决定能否变道、停车等。因此主要用途在于汽车的盲点检测、变道辅助。

2,77GHz。这[……]

继续阅读

Read More