Simultaneous Localisation And Mapping SLAM

Größe: px
Ab Seite anzeigen:

Download "Simultaneous Localisation And Mapping SLAM"

Transkript

1 Simultaneous Localisation And Mapping SLAM

2

3

4 Sebastian Thrun, Gewinner der DARPA Grand Challenge 2005

5 SLAM Problemdefinition Ein mobiler Roboter erkundet eine unbekannte Umgebung von einer bekannten Startposition Die Bewegungen sind ungenau, d.h. Positionsabschätzung wird mit der Zeit immer ungenauer Der Roboter hat eine Sensorik mit der die Umgebung wahrgenommen werden kann Aufgabe: Erstellen einer Karte bei gleichzeitiger Lokalisierung in der Karte Einer der wichtigsten (teilweise noch ungelösten) Aufgaben in der Robotik

6 SLAM Mathematische Beschreibung des Problems Notation: Zeit t Posture x t =(x, y, ) Pfad x 1:t = {x 0, x 1,...,x t } Initialposture x 0 Odometrie u t, Bewegung von t 1! t Relative Bewegung u 1:t = {u 1, u 2,...,u t } wäre ausreichend, wenn es kein Rauschen gäbe True map m (Weltwissen) Annahme: Ein Messung pro Zeiteinheit Sensordaten z 1:t = {z 1, z 2,...,z t } x t 1 x t x t+1 u t 1 u t u t+1 z t 1 z t z t+1 m

7 SLAM Unterschiedliche Arten Full-SLAM (Offline-SLAM) Batch process, d.h. man berechnet die Karte und Trajektorie anschliessend, basierend auf allen Daten: Online-SLAM p( x 1:t, m {z } not observerd z 1:t, u {z 1:t ) } observerd Inkrementelle Berechnung der aktuellen Posture (wird auch Filter bezeichnet) p(x t, m z 1:t, u 1:t ) Benötigt 2 Modelle: p(x t x t 1, u t ) Odometriemodell p(z t x t 1, m) Sensormodell

8 Beispiel: SLAM mit Landmarken Annahme: Die Welt besteht aus N punktförmigen Landmarken, d.h. die Welt läßt sich vollständig durch 2N Werte beschreiben (2D) Der Roboter kann die relative Entfernung, den relativen Winkel und die Identität des Objekts bestimmen Definitionen: Exaktes (rauschfreies) Sensormodell Verrauschtes Sensormodell Bewegungsmodell ẑ t = h(x t, m) p(z t x t, m) N (h(x t, m), Q t ) ˆx t = g(x t 1, u t ) N (µ t, t )= N (µ t, t )= 1 p 2 2 exp 1 2 (x µ) p (2 )k det exp 1 2 (x µ)t 1 (x µ)

9 Beispiel: SLAM mit Landmarken Annahme: Die Welt besteht aus N punktförmigen Landmarken, d.h. die Welt läßt sich vollständig durch 2N Werte beschreiben (2D) Der Roboter kann die relative Entfernung, den relativen Winkel und die Identität des Objekts bestimmen Definitionen: Exaktes (rauschfreies) Sensormodell Verrauschtes Sensormodell Bewegungsmodell Verrauschtes Bewegungsmodell ẑ t = h(x t, m) p(z t x t, m) N (h(x t, m), Q t ) ˆx t = g(x t 1, u t ) p(x t x t 1, u t ) N (g(x t+1, u t ), R t ) N (µ t, t )= N (µ t, t )= 1 p 2 2 exp 1 2 (x µ) p (2 )k det exp 1 2 (x µ)t 1 (x µ)

10 Kategorisierungen in SLAM Annahmen und Methoden sollten explizit angeben werden (z.b. in einer Publikation, Buch, Implementierung, ) Volumetric vs. Feature-Based Volumenbasiert: erlaubt fotorealistische Rekonstruktionen der Umgebung Feature-based: z.b. Landmarken, Liniensegmente Topological vs. Metric Topologisch: Qualitative der Objektbeziehungen (Obj. A hinter Obj. B) Metrisch: Abstandsinformation Known vs. Unknown Correspondence Zuordnung von Sensordaten zu Objekten. Data Association Problem ist eines der schwierigsten Probleme im SLAM

11 Kategorisierungen in SLAM Static vs. Dynamic Statisch: Umgebung bleibt unverändert mit der Zeit Dynamisch: Veränderungen sind erlaubt. Aufwendiger, aber auch robuster Small vs. Large Uncertainty Algorithmen unterscheiden sich darin, wie gut sie Positionsungenauigkeiten vertragen Loop-closing Problem, wenn der Pfad des Roboters sich selbst kreuzt Active vs. Passive Passive: Roboter wird ferngesteuert Aktiv: Roboter exploriert eigenständig Single- vs. Multi-Robot Multi-Robots noch selten, aber bekommen mehr Aufmerksamkeit

12 Hauptansätze in SLAM Extende Kalman-Filter Historisches erstes Verfahren Sehr hoher Rechenaufwand Wird als eigenständiges Verfahren unwichtiger Iterative Closest Point Eines der ersten Verfahren (für 3D-Punktmengen) Graph-basierte Verfahren Hauptmethode für Full-SLAM Particle Filter Nonparametric statistical filtering FastSLAM scheint in diesem Bereich gerade zu dominieren Neuer Ansatz für das Data Association Problem

13 Iterative Closest Point (ICP) Andreas Nüchter

14 Iterative Closest Point (ICP) Gegeben sind zwei Punktmengen X = {x 1, x 2,...,x n }, x i 2 R n Y = {y 1, y 2,...,y n }, x i 2 R n Gesucht wird die Rotation R und die Translation t, die den Fehler E minimieren E(R, t) = 1 NX kx i Ry i tk 2 N i=1 wobei xi und yi korrespondierende Punkte sind.

15 . direkt Iterative Closest Point (ICP) Wenn die korrespondierenden Punkte bekannt sind, läßt sich die Lösung für x, y 2 R 3 berechnen: 1. Massenschwerpunkte der Punktmengen berechnen: µ x = 1 N NX x i und µ y = 1 N i=1 X 0 = {x i µ x } = {x 0 i } und Y 0 = {y i µ y } = {y 0 i } NX i=1 y i 2. Singulärwertzerlegung: W = NX i=1 xi 0 yi 0 W = U V T 3. Optimale Lösung: R = UV T, t = µ x Rµ y

16 Iterative Closest Point (ICP) Idee: Zugehörigkeiten (correspondences) iterative finden Varianten von ICP 1. Selection Verteilung der Punkte 2. Matching Auswahl der Zugehörigkeiten 3. Weighting Gewichtung der Zugehörigkeiten 4. Rejecting Auswahl / Ignorieren von Punkten 5. Metric Abstandsberechnung Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

17 Iterative Closest Point (ICP) Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

18 Iterative Closest Point (ICP) Selection 1. Alle verfügbaren Punkte 2. Uniformes sampling 3. Random sampling 4. Gradientenbasierte Auswahl (z.b. Farbe) 5. Auswahl basierende auf der Flächennormale Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

19 Iterative Closest Point (ICP) Selection Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

20 Random sampling Normal-space sampling Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

21 Iterative Closest Point (ICP) Matching 1. Punkte mit dem geringsten Abstand 2. Normal shooting 3. View point projection 4. Closest compatible point (z.b. Normalen, Farbe, Curvature, ) Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

