基于北斗定位的城市智能公交系统设计

2015-05-05 06:29姚仲敏卢艳阳司红燕郝锦城
电视技术 2015年18期
关键词:公交系统路由器北斗

姚仲敏,刘 炜,卢艳阳,司红燕,郝锦城

(齐齐哈尔大学 通信与电子工程学院,黑龙江 齐齐哈尔 161006)

基于北斗定位的城市智能公交系统设计

姚仲敏,刘 炜,卢艳阳,司红燕,郝锦城

(齐齐哈尔大学 通信与电子工程学院,黑龙江 齐齐哈尔 161006)

采用北斗卫星定位结合无线传感器网络和移动互联网等技术提出了一种城市智能公交系统。考虑到公交车在行驶中可能出现的高层建筑物遮挡等因素导致卫星定位无效的情况,设计加入了6轴姿态传感器,运用航位推算算法辅助定位。系统能够实现智能进站判断,自动语音报站,智能站牌提示,调度中心远程监控,手机查询车辆位置信息等功能。实际测试结果表明:在卫星定位无效,公交车行驶速度不大于60 km/h时,推算定位精度平均达到0.88 m,精度远高于北斗接收机的3 m,符合设计要求。该系统运行稳定,设备性价比高,为进一步促进城市公交系统智能化发展提出了参考性方案。

智能公交系统;北斗定位;无线传感器网络;移动互联网;航位推算

随着我国城市化建设进程的不断加快,个人机动车持有量出现猛增的势头,由此引发的交通拥堵、城市空间狭小、环境污染加剧等一系列城市问题越来越严重。为了缓解这些问题,各大城市对公共交通系统的建设投入越来越多的资金,智能公交系统这一概念应运而生[1]。

国内现有的车辆定位系统大多采用GPS与RFID组合、GPS与ZigBee组合或者GPS与GPRS组合定位模式。例如,宫玉龙等采用GPS和RFID技术设计了冷链运输远程监控系统[2];杨光等利用GPS与ZigBee设计了一套公交监控系统[3];冯军等提出以GPS/GPRS为核心技术实现对城市公交定位[4]。但以上设计中都没有考虑卫星定位失效以及结合移动互联网实现对车辆位置在线查询等问题,再加上GPS定位技术和定位服务的使用受美国政府控制,不利于我国公共交通事业安全发展,超高频RFID设备价格又十分昂贵,不易大规模推广使用。因此,开发出一套核心技术由我国掌控,定位精度高、成本低、便于使用的新型智能公交系统是十分必要的。

1 系统总体设计

系统总体设计结构如图1所示,由车载终端子系统、智能站牌子系统、监控管理平台和移动客户端4部分组成。

图1 系统总体结构示意图

1.1 车载终端子系统

车载终端子系统由ZigBee节点设备、北斗接收机和姿态传感器组成。ZigBee的CC2530芯片作为主控处理器,负责采集北斗接收机经纬度数据和姿态传感器的加速度、角速度等数据;选择定位方式;判断车辆是否进站;控制语音模块报站;发送定位数据和站名编号。当卫星信号受到遮挡而进入盲区,无法提供有效定位数据时,通过使用航位推算算法,能够短时间、高精度地推算出公交车的行驶方向和距离,避免漏报车辆进站信息。

1.2 智能站牌子系统

智能站牌子系统由ZigBee路由器和LED灯箱组成。ZigBee路由器负责接收、转发公交车定位数据,解析站名编号,驱动点亮LED灯箱上对应站名的指示灯,并将站名编号依次向下转发给其他路由器,实现整条公交线路上所有站牌显示的同步。ZigBee路由器均采用旋转式小型风力发电为主,市电为辅的供电方式。风力发电机最大外径(含叶片) 10 cm, 高37 cm,具有全风向旋转,风能利用率高的优点,其输出功率可达4.8 mW。而本设计选用的ZigBee 路由器的最大发射功率为4.5 dBm,约2.8 mW,满足使用条件。当城市中的某片区域突发停电时,该范围内智能站牌的ZigBee路由器依然可以利用风力发电存储的电能继续运行工作,避免了整个无线传感网络的通信瘫痪,同时还起到节约能源的作用。

