OpenGPScout
(Open Source Navigation-Project)

 Here the latest informationens about the present state of the Open Source Navigation Project
"OpenGPScout" are published.


To the phpBB Discussion Forum concerning OpenGPScout and GPS-Navigation in general

The work on the Yellow Paper about the ideas and concepts behind OpenGPScout are in progress.
See the latest drafts here

pdf-document 1 (main document)
pdf-document 2 (Appendix concerning some integer-routines)
pdf-document 3 (ini-file)


Basic idea

The project includes three parts:

a) The programming of the device and operating system independent routines:

The principal algorithm to calculate the routes, the algorithm to follow the calculated routes and also the necessary serching routines have to be
at the most
extend possible independent of the used device and the operating system. The only thing, which have to be fullfilled is the condition,
that the same programming language (e.g. C++) is possible for these devices or operating systems.


Concerning the routing algorithm, my idea presently is to divide the data in tiles of appr. 0.0008 x 0.0008 radians (corresponding to about 3.5 x 5 km in our latitudes). Every tile would include 4-5 detail-levels for the road-segments and the nodes (for more details see pdf-document 1).
Because the implementation shall work also on devices having a limited amount of RAM and CPUs e.g. without Floating-Point-Unit (this is common for many mobile devices like PDAs), it is crucial to do the whole implementation to the extend possible using integer-arithmetics and reducing the amount of data to a degree, which can be managed by these devices.

b) Programs to convert the data materials of the maps to a unified format adapted to use for the routings under point a:

The choice of the data simply depends only on the existence of a suitable algorithm to convert the data in a format, which can be used by OpenGPScout . Possible data-material could stem from commercial navigational enterprises like Navteq/Teleatlas. However, using this, the licensing questions would have to be solved. Alternatively it would be also possible to use Open Source navigational material like "OpenStreetMap"  - this would avoid eventually the licensing questions, but at present time in this material there are stll some missing parameters, which would be of importance for the calculation of the routes.

c) device-dependent porting 

The success or failure of the project depents on the use of the algorithm on different plattforms/devices. The porting comprehends device dependent parts like the representation
of the maps. the Graphical User Interface (GUI) for the input of start and destination or the choice of various routing options), the device dependent programming of the interfaces (GPS over a serial port or Bluetooth, perhaps TMC or incorporation of other traffic services over a mobile connection or public wireless LAN) etc.  For Linux/MacOS there exists already an Open Source Project "GPSDrive", which covers nearly all of these aspects. For other devices (PalmOS, Symbian, WinMob etc.) it would be necessary to find developers, who would be interested to do the porting.



Actual status (Date: 19 Nov 2007)


Im still graceful for every comment, proposal etc. about OpenGPScout. Furthermore I am still looking for interested developers to support the project. All people interested are kindly requested to send me an e-mail to OpenGPScout@leupinfo.ch .



Definition of the data-format, especially for the Interfaces between the different modules (first proposal, to be reviewed ;-) ):

a) road-segments (minimum data - additional data to be stored in other files)

- node reference at the "beginning" of the segment ("0"-end):   3 bytes (2 bytes actual node reference, 1 byte for the relativ definition of the tile, on which the node is)
node reference at the "end" of the segment ("1"-end):   3 bytes (2 bytes actual node reference, 1 byte for the relativ definition of the tile, on which the node is)
- Definition of the position of the segment within the nodes: 1 byte (this information is used for a faster execution of the routing algorithm)
- velocity- and road category: 1 byte ( 4 bites respectively)
- length or driving time for the segment: 1.5 bytes (resolution appr. 5m or 5 s, to be discussed)
- allowed direction, driving restrictions, suitable vehicle categories etc.: 1.5 bytes
- reserved for additional informations: 1 Byte

11 bytes in total per segment (fixed length)



b) nodes (minimum data), 


fixed length:
- number of incoming/outgoing road segments: 1 byte (3 bits for the number of segments (maximum of 8), 5 bits for the type of node (e.g. turn-about etc.)
)
- coordinates of the node: 3 bytes (together with the tile reference the position is defined to about  2.5 m)
- Adjacent end of the road segments: 1 byte (1 bit per segment, 0 = "0"-end, 1 = "1"-end)

variable length:

- reference to a incoming/outgoing segment: 2 bytes per segment
- Which other segments can be reached from the actual segment:  1 byte per incoming/outgoing segment  (used for coding turn-restrictions etc.)
- Definition of the tile on which the segment is mainly located: 1 byte per 2 incoming/outgoing segments (??)

Between 9 (correspondign to one segment, dead-end) and 39 bytes (corresponding to 8 segments))

Actual status of the source-code (Header file, in a very early status)

1.6.2007:  neue erweiterte Version des Source-Codes mit den Funktions-Prototypen für die bis jetzt vorgesehenen Funktionen
                  OpenGPS_gen.ini-Datei aufgeschaltet, welche die Initialisierungsparameter für die Routenberechnungen enthält
5.6.2007: Anpassung der struct-Definitionen: neu existieren nur noch zwei struct-Strukturen, welche mit dem New-Operator initialisiert werden.
12.6.2007: einige marginale Fehlerkorrekturen, Grobstruktur der Implementierung des eigentlichen Routenberechnungsalgorithmus, Teil Rückwärtsrechnung vom Ziel zum Start
19.6.2007: Neuer ftp-Zugang zu den Source-Files eingerichtet - interessierte Entwickler können sich bei mir per E-Mail melden...
19.11.2007: Translation of most of the website to english - new pdf-Files, containing the present concepts proposed for the project.
20.11.2007: Description of the criterion of ending the loops for A* and my alternativ proposal changed in the PDF-file


© 2007, A. Leupin (last changes 19.11.2007) 

You are visitor number: