汽车安全辅助系统的设计与实现_第1页
汽车安全辅助系统的设计与实现_第2页
汽车安全辅助系统的设计与实现_第3页
汽车安全辅助系统的设计与实现_第4页
汽车安全辅助系统的设计与实现_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要

随着城市化进程的发展和汽车保有量的提高,道路交通安全问题日渐突出。

可以在驾驶过程中为驾驶员提供支持和帮助,减轻驾驶员操作负荷的汽车安全

辅助系统得到了迅猛发展。随着人们对驾驶安全性的要求越来越高,汽车安全

辅助系统涉及范围也越来越广泛。大力研究开发汽车安全辅助系统,减少驾驶

员的负担和判断错误,对于提高交通安全将起到十分重要的作用。

本文首先通过介绍汽车安全辅助系统,阐述了研究汽车安全辅助系统学习

功能的背景和意义。系统通过各种传感器和摄像头采集各种行驶相关的数据,

包括行驶的轨迹点坐标、高度,行驶过程中的上坡、转弯等行驶动作信息,行

驶过程中遇到的交通标识,行驶过程中经过的道路类型、行政区(国家、城市

等)等信息,然后将交集到的数据与导航系统使用的电子地图数据建立映射关

系,以便于导航系统使用汽车安全辅助系统时在汽车导航系统的基础上开发的,

因此接下来介绍了汽正导航系统中与汽车安全辅助系统学习功能相关的技术,

包括路线计算功能、电子地图数据及导航系统的架构等。之后对汽车安全辅助

系统学习功能的需求进行了深入分析,并基于学习功能的需求,从系统结构和

数据库两方面对系统设计进行了阐述。

关键词:汽车安全;ADAS;汽车导航;学习功能

Abstract

Withthedevelopmentofurbanizationandtheincreaseofcarownership,the

problemofroadtrafficsafetyhasbecomeincreasinglyprominent.Theadvanced

drivingassistancesystem,whichcanprovidesupportandhelpforthedriverinthe

drivingprocessandreducetheiver'soperatingload.hasdevelopedrapidly.Withthe

increasingdemandfordrivingsafety,thescopeofadvanceddrivingassistance

systemismoreandmoreextensive.Itwillplayaveryimportantroleinimproving

trafficsafetytovigorouslyresearchanddevelopadvanceddrivingassistancesystem

toreducethedriver'sburdenandjudgmenterrors.

Inthispaper,thebackgroundandsignificanceofthestudyonthelearning

functionoftheautomobilesafetyassistantsystemaredescribedbyintroducingthe

automobilesafelyassistantsystem.Thesystemcollectsallkindsofdrivingrelated

datathroughvarioussensorsandcameras,includingthetrackpointcoordinates,

height,上下坡,转弯andotherdrivingactioninformationintheprocessofdriving,

trafficsignsencounteredintheprocessofdriving,roadtype,administrativeregion

(country,city,etc.)andotherinformationintheprocessofdriving,andthenusesthe

collecteddatawiththenavigationsystemInordertofacilitatethenavigationsystem

tousethecarsafetyauxiliarysystem,themappingrelationshipisestablishedbased

onthecarnavigationsystem.Iherefore,thetechnologyrelatedtothelearning

functionofthecarsafetyauxiliarysysteminthecarnavigationsystemisintroduced,

includingIheroutecalculationfunction,theelectronicmapdataandthearchitecture

ofthenavigationsystem.Afterthat,thedemandoflearningfunctionofautomobile

safetyassistantsystemisdeeplyanalyzed,andbasedonthedemandoflearning

function,thesystemdesigniselaboratedfromtwoaspectsofsystemstructureand

database.

Keywords:AutomobilesafetyADASCarNavigationLearningfunction

目录

摘要..................................................................I

Abstract.............................................................................................................................II

第1章绪论..........................................................1

1.1研究背景和意义................................................1

1.2汽车安全辅助系统概述.........................................2

1.2.1汽车安全辅助系统使用的传感器............................2

1.2.2主动巡航控制............................................3

1.2.3盲点检测.................................................3

1.2.4泊车辅助系统............................................3

1.2.5车线偏离警告与车线保持..................................4

1.3汽车安全辅助系统的发展趋势...................................4

1.4国内汽车安全辅助系统的发展状况...............................5

第2章汽车导航系统相关技术..........................................6

2.1汽车导航系统功能概述..........................................6

2.1.1车辆定位.................................................6

2.1.2路线计算.................................................7

2.1.3路线引导.................................................8

2.2汽车导航系统架构.............................................9

2.2.1操作系统/设备驱动程序层..................................9

2.2.2系统服务层...............................................9

2.3汽车导航系统使用的电子地图数据..............................10

第3章系统需求分析..................................................12

3.1需求分析.....................................................12

3.1.1数据学习................................................12

3.1.2数据传输................................................13

3.1.3汽车安全辅助系统学习功能的应用.........................13

3.2总体结构.....................................................14

3.3LearningNavigation的详细设计.................................15

3.3.1Trail和Trip.........................................................................................15

3.3.2模块结构................................................16

3.4LearningController的详细设计..................................16

3.5数据库设计...................................................17

3.5.1TrailsDatabase.......................................................................................18