22 Iterative Closest Point (ICP) Selection Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

23 Iterative Closest Point (ICP) Weighting 1. Konstantes Gewicht 2. Abstandsabhängiges Gewicht w 12 =1 Dist(p 1, p 2 ) max Dist(p i,p j ) 3. Basierend auf den Normalen w 12 = n 1 n 2 4. Rauschbasierte Gewichtung Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

24 Iterative Closest Point (ICP) Selection Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

25 Iterative Closest Point (ICP) Rejecting 1. Festgelegter Maximalabstand 2. Ablehnung der n% schlechtesten Matches (z.b. 10% der am weitesten entfernten Punkten) 3. Abstand kleiner als ein Vielfaches der Standardabweichung (z.b. 2.5σ) 4. Ablehnung, wenn benachbarte Punkte sich zu stark unterscheiden (x 1, y 1 ), (x 2, y 2 ): Dist(x 1, x 2 ) Dist(y 1, y 2 ) > max(dist(x i, x j ), Dist(y k, y l )), = Keine Punkte, die am Rand der Meshes liegen Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

26 Iterative Closest Point (ICP) Selection Efficient Variants of the ICP Algorithm, Rusinkiewicz, 2001

27 Iterative Closest Point (ICP) Metric 1. Summe der quadratischen Abstände zusammengehöriger Punkte (SVD) Point-to-point 2. Summe der Abstände, geometrisch und Farben 3. Summe der quadratischen Abstände zusammengehöriger Punkte, gewichtet mit der Flächennormalen Point-to-plane

28 SLAM Extended Kalman Filter (EKF SLAM) Metric, feature-based Verfahren Ein Vektor um den Zustand des Roboters und die Umgebung zu repräsentieren Wenn neue Features entdeckt werden, wird der Vektor erweitert Problem: Die Covariance-Matrix Q wächst quadratisch Repräsentation der Unsicherheit des Zustands erfolgt durch eine multivariate Gauss-Verteilung ŷ k = Ay k ˆP k = AP k 1 + Bu k H Abbildung der Sensordaten auf den Zustand A Modell des Systems B Modell der Kontrolle Q Covariance des Sensorfehlers R Rauschen der Sensoren konstant P Schätzung des Fehlers y Zustand u Steuerbefehle x Messung 1 A T + Q K = ˆP k H T (H ˆP k H T + R) 1 y k =ŷ k + K(z k Hŷ k ) P k =(1 KH)ˆP k aktualisiert Linearisierung des Modells A mit First-order Taylor Expansion (Jacobian Matrix) f (x) = 1X n=0 f (n) (a) n! (x a) n

29 EKF-SLAM p(x t, m z 1:t, u 1:t ) N (s t ; µ t, t ) µ t 2 R 3+2N Pose des Roboters + Position aller Objekte t 2 R (3+2N) (3+2N) Unsicherheit für jede Koordinate s t = {x t, x m1, y m1, x m2, y m2,...,x mn, y mn } µ t = {µ xt, µ m1,t, µ m2,t,...,µ mn,t} 2 xt xt m 1,t xt m 2,t xt m N,t m1 x t m1,t m1 m 2,t m1 m N,t t = mn x t mn,t 3 7 5

30 EKF-SLAM

31 EKF-SLAM s t = {x t, x m1, y m1 } µ t = {µ xt, µ m1,t} t = apple xt x t 1,t m1 x t m1,t

32 EKF-SLAM s t = {x t, x m1, y m1, x m2, y m2 } µ t = {µ xt, µ m1,t, µ m2,t} t = apple xt xt m 1,t xt m 2,t m1 x t m1,t m1 m 2,t

33 EKF-SLAM s t = {x t, x m1, y m1, x m2, y m2,...,x m7, y m7 } µ t = {µ xt, µ m1,t, µ m2,t,...,µ m7,t} 2 xt xt m 1,t xt m 2,t xt m 7,t m1 x t m1,t m1 m 2,t m1 m 7,t t = m7 x t m7,t 3 7 5

34 EKF-SLAM s t = {x t, x m1, y m1, x m2, y m2,...,x m7, y m7 } µ t = {µ xt, µ m1,t, µ m2,t,...,µ m7,t} 2 xt xt m 1,t xt m 2,t xt m 7,t m1 x t m1,t m1 m 2,t m1 m 7,t t = m7 x t m7,t 3 7 5

35 EKF-SLAM s t = {x t, x m1, y m1, x m2, y m2,...,x m7, y m7 } µ t = {µ xt, µ m1,t, µ m2,t,...,µ m7,t} 2 xt xt m 1,t xt m 2,t xt m 7,t m1 x t m1,t m1 m 2,t m1 m 7,t t = m7 x t m7,t 3 7 5

36 Montemerlo, Thrun, FastSLAM, 2007, Springer

37 Fast-SLAM Nutzt die strukturellen Eigenschaften aus, die in EKF-SLAM nicht beachtet werden Die Landmarken sind erst dann vollständig korreliert, wenn deren Positionen gesichert sind EKF macht davon keinen Gebrauch, da keine Annahmen über die Umgebung gemacht werden

38 FastSLAM SLAM Posterior: p(x t, m z 1:t, u 1:t, n 1:t ) FastSLAM Posterior: p(x 1:t, m z 1:t, u 1:t, n 1:t ) Erlaubt die Faktorisierung des Posteriors in einfachere Terme m1 z1 z3 x1 x2 x3 xt u1 u2 ut z2 zt m2 Die Position der Landmarken sind unabhängig voreinander, gegeben des Roboterpfads

39 Faktorisierung der Landmarken s t = {x t, x m1, y m1, x m2, y m2,...,x m7, y m7 } µ t = {µ xt, µ m1,t, µ m2,t,...,µ m7,t} t = { xt, m1,t, xt m 2,t,... m7,t}

40 Faktorisierung der Landmarken s t = {x t, x m1, y m1, x m2, y m2,...,x m7, y m7 } µ t = {µ xt, µ m1,t, µ m2,t,...,µ m7,t} t = { xt, m1,t, xt m 2,t,... m7,t} p(x 1:t, m z 1:t, u 1:t, n 1:t )=p(x 1:t z 1:t, u 1:t, n 1:t ) NY n=1 p(m n x 1:t, z 1:t, u 1:t, n 1:t )

41 FastSLAM Herleitung p(x 1:t, m z 1:t, u 1:t, n 1:t )=p(x 1:t z 1:t, u 1:t, n 1:t ) NY n=1 p(m n x 1:t, z 1:t, u 1:t, n 1:t ) Es gilt: p(x 1:t, m z 1:t, u 1:t, n 1:t )=p(x 1:t z 1:t, u 1:t, n 1:t )p(m x 1:t, z 1:t, u 1:t, n 1:t ) Zu zeigen: p(m x 1:t, z 1:t, u 1:t, n 1:t )= Zwischenschritt 1: NY n=1 p(m n x 1:t, z 1:t, u 1:t, n 1:t ) p(m nt x 1:t, z 1:t, u 1:t, n 1:t ) Bayes = p(z t m nt, x 1:t, z 1:t 1, u 1:t, n 1:t ) p(m nt x 1:t, z 1:t 1, u 1:t, n 1:t ) p(z t x 1:t, z 1:t 1, u 1:t, n 1:t ) p(m nt x 1:t, z 1:t, u 1:t, n 1:t )= p(z t m nt, x 1:t, n 1:t ) p(z t x 1:t, z 1:t 1, u 1:t, n 1:t ) p(m n t x 1:t 1, z 1:t 1, u 1:t 1, n 1:t 1 ) p(m nt x 1:t 1, z 1:t 1, u 1:t 1, n 1:t 1 )= p(z t x 1:t, z 1:t 1, u 1:t, n 1:t ) p(z t m nt, x 1:t, n 1:t ) Zwischenschritt 2: p(m nt x 1:t, z 1:t, u 1:t, n 1:t ) p(m n6=nt x 1:t, z 1:t, u 1:t, n 1:t )=p(m n6=nt x 1:t 1, z 1:t 1, u 1:t 1, n 1:t 1 )

