We present an algorithm that enables robots to navigate a street network with a minimum of local and global knowledge using the Dipole calculus for qualitative spatial representation of line segments. A constraint-based approach is employed where decisions are made based on relational constraints imposed on possible route alternatives.
2. Navigation with the Dipole Calculus
Agenda
1. Objective
2. Context
3. Dipole Calculus
4. The problem
5. SPARQ reasoner
6. The algorithm
7. Implementation
8. Conclusions and further work
3. Navigation with the Dipole Calculus
1. Objective
Simulate the movement of a robot in a street network
using Qualitative Spatial Reasoning (QSR)
4. Navigation with the Dipole Calculus
2. Context
QSR
• 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
5. Navigation with the Dipole Calculus
2. Context
Constraint-based reasoning
• Constraint networks are set of relations to be
validated
• Check constraint network vs. domain knowledge
6. Navigation with the Dipole Calculus
2. Context
Constraint-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 B
A LT B
7. Navigation with the Dipole Calculus
2. Context
Constraint-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”
B C
A LT B, B LT C
8. Navigation with the Dipole Calculus
2. Context
Constraint-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”
C A
A LT B, B LT C, A GT C ?
9. Navigation with the Dipole Calculus
2. Context
Constraint-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 B C
A LT B, B LT C, A GT C
10. Navigation with the Dipole Calculus
3. Dipole Calculus (1/3)
(Qualitative calculus: relations and operations)
• Entities are dipoles
• Relations are defined in this way:
s: Start
e: End
l: Left
r: Right
(A e sB) (A r eB) (B r sA) (B s eA)
A errs B
11. Navigation with the Dipole Calculus
3. Dipole Calculus (2/3)
24 relations (A solid, B dashed): [Moratz et al., 2000]
12. Navigation with the Dipole Calculus
3. Dipole Calculus (3/3)
Limitations: Too coarse
A: solid, B: dashed
ArrrrB
rrrr
Image from http://www.sfbtr8.uni-bremen.de/project/r3/QualitativeCalculi/DipoleCalculus/DipoleCalculus.html
13. Navigation with the Dipole Calculus
4. The problem
• 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
14. Navigation with the Dipole Calculus
5. SparQ reasoner
“Toolbox for representing space and reasoning about
space based on QS relations” [SparQ Manual]
QUALIFY
Converts quantitative data into qualitative data
SCENARIO-CONSISTENCY
For constraint-based reasoning
15. Navigation with the Dipole Calculus
6. The algorithm
INPUT start_dipole, target_dipole
SET meet_relation to “(ells errs lere rele)”
PUSH start_dipole to selected_dipoles
WHILE 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
Start: AB End: IJ
ENDIF
ENDWHILE
16. Navigation with the Dipole Calculus
6. The algorithm
STEP 1: QUALIFY over current and end dipoles
1
qualify( (AB 83 -7 87 -76)
(IJ 249 -168 219 -135 ) )
AB llll IJ
17. Navigation with the Dipole Calculus
6. The algorithm
STEP 2: Get candidates (robot's local view)
2
outgoing_dipoles( B )
BC, BD, BE
BC BD
18. Navigation with the Dipole Calculus
6. The algorithm
STEP 3: For each candidate QUALIFY and
3
SCENARIO-CONSISTENCY
scenario-consistency(
( AB llll IJ )
( AB errs BC )
( BC {ells,errs,lere,rele} IJ )
ells errs lere rele
)
19. Navigation with the Dipole Calculus
6. The algorithm
STEP 4: Select a consistent candidate
4
BC →
BD →
BE →
20. Navigation with the Dipole Calculus
6. The algorithm
Repeat from step 1 (Iterate through the network)
Dead-end handling
21. Navigation with the Dipole Calculus
6. The algorithm
Repeat from step 1 (Iterate through the network)
One more iteration
22. Navigation with the Dipole Calculus
6. The algorithm
RESULT
Route:
AB
BE
EG
GJ
IJ
23. Navigation with the Dipole Calculus
7. Implementation (1/2)
• 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
25. Navigation with the Dipole Calculus
8. Conclusions and further work
• 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