Combined Direct and Inverse Kinematic Control for Articulated

The trend is to use image analysis to track the position of markers fixed to the body [2,4,5,8]. .... Figure 1: (a) and (b) main task only (minimum norm solution). (c) the null ... Although physically based simulation is the key to realistic animation, current results are still ... It follows that a periodic cartesian movement does not yield.
246KB taille 2 téléchargements 240 vues
1

Combined Direct and Inverse Kinematic Control for Articulated Figure Motion Editing Ronan Boulic Daniel Thalmann Computer Graphics Lab Swiss Federal Institute of Technology, Lausanne, CH1015 Switzerland tel : + 41.21.693.52.48 fax : + 41.21.693.53.28 e-mail : [email protected]

Abstract A new approach is presented for the animation of articulated figures. We propose a system of articulated motion design which offers a full combination of both direct and inverse kinematic control of the joint parameters. Such an approach allows an animator to interactively specify goal-directed changes to existing sampled joint motions, resulting in a more general and expressive class of possible joint motions. The fundamental idea is to consider any desired joint space motion as a reference model inserted into the secondary task of an inverse kinematic control scheme. This approach profits from the use of halfspace cartesian main tasks in conjunction with a parallel control of the articulated figure called the coach-trainee metaphor.In addition, a transition function is introduced so as to guarantee the continuity of the control. The resulting combined kinematic control scheme leads to a new methodology of joint motion editing which is demonstrated through the improvement of a functional model of human walking.

1

Introduction Kinematic control, either direct or inverse, has proven to be a powerful technique for the interactive positioning and the animation of complex articulated figures. Although expressed in the joint parameter space of these structures, direct kinematics is still widely used to design complex motions from live recording, biomechanical models or key frame interpolation. This space, henceforth referred to as joint space, is more suitable to represent and capture the intrinsic dynamics of motion. On the other hand, motion expressed in cartesian space is the basis of goal oriented motion. Inverse kinematic control, the simplest tool to map cartesian motion onto the joint space, has shown good

2 application for robotic and animation purposes. Nevertheless, the resulting joint motions lack character, due to its norm minimisation property. Although such subjective criteria is not required for ergonomic evaluation, they are of first importance for producing expressive animation. Until now, cooperation of both techniques has been rather limited in motion design. The method we introduce here fully combines both direct and inverse kinematic control over a class of half-space goals, enabling the generalization of jointspace-based behaviours to larger sets of articulated figures. The review presented in the next section describes current animation techniques. Our approach is then developed in the third section on the basis of combined direct and inverse kinematic control. This scheme leads to a new methodology of motion editing presented in section four while section five demonstrates its application to the correction of movements generated by a walking model. 2

Background

This section reviews the current techniques for the motion control of articulated figures. Each technique is evaluated with respect to two criteria : - the capability of meeting goal-oriented as well as expressivity specifications - the generality of the corresponding representation The resulting performances are compared in a discussion at the end of the section. The terms articulated figure addresses here an n-ary tree representation with one degree of freedom translation or rotation joints at internal nodes. This model enables the definition of more complex joints by specifying a chain of one degree of freedom joints. The joint space is also referred to in this paper as the configuration space. 2.1

Joint space techniques

A first group of techniques yields motion data in joint space from life recording or real-time input [1,2,3,4,5,6]. Several approaches issued from the fields of Biomechanics, Ergonomics and Virtual Environments are used in the field of Computer Animation [7,8]. As current commercial devices operate with 50Hz to 100Hz sampling frequency, one can record the natural dynamics of a large set of human actions without loss of information. A direct recording in joint space can be obtained with joint mounted goniometer [1]. However, this technique is only suited for a small number of joints and is rather

