3D Web Agents in Distributed Logic Programming

26
3D Web Agents in Distributed Logic Programming Zhisheng Huang, Anton Eliens and Cees Visser {huang,eliens,ctv}@cs.vu.nl Intelligent Multimedia Group Vrije Universiteit The Netherlands

description

3D Web Agents in Distributed Logic Programming. Zhisheng Huang, Anton Eliens and Cees Visser {huang,eliens,ctv}@cs.vu.nl Intelligent Multimedia Group Vrije Universiteit The Netherlands. - PowerPoint PPT Presentation

Transcript of 3D Web Agents in Distributed Logic Programming

Page 1: 3D Web Agents in Distributed Logic Programming

3D Web Agents in Distributed Logic Programming

Zhisheng Huang, Anton Eliens and Cees Visser{huang,eliens,ctv}@cs.vu.nl

Intelligent Multimedia GroupVrije UniversiteitThe Netherlands

Page 2: 3D Web Agents in Distributed Logic Programming

3D Web Agents are intelligent agents whose avatars can interact with users via Web browsers. These Web-based 3D avatars are usually constructed by means of the Virtual Reality Modeling Language VRML.

Page 3: 3D Web Agents in Distributed Logic Programming

Outline of This Talk1 Main Features of 3D Web Agents2 Requirements of Programming/Specification

Languages for 3D Web Agents3 Distributed Logic Programming Language (DLP)

for 3D Web Agents4 Examples

4.1 VRML-based Multi-User Soccer Game4.2 Facial Animation in DLP

5 Conclusions

Page 4: 3D Web Agents in Distributed Logic Programming

Main Features of 3D Web Agents•Cross-Platform: Accessible for any Web browser with a VRML viewer;

•Mobility: Accessible from anywhere over the Web;

•Reactivity in Real Time: Can react in real time. No heavy rendering delay;

•Flexibility: Rule-based knowledge representation makes the changes of behaviors rather easy. Need no re-programming.

Page 5: 3D Web Agents in Distributed Logic Programming

Requirements of General Programming/Specification

Languages for 3D Web Agents• VRML EAI support, like Java• Multi-threaded control• Object-Oriented• Declarative language: rule-based

knowledge representation/specification, like Prolog

• Distributed communication/computation capabilities

Page 6: 3D Web Agents in Distributed Logic Programming

Architecture of Web Agents:Extended BDI Model

effectors sensors

Belief

Desire

Intention

Page 7: 3D Web Agents in Distributed Logic Programming

Sensor/Effector Primitivesfor 3D Web Agents

getPosition(Object, X, Y, Z)

setPosition(Object, X, Y, Z)

getRotation(Object, X, Y, Z, R)

setRotation(Object, X, Y, Z, R)

getViewpointPosition(Agent, X, Y, Z)

setViewpointPosition(Agent, X, Y, Z)

getViewpointOrientation(Agent, X, Y, Z, R)

setViewpointOrientation(Agent, X, Y, Z, R)

Page 8: 3D Web Agents in Distributed Logic Programming

Distributed Logic ProgrammingDLP

Distributed logic programming [Eliens:1992] combines logic programming, object-oriented programming and parallelism.

Page 9: 3D Web Agents in Distributed Logic Programming

DLP has been extended with a 3D VRML Client Interface Library, which includes the sensor/effector primitives for 3D web agents.

Page 10: 3D Web Agents in Distributed Logic Programming

Main Features of DLP for 3D Web Agents

• Multi-threaded Language: modeling of independent intra or inter agent activities;• Distribution: high-level TCP/IP based facilities for distributed communication, thus DLP can be used to build virtual multi-user communities; • High-level communication Protocols: support for Agent Communication Languages (ACL);• Declarative Language: rule-based knowledge representation

Page 11: 3D Web Agents in Distributed Logic Programming

Benchmark Example:Soccer games on the Web

Http://wasp.cs.vu.nl/wasp/

Page 12: 3D Web Agents in Distributed Logic Programming

Features of VRML-based Soccer Games

