Multimodal Plan Representation for Adaptable BML Scheduling Dennis Reidsma, Herwin van Welbergen, Job Zwiers.

Slides:



Advertisements
Similar presentations
Cosmos Motion User Interface
Advertisements

Herwin van Welbergen, Yuyu Xu, Marcus Thiebaux, Wei-Wen Feng, Jingqiao Fu, Dennis Reidsma, Ari Shapiro.
 2004 by SEC Chapter 2 Software Development Process Models.
Ch 3 System Development Environment
Let’s shake hands! On the coordination of gestures of humanoids Zsofi Ruttkay Herwin van Welbergen Balázs Varga.
Observer Method 1. References Gamma Erich, Helm Richard, “Design Patterns: Elements of Reusable Object- Oriented Software” 2.
Herwin van Welbergen Dennis Reidsma Stefan Kopp.  Beyond turn taking interaction ◦ Continuous perception and behavior generation  Interpersonal coordination.
The TickerTAIP Parallel RAID Architecture P. Cao, S. B. Lim S. Venkatraman, J. Wilkes HP Labs.
Systems Engineering in a System of Systems Context
MACMERL Mixed-Initiative Scheduling with Coincident Problem Spaces M.J. Prietula, W.L. Hsu, P.S.Ow.
Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein.
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
GIPO [Graphical Interface for Planning with Objects] Demonstration case-tool for Knowledge Engineering to support Domain Independent Planning Ron Simpson.
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
Self Adaptive Software
Chapter 7 design rules.
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Introduction to Software Testing
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
New Challenges in Cloud Datacenter Monitoring and Management
50.003: Elements of Software Construction Week 5 Basics of Threads.
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
Process-oriented System Automation Executable Process Modeling & Process Automation.
Architectural Design.
Introduction to BIM BIM Curriculum 01.
BY VEDASHREE GOVINDA GOWDA
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Introduction to Jadex programming Reza Saeedi
MVC pattern and implementation in java
Chapter 12: Adding Functionality to Your Classes.
1 Implementing Computer Applications in Counseling James P. Sampson, Jr. Florida State University Copyright 2003 by James P. Sampson, Jr. All rights reserved.
Chapter 2 The process Process, Methods, and Tools
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Recognition of meeting actions using information obtained from different modalities Natasa Jovanovic TKI University of Twente.
Features, Policies and Their Interactions Joanne M. Atlee Department of Computer Science University of Waterloo.
AsapRealizer 2.0: The Next Steps in Fluent Behavior Realization for ECAs Herwin van Welbergen, Ramin Yaghoubzadeh, Stefan Kopp Social Cognitive Systems.
L 9 : Collaborations Why? Terminology Coherence Coordination Reference s :
APML, a Markup Language for Believable Behavior Generation Soft computing Laboratory Yonsei University October 25, 2004.
Lecture 9: Chapter 9 Architectural Design
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
Requirements Engineering ments_analysis.
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
(Business) Process Centric Exchanges
An Intro to Concurrent Versions System (CVS) ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
Greta MPEG-4 compliant Script based behaviour generator system: Script based behaviour generator system: input - BML or APML input - BML or APML output.
Carnegie Mellon Interactive Resource Management in the COMIREM Planner Stephen F. Smith, David Hildum, David Crimm Intelligent Coordination and Logistics.
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
How to Improve the Safety of Signalling Systems with a Shortened Construction Period in Engineering Construction Projects Gao Guoliang Safety Assurance.
EEL 5937 Agent models. EEL 5937 Multi Agent Systems Lecture 4, Jan 16, 2003 Lotzi Bölöni.
VAPOR 3.0 Architecture Overview. Purpose of this document Provide understandable overview of 3.0 architecture Enable the development team to maintain.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
On-board Timeline Validation and Repair: A Feasibility Study Maria Fox, Derek Long University of Strathclyde, Glasgow, UK Les Baldwin, Graham Wilson, Mark.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
ARCHITECTURES AND STANDARDS FOR IVAS AT THE SOCIAL COGNITIVE SYSTEMS GROUP H. van Welbergen, K. Bergmann, H. Buschmeier, S. Kahl, I. de Kok, A. Sadeghipour,
REST By: Vishwanath Vineet.
Design Patterns for Games Proceedings of the 33 rd SIGCSE technical symposium on Computer Science Education Melisa Tyira SE510.
Systems Architectures System Integration & Architecture.
CMPE 494 Service-Oriented Architectures and Web Services Platform for Privacy Preferences Project (P3P) İDRİS YILDIZ
CPSC 872 John D. McGregor Session 31 This is it..
 System Requirement Specification and System Planning.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
PLM, Document and Workflow Management
Introduction to Software Testing
Presented By: Darlene Banta
T-FLEX DOCs PLM, Document and Workflow Management.
and Forecasting Resources
Presentation transcript:

Multimodal Plan Representation for Adaptable BML Scheduling Dennis Reidsma, Herwin van Welbergen, Job Zwiers

SAIBA

BML

BML behavior and sync points

The BML scheduling process Scheduling the multimodal behavior plan

The behavior plan BML Specifies behaviors and the constraints between them The multimodal behavior plan Specified on the basis of, e.g., communicative intent Incrementally constructed from BML blocks The motor plan Executes the behavior plan on the embodiment of the virtual human, using sound, joint rotations, FAPs, … Making the motor plan flexible Achieve interpersonal coordination Allow on the fly adjustments of ongoing behavior But do not violate the specified constraints

BML constraints Explicit constraints Before/after At Implicit constraints Sync points should not occur before the start of their block Behaviors should have >0 duration The default sync points (e.g. start, ready, stroke_start, stroke, stroke_end, relax, end) must remain in order

BML constraints Realizer specific constraints Due to technical limitation or Theoretically motivated Block level constraints Merge: start block at current time Append: start as soon as possible after all behaviors in the current plan (but not earlier than current time)

Additional constraints in Elckerlyc Elckerlyc specific constraints Whitespace constraint: no unnecessary ‘whitespace’ between behaviors Append-after(X) block constraint

Flexible plan representation The (motor) plan Describes the low level execution of motor behavior on the embodiment of the virtual human: joint rotations, MPEG4 FAP movement, sound, …etc To be flexible, the plan representation must maintain information about the relation between elements in the plan and the original BML expressions from which they originated be capable of expressing all the constraints be capable of being modified… …in such a way that the (remaining) constraints automatically stay satisfied

Central: the PegBoard Each sync point is assigned to a TimePeg on this board Sync points that are connected by an ‘at’ constraint share the same TimePeg TimePegs can be moved, changing the time of the associated sync(s) TimePegs provide local timing (irt the start of the BML block) Each TimePeg is connected to a BMLBlockPeg BMLBlockPegs provide global timing Elckerlyc’s plan representation

OffsetPeg: links to another TimePeg and moves with it, retaining a time offset All ‘at’ constraints can be expressed in Pegs, OffsetPegs en Blockpegs After en before constraints require a specific pair of Pegs – Not implemented yet – (but: trivial to design and implement)

Example: solving BML to TimePegs As you can see on this painting,... <gesture id="point1" start="walk1:relax" type="POINT" target="painting1" stroke="speech1:s1+0.5"/>

Managing block timing

Architecture Separated parsing, scheduling, execution Central: the PegBoard Engines handle unimodal motor plans Sync points of PlanUnits are connected by TimePegs Anticipators may make time adjustments through TimePegs

Architecture The scheduler communicates with a set of engines to set up the multimodal behavior plan It knows for each BML behavior what Engine handles it Engines have a standardized interface with functions to: – Add a BML behavior to the motor plan – Remove a BML behavior from the motor plan – Resolve unknown time constraints on a BML behavior given its known time constraints – Check which BML behavior in the motor plan are currently invalid Note that communication with Engines is in terms of BML behaviors

Managing adjustments of the plan Interruption of a behavior Will automatically shorten the block’s end Satisfies block append constraint Time adjustment of a sync point Through its associated TimePeg Will also move syncs that are connected to it with ‘at’ constraints Might invalidate other constraints – Each Engine has functionality to check for this – Solution: drop behavior, drop constraint,.. – And communicate back to the behavior planner

Conclusion BML scheduling can be viewed as a constraint problem Elckerlyc uses this view to maintain a flexible behavior plan representation – Allows micro (timing) adjustments – But maintains constraints Enables applications that require tight mutual coordination between a user and a virtual human These capabilities have been used in: Attentive Speaker, recent version of Virtual Trainer

Thanks for your attention

Further work Capture before/after constraints Multithreaded scheduling