3 cumbersome. The trend is to use image analysis to track the position of markers fixed to the body [2,4,5,8]. Assuming a continuous marker visibility, the use of reflective markers greatly frees the motion performance. The use of multiple cameras allows reconstruction of the 3D trajectory of the markers. A matching process with a skeleton model derives the underlying joint angles. Despite the intrinsic realism of the resulting motion data, this approach has some limitations. First of all, the marker positions do not exactly correspond to the joints origin of motion. Secondly, the precision of their 3D trajectory is directly related to the field of view and to the quality of the image analysis [5]. Finally, the mechanical model of the skeleton is always a simplified one, therefore introducing distortions during the matching process. Another drawback is the lack of flexibility of this technique. In fact, the design process consists of performing the whole motion as long as one of the requirements is not met. This latter problem is overcome with keyframe systems where interactive user manipulation of the joint values is easily performed in real-time. The resulting postures, referred to as key postures, can be stored in a library. Then, they are retrieved to be associated with key frames for the specification of sequences with interpolation techniques [9,10,11]. As this technique works at the lowest level, it provides a great flexibility but, on the other hand, fails to design highly coordinated motions as walking or grasping. This observation has lead to the development of specific functional models controlled by a few higher level parameters. The examples of walking and grasping are determined respectively by speed and hand closure. In fact, the proposed models are driven through both joint and cartesian space kinematic control rather than pure joint space control [10,12,13,14,15,16]. Finally, the main conterpart of this great freedom in the design process is usually a lack of physical completeness in the resulting motion. Conversely, dynamic control of motion suffers from the difficulty of predicting the motion resulting from direct joint torque specification. Applications are limited to known effects such as the whip, chain and other passive structures. Control of active structures such as human, animal or robots must use the optimization of global criteria such as minimum energy expenditure [17,18]. Such recent approaches have produced interesting locomotion behaviours [18,19,20,34,35]. The price to pay is a parameter space lacking intuitive manipulation or a control scheme closed to versatile behaviours. By nature, a pure joint space technique is not suited to acheive a goal oriented specification which is generally expressed in cartesian space. As a consequence, once a joint space motion

4 has been set in a particular context of action, it cannot be easely edited to take into account even small variations of this context. 2.2

Cartesian space techniques

Being the representation space of the position and orientation of 3D solid entities, cartesian space is the appropriate choice for the specification of goal-oriented tasks over 3D environments. We also refer to it as the situation space. The mapping of a desired position and orientation for an end effector onto a configuration of its supporting articulated structure is called the inverse geometric model. Such models are commonly used in robotics with the hypothesis that both spaces have the same dimension and the robot responds to some standardized structure [21]. Outside of this context, inverse kinematic control is preferred due to its general application for any joint structure and difference in space dimension. In the following presentation, we will consider its application to the task of controlling the cartesian situation of one end effector defined on an open chain. This control method is based on a linearization of the geometric model at the current state of the system. As a consequence, the validity of this control scheme is limited to the neighbourhood of the current state and, as such, any task has to comply with the hypothesis of small movements. The discrete form of the general solution provided by inverse kinematics is:

∆ θ = J + ∆x + (I-J + J) ∆z

(1)

where ∆ θ is the unknown vector in the joint variation space, of dimension n.

∆x describes the main task as a variation of the end effector position and orientation in cartesian space. For example in figure 1a, 1b and 1d the main task assigned to the end of the chain is to follow a curve or a line in the plane under the small movements hypothesis. The dimension of the main task, noted m, is usually less than or equal to n, the dimension of the joint space, to be of interest for inverse kinematic control. J is the Jacobian matrix of the linear transformation, representing the differential behaviour of the controlled system over the dimensions specified by the main task. + J is the unique pseudo-inverse of J providing the minimum norm solution which realizes the main task (figure 1a, 1b). I is the identity matrix of the joint variation space (n x n) + (I-J J) is a projection operator on the null space of the linear transformation J. Any

5

∆z

element belonging to this joint variation sub-space is mapped by J into the null vector in the cartesian variation space. describes a secondary task in the joint variation space. This task is partially realized via the projection on the null space. In other words, the second part the of equation does not modify the achievement of the main task for any value of ∆z . Figure 1c has a null vector as main task, so the displayed motion is always realized on the null space.

Usually ∆z is calculated so as to minimize a cost function. If the main task belongs to the image space of J then the null space is (n-m) dimensional in the joint variation space. This information is fundamental to evaluate the potentiality of the secondary task and clearly leads to a tradeoff between realization of main and secondary tasks.

a

b

c

d

Figure 1: (a) and (b) main task only (minimum norm solution) (c) the null space is illustrated through a null vector main task (d) same main task as 2b with arbitrary secondary task Although the pseudo-inverse of a matrix had been discovered in the first half of this century, its efficient recursive calculation [22] waited until 1960. For the motion control of articulated structures, one can find from a 1977 paper [23] the complete inverse kinematic control scheme corresponding to equation (1). In this paper the secondary task is chosen in order to minimize the distance to the middle range of the joint and so provides joint limits avoidance.

