1 / 26

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 Group Vrije Universiteit The Netherlands.

darva
Download Presentation

3D Web Agents in Distributed Logic Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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.

  3. Outline of This Talk 1 Main Features of 3D Web Agents 2 Requirements of Programming/Specification Languages for 3D Web Agents 3 Distributed Logic Programming Language (DLP) for 3D Web Agents 4 Examples 4.1 VRML-based Multi-User Soccer Game 4.2 Facial Animation in DLP 5 Conclusions

  4. 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.

  5. 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

  6. Architecture of Web Agents:Extended BDI Model Desire Intention Belief effectors sensors

  7. 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)

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

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

  10. 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

  11. Benchmark Example:Soccer games on the Web Http://wasp.cs.vu.nl/wasp/

  12. Features of VRML-based Soccer Games • Multi-Agent Systems • Multi-User Systems • Reactivity • Cooperation / Competition • Dynamic Environments • Distributed Communication

  13. Cognitive loop:sensing-thinking-acting thinking acting sensing Belief Intention Desire

  14. Cognitive model of soccer game

  15. Action Specification in Agent’s Knowledge-Bases • look-at-ball • run-to-ball • shooting • passing • move-around • run-and-trace • near-ball-then-kick • …...

  16. 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).

  17. 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 =< kickableDistance Distg =< kickableGoalDistance.

  18. 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.

  19. VRML-based client-server Architecture server VRML EAI VRML EAI VRML EAI browser browser browser client client client

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

  21. 3D agent-based virtual communities • Virtual environments with embedded agents: autonomous agents are participants in virtual communities. • Virtual environments supported by ACL communication: Agent communication • languages 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.

  22. PAMELA as Presentation AgentFacial Animation

  23. 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.

  24. 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).

  25. 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.

More Related