之前读了一些相关的博文和技术类文章,今天来做个大汇总~~
2、还有控制器:
在前期算法预研阶段,推荐使用工控机(Industrial PC,IPC),因为工控机比嵌入式设备更稳定、可靠, 区支持及配套的软件也更丰富。百度开源的Apollo推荐了一款包含GPU的工控机,型 为 Nuvo-5095GC,回头可以查一查。
当算法研究得较为成熟时,就可以将嵌入式系统作为控制器,比如Audi和TTTech共同研发的zFAS,目前已经应用在最新款Audi A8上量产车上了。
3、can卡
工控机与汽车底盘的交互必须通过专门的语言——CAN。从底盘获取当前车速及方向盘转角等信息,需要解析底盘发到CAN总线上的数据;工控机通过传感器的信息计算得到方向盘转角以及期望车速后,也要通过 CAN卡 将消息转码成底盘可以识别的信 ,底盘进而做出响应。CAN卡可以直接安装在工控机中,然后通过外部接口与CAN总线相连。
Apollo使用的CAN卡,型 为 ESD CAN-PCIe/402
4、全球定位系统(GPS)+惯性测量单元(IMU)
无人驾驶系统依靠GPS+IMU就可以知道自己在哪(经纬度),在朝哪个方向开(航向),IMU还能提供诸如横摆角速度、角加速度等更丰富的信息,这些信息有助于自动驾驶汽车的定位和决策控制。
Apollo的GPS型 为NovAtel GPS-703-GGG-HV,IMU型 为NovAtel SPAN-IGM-A1。
5、感知传感器
感知传感器包括视觉传感器、激光传感器、雷达传感器等。
视觉传感器就是摄像头,摄像头分为单目视觉,双目(立体)视觉。比较知名的视觉传感器提供商有以色列的Mobileye,加拿大的PointGrey,德国的Pike等。
激光传感器分为单线,多线一直到64线。每多一线,成本上涨1万RMB,当然相应的检测效果也更好。比较知名的激光传感器提供商有美国的Velodyne和Quanergy,德国的Ibeo等。国内有速腾聚创和禾赛科技。
雷达传感器是车厂Tier1的强项,因为雷达传感器已经在汽车上得到了广泛使用。知名的供应商当然是博世、德尔福、电装等。
《二》、软件方面:
先说需要的东西吧!!!
(1)、操作系统
推荐使用 Linux 作为无人驾驶研究的操作系统。大部分做无人驾驶的团队都用的 Linux,最常用且普及率很高的当属 Ubuntu 系列,从稳定性上,推荐安装 14.04 版本。
链接:http://pan.baidu.com/s/1jIJNIPg 密码:147y
(2)、Linux基本指令必学指数
命令行操作不仅对开发大有帮助,且使用指令 apt-get install,可以快捷地完成很多软件的安装。
(3)、开发环境安装
开发环境涉及很多实际使用的库,下面通过安装某大牛在工作和学习中经常使用到的库,搭建环境所需安装包:
链接:http://pan.baidu.com/s/1sllta5v 密码:eyc8
开发环境介绍:
QT: 主要作用是做交互式的界面,比如在界面中显示当前传感器采集到的各种信息。界面交互会明显加快开发者调试程序和标定参数的过程。
OpenCV:一个非常强大的库,其中封装了大量的可应用于无人驾驶研究的函数,包括各种滤波器算法、特征点提取、矩阵运算、投影坐标转换、机器学习算法等。当然最重要的是,它在计算机视觉领域的影响力,相机标定,目标检测、识别、跟踪的接口使用起来十分方便。电子版:
链接:http://pan.baidu.com/s/1dE5eom9 密码:n2dn
libQGLViewer: OpenGL 适配 qt 的一个库,编程接口及方法与 OpenGL 大同小异,我们经常在各大无人驾驶公司宣传画上看到的环境感知信息的显示,就完全可以用 QGL 做出来。
官 链接:libQGLViewer Home Page
Boost:有着“C++准标准库”之称。对于C++开发者来说,方便直接调用,Boost是基于标准C++开发的.
QCustomplot:可以通过平面图的形式显示车载传感器的信息。鉴于 qt 内部只提供了基本的直线、圆等绘图工具,使用起来并不是很方便,因此QCustomplot诞生了。简单地调用API,然后把想要显示的数据作为参数输入进去,就可以绘制出下面这些很棒的图形。而且可以很方便地拖动和缩放。
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34802 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!