6 This basic approach is associated with a partial specification of the main task in terms of the realization of a mechanical joint [24, 25] (i.e point to point, point to line, etc). Thereafter, the same approach has been used in animation [10, 14] for configuration tuning of an articulated figure. Two types of interactive control are proposed : dragging an end effector as a main task and re-arranging intermediate joint values as a secondary task while the end effector is kept to a desired location. Numerous other secondary tasks have been proposed such as optimizing manipulability [26], singularities avoidance [27] and obstacle avoidance [28, 29, 30]. A simultaneous solution of multiple cartesian constraints within joint ranges has been developed in [31] by means of nonlinear programming with linear constraints. It constitutes the kernel of motion control in an ergonomic oriented system, called Jack [32], for human factors performance analysis. Moreover, the ability to key-frame is extended to task specifications by means of associated time-varying weighting functions. Nevertheless, none of the previous algorithms is free from producing some singular configurations, which result in an infinite norm of the joint space solution. This major drawback of inverse kinematics is analyzed in [33]. The proposed damped least square algorithm produces the solution with a predefined maximum norm. This solution is the closest to the pseudo-inverse solution in the neighbourhood of a singularity. Otherwise both solutions coincide. As stressed by most of the authors, the motion resulting from inverse kinematic control resembles that of a puppet pulled by a string at the end effector. This unnatural looking motion limits the method’s interest to the interactive definition of key postures in joint space. Inverse dynamics does not necessarily improve this situation as the problem is not only to track a predefined cartesian trajectory but to provide the natural joint motion which realizes a desired trajectory. However, one advantage of cartesian space specifications are their high generality. The same task specification can be achieved by inverse kinematics for a large class of articulated figures. 2.3

Discussion.

Although physically based simulation is the key to realistic animation, current results are still limited by high computational cost. On the other hand, the physical completeness of the provided solution may not be of interest for character design. We can also wonder whether any expressive animation of an articulated figure should be physically realistic. In fact, animation oriented towards visual communication is usually more concerned with expressing

7 the goal of the motion than the physical realism of the motion itself. At the other extreme, live recording can provide highly complex, realistic and expressive motion but at the price of uniqueness of the performance and specificity of the performer. However, the more the performances are repeated, the more an average motion pattern emerges which can be normalized with respect to body size. Therefore, some independence is gained over specificity at the price of expressivity. Here, the question of the generallity of a joint space representation clearly emerges. Does the resulting model maintains the intrinsic key constraints of the movement when applied to any specific figure ? The answer is rather negative and is also valid for the output of key frame and related systems. For this reason, the reusability of a key framed animation is quite poor due to the difficulty of editing highly coordinated motion at the joint level. These considerations have led to the development of inverse kinematic-driven motion systems. Despite this straightforward task or goal specification feature, which makes them behavioral oriented systems [32], they have two major drawbacks. First, as noted before, the unnatural motion resulting from the minimized norm nature of the provided solution. Second, as analyzed in [36], the local nature of this approach provides a local solution depending on the current configuration of the articulated structure. This means that for the same cartesian task, for example an end effector going from point A to point B, a different initial configuration leads to a different final configuration. It follows that a periodic cartesian movement does not yield periodic joint motion. As a consequence of this property, raw application of this technique is unsuitable for task planning or goal oriented behaviour because a local deviation in a cartesian specification (e.g a small obstacle avoidance) results in a permanent and later global modification in the joints’ motion. Therefore we believe that the best approach is to fully integrate both direct and inverse kinematic techniques so as to enlarge the generality of joint based motions with inverse kinematic based corrections. The goal is to retain most of the dynamical information from the direct kinematics motion. An interactive tool is required for simultaneous appreciation of the resulting motion dynamics and monitoring of additional constraints. 3

Combining Direct and Inverse Kinematics

Beyond the current cooperating technique of interactive positioning, we propose a combined direct and inverse kinematic control scheme whose purpose is to provide some kind of joint based motion deformation via cartesian constraints or goals. It can be compared to a shaping tool for a joint-based motion editor.

