
An inverse kinematics method for 3D figures with motion data Taku Komura, City Univercity of Hong Kong, [email protected] Atsushi Kuroda, GSport Inc, [email protected] Shunsuke Kudoh, University of Tokyo, [email protected] Tai Chiew Lan, Hong Kong University of Science & Technology,[email protected] Yoshihisa Shinagawa, University of Illinois at Urbanna Champaign, [email protected] Abstract kinematics control. In this paper, we propose a new in- verse kineatics method to interactively control 3D multi- This paper presents a new inverse kinematics method body characters together with motion data. First, we ex- that utilizes the motion data for realtime control and edit- tract the characteristics of the motion by calculating the ing. The key idea is to extract parameters necessary for weight matrix and the relative velocity of the end effec- inverse kinematics from the motion data. These parameters tors ”throughout the animation sequence”. Then, users are are the weight matrix, which determines the motion of the allowed to pick and drag some body segments in a frame redundant joints, and the transformation functions that de- using the mouse. The motion of the entire body is then fine the motion of the end effectors. User can control the determined by the pre-calculated parameters. Since the re- motion by dragging a body segment using a mouse, and the sponse of the character is based on characteristics extracted method calculates the new motion using the pre-computed from the motion data, the character posture is edited while parameters. The method enables interactive editing, warp- retaining the basic features of the motion. With realtime ing, and retargeting character motions. response, the method is suitable as a user interface for inter- Keywords: inverse kinematics, motion capture, human an- active manipulation of 3D contents. imation 2 Related Work 1 Introduction Inverse kinematics is one of the oldest methods for in- teractively control of 3D multibody systems. Researchers Interactive graphics tools are attractive means for design in the robotics area used inverse kinematics to control robot and communication. However, despite their attractiveness, manipulators. As the demand for creating 3D character an- interactive technologies for 3D graphics such as VRML and imation increased, inverse kinematics method plays an im- Java3D, have been slow in gaining popularity. The follow- portant role in determining the keyframe postures of such ing are two main reasons. First, broadband internet is not characters. widely available for users to download large data sets. Sec- Phillips et al [6] created an interactive inverse kinemat- ond, interactive technologies for handling complex 3D char- ics system that can handle multiple constraints. They later acters in cyberspace have not been well developed. extended it to control bipedal articulated figures [5]. Zhao Inverse kinematics is one of the most popular method for and Badler [11] proposed a numerical inverse kinematics interactive control of hierarchical characters in 3D space. It method for determining the human posture, which is also addresses the problem of calculating the joint angles of the applicable to any tree structured system. Mas et al [4] and body segments given the motion of some body segments in Boulic et al [1] proposed an inverse kinematics method that 3D space. As the degree of freedom of the character is usu- allows the control of the center of mass, Koga et al [2] cre- ally larger than the degree of freedom of the motion spec- ated a motion planning system for the arms that can move ified by the user in cyberspace (usually 2 or 3), this is an objects from one position to another. They used an inverse under-constrained problem, which has infinite number of kinematics algorithm based on neurophysiology to deter- solutions. mine the joint angles of the arms and shoulders from the Although many methods have been proposed to solve in- position of the hands. verse kinematics problems, very little research tried to ex- These days, it is becoming more popular to use the mo- tract features out of motion data for application in inverse tion capture device to create human animation. In this pa- 1 Proceedings of the Computer Graphics International (CGI’03) 1530-1052/03 $17.00 © 2003 IEEE per, we propose a new motion control method based on in- Inverse kinematics problem can be defined as follows: verse kinematic. It allows motion to be edited while re- Problem: When segment i moves from (P0,Θ0 ) to (P0 + s is is is taining the essence of the motion data attached to the body ∆P,Θ0 +∆Θ), how do the values of the state vector change? is model. There have been research efforts that use motion This problem is redundant, because n, the DOF of the body, capture data to solve inverse kinematics problem. They is larger than the dimension of (∆P,∆Θ), which is six. The come under two categories. relationship between (∆P,∆Θ) and the incrementation of One category uses the motion data to define a function the state vector can be written in the following form: that determines the relationship between the position of the ∆ end effectors and the redundant joint angles[10, 7]. Wi- P = ∆θ. ∆Θ J (1) ley et al[10] synthesized the target posture by interpolat- ing various similar postures in the database. Their method The set of ∆θ that satisfies equation (1) can be written in D requires O(2 ) examples to create the motion, where D is the following form: the number of postures of the human figure. Rose et al[7] ∆ improved this performance by reducing the number of ex- ∆θ = + P +( − + ) J ∆Θ I J J k amples needed to O(D). A limitation of this method is that a great amount of motion similar to the target posture must where k is an arbitrary vector, and J+ is called the pseudo be prepared in advance. inverse matrix of J, which can be calculated by Another category uses only a single motion data to solve + − the redundancy problem of inverse kinematics. Tak et al[8] J =(JT J) 1JT . solved the redundancy problem and then calculated the tra- Whitney [9] proposed a method to solve the inverse kine- jectory of the end effectors so that the posture of the body matics problems by optimizing a quadratic form which can resembles the posture in the original motion. Our method be written as: also comes under this category. However, in contrast to the approach in [8], we extract the feature of the motion at the Q(∆θ)=∆θ TW ∆θ moment the user controls the model, and apply it to solve × the redundancy problem and move the end effectors. There- where W is a n n positive definite symmetric matrix, that fore, although the approach by [8] is superior for retargeting is called the weighting matrix. ∆θ that optimizes this form can be obtained by motion, our approach has an advantage in creating new pos- tures that retain the feature of the original motion. ∆ ∆θ = −1 T ( −1 T )−1 P . W J JW J ∆Θ (2) 3 Inverse Kinematics Therefore, + ∆P Let us specify the posture of the human body model by ∆θ = J the vector with degree of freedom (DOF) of the model: ∆Θ θ =(θ ,θ ,...,θ ) gives a solution that minimizes the norm of ∆θ. 0 1 n−1 For example, the state vector of a 4DOF robot manipula- where n is the DOF of the human body. Let us also represent θ =(θ ,θ ,θ ,θ ) tor shown in figure 3 can be written by 0 1 2 3 the position and rotation of body segment i in Cartesian θ s where i is the joint angle of joint i. In this case, the weight- space by ing matrix is a 4 × 4matrix. W ,W (P ,Θ ). If the following two matrices 1 2: is is 10 0 0 0 0.10 00 where P is a three dimensional vector for segment is’s po- is 0100 0 00.10 0 sition, and Θ is the euler angle vector. Suppose the current W = ,W = is 1 000.10 2 00100 state of the body is 00 00.1 00010 θ =(θ 0,θ 0,...,θ 0 ), 0 0 1 n−1 are used as the weighting matrix to move the end effector and the state of segment is is of this manipulator to the left, the joint angles of the system would change as shown in right side of figure 3. This means (P0,Θ0 ). is is that the incrementation of joint angle j is determined by ( j, j) Obviously, the state of segment i is a function of the body’s the value of element of the weighting matrix. When s ( j, j) state vector: the value of element is large compared with the other elements, the incrementation of joint angle j is small. On (P0,Θ0 )=g(θ 0,θ 0,...,θ 0 ). the other hand, if it is small, the incrementation is large. is is 0 1 n−1 2 Proceedings of the Computer Graphics International (CGI’03) 1530-1052/03 $17.00 © 2003 IEEE Joint3: w=0.1 # where W is the weighting matrix, Jall is a matrix that verti- Joint2:w=0.1 cally lined the Jacobian matrix of all the end effectors: and Joint1:w=10 r˙ is a vector that vertically lined down the velocity of the Joint0:w=10 end effectors in the cartesian space: Joint3: w=10 r˙ =(P˙0,Θ˙ 0,···P˙m−1,Θ˙ m−1)T Joint2:w=10 i i i i Joint1:w=0.1 Think about solving for the weighting matrix using equa- Joint0:w=0.1 tion 4.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-