3.5.2TripsDatabase.......................................................................................20

第4章功能实现....................................................23

4.1线程设计.....................................................23

4.2数据学习.....................................................23

4.2.1创建Trail..............................................................................................23

4.2.2道格拉斯■普客算法......................................25

4.2.3创建trip................................................................................................25

4.2.4Trip的导入与导出.......................................26

4.2.5报告交通标识...........................................27

4.3Job....................................................................................................................27

4.4数据传输.....................................................29

第5章系统测试.....................................................31

5.1测试策略.....................................................31

5.2系统测试.....................................................31

结论................................................................33

致谢................................................................34

参考文献............................................................35

附录1译文..........................................................36

附录2英文参考资料..................................................38

附录3电路图........................................................40

附录4程序代码......................................................41

第1章绪论

1.1研究背景和意义

汽车这一交通工具的诞生,为社会发展和人类生活带来了巨大的便利。作

为现代道路交通系统中的重要元素,汽车的保有量随着经济和社会的进步迅速

增加。但是,汽车的广泛使用在促进人类社会文明和进步的同时,也给人类带

来了一系列的负面效应,例如随时可能发生的直接危及人类生命和财产安全的

道路交通事故等。尤其是随着汽车性能的提高,行驶速度的加快,以及数量的

增加,交通安全问题日益凸显。据世界卫生组织(WHO)2004年发布的相关

数据显示,全球每天有超过3000人死于道路交通伤害,道路交通伤害占全球总

死亡的2.1%,并在全球主要死亡原因中排笫11位,而且道路交通死亡占全球

伤害总死亡的22.8%。其中驾驶员的人为因素导致的道路交通事故率最高.无

论是事故数量,还是伤亡人数均分别高达各自总数的90%左右。并且,在导致

这些道路交通事故的驾驶员的人为因素中,疲劳和精神分散驾驶是重要原因之

一驾驶员在3秒时间内的注意力不集中,造成了其中80%的交通事故,主要表

现为车道偏离和追尾事故。

驾驶员在驾驶过程中会面临非常复杂的状况。首先,驾驶员需要对汽车进

行动力控制。其次,他们还要保持对汽车周围环境的关注。第三,驾驶员还要

确定从出发点到目的地的线路。除此之外,驾驶员可能还会同时使用车载信息

娱乐系统或者与乘客聊天。在这种情况下,驾驶辅助系统能够帮助驾驶员监测

和处理稳定性、控制和导航三个层面的信息,这将有效减少驾驶员的工作负担,

并且提高操控的方便性和驾驶的安全性。

在过去的几年中,由于汽车数量的增加,道路的交通情况变得越来越复杂,

这使得驾驶员需要具各传感器、控制器和制动器那样的能力。汽车安全辅助系

统利用多种传感技术来感应周围的环境,并智能地汇集了外部以及内部数据,

系统能够有效增加汽主驾驶的舒适性和安全性,实现了对驾驶员驾驶捽制的支

持。研究显示,若在道路交通事故发生前的1.5秒给驾驶员发出预警,则可避免

90%的这类事故。可见,汽车安全辅助系统将能够明显减少交通事故的数量。

1

1.2汽车安全辅助系统概述

汽车安全辅助系统(ADAS,AdvancedDriverAssistantSystem),乂称为“先进

驾驶辅助系统“,它利用车辆上安装的各种传感器和摄像头收集车辆内外行驶相

关的信息,进行静动态物体的辨识、侦测、追踪等技术,的处理,判断对车辆

行驶可能存在的影响,利用收集到的信息通过直接或间接方式对驾驶员的驾驶

行为提供支持。例如,可以通过对驾驶员发出警告或提示,使得驾驶员注意到

即将发生的危险,从而及时采取措施。某些紧急情况下,系统可以直接影响方

向盘或其他设备,修正车辆的行为。

汽车安全辅助系统的主要目的是为了在驾驶过程为驾驶员提供支持和帮

助,减轻驾驶员的操作负荷,其系统设计的主要目标是能够提高驾驶的安全性

和舒适性。随着人们对驾驶安全性的要求越来越高,汽车安全辅助系统涉及范

围也越来越广泛。大力研究开发汽车安全辅助系统,减少驾驶员的负担和判断

错误,对于提高交通安全将起到十分重要的作用

下面简单介绍汽车安全辅助系统使用的传感器和常见的系统功能。

1.2.1汽车安全辅助系统使用的传感器

汽车安全辅助系统基于多种不同的传感器,下面简单介绍几种常用传感器。

77GHz的雷达传感器:该传感器用于主动巡航控制系统(ACC)可以测量前

方车辆的速度以及两左之间的距离,同时可以监测自身车辆的速度和距离C主

要用于高端奢华轿车型。

激光传感器:相比于雷达传感器,这种传感器发射激光脉冲,并能检测从

其他物体反射回来的无线。与其他物体之间的距离可以通过信号延迟的时间来

进行计算。多用于中级轿车和经济型轿车。

短程雷达传感器:工作频率是24GHz,用于监测车辆附近的物体。这种传感

器一般安装在车辆的侧面,其信息用于盲点检测BSD)和并线辅助(LCA)功能,