8 3.1

Joint motion as a reference model

The basic idea is to consider the initial joint motion as a reference model whose tracking is enforced through the secondary task while the main task insures the realization of desired cartesian constraints over some specified end effector(s). The simplest approach is to minimize a cost function of the squared distance between the current state of the reference configuration and the corrected configuration. The gradient vector provides the direction of the highest slope, which is twice the joint difference vector, and we limit its norm to some predefined value to insure the small movement hypothesis (figure 2). In Joint space Reference motion Reference configuration tracking Corrected configuration for current time step

Figure 2 : Reference configuration tracking as a secondary task As the secondary task is performed on the null space of the linear transformation, its dimension is of first importance in tracking the reference model. The more the user adds constraints the less he can retrieve from the reference motion. This brings up two issues. First, the user should work in an incremental manner, beginning with a one-dimensional constraint, processing it and then adding another constraint over the resulting motion, and so on. This methodology always assures the high dimension null space necessary for secondary task performance. Second, local constraints are preferred for small motion deformation and as such half-space constraints appear to be the best choice. 3.2

Half-space as a convenient class of cartesian constraints

Design of one-dimensional to six-dimensional trajectories for an end effector is particularly tedious with respect to our objective of joint motion deformation. The user is more interested in local reshaping of the motion both in time and space. For this reason we prefer to use halfspace constraints as in the example shown on figure 3. Inverse kinematic control is only enforced when the end effector tries to enter the forbidden zone. Planar half-spaces are very convenient and will be used throughout this paper but we will also consider cylindrical and spherical half-space constraints for position or orientation (figure 4).

9

In Cartesian space

initial trajectory

corrected trajectory

end effector

half-space constraint forbidden zone

Figure 3 : A planar half-space constraint to correct the trajectory of an arm holding a brush As an example we could define a cylindrical half-space constraint (figure 4c) to maintain the orientation of a tray within a reasonable inclination to a floor reference plane. The orientation around the vertical axis remains free. With such a constraint, the correction is only enforced when the forbidden zone is violated and over two dimensions only, consequently providing a larger null space for the secondary task. Composition of such half-spaces allows for a versatile definition of more complex domains as in the constructive solid geometry methodology (CSG) for the definition of solid primitives. The choice of reference frame associated with the expression of the correction is of first importance to reduce the dimension of the main task. Let us take the example of figure 4d : an end effector violating this domain may be corrected either on both dimensions of translation in the plane or on one dimension along the normal vector passing through it (figure 7). In this latter case the correction converges at a slower rate but the null space gains one dimension. This is a concrete expression of the tradeoff we mentioned in section 2.2 . 3.3

The Coach-Trainee Metaphor

What does not appear in figure 2 is the correction process. Inverse kinematic control is limited to the small movement hypothesis to minimize the error induced by the linearization of the controlled system. For this reason, the correction process is a loop converging from the reference configuration to the corrected configuration by small increments. The more the reference motion sends an end effector into a half-space forbidden zone the longer the correction process (figures 3 and 5).

10

forbidden zone

a

c

Planar

e

d

b

1 dimension

Spherical

Cylindrical

half-space

f

1 or 2 dimensions

1,2 or 3 dimensions

Figure 4 : examples of basic half-spaces for cartesian corrections The solution is suggested in figure 5 by the continuity of the final corrected configurations. It should be possible to enforce the current correction from the previous corrected joint configuration. It is in general closer to the next corrected configuration than to the reference one. The idea is to duplicate the articulated structure with an associated parallel control. The first articulated structure is simply controlled by the reference motion and serves as a guide for the correction control over the second articulated structure. We will further refer to the reference motion as the coach motion and the corrected motion as the trainee motion. This coach-trainee metaphor is suggested by sport training as the adaptation of the coach reference movement into a trainee movement, being the closest possible with respect to a different context of body structure and/or cartesian constraints. It is quite different from the masterslave concept in the teleoperation field. Such a control structure implies the bilateral control of a slave articulated structure, either in joint or cartesian spaces but without special concern for the resulting slave joint motion [30]. Figure 6 illustrates a typical three phase progress of the coach-trainee metaphor in joint space. First, as no constraint needs to be carried out, both coach and trainee motions coincide and are driven by the coach control. Then, as the end effector violates a constraint, the trainee motion separates from the coach motion while tracking its configuration as a secondary task. Finally, when the constraint vanishes, the trainee simply tracks the coach configuration in joint space until they coincide again.

