文档视界 最新最全的文档下载
当前位置:文档视界 › MOTOR KNOWLEDGE REPRESENTATION

MOTOR KNOWLEDGE REPRESENTATION

M O T O R K N O W L ED G E R EP R ES EN T A T I O N

Giuseppe Marino Pietro Morasso Renato Zaccaria Department of Communication, Computer and Systems Science, University

of Genoa - Italy

A B S T R A C T

The motor control problem is considered in the framework of knowledge representation. In the AI/Robotic world, a formal model for Motor knowledge should f i l l a gap between task planning and low level robot languages; such model should be able to "virtualize" the robot and the interaction with the environment so that the planner could pro-duce (and rely on) high level abstract actions, characterized by high autonomy and s k i l l. The paper discusses s o m e general aspects about actions, actors, and scenes, and describes the NEM language, which is able to represent and animate humanoids in a scene and is meant to provide a software labora-tory for experimenting with action schemas.

1. Introduction

In the AI/Robotic world, a formal model for motoric" knowledge (Marino et a l., 1984) should f i l l a gap between task planning (Lozano Perez, 1982) and low level robot languages (Bonner and Shin, 1982); such a model should be able to "v i r t u-alize" the robot and the interaction with the environment so that the planner could produce (and rely on) high level abstract actions, characterized by high autonomy and s k i l l. This problem is strongly related to that of modeling and simulating the human body and i t s movements (Badler and Smo-

l i a r, 1979). This paper briefly reviews a formal language, called N M, for the representation and animation of "moving entities", or actors (e.g. humanoids), in a scene. Geometric, kinematic, dynamic aspects are a l l tightly interrelated for any s k i l l. In general, however, it is convenient to distinguish, for an actor, two different levels of "knowledge" of the particular aspect of a s k i l l: i) a qualitative/symbolic/explicit level, and i i) an implicit/analogic/quantitative one; N M is intended to support the second level.

An action is a change in the relation between an ector and i t s surrounding. If we n o w associate with each feature of the scene a local system of coordinates (a frame (*) ) , the action can then be viewed as a stream of variations of s o m e of the mutual relations between local coordinate systems, due to a stream of motor commands.

The whole scene can thus be described as a "forest" of frames, linked to features, grouped together conveniently when referring to a c o m m o n structure (an actor, an object, a family or a part thereof). E nsembles of frames can only represent, in a direct way, the "skeletric" structure of actors or objects; if smoother and more detailed representations are needed, it would be necessary to associate appropriate "shape formation" a t t r i-butes with frames and frame ensembles. This points out the problem of interfacing an action oriented system with solid modeling concepts (Binford, 1982) and with techniques of path planning and obstacle avoidance (Lozano Perez, 1982).

2. N

E

M: a language for representing actors, scenes, actions

The N M language has been designed to provide a procedural, non-hierarchical representation of motoric knowledge. N

E

M is intended: i) to define and model (potentially) moving entities ("objects" or "actors") ; i i) to describe the movement of an entity as a whole, or of groups or parts of enti-ties .

Object/Actor representation is based on an atomic element called Geometric Frame (GF), by which Geometric Frame Structures (G F S) can be b u i l t. G F S s provide object/actor modeling in terms of skeletons of articulated chains, whose basic element is a tree of GFs. N

E

M objects are general and hierarchical: "limb", "man", "quadruped", "table", "crowd" are legal parameterized (families of) entities.

Moving objects are called Actors. An Actor's movement is described by means of scripts called Motions. Motions are abstract, non-hierarchical procedural descriptions of movement for single

(*) This kind of "frames" has nothing to do with Minski's: they come from analytic geometry.

G. Marino etal. 1111

objects, parts or groups of them, or generaliza-tions of objects (families). A motion can adapt i t s e l f to a particular object in a family: for example, a script "animal^walk" could f i t , at s o m e level of d e t a i l , different actors like a "spider" or a "dog". Motions are built by composition, or specialization of other motions. Motions can express, at a certain level, geometric reasoning, both static ("is the book over the chair ?") and dynamic ("may John reach the book without walk-ing ?"). Finally, motions allow expression of com-m o n sense motoric knowledge (that we m a y call "com-m o n s k i l l knowledge"): naive physics concepts (such as "gravity", "equilibrium", "collision", "pushing" and so on) can be easily defined in terms of gen-eral virtual motions.

N E M has three components: i) an algebra, called Frame Algebra Notation (FAN), which manages GFSs; i i ) atomic motor primitives and their seman-tics ("Primitives"); i i i ) rules of superimposition or composition of motions and primitives, called Constructs. They are the operators with which we can build motions. 2.1. Frames and Motions

The atomic datum in N E

M is the frame, which

corresponds to an orthogonal system of reference

and is represented by means of a 4 x 4 homogeneous

matrix. Homogeneous matrices express the translation/rotation of the given frame with

respect to an ancestor frame.

Frames are used to identify significant points of an object/actor. For example, a simple pyramid

can be defined by the following GFS:

@ EN V F R A M E P Y R A M I D

@ P Y R A M I D F R A M E V ER T EX _1 V ER T EX _2 V ER T EX _3 where E N V is the "universe" frame (the environment) and "?" is an operator which refers a frame to i t s ancestor. The definition of a G F S and i t s corresponding i n i t i a l i z a t i o n can be embedded into a parameterized definition block and instanciated several times.