42 FastSLAM Beweis per Induktion Induktionshypothese für t-1: p(m x 1:t 1, z 1:t 1, u 1:t 1, n 1:t 1 )= NY n=1 p(m n x 1:t 1, z 1:t 1, u 1:t 1, n 1:t 1 ) Trivial für t = 1: Da keine Beobachtungen gemacht wurden ist die Faktorisierung richtig. Für t > 1: p(m x 1:t, z 1:t, u 1:t, n 1:t )= p(z t m, x 1:t, z 1:t 1, u 1:t, n 1:t ) p(z t x 1:t, z 1:t 1, u 1:t, n 1:t ) p(m x 1:t, z 1:t 1, u 1:t, n 1:t ) [Markov] [Induktionshypothese] [Zwischenergebnisse] = = p(z t m nt, x t, n t ) p(z t ) x 1:t, z 1:t 1, u 1:t, n 1:t ) p(m x 1:t 1, z 1:t 1, u 1:t 1, n 1:t 1 ) p(z t m nt, x t, n t ) p(z t ) x 1:t, z 1:t 1, u 1:t, n 1:t ) = p(m nt x 1:t, z 1:t, u 1:t, n 1:t ) = NY NY n=1 NY n6=n t p(m n x 1:t, z 1:t, u 1:t, n 1:t ) p(m n x 1:t 1, z 1:t 1, u 1:t 1, n 1:t 1 ) n6=n t p(m n x 1:t, z 1:t, u 1:t, n 1:t )

43 FastSLAM Faktorisierung Erlaubt die Schätzung der Position und Umgebung, ohne die Korrelationen zwischen den Landmarken explizit zu beachten Es werden nur N + 1 Filter benötigt, jeder mit einer erheblichen geringeren Komplexität (Dimension) Erlaubt die Anwendung des Particle Filters für SLAM Jedes Particle enthält den Pfad des Roboters und ein EKF für jede Landmarke

44 FastSLAM Particles & Algorithmus Particle 1: x, y, θ μ1, Σ1 μ2, Σ2 μn, ΣN Particle 2: x, y, θ μ1, Σ1 μ2, Σ2 μn, ΣN Particle M: x, y, θ μ1, Σ1 μ2, Σ2 μn, ΣN 1. Bestimme (sample) neue Roboterpose für jedes Partikel gemäß der Kontrolle u 2. Updaten der Landmarken-EKFs für die aktuellen Sensordaten z 3. Berechnen der Importance Weights für jedes Particle 4. Updaten der Partikel aufgrund der Importance Weights

45 FastSLAM Neue Roboterpose Importance Sampling: Verwenden einer bekannte Verteilung zum Generieren von neuen Particles (Hypothesen), weil wir die eigentliche Verteilung nicht kennen Gewichten die neuen Partikels nach der Aussagekraft, die sie haben Proposal Distribution: x [m] t p(x t u t, x [m] t 1 ) Bewegungsmodell kann jede Form (z.b. nicht-linear) annehmen Üblicherweise: v 0 t N (v t, 1 v t + 2 )! 0 t N (! t, 3! t + 4 )

46 FastSLAM Landmarken Update Landmarkenschätzungen EKF repräsentiert p(m n x 1:t, z 1:t, u 1:t, n 1:t ) werden als low-dimensional p(m n x 1:t, z 1:t, u 1:t, n 1:t )= p(z t m nt, x 1:t, z 1:t 1, u 1:t, n 1:t )p(m nt x 1:t, z 1:t 1, u 1:t, n 1:t ) (1) p(z t m nt, x t, z t, n t ) h(x t, m nt ) = p(z t m nt, x t, z t, n t ) {z } (1) G mn t p(m nt x 1:t 1, z 1:t 1, u 1:t {z 1, n 1:t 1 ) } (2) ẑ t = h(x [m] t, µ nt,t 1) = r h(x mn t t, m nt ) xt =x [m] t ;m n t =µ[m] nt,t 1 h(x t, m nt ) ẑ t + G m (m nt µ [m] n t,t 1 ) p(z t m i, x t, n t ) N (z t,ẑ t + G m (m nt µ [m] n t,t 1 ), R t)

47 FastSLAM Landmarken Update (2) p(m i s 1:t 1, z 1:t 1, u 1:t 1, n 1:t 1 ) N (m nt ; µ [m] n t,t G mn t ẑ t = h(x [m] t, µ nt,t 1) = r h(x mn t t, m nt ) xt =x [m] t ;m n t =µ[m] nt,t 1 Z n,t = G mn t [m] n t,t 1 G T m t + R t K t = [m] n t,t 1 G m T Z 1 n t n,t µ [m] n t,t = µ [m] n t,t 1 + K(z t ẑ t ) [m] n t,t =(I K t G mn t ) [m] n t,t 1 1, [m] n t,t 1 ) ŷ k = Ay k ˆP k = AP k 1 + Bu k 1 A T + Q K = ˆP k H T (H ˆP k H T + R) 1 y k =ŷ k + K(z k Hŷ k ) P k =(1 KH)ˆP k h(x t, m nt )= apple r(xt, m nt ) (x t, m nt ) = " p (mnt,y x t,x ) 2 +(m nt,y x t,y ) 2 tan 1 mn t,y m n t,x x t,y x t,x x t,m # G mn t = " mn t,x x t,x p q m n t,y x t,y p q m n t,y q x t,y m n t,x q x t,x q =(m nt,x x t,x ) 2 +(m nt,y x t,y ) 2 #

48 FastSLAM Importance Weights Proposal Distribution: Desired Posterior: p(x [m] 1:t z 1:t 1, u 1:t, n 1:t 1 ) p(x [m] 1:t z 1:t, u 1:t, n 1:t )! [m] t = target distribution proposal distribution = [m] p(x 1:t z 1:t, u 1:t, n 1:t ) p(x [m] 1:t z 1:t 1, u 1:t, n 1:t 1 ) Zähler mit Bayes entwickeln (Normalisierung erfolgt beim Resampling)! [m] t = p(z t x [m] 1:t, z 1:t 1, u 1:t, n 1:t )p(x [m] 1:t z 1:t 1, u 1:t, n 1:t ) p(x [m] 1:t z 1:t 1, u 1:t, n 1:t 1 ) = p(z t x [m] 1:t, z 1:t 1, u 1:t, n 1:t )p(x [m] 1:t z 1:t 1, u 1:t, n 1:t 1 ) p(x [m] 1:t z 1:t 1, u 1:t, n 1:t 1 ) = p(z t x [m] 1:t, z 1:t 1, u 1:t, n 1:t )