11

In Joint space Reference motion Last reference configuration tracking Final corrected configuration for current time step Intermediate configurations for current time step

Figure 5 : high cost of raw application of the correction no constraint

a constraint is enforced

The constraint has vanished

In Joint space Reference motion, or Coach

Corrected motion, or Trainee

Both Coach and Trainee coincide when there is no initial cartesian constraint

As the constraint has vanished, only the Coach configuration tracking controls the Trainee

Figure 6 : The coach-trainee metaphore The trainee correction control differs from the former correction control scheme in the following aspects. It provides a local solution in a one step prediction-correction process. The prediction is made from the previous corrected configuration and consists of the coach configuration tracking under the small movements hypothesis. It is exactly the secondary task presented in section 3.1. Then, in cartesian space, a correction of the trainee end effector is made only if the constraint is violated. In such a case, the cartesian situation tracking of the coach end effector pilots the trainee main task. This component is of course normalized so as to fullfill the small movement hypothesis. Furthermore, if the correction process does not succeed, it is re-evaluated over a half duration timestep and so on until the constraints are met. This scheme guarantees a solution as the prediction gets closer and closer to the previously corrected configuration. The local nature of the solution assures the continuity of the trainee motion but may, on the other hand, lead to a local minimum. Nevertheless, we

12 advocate the coach-trainee concept because the continuity requirement is of first importance for the resulting motion. Moreover, our approach is the kernel of a new editing methodology which permits incremental adjustment of the constraints so as to avoid such artefacts. A problem remains due to the discontinuous nature of the control at the boundary of a cartesian half-space constraint . When the constraint appears or vanishes for the trainee end effector, the control is simply switched from direct to inverse kinematic control, or vice versa, leading to a discontinuity in the joint variation solution (figure 6). For this reason, we now present a global control scheme including both direct and inverse kinematics for smooth control switching over a transition zone. 3.4

The transition function

Smooth control switching is appealing but how can we enforce it with half-space cartesian constraints ? Conducting inverse kinematic control until both end effectors and configurations coincide is not sufficient to implement continuous switching. Even in this case there is a discontinuity in the joint variation space solution due to switching from the null space projection to the full secondary task. An important related point is that such end effector tracking would also entail specifying a completely arbitrary cartesian trajectory as the main task. Such behaviour is incompatible with the aim of our method. The solution we offer is to confer a thickness on the boundary of the half-space constraints and to operate the smooth switching on the resulting transition zone (figure 7) by means of a transition function f. The formulation of the combined direct and inverse kinematic control scheme is given by the following equation (one dimensional constraint case) : ∆θ = J + (f ∆x + (1 - f) J ∆z) + (I-J + J) ∆z

with 0 ≤ f ≤ 1

(2) For the extreme values of f , this results in the following equations : f = 1

provides

∆θ = J + (∆x) + (I-J + J) ∆z

f = 0

provides

∆θ = J + J∆z + (I-J + J) ∆z

(equation (1))

= J + J∆z -J + J∆z + ∆z = ∆z (secondary task) When multiple constraints are defined, each constrained dimension is associated with one

13 transition function and the general form of the solution becomes : ∆θ = J + (F ∆x + (I - F) J ∆z) + (I-J + J) ∆z (3) where F is the diagonal matrix of the transition functions . 3.5

Evaluation of the Transition Function

This function must guarantee a smooth switching between direct and inverse kinematic controls. It is evaluated from the knowledge of two variables. First, the coach position relative to the transition zone provides the trainee goal, denoted d. Second, the trainee position relative to its goal provides the trainee deviation, denoted ∆ . Both d and ∆ variables are normalized by the transition zone thickness T (figure 7).

d ∆ T

T

Normalized Coach asTrainee goal

T

end effector Trainee

Normalized Trainee deviation

Coach

Transition zone thickness



transition zone

d d

∆ forbidden