1.3 监控管理平台

监控管理平台是由C++builder开发设计的软件和ZigBee协调器组成。ZigBee协调器将路由器上所有转发的数据通过串口发送给PC机,监控管理软件则在地图上实时显示出公交车的当前位置,并将定位信息存储到数据库中。监控管理软件具有登录验证、地图显示、车辆位置的前后站提示、语音报站等功能。

1.4 移动客户端

移动客户端是基于Android平台设计开发的APP应用程序,可通过移动互联网访问监控管理平台的数据库。市民利用客户端软件可以在线查询指定公交车的当前位置,也可以查询目的地都有哪些公交车在此设有站点,从而选择合理的出行方式,提高出行效率,缓解城市交通压力。

2 航位推算与坐标系转换

2.1 航位推算原理

航位推算是在已知当前时刻位置的条件下,通过测量移动的距离和方位,推算下一时刻位置的方法[5]。如图2所示,将行驶中的公交车辆看做是在二维平面(x,y)上的运动,假设车辆的起始点为(x0,y0),已知t0时刻航向角为θ0,角速度为ω0,在Δt=ti-t0时间间隔内航行距离为d0,则在ti时刻车辆的坐标为

xi=x0+d0×cosθ0

(1)

yi=y0+d0×sinθ0

(2)

θi=θ0+ω0×Δt

(3)

依上式递推可得到车辆t2时刻的位置

x2=x1+d1×cosθ1=x0+d0×cosθ0+d1×cosθ1

(4)

y2=y1+d1×sinθ1=y0+d0×sinθ0+d1×sinθ1

(5)

θ2=θ1+ω1×Δt=θ0+ω0×Δt+ω1×Δt

(6)

图2 航位推算原理图

在较小的推算时间间隔Δt内,载体的运动可近视为匀速运动,因此能够推导得出tn时刻的车辆坐标

(7)

(8)

(9)

式中:di,ωi分别为车辆在ti时刻的行驶距离和角速度。

2.2 坐标系转换

北斗接收机输出的定位语句是以大地坐标系为参考系,而姿态传感器输出的数据是使用东北天坐标系,所以航位推算一开始需要将经纬度数据进行大地坐标系到东北天坐标系的转换,推算获得的结果还需要换算回大地坐标系。

3 系统硬件设计

本系统中硬件设计主要是车载终端子系统这部分的设计,结构框图如图3所示。北斗接收机选用和芯星通公司生产的UM220,以1 Hz的数据更新率不断发送NMEA-0183通信协议的导航报文[6]。6轴姿态传感器使用MPU6050提供惯性导航参数。ZigBee选用TI公司生产的CC2530。CC2530集成了增强型8051单片机和RF收发器,可用3.3 V或5 V供电。ZigBee节点设备运行zstack2007pro协议栈,设计使用双串口同时接收卫星定位与惯导参数2路数据,并通过I/O口控制语音播报模块。语音播报使用ISD1760模块,可处理多达255段以上信息,最长240 s的录音时间[7],符合设计需求。

图3 车载终端子系统硬件设计框图

4 系统软件设计

软件设计分为ZigBee协调器、路由器、节点、监控管理平台和手机客户端5个部分。

4.1 协调器软件设计

ZigBee协调器与PC机的监控管理软件通信。上电后,首先进行硬件初始化,设置串口通信帧格式,打开串口,建立网状网络拓扑结构。然后zstack进入任务轮询,等待其他ZigBee节点设备加入网络。当有节点入网后,继续判断是否有数据发送过来。若有数据到来,则将数据串口发送给PC机。其工作流程如图4所示。设计中,串口通信帧全部采用 9 600 bit/s, 8位数据位,1位停止位,无奇偶校验位的格式。

图4 协调器工作流程图

4.2 路由器软件设计

