navigation with the dipole calculus

Post on 22-Jul-2015

404 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Navigation with the Dipole Calculus

GI Zeitgeist 2012GI Zeitgeist 2012

Germán Carrillo / Christoph Mülligann 17.03.2012

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

Navigation with the Dipole Calculus

Agenda

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

1. Objective

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

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

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

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

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

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

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

3. Dipole Calculus (2/3)

Navigation with the Dipole Calculus

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

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

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

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

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

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

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

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 )

6. The algorithm

Navigation with the Dipole Calculus

STEP 4STEP 4: Select a consistent candidate

BCBC →

BDBD →

BEBE →

6. The algorithm

Navigation with the Dipole Calculus

Repeat from step 1 (Iterate through the network)

Dead-end handling

6. The algorithm

Navigation with the Dipole Calculus

Repeat from step 1 (Iterate through the network)

One more iteration

6. The algorithm

Navigation with the Dipole Calculus

RESULTRESULT

Route:ABABBEBEEGEGGJGJ IJIJ

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

7. Implementation (2/2)

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

Thank you!

Navigation with the Dipole Calculus

top related