Planar zone Cylindrical Figure 7 : Construction of the trainee goal and trainee deviation for the evaluation of the transition function for two mono-dimensional half-space constraints The trainee goal d is the coach end effector situation bounded by the transition zone. Whenever the coach end effector is outside the transition zone, the trainee goal is limited to the corresponding nearest side. The forbidden zone side is translated into the normalized value of d = 0 (and a black dot on figures 7 and 9) while the other "free" side gets d = 1. The trainee deviation ∆ is the difference between the trainee goal d and the trainee normalized situation (see figure 7 and 9). Only the ∆ range from -1 to 1 is interesting to evaluate f. Coach and trainee end effectors are on oppposite sides of the transition zone for the two boundary values.

14 Finally the transition function emerges quite logically as a step function f(d,∆) : f (d,∆) = 0 if ∆ < 0 and ∆ 0 and ∆ >= d (5) otherwise in the remaining domain, as a linear step function (figure 8a) : f (d,∆) = ∆ - d + 1 (6) A cubic step may be prefered to assures first order continuity to f (d,∆) at the boundaries of the domain (equations (4) and (5)). The resulting expression is (figure 8b) : f (d,∆) = [ -2 ]∆ 3 + [ 3(2d -1) ]∆ 2 + [ - 6d(d - 1) ]∆ + [ 2d 3 - 3d 2 + 1 ] (7)

f(d,∆)

f(d,∆)

1. ∆

1. ∆

1.

1.

0. 1.

0. -1.

d

a) Linear

1.

-1. d

b) Cubic

Figure 8 : Transition function evaluation : a) linear step

b) cubic step

The question of managing the main task and its related transition functions arises for the multiple end-effectors case as discussed below. 3.6

Multiple end-effectors management

We examine here the question of multiple end-effectors. This term denotes for us any point of interest attached to the trainee for which we desire a cartesian-based correction. As they are related to the same, or part of the same, articulated chain they may interfere with each other for the realization of their own corrected dimension. The solution we have retained is to consider all the dimensions specified by the end-effectors as one global main task. It does not prevent some dimensions from being dependent but it provides a global resolution of the

15 system with least square compromise for these dependent dimensions. 4

A low-level joint motion editing methodology

As already pointed out in section 3.1, the coach-trainee approach introduces a new methodology of joint motion editing. The idea is more to provide a refinement tool for “shaping” joint motions produced by other means than to design such joint motions from scratch (figure 9). Nevertheless, the refinement becomes part of the design phase if the trainee motion can be later considered as the coach motion for an additional constraint. Figure 9 shows the recorded trainee motion as an input to the key-frame system because it is the best suited module to later interpolate these data for a different sampling.

Key-frame System

Rotoscopy Process

Functional, Behavioural Models

joint space trainee

Interactive Acquisition

Other Generators

.

reference model Cartesian half-space constraints

coach Sampling Adaptation corrected motion

Coach-Trainee Control joint space

recording

Figure 9 : The Coach-Trainee Methodology of joint-space motion editing 5

Application to the correction of a functional walking model

In order to demonstrate the feasibility of the coach-trainee approach, we have particularly focused on the correction of a functional walking model [16]. This walking behaviour results from the interpolation of parameterized trajectories for all the key joints involved in the walking motion. It is interactively driven by the normalized free-walking velocity and can be characterized so as to design a wide range of gaits. As the trajectories were modelled from biomechanical studies over a large set of individuals, they represent an average motion pattern which introduces discrepancies when applied to a specific articulated figure (fig. 12). The combined control is applied to correct the foot motion during the supporting phase of the walking motion. The coach concept integrates the whole joint space motion of the articulated figure as produced by the functional model. The trainee duplicates the joint sub-space of the leg with the following active joints : hip, knee,ankle and toe flexion-extension. This sub-

16 space, with its dimensionality of four, is sufficient to enforce the correction control of one to two end effectors (figure 10), under one or two half-space constraints. The supporting floor was modelled with one planar half-space constraint with a transition zone (fig. 12, 13, 14).

Ankle flexion joint toe flexion joint heel end effector

toe end effector

Figure 10 : Position of the end effectors relative to the foot. An asymetrical continuity mode was introduced to respect the discontinuity of the "heelstrike" phase. In this mode the application of the full control scheme of equation (3) is delayed until one transition function rises to the inverse kinematics limit (see 3.4). Figure 11 indicates the default mode corresponding to equation (3) and summarizes two other modes if some degree of discontinuity is necessary to fullfill expressivity requirements.

