New to GPS and have many questions.
MarkS
Posts: 342
OK, first, the back story. I am a transit bus driver in Oklahoma City. Sadly, the agency is rather small and underfunded. Back in 1990, the Americans with Disabilities Act was passed and it mandated many changes to how transit buses operate. One of the mandates was that all time points and points of interest along the route must be called out. Larger transit agencies purchase annunciators that are programmed with all of the points recorded in some audio format and tied with a GPS receiver, everything is called out automatically through the bus' PA system. Naturally, those systems are many thousands of dollars per unit and retrofitting our buses would cost the agency millions.
I HATE calling out stops. So, I got to thinking and realized that I could make a small and simple annunciator for my own use with the electronics knowledge I have. The one problem is that I have never tried to interface with a GPS module and I know nothing about what data I would get, nor how to make this work.
Basically, along the route would be various "GPS points" (for lack of a better term) stored on a flash card. The microcontroller would poll the GPS module and compare the data with the pre-programmed points along the route. When the bus gets within X feet/meters of a GPS point, the appropriate sound file(s) would be played.
Herein lies the problem. I do not know how to get the GPS points along the route to program into the route file. I do not know what type of data GPS modules outputs, and how it corresponds to real world locations. I do not know how to compare the stored points with the current GPS data to determine distance from the stored points.
I've gone over some GPS module data sheets, but they are really written with a knowledgeable user in mind. I really need a crash course in GPS modules and interfacing. Where can I find such information?
I HATE calling out stops. So, I got to thinking and realized that I could make a small and simple annunciator for my own use with the electronics knowledge I have. The one problem is that I have never tried to interface with a GPS module and I know nothing about what data I would get, nor how to make this work.
Basically, along the route would be various "GPS points" (for lack of a better term) stored on a flash card. The microcontroller would poll the GPS module and compare the data with the pre-programmed points along the route. When the bus gets within X feet/meters of a GPS point, the appropriate sound file(s) would be played.
Herein lies the problem. I do not know how to get the GPS points along the route to program into the route file. I do not know what type of data GPS modules outputs, and how it corresponds to real world locations. I do not know how to compare the stored points with the current GPS data to determine distance from the stored points.
I've gone over some GPS module data sheets, but they are really written with a knowledgeable user in mind. I really need a crash course in GPS modules and interfacing. Where can I find such information?
Comments
Taking in the data is easy.
That would be problematic. Let's use a cross street as an example. The route travels down street A (inbound and outbound) and intersects street B (a time point). There would be two set points here, one on the inbound side of the street and one on the outbound side, both a good distance from the actual intersection to give people a chance to respond to the annunciator. The issue with such a large range is that the time point would be called out when the bus gets within range of the first set point and then again when it gets in range of the second, since most city streets are less than 30 meters wide. Such a large range would cause problems even on cases where the route travels on the service road on one side of a six-lane highway inbound and the other side outbound. A 30 - 40 meter radius is a massive amount of space.
The radius of the set points needs to be no more than the width of a standard lane on a two-lane street, or about 3 meters.
This image shows part of an actual route and time point:
With a 30 meter radius, the annunciator would trigger prior to May Ave, and then again, after May Ave. This can, of course, be taken care of in the source code, but this get tricky as city streets do not always make sense. A loop, for instance, would wreck havoc with the system.
Thanks! That does help a lot!
Your advantage is the prescribed route, and the table of way points and announcements should occur in a certain sequence. (Although, expect unmarked obstacles--manual override!!)