49 FastSLAM Importance Weights Berechnung der Importance Weights! [m] t = 1 1 p 2 Znt,t exp 2 (z t ẑ nt,t) T (Z nt,t) 1 (z t ẑ nt,t) x 1:t Abhängigkeit vom Roboterpfad kann ignoriert werden, da alle Funktionen für das Update der Landmarken nur von xt abhängen Data Association Problem: ˆn t =argmax n t p(z t n t,ˆn 1:t 1, x 1:t, z 1:t 1, u 1:t )

50 input: X t 1,z t,r t,u t X t = X aux = {} for m =1toM do retrieve m-th particle hx [m] t from X t 1 draw x [m] t p(x t s [m] t 1,u t) for n =1toN [m] t 1 do ẑ t = h(x [m] t,µ nt,t 1) G mnt 1,N[m] t 1,µ[m] 1,t 1, [m] = r mnt h(x t,m nt ) xt =x [m] t ;m nt =µ [m] n t,t 1 Z n,t = G mnt [m] n t,t 1,t 1,...,µ[m] N [m] t 1 1 GT m t + R t p [m] 1 n,t = p exp 1 2 Znt,t 2 (z t end for ẑ nt,t) T (Z nt,t) 1 (z t ẑ nt,t) p [m] N [m] t 1 +1,t 0 ˆn t = arg max n p [m] n,t or draw ˆn t with prob. p [m] n,t for m =1toM do draw random particle from X aux with prob.! [m] t add new particle to X t end for,t 1, [m] N [m] t 1,t 1i t n n,t t if ˆn t = N [m] t N [m] t µ [m] 1 +1then = N [m] t 1 +1 ˆn t,t = h 1 (x [m] t, ẑˆnt,t) [m] ˆn t,t =(GT m nt R 1 G mnt ) 1 else N [m] t = N [m] t 1 Kˆnt,t = [m] ˆn t,t 1 GT m nt Zn,t 1 µ [m] ˆn t,t = µ[m] ˆn t,t 1 + Kˆn t,t(z t ẑˆnt,t) [m] ˆn t,t =(I end if for n =1toN [m] t if n 6= ˆn t then µ [m] ˆn t,t = µ[m] ˆn t,t 1 [m] ˆn t,t = [m] ˆn t,t 1 end if end for! [m] t = p [m] ˆn t,t Kˆn t,tg mnt ) [m] ˆn t,t do add new particle to X aux end for

51 FastSLAM

52 FastSLAM

53 Graph-based SLAM Offline, Full-SLAM, feature-based Algorithmus Idee Position und Landmarken sind Knoten in einem Graph Jeder Übergang von xt-1 nach xt (Roboterposition) wird durch Kanten in dem Graphen repräsentiert Jede Messung eines Objekts mi wird ebenfalls mit dem Zustand xt durch eine Kante verknüpft, wenn mi zum Zeitpunkt t beobachtet wurde

54 Graph-based SLAM m1 x1 m1 x1 x1 m1

55 Graph-based SLAM m1 x1 x2 x3 x4 m1 m2 m3 m4 x1 x1 x2 x2 x3 x4 m1 m2 m3 m4

56 Graph-based SLAM m1 m2 x1 x2 m1 m2 x1 x1 x2 x2 m1 m2

57 Graph-based SLAM m1 m2 x1 x2 x3 x4 m1 m2 m3 m4 x1 x1 x2 x3 x2 x3 x4 x4 m1 m3 m2 m4 m3 m4

58 Graph-based SLAM Stellen uns den Graphen als ein Feder-Massen-System vor Lösung des SLAM Problems entspricht dem Gleichgewichtszustand (minimale Energie des Systems) Graph korrespondiert zu dem Logarithmus der Posterior-Verteilung: log p(x 1:t, m z 1:t, u 1:t ) Ohne Herleitung: log p(x 1:t, m z 1:t, u 1:t ) = const [Kante im Graph: Bewegung des Roboters] + X t log t p(x t x t 1, u t ) [Kante im Graph: Sensormessung] + X t log t p(z t x t, m) SLAM: Maximierung der Gleichung x 1:t, m =argmax x 1:t,m log p(x 1:t, m z 1:t, u 1:t )

59 Graph-based SLAM log p(x 1:t, m z 1:t, u 1:t ) = const + X t [x t g(x t 1, u t )] T R 1 t [x t g(x t 1, u t )] + X t [z t h(x t, m)] T Q 1 t [z t h(x t, m)] Lösungen kann durch Standardmethoden gefunden werden, z.b. Gradientenverfahren, Simulated Annealing

60 ATLAS Hybrides SLAM Verfahren Graphenbasiertes, metrischen Verfahren Funktioniert mit Scan-matching und Feature-based SLAM-Verfahren Explicit Loop-closing via effizientes Map-Matching Verfahren Grundlegende Idee: Knoten sind lokale Koordinatensysteme Kanten beschreiben die Translationen zwischen den Knoten und die Unsicherheiten eines Knoten in Bezug des anderen Simultaneous Localization and Map Building in Large-Scale Cyclic Environments Using the Atlas Framework, Bosse, Newman, Leonard, Teller, 2004

61 ATLAS Algorithmus In jeder Iteration des Algorithmus müssen 4 Schritte ausgeführt werden 1. Local Map Iteration Lokales SLAM-Verfahren um Daten zu sammeln 2. Hypothesis State Transition Generieren und testen von Hypothesen über den aktuellen Zustand 3. Map Projection Iteration Aktualisieren der lokalen Map-unsicherheiten und -positionen 4. Map Matching Loop-closing / Reduction

62 ATLAS Komponenten 1. Uncertainty Projection 2. Competing Hypotheses 3. Generation of new maps 4. Loop closing 5. Instantiation and evaluation of new maps

63 ATLAS Uncertainty Projection In einem zyklischen Graph existieren mehrere Pfade zwischen Knoten Für die Berechnung der Unsicherheiten wird der kürzeste Pfad genommen, d.h. der Pfad mit der geringsten projizierten Unsicherheiten B D A C

64 ATLAS Genesis Jede lokale Map hat eine maximale Komplexität In den Anwendungen sind das maximal 15 Positionen oder Features Der Graph muß daher durch neue Maps erweitert werden 1. Aktuelle Position des Roboters definiert den Ursprung des neuen Koordinatensystems 2. Posture wird auf Null gesetzt 3. Unsicherheit wird auf Null gesetzt 4. Unsicherheit des neuen Koordinatensystems wird relativ zur Source angeben

65 ATLAS Map Matching / Loop-closing In zyklischen Umgebungen, werden Bereiche mehrfach besucht Map-matching bedeutet, dass man diese Bereiche automatisch identifiziert 3 Schritte: 1. Durch die Uncertainty Projection erhalten wir eine Liste von möglichen Matches 2. Für jede der möglichen Matches, wird die Ähnlichkeit bestimmt 3. Update des Graphen