• Multi-Agent Systems• Multi-User Systems• Reactivity• Cooperation / Competition• Dynamic Environments• Distributed Communication

Page 13: 3D Web Agents in Distributed Logic Programming
Page 14: 3D Web Agents in Distributed Logic Programming

Cognitive loop:sensing-thinking-acting

sensing actingBelief Intention

Desire

thinking

Page 15: 3D Web Agents in Distributed Logic Programming

Cognitive model of soccer game

Page 16: 3D Web Agents in Distributed Logic Programming

Action Specification in Agent’s Knowledge-Bases

• look-at-ball

• run-to-ball

• shooting

• passing

• move-around

• run-and-trace

• near-ball-then-kick

• …...

Page 17: 3D Web Agents in Distributed Logic Programming

DLP code example:the action “Look-at-ball”

look_at_ball(Player,Ball) :-getPosition(Player, X,_,Z),getPosition(Ball, X1,_,Z1),X =\= X1,!,R is atan((Z-Z1)/(X-X1)) -

sign(X-X1)*1.57,setRotation(Player,0.0, 1.0,

0.0, R).

Page 18: 3D Web Agents in Distributed Logic Programming

DLP code example:the action “find-how-to-react”

findHowtoReact(Agent, Ball, shooting):-getPosition(Agent,X,Y,Z),getPosition(Ball, Xb,Yb,Zb),gatePosition(Agent,Xg,Yg,Zg),

distance(X,Y,Z,Xb,Yb,Zb,Distb),distance(X,Y,Z,Xg,Yg,Zg,Distg),Distb =< kickableDistanceDistg =< kickableGoalDistance.

Page 19: 3D Web Agents in Distributed Logic Programming

Agent Communication Language•agent communication languages (ACL) are used to serve as a high-level communication facility. •KQML and FIPA ACL which are based on speech act theory are popular agent communication languages.• A message in ACL usually consists of a communicative act, a sender name, a list of recipients, and additional content.• Communicative acts like 'tell', 'ask', and 'reply', are used to identify the communication actions which may change the mental attitudes of the agents.

Page 20: 3D Web Agents in Distributed Logic Programming

VRML-based client-server Architecture

server

client client client

browser browser browser

VRML EAI VRML EAI VRML EAI

Page 21: 3D Web Agents in Distributed Logic Programming

Shared Object

•A shared object is an object whose state and behavior are to be synchronized across multiple clients

Page 22: 3D Web Agents in Distributed Logic Programming

3D agent-based virtual communities

•Virtual environments with embedded agents: autonomous agents are participants in virtual communities.

•Virtual environments supported by ACL communication: Agent communicationlanguages are designed to provide a high-level communication facility. The communication between the agents can be used for the realization of shared objects in virtual worlds.

Page 23: 3D Web Agents in Distributed Logic Programming

PAMELA as Presentation AgentFacial Animation

Page 24: 3D Web Agents in Distributed Logic Programming

H-anim 1.1 Compliant Avatars

The intelligent agent avatars are designed to be H-anim 1.1 compliant, based on the specification for a standard humanoid proposed by Humanoid Animation Working Group.

Page 25: 3D Web Agents in Distributed Logic Programming

DLP code example:Eyebrow Up and Lip Move

eyebrowUp_lipMove(Times,Interval, Range) :-getPosition(eyebrowRight, X1,Y1,Z1),getPosition(eyebrowLeft, X2,Y2,Z2),eyebrow_up(eyebrowRight, 0.01),eyebrow_up(eyebrowLeft, 0.01),lipMove(lowerlip,Times,Interval,Range),setPosition(eyebrowRight, X1,Y1,Z1),setPosition(eyebrowLeft, X2,Y2,Z2).

Page 26: 3D Web Agents in Distributed Logic Programming

Conclusions• A technology for 3D web agents needs a general programming / specification language which merges aspects of object-oriented languages, web3D- oriented languages, and declarative languages.

• The distributed logic programming language DLP is a general programming/specification language for 3D web agents.

• DLP is a convenient tool for the implementation of 3D web agents.