News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Navigation software

Started by Siekmanski, May 18, 2019, 12:26:02 AM

Previous topic - Next topic

Siekmanski

I'm working on a disability-vehicle and like to have a navigation system for it.
Like to try and program it myself and when looking for some free map data, I found a site called OpenStreetMaps.

https://www.openstreetmap.org
https://en.wikipedia.org/wiki/OpenStreetMap
https://wiki.openstreetmap.org/wiki/Develop

It looks very promising, it is open source, the data is updated every day and free to download.

Map data can be downloaded here: https://download.geofabrik.de

You can extract the 2d road data and a lot more from the map data, such as POI's, street names, addresses, traffic stuff, you name it.
My idea is to extract the data I need and draw the graphics in realtime to the on board computer screen.

I'm a total noob in this field but, would like to give it a try.
Have to do a lot more research, such as algorithms to find the way from A to B etc.

Have some of you experience in creating navigation software?
Maybe we can share some useful information?

Creative coders use backward thinking techniques as a strategy.

HSE

Hi Siekmanski!

Do you have seen KetilO's BoatNav?
Equations in Assembly: SmplMath

Siekmanski

Hi HSE,

No, do you have a link?
Creative coders use backward thinking techniques as a strategy.

HSE

#3
  https://github.com/svn2github/fbedit

There are 2 directories: BoatNav and BoatNavBluetooh. 
Equations in Assembly: SmplMath

LiaoMi

Hi Siekmanski,

navigation is an important section of geoinformatics

https://en.wikipedia.org/wiki/Geoinformatics
https://en.wikipedia.org/wiki/Geomatics
https://en.wikipedia.org/wiki/Geographic_information_system

very interesting section for database algorithms,

The Ramer–Douglas–Peucker algorithm, also known as the Douglas–Peucker algorithm and iterative end-point fit algorithm, is an algorithm that decimates a curve composed of line segments to a similar curve with fewer points. The algorithm is used for the processing of vector graphics and cartographic generalization.
https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm

https://de.wikipedia.org/wiki/Sweep_(Informatik)
https://en.wikipedia.org/wiki/Adjacency_matrix
https://en.wikipedia.org/wiki/Topological_skeleton
https://en.wikipedia.org/wiki/K-means_clustering

the simplest thing I did was a database with coordinates, the coordinates indicated the country's railway stations, by clicking on the map, after the click, a specially formed link opens a webpage, showing the train station  :biggrin:

Siekmanski

Thank you HSE and LiaoMi.

The Ramer–Douglas–Peucker algorithm, interesting stuff.

Bumped into the "Dijkstra algorithm" to calculate the shortest path between 2 nodes.

https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm

To start I'll try to understand how the structure of the OpenStreetMap database works.
First step, see if I can get the GPS coordinates of the streets in my neighbourhood out of the OpenStreetMap database and translate them to geometric 2D vectors.

The OpenStreetMap database appeals to me a lot, because it has a lot of extra information in it.
My plan is to save all the data I need on disk and use it offline to draw the street maps.
Creative coders use backward thinking techniques as a strategy.

daydreamer

Quote from: Siekmanski on May 18, 2019, 07:49:00 AM
The OpenStreetMap database appeals to me a lot, because it has a lot of extra information in it.
My plan is to save all the data I need on disk and use it offline to draw the street maps.
good luck, I only took my neighbourhood map and made into a GIF and ran it thru my raycaster/floormapper
building had same color,maybe easy to trace a path if streets are same color
my none asm creations
https://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding