Top Banner
A Multi-agent Approach for the A Multi-agent Approach for the Integration of the Graphical Integration of the Graphical and Intelligent Components of and Intelligent Components of a Virtual Environment a Virtual Environment Rui Prada [email protected] INESC-ID IST – Technical University of Lisbon, Portugal
28

A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada [email protected] INESC-ID.

Jan 29, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

A Multi-agent Approach for the A Multi-agent Approach for the Integration of the Graphical and Integration of the Graphical and Intelligent Components of a Intelligent Components of a Virtual EnvironmentVirtual Environment

Rui [email protected] – Technical University of Lisbon, Portugal

Page 2: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Introduction

Report on ELVIS Project achievements Combine efforts from two different research

communities Artificial Intelligence Computer Graphics

Open Source Framework for easy development of Intelligent Virtual Environments populated with Synthetic Characters (AgentLib)

Page 3: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Motivation (1)

Entertainment and Education applications often make use of virtual realities (environments)

Often inhabited by Synthetic Characters Interact with the user However the interactions should be believable in

order to give a good interaction experience to the user

Two different dimensions: Visual believability Behaviour believability

Page 4: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Motivation (2) Visual believability

Believable appearance Natural body and facial animations (gestures) Believable interaction with the virtual world Emotional expression

Behaviour believability Action planning Knowledge representation Synthetic emotions Social skills Nature language

Page 5: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Motivation (3)

Both dimensions are important But they have very distinct problems,

development approaches and tools Additionally, the integration of the intelligent and

the visual components is often not clean Dependencies between the intelligent and the visual

components Problems for reusability

Page 6: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Motivation (4)

To build a framework that supports the development of virtual environments and synthetic characters

And present a library with ready to use components

We need to have reusable components Goal: Create a well defined interface between

the graphic and the intelligent components

Page 7: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

The Framework (1)

Inspiration from the Model-Controller-View paradigm Create an abstract layer between the two different kind

of components Interconnect the intelligent and visual component

without creating dependencies between them

AbstractModel

IntelligentComponents

VisualComponents

Behaviour Layer Presentation LayerAbstract Layer

Page 8: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

The Framework (2)

The presentation layer that contains the components that present the simulated world to the user (e.g. 3D visualization and animation)

The abstract layer that contains an abstract representation of the simulated world and the synthetic characters (e.g. an abstract model)

The behaviour layer that contains the components that implement the intelligent behaviour of the synthetic characters. (e.g. planning algorithms)

Page 9: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Abstract Model (1)

Based on the Entity-Relationship knowledge representation scheme Contains the abstract representation of the world's

entities, their properties and relations

Entity Property1 N

Relation

N

N

N1

Page 10: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Entities block A, block B, and block

C

Properties colour(A, blue) colour(B, green) colour(C, yellow)

Relations OnTopOf(A, B) OnTopOf(Table, A) OnTopOf(Table, C)

Abstract Model (2)

Table

A

B

C

Page 11: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Abstract Model (3)

Agent Based Approach Entity Hierarchy Agent

Behaviours

Entity Property

Relation

1 N

N

N

N1

1

N

Agent

Behaviour

1

Page 12: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Behaviours

Define the abilities of the agents in the world Change the abstract model

E.g. set new properties or relations, add or remove entities

Execution cycle Start procedure

Arguments

Stop procedure Termination test

Page 13: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Update Cycle

Every Entity (including the agents) has two update methods Start Update Finished Update

Two methods to guarantee that the update process is independent from the order of update

One entity updates its children Calls the update methods of its child entities Calls the update methods of its behaviours

There is one Root Entity for each world

Page 14: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Events

Changes in the abstract model and the execution of behaviours generate events Property Changes Events Relation Changes Events Behaviour Execution Events (start, stop) Add/remove Entity Event Add/remove Behaviour Event User defined events (raised by the behaviours)

Components register into the Entities that they want to observe

Page 15: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Interface with the Intelligent Components

● Agents can be controlled by Intelligent components external to the Abstract Model1.These components register into the entities that they

want to monitor

2.Request the execution of actions in the world through the execution of behaviours

(a)Start a behaviour

(b)Stop a behaviour

3.Receive Perceptions from the World through the Event mechanism

Page 16: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

View (1)

Establishes the interface with the presentation layer

Encapsulates the representation engines and devices 2D animated world 3D virtual reality Augmented reality

Page 17: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

View (2)

View Represents the device that displays the world to the

user (e.g. the drawing window) Characterized by several Attributes (e.g. window size) Composed by several Layers

Layer x,y coordinates Width, height Depth level Attributes

View Attributes

Layers

1 N

N

N1

1

Page 18: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

View (3)

Layers are placeholders to attach Layer Elements These Elements define the contents of the layers

and the representation object that they display Bitmap 3D Camera Text Area View Attributes

Layers

1 N

N

N1

1LayerElement

11

1

N

Page 19: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

View (4)View

Layer (Bitmap)

Layer (Text Field)

Layer (Button)

Page 20: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

View (5) Scenes

Are characterized by several Attributes Contain several Scene Elements Attached to a Layer through Layer Elements (e.g. a

Camera)

Scene Elements Attributes Feature Points

Where other Scene Elements may be attached

Plug-ins Manipulate the Scene Elements

Examples of Scene Elements: 3D Model, Light Source

Page 21: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

View (6)

View Attributes

Layers

1 N

N

N1

1LayerElement

11

1

N

SceneScene

ElementN1

Plug-inN1

FeaturePoints

N

1

1

N

N

1

1

1

Page 22: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

View (7)

Plug-ins Started Stopped Examples: Animations, Path Interpolators, Sound

Sources

Observers Registered in the Scene Elements Receive events

Collision events User Input

Keyboards events

Page 23: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

The Whole Picture The Intelligent Components interact with the entities

defined on the Abstract Model Receive perception through events Act through agents' behaviours

The behaviours may change the Abstract Model and the View Elements For example: one may define a behaviour that plays an

animation on a 3D character and then, when it finishes, changes the a property in the Abstract Model

The View interface defines and abstract language that is implemented and realized by the Components in the presentation layer (e.g. The 3D Graphics Engine)

Page 24: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Test CaseExample: FearNot! episode

Abstract Model

User

Luke

John

Books

View / Interaction Manager

Stage ManagerControl

Luke’s Mind

Control

John’s Mind

3D Luke

3D John

3D Books

3D Classroom

User Interface

Page 25: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Test Case (2)

Video

Page 26: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Conclusions (1)

Multi-agent technology may is used to define an abstract layer that promotes the interdependency of the intelligent and visual components of a virtual environment

This independence allows the components to be reused and therefore to build a toolkit for rapid development of virtual environments, namely with the presence of synthetic characters

Page 27: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Conclusions (2)

Using an abstract common model is one way to share research efforts

The Abstract Model was used to establish the interface of the Intelligent Components (e.g. planning algorithms) that implement the behaviour of some synthetic characters in some of our projects: e.g. the VICTEC project

The View abstraction is currently being implemented and will be tested with a simple example

Page 28: A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada rui.prada@gaips.inesc-id.pt INESC-ID.

Questions?

[email protected] The AgentLib is on SourceForge

sourceforge.net/projects/agent-sg/

Elvis Workshop in Lisbon 6th to 8th of April