基于手机远程自主车辆状态监视APP设计(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

基于手机远程自主车辆状态监视APP设计(3)

测试的车辆大约有 70 辆,和菲亚特克莱斯勒合作后,谷歌无人驾驶车队的车辆 数目将扩大一倍以上,并加入一批大型车辆。这对于谷歌获取更多的测试数据推 动无人驾驶汽车的进步有着重大的意义。 

作为特斯拉背后的技术功臣,使用目前价格较为低廉的集成摄像头,并研发 了专用的处理芯片,潜心十年研发精准的识别算法,以色列 Mobileye 公司是一 个实干家且更加满足市场的需求。特斯拉公司在 2016 年购买了 Mobileye 的系 统。特斯拉公司成立于 2003 年,是一家位于硅谷的汽车公司,与传统的汽车公 司不同的是特斯拉始终用 IT 公司的思维在制造汽车。除了电力驱动,特斯拉的 汽车生来就非常适应无人驾驶。Mobileye 将在未来几个月内推出下一代 8 目摄 像头 EyeQ3 并应用于特斯拉无人车。“大脑”方面,Tesla 有两组独立运行的深 度学习算法,一个是特斯拉自己的无人驾驶系统,另一个是 Mobileye 的系统, 两个系统都在不停的训练升级,目的是最终实现真正的无人驾驶。特斯拉为联网 控制车内设备开放了许多的接口,加之目前特斯拉的辅助驾驶功能已经十分完善, 新的特斯拉辅助驾驶技术将带有学习功能。虽没有完全实现无人驾驶,至少让我 们看到了未来无人驾驶汽车的影子。 

图 1。5 Mobileye 防撞系统

国内的无人车研究也已经在紧锣密鼓的进行中。由百度研究院自主研发的百 度无人驾驶汽车项目开始于 2013 年。百度利用现有的地图,大数据,人工智能 技术开发自己的无人驾驶汽车。2015 年 12 月,百度宣布百度无人车首次实现环 路,城市道路和高速公路的混合路况无人驾驶。 

腾讯控股,富士康和英菲尼迪投资的和谐富腾是一家互联网汽车企业。他们 成立于 2015 年,高管大多由谷歌,特斯拉等传统汽车和互联网行业人员组成, 目前正准备进军电动无人驾驶领域。 

1。2 Android 平台介绍

Google 不是一家生产手机的公司,但是却凭借发布 Android 这个移动平台在 2007 年 11 月 5 日进入了许多移动设备中,例如智能机,掌上电脑还有便携上网 本。Android 商店是由谷歌研发的为 Android 设备使用的在线软件商店。在 2008 年 10 月 22 日开放给用户。大多数 Android 设备预先安装了“Market”应用。 Android 应用数量在 2014 年也已经超越 IOS,成为应用软件最多的手机操作系 统。 

根据 IDC 的数据显示(图 1。6),Android 在近几年的市场占有率一直远远领 先其它手机操作系统。 

图 1。6 各大手机操作系统市场占有率

Android 不仅仅是一个手机操作系统,Android 是包含了一个操作系统,开发 框架和一些关键应用的软件集合。Android 的系统架构在图 1。7 给出,包含几层: 应用层,应用框架层,类库层,Android 运行时和 Linux 内核层。Android 开发组 件(SDK)包含一套综合的开发工具,它是谷歌官方给出的开发工具,Android 开

发者都能使用 SDK 开发自己的 Android 应用。本文就是使用 Android SDK 进行

Android  APP 的开发的。 

图 1。7 Android 架构 应用层是最高的一层,提供了系统必要的应用程序,包括 email,短信,日

历,地图,浏览器,通讯录等。所有这些程序都是用 JAVA 编程语言编写。Android

的应用是可以同时的运行的。你可以一边听音乐一边读电子邮件。应用框架是为 了特定的操作系统提供软件编写的标准结构的软件框架。通过 Managers,Content Providers 和其他服务 程序的帮助, 我 们可 以重用已有的应 用的 功能。 在 Application Framework 之下的一层包含了两部分完全由 C/C++语言编写的类库。 他们会被 JAVA 接口所调用。这些类库包括 Surface Manager,2D 和 3D 的图像 处理,媒体文件如 MP3,MPEG-4 的编码解码,SQL 数据库 SQLite 以及一个 Web 浏览器的引擎 WebKit。另一部分类库叫做 Android 运行时,提供了 JAVA 语言功 能需要实现的一系列核心类库。每一个 Android 应用在自己独立的进程里运行, 拥有独立的 Dalvik 虚拟机,Dalvik 虚拟机运行一种 Dalvik 可执行文件(。dex), 这种格式的文件组成的目的是为了占用最小的内存。最底层是 Linux 内核层, Android 基本上都依赖于 Linux 的核心系统服务,比如安全功能,内存管理,进 程管理,网络协议栈和驱动模块。内核层也是作为一个其它软件和硬件之间的抽 象层[6]。  (责任编辑:qin)