ZigBee路由器是智能站牌子系统中最重要的设备。路由器经硬件初始化后申请加入网络,循环判断是否有数据到来。若接收到数据,则根据对数据流的首字符判断做出不同的处理:车辆定位数据直接转发,不作任何处理;站名编号数据,先解析编号,点亮LED灯箱上对应站名的指示灯,然后再将站名编号数据转发给其他的路由节点,同步所有智能站牌的显示。工作流程如图5所示。

图5 路由器工作流程图

4.3 ZigBee节点软件设计

ZigBee节点位于车载终端子系统中,是该部分设计的核心处理设备。其软件工作流程如图6所示。

图6 终端节点工作流程图

ZigBee节点入网成功后首先判断经纬度数据是否有效。若无效,则启动航位推算;若有效,发送当前车辆的定位数据并判断是否进入设定的站牌区域范围。当判定为进入站牌区域,则控制语音模块报站,提醒车上乘客,同时发送站名的编号给智能站牌的ZigBee路由器。如果公交车行驶过程中因城郊树林、城中高层建筑或桥洞遮挡卫星信号,进入卫星定位盲区而无法定位,这时车载定位子系统可以自启动航位推算辅助定位,计算公交车的行驶方向和行驶距离,避免漏报车辆位置和进站信息。部分核心代码如下:

static void SerialApp_CallBack(uint8 port, uint8 event)

{

(void)port; //uart port

uint8 SerialApp_TxLen=0; //串口接收到数据的长度

if((event&(HAL_UART_RX_FULL|HAL_UART_RX_ABOUT_FULL|HAL_UART_RX_TIMEOUT))&&!SerialApp_TxLen) //判断串口是否接收到数据

{

SerialApp_TxLen=HalUARTRead(SERIAL_APP_PORT,SerialApp_TxBuf,SERIAL_APP_TX_MAX);

if(SerialApp_TxLen==75) //北斗卫星接收机&BDRMC语句长度

{

if(SerialApp_TxBuf[18]==’V’); //卫星定位无效

{

SerialApp_DeadReckoning(); //进入航位推算子程序

}

else

{

if(AF_DataRequest(&SerialApp_TxAddr,(endPointDesc_t *) &SerialApp_epDesc, SERIALAPP_CLUSTERID, SerialApp_TxLen, SerialApp_TxBuf, &SerialApp_MsgID, 0, AF_DEFAULT_RADIUS)==afStatus_SUCCESS)

{

} //向路由器节点发送定位数据

}

}

flag=SerialApp_JudgeLonLat(uint 8 SerialApp_TxBuf); //判断经纬度是否进入站牌范围

if(flag==1)

{

SerialApp_ControlIsd1760(); //语音报站

if(AF_DataRequest(&SerialApp_TxAddr,(endPointDesc_t *) &SerialApp_epDesc, SERIALAPP_CLUSTERID, 1, Num, &SerialApp_MsgID,0,AF_DEFAULT_RADIUS)==afStatus_SUCCESS) //向路由器节点发送站名的编号

{

Num++; //站名的编号加1

}

}

}

}

由于各个公交站点的大小和长度不一致,所以ZigBee节点在程序设计中对每一个站点的“进站识别”范围的设定都不同。部分站点设置匹配范围如表1所示。

表1 部分站点经纬度及匹配范围信息表

站名经度经度匹配范围纬度纬度匹配范围齐大东区12355 0422680 0040794721 0630070 004255浏园宾馆12355 0481540 0055104721 0858210 002339齐齐哈尔大学12355 0213750 0043354721 0931420 009120二厂宿舍12354 9904100 0044394721 0919670 003667邮电技校12354 9877080 0028894721 0692550 002485

4.4 监控平台软件设计

监控管理平台采用C++builder软件开发设计。通过读取串口接收到的信息,能够在地图上实时显示出公交车辆的位置,并动态刷新。支持前后站点窗体查询功能和公交站点表单前台显示功能。站点信息表单包含了公交线路上所有的站点信息,并将相邻站点建立了前后联系,方便前台信息查询,实用、便于调度员管理。软件设计流程如图7所示。