比如在盲点中出现物体或者邻近车道车辆进入盲点时,会向司机提出预警,下

一步,其信息能够与导航系统相结合,更好地实现车辆引导。安装在车辆前方

或后方的24GHz雷达传感器可以用于预防碰撞发生。

视频传感器:监测图像信息,比如侧面物体的大小和形状。视频传感器能

够监测其他的道路使月者、交通信号和路标等情况。传感器发出的信息能够实

现车道偏离警告和交通信号识别功能。

超声波传感器:用于低速情况,比如停车,同时不需要高探测范围。

另外,通过不同传感器获得的数据可以相互融合,用于增加系统功能或增

强现有的功能。比如,雷达、摄像机和机载激光雷达与导航数据的融合对改善

车辆性能十分重要;通过将从摄像机和地图的信息进行结合,就能提高交通信

号识别系统的识别率等。

1.2.2主动巡航控制

主动巡航控制(Adaptivecruisecontrol,ACC)指的是,系统使用雷达传感器和

多功能摄像机进行信息采集,支持驾驶员在不操作油门和刹车的情况下自动保

持车距巡航的功能气应用此系统时,当前方车辆出现减速时能够自动随之减速,

而当前方车辆加速离开时能够自动加速至理想速度。同时能够自动避让行人。

在一定程度上接近了自动驾驶技术。

主动巡航控制系统目前主要分为两类,一类是基于雷达传感器,一类基于

激光传感器,二者的主要差异在于质量和价格。正如前面提到的,雷达传感器

比较昂贵,激光传感器的价格更有竞争力。但是基于激光的主动巡航控制系统

不适用于恶劣天气条件,也无法跟踪无法反光的车辆。因此适应性来讲,前者

要优于后者。

1.2.3盲点检测

车辆周围一定范围内不能被驾驶员直接观察到的区域,被视为盲点。盲点

检测系统(Blindspotdetection,BSD),是利用在车辆外侧安装的多个雷达监测车

辆附近其他邻近车辆的动态。当邻近车辆进入视觉盲点区域时,及时通知驾驶

员,以防止可能出现的意外。

1.2.4泊车辅助系统

现有的泊车辅助(ParkingAssislanl,PA)产品大致可分为两类:一类是手动

类(以传统倒车系统为代表)和一类是自动类(以泊车辅助系统为代表)。传统倒

车系统主要以倒车雷达和倒车可视为代表,通过发出警示声音或可视后部情况

提醒驾驶员车后的情况,使其主动闪避,以减少事故伤害。这类产品对于驾驶

者而言,主动性较差,虽然能在很大程度上避免车辆对行人的伤害,却无法顺

利有效的完成泊车,极易造成刮蹭或碰撞。而泊车辅助系统则是一种智能倒车

3

系统,系统可以自动寻找停车位,并完成泊车过程。

1.2.5车线偏离警告与车线保持

