基于Android平台的环境与位姿感知(3)
时间:2019-01-24 21:24 来源:毕业论文 作者:毕业论文 点击:次
由于CCD和CMOS的工作方式不同,它们在效能和运用方面也各有差异,主要表现为,在像素尺寸相同的情况下,CMOS传感器的灵敏度要低于CCD传感器;在成本方面,CMOS传感器采用一般半导体电路最常用的工艺,成本比CCD传感器低;在分辨率方面,由于CMOS传感器的每个像素都比CCD传感器复杂,因此相同尺寸的CMOS传感器的分辨率通常会低于CCD传感器;噪声方面,由于CCD传感器只有一个放大器在芯片边缘,CCD传感器的噪声比具有多个放大器的CMOS传感器低很多,图像质量也更好 [21]。 本章主要分析了无人驾驶汽车的发展现状和无人驾驶汽车的定位技术研究现状,结合我国自主GPS定位技术日趋成熟,以及Android平台本身强大的定位和传感器技术,提出了一种融合无人驾驶汽车视觉定位技术、Android平台GPS定位技术和无人驾驶汽车GPS定位技术的智能车辆定位技术,将三种定位方法得到的数据进行融合来提高智能车辆定位的定位精度,论文还实现了利用Android平台传感器获取智能车辆的方向信息。 2 Android开发平台搭建 论文使用的开发平台是2013年5月份,Google在I/O开发者大会上推出了基于IntelliJ IDEA Java IDE上的Android Studio。与传统的以Eclipse为框架搭建的Android开发平台相比,Android Studio是Google专门为Android开发量身打造的开发平台,而Eclipse 是一个开放源代码的、基于Java的可扩展开发平台,是一个自由的集成开发环境,不仅仅是为了Android开发。与Eclipse相比,Android Studio响应速度更快,UI更漂亮,更加智能,整合了Gradle构建工具,Gradle集合了Ant和Maven的优点,还拥有强大的UI编辑器,自带多设备实时预览功能。缺点就是Android Studio还没有发布正式版,可能有些不稳定,不过作为一个新手,选择一个年轻的而又有潜力的开发平台作为入门还是不错的。 2.1 Android系统简介 Android系统是一个以Linux为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google在2007年发布,由Google通过与运营商、设备制造商、开发商和其它有关方合作成立的Open Handset Alliance(OHA,开放手持设备联盟)持续开发中,以期在移动产业内形成开放式的生态系统,让Android系统具有强大的生命力和竞争力。 Android系统的开放性不仅体现在Android平台从底层操作系统到上层的用户界面和应用程序都不存在任何阻碍产业创新的专有权障碍,还体现在Android平台允许任何移动终端厂商加入到Android联盟中来。开源的最大好处是,使得Android平台会拥有越来越壮大的开发者队伍和厂商。开放就意着竞争,越来越多的厂商和开发者加入到Android平台,就会产生各种创新应用,硬件性能越来越高,软件种类层出不穷。由于Android系统的开源性,Android系统在车载系统中也有广泛的应用前景。 Android操作系统已经成为全球最大的智能手机操作系统。不仅仅是因为Google和OHA的联合推广,还因为Android系统具有如下一些特性:应用程序框架,支持重用和替换;专门为移动设备优化过的Dalvik虚拟机;内部集成了基于开源引擎WebKit的浏览器;基于OpenGI ES1.0的3D图形库;结构化的数据库SQLite;支持照相机、GPS、指南针、加速度计等传感器。Android系统采用了软件叠层的结构,主要分为三层:底层是Linux操作系统层,只提供基本的功能;中间件层;应用程序层。Android 的系统框架由Linux内核,android 虚拟机,C++ 函数库,应用框架和应用组成。 Android开发的核心需要掌握android的四个组件和各个组件的生命周期。四个基本组件由Activity ,Service服务,ContentProvider内容提供者,BroadcastReceiver 广播接收器组成。Activity 是作为用户交互的UI界面,里面包含了用户交互所需要的界面元素,也包含了事件处理等。是用户和应用之间联系的窗口。Activity之间通过Intent进行通讯。Service 是作为Activity的补充,可以一直在后台运行,跟界面没有关系,当然也有很多方式,使Service和Activity进行通信,使Activity进行UI操作。BroadcastReceiver 使应用只对自己感兴趣的外部事件进行响应。广播分为系统广播和自定义广播,广播的存在极大的方便了对设备的状态监控和应用之间的通讯,以及应用内部的交互。ContentProvider 内容提供商,主要实现应用之间的数据共享,当然这种数据共享也是有条件的,这种条件约束一定程度上提供了隐私的保护和数据的安全性保障,内容提供者给我们很方便的。 (责任编辑:qin) |