Programmability of Intelligent Agent Avatars Z. Huang, A. Eliens and C. Visser Vrije University Amsterdam The Netherlands
3D Web Agents are intelligent agents whose avatars can interact with users via Web browsers. In this talk, we propose an approach to the programmability of intelligent agent avatars, supported by the Distributed Logic Programming language DLP.
Main Features of 3D Web Agents • Cross-Platforms: 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.
Architecture of Web Agents:Extended BDI Model Desire Intention Belief effectors sensors
Primitives of sensors/effectorsfor 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)
Distributed Logic ProgrammingDLP Distributed logic programming [Eliens:1992] combines logic programming, object oriented programming and parallelism.
DLP has been extended with a 3D VRML Client Interface Library, which includes the primitives of the sensors/effectors for 3D web agents.
Main Features of DLP for Web Agents • Multiple thread Controls: support multiple agent systems; • Distribution: tcp-ip facilities for distributed communication, thus DLP can be used to build virtual communities for multiple users; • High level communication Protocols: support for Agent Communication Languages ACL; • Declarative Language: rule-based knowledge representation
Benchmark Example:Soccer games on the Web Http://www.cs.vu.nl/~huang/wasp/
Cognitive loop:sensing-thinking-acting thinking acting sensing Belief Intention Desire
Action Specification in Agent’s Knowledge-Bases • look-at-ball • run-to-ball • shooting • passing • move-around • run-and-trace • near-ball-then-kick • …...
A Peep on the DLP Code: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).
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.
A Peep on DLP code: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).
Conclusions The technologies of intelligent web agents and distributed logic programming are convenient tools for the implementation of distributed intelligent agent avatars.