direct kinematic control (coach tracking only) out in combined direct and inverse kinematic control

control continuity full continuity asymetrical continuity full discontinuity

in

validation

out

There is at least one f > 0.

All f = 0.

There is at least one f = 1.

All f = 0.

There is at least one f = 1.

All f < 1.

Figure 11 : Three modes to customize the control continuity Results presented on figures 12, 13 and 14 are shown at constant time intervals for a constant walking speed. The toe and heel end effectors are represented with a small blue cross. The forbidden zone boundary is a blue line and the “free” zone boundary is an orange line. In figure 12 the green line is a reference attached to the floor. It highlights a backward sliding of the trainee as the floor half-space constraint is enforced. For this reason a vertical half-space constraint is periodically added to prevent the sliding as shown on figure 13. Finally, figure 14 shows the multiple end-effector case with two dependent dimensions. For all cases, even with a two-dimensional main task, the trainee control captures most of the coach dynamic behaviour and assures a continuous switching to direct kinematics. Figure 12 : (slide A) one end effector with one constraint Figure 13 : (slide B) one end effector with 2 constraints Figure 14 : (slide C) two end effectors with one constraint

17

6

Conclusion

We have proposed a new kinematic control scheme which fully combines direct and inverse kinematics. Associated with half-space cartesian tasks and the coach-trainee metaphore, it has proven to be suited for the correction of joint space motions. Consequently, it enlarges greatly the generality of such descriptions which are more adapted for capturing the intrinsic dynamics of the motion of articulated figures. Moreover, as introduced with the joint motion editing methodology, the correction can be incremental within a refinement loop, and so becomes part of the motion design phase itself. This motion “shaping” process has been demonstrated for the human walking model and will be evaluated for other joint motion generators within a general purpose animation system. 7

Acknowledgements

Special thanks to Roberto Maiocchi for constructive remarks and to Russell Turner for reviewing this paper. This research was supported by the Swiss National Foundation. 8

References

1. E. Kreighbaum and K.M. Barthels, “Introduction to biomechanics instrumentation”, pp. 665-693 in Biomechanics, a qualitative approach, third edition, Macmillan Publishing Company, New-York (1990). 2. G. Ferrigno and A. Pedotti, “ELITE : a Digital dedicated hardware system for movement analysis via real-time TV signal processing”, IEEE Trans. on Biomedical Engineering, 32(11), pp. 943-950 (1985). 3. R. Assente, G. Ferrigno, A. Pedotti and R. Rodano, “Application in sports of the ELITE : A system for real time processing of TV signals”, pp. 324-335 in Biomechanics III & IV, Terrauds J, Govitzke B & Holt L (ed.), Academic Publishers, Del Mar CA (1987). 4. V. Macellari, M. Rossi and M. Bugarini, “Human motion monitoring using the CoSTEL system with reflectiv markers”, pp. 260-264 in Biomechanics X-B, Jonsson (ed.), Champaign IL (1987). 5. BTS Bioengineering Technology and systems, “ELITE System”, motion analyser feature note, Milano (1991).

18

6. F. Balaguer and A. Mangili, “Virtual Environments”, pp. 91-105 in New Trends in Animation and Vizualization, Wiley professional computing, Chistester (1991). 7. R. Maiocchi and B. Pernici, “Directing an Animated Scene with Autonomous Actors”, Computer Animation 90, Springer Verlag Tokyo, Geneva (1990). 8. M. Unuma and R. Takenchi, “Generation of Human motion with Emotion”, Computer Animation 91, Springer Verlag Tokyo, Geneva (1991). 9. T.W. Calvert, C. Welman, S. Gaudet, T. Schiphorst and C. Lee, “Composition of multiple figure sequences for dance and animation”, Visual Computer, 7(2-3), (1991). 10. M. Girard and A.A. Maciejewski, “Computational Modeling for Computer Generation of Legged Figures”, SIGGRAPH '85 Computer Graphics, 19(3), pp. 263-270, (1985). 11. D. Kochanek and R. Barthel, “Interpolating Splines with local tension, Continuity and Bias control” , SIGGRAPH ‘84 Computer Graphics, 18(3), pp. 33-41, (1984). 12. D. Zeltzer, “Motor control techniques for figure animation,” IEEE CGA, 2(9), pp. 5359 (1982). 13. D. Zeltzer and K. Sims, “A Figure Editor and Gait Controller to Task Level Animation”, SIGGRAPH '88 Tutorial Notes on Synthetic Actors: the Impact of A.I. and Robotics on Animation., (1988). 14. M. Girard “Interactive Design of 3D Computer-animated Legged Animal Motion”, IEEE Computer Graphics and Applications, 7(6), pp.39-51 (1987). 15. H. Rijpkema and M. Girard, “Computer animation of knowledge-based human grasping”, SIGGRAPH '91 Computer Graphics , 25(4), pp. 339-348 (1991). 16. R. Boulic, D. Thalmann and N. Magnenat-Thalmann, “A Global Human Walking Model with Real-Time kinematic Personification”, Visual Computer, 6(6), pp 344-358 (1990).

