Spatial Visual System Joseph Xu Soar Workshop 2013 1.

Slides:



Advertisements
Similar presentations
Chapter 11 Introduction to Programming in C
Advertisements

Soar and StarCraft By Alex Turner. What is StarCraft: Brood War? A Real-Time Strategy (RTS) computer game released in A sci-fi war simulation Continually.
Objects and Classes David Walker CS 320. Advanced Languages advanced programming features –ML data types, exceptions, modules, objects, concurrency,...
1 Update on Learning By Observation Learning from Positive Examples Only Tolga Konik University of Michigan.
1 Mind Visual Diff An architecture comparison tool December 16 th, 2014 – v0.2.2 Seyvoz Stephane Assystem.
Junction Trees And Belief Propagation. Junction Trees: Motivation What if we want to compute all marginals, not just one? Doing variable elimination for.
Introduction to Databases
Inheritance Inheritance Reserved word protected Reserved word super
NA-MIC National Alliance for Medical Image Computing 3D Slicer Interactive Modules Steve Pieper, PhD.
Chapter 12: Expert Systems Design Examples
Objects and Classes David Walker CS 320. Advanced Languages advanced programming features –ML data types, exceptions, modules, objects, concurrency,...
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
File Systems and Databases
The Inside Story on the Java Debugger Douglas Pearson
Application architectures
Objects and Classes David Walker CS 320. Advanced Languages advanced programming features –ML data types, exceptions, modules, objects, concurrency,...
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Application architectures
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Create Forms Lesson 5. Software Orientation Creating Forms A form is a database object –enter, edit, or display data from a table or query Providing.
dcDB Stored Procedures: An Overview
Objectives Review some advanced topics, including Review some advanced topics, including Chapter 8: Implementation Chapter 8: Implementation Chapter 9:
Learning Prepositions for Spatial Relationships in BOLT Soar Workshop 2012 James Kirk, John Laird 6/21/
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
XP New Perspectives on XML, 2 nd Edition Tutorial 10 1 WORKING WITH THE DOCUMENT OBJECT MODEL TUTORIAL 10.
JavaScript, Fourth Edition
Tip Calculator App Building an Android App with Java © by Pearson Education, Inc. All Rights Reserved.
A Multi-Domain Evaluation of Scaling in Soar’s Episodic Memory Nate Derbinsky, Justin Li, John E. Laird University of Michigan.
New SVS Implementation Joseph Xu Soar Workshop 31 June 2011.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
How to Use SVS Joseph Xu Soar Workshop History Soar Visual Interface (SVI) – Scott Lathrop Spatial Reasoning System (SRS) – Sam Wintermute Soar.
10/24/2015Rex Oleson II SOAR and Video Games By Rex Oleson II.
Declaratively Producing Data Mash-ups Sudarshan Murthy 1, David Maier 2 1 Applied Research, Wipro Technologies 2 Department of Computer Science, Portland.
Solving Bayesian Decision Problems: Variable Elimination and Strong Junction Tree Methods Presented By: Jingsong Wang Scott Langevin May 8, 2009.
Editors And Debugging Systems Other System Software Text Editors Interactive Debugging Systems UNIT 5 S.Sharmili Priyadarsini.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada INESC-ID.
Future Memory Research in Soar Nate Derbinsky University of Michigan.
Model View Controller MVC Web Software Architecture.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
David Adams ATLAS DIAL/ADA JDL and catalogs David Adams BNL December 4, 2003 ATLAS software workshop Production session CERN.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 2 – Basic VRML.
MODPI: A parallel MOdel Data Passing Interface for integrating legacy environmental system models A. Dozier, O. David, Y. Zhang, and M. Arabi.
Joseph Xu Soar Workshop Learning Modal Continuous Models.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Visualization Four groups Design pattern for information visualization
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
SEG 4110 – Advanced Software Design and Reengineering Topic T Introduction to Refactoring.
1Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall. Exploring Microsoft Office Access 2010 by Robert Grauer, Keith Mast, and Mary Anne.
M. Oldenburg GridPP Metadata Workshop — July 4–7 2006, Oxford University 1 Markus Oldenburg GridPP Metadata Workshop July 4–7 2006, Oxford University ALICE.
6 Systems Analysis and Design in a Changing World, Fourth Edition.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
1 Agenda  Unit 7: Introduction to Programming Using JavaScript T. Jumana Abu Shmais – AOU - Riyadh.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
Optimizing Your Localization Pipeline for a Dynamic Universe David Lakritz President & CEO Language Automation, Inc.
111 State Management Beginning ASP.NET in C# and VB Chapter 4 Pages
Item Based Recommender System SUPERVISED BY: DR. MANISH KUMAR BAJPAI TARUN BHATIA ( ) VAIBHAV JAISWAL( )
Action Modeling with Graph-Based Version Spaces in Soar
Dive Into® Visual Basic 2010 Express
In-situ Visualization using VisIt
Soar 9.6.0’s Instance-Based Model of Semantic Memory
Playing with Semantic Memory
Joseph Xu Soar Workshop 31 June 2011
Bryan Stearns University of Michigan Soar Workshop - May 2018
Presentation transcript:

Spatial Visual System Joseph Xu Soar Workshop

Overview Provides a general framework for Soar to reason about continuous environments Environment state is represented as 3D scene graph Has working memory interface similar to EpMem and Smem (S1 ^svs S3) (S3 ^spatial-scene S4 ^command C3) 2

Typical Environment Setup Environment reports state with task-specific representation All possibly important relations are reported all the time 3 Environment Code Scene AB C table Soar Agent Input Link Relations on(C, B) on(A, table) clear(A) clear(C) (I2 ^on O1 ^on O2 ^clear C1 ^clear C2) (O1 ^top C ^bot B) (O2 ^top A ^bot table) (C1 ^obj A) (C2 ^obj C) SML API

With SVS Environment reports state with task-agnostic language (Scene Graph Edit Language) Agent queries only relations of interest Relations fixed across environments 4 Environment Code Scene AB C table Soar Agent Filters SGEL Scene Graph AB C table SVSWM on(A,B) on(B,C) clear(A) (S1 ^svs S3) (S3 ^command C3) (C3 ^extract E2) (E2 ^a A1 ^b B1 ^type on ^result R7) (A1 ^id A ^type node) (B1 ^id B ^type node) (R7 ^record R17) (R17 ^params P1 ^value f) (P1 ^a A ^b B)

Scene Graph world carpole wheel0 wheel1wheel2wheel3chassis Organizes objects as tree of nodes Child nodes are a part of the parent node – Group nodes – Geometry nodes Each node as position, rotation, transform Copied to each substate (S1 ^svs S3) (S3 ^command C3 ^spatial-scene S4) (S4 ^id world ^child C1 ^child C2) (C1 ^id pole) (C2 ^id car ^child C3 ^child C4 ^child C5 ^child C6 ^child C7) (C3 ^id wheel0) (C4 ^id wheel1) (C5 ^id wheel2) (C6 ^id wheel3) (C7 ^id chassis) 5

Commands Agent issues SVS commands via command link “add_node”, “property” commands performed on substate scene graph copies allows for look- ahead search 6 extractShow the results of filter pipelines in working memory add_nodeAdd a new node (generated by filter pipeline) into the scene graph propertyChange the position, rotation, scaling of existing objects projectFind position that satisfies spatial relation to an object

Filters Transforms continuous information from scene graph into symbolic information in working memory – Implements spatial relations, among other things Can be combined into pipeline Caches results and avoids recomputation when possible 7 Filter InputsOutput arg1 arg2 Filter Extract Command (WM)

Working Memory Interface (S1 ^svs S3) (S3 ^command C3 ^spatial-scene S4) (C3 ^extract E2) (E2 ^a A1 ^b B1 ^type intersect) (A1 ^id b1 ^type node) (B1 ^id b2 ^type node) intersect node Extract Command Result Scene Graph (S1 ^svs S3) (S3 ^command C3 ^spatial-scene S4) (C3 ^extract E2) (E2 ^a A1 ^b B1 ^type intersect ^result R7 ^status success) (A1 ^id b1 ^type node ^status success) (B1 ^id b2 ^type node ^status success) (R7 ^record R17) (R17 ^params P1 ^value f) (P1 ^a b1 ^b b2) 8

Multiple Inputs to Filters Sometimes you want to run a filter on many objects – Example: Does X intersect anything? – It’s annoying and inefficient to make a filter for every pair of objects Filters can take multiple objects as inputs and outputs Different combination methods: – Cartesian product (most common) – Grouped – Flattened 9 intersect AB CDE f(A,C)f(A,D)f(A,E)f(B,C)f(B,D)f(B,E)

Filter Subclasses map_filter (dist, intersect) AB CDE f(A,C) reduce_filter (colinear) AB CDE rank_filter (min, closest) AB CDE 10 f(AC,AD,AE,BC,BD,BE) f(A,D)f(A,E)f(B,C)f(B,D)f(B,E)

Some Built-in Filters 11 FilterParametersTypeOutput type nodeidmapnode all_nodesnonespecialnode [xyz]-greater-thana, bmapboolean [xyz]-less-thana, bmapboolean [xyz]-aligned-thana, bmapboolean on-topa, bmapboolean intersecta, bmapboolean distancea, bmapfloat closesta, branknode smaller-thana, bmapboolean

Writing a New Filter Write new class inheriting from an existing filter subclass (probably typed_map_filter) Register the new filter with the filter_table Recompile Soar class custom_filter : public typed_map_filter { public: custom_filter(Symbol *root, soar_interface *si, filter_input *input, scene *scn) : typed_map_filter (root, si, input) // call superclass constructor {} bool compute(const filter_params *params, bool adding, bool &out, bool &changed) { // do your computation here }; 12

SML Interface SML environment updates SVS scene graph once per decision cycle via Agent::SendSVSInput Commands are text strings in the Scene Graph Edit Language 13 Input Phase Soar Agent Scene Graph Environment Input Event Callback AB C table SGEL 1.Update Environment 2.Generate SGEL 3.Call SendSVSInput

Scene Graph Edit Language a NAME TYPE PARENT [GEOMETRY] [TRANSFORM] Add object to the scene graph d NAME Delete object from scene graph c NAME [GEOMETRY] [TRANSFORM] Change object geometry and/or transform p NAME PROPERTY VALUE Set custom property Geometries – Ball: b RADIUS – Convex polyhedron: v X1 Y1 Z1 X2 Y2 Z2... Transforms – [p X Y Z] [r X Y Z] [s X Y Z] 14

SVS Viewer Displays scene graph contents Separate program that SVS communicates with via TCP sockets Run program svs_viewer -s PORT Tell SVS to connect svs connect_viewer PORT 15

SVS Command Line You can interact with most objects in SVS via the svs command General form – svs state.0.scene.sgel a g1 grp world – svs dir # lists children – svs help # print help Paths have dot notation – state.0.scene # top state scene graph – filters.intersect # intersect filter 16 patharguments

Conclusion Nuggets Filter pipelines are expressive and general Works on all OSes Doesn’t add any library dependencies to Soar Used in three projects Coal Missing some functionality from old SVS Still has bugs (opportunities) Trades performance for simplicity 17

Credits SVS theory was developed by Sam Wintermute – Wintermute, S. Imagery in Cognitive Architecture: Representation and Control at Multiple Levels of Abstraction. Cognitive Systems Research, 19-20,1-29. Soar Visual Imagery (SVI) was developed by Scott Lathrop – Lathrop, S.D., and Laird, J.E. (2007). Towards Incorporating Visual Imagery into a Cognitive Architecture. Proceedings of the Eighth International Conference on Cognitive Modeling. Ann Arbor, MI. 18

Git Repo SVS is still not in main Soar SVN yet 19