Spatial Semantic Hierarchy (SSH) What is it? How is it related to robot localization and mapping? 9/17/2018 CMSC828F-Perceptual Robotics
Presentation Structure Overview of SSH Applications of SSH to robot localization and navigation Discussion 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics References [1] “The Spatial Semantic Hierarchy”, B. Kuipers, AI 119 (2000) pg 191-233 [2] “An intellectual History of the Spatial Semantic Hierarchy”, B. Kuipers, in M. Jefferies and A. Yeap (Eds.), “Robot and Cognitive Approaches to Spatial Mapping”, Springer Verlag, 2006 [3] “Local metrical and global topological maps in the Hybrid Spatial Semantic Hierarchy”, B. Kuipers, J. Modayil, P. Beeson, M. MacMahon, and F. Savell, ICRA 2004. [4] “Towards Autonomous Topological Place Detection Using the Extended Voronoi Graph”, P. Beeson, N. K. Jong and B. Kuipers, ICRA 2005 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Types of spaces Visual Space Surrounding environment Large-scale Space Scale larger than the sensory horizon of the agent Graphical (Diagrammatic) Space Spatial layout and relations among symbols on paper 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Overview of SSH A hierarchical description of a cognitive map, consisting of four different levels Each level defines its own ontology (i.e. types of objects+relations among them) Each level is grounded in the ones below Low to high level knowledge organization Combines qualitative and quantitative information 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics SSH Structure (copied from “The Spatial Semantic Hierarchy” paper [1]) 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Vertical Axis Sensory Level Control Level Causal Level Topological Level Metrical Level 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Horizontal Axis Qualitative Quantitative Continuous valued variables Analog models of space 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Control Level Provides an abstraction from the continuous sensory input and motor output to discrete states Agent representation includes a set of control laws, a selection method and termination conditions for each control law Agent, environment and control law form a continuous dynamical system 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics States Locally distinctive state is a local maximum state with respect to a distinctiveness measure Possible distinctiveness measures equidistance from nearby obstacles (hill-climbing control law case) sudden change in trajectory (trajectory-following control law case) 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Control Laws Hill-climbing control laws : bring the agent to a locally-distinctive state from any state within the local neighborhood Trajectory-following control laws : bring the agent from one distinctive state to the neighborhood of the next 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Control law selection Many different strategies Rule-based system Decision-tree, based on sensory input Combination of multiple laws using fuzzy control, potential field methods etc. Smooth transitions between control laws can be implemented with weighted average of appropriateness measures. 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Local 2-D geometry (1) Different methods for map-building and localization Occupancy grids Split space into cells Each cell holds a number containing the probability of being occupied Sensory target map Identify and localize objects Size of the maps depends on the number of objects 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Local 2-D geometry (2) Model the path as a “generalized cylinder” Different characteristics of the cylinder might be known with different accuracy/confidence Good to incorporate weak metrical information with strong one 9/17/2018 CMSC828F-Perceptual Robotics
Guarantees at the control level Alternating trajectory-following and hill-climbing control laws using the following closure criteria For all states, there exist a trajectory-following control law (no dead ends) For all trajectory-following control laws executed at an appropriate state, there exist at least one hill-climbing control law available 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Causal Level Action A: Sequence of control laws taking the agent from a distinctive state to another View V: Description of the sensory input vector s(t) Schema: A tuple (V,A,V’) Declarative meaning/ Situation calculus Procedural meaning/ Stimulus-response pair Routine: Set of schemas 9/17/2018 CMSC828F-Perceptual Robotics
Situation Calculus (1): Overview First-order language extended with an extra situation argument Holds(V,s0) = view V is observed in situation s0 “do” function applies an action to a situation to yield a new situation “result(A, s0)” denotes the new situation after applying action A to situation s0 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Situation Calculus (2) Action representation Used in AI Planning Resulting planners are efficient if domain specific search control knowledge is used 9/17/2018 CMSC828F-Perceptual Robotics
Action categorization Two (rough) categories: turns and travels Turn: Leaves the agent at the same place Travel: Takes the agent from one place to another Also depends on the motor and sensor capabilities of the agent 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Topological Level Describes the environment as a collection of Places eq. to zero-dimensional points Paths eq. To one-dimensional subspaces (lines) Regions eq. two-dimensional subset of space, i.e. sets of places binded together Also exist topological relations and axioms Abduction is used to find places and paths from views and actions 9/17/2018 CMSC828F-Perceptual Robotics
Hierarchy in Topological Level There are multiple topological maps with different granularity. Abstraction region represents the set of places that is abstracted to a single node in a higher level map Upward mapping: Each node of the lower lvl corresponds to its abstraction region Downward mapping: Inverse procedure 9/17/2018 CMSC828F-Perceptual Robotics
Topological relations At(view, place) : view seen at place Along(view, path, dir) : view seen along path in direction dir On(place,path) : place on path Order(path,place1, place2, dir) : order on path from place1 to place2 is dir Right_of(path,dir, region)/left_of : path facing direction dir has region on its right/left In(place, region) : place is in region 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Metrical Level A global 2-D analog representation of the world Not necessary for the SSH to work Can lead to more accurate global localization, when perceptual aliasing (i.e. distinct places appear similar) is present 9/17/2018 CMSC828F-Perceptual Robotics
Metrical Level Creation Problems Useful states of knowledge might not be expressible as global coordinates “around the block” and “walking in circles” problem High requirements in space and time Possible solution is to use a loosely-coupled collection of local “patch” maps 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Extensions of SSH Combine large and small-scale perceptual space SSH treats perception as a black-box Better definition of distinctive states Hill-climbing is unnecessary in some cases Connect SSH with SLAM 9/17/2018 CMSC828F-Perceptual Robotics
Hybrid Spatial Semantic Hierarchy Create a local perceptual map based on SLAM methods Use the local map for localization Identify gateways, i.e. places where control shifts from motion between places to localization within a neighborhood Identify path fragments connecting distinct places Create a local topology that describes how directed path segments join at a place 9/17/2018 CMSC828F-Perceptual Robotics
Advantages of Hybrid SSH Hill-climbing not required More accurate identification of places using local topological and perceptual map 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Questions? 9/17/2018 CMSC828F-Perceptual Robotics
CMSC828F-Perceptual Robotics Thank you 9/17/2018 CMSC828F-Perceptual Robotics