PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Occupany grid - Zellen im Sonar Kegel indentifizieren



robvoi
20.10.2013, 17:59
Hallo,

Bisher habe ich das update des Occupany Grids rein per Trigonometrie gelöst. Berechnen aller Strahlen mit 0,1 Grad Auflösung und Schrittweite auf dem Stahl von 1cm bis zur Sensor Distanz. Das war auf dem Laptop ok.
Ich möchte den code jetzt auf meinen Raspberry Pi migrieren. Das wird ihn überfordern.

Gibt es einen effizienteren Weg alle Zellen eines Rasters innerhalb eines Sonarkegels (eines Polygons) zu berechnen?
Also quasi sowas: http://www.intechopen.com/source/html/37778/media/fig2.jpg

Meine Mathekenntnisse sind leider begrenzt....

Danke.
Robert

malthy
20.10.2013, 18:28
Offen gesagt kann ich nicht ganz folgen, aber es klingt so als wolltest du einen "gepixelten" Kreis bzw ein Kreissegment möglichst effektiv ohne Trigonometrie berechnen. Falls ja, könntes du zur Übersicht mal hier (http://de.wikipedia.org/wiki/Rasterung_von_Kreisen) zur Rasterung von Kreisen lesen. Hier (http://de.wikipedia.org/wiki/Bresenham-Algorithmus#Kreisvariante_des_Algorithmus) gibt's einen Variante (Bresenham Algorithmus) mit (Pseudo-) Codebeispielen. Falls ich am Thema vorbeischramme: sorry! ;-)

Gruß
Malte

robvoi
20.10.2013, 18:55
Das könnte in der Tat was sein. Muss ich mir mal anschauen. Zumindest ohne Trigonometrie. Ob das weniger Rechenintensiv ist muss ich dann mal schauen.

Danke dir!

malthy
20.10.2013, 19:06
Ob das weniger Rechenintensiv ist muss ich dann mal schauen.

doch, ist es. Guck dir mal den Pseudocode im zweiten Link an. Ich habe den Algo mal verwendet - ist jetzt wurscht wofür, aber das hat gegenüber dem Trigonometrieansatz wirklich viel gebracht (zumal man low-level ja oft auch garkeine trigonometrischen Funktionen hat). Würde mich freuen wenn's hilft :-).

Gruß
Malte