图7 软件设计流程图

启动监控管理软件后,首先进行用户名、登陆密码验证。主页面为地图显示界面,当接收到车辆定位信息,会动态显示公交车运行轨迹,提示当前车辆位置的前后站站名。公交车进站,软件还能够语音播报站名,提醒调度人员。

数据库使用MySQL创建,它体积小、速度快,可用于Windows,Linux,Mac OS等多种操作系统。数据库中共有两张表,BusSystemInfo表和BusPhoneQuery表。各表结构分别如表2、表3所示。

表2 BusSystemInfo表结构

字段类型说明BusLineIDint主键Longitudevarchar(10)经度值Latitudevarchar(10)纬度值StationIDint站点IDCurrentStationvarchar(10)当前站点ArrivalTimevarchar(10)到站时间

表3 BusPhoneQuery表结构

字段名类型说明BusIDint主键BusLineNamevarchar(10)线路名称StationIDint站点IDCurrentStationvarchar(10)当前站点StationOrderint站点在线路中的位置StartTimevarchar(10)发车时间StopTimevarchar(10)收车时间TicketPricevarchar(10)票价

4.5 移动客户端软件设计

移动客户端开发环境为JDK 1.6.0、Eclipse 3.5、Android SDK 2.1和ADT 0.9.5,程序代码使用Java语言编写,实现了城市公交的移动互联网在线查询。客户端软件具有公交线路查询、公交车位置查询等功能。线路查询,能够显示出所查公交线路的所有站点信息,以及发车、收车时间、票价等。位置查询,能够在公交线路上依次用红色字体标识出所查公交车辆的当前位置。移动客户端的功能框图如图8所示。

图8 移动客户端功能框图

5 测试与分析

良好的线性度有助于提高定位的精度。分别仿真了匀速、匀加速、匀减速条件下,连续5次航位推算定位的线性度,如图9~11所示。仿真过程中的每个定位点都是在前一次定位的基础上推算得出的。结果表明,不同条件下的航位推算均得到了理想线性度。

图9 匀速航位推算线性度

图10 匀加速航位推算线性度

图11 匀减速航位推算线性度

航位推算的实际定位精度测试中,在速度不超过60 km/h 的条件下随机抽取了6条测试数据,测试内容和结果如表4所示。

表4 航位推算实际定位精度 m

实际行驶距离实际经度距离实际纬度距离推算经度距离推算纬度距离距离误差2 000 002 000 161 740 252 832 002 001 451 880 465 392 005 001 794 390 656 405 004 004 224 060 549 059 001 007 240 931 7514 1410 0010 008 279 431 60

6次航位推算定位最大误差1.75 m,最小误差0.25 m,平均误差约为0.88 m,而北斗定位接收机UM220的定位精度为 3 m。 所以,航位推算的定位精度符合设计要求。

上位机监控管理平台软件和移动客户端的测试如图12~13所示。

图12 监管平台软件主窗口(截图)

图13 移动客户端查询窗口(截图)

两种软件运行稳定,响应速度快,均达到了设计的要求。

6 结论

本设计从实际应用角度出发,运用北斗卫星定位、航位推算、无线传感器网络和移动互联网等技术设计了基于北斗定位的城市智能公交系统。介绍了系统总体结构及主要硬件设计,分析了车载定位、智能站牌、监控管理平台和移动客户端的软件设计流程。经过仿真与实际测试结果表明:航位推算定位线性度良好,定位精度较高,可以在卫星定位无效时替代使用;监控管理平台和移动客户端的软件运行稳定、流畅,响应及时。整套系统具有识别灵敏度高、可靠性强、设备成本低等特点,能够满足城市智能公交系统的需求。

[1] 田红彬,吉炜寰.基于GPS的公交车智能调度与位置发布系统[J]. 电视技术, 2013,37(11):188-191.

[2] 宫玉龙,王金海,徐书芳. 基于RFID的冷链运输远程监测系统研究与设计[J].电子技术应用,2013,39(5):69-73.