66 ATLAS Feature-based Map Matching Erstellen einer Signatur, die invariant gegenüber Transformationen ist d 1 d 1 d 2 d 3 1 A 0 d 1 d 2 d 3 d 4 1 C A Self-Matching: Entfernen von repetitive Features (z.b. Türen in einem Flur) Vergleich & Zuordnung: Jeder Match beschreibt eine mögliche Transformation zwischen den beiden Maps Jede Transformation wird evaluiert, nach der Anzahl der Features, die in Einklang gebracht werden Die besten n Transformationen ergeben die Gesamttransformation & Covariance Matrix ij = E [( X i µ i )(X j µ j )]

67 ATLAS Cycle Verification Zwei mögliche Probleme beim Schliessen von Zyklen 1. False Positives führt zu falschen Loops 2. False Negatives führt zu Loops, die nicht geschlossen werden Ansatz: Entscheidung eine Loop zu schliessen wird erst dann getroffen, wenn genug Informationen vorhanden sind Schliessen von kleinen Loops wird bevorzugt

68 ATLAS Cycle Verification

69 ATLAS Traversal with Competing Hypotheses Wenn der Roboter eine Map verlässt, muss entweder einer anderen, angrenzenden Map zugeordnet werden oder es muss eine neue Map erzeugt werden Die Entscheidung geschieht aufgrund von Hypothesen, die mit den Sensordaten verglichen werden Es wird zu jedem Zeitpunkt eine Menge von Hypothesen verwaltet, um die Position in der Map zu bestimmen Es gibt vier Arten von Hypothese, Dominant, Mature, Juvenile, Retired

70 ATLAS Hypotheses states Mature Map: Kann den Status angrenzender Maps auf Juvenile setzen Kann neue Maps erzeugen Dominant Map: Mature Map mit der besten Metric (gegeben der Sensordaten) Ausgabe des ATLAS Frameworks Juvenile Map: Testet wie gut eine angrenzende Map die aktuellen Messungen erklären kann Wird nach einer festen Zeit (z.b. 2 Sekunden) gelöscht Retired Map: Mature Maps, die die aktuellen Daten nicht erklären können Können als Juvenile Map reaktiviert werden Markieren inaktive Bereiche der Karte Wenn es nur eine Mature Map gibt, die aber die Daten nicht erklären kann, wird eine neue Map erzeugt Juvenile Dominant Mature Retired

71 ATLAS Traversal Generation Prior Map-Matching Prior Posterior Posterior Hypothesenauswahl Prior Loop-closing Prior Posterior Posterior

72 ATLAS Erstellen einer globalen Karte Simultaneous Localization and Map Building in Large-Scale Cyclic Environments Using the Atlas Framework, Bosse, Newman, Leonard, Teller, 2004

73 ATLAS Erstellen einer globalen Karte Simultaneous Localization and Map Building in Large- Scale Cyclic Environments Using the Atlas Framework, Bosse, Newman, Leonard, Teller, 2004

74 ATLAS Erstellen einer globalen Karte Simultaneous Localization and Map Building in Large- Scale Cyclic Environments Using the Atlas Framework, Bosse, Newman, Leonard, Teller, 2004

75

76 SLAM Offene Probleme Dynamische Umgebungen Multi-robot SLAM Standardimplementierungen auf den Niveau industrieller Anwendungen. Beispiel OpenCV Long-term SLAM (Tage, Wochen, Monate, Jahre)

SLAM. Simultaneous Localization and Mapping. KogSys-Sem-M2: Reading Club - SLAM - Andreas Habermann

SLAM. Simultaneous Localization and Mapping. KogSys-Sem-M2: Reading Club - SLAM - Andreas Habermann SLAM Simultaneous Localization and Mapping KogSys-Sem-M2: Reading Club - SLAM - Andreas Habermann Simultaneous Localization And Mapping SLAM Problematik SLAM Arten SLAM Methoden: (E)KF SLAM GraphSLAM Fast

Mehr

Kalman-Filter und Target Tracking

Kalman-Filter und Target Tracking Kalman-Filter und Target Tracking Peter Poschmann Hochschule für Technik und Wirtschaft Dresden Fakultät Informatik/Mathematik 23. März 2016 Inhalt 1 Kalman-Filter Einleitung Eindimensionaler Kalman-Filter

Mehr

Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform. Thorsten Jost INF-M2 AW1 Sommersemester

Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform. Thorsten Jost INF-M2 AW1 Sommersemester Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform Thorsten Jost INF-M2 AW1 Sommersemester 2008 Agenda Motivation Feature Detection Beispiele Posenbestimmung in Räumen

Mehr

Computer Vision: Kalman Filter

Computer Vision: Kalman Filter Computer Vision: Kalman Filter D. Schlesinger TUD/INF/KI/IS D. Schlesinger () Computer Vision: Kalman Filter 1 / 8 Bayesscher Filter Ein Objekt kann sich in einem Zustand x X befinden. Zum Zeitpunkt i

Mehr

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1 Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing Algorithmen. Begriffe, Definitionen Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

Integration eines pneumatischen Roboters in die Robotics API

Integration eines pneumatischen Roboters in die Robotics API Integration eines pneumatischen Roboters in die Robotics API Ziel: Integration eines AirArms in die Robotics API und Umsetzung eines Demo-Anwendung Idee: Die MRK (Mensch Roboter Kooperation) bekommt zunehmend

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

Mehr

Biologisch motivierter SLAM Algorithmus

Biologisch motivierter SLAM Algorithmus HAW Hamburg 01. Dezember 2011 Gliederung 1 Einführung 2 RatSLAM 3 Aussicht für Master 2 / 23 Einführung Was ist SLAM SLAM bedeutet: Simultaneous Localization and Mapping Erstellung einer Karte durch mobilen

Mehr

Algorithmus zum Graphen-Matching. und. Anwendung zur inhaltsbasierten Bildersuche

Algorithmus zum Graphen-Matching. und. Anwendung zur inhaltsbasierten Bildersuche Algorithmus zum Graphen-Matching und Anwendung zur inhaltsbasierten Bildersuche Gliederung 1. Einführung 2. Algorithmus Beschreibung Beispiel Laufzeit 3. Anwendung des Algorithmus Seite 1 von 18 1. Einführung

Mehr

Betrachtung von Verfahren zur Posenbestimmung und Merkmalsexktraktion. Thorsten Jost INF-MA SR Wintersemester 2008/2009 1.

Betrachtung von Verfahren zur Posenbestimmung und Merkmalsexktraktion. Thorsten Jost INF-MA SR Wintersemester 2008/2009 1. Betrachtung von Verfahren zur Posenbestimmung und Merkmalsexktraktion Thorsten Jost INF-MA SR Wintersemester 2008/2009 1. Dezember 2008 Agenda Motivation Feature Detection SIFT MOPS SURF SLAM Monte Carlo

Mehr

Der Algorithmus von Bresenham

Der Algorithmus von Bresenham Der Algorithmus von Bresenham Das Bresenham-Verfahren beruht im wesentlichen auf zwei grundsätzliche Beobachtungen: - Es reicht ein Verfahren aus um Geraden mit einer Steigung im Bereich von null bis eins

Mehr

Clusteranalyse: Gauß sche Mischmodelle

Clusteranalyse: Gauß sche Mischmodelle Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse: Gauß sche Mischmodelle iels Landwehr Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

