Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Navigation with theDipole Calculus                                     GI Zeitgeist 2012                      Germán Carri...
Navigation with the Dipole CalculusAgenda1. Objective2. Context3. Dipole Calculus4. The problem5. SPARQ reasoner6. The alg...
Navigation with the Dipole Calculus1. ObjectiveSimulate the movement of a robot in a street networkusing Qualitative Spati...
Navigation with the Dipole Calculus2. ContextQSR• Deals with commonsense knowledge w/o numerical  computation [Renz & Nebe...
Navigation with the Dipole Calculus2. ContextConstraint-based reasoning• Constraint networks are set of relations to be  v...
Navigation with the Dipole Calculus2. ContextConstraint-based reasoning• Constraint networks are set of relations to be  v...
Navigation with the Dipole Calculus2. ContextConstraint-based reasoning• Constraint networks are set of relations to be  v...
Navigation with the Dipole Calculus2. ContextConstraint-based reasoning• Constraint networks are set of relations to be  v...
Navigation with the Dipole Calculus2. ContextConstraint-based reasoning• Constraint networks are set of relations to be  v...
Navigation with the Dipole Calculus3. Dipole Calculus                              (1/3)   (Qualitative calculus: relation...
Navigation with the Dipole Calculus3. Dipole Calculus                                           (2/3)  24 relations (A sol...
Navigation with the Dipole Calculus3. Dipole Calculus                                                                     ...
Navigation with the Dipole Calculus4. The problem• Robots usually have limited info. at their disposal• In this case, the ...
Navigation with the Dipole Calculus5. SparQ reasoner“Toolbox for representing space and reasoning about  space based on QS...
Navigation with the Dipole Calculus6. The algorithmINPUT start_dipole, target_dipoleSET meet_relation to “(ells errs lere ...
Navigation with the Dipole Calculus6. The algorithmSTEP 1: QUALIFY over current and end dipoles     1                     ...
Navigation with the Dipole Calculus6. The algorithmSTEP 2: Get candidates (robots local view)     2                       ...
Navigation with the Dipole Calculus6. The algorithmSTEP 3: For each candidate QUALIFY and     3        SCENARIO-CONSISTENC...
Navigation with the Dipole Calculus6. The algorithmSTEP 4: Select a consistent candidate     4                            ...
Navigation with the Dipole Calculus6. The algorithmRepeat from step 1 (Iterate through the network)                       ...
Navigation with the Dipole Calculus6. The algorithmRepeat from step 1 (Iterate through the network)                       ...
Navigation with the Dipole Calculus6. The algorithmRESULT                    Route:                              AB       ...
Navigation with the Dipole Calculus7. Implementation                                                                      ...
Navigation with the Dipole Calculus7. Implementation                              (2/2)
Navigation with the Dipole Calculus8. Conclusions and further work• We have used QSR for simulating the movement of a  rob...
Navigation with the Dipole CalculusThank you!
Upcoming SlideShare
Loading in …5
×

Navigation with the Dipole Calculus

872 views

Published on

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.

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Navigation with the Dipole Calculus

  1. 1. Navigation with theDipole Calculus GI Zeitgeist 2012 Germán Carrillo / Christoph Mülligann 17.03.2012
  2. 2. Navigation with the Dipole CalculusAgenda1. Objective2. Context3. Dipole Calculus4. The problem5. SPARQ reasoner6. The algorithm7. Implementation8. Conclusions and further work
  3. 3. Navigation with the Dipole Calculus1. ObjectiveSimulate the movement of a robot in a street networkusing Qualitative Spatial Reasoning (QSR)
  4. 4. Navigation with the Dipole Calculus2. ContextQSR• 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. 5. Navigation with the Dipole Calculus2. ContextConstraint-based reasoning• Constraint networks are set of relations to be validated• Check constraint network vs. domain knowledge
  6. 6. Navigation with the Dipole Calculus2. ContextConstraint-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. 7. Navigation with the Dipole Calculus2. ContextConstraint-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. 8. Navigation with the Dipole Calculus2. ContextConstraint-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. 9. Navigation with the Dipole Calculus2. ContextConstraint-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. 10. Navigation with the Dipole Calculus3. 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. 11. Navigation with the Dipole Calculus3. Dipole Calculus (2/3) 24 relations (A solid, B dashed): [Moratz et al., 2000]
  12. 12. Navigation with the Dipole Calculus3. 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. 13. Navigation with the Dipole Calculus4. 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. 14. Navigation with the Dipole Calculus5. SparQ reasoner“Toolbox for representing space and reasoning about space based on QS relations” [SparQ Manual]QUALIFYConverts quantitative data into qualitative dataSCENARIO-CONSISTENCYFor constraint-based reasoning
  15. 15. Navigation with the Dipole Calculus6. The algorithmINPUT 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 Start: AB End: IJ ENDIFENDWHILE
  16. 16. Navigation with the Dipole Calculus6. The algorithmSTEP 1: QUALIFY over current and end dipoles 1 qualify( (AB 83 -7 87 -76) (IJ 249 -168 219 -135 ) ) AB llll IJ
  17. 17. Navigation with the Dipole Calculus6. The algorithmSTEP 2: Get candidates (robots local view) 2 outgoing_dipoles( B ) BC, BD, BE BC BD
  18. 18. Navigation with the Dipole Calculus6. The algorithmSTEP 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. 19. Navigation with the Dipole Calculus6. The algorithmSTEP 4: Select a consistent candidate 4 BC → BD → BE →
  20. 20. Navigation with the Dipole Calculus6. The algorithmRepeat from step 1 (Iterate through the network) Dead-end handling
  21. 21. Navigation with the Dipole Calculus6. The algorithmRepeat from step 1 (Iterate through the network) One more iteration
  22. 22. Navigation with the Dipole Calculus6. The algorithmRESULT Route: AB BE EG GJ IJ
  23. 23. Navigation with the Dipole Calculus7. 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
  24. 24. Navigation with the Dipole Calculus7. Implementation (2/2)
  25. 25. Navigation with the Dipole Calculus8. 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
  26. 26. Navigation with the Dipole CalculusThank you!

×