Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

20
ng RouteGraphs as an Appropriate Data Structure for Navigational Tasks SFB/IQN-Kolloquium 26.09.03 Christian Mandel, A1-[RoboMap] Overview Goal scenario of project A1-[RoboMap] Different subproblems require the integration of quantitative and qualitative information Safety requirements(I4-[SPIN]) and shared control(I3-[SharC]) RouteGraph as an integrative data structure Focus on a generic Implementation together with a formal Specificatio RouteGraph exchange formats Examplary RouteGraphs based on a navigation algorithm cyclist observation Conclusion, future work - 0 -

description

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks. Christian Mandel, A1-[RoboMap]. Overview. Goal scenario of project A1-[RoboMap]. Different subproblems require the integration of quantitative and qualitative information. - PowerPoint PPT Presentation

Transcript of Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Page 1: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

SFB/IQN-Kolloquium 26.09.03

Christian Mandel, A1-[RoboMap]

Overview

• Goal scenario of project A1-[RoboMap]

• Different subproblems require the integration of quantitative and qualitative information

• Safety requirements(I4-[SPIN]) and shared control(I3-[SharC])

• RouteGraph as an integrative data structure

• Focus on a generic Implementation together with a formal Specification

• RouteGraph exchange formats

• Examplary RouteGraphs

• based on a navigation algorithm • cyclist observation

• Conclusion, future work

- 0 -

Page 2: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 1 -

Goal scenario - motivation

• Wheelchair as an autonomous vehicle, processing spatial knowledge from...

• sensor data

• pre-existing maps

• speech input

Page 3: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 2 -

Goal scenario - tasks

• Map abstraction and interpretation

• Use of sensor based mapping algorithms for indoor robot navigation

• Abstraction of pre-existing maps to RouteGraphs

• Realtime RouteGraph generation and interactive manipulation

vectorial

grid-based

blueprint

sensors

Page 4: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 3 -

Goal scenario - tasks

• RouteGraph augmentation

• Merging RouteGraphs from different sources

• Natural language statements about spatial relations

• Combining qualitative and quantitative information for navigation

Page 5: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 4 -

Goal scenario - collaboration

• I4-[SPIN]

• Formal specification of RouteGraph concepts using CASL

Spec Place =sort Refsystem, RefPositionfree type Place::=place(

refSystem: RefSystem;refPosition: RefPosition)...

• Allows tool-supported reasoning and consistency checks

• Architectural specifications such as „implementation units“

• Basic specifications like „axioms“ or „data type constructs“

Page 6: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 5 -

Goal scenario - collaboration

• I3-[SharC]

• Providing formal descriptions of natural language dialog • XML-like representation of instructions with the perspective

of full featured dialogs

• Detection of situations with shared control problems by means of formal specification (CSP)

<GoalInstruction kind="drive">   <GoalObject kind="cube">     <RelativePosition orientation="behind">       <SpatialObject kind="box"/>     </RelativePosition>   </GoalObject></GoalInstruction>

Page 7: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 6 -

RouteGraph1 as an integrative data structure

• Terminology

1 [Werner, Brückner, Herrmann] „Modelling Navigational Knowledge by Route Graphs“

• Kind• Place• Reference Position• Reference System• Route Segment• Entry• Exit• Course• Route• Transition• RouteGraph Layer• RouteGraph

RouteGraph

RouteGraphLayer

1

n

Route

1

n

RouteSegment

1

n

Place

1

n

Transition

1

n

EntryCourse

Exit

ReferencePosition

ReferenceSystem

1 1 1

11

1

1

1

1

1

Page 8: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 7 -

RouteGraph as an integrative data structure

• Relations to previous work (Spatial Semantic Hierarchy2)

2 [Kuipers et al.] „The Spatial Semantic Hierarchy“

Page 9: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 8 -

RouteGraph as an integrative data structure

• RouteGraph API

• C++ implementation

• Generic by means of consequential use of the bridge-pattern

ReferencePosition_Abstraction

ReferencePosition_Implementor1 1

ReferencePosition_Abstraction_Rolland

ReferencePosition_Abstraction_Pioneer

ReferencePosition_Implementor_Pioneer

ReferencePosition_Implementor_Rolland

Page 10: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 9 -

RouteGraph as an integrative data structure

• RouteGraph API

• HTML-based documentation simplifies porting to other platforms

Page 11: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 10 -

• RouteGraph exchange formats

RouteGraph as an integrative data structure

-<Place -Id="3" -Kind=KI_ROLLAND_METRIC">  -<ReferencePosition

-Id="1" -Kind="KI_ROLLAND_METRIC" -pos.driving_speed="0.000000" -pos.heading="0.000000" -pos.steering="0.000000" -pos.steering_speed="0.000000" -pos.x="0.000000" -pos.y="0.000000" -/>  

-</Place>

• XML – object tree

• current tools supporting RouteGraph.XML :

XMLSpy (xml-viewer)

Matlab (content visualization)

Page 12: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

• RouteGraph exchange formats

RouteGraph as an integrative data structure

SFB/IQN-Kolloquium 26.09.03 - 11 -

• daVinci – term representation

Page 13: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

SFB/IQN-Kolloquium 26.09.03 - 12 -

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

• RouteGraph exchange formats

RouteGraph as an integrative data structure

• daVinci – example

Page 14: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

SFB/IQN-Kolloquium 26.09.03 - 13 -

Examplary RouteGraph

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

• Essential navigation algorithms (1): Steering with „Continuous Curvature Paths“3

3 [Fraichard, Scheuer] „Planning continuous-curvature paths for car-like robots“

• Basic strategy for driving in obstacle free space • CCPs consist of circular arcs, clothoids and line segments

• CCPs correspond to the nonholonomic properties of a car-like robot

Page 15: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 14 -

Examplary RouteGraph

• Essential navigation algorithms (2): Navigating with CCPs and Voronoi Diagrams

4 [Kenneth et al.] „Fast computation of generalized voronoi diagrams using graphics hardware“

• Extraction of navigational knowledge from sensoric input • OpenGL hardware allows fast computation of voronoi faces4

• Edge detection via convolution filter • Solution of A* search in pixel space combined with start- and goalCCT

Page 16: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 15 -

Examplary RouteGraph

• Essential navigation algorithms (3): Lack of navigational knowledge when input is limited to real sensors

• Virtual laser scanner as an example for abstracting pre-existing maps to RouteGraphs

Page 17: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 16 -

Examplary RouteGraph

Rolland CCT-PathPlanner

Page 18: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 17 -

Examplary RouteGraph

GPS Hand-Keyboard

Cyclist Navigation

Page 19: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks Christian Mandel, A1-[RoboMap]

SFB/IQN-Kolloquium 26.09.03 - 18 -

Conclusion, future work

• RouteGraph as an agent independet structure for navigational tasks

• Current implementation supports metrical and topological layers

• Integration of reasoning calculus within the topological layer

• Investigation of new Layers (dialog-layer, ...)

• Extraction of spatial knowledge from pre-existing maps (virtual laser scanner, ...)

• Detection and Classification of architectural features within blueprints

• Support of RouteGraph-porting to other platforms and domains

Page 20: Using RouteGraphs as an Appropriate Data Structure for Navigational Tasks

Thank You ;-)