Mehr

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer.

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer. Anwendung Input: Query-Bild, Ergebnis: Menge ähnlicher Bilder. Kapitel 8: Ähnlichkeitsanfragen und ihre effiziente Evaluierung Wie zu finden? Corbis, NASA: EOS Bilddatenbank Folie Folie 2 Ähnlichkeitssuche

Mehr

Anwendung einer Monokularen Kamera als Bewegungs-Sensor für Mobile Roboter p.1

Anwendung einer Monokularen Kamera als Bewegungs-Sensor für Mobile Roboter p.1 Anwendung einer Monokularen Kamera als Bewegungs-Sensor für Mobile Roboter Tobias Pietzsch Anwendung einer Monokularen Kamera als Bewegungs-Sensor für Mobile Roboter p.1 Zielstellung Kamera als Sensor

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Semantische 3D-Karten für mobile Roboter. Prof. Dr. Andreas Nüchter Jacobs University Bremen Campus Ring 1 28759 Bremen

Semantische 3D-Karten für mobile Roboter. Prof. Dr. Andreas Nüchter Jacobs University Bremen Campus Ring 1 28759 Bremen Semantische 3D-Karten für mobile Roboter Prof. Dr. Andreas Nüchter Jacobs University Bremen Campus Ring 1 28759 Bremen Danksagung Für erfolgreiche Zusammenarbeit in den letzten Jahren mit Joachim Hertzberg

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Wie findet das Navi den Weg?

Wie findet das Navi den Weg? 0.05.0 Verwandte Fragestellungen Problemstellungen aus der Praxis Prof. Dr. Paul Rawiel Gliederung des Vortrags Speicherung von Kartendaten zur Navigation Kriterien für die Navigation Finden des kürzesten

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

Monte Carlo Methoden in Kreditrisiko-Management

Monte Carlo Methoden in Kreditrisiko-Management Monte Carlo Methoden in Kreditrisiko-Management P Kreditportfolio bestehend aus m Krediten; Verlustfunktion L = n i=1 L i; Die Verluste L i sind unabhängig bedingt durch einen Vektor Z von ökonomischen

Mehr

(1) Problemstellung. (2) Kalman Filter

(1) Problemstellung. (2) Kalman Filter Inhaltsverzeichnis (1) Problemstellung...2 (2) Kalman Filter...2 Funktionsweise... 2 Gleichungen im mehrdimensionalen Fall...3 Schätzung des Systemzustands...3 Vermuteter Schätzfehler... 3 Aktualisierung

Mehr

Hauptseminar Roboternavigation. Kartenaufbau nach Thrun

Hauptseminar Roboternavigation. Kartenaufbau nach Thrun Hauptseminar Roboternavigation Kartenaufbau nach Thrun Hannes Keil keil@in.tum.de 18. Januar 2002 Überblick Kartenaufbau nach Thrun Überblick 1. Einführung in den Kartenbau 2. Einführung in den Aufbau

Mehr

Reinforcement Learning

Reinforcement Learning Reinforcement Learning 1. Allgemein Reinforcement Learning 2. Neuronales Netz als Bewertungsfunktion 3. Neuronales Netz als Reinforcement Learning Nils-Olaf Bösch 1 Allgemein Reinforcement Learning Unterschied

Mehr

Customization (Zuschneiden)

Customization (Zuschneiden) Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum

Mehr

Partitionen II. 1 Geometrische Repräsentation von Partitionen

Partitionen II. 1 Geometrische Repräsentation von Partitionen Partitionen II Vortrag zum Seminar zur Höheren Funktionentheorie, 09.07.2008 Oliver Delpy In diesem Vortrag geht es um Partitionen, also um Aufteilung von natürlichen Zahlen in Summen. Er setzt den Vortrag

Mehr

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Boltzmann Maschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2014 Übersicht Boltzmann Maschine Neuronale Netzwerke Die Boltzmann Maschine Gibbs

Mehr

Inhaltsverzeichnis INHALTSVERZEICHNIS 1

Inhaltsverzeichnis INHALTSVERZEICHNIS 1 INHALTSVERZEICHNIS 1 Inhaltsverzeichnis 1 Die Parabel 2 1.1 Definition................................ 2 1.2 Bemerkung............................... 3 1.3 Tangenten................................ 3 1.4

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse Tobias Scheffer Thomas Vanck Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

3. Das Reinforcement Lernproblem

3. Das Reinforcement Lernproblem 3. Das Reinforcement Lernproblem 1. Agierender Agent in der Umgebung 2. Discounted Rewards 3. Markov Eigenschaft des Zustandssignals 4. Markov sche Entscheidung 5. Werte-Funktionen und Bellman sche Optimalität

Mehr

Threading - Algorithmen

Threading - Algorithmen Threading - Algorithmen Florian Lindemann 22.11.2007 Florian Lindemann () Threading - Algorithmen 22.11.2007 1 / 25 Gliederung 1 Prospect Scoring Function Algorithmus Weitere Eigenschaften Komplexität

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Methoden zur Visualisierung von Ergebnissen aus Optimierungs- und DOE-Studien

Methoden zur Visualisierung von Ergebnissen aus Optimierungs- und DOE-Studien Methoden zur Visualisierung von Ergebnissen aus Optimierungs- und DOE-Studien Katharina Witowski katharina.witowski@dynamore.de Übersicht Beispiel Allgemeines zum LS-OPT Viewer Visualisierung von Simulationsergebnissen

Mehr

StatStream : Statistical Monitoring of Thousands of Data Streams in Real Time Yunyue Zhu,Dennis Sasha. Vorgetragen von Matthias Altmann

StatStream : Statistical Monitoring of Thousands of Data Streams in Real Time Yunyue Zhu,Dennis Sasha. Vorgetragen von Matthias Altmann StatStream : Statistical Monitoring of Thousands of Data Streams in Real Time Yunyue Zhu,Dennis Sasha Vorgetragen von Matthias Altmann Mehrfache Datenströme Beispiel Luft und Raumfahrttechnik: Space Shuttle

Mehr

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Einleitung In welchen Situationen ist Apriori teuer, und warum? Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Data Warehousing und Mining 1 Data Warehousing und Mining 2 Schnelles Identifizieren

Mehr

Autonom-Explorierender Hexapod-Roboter

Autonom-Explorierender Hexapod-Roboter Fachbereich 4: Informatik Autonom-Explorierender Hexapod-Roboter Bachelorarbeit zur Erlangung des Grades Bachelor of Science im Studiengang Computervisualistik vorgelegt von Christian Schlöffel Betreuer:

Mehr

Dynamisches Programmieren - Problemstruktur

Dynamisches Programmieren - Problemstruktur Dynamisches Programmieren - Problemstruktur Optimale Substruktur: Optimale Lösung enthält optimale Lösungen von Teilproblemen. Bsp.: Kürzester Weg im Graphen, LCS (s. etwa Folie 42 der letzten Vorlesung)

Mehr

Real-Time 3D Model Acquisition

Real-Time 3D Model Acquisition Seminarvortrag Real-Time 3D Model Acquisition Alexander Barth Nach Folien von Szymon Rusinkiewicz, Olaf Hall-Holt und Marc Levoy Einführung 3D-Scannen 2 Einführung Ziele Hohe Präzision Hohe Geschwindigkeit