19

17. M. Girard, “Constrained optimization of articulated animal movement in computer animation”, in Making them move (mechanics, control and animation of articulated figures), Morgan Kaufmann Publishers, (1990). 18. A. Bruderlin and T.W. Calvert, “Goal directed, dynamic animation of human walking”, SIGGRAPH '89 Computer Graphics, 23(3), pp. 233-242 (1989). 19. M.H. Raibert and J.K. Hodgins, “Animation of dynamic legged locomotion”, SIGGRAPH '91 Computer Graphics, 25(4), pp. 349-358 (1991). 20. M. McKenna and D. Zeltzer, “Dynamic simulation of autonomous Legged Locomotion”, SIGGRAPH ‘90 Computer Graphics , 24(4), pp. 29-38 (1990). 21. R. Paul, “Robot manipulators mathematics programming and control”, The MIT Press, (1981). 22. T.N.E. Greville ”Some applications of the pseudoinverse of a matrix”, SIAM Review, 2(1), pp. 15-22 (1960). 23. A. Liégeois “Automatic supervisory control of the configuration and behavior of multibody mechanisms”, IEEE Transactions on Systems, Man, and Cybernetics, 7(12), pp. 868-871 (1977). 24. A. Fournier “Génération de mouvement en robotique, application des inverses généralisées et des pseudo-inverse”, thèse d'état, USTL Montpellier, (1980). 25. P. Borrel “Contribution à la modélisation géométrique des robots manipulateurs ; application à leur conception assistée par ordinateur”, thèse d'état, USTL Montpellier, (1986). 26. T. Yoshikawa, “Manipulability of robotics machanisms”, International Journal of Robotics Research, 4(2), (1985). 27. C.A. Klein, “Use of redundancy in the design of robotic systems”, 2nd ISRR, Kyoto (1984).

20

28. A.A. Maciejewski, “Obstacle avoidance for kinematically redundant manipulators”, M.S. thesis, the Ohio State University, Dept of Engineering, Colombus (1984). 29. B. Espiau, R. Boulic, ”Collision Avoidance for Redundant Robots with Proximity Sensors”, 3rd International Symposium of Robotic Research, Gouvieux (1985). 30. R. Boulic, “Conception assistée par ordinateur de boucle de commande avec capteurs en robotique et en téléopération”, thèse de docteur-ingénieur, Rennes I, (1986). 31. J. Zhao and N.I. Badler, “Real-time inverse kinematics with joint limits and spatial constraints”, Internal Report MS-CIS-89-09, University of Pennsylvania, Philadelphia, (1989). 32. C. Phillips, N.I. Badler, “Interactive behaviors for bipedal articulated figures”, SIGGRAPH '91 Computer Graphics, 25(4), (1991). 33. A.A. Maciejewski “Dealing with Ill-Conditioned Equations of Motion for Articulated Figures”, IEEE Computer Graphics and Applications, 10(3), pp. 63-71 (1990). 34. R. Maiocchi, “A knowledge-based approach to the synthesis of human motion”, IFIP TC5 " Modelling in computer graphics", Tokyo (1991). 35. A.J. Stewart and J.F.Cremer, “Algorithmic Control of Walking”, IEEE ICRA, pp. 1598-1603, (1989). 36. C.A. Klein and C.H. Huang, “Review of pseudo inverse control for use with kinematically redundant manipulators”, IEEE trans. on SMC, 13(3), (1983).