23
“Is It Within My Reach?” -An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser Vrije University Amsterdam The Netherlands http:// wasp.cs.vu.nl/step

“Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

  • Upload
    moriah

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

“Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser. Vrije University Amsterdam The Netherlands http://wasp.cs.vu.nl/step. Outline of This Talk. Virtual Agent Platform: DLP+Web3D S cripting Language STEP Reach by Hand: Inverse Kinematics - PowerPoint PPT Presentation

Citation preview

Page 1: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

“Is It Within My Reach?”-An Agents Perspective

Zhisheng Huang, Anton Eliens, and Cees Visser

Vrije University Amsterdam

The Netherlands

http://wasp.cs.vu.nl/step

Page 2: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Outline of This Talk

• Virtual Agent Platform: DLP+Web3D

• Scripting Language STEP

• Reach by Hand: Inverse Kinematics

• Reach by Body: Decision Making

• Reach by Moving: Reasoning about Environments

• Conclusions and Future Work

Page 3: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Why DLP

• Object-oriented parallel Prolog

• Web3D support

• TCP/IP support for network communication

• Java-based. All DLP programs are compiled into Java classes

• Efficiency for programming

• Reasonably good performance

Page 4: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Implementation

• STEP has been implemented by using Distributed Logic Programming Language (DLP)

• STEP (version 1.0) and its authoring tools are available from the STEP website:

http://wasp.cs.vu.nl/step

Page 5: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

FACT : STEP Source Code (1.0)

Page 6: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

FACT: Web_oriented• Web deliverable animation. No need to

install any software or tool to run and test STEP scripts. No DLLs are needed to run STEP facial animation engine.

• Animation and presentation can be created on-the-fly, well suitable for web agents which need interaction with users in real time with reasonably good performance.

Page 7: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Reach by HandInverse Kinematics

Page 8: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Interaction Operators in STEP for Computation

High-level interaction operators are used to access the computational capabilities of the meta language in order to find the computation solutions, which involve inverse kinematics.

Page 9: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

STEP script: Touch

script(getABvalue(Agent,position(X0,Y0,Z0),Hand,A,B),Action):- Action = seq([getDvalue(Agent,position(X0,Y0,Z0),Hand, D), get_upperarm_length(Agent,L1), get_forearm_length(Agent,L2), do(D1 is L1 + L2), if_then_else(sign(D1-D)>sign(0.001-D), seq([do(cosine_law(L1,L2,D,A)), do(cosine_law(L1, D, L2, B))]), seq([do(A is 1.57*(1+sign(D-0.001))), do(B is 0.0)]))]).

Page 10: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

script(getVvalue(Agent,position(X0,Y0,Z0),Hand,V),Action):- Action = seq([get_shoulder_center(Agent,Hand, position(X2,Y2,Z2)), do(direction_vector(position(X2,Y2,Z2),position(X0,Y0,Z0),V))]).

script(touch(Agent, position(X0,Y0,Z0),l),Action):- Action = seq([getABvalue(Agent,position(X0,Y0,Z0),l,A,B), do(R1 is 3.14-A), getVvalue(Agent,position(X0,Y0,Z0),l,V), get_arm_vector(Agent,l,V0),

do(vector_cross_product(V0,V,vector(X3,Y3,Z3),C)), do(R2 is C-B),

par([turn(Agent,l_shoulder,rotation(X3,Y3,Z3,R2),fast), turn(Agent,l_elbow,rotation(X3,Y3,Z3,R1),fast), turn(Agent,l_wrist,rotation(X3,Y3,Z3,-0.5),fast)])]).

Page 11: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

script(touch_absolutePosition(Agent,position(X1,Y1,Z1),Hand),Action):-

Action = seq([do(getPosition(Agent,X,Y,Z)), do(getRotation(Agent, X2,Y2,Z2,R)),

do(X3 is X1-X), do(Y3 is Y1-Y),

do(Z3 is Z1-Z), do(R1 is -R),

do(position_rotation(position(X3,Y3,Z3), rotation(X2,Y2,Z2,R1),position(X4,Y4,Z4))),

touch(Agent,position(X4,Y4,Z4), Hand)]).

Page 12: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Reach by Body

• Reasoning about Situations to find a proper list of involved joints

• Use a rule-based decision making model

Page 13: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

A Simplified Reaching Model• If the object is lower than the agent’s knee, then

the agent should squat to reach it;

• If the object is higher than the hip and lower than the head, the agent should turn the torso to reach it;

• If the object is higher than the head and is not reachable by hand, the agent should jump to reach it;

• ……

Page 14: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Torso Bending

At least 4 joints

Page 15: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Squat to Reach

At least 5 joints

Page 16: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Reach by Movingreach with knowldge approach

• A set of rational postulates for reaching with knowledge

• Define a preference relation on positions.

• Agents would move to the most-preferred

position to find a path to reach the object

Page 17: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Reach with Knowledge

Page 18: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Rational Postulates

(A)Reachability

The agent prefers a reachable position to unreachable position d(p1, object) < dmax and d(p2, object) > dmax => pref(p1,p2)

(B0) Nearness

The agent prefers a position which is closer to the object

d(p1, object)<d(p2, object) => pref(p1,p2)

Page 19: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

• (C0) Shortness

The agent prefers a position for which the move path is shorter.

d(p1,agent)< d(p2,agent)=> pref(p1, p2)

Rational Postulates (continued)

Page 20: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Rational Postulates (continued)(B) (Conditional Nearness) If the object is unreachable, then the agent prefers a position which is closer to the object.\\

d(p1,object)>dmax and d(p2,object)>dmax and d(p1,object)< d(p2,object)\ => pref( p1, p2).

(C) (Conditional Shortness) If the object is reachable, then the agent prefers a position for which the move path is shorter.\\

d(p1,object)<dmax and d(p2,object)<dmax and d(p1,agent)< d(p2,agent) => pref( p1, p2)

Page 21: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Accepted Reachable Distance (ARD)

ARD denotes the distance from which the agent can reach the object with an acceptable bending of the torso.

Page 22: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Rational Postulates (continued)

(D) (Acceptable Nearness) If the object is not acceptably reachable, then the agent prefers a position which is closer to the object.\\

d(p1,object)>ARD and d(p2,object)>ARD and d(p1,object)< d(p2,object)=> pref(p1, p2).

(E) (Acceptable Shortness) If the object is acceptably reachable, then the agent prefers a position for which the move path is shorter.

d(p1,object)<ARD and d(p2,object)< ARD and d(p1,agent)< d(p2,agent) => pref(p1, p2)

Page 23: “Is It Within My Reach?” - An Agents Perspective Zhisheng Huang, Anton Eliens, and Cees Visser

Future Work

• Reach by Hand: More complicated hand shapes for grasp and hold;

• Reach by Body: more fine-grained models for decision making models and inverse kinematics

•Reach by Moving: More comprehensive scenarios for planning and reasoning