Chinaunix首页 | 论坛 | 博客
  • 博客访问: 431699
  • 博文数量: 56
  • 博客积分: 2262
  • 博客等级: 大尉
  • 技术积分: 711
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-08 20:04
文章分类

全部博文(56)

文章存档

2013年(1)

2012年(9)

2011年(10)

2010年(7)

2009年(7)

2008年(22)

我的朋友

分类:

2008-07-22 22:45:27

基于GPS的公交车自动报站系统的研究
          现在几乎每辆公交车上都有自己的报站系统,有手动的,也有自动的。我这里就谈一下基于GPS定位的公交自动报站系统!
       首先讨论一下公交车报站的几个点:进站,到站,出站。
       一个公交车到达一个站点之后就有这三个状态,这三个地方播放的语音也不同!一条公交线路虽然有很多站点,但是每个站点都只有这三个状态,哪么我们就可以利用这三个状态来播放三个不同的语音,具体站点名称就根据站点号来选择语音文件!
    
    利用GPS定位系统我们可以知道“到站”那一点的经纬度,但是我们不能使用那一个点的经纬度就报出三个语音!因此我们需要设置一个点的集合。
 
   精度和纬度的一个集合,首先我们假设一个矩形框,当公交车进入这个矩形框之后我们就触发第一次语音播放!出站的时候就触发第三次语音。第二次语音我们可以使用公交车门的开关状态来辨认、获取其他更好的方式,这样,三次状态播放都播放完了!
   每个站都有不同的电子围栏,为了使程序更加灵活,我们每个站点的电子围栏可以存放到一个配置文件里面。开机的时候读取这个配置文件就可以得到每个站点的电子围栏信息!其实公交报站的逻辑是一个很复杂的过程。
我们需要考虑上行和下行的区别、中途断电、中途返程等意外情况!这就使得报站逻辑变得很复杂了。
 
 
GPS数据接收和分析
现在使用的很多GPS模块中,从串口传递过来的数据都包含有很多中GPS数据包,每种包都包含有不同的信息,在这里,我们的报站系统只需要GPRMC包就可以实现了,因此我们需要从GPS模块接收过来的数据中提取GPRMC包出来,然后再解析这个GPRMC数据,解析出当前经纬度之后,与电子围栏想比较,当进入站点之后,就需要播报进站的语音。
在每一个站点,需要一些标志位来表示播放过的语音,或者说已经播放了那些语音!通过这些标志位,就可以使报站语音播放正常!
 
闲麻烦所以有些示意图片没有发上来,有需要的可以直接联系我
…………
^_^
 
 
 
PS:在实际的车辆运行当中,遇见了不少的问题,因为公交线路情况相当的复杂,比如中途掉头,两个站相隔很近,但是方向相反,等等
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
阅读(2026) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

daigua042008-09-17 22:06:26

我刚开始接触GPS,之前有个师兄做过一个PDA手持终端,其中就涉及到GPS定位导航。在这个系统中,CPU是PXA255,操作系统是WINCE4.2,加上esupermap在EVC下开发。暂时我对此系统的细节不甚了解,只知道也有个GPS模块连接在PXA255下。我想请问下,当前常用的GPS模块有哪些品牌?优缺点?精度高低?还有就是,GPS模块串口出来的数据包,都包括哪些信息?至少有卫星时间等导航电文吧?应用软件(EVC编写)通过esupermap读写串口获得当前三维坐标然后显示在界面上,请问在GPS模块(包括精度)已确定的情况下,有什么方法可以提高定位精度?从串口读出数据包后通过软件处理?