Navigation with the Dipole Calculus
-
Upload
tuxman -
Category
Technology
-
view
403 -
download
5
Transcript of Navigation with the Dipole Calculus
![Page 1: Navigation with the Dipole Calculus](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/1.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/7.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/20.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/22.jpg)
6. The algorithm
Navigation with the Dipole Calculus
RESULTRESULT
Route:ABABBEBEEGEGGJGJ IJIJ
![Page 23: Navigation with the Dipole Calculus](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/24.jpg)
7. Implementation (2/2)
Navigation with the Dipole Calculus
![Page 25: Navigation with the Dipole Calculus](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042716/55aec3ab1a28ab7b158b467f/html5/thumbnails/26.jpg)
Thank you!
Navigation with the Dipole Calculus