车线偏离警告(Lanedeparturewarning,LDWj指的是,系统使用多功能摄像

机进行信息采集,对道路上的车线进行识别,同时通过传感器对车辆位置和行

驶方向进行感知,当左辆行驶过程中偏离当前车线且没有打转向灯时,发出警

告的功能。警告的方式多种多样,可以是声音,或者在仪表盘上显示警告符号

等。

车线偏离警告系统分为两类,一类是当车辆偏离当前车线时,向驾驶员发

出警告,另一类又称为车线保持(Lanekeepingsupport,LKS)系统,当系统检测到

车线发生偏离,不仅仅发出警告,如果驾驶员没有对警告进行处理的场合,系

统会自动对转向系统施加影响,促使车辆回到原车线。如果在此过程中,驾驶员

进行了人工干预,例如打开转向灯,或者转动方向盘等,则取消对转向系统的

影响,按驾驶员的意志动作。

1.3汽车安全辅助系统的发展趋势

无论是正常驾驶或在危险环境中驾驶,目前市场上多数驾驶辅助系统都是

通过提供附加信息来帮助司机的。

趋势1:从预警系统到干预系统都发生了一些变化。汽车安全辅助系统目前

主要职责是在危急情况下提醒司机,比如盲点检测系统。系统未来将会向干预

系统发展,即在限定的情况下对汽车进行控制。比如摄像系统将会从车道偏离

预警系统向车道控制系统发展。

趋势2:将主动安全与被动安全系统结合起来,目前,碰撞中的被动安全系

统与主动安全汽车安全辅助系统是相互独立的,比如安全气囊和预缩式安全带,

它们之间没有相互的联系,比如在机载激光雷达、雷达或视频传感器监测到不

可避免的碰撞时无法让安全气囊做好准备。目前机载激光雷达传感器用于主动

式航控制系统,能够在正常驾驶状态下为驾驶员提供支持。未来,这些传感器

将会与短程雷达(24GHz)和摄像机相结合,以便为安全气囊和预缩式安全带

提供相应的准备信息。

这些发展趋势将会使汽车安全辅助系统更加完善,系统通过利用多种传感

器技术监控车辆周围的环境,能够预先检测到不可避免的碰撞事故。在预防碰

撞情况下,系统会干预车辆的动态性能(如制动)并预先触发被动安全系统。

4

这种发展趋势意味着车辆中的制动器、控制器和传感器的一体化。

在过去的几年中,高级辅助驾驶系统的市场已经开始蓬勃发展。目前,以

舒适性为导向的系统(如ACC)主要应用在中级或豪华轿车上。未来,这些系

统将会被涵盖到安全系统当中,并旦在经济型轿车中得以应用。

但是,高级辅助驾驶系统的发展不仅仅被视为一个技术问题其中包括很多

与驾驶员之间的影响,以及和车辆结构之间的影响关系。这就使得系统需求的

方法是非常复杂和重要的。未来的汽车安全辅助系统将面临着更多的挑战。

1.4国内汽车安全辅助系统的发展状况

尽管中国是全球汽车销量最大的市场,但与美国、西欧和日本等发达地区

相比,在汽车安全方面的技术还很落后。诚然,像中国这样的新兴市场具有自

己的优势,可以避免前人经历过的误区,直接获得汽车安全辅助系统最先进的

技术,但是目前,该领域的国产解决方案极度缺乏。好在很多国内汽车厂商已

经意识到这个问题,并开始加大这方面的投入。吉利、比亚迪等厂家已经推出

了自己在汽车安全辅助系统方面的设计。

5

第2章汽车导航系统相关技术

2.1汽车导航系统功能概述

2.1.1车辆定位

车辆定位(VehiclePositioning,VP或Positioning)是汽车导航系统的基础功

能,即实时确定车辆当前所在的位置,是汽车导航的其他主要功能的基础,例

如,实时的地图显示,车辆行驶过程中的引导等功能都需要基于车辆定位的结

果。

定位算法一般结合GPS定位,DR推算地图匹配三种技术。

GPS(GlobalPositioningSystem,全球定位系统)是美国国防部开发的卫星定

位系统,由空间星座部分、地面监控部分和用户设备三部分组成。空间星座是指

在高度约2万公里的上空配置的21颗工作卫星和3颗在轨备用卫星。空间星座

连续不断地发送时刻信息和卫星轨道信息。地面监控部分负责向卫星发送调度

命令,适时调整星历和星钟,改正卫星运行轨道偏差,启用备用卫星。用户设

备通过接受GPS卫星发出的信号,能够求得自身位置.、速度和时刻。GPS定位

的缺是在隧道内和高架道路下等接收不到电波信号的地方,无法迸行定位c另

外由卫星本身,传播和接收三方面的误差存在,有时会出现定位结果不稳定的

情况。

DR推算(DeadReckoning)是通过距离传感器得到的移动距离和通过方位

传感器得到的方位,不断累计移动位移以求得车辆的位置。当车辆开始行驶时,

车速传感器会产生一连串的脉冲信号,脉冲的频率将随着车速增加而增加C通

过计数传感器输出的脉冲数,就可以算出移动距离。DR推算的优点是能够得到

连续的行驶轨迹,缺点是因为传感器存在误差,在计算车辆位置中产生的误差

是不断积累的。

地图匹配算法,把通过GPS定位和DR推算得到的车辆位置、方位、行驶迹

与存放在地图数据库旦的道路数据进行比较来确定车辆正在行驶的道路位置,

以期求得更加准确的车辆位置。

地图匹配算法首先除掉在GPS定位和DR推算结果范围之外的道路,再把

接续到车辆所到达的交叉点上的所有道路作为有可能车辆下一个行进的道路来

选择。然后,将被选择的车辆有可能行进的道路形状和车辆行驶轨迹的形状之

6

间进行比较,计算相关值,把其相关性最高的道路看成是车辆所在道路,确定

车辆现在位置。每隔一定时间或每隔一定距离进行这样的操作,确定道路上的

车辆现在位置.。地图匹配可以在一定程度上消除DR推算累积的误差而为后续

的DR推算提供一个好的初始位置,缺点是受地图精度的影响较大。

汽车导航中还有其他一些辅助定位方法,如借助ETC(ElectronicToll

CollectionSystem,电子收费系统)等路上设施可用于直接定位。

2.1.2路线计算

路线计算(RP)指的是根据所给的目的地和计算要求,加上道路数据,算出

推荐给用户的走行路线的功能。计算条件有是否把收费道路作为优先、是否设

定通过点等。道路信息有道路网络、道路单一方向通行或交叉点通行规则、道

路宽度、道路种类、是否收费道路、道路结构、状况等。

检索路径的算法有Dijkstra算法、遗传算法网等,一般使用Dijkstra算法和

改进的Dijkstra算法,该算法是一种结合深度优先和广度优先的最优路生成算

法,就是在局部层进行广度优先生成树,不同层之间通过比较积累经路长度进

行深度优先生成树。Dijksira算法过程如下:

创建OPEN表和CLOSE表。OPEN表保存所有己生成而未考察的节点,

CLOSED表中记录己访问过的节点;

访问路网中离起始点最近且没有被检查过的边,把这个边放入OPEN表中

等待检查;

从OPEN表中找出距起始点最近的边,即Cost最小的边,把这个边放到

CLOSE表中;

遍历考察这个边的扩展边。求出这些扩展边距起始点的距离值,放扩展边

到OPEN表中;重复3,4步。直到OPEN表为空,或找到目标点;

汽车导航中不同时机或根据用户不同需求进行的路线计算,计算过程略有

差别。

通常计算:以用户设定的始点和终点为基础,由始点和终点双方向扩展出

可以通行的道路网(Network),然后从扩展出的道路网(Network)中提取满足相应

计算条件的路线。

Reroute计算:车辆沿着引导用路线行驶,但开始偏离于当前路线时系统自

动重新计算一条从当前车辆所在位置到目的地的路线。

迂回计算:车辆沿着引导用路线行驶,当车辆前方的路线上出现阻塞或其

7

它交通不通畅的情况时,系统自动计算出一条新的路线,以绕过前方出现问题

的路段。迂回计算通常参考当前路线进行,并且通常会在绕行一段路之后返回

当前路线。

2.1.3路线引导

路线引导功能指的是指导驾驶员安全、快速的且放心的到达设定目的地。

引导内容中有为减少看画面而进行的声音引导提示、用声音不能表达好的分岔

交叉点详细情报的交叉点扩大图、高速行驶时简单明快的引导的方面名称显示

等。

路线引导信息包括向驾驶者提供沿路线的引导和向驾驶者提供自车周边的

引导两部分,以沿经路的路线引导为主。

沿经路的引导内容有:

路线整体情报引导:全路线/区间路线显示,行程引导,路线情报。通过三

种不同的方式向驾驶者展示了路线整体情报。

全路线/区间路线显示:在地图上显示整个路线或分段路线。一方面可以让

驾驶者对路线情况有概要的了解,另一方面,通过调整地图比例尺,可以使驾

驶员对关心的路段的详细信息有所了解。

行程引导:通过列表的形式,向驾驶者展示了车辆到目的地之间的路线上,

依次将要经过的交叉点、引导地点等的信息,包括与车辆的距离、到该点之后

的转折方向等。

路线情报:通过列表的形式,向驾驶者展示了车辆到目的地之间的路线上,

依次将要经过的路线的信息,包括路线名称、长度、与车辆的距离等。

通过这些信息使驾驶者了解行驶的路线情况。

关键地点的提示:导航系统还对自车行驶过程中将要经过的一些关键地点

进行提示,例如道路合流、道路分歧,火车道口、事故多发地点等。此外,还

提供车线,高速道路收费和停车场等实用信息。

车辆即将通过的交叉点信息提示:交叉点扩大图引导,交叉点声音引导等。

交叉点扩大图是对行驶路线上的交叉点重点显示,通过显示交叉点的名称,交

叉点的道路形状,路线箭头,车辆标记,信号灯标记,到交叉点为止的残余距离等

交叉点扩大图要素,使用户不至迷路而到达目的地的引导辅助。

为了给驾驶者提供更好的体验,导航系统提供了多种的交叉点扩大图。为

了避免影响驾驶员的驾驶,确保安全,各种类型的交叉点扩大图都只在屏幕右

8

侧画面显示,同时屏幕左侧继续显示通常地图。

2.2汽车导航系统架构

HARMAN/BECKER汽车导航系统的概要架构是由用户界面、核心服务、

系统服务、操作系统/设备驱动程序等几个层次构成的层次体系结构。各层次中,

又根据职责不同,划分了不同的模块。

通过定义各层次之间及各模块之间的应用程序编程接口(操作系统访问接

口、抽象设备接口、系统服务接口、导航服务接口等),使得用户在进行系统

开发时,可以专注于模块内部的实现,而不必过多考虑层次之间的关系。这样

的体系结构可以最大程度地提高软件的复用率,提高开发效率,降低开发成本,

提高导航开发商对应盲场的能力。例如,当硬件平台发生变更,设备接口随之

改变,只需要修改设各驱动层的实现,在保证对外接口不变的情况下适配新的

设备即可,设备驱动层之上的层次完全不需要变更;而且,不同型号的汽车对

导航系统的要求可能有很大不同,界面风格可能也会有很大的差异,在这样的

体系结构中,只需要用户界面层进行调整和控制就完全可以满足用户的需要。

2.2.1操作系统/设备驱动程序层

不同的汽车导航系统会选择不同的操作系统,例如WinCE,嵌入式Linux,

QNX等.操作系统的不同会导致系统函数接口存在差异.此外,操作系统的不

同和选用的硬件设备K同,还会导致设备驱动程序的不同。这一层的职责就是

兼容不同的操作系统和设备驱动程序,即使操作系统或者设备驱动程序发生变

更,也要为上层提供不变的接口。

2.2.2系统服务层

这一层主要是对上层提供统一的系统级的服务,也包括一些和具体应用无

关的中间件等。常用的服务有:

MOST:实现MOST总线传输协议。

CAN:实现CAN总线传输协议。

Audio:声音输出,包括音乐、导航提示音、电话铃声等。

Video:图形输出,提供统一的图形应用程序接口,包括嵌入式系统的图形

加速器及其他提高描画速度、改善描画效果的工具等。

9

ErrorLog:统一的Log输出和管理机制。

2.3汽车导航系统使用的电子地图数据

电子地图是汽车导航系统的基础,如果没有一个合适的地图数据库,任何

导航系统都无法动作,无论是车载导航系统还是其他类型的导航系统。

导航的电子地图数据库是由若干物理部分组成的逻辑实体,各个物理部分

可以由地图数据库的编译器独立生成,每个部分也可以独立使用,通常分别对

应不同的功能。换句话说,所谓的“导航数据库”实际上是一组用于不同目的的、

或多或少独立的数据废的集合。

导航数据库可以以任何媒介存储,可以通过标准文件系统接口进行访问。

目前HARMAN/BECKER导航系统中通常包含以下几个数据库:XACDB、

GDB和LIToXACDB

XACDB是最主要的导航数据库,为最基本的导航功能路线计算和路线引

导提供数据。

XACDB还支持基本的地点检索功能(按标准顺序输入:国家城市街道),基

本的POI检索功能等。

XACDB的基本对象是矢量和名称。矢量对象通过一个几何图形直线却一

些属性来表现一段道路的特征。名称对象包括一个文字表述字符串和其他属性,

此外还包括反映了行政级别的指向上一级和下一级名称对象的指针。

GDB

GDB(GraphicalDatabase,图形数据库)用于地图描画,包含了所有需要可

视化的地图图形元素。

GDB中包括矢量、多边形、点等原子元素。矢量用于表示道路、河流、边

界等;多边形用于表示地面、树林、海洋等;点用于表示城市代表地点、POI

等。

GDB中,这些原子元素用不同的方式组织。

Tile:覆盖一个特定的地理区域,包括这个区域中所有的矢量、线和点。覆

盖区域的大小主要取决于原子元素的数目。每个Tile应该总是包含大致相同的

数据量。所以城市里的一个Tile覆盖的地理区域可能很小,因为它包含许多街

道和POI;与此相对的,一个乡村的Tile,覆盖的地理区域范围可能非常大,因

为相对来说,道路和POI都很少。

Cluster:覆盖更大的地理区域,包括所有属于该区域的Tile

10

Layer:覆盖整个地图,包括所有Cluster每个Layer与特定的地图比例尺相

关联,可以存在多个不同Layer比例尺越大,包含的数据越少。大比例尺的场

合,屏幕上可能只能显示出一些重要的数据,例如高速道路、主要城市等,这

意味着,在较高的layer只有很少的Clusler,这些Cluster只包含很少的Tile,而旦

Tile中也仅包含主要道路、城市等。

第3章系统需求分析

3.1需求分析

汽车安全辅助系统学习功能是在既有导航基础上的一个辅助功能,它的主

要目的是提高现有路线计算功能的质量,为用户提供更符合用户偏好的路线。

从上文中对汽车导航系统中路线计算功能的介绍中可以看出,路线计算过

程中,需要根据cost判断选择哪条道路。各种计算条件,都会对道路的cost值

产生影响。汽车安全辅助系统学习功能,就是主要通过对道路的cost值的调整

来影响路线计算的结果。

用户总希望能够得到更满足自身需要的路线,而不仅是一般意义上的最优

路线。为此,导航系统希望能够在路线计算过程中考虑用广的驾驶习惯,例如,

从用户家到公司有几釜不同的路线,或许用户并不喜欢最短的或最快的路线,

而是偏爱其他路线:可以顺便买个早点,或者顺路送孩子上学等等。汽车安全

辅助系统学习功能,就是通过记录用户行驶路线上的信息、,分析用户的驾驶习

惯,并根据这些信息调整相关道路的cost值,从而为用户提供“量身定制”的路

线。

由此可见,汽车安全辅助系统学习功能就是,在车辆行驶过程中,系统收

集行驶过程中的信息,包括经过的关键点的坐标、高度,经过的道路的类型、

遇到的交通信号、转弯,上下坡等等,将收集到的信息进行整理并记录到数据库

中,同时不定期地发送到服务器端。记录下来的数据就可以同时应用于车载导

航端和服务器端,主要是路线计算功能。除此之外,还可以将记录下来的数据

用于驾驶辅助、目的地推测等其它功能。

汽车安全辅助系统学习功能主要分为两个用例:数据学习,数据传输。

其中数据学习功能需要从各种传感器、摄像头取得数据,还需要使用地图

数据库中的数据,最终学习结果保存在结果数据库中。数据传输功能主要是从

结果数据库中取得学习结果,通过Connectivity传到服务器端。下面分别对两

个用例进行详细说明。

3.1.1数据学习

数据学习功能指的是,将行驶过程中的收集到的各种信息转变为导航系统

可以利用的数据的功能。行驶过程中可以从各个传感器、摄像头、或导航系统

12

的其他不同模块收集到以下信息:

行驶轨迹,即行驶过的地点的经纬度坐标,也包括高度情报。

行驶过程中的上下坡情况,包括出现上下坡的地点和上下坡的角度等。

行驶过程中每次转弯的情报,主要是发生转弯的位置和转弯角度等。行驶

过程中经过的国家。

行驶过程中经过的道路类型,包括FunctionalRoadClass(FRC)道路类和

BMWADAS道路类型。

行驶过程中遇到的交通标识:限速标识、通行限制标识、限制取消标识、

停车标识等。

收集到这些信息后,需要利用地图数据库,将其转变为导航系统可以利用

的数据,然后保存到数据库中,以便管理和使用。

3.1.2数据传输

数据传输功能指的是,对于学习到的数据,除了将其保存到数据库中供导

航系统其他模块使用之外,还需要将其上传到服务器端,供服务器端使用。服

务器端会对所需数据的条件和类型进行定义,因此要根据服务器端的要求对数

据进行筛选之后再上传。

服务器端通过下列条件限制上传数据的范围:

国家:只有经过指定国家的学习数据才满足条件。

范围:矩形范围,用矩形左下角和右上角经纬度坐标表示。只有在指定矩

形范围内的学习数据才满足条件。

FRC道路类型:只有通过指定类型道路的学习数据才满足条件。

BMWADAS道路类型:只有通过执行类型道路的学习数据才满足条件。

时间:只有行驶时间处于指定时间范围内的学习数据才满足条件。

上述几个条件之间是“与''的关系,也就是说,只有所有条件都满足的学习

数据才符合条件。如具某个条件没有指定,那么对于这个条件,视为所有的学

习数据都满足要求。

3.1.3汽车安全辅助系统学习功能的应用

汽车安全辅助系统主要应用于路线计算,此外还可以用于目的地预测等功

能。下面分别加以介绍。

13

(1)目的地预测

目的地预测功能指的是在用户没有设定目的地,也没有要求路线计算的场

合(称为“非引导状态"),系统根据当前车辆位置和行驶方向,结合既有的历史行

驶数据,推测可能的行驶方向,并根据推定的结果提供必要的引导功能,例如

直行或转弯的声音提示、前方车线情况的图形提示等。

非引导状态下的动作与引导状态不同。引导状态指的是用户设定了目的地

并且计算了到目的地的路线。在这种情况下,只需要对计算出来的路线沿线的

关键点进行引导就可以了。而非引导状态下,没有特定的路线,因此需要对用

户可能的行驶方向进行推测,这就需要结合历史行驶数据,判断用户的驾驶习

惯和偏好,推测用户下一步的行为。只有更好的利用历史行驶数据,才能更为

精确的进行目的地推测。

(2)Hybrid路线计算

Hybrid路线计算指的是onboard路线计算和offboard路线计算的混合应用。

Onboard路线计算指的是车载导航端提供的路线计算功能°Offboard路线计

算指的是服务器端提供的路线计算功能。服务器端拥有车载导航端无法比拟的

硬件设施,这就意味着offboard的路线计算具有远远高于车载导航端的计算效

率,可以利用数据量远远超出车载导航端的道路属性数据库,因此,必然可以

提供更为优秀的路线计算结果。尤其是引入汽车安全辅助系统学习功能后,道

路属性数据库更为丰富和有针对性,更符合特定用户的偏好,必然使得路线计

算的结果更贴近用户的喜好。

3.2总体结构

汽车安全辅助系统学习功能所使用的行驶数据,除了部分数据需要从各种

传感器获得之外,其他数据都是NavigationDomain的数据,汽车安全辅助系统

学习功能的应用也主要与Navigation的功能相关〔主要是路线计算),因此将汽车

安全辅助系统学习功能相关的模块添加在NavigationDomain中。

其中两个模块LearningController和LearningNavigation为新增模块。

汽车安全辅助系统学习功能还需要依赖几个既有模块,主要是Positioning

和Connectivityo前者负责提供行驶轨迹数据,高度数据等,后者负责提供网络

通信支持。汽车安全辅助系统学习功能相关模块LamingController和Learning

Navigation与外部之间的交互如图3-1所示。

14

图3-1汽车安全辅助系统学习功能外部依赖

新增的两个模块LamingController和LearningNavigation的功能如下:

LearningNavigalion负责数据学习功能,包括收集行驶信息,将收集到的信

息转变为导航系统可以利用的数据,并在数据库中保存等。

LearningController负责数据传输功能,从LearningNavigation取得学习到

的数据,根据服务器要求上传给服务器等。

下面分别对两个模块的详细设计进行说明。

3.3LearningNavigation的设计

3.3.1Trail和Trip

LearningNavigation中引入了Trail和Trip两个概念,分别用来表示原始的

行驶信息和学习后的数据。

Trail指的是,行驶信息的一部分或者说一个片断。通常一个Trail覆盖一个

系统生命周期(从系统启动到关机)。中间用户可以手动结束一个Trail或开始一

个新Trail。

Trail是一个有序的行驶数据记录的序列,行驶数据记录包括行驶轨迹、时

间、上下坡、转弯高度、交通标识等。每个记录包含自身的类型和相对于Trail

开始点的偏移量。

Trip代表一段行程,包括从某个出发点开始到某个目的地之间的所有的行

15

驶信息。Trip是根据Trail和每段行程的起点和终点创建的。

3.3.2模块结构

TripManager是LearningNavigation的核心,负责管理数据学习的过程。

此夕卜,LearningNavigation还有两个承担辅助功能的模块:PalhMapper和Position

Tracer。前者用于处理收集到的车辆位置信息中车辆位置情报不合理的情况,例

如车辆位置情报不连续,从一个地点突然跳到另一个地点等。后者负责做成收

集到的行驶信息数据和地图数据中道路数据之间的映射关系。

TripManager的具体职责包括:

收集的行驶信息,并加上时间戳。

处理收集到的数据,创建和保存Trail。

根据TrailsDatabase中保存的Trail和行驶过程的起点和终点制作trip,并保

存到TripsDatabase+o

根据行驶轨迹,在地图数据中找到匹配的道路Linko

地图数据库更新时,更新TrailsDatabase和TripsDatabase中道路Link相关

的数据,必要时更新Trail和Trip。

控制数据收集的开始和停止。

3.4LearningController的详细设计

LearningController的结构如下图3-2所示,分为三个主要子模块:管理子

模块,数据提供子模块,及任务处理子模块。

管理子模块:负责创建和启动数据提供子模块和任务处理子模块。

数据提供子模块:负责接收各种外部数据,提供给LearningConlroHer内部

其他模块使用。

任务处理子模块负责:处理各种任务,包括获取job,处理trip,筛选trip,online

交互,持久化等。

16

图3-2LearningController结构

止匕外,还有一个独立的子模块JSON,用于生成和解析JSON格式的文件。

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅

读和编写,同时也易于机器解析和生成它基于JavaScriptProgrammingLanguage,

StandardECMA-2623rdEdition-December1999的一个子集。JSON采用完全

独立于语言的文本格式但是也使用了类似于C语言家族的习惯,包括C,C++,

C#,Java,JavaScript,Perl,Python等。这些特性使JSON成为理想的数据交换语

言。

JSON基于两种结构:

键值对的集合“在不同的语言中,它被视为对象(object),记录(record)等“

值的有序列表。在大部分语言中,它被视为数组(array)、vector,列表(list)

或序列(sequence)。

大部分计算机语言都以某种形式支持它们,这使得面向JOSN的编程却使

用JSON进行数据交换非常容易。

正是由于JSON格式具有这些特点,因此在汽车安全辅助系统学习功能中,

被用来作为车载导航系统与服务器端进行数据交互的格式。具体的说,就是车

载导航系统向服务器发送的获取job的请求及从服务器获得的jobdescription都

是JSON格式的。

3.5数据库设计

汽车安全辅助系统学习功能中最主要的两个数据库是分别用于保存Trail的

TrailsDatabase和用于保存Trip的TripsDatabase面分别介绍这两个数据库的数

17

据结构设计。

其中TrailsDatabase只有一个Table:TrailTable;TripsDatabase主要

包含两个Table:TripTable和LinkToTripIndexTilesTableo

3.5.1TrailsDatabase

TrailsDaiabase中的主要结构是TrailTable,每个TrailTable用于存储1个

trailoTrail的信息主要包括TrailId,Trail长度,起止时间,范围及TrailPath等。

TrailTable保存的数据内容和结构如表3-1所示。其中最关键的信息是Trail

Palho

NameDatabaseSoftwareContent

TrailldINTUInt32Trail的唯一标识

DriverldsBLOBUlnt32n驾驶员标识

LengthINTUInt32Trail的长度,单位:匣米

BeginUTCTimeINTUInt32Trail开始的UTC时间

EndUTCTimeINTUInt32Trail结束UTC时间

BeginLocalTimeINTUInt32Trail开始的当地时间

EndLocalTimeINTUInt32Trail结束的当地时间

Trail的范围,用左下角和右上角

BoundingBLOBBounding

的经纬度坐标表示

PathBLOBPathTrail的path(参见表3.2)

ValidINTBool数据是否有效

3-1TrailTabic结构

其中path的存储结构如表3-2所示,主要是有序的Link集合。

OffSizeTypeContent

04SVersionpath存储格式的版本号

42UIntl6Link的数量

6nSLinkfLink列

表3-2Path的存储结构

每个行驶数据记录(Record)都会对应一个导航地图数据库中的道路Link,每

个道路Link上可能对应多个Record在如表3-3所示的Link的存储结构中我们

可以看到,除了Linkid,Link长度之外,主要包含了record的列表。此外,还

分别在数据块的开头和结尾保存了整个数据块的size,这是为了便于向前和向后

双方向的迭代。

18

OffsSizeTypeContent

04LInt32当前Link存储所占的字节数,以向前或向后迭代

48LInt64Linkid

124Ulnt32Link长度,单位:厘米

16nRecordRecord列

164Llnt32当前Link存储所占的字节数便于向前或网后迭代

表3-3Link的存储结构

每个Record用于存储一个行驶数据记录。表3-4表示了Record的存储结

构。

由于行驶数据的多样性,Record也几乎没有统一的结构。从表3-4可以看

到,只有record类型和偏移量是所有Record通用的内容,具体的数据只是一个

数据流,实际上会根据record类型不同,分别有各自不同的定义。

OflsSizeTypeContent

01ERecordTypeRecordtype

14Ulnt32相对path起点的偏移量,单位:厘米

数据流(每种ERecordType分别定义各自不

5n

同的结构)

3-4Record的存储结构

下面表3-5、3-6和3-7分别以停止标识记录(stopsignrecord),转弯记录(转

弯record)和上下坡记录三种不同类型的记录。

OfcSTypeContent

01ERecordlypRecordlype(=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论