Mehr

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Einführung in Approximative Algorithmen und Parametrisierte Komplexität Einführung in Approximative Algorithmen und Parametrisierte Komplexität Tobias Lieber 10. Dezember 2010 1 / 16 Grundlegendes Approximationsalgorithmen Parametrisierte Komplexität 2 / 16 Grundlegendes Definition

Mehr

Bayes sches Lernen: Übersicht

Bayes sches Lernen: Übersicht Bayes sches Lernen: Übersicht Bayes sches Theorem MAP, ML Hypothesen MAP Lernen Minimum Description Length Principle Bayes sche Klassifikation Naive Bayes Lernalgorithmus Teil 5: Naive Bayes + IBL (V.

Mehr

Vorlesung 8a. Kovarianz und Korrelation

Vorlesung 8a. Kovarianz und Korrelation Vorlesung 8a Kovarianz und Korrelation 1 Wir erinnern an die Definition der Kovarianz Für reellwertige Zufallsvariable X, Y mit E[X 2 ] < und E[Y 2 ] < ist Cov[X, Y ] := E [ (X EX)(Y EY ) ] Insbesondere

Mehr

Anwendungen der Hauptkomponentenanalyse. Volker Tresp vertreten durch Florian Steinke

Anwendungen der Hauptkomponentenanalyse. Volker Tresp vertreten durch Florian Steinke Anwendungen der Hauptkomponentenanalyse Volker Tresp vertreten durch Florian Steinke 1 Dimensionsreduktion für Supervised Learning 2 Beispiel: Kaufentscheidung 3 Verbesserte Abstandsmaße durch Hauptkomponentenanalyse

Mehr

PROSEMINAR ONLINE ALGORITHMEN

PROSEMINAR ONLINE ALGORITHMEN PROSEMINAR ONLINE ALGORITHMEN im Wintersemester 2000/2001 Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans (Betreuer) Vortrag vom 15.11.2000 von Jan Schmitt Thema : Finden eines

Mehr

Statistics, Data Analysis, and Simulation SS 2015

Statistics, Data Analysis, and Simulation SS 2015 Mainz, May 12, 2015 Statistics, Data Analysis, and Simulation SS 2015 08.128.730 Statistik, Datenanalyse und Simulation Dr. Michael O. Distler Dr. Michael O. Distler

Mehr

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Computer Vision: 3D-Geometrie D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Lochkamera Modell C Projektionszentrum, Optische Achse, Bildebene, P Hauptpunkt (optische Achse kreuzt die Bildebene),

Mehr

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002) 6. Bayes-Klassifikation (Schukat-Talamazzini 2002) (Böhm 2003) (Klawonn 2004) Der Satz von Bayes: Beweis: Klassifikation mittels des Satzes von Bayes (Klawonn 2004) Allgemeine Definition: Davon zu unterscheiden

Mehr

Modellbasierte Diagnosesysteme

Modellbasierte Diagnosesysteme Modellbasierte Diagnosesysteme Diagnose: Identifikation eines vorliegenden Fehlers (Krankheit) auf der Basis von Beobachtungen (Symptomen) und Hintergrundwissen über das System 2 Arten von Diagnosesystemen:

Mehr

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann

Mehr

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20 Gliederung / Künstliche Neuronale Netze Perzeptron Einschränkungen Netze von Perzeptonen Perzeptron-Lernen Perzeptron Künstliche Neuronale Netze Perzeptron 3 / Der Psychologe und Informatiker Frank Rosenblatt

Mehr

Simulationsmethoden in der Bayes-Statistik

Simulationsmethoden in der Bayes-Statistik Simulationsmethoden in der Bayes-Statistik Hansruedi Künsch Seminar für Statistik, ETH Zürich 6. Juni 2012 Inhalt Warum Simulation? Modellspezifikation Markovketten Monte Carlo Simulation im Raum der Sprungfunktionen

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten Morgen und Willkommen zur Saalübung! Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei

Mehr

37 Gauß-Algorithmus und lineare Gleichungssysteme

37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass

Mehr

Euklidische Distanzmatrizen. Andrei Grecu

Euklidische Distanzmatrizen. Andrei Grecu Euklidische Distanzmatrizen Andrei Grecu Übersicht Motivation Definition und Problemstellung Algo 1: Semidefinite Programmierung Algo 2: Multidimensional Scaling Algo 3: Spring Embedder Algo 4: Genetischer

Mehr

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,

Mehr

Kapitel 1 Beschreibende Statistik

Kapitel 1 Beschreibende Statistik Beispiel 1.25: fiktive Aktienkurse Zeitpunkt i 0 1 2 Aktienkurs x i 100 160 100 Frage: Wie hoch ist die durchschnittliche Wachstumsrate? Dr. Karsten Webel 53 Beispiel 1.25: fiktive Aktienkurse (Fortsetzung)

Mehr

Numerische Methoden und Algorithmen in der Physik

Numerische Methoden und Algorithmen in der Physik Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann 29.01.2009 Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 1/ 18 Einführung Fourier-Transformation

Mehr

9.2 Invertierbare Matrizen

9.2 Invertierbare Matrizen 34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

4. Kreis- und Wegeprobleme Abstände in Graphen 4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls

Mehr

Analytische Geometrie I

Analytische Geometrie I Analytische Geometrie I Rainer Hauser Januar 202 Einleitung. Geometrie und Algebra Geometrie und Algebra sind historisch zwei unabhängige Teilgebiete der Mathematik und werden bis heute von Laien weitgehend

Mehr

5 Erwartungswerte, Varianzen und Kovarianzen