[3] 杨光,张万江.基于GPRS/GPS/GIS/ZigBee的智能公交系统设计[J]. 微型机与应用, 2011,30(18):89-91.

[4] 冯军,陈文波,王超.智能公交车载定位系统的研究与设计[J].科技视界,2014,32(5):32-33.

[5] BOJJA J,KIRKKO-JAAKKOLA M,COLLIN J,et al. Indoor localization methods using dead reckoning and 3D map matching[J]. Journal of Signal Processing Systems, 2014,76(3):301-312.

[6] LEI D, LU W, CUI X, et al. Proceedings of the 2012 international conference on information technology and software engineering[M]. [S.l.]:Springer Berlin Heidelberg, 2013,42(6):29-35.

[7] 吴学中,蔡明星,吴学文. 基于AT89S52和ISD1760的水闸语音报警系统设计[J].电子设计工程,2011,19(7):131-133.

姚仲敏(1959— ),女,教授,硕士生导师,主要研究方向为无线传感器网络、物联网;

刘 炜(1987— ),硕士生,主要研究方向为物联网技术及应用,为本文通讯作者;

卢艳阳(1988— ),硕士生,主要研究方向为无线通信网络;

司红燕(1990— ),硕士生,主要研究方向为物联网、移动嵌入式。

郝锦城,本科生。

责任编辑:时 雯

工信部:截至7月底,IPTV用户达3 993.7万户

据工信部统计,截止2015年1—7月,我国移动电话用户净增850.3万户,仅为上年同期增量的1/4,总数达到12.95亿户。移动宽带用户(即3G和4G用户)累计净增1.1亿户,总数达到6.95亿户,对移动电话用户的渗透率达53.7%,较上年末提高8.4个百分点。3G用户加速向4G用户转换,7月净减436.7万户。4G用户7月净增2 505.1万户,总数达到2.5亿户,占移动电话用户的比重达到19.4%。光纤接入用户超过9 400万户,8 Mbit/s及以上用户占比达55.9%。移动互联网用户达到9.37亿户,IPTV用户近4 000万户。

Design of Urban Intelligent Bus System Based on Beidou Positioning

YAO Zhongmin,LIU Wei,LU Yanyang,SI Hongyan,HAO Jincheng

(CollegeofCommunicationsandElectronicsEngineering,QiqiharUniversity,HeilongjiangQiqihar161006,China)

Beidou satellite positioning using combined Wireless Sensor Network and mobile internet technology to design a proposed urban intelligent transportation system. Taking into account the high-rise buildings may occur in the bus with other factors cause the satellite positioning block is invalid,designed to join the six-axis attitude sensor,using the dead reckoning algorithm,assisted positioning. This system can be achieved smart judging, automatic voice new station,smart tips stop sign, dispatch center remote monitoring,phone inquiries vehicle location and other functions. The actual test results show that: in satellite positioning invalid, bus travel speed of not more than 60 km/h,the projected positioning accuracy average of 0.88 m,while the Beidou receiver positioning accuracy of 3 m,meet the design requirements. The system is stable,equipment cost-effective, in order to further promote the development of intelligent urban transit systems made reference programs.

intelligent transportation systems; Beidou positioning; WSN; mobile internet; dead reckoning

国家自然科学基金项目(51177072);齐齐哈尔市科技攻关重点项目(GYGG-201106)

TN92

A

10.16280/j.videoe.2015.18.001

2014-12-16

【本文献信息】姚仲敏,刘炜,卢艳阳,等.基于北斗定位的城市智能公交系统设计[J].电视技术,2015,39(18).

猜你喜欢
公交系统路由器北斗
买千兆路由器看接口参数
北斗时钟盘
维持生命
路由器每天都要关
路由器每天都要关
“北斗”离我们有多远
基于用户体验的智能公交系统优化设计
智能公交系统网络设计研究
首个北斗全球“厘米级”定位系统开建
中国的北斗 世界的北斗