+ All Categories
Home > Technology > Navigation with the Dipole Calculus

Navigation with the Dipole Calculus

Date post: 22-Jul-2015
Category:
Upload: tuxman
View: 398 times
Download: 5 times
Share this document with a friend
Popular Tags:
26
Navigation with the Dipole Calculus GI Zeitgeist 2012 GI Zeitgeist 2012 Germán Carrillo / Christoph Mülligann 17.03.2012
Transcript
Page 1: Navigation with the Dipole Calculus

Navigation with the Dipole Calculus

GI Zeitgeist 2012GI Zeitgeist 2012

Germán Carrillo / Christoph Mülligann 17.03.2012

Page 2: Navigation with the Dipole Calculus

1. Objective2. Context3. Dipole Calculus4. The problem 5. SPARQ reasoner 6. The algorithm7. Implementation8. Conclusions and further work

Navigation with the Dipole Calculus

Agenda

Page 3: Navigation with the Dipole Calculus

Simulate the movement of a robot in a street network using Qualitative Spatial Reasoning (QSR)

1. Objective

Navigation with the Dipole Calculus

Page 4: Navigation with the Dipole Calculus

QSRQSR

• Deals with commonsense knowledge w/o numerical computation [Renz & Nebel, 2007]

• Comparative knowledge vs. metric information

• Knowledge is represented by relations and operations

• Relations are Jointly Exhaustive and Pairwise Disjoint

2. Context

Navigation with the Dipole Calculus

Page 5: Navigation with the Dipole Calculus

Constraint-based reasoningConstraint-based reasoning

• Constraint networks are set of relations to be validated • Check constraint network vs. domain knowledge

2. Context

Navigation with the Dipole Calculus

Page 6: Navigation with the Dipole Calculus

Constraint-based reasoningConstraint-based reasoning

• Constraint networks are set of relations to be validated • Check constraint network vs. domain knowledge • e.g. Relations “Greater than” and “Less than”

A LTLT B

2. Context

Navigation with the Dipole Calculus

BA

Page 7: Navigation with the Dipole Calculus

Constraint-based reasoningConstraint-based reasoning

• Constraint networks are set of relations to be validated • Check constraint network vs. domain knowledge • e.g. Relations “Greater than” and “Less than”

A LTLT B, B LTLT C

2. Context

Navigation with the Dipole Calculus

CB

Page 8: Navigation with the Dipole Calculus

Constraint-based reasoningConstraint-based reasoning

• Constraint networks are set of relations to be validated • Check constraint network vs. domain knowledge • e.g. Relations “Greater than” and “Less than”

A LTLT B, B LTLT C, A GTGT C ??

2. Context

Navigation with the Dipole Calculus

C A

Page 9: Navigation with the Dipole Calculus

Constraint-based reasoningConstraint-based reasoning

• Constraint networks are set of relations to be validated • Check constraint network vs. domain knowledge • e.g. Relations “Greater than” and “Less than”

A LTLT B, B LTLT C, A GTGT C

2. Context

Navigation with the Dipole Calculus

CBA

Page 10: Navigation with the Dipole Calculus

3. Dipole Calculus (1/3)

Navigation with the Dipole Calculus

(Qualitative calculus: relations and operations) • Entities are dipoles • Relations are defined in this way:

(A ee sB) (A rr e

B) (B rr s

A) (B ss e

A)

A errserrs B

ss: Startee: Endll: Leftrr: Right

Page 11: Navigation with the Dipole Calculus

3. Dipole Calculus (2/3)

Navigation with the Dipole Calculus

24 relations (A solid, B dashed): [Moratz et al., 2000]

Page 12: Navigation with the Dipole Calculus

3. Dipole Calculus (3/3)

Navigation with the Dipole Calculus

Limitations: Too coarse

A: solid, B: dashed ArrrrrrrrB

Image from http://www.sfbtr8.uni-bremen.de/project/r3/QualitativeCalculi/DipoleCalculus/DipoleCalculus.html

Page 13: Navigation with the Dipole Calculus

4. The problem

Navigation with the Dipole Calculus

• Robots usually have limited info. at their disposal

• In this case, the robot has the capability to assess spatial relations of its local view

• Start and end dipoles are known

• Bidirectional street network

Page 14: Navigation with the Dipole Calculus

5. SparQ reasoner

Navigation with the Dipole Calculus

“Toolbox for representing space and reasoning about space based on QS relations” [SparQ Manual]

QUALIFYQUALIFYConverts quantitative data into qualitative data

SCENARIO-CONSISTENCYSCENARIO-CONSISTENCYFor constraint-based reasoning

Page 15: Navigation with the Dipole Calculus

6. The algorithm

Navigation with the Dipole Calculus

INPUT start_dipole, target_dipoleSET meet_relation to “(ells errs lere rele)”PUSH start_dipole to selected_dipolesWHILE candidate_dipoles do not contain target_dipole IF selected_dipoles is not empty THEN POP current_dipole from selected_dipoles ELSE POP current_dipole from backup_dipoles ENDIF GET current_target_relation by calling QUALIFY of current_dipole and target_dipole GET candidate_dipoles leading away from the end point of current_dipole by calling OUTGOING_DIPOLES of current_dipole IF candidate_dipoles do not contain target_dipole THEN IF size of candidate_dipoles = 1 THEN POP candidate_dipole from candidate_dipoles PUSH candidate_dipole to selected_dipoles ELSE IF size of candidate_dipoles > 1 THEN FOR each candidate_dipole in candidate_dipoles GET candidate_current_relation by calling QUALIFY of candidate_dipole and current_dipole GET isConsistent by calling SCENARIO_CONSISTENCY of current_target_relation, candidate_current_relation and meet_relation IF isConsistent THEN PUSH candidate_dipole to selected_dipoles ELSE PUSH candidate_dipole to backup_dipoles ENDIF ENDFOR ENDIF ENDIF ENDIFENDWHILE

Start: AB End: IJ

Page 16: Navigation with the Dipole Calculus

6. The algorithm

Navigation with the Dipole Calculus

STEP 1STEP 1: QUALIFY over current and end dipoles

qualify( (ABAB 83 -7 87 -76) (IJIJ 249 -168 219 -135 ) )

AB llllllll IJ

Page 17: Navigation with the Dipole Calculus

6. The algorithm

Navigation with the Dipole Calculus

STEP 2STEP 2: Get candidates (robot's local view)

outgoing_dipoles( BB )

BCBC, BD BD, BE BE

Page 18: Navigation with the Dipole Calculus

6. The algorithm

Navigation with the Dipole Calculus

STEP 3STEP 3: For each candidate QUALIFY and SCENARIO-CONSISTENCY

scenario-consistency(

)

( AB llllllll IJ )( AB errserrs BC )

( BC {ellsells,errserrs,lerelere,relerele} IJ )

Page 19: Navigation with the Dipole Calculus

6. The algorithm

Navigation with the Dipole Calculus

STEP 4STEP 4: Select a consistent candidate

BCBC →

BDBD →

BEBE →

Page 20: Navigation with the Dipole Calculus

6. The algorithm

Navigation with the Dipole Calculus

Repeat from step 1 (Iterate through the network)

Dead-end handling

Page 21: Navigation with the Dipole Calculus

6. The algorithm

Navigation with the Dipole Calculus

Repeat from step 1 (Iterate through the network)

One more iteration

Page 22: Navigation with the Dipole Calculus

6. The algorithm

Navigation with the Dipole Calculus

RESULTRESULT

Route:ABABBEBEEGEGGJGJ IJIJ

Page 23: Navigation with the Dipole Calculus

7. Implementation (1/2)

Navigation with the Dipole Calculus

• To facilitate testing and replication

• Quantum GIS plug-in written in Python (*)

• Münster road network data from OpenStreetMap

• Start and end dipoles are selected graphically

• Logging messages with step-by-step operations

* http://downloads.tuxfamily.org/tuxgis/geoblogs/qsr_routing/zeitgeist2012/QualitativeRoute.zip

Page 24: Navigation with the Dipole Calculus

7. Implementation (2/2)

Navigation with the Dipole Calculus

Page 25: Navigation with the Dipole Calculus

8. Conclusions and further work

Navigation with the Dipole Calculus

• We have used QSR for simulating the movement of a robot in a street network

• QSR consisted of no more than qualifying relations and scenario consistency checks

• Dipole calculus was employed

• Results far from being a random search

• Improving decision making is required as well as quantitative evaluation

Page 26: Navigation with the Dipole Calculus

Thank you!

Navigation with the Dipole Calculus


Recommended