5 Erwartungswerte, Varianzen und Kovarianzen 47 5 Erwartungswerte, Varianzen und Kovarianzen Zur Charakterisierung von Verteilungen unterscheidet man Lageparameter, wie z. B. Erwartungswert ( mittlerer Wert ) Modus (Maximum der Wahrscheinlichkeitsfunktion,

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

Grundlagen der Monte Carlo Simulation

Grundlagen der Monte Carlo Simulation Grundlagen der Monte Carlo Simulation 10. Dezember 2003 Peter Hofmann Inhaltsverzeichnis 1 Monte Carlo Simulation.................... 2 1.1 Problemstellung.................... 2 1.2 Lösung durch Monte

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Typische Fragestellungen aus 3D-Modellierung und mobiler Robotik

Typische Fragestellungen aus 3D-Modellierung und mobiler Robotik Typische Fragestellungen aus 3D-Modellierung und mobiler Robotik Christian Rink German Aerospace Center () Institute of Robotics and Mechatronics 28.4.2014 Knowledge for Tomorrow www.dlr.de Slide 1 of

Mehr

Vektoren - Basiswechsel

Vektoren - Basiswechsel Vektoren - Basiswechsel Grundprinzip Für rein geometrische Anwendungen verwendet man üblicherweise die Standardbasis. Damit ergibt sich in den Zahlenangaben der Koordinaten kein Unterschied zu einem Bezug

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Visualisierung hochdimensionaler Daten. Hauptseminar SS11 Michael Kircher

Visualisierung hochdimensionaler Daten. Hauptseminar SS11 Michael Kircher Hauptseminar SS11 Inhalt Einführung zu hochdimensionalen Daten Visualisierungsmöglichkeiten dimensionale Teilmengen dimensionale Schachtelung Achsenumgestaltung Algorithmen zur Dimensionsreduktion Zusammenfassung

Mehr

( ) Lineare Gleichungssysteme

( ) Lineare Gleichungssysteme 102 III. LINEARE ALGEBRA Aufgabe 13.37 Berechne die Eigenwerte der folgenden Matrizen: ( ) 1 1 0 1 1 2 0 3 0 0, 2 1 1 1 2 1. 1 1 0 3 Aufgabe 13.38 Überprüfe, ob die folgenden symmetrischen Matrizen positiv

Mehr

Statistics, Data Analysis, and Simulation SS 2015

Statistics, Data Analysis, and Simulation SS 2015 Mainz, June 11, 2015 Statistics, Data Analysis, and Simulation SS 2015 08.128.730 Statistik, Datenanalyse und Simulation Dr. Michael O. Distler Dr. Michael O. Distler

Mehr

1 Potenzen und Polynome

1 Potenzen und Polynome 1 Potenzen und Polynome Für eine reelle Zahl x R und eine natürliche Zahl n N definieren wir x n := x x x... x }{{} n-mal Einschub über die bisher aufgetretenen mathematischen Symbole: Definition mittels

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen 1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

Signalverarbeitung 2. Volker Stahl - 1 -

Signalverarbeitung 2. Volker Stahl - 1 - - 1 - Überblick Bessere Modelle, die nicht nur den Mittelwert von Referenzvektoren sondern auch deren Varianz berücksichtigen Weniger Fehlklassifikationen Mahalanobis Abstand Besseres Abstandsmaß basierend

Mehr

Mathematik 1 für Informatiker und Wirtschaftsinformatiker Wintersemester 07/08 (Winkler) Musterprüfung mit Lösungen

Mathematik 1 für Informatiker und Wirtschaftsinformatiker Wintersemester 07/08 (Winkler) Musterprüfung mit Lösungen Mathematik für Informatiker und Wirtschaftsinformatiker Wintersemester 07/08 (Winkler Musterprüfung mit Lösungen. Sei T N. (a Unter welchen beiden Voraussetzungen an T garantiert das Induktionsaxiom (nach

Mehr

Normalengleichungen. Für eine beliebige m n Matrix A erfüllt jede Lösung x des Ausgleichsproblems Ax b min die Normalengleichungen A t Ax = A t b,

Normalengleichungen. Für eine beliebige m n Matrix A erfüllt jede Lösung x des Ausgleichsproblems Ax b min die Normalengleichungen A t Ax = A t b, Normalengleichungen Für eine beliebige m n Matrix A erfüllt jede Lösung x des Ausgleichsproblems Ax b min die Normalengleichungen A t Ax = A t b, Normalengleichungen 1-1 Normalengleichungen Für eine beliebige

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 23. November 2011 Betweenness Centrality Closeness Centrality H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 Betweenness Centrality Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf

Mehr

Very simple methods for all pairs network flow analysis

Very simple methods for all pairs network flow analysis Very simple methods for all pairs network flow analysis Tobias Ludes 02.07.07 Inhalt Einführung Algorithmen Modifikation der Gomory-Hu Methode Einführung Nach Gomory-Hu nur n-1 Netzwerk-Fluss- Berechnungen

Mehr

Kapitel 2: Mathematische Grundlagen

Kapitel 2: Mathematische Grundlagen [ Computeranimation ] Kapitel 2: Mathematische Grundlagen Prof. Dr. Stefan M. Grünvogel stefan.gruenvogel@fh-koeln.de Institut für Medien- und Phototechnik Fachhochschule Köln 2. Mathematische Grundlagen

Mehr

Geometrische Objekte im 3-dimensionalen affinen Raum oder,... wie nützlich ist ein zugehöriger Vektorraum der Verschiebungen

Geometrische Objekte im 3-dimensionalen affinen Raum oder,... wie nützlich ist ein zugehöriger Vektorraum der Verschiebungen Geometrische Objekte im -dimensionalen affinen Raum Bekanntlich versteht man unter geometrischen Objekten Punktmengen, auf die man die üblichen Mengenoperationen wie z.b.: Schnittmenge bilden: - aussagenlogisch:

Mehr

Übungen zu Theoretische Physik I - Mechanik im Sommersemester 2013 Blatt 7 vom Abgabe:

Übungen zu Theoretische Physik I - Mechanik im Sommersemester 2013 Blatt 7 vom Abgabe: Übungen zu Theoretische Physik I - Mechanik im Sommersemester 03 Blatt 7 vom 0.06.3 Abgabe: 7.06.3 Aufgabe 9 3 Punkte Keplers 3. Gesetz Das 3. Keplersche Gesetz für die Planetenbewegung besagt, dass das

Mehr

Prof. Dr. Christoph Kleinn Institut für Waldinventur und Waldwachstum Arbeitsbereich Waldinventur und Fernerkundung

Prof. Dr. Christoph Kleinn Institut für Waldinventur und Waldwachstum Arbeitsbereich Waldinventur und Fernerkundung Systematische Stichprobe Rel. große Gruppe von Stichprobenverfahren. Allgemeines Merkmal: es existiert ein festes, systematisches Muster bei der Auswahl. Wie passt das zur allgemeinen Forderung nach Randomisierung

Mehr

Beispiel mit Hinweisen 1 1/3 Dreieck

Beispiel mit Hinweisen 1 1/3 Dreieck Beispiel mit Hinweisen 1 1/3 Dreieck Zeige für das Dreieck ABC [ A(5/5), B(29/15), C(5/15) ] die Richtigkeit von folgender Behauptung: Die drei Verbindungsstrecken der Eckpunkte mit den Berührungspunkten

Mehr

Latente Dirichlet-Allokation

Latente Dirichlet-Allokation Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Latente Dirichlet-Allokation Tobias Scheffer Peter Haider Paul Prasse Themenmodellierung Themenmodellierung (Topic modeling) liefert

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

Cognitive Systems Master thesis

Cognitive Systems Master thesis Cognitive Systems Master thesis Recherche Phase SS 2011 Gliederung 1. Einleitung 2. Analogie Modelle 2.1 SME 2.2 Ava 2.3 Lisa 3. Zusammenfassung 4. Ausblick 2 Einleitung Analogie Problemsituation wird

Mehr

Makroökonomie: Übung 1

Makroökonomie: Übung 1 Makroökonomie: Übung 1 3.5.2010 1 Ziele der Übung Umgang mit Daten MS Excel verwenden Ergebnisse interpretieren Konzepte aus der Vorlesung anwenden 2 Aufgabe 2 Logarithmierte Zeitreihen Einen Ordner auf

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Geometrische Algorithmen

Geometrische Algorithmen Geometrische Algorithmen Thomas Röfer Motivation Scan-line-Prinzip Konvexe Hülle Distanzprobleme Voronoi-Diagramm Rückblick Manipulation von Mengen Vorrangwarteschlange Heap HeapSort swap(a, 0, 4) 1 5

Mehr

Mathematik: Geometrie und Anwendungen in der Wirtschaft

Mathematik: Geometrie und Anwendungen in der Wirtschaft Mathematik: Geometrie und Anwendungen in der Wirtschaft Voronoidiagramme und Kundenzuordnung von Horst W Hamacher IFB, Juni 2003 - Voronoidiagramme und Kundenzuordnung Seite 1 Gliederung Erinnerung SAP

Mehr