At the lowest level, F A N semantics guarantees

the computability of a l l spatial relations. How-ever, F A N provides functions at different higher

levels: G F S s can be dynamically generated and des-troyed; frames can be assembled/disassembled into

their components; functions can be defined and so

on. For example, the script

P O S (A D A M *M O U T H @ EVE'R'HAND) gives the geometric relation existing at a certain instant between

Adam's mouth and ve's right hand. Finally, a frame can be referenced by i t s position inside a

G F S (i t s "pathname") rather than by i t s name. Pathnames and related functions (such as the IS_DEF( function), which tests the existence of a G F S element, allow motion scripts to f i t families of similar structures.

A motion is a collection of three components: i) frames and declarations of variables, i i ) motor primitives and i i i ) instances of other motions. Any component m a y be missing: for example, a motion can simply embed an object definition. Motions are usually active concurrently; frames and variables binding is dynamic.

The atomic element for motion construction is the primitive motor operator (PMO). P M O s are inspired by anthropomorphic mechanics and are defined at two levels: i) joint level, and i i ) limb level. The P M O s of the former type move a frame, whereas the P M O s of the latter type affect chains of frames by specifying the motion of the "end effector" (they solve the inverse kinematic problem (Benati et a l., 1982)). More abstract operators are also defined: for example, temporary linking an end effector with s o m e moving frame (passive motions), or "reversing" a chain ("move the hip with respect to the foot").

Composite Motions are defined by composing

P M O s and/or composite motions already defined. Com-positions can be m a d e in different ways:

sequential execution: ACTION_l ; ACTION_2 j ACTION_3 ; ...

(where stands for a P M O or a motion; parallel execution:

ACTION_l & ACTION_2 & ACTION_3 6 ... guarded execution:

WHILE EV EN T D O ACTION WAIT E V E N T D O ACTION P E R F O R M ACTION_l E X C E P T EV EN T T H EN ACTION_2

The composition paradigm allows to overlap in time different spatio-temporal units, therefore providing an unlimited capability of trajectory

formation: this expresses naturally a non-hierarchical, distributed approach to motor control

(Hinton, 1984) which is conceptually akin to the

object-oriented programming style (Weinreb and

Moon, 1980). Guarded executions allow actors to

synchronize through events, or to communicate each other through message passing.

3. Results

The N E

M project is being implemented in the Unix environment. The N E

M interpreter is written

1112 G. Marino et al.

in C to obtain high efficiency. Preliminary ver sions of two interfaces are available: one inter-faces N M with F A D L 2 (a geometric modeling system) and the other with Prolog.

Figure 1 shows a graphic trace of the perfor-mance of a N E M script which represents a diving humanoid. It is worth noting that in this motor paradigm the motor actions are concurrent with the action of gravity. In the N E M script, two corresponding concurrent motions are activated; this is an example of physical laws implicitly embedded into the motoric knowledge. Moreover, "environmental" processes can be tested by "con-t r o l " actors in order to tune action parameters. Several other paradigms are being experimented

(sitting, walking, picking ...) with the purpose of building a high level motor data base. With regard to the N E M -P A D L 2 interface, f i g. 2 shows a N E M humanoid (in a "discobolus" posture) "dressed" with a P A D L 2 articulated solid model. Better schemes of human body representation are available (see Spe-cial Issue of I E E E

Comp. Graph, and Appl.,vol.2

no.9,1982), but most of them are not articulated. 4. Final remarks

We stressed the potential capability of N M to build high level, abstract pieces of motor

activity, in spite of the simplicity of the GFSs,

which are a low level atomic piece of knowledge.

Moreover, N E M'

s f a c i l i t i e s to express both static and dynamic geometric reasoning suggest that it could play a role of "co-planner", as to say, it could integrate both functions of analog modeling

the (moving) world and of storing tasks/actions data base. R E F E R E N C E S

B A D L E R NI, S M O L I A R SW (1979) Digital representation of human movement, A

C M Comp. Surv. 11:1 B E N A T T M, G A G L I O S, M O R A S S O P, T A G L I A S C O V, ZAC-C A R T A R (1980) Anthropomorphic robotics. Biol. Cybern. 38:125-150 B O N N E R S, SHIN KG (1982) A comparative study of Robot Languages, IE E E Computer, 15:12

B I N F O R D TO (1982) Survey of model based image analysis systems. Intern. J. Robotic Research 1:18-64

H I N T O N G (1984) S o m e computational solutions to Bernstein problems. In WHITING BTA (E ditor) H u m a n motor action - Bernstein reassessed. E lsevier Sci-ence Publ. BV (North Holland): 373-412 L O Z A N O P E R E Z T (1982) Task planning. In B R A D Y M et al (editors) Robot motion: planning and control. MIT Press, Cambridge, MA M A R I N O G, M O R A S S O P, T R O I A N O E , Z A C C A R I A R (1984) Representing Motor Knowledge, Proc. AIMSA84 Conf., Varna, Bulgaria W E I N R E B D, M O O N D (1980) Flavors: Message Passing in the LISP Machine. A r t i f i c i a l Intelligence Laboratory Technical Report 602, MIT press, Cam-bridge, MA

f i g. 1

相关文档