Fast Dynamic Simulation of Multi-Body Systems Using Impulses

Size: px
Start display at page:

Download "Fast Dynamic Simulation of Multi-Body Systems Using Impulses"

Transcription

1 Fast Dnamic Simulation of Multi-od Sstems Using Impulses Jan ender and lfred. Schmitt Institut für etriebs- und Dialogssteme, Universität Karlsruhe, German {jbender, bstract dnamic simulation method for multi-bod sstems is presented in this paper. The special feature of this method is that it satisfies all given constraints b computing impulses. In each simulation step the joint states after the step are predicted. In order to obtain valid states after the simulation step, impulses are computed and applied to the connected bodies. Since a valid joint state is targeted eactl, there is no drift as the simulation proceeds in time and so no additional stabilisation is required. In previous approaches the impulses for a multi-bod sstem were computed iterativel. Since dependencies between joints were not taken into account, the simulation of comple models was slow. novel method is presented that uses a sstem of linear equations to describe these dependencies. solving this tpicall sparse sstem the required impulses are determined. This method allows a ver fast simulation of comple multi-bod sstems. Categories and Subject Descriptors (according to CM CCS): I.3.7 [Computer Graphics]: nimation 1. Introduction There are man applications for the simulation of realistic mechanical behaviour, for eample computer animation, virtual realit or the simulation of robots. It depends on the purpose of the application, if the simulation has to be ver accurate or ver fast or if a trade-off between accurac and speed is needed. Usuall a computer animation does not need the same degree of accurac as the simulation of robots but it must run fast, whereas the simulation of a robot ma run even several hours but the result must be accurate. For virtual realit applications it is necessar that the simulation alwas runs in real-time. Otherwise the virtual world appears less realistic. dnamic simulation method has to support man different joint tpes to simulate comple models, like e.g. a robot in a virtual environment. For the simulation of such models in real-time the method has to be ver fast. In this paper a fast simulation method for multi-bod sstems containing all kinds of joints is presented. ll constraints are satisfied b appling impulses. Collisions and contacts are resolved b using the method presented in [S06]. Impulse-based methods for the dnamic simulation of multi-bod sstems are eas to implement and ver fast [FS05, WTF06]. nother advantage of using impulses is that impulses change the velocities of the bodies directl. Hence no integration of continuous constraint forces is needed to determine the new positions of the bodies in a time step. These impulse-based methods work as follows. For ever joint in the sstem a prediction of the joint state after the net simulation step is made. If the predicted joint state is not valid, an impulse is computed and applied in order to correct this. In an iterative process the computation of these correction impulses is continued until all predicted joint states in the sstem are valid. Then a simulation step is performed. If there eist velocit constraints that are not satisfied after the simulation step, the are solved b iterativel computing impulses. Since the impulse-based methods compute impulses in order to eactl obtain a valid joint state, no numerical drift occurs as the simulation proceeds in time. Rachel Weinstein et al. [WTF06] combined their impulse-based dnamic simulation with the collision and contact handling algorithm of Eran Guendelman et al. [GF03]. Therefore the changed the tpical order of a simulation step. With their method the are able to simulate comple scenes and attain visuall plausible results. The method presented b Jan ender et al. in [FS05] is fast and provides accurate results. In [S05] the accurac of this method is compared to reduced coordinate (generalised coordinate) and Lagrange

2 2 J. ender &. Schmitt / Fast Dnamic Simulation of Multi-od Sstems Using Impulses multiplier methods. The proof that this impulse-based dnamic simulation method converges towards the eact solution is given in [SP05]. The main difference between the methods of Weinstein et al. and ender et al. lies in the wa the correction impulses are computed that are needed in order to obtain a valid joint state. In the first method, in each iteration a prediction of the joint state is made first. Then a black bo model [SNTH03,WG01] is used to project the predicted state to a desired state. Finall a nonlinear equation is solved with Newton iteration to determine the impulse that is required to reach the desired joint state. The method of ender et al. uses a simplification instead of solving a nonlinear equation. Dependent on the predicted joint state an approimation of the required velocit change of the bodies is made. n appropriate impulse that causes eactl this velocit change is computed and applied. Since an approimation is used, the computation of impulses is continued in an iterative process which ends, when a valid joint state is reached. Velocit constraints are handled in a similar wa in the methods of Weinstein et al. and ender et al. ender et al. describe their method onl for a spherical joint. In this paper, their method is etended in order to simulate several kinds of joints in an uniform wa. It is shown how si basic joint tpes are simulated with their method. With these basic joints it is possible to remove all combinations of translational and rotational degrees of freedom between two rigid bodies. fter the basic joints are introduced, combinations of these joints are discussed. using a combination of two basic joints in a simulation all kinds of joints can be simulated. Since the method uses the simplification described above and therefore onl linear equations have to be solved, the equations can also be written as a sstem of linear equations. In the same sstem dependencies between joints in a multi-bod sstem can be described. ecause of the approimations that are used, the sstem of linear equations must be solved multiple times until all joints get a valid state. ut since the dependencies between the joints are taken into account, less impulses must be determined. Especiall the accurate simulation of comple models with man joints runs much faster with the method presented in this paper. The goal of the presented method is to perform a fast and accurate simulation. 2. Related work There eist several further methods for the handling of joint constraints in a dnamic simulation. The most important are the penalt method [dj94], the Lagrange multiplier method and the simulation with reduced coordinates. The penalt method is eas to implement but it satisfies the constraints not eactl and is slow if a high degree of accurac is required. The dnamic simulation with Lagrange multipliers is more complicated to implement. The internal forces that act in the joints are computed b solving a sstem of linear equations. David araff presented an algorithm which can solve this sstem in linear time [ar96]. fter the forces are computed, a sstem of differential equations must be integrated twice to get the new positions of the rigid bodies. The Lagrange multiplier method has a drifting problem which can be solved b an additional stabilisation, for eample b the one proposed b aumgarte [au72] or b post-stabilisation techniques [sc97]. surve of stabilisation techniques can be found in [Chi95, CR95]. Reduced coordinates are a set of unconstrained independent coordinates. Holonomic constraints can be epressed in terms of these coordinates. The number of reduced coordinates is equal to the number of degrees of freedom of the simulated sstem. The determination of a set of such coordinates for sstems without loops is well known [Fea87]. The advantages of the method are that the constraint forces do not need to be computed eplicitl and no drift problems occur. The disadvantages are that nonholonomic constraints cannot be epressed in terms of reduced coordinates and it is hard to find these coordinates for sstems with loops. The goal of the methods mentioned above is to obtain accurate results. In contrast to that, Ronen arel et al. discuss plausible motion in [HW96], since a high degree of accurac is not necessaril required for most computer animations. Stephane Redon et al. propose an adaptive algorithm for the simulation of articulated bodies [RGL05]. The algorithm approimates the motion of the bodies b automaticall determining a set of active joints whereas the other joints are treated as rigid. this approimation large-scale simulations of man articulated bodies can be accelerated. 3. Simulation of an unconstrained rigid bod In the dnamic simulation a rigid bod is defined b si parameters. The parameters of the translational motion are: the mass m, the position of the centre of mass C(t) and the velocit v(t). The rotational parameters are: the inertia tensor J in bod-space coordinates, a unit quaternion q(t) that describes the orientation of the bod [Sho85] and the angular velocit ω(t). If the geometr of a rigid bod with uniform mass distribution and its mass are known, the inertia tensor of this bod can be computed with the algorithm presented b rian Mirtich in [Mir96a]. Unit quaternions are used instead of rotation matrices to represent the rotation of all rigid bodies in the simulation because the numerical error that occurs during the simulation is smaller [ar97]. The motion of an unconstrained rigid bod has si degrees of freedom. It depends on the actual state of the bod as well as on the eternal forces (e.g. gravit) and torques acting on the bod. The dnamic simulation of a rigid bod is done in discrete time steps. The parameters of the bod must be known at the beginning of a time step (at time t 0 ) and a time step sie h must be given to compute the parameters at time t 0 + h. ecause the mass and the inertia tensor in bod-space coordinates are constant over time, onl four

3 J. ender &. Schmitt / Fast Dnamic Simulation of Multi-od Sstems Using Impulses 3 parameters have to be computed for time t 0 + h. In the following let us assume that the sum of all eternal forces F et and the sum of all eternal torques τ et are constant during the time step. In this section the handling of joint constraints between two rigid bodies is discussed. The simulation of a joint works as follows (see figure 1). In ever simulation step, the joint state is evolved forward in time to obtain the joint state after the simulation step. If this predicted joint state does not satisf the joint constraint, the error that occurred is determined. In the case of an error, it is approimated how the velocities of the connected bodies must change to eliminate this error. n impulse is computed that causes eactl the approimated velocit change and it is applied at the beginning of the simulation step. The whole procedure is continued in an iterative process until the error vanishes and the constraint is satisfied for the predicted joint state. Then a simulation step can be done as described in section 3. Due to the changed velocities of the bodies, the joint constraint will be satisfied after the simulation step. The iterative computation of joint impulses converges towards the eact solution (the proof can be found in [SP05]). Velocit constraints are satisfied after the simulation step b appling an impulse. Since the required velocit change is known in the case of such a constraint, the impulse can be determined at once. The position of the centre of mass and the velocit at the end of a time step can be computed b integrating the acceleration due to the eternal force F et: h C(t 0 + h) = C(t 0 )+ 0 = C(t 0 )+v(t 0 )h+ 1 2 h F et v(t 0 + h) = v(t 0 )+ 0 m v(t 0 )+ Fet m t dt F et m h2, (1) dt = v(t 0)+ Fet h. (2) m To compute the rotation at time t 0 + h the following differential equation for the unit quaternion q(t) has to be solved: q(t) = 1 ω(t) q(t) (3) 2 where ω(t) is the quaternion [0,ω,ω,ω ]. The solution of the differential equation can be computed b numerical integration. In this work the fourth order Runge Kutta method is used for numerical integration. The change of the angular velocit during the time step can be computed b numericall integrating ω(t) = J 1 (τ et (ω(t) (J ω(t)))) (4) in bod-space coordinates. simulation step of an unconstrained rigid bod can be done b solving the four equations above. The net section describes how constraints between rigid bodies can be simulated. 4. Simulation of constraints Figure 1: Simulation step In this section first some definitions are introduced that are needed for the computation of constraint impulses. Then three translational and three rotational joint constraints are presented. It is shown that b combining these si constraints ever kind of joint can be created. In the beginning onl sstems with a single constraint are regarded. fter that the simulation of sstems with multiple constraints is eplained. Closed kinematic chains must be treated in a special wa and are discussed separatel asics In the following let J i be the inertia tensor in world space of the rigid bod with the inde i. The cross product matri a of a vector a is defined as follows: 0 a a a = a 0 a, a b = a b. a a 0 The velocit of a point P of the i-th rigid bod is given b u P (t) := v i (t)+ω i (t) (P(t) C i (t)). Let P(t) and Q(t) be two arbitrar points of the i-th rigid bod in world space and let r P (t) = P(t) C i (t) and r Q (t) = Q(t) C i (t) be the vectors from the centre of mass to these points. If an impulse p is applied at Q(t), the change u P (t) of the point velocit of P(t) can be computed with the following matri K P,Q (t): K P,Q (t) := { 1mi I 3 r P(t) u P (t) = K P,Q (t) p Ji 1 (t)rq (t) if bod i is dnamic 0 otherwise

4 4 J. ender &. Schmitt / Fast Dnamic Simulation of Multi-od Sstems Using Impulses where I 3 is the 33 identit matri. The matri L i (t) is used to determine the change of the angular velocit ω i (t), if an angular momentum l is applied to a rigid bod i: L i (t) := { ω i (t) = L i (t) l. Ji 1 (t) if bod i is dnamic 0 otherwise Two more matrices are needed to describe the dependencies between an impulse and the angular velocit and between an angular momentum and the point velocit. Let P(t) be an arbitrar point of rigid bod i in world space and let r P (t) = P(t) C i (t) be the vector from the centre of mass to this point. Then the change of the angular velocit ω i (t) of the bod when appling an impulse p at the point P(t) is: { J 1 W i,p (t) := i (t) rp(t) if bod i is dnamic 0 otherwise ω i (t) = W i,p (t) p. The velocit of point P(t) changes b u P (t) if an angular momentum l is applied to the i-th rigid bod: { r U P,i (t) := P(t) J i 1 (t) if bod i is dnamic 0 otherwise u P (t) = U P,i (t) l Translational joint constraints In this subsection a simulation step with a single translational joint is described. Sstems with multiple joints are discussed in section 4.5. It is assumed that each joint constraint is satisfied at the beginning of a simulation step (at time t 0 ). Then impulses are computed in order to satisf the constraints at the end of the step. (a) (b) Figure 2: Degrees of freedom of the translational joints translational constraint removes onl translational degrees of freedom. For eample a spherical joint (see figure 2(a)) connects a point of a bod to a point of another bod. The effect of the joint constraint = 0 is that the two bodies can onl rotate around this position. This results a (c) b a in the removal of three translational degrees of freedom of the sstem. If both rigid bodies of this joint are simulated without regarding the constraint (see section 3), the joint points will drift apart during the simulation step as shown in figure 3. The goal of the presented dnamic simulation is to find an impulse p jc for the time t 0 that eliminates the distance d between the two points at the end of a simulation step. The impulse has to be applied with a positive sign to the first point and with a negative sign to the second point to avoid a gain of energ in the sstem. The computation of this impulse is called the joint correction. In the following, first the computation of this joint impulse is eplained for a spherical joint and then a modification of the introduced equations is presented to simulate joints which remove less translational degrees of freedom. rigid bod 1 d p jc p jc rigid bod 2 Figure 3: Impulses for a spherical joint efore the joint impulse p jc can be computed, the distance d between the two joint points at the end of the simulation step must be known. If the parameters of a bod i and the position of a point fied to this bod are known at time t 0, the direction of the vector r(t 0 ) = (t 0 ) C i (t 0 ) at time t 0 + h can be determined b solving the following differential equation with the forth order Runge Kutta method: ṙ(t) = ω i (t) r(t). (5) If the position of the centre of mass at the end of the simulation step is determined b using equation 1, the new position of the point can be computed b (t 0 + h) = r(t 0 +h)+c(t 0 +h). Since the new positions of the two joint points can be determined, the distance between them at the end of the simulation step is d(t 0 + h) = (t 0 + h) (t 0 + h). Now an impulse p jc must be computed to eliminate the distance between the two points within one time step of sie h. Since the points have tpicall a nonlinear motion, the required impulse can be determined b solving a nonlinear equation iterativel [WTF06]. In this work a simplification was used. If the relative velocit of the two points is changed

5 J. ender &. Schmitt / Fast Dnamic Simulation of Multi-od Sstems Using Impulses 5 b d(t 0 + h)/h as if the relative motion of the points is linear, the resulting impulse will reduce the distance d(t 0 + h), but in general it will not eliminate it completel. The computation of such impulses is continued iterativel until the distance d(t 0 + h) vanishes within a tolerance. In practice the time step sie h is normall at most 0.04 s (25 frames per second). In several tests with h = 0.04 s the desired impulse was computed. In most cases one or two iteration steps were needed even with a small tolerance of 10 6 m. More iterations were onl needed, if the connected bodies had ver high velocities. The advantage of the introduced simplification is that the equation for the required impulse is linear and can be solved easil. The impulse that changes the relative velocit of the two points b d(t 0 + h)/h must be applied with a positive sign to point and with a negative sign to point. This impulse can be computed b solving the following equation: K, (t 0 ) p jc K, (t 0 ) ( p jc ) = 1 h d(t 0 + h). The matri K(t 0 ) := K, (t 0 )+K, (t 0 ) is constant at time t 0, nonsingular, smmetric and positive definite (the proof can be found in [Mir96b]). Hence the equation can be solved b inverting the matri K(t 0 ): p jc = 1 h K(t 0) 1 d(t 0 + h). (6) Impulses are computed iterativel with equation 6 until the distance vanishes. In each iteration the distance d(t 0 + h) must be updated. The impulses are applied at the beginning of the time step (at time t 0 ). When the iteration ends, a simulation step for unconstrained motion (see section 3) can be done and the joint constraint will be satisfied at time t 0 + h due to the changed velocities. fter the simulation step it is not guaranteed that the velocities of the two joint points are equal. velocit difference u(t 0 + h) = u (t 0 + h) u (t 0 + h) between the two joint points can be corrected b appling the following impulse at time t 0 + h: p vc = K 1 (t 0 + h) u(t 0 + h). (7) The velocit change caused b this impulse eliminates the difference u(t 0 + h) immediatel. This is called the velocit correction. The computation of an impulse in order to correct the velocities is not absolutel necessar for the dnamic simulation because the joint impulse of the net simulation step will solve the problem as well, but a higher degree of accurac can be achieved. ll translational degrees of freedom are removed between the connected bodies b the impulses computed above and in this wa a spherical joint can be simulated. The net kind of joint removes onl two translational degrees of freedom (see figure 2(b)). This joint is defined b a line + λa which is fied to the first bod and a point which is fied to the second bod. The point of the second bod can move freel on the line of the first bod. Each time before an impulse is computed the point is moved on the line to the position where it has the smallest distance to the point. This is necessar to obtain a phsical correct result. The impulses for this joint can be computed b projecting equation 6 and 7 in the two-dimensional space. Let b and c be two linearl independent vectors perpendicular to the given vector a. These vectors correspond to the two degrees of freedom that should be removed. The twodimensional joint impulse is then computed b solving the following equation in an iterative process until the distance Pd(t 0 + h) vanishes: PK(t 0 )P T p jc = 1 h Pd(t 0 + h) (8) ( b T) where P = c T Ê 2 3 is the projection matri. The three-dimensional joint impulse p jc is given b p jc = P T p jc. Equation 7 is also projected onto the plane spanned b b and c to compute the two-dimensional impulse for the velocit correction at once: P K(t 0 + h)p T p vc = P u(t 0 + h). (9) This impulse must be transformed in world space before appling it to the bodies. The last translational joint removes one degree of freedom (see figure 2(c)). The joint is defined b a plane +λa+µb that is fied to the first rigid bod and a point that is fied to the second bod. The joint allows to move freel in the plane of the first bod. In order to obtain a phsical correct result the point is moved in the plane to the position where it has the smallest distance to the point before an impulse is computed. The normal vector of the plane is given b c = a b. This joint can be realised b using the projection matri P = ( c T) Ê 1 3 in equations 8 and 9 and solving them as described for the last joint. The impulses for a spherical joint can also be computed b solving equations 8 and 9 if the projection matri P is the identit matri. In conclusion all translational joint constraints can be satisfied b computing impulses with these two equations Rotational joint constraints In this subsection three rotational joints are discussed which remove one, two or three rotational degrees of freedom. In ever simulation step an angular momentum l jc is determined to satisf the joint constraint at the end of the time step and another angular momentum l vc is computed to correct the difference between the angular velocities of the connected bodies at the end of the simulation step.

6 6 J. ender &. Schmitt / Fast Dnamic Simulation of Multi-od Sstems Using Impulses (a) (b) Figure 4: Degrees of freedom of the rotational joints The first rotational joint that is discussed removes all rotational degrees of freedom between two rigid bodies (see figure 4(a)). This means that the bodies can move freel in all directions but are not allowed to rotate relative to each other. efore an angular momentum l jc for the joint correction can be computed, the error that occurs, if both bodies are simulated without an constraint, must be determined. If q 1 (0) and q 2 (0) are the rotation quaternions of two rigid bodies at the beginning of the simulation, then the change of the relative rotation at time t 0 + h is described b the following quaternion: q(t 0 +h) = (q 2 (0) 1 q 2 (t 0 +h)) 1 (q 1 (0) 1 q 1 (t 0 +h)). The rotation quaternions of the bodies at time t 0 + h can be determined b solving the differential equation 3. The quaternion q(t 0 +h) is converted to a rotation ais a(t 0 +h) and an angle α(t 0 + h). n angular momentum l jc must be computed that eliminates the rotation d(t 0 + h) = α(t 0 + h)a(t 0 + h) within one time step of sie h. The same simplification is used as the one introduced for the translational joints. n angular momentum is determined that changes the relative angular velocit of the connected bodies b d(t 0 + h)/h as if the relative rotator motion of the bodies is linear. The required angular momentum l jc is obtained b computing such angular momenta in an iterative process until d(t 0 + h) vanishes within a tolerance. The following equation must be solved to determine the angular momentum that changes the relative angular velocit of the bodies b d(t 0 + h)/h within one time step of sie h: a 1 a 2 (c) (L 1 (t 0 )+L 2 (t 0 )) l jc = 1 h d(t 0 + h). (10) Since the inertia tensor of a rigid bod and its inverse are smmetric and positive definite [Mir96b], L(t) = L 1 (t) + L 2 (t) is also smmetric and positive definite, if at least one of the two bodies is dnamic. This implies that L(t) is nonsingular and the equation can be solved b inverting the matri L(t 0 ). t the end of the time step the difference between the angular velocities ω(t 0 + h) = ω 2 (t 0 + h) ω 1 (t 0 + h) must b a be eliminated b appling an angular momentum l vc. This is determined at once b solving the equation: (L 1 (t 0 + h)+l 2 (t 0 + h)) l vc = ω(t 0 + h). (11) The net joint removes two rotational degrees of freedom of the two connected bodies. This means that both bodies are allowed to rotate around one common rotation ais and to move freel in all directions. Let a 1 and a 2 be this ais with unit length fied to the first and the second bod respectivel (see figure 4(b)). The joint constraint forces both aes to have the same orientation. ecause of this, the joint is called orientation joint. t time t 0 the constraint is satisfied, so a 1 (t 0 ) = a 2 (t 0 ). Let b and c be two linearl independent vectors perpendicular to the ais a 1 (t 0 ). The error that occurs during the simulation step can be described b the cross product of the two rotation aes at time t 0 + h: d(t 0 + h) = a 1 (t 0 + h) a 2 (t 0 + h). The two-dimensional angular momentum l jc maintaining the joint constraint for a time step of sie h is computed b solving the following equation in an iterative process until Pd(t 0 + h) is ero: P(L 1 (t 0 )+L 2 (t 0 ))P T l jc = 1 h Pd(t 0 + h) (12) ( b T) where P = c T Ê 2 3 is the projection matri. The three-dimensional angular momentum for the joint correction is l jc = P T l jc. The angular momentum l vc needed for the velocit correction is determined b projecting equation 11 onto the plane spanned b b and c: P(L 1 (t 0 + h)+l 2 (t 0 + h))p T l vc = P ω(t 0 + h). (13) The last rotational joint allows the connected bodies to move in all directions and to rotate around two linearl independent aes a and b. is a is fied to the first bod and ais b to the second bod (see figure 4(c)). In the following it is assumed that both aes are normalised. The joint constraint prevents the bodies from rotating around the ais c = a b. This means that the angle ϕ(t) = arccos(a(t) b(t)) must be constant during the simulation. The three-dimensional error that occurs during one simulation step is given b d(t 0 + h) = (ϕ(t 0 + h) ϕ(0)) c. The angular momentum to correct this error can be determined b computing angular momenta with equation 12 in an iterative process where P = ( c T) Ê 1 3 is the projection matri. The same projection matri is used in order to correct the angular velocities with equation 13. ll rotational joints can be simulated b computing angular momenta with equation 12 for the joint correction and with equation 13 for the velocit correction, if the identit matri is used as projection matri P for the first joint.

7 J. ender &. Schmitt / Fast Dnamic Simulation of Multi-od Sstems Using Impulses Combinations of joint constraints In the preceding subsections si different joint constraints have been introduced. combining two of these constraints new joint tpes can be created. hinge joint can be simulated b combining a spherical and an orientation joint. The spherical joint eliminates the translational degrees of freedom between the bodies and the orientation joint allows the connected bodies to rotate around a common ais. If a torque is applied to the bodies in direction of the rotation ais, a motor can be simulated. PID controller can be used to control this motor. Different kinds of sliders can be simulated b combining a joint which removes two translational degrees of freedom with different rotational joints. It is possible to remove ever combination of translational and rotational degrees of freedom using the introduced constraints. Combined joints that have been implemented are: hinge joints, fied joints, universal joints and all kinds of sliders Sstems of joint constraints If a sstem of rigid bodies connected with multiple joints is given, it is not possible to satisf all constraints b simpl computing an impulse for ever joint. In figure 5 a double pendulum is shown. The constraint of the left joint is satisfied but not the right one. If an impulse is computed and applied to correct the right joint, the left joint will break up. This problem can be solved b computing impulses for each Figure 5: Sstem with two spherical joints joint in an iterative loop as Weinstein et al. and ender et al. do [WTF06, FS05]. The iteration stops if all joint constraints are satisfied. This iterative method is ver robust and even closed kinematic chains can be simulated without an additional effort. nother advantage of the method is that it does not have drift problems like the Lagrange multiplier method because the computed impulses correct ever drift that occurs. The onl problem is that the iterative method does not regard the dependencies between the joints in a multi-bod sstem. ecause of this, the method needs man iterations to simulate sstems which have a comple joint structure, especiall if a high degree of accurac is required. Therefore the simulation of such sstems is slow. If a rigid bod is connected with multiple joints to other bodies, the impulses needed to maintain the constraints depend on each other. These dependencies can be described in a sstem of linear equations: M p = u. (14) The dimension of this sstem is equal to the amount of degrees of freedom that are removed in the multi-bod sstem. The matri of the sstem of linear equations M is a block matri. The diagonal block M i,i is the matri that is necessar to compute the joint impulse of the i-th joint. This means that M i,i is the matri of equation 8 if i is a translational joint and the one of equation 12 if i is a rotational joint. The off-diagonal block M i, j describes the dependenc between joint i and joint j. The two joints depend on each other, if the are connected to the same rigid bod. Otherwise M i, j is a ero matri. If there is a dependenc, the matri M i, j must describe how the velocities at joint i change, if at joint j an impulse or an angular momentum is applied. This can be done b using the matrices defined in subsection 4.1. In the following we assume that we have a sstem with n joints and that there are no loops in this sstem. Two disjoint inde sets T and R are used. Let T = {1,..., m} be the indices of all translational joints and R = {m + 1,...,n} be the indices of all rotational joints. The block matri M i, j depends on the joint tpes of i and j. If the two joints have a common bod k, then the following matri is used to differentiate between the four possible cases: K X,Y if i, j T L k if i, j R N i, j (k,x,y) = W k,y if i R and j T U X,k if i T and j R where X and Y are the joint points fied to bod k of joint i and joint j respectivel. joint point is onl used in the matri, if the corresponding joint is a translational one. With the matri N i, j (k,x,y) the block matrices M i, j in three-dimensional space can be computed. The matrices for constraints with a lower dimension can be determined b a projection of matri M i, j which is eplained later. The matri M i, j describes the number of common bodies the two joints have and how the are connected to the bodies. Onl the translational joints have joint points but in the following we will assume that each rotational joint also has two joint points. The position of these points is arbitrar because the are onl needed for a simpler notation. Let i and i be the joint points of the i-th joint and k i1 and k i2 be the connected rigid bodies. The matri M i, j is defined as N i, j (k i1, i, j ) if k i1 = k j1 k i2 k j2 N i, j (k i2, i, j ) if k i2 = k j2 k i1 k j1 (N i, j (k i1, i, j )+ N i, j (k i2, i, j )) if k i1 = k j1 k i2 = k j2 M i, j = N i, j (k i1, i, j ) if k i1 = k j2 k i2 k j1 N i, j (k i2, i, j ) if k i2 = k j1 k i1 k j2 (N i, j (k i1, i, j )+ N i, j (k i2, i, j )) if k i1 = k j2 k i2 = k j1 0 otherwise.

8 8 J. ender &. Schmitt / Fast Dnamic Simulation of Multi-od Sstems Using Impulses The last step to build the matri M is to project the matrices M i, j using the projection matrices of the corresponding joints. The resulting sstem of linear equations is P 1 M 1,1 P1 T... P 1 M 1,m P T m P m M m,1 P1 T... P m M m,mpm T p 1.. p m P 1 u 1 =. P m u m where p i is the projected impulse or angular momentum of the i-th joint and u i is the velocit difference that has to be corrected. In the case of joint correction, the value 1 h d(t 0+h) is used as velocit difference where d(t 0 + h) is the distance of the corresponding joint as it was defined in sections 4.2 and 4.3. solving the sstem of linear equations all impulses and angular momenta are determined at once. It has to be kept in mind that the velocit difference 1 h d(t 0 + h) is just an approimation. Hence, after the impulses and angular momenta computed with the sstem of linear equations are applied to the rigid bodies, for ever joint a new prediction of the distance d(t 0 + h) has to be made in order to verif, if all joint constraints will be satisfied after a simulation step. s long as there eist joints whose constraints are not satisfied, the sstem of linear equations has to be solved for the actual prediction of the distances d(t 0 +h) in an iterative process. Since all dependencies of the joints are taken into account during the computation of the impulses and angular momenta, onl a few iterations are needed even for comple multi-bod sstems. No approimation is made for the velocit correction and so the eact solution can be determined in one step. The sstem of linear equations can be solved, for eample b using a LU decomposition of the matri M. ecause the matri is constant at a time t, the decomposition can be used for the velocit correction and the joint correction of the net step (since both are computed for the same simulation time). This means that the decomposition must be computed onl once per simulation step. Hence the method does not slow down much even if several iterations are necessar. Since the matri is tpicall sparse, a sparse solver is a better choice than using a LU decomposition. Therefore in this work the solver PRDISO was used [SG02, SG04]. C G D H (a) I F E C G D H (b) Figure 6: Multi-bod sstem with loops edge is removed. This is continued until there are no more ccles in the graph. The impulses for the multi-bod sstem without the marked joints and the impulses for the marked joints are computed b using two separate sstems of linear equations. oth sstems are solved in a common iterative loop. The loop ends, if the constraints of both parts are satisfied. 5. Results ll simulations in this section have been performed on a PC with a 3.4 GH Intel Pentium 4 processor. ll differential equations have been solved with the fourth-order Runge- Kutta method. t first a tree with 127 rigid bodies that are F E I 4.6. Closed kinematic chains The sstem of linear equations of a model which contains closed kinematic chains can have a higher dimension than the amount of degrees of freedom that are removed [Wit77]. In this case solving the sstem of linear equations can lead to unstable results. Multi-bod sstems with closed kinematic chains can be simulated b breaking the loops in the model. n undirected graph is used to find these loops (see figure 6). Ever rigid bod in the model is represented b a node in this graph. Two nodes are connected b an edge, if there eists a joint between the corresponding rigid bodies. Loops in the model can be detected b finding ccles in the graph. If a ccle is found the corresponding joint is marked and the Figure 7: tree with 127 spherical joints connected b 127 spherical joints (see figure 7) was simulated without collisions and contacts. This means that 381 degrees of freedom were removed b the constraints. The bodies were between 1 m and 11.4 m long and had equal densities. In order to obtain accurate results, the tolerances ε jc = 10 6 m and ε vc = 10 6 m s were used for the joint and the velocit correction respectivel. Since the presented method with sstems of linear equations (SLE) computes the eact impulses for the velocit correction in one step, the tolerance ε vc was onl required for the iterative method

9 J. ender &. Schmitt / Fast Dnamic Simulation of Multi-od Sstems Using Impulses 9 without using sstems of linear equations which was mentioned in the beginning of section 4.5. time step sie of h = 30 1 s was used in order to produce 30 frames per second. t the start of the simulation a torque acts on the top bod of the model causing a rotation of the tree. The computation times of the simulation steps with both methods were measured and the results are shown in figure 8. Table 1 shows Tree ms 6.78 ms ms Tree ms ms ms Tree ms ms ms Tree ms ms ms Table 2: Simulation times without SLE time [s] without SLE with SLE Tree ms 3.54 ms 3.79 ms Tree ms 7.14 ms 7.69 ms Tree ms ms ms Tree ms ms ms Table 3: Simulation times with SLE number of simulation steps Figure 8: Computation times accelerated the simulation. The average simulation times of the first method strongl depend on the tolerance values that are used. The times of the second method seem to be independent from the tolerances. The reason for this is that the degree of accurac of the results is alwas high, even if this is not demanded. the average values of both methods. The simulation with the second method runs faster than real-time and is more than eleven times faster than the first method. This speed up is even higher, if a model with more dependencies between the joints is simulated as shown later. The first method needed without SLE with SLE average time per step ms ms average iteration steps (jc) average iteration steps (vc) Table 1: verage values The use of the new method has advantages if a rigid bod is connected with man joints. To show this, the tree with 127 joints has been simulated again. This time a bod in the tree was not connected to its direct parent but to the root of the tree. So the model had 127 joints and all joints were connected to the root bod. The tolerances ε jc = 10 4 m and ε vc = 10 4 m s have been used for this simulation. The simulation with the new method was almost 80 times faster than without using a SLE. more than 518 iterations for the joint correction and 745 for the velocit correction. The second method needed onl 2 iterations for the joint correction but the computation of the impulses in one iteration step needed more time because a sstem of linear equations had to be solved. Trees of different sies have been simulated to show the scalabilit of the methods. Furthermore different values for the tolerances ε jc and ε vc have been used. The average time needed for one simulation step has been measured for the method without using sstems of linear equations and for the new method. The results of the first method are shown in table 2. Equal tolerance values have been used for ε jc and ε vc. The times needed b the new method are shown in table 3. In the simulation with large tolerance values the use of sstems of equations has no advantage, since the computation of single impulses runs ver fast and not man iterations are needed. If smaller tolerances were used, the use of a SLE Figure 9: car and a walking machine t last the practical use of different joint tpes is shown. Therefore a car and a walking machine were build (see figure 9). The car has a servo motor for each wheel and one servo motor for the steering. slider joint has been combined with a spring to simulate the dampers for the wheels. The simulation of the joints of this car ran nearl si times faster than real-time. Each leg of the walking machine is simulated b one servo motor, two hinge joints and one slider. This model has one closed kinematic chain per leg.

10 10 J. ender &. Schmitt / Fast Dnamic Simulation of Multi-od Sstems Using Impulses 6. Conclusion n etension of the method of ender et al. has been presented that allows to simulate several different kinds of joints in an uniform wa. For the fast simulation of comple models a new method has been introduced that uses a sstem of linear equations to describe the dependencies in a multibod sstem. The advantages of the method are that it is eas to implement, it has no drift problem, accurate results can be achieved and it is fast. References [CR95] SCHER U. M., CHIN H. S., REICH S.: Stabiliation of constrained mechanical sstems with daes and invariant manifolds. J. Mech. Struct. Machines 23 (1995), [sc97] SCHER U. M.: Stabiliation of invariants of discretied differential sstems. Numerical lgorithms 14, 1 3 (1997), [ar96] RFF D.: Linear-time dnamics using lagrange multipliers. In SIGGRPH 96: Proceedings of the 23rd annual conference on Computer graphics and interactive techniques (New York, NY, US, 1996), CM Press, pp [ar97] RFF D.: n introduction to phsicall based modeling: Rigid bod simulation 1 - unconstrained rigid bod dnamics. SIGGRPH Course Notes, [au72] UMGRTE J.: Stabiliation of constraints and integrals of motion in dnamical sstems. In Computer Methods in pplied Mechanics (1972), pp [FS05] ENDER J., FINKENZELLER D., SCHMITT.: n impulse-based dnamic simulation sstem for VR applications. In Proceedings of Virtual Concept 2005 (iarrit, France, 2005), Springer. [HW96] RZEL R., HUGHES J. F., WOOD D. N.: Plausible motion simulation for computer graphics animation. In Computer nimation and Simulation 96 (1996), pp [S06] ENDER J., SCHMITT.: Constraint-based collision and contact handling using impulses. In Proceedings of the 19th international conference on computer animation and social agents (Geneva (Switerland), Jul 2006), pp [Chi95] CHIN H. S.: Stabiliation methods for simulations of constrained multibod dnamics. PhD thesis, Inst. of pp. Math., Universit of ritish Columbia, [dj94] DE JLON J. G., YO E.: Kinematic and Dnamic Simulation of Multibod Sstems : the Real Time Challenge. Springer-Verlag, New York, [Fea87] FETHERSTONE R.: Robot dnamics algorithms. Kluwer, [GF03] GUENDELMN E., RIDSON R., FEDKIW R.: Nonconve rigid bodies with stacking. CM Transactions on Graphics 22, 3 (Jul 2003), [Mir96a] MIRTICH.: Fast and accurate computation of polhedral mass properties. J. Graph. Tools 1, 2 (1996), [Mir96b] MIRTICH. V.: Impulse-based dnamic simulation of rigid bod sstems. PhD thesis, Universit of California, erkele, [RGL05] REDON S., GLOPPO N., LIN M. C.: daptive dnamics of articulated bodies. CM Trans. Graph. 24, 3 (2005), [S05] SCHMITT., ENDER J.: Impulse-based dnamic simulation of multibod sstems: Numerical comparison with standard methods. In Proc. utomation of Discrete Production Engineering (2005), pp [SP05] SCHMITT., ENDER J., PRUTZSCH H.: On the Convergence and Correctness of Impulse-ased Dnamic Simulation. Internal Report 17, Institut für etriebs- und Dialogssteme, [SG02] SCHENK O., GÄRTNER K.: Two-level dnamic scheduling in pardiso: improved scalabilit on shared memor multiprocessing sstems. Parallel Comput. 28, 2 (2002), [SG04] SCHENK O., GÄRTNER K.: Solving unsmmetric sparse sstems of linear equations with pardiso. Future Gener. Comput. Sst. 20, 3 (2004), [Sho85] SHOEMKE K.: nimating rotation with quaternion curves. In SIGGRPH 85: Proceedings of the 12th annual conference on Computer graphics and interactive techniques (New York, NY, US, 1985), CM Press, pp [SNTH03] SHO W., NG-THOW-HING V.: general joint component framework for realistic articulation in human characters. In SI3D 03: Proceedings of the 2003 smposium on Interactive 3D graphics (New York, NY, US, 2003), CM Press, pp [WG01] WILHELMS J., GELDER. V.: Fast and eas reach-cone joint limits. J. Graph. Tools 6, 2 (2001), [Wit77] WITTENURG J.: Dnamics of sstems of rigid bodies. Teubner, [WTF06] WEINSTEIN R., TERN J., FEDKIW R.: Dnamic simulation of articulated rigid bodies with contact and collision. In IEEE Transactions on Visualiation and Computer Graphics (2006), vol. 12, pp

MEM380 Applied Autonomous Robots Winter Robot Kinematics

MEM380 Applied Autonomous Robots Winter Robot Kinematics MEM38 Applied Autonomous obots Winter obot Kinematics Coordinate Transformations Motivation Ultimatel, we are interested in the motion of the robot with respect to a global or inertial navigation frame

More information

NATIONAL UNIVERSITY OF SINGAPORE. (Semester I: 1999/2000) EE4304/ME ROBOTICS. October/November Time Allowed: 2 Hours

NATIONAL UNIVERSITY OF SINGAPORE. (Semester I: 1999/2000) EE4304/ME ROBOTICS. October/November Time Allowed: 2 Hours NATIONAL UNIVERSITY OF SINGAPORE EXAMINATION FOR THE DEGREE OF B.ENG. (Semester I: 1999/000) EE4304/ME445 - ROBOTICS October/November 1999 - Time Allowed: Hours INSTRUCTIONS TO CANDIDATES: 1. This paper

More information

Design of a dynamic simulation system for VR applications

Design of a dynamic simulation system for VR applications Design of a dynamic simulation system for VR applications Jan Bender Abstract A dynamic simulation system for VR applications consists of multiple parts. The first task that must be accomplished is the

More information

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial Lecture VI: Constraints and Controllers Parts Based on Erin Catto s Box2D Tutorial Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a

More information

A New Concept on Automatic Parking of an Electric Vehicle

A New Concept on Automatic Parking of an Electric Vehicle A New Concept on Automatic Parking of an Electric Vehicle C. CAMUS P. COELHO J.C. QUADRADO Instituto Superior de Engenharia de Lisboa Rua Conselheiro Emídio Navarro PORTUGAL Abstract: - A solution to perform

More information

Lecture VI: Constraints and Controllers

Lecture VI: Constraints and Controllers Lecture VI: Constraints and Controllers Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a chair human body parts trigger of a gun opening

More information

CMSC 425: Lecture 10 Basics of Skeletal Animation and Kinematics

CMSC 425: Lecture 10 Basics of Skeletal Animation and Kinematics : Lecture Basics of Skeletal Animation and Kinematics Reading: Chapt of Gregor, Game Engine Architecture. The material on kinematics is a simplification of similar concepts developed in the field of robotics,

More information

A rigid body free to move in a reference frame will, in the general case, have complex motion, which is simultaneously a combination of rotation and

A rigid body free to move in a reference frame will, in the general case, have complex motion, which is simultaneously a combination of rotation and 050389 - Analtical Elements of Mechanisms Introduction. Degrees of Freedom he number of degrees of freedom (DOF) of a sstem is equal to the number of independent parameters (measurements) that are needed

More information

Chapter 3 : Computer Animation

Chapter 3 : Computer Animation Chapter 3 : Computer Animation Histor First animation films (Disne) 30 drawings / second animator in chief : ke frames others : secondar drawings Use the computer to interpolate? positions orientations

More information

1. We ll look at: Types of geometrical transformation. Vector and matrix representations

1. We ll look at: Types of geometrical transformation. Vector and matrix representations Tob Howard COMP272 Computer Graphics and Image Processing 3: Transformations Tob.Howard@manchester.ac.uk Introduction We ll look at: Tpes of geometrical transformation Vector and matri representations

More information

Multibody Motion Estimation and Segmentation from Multiple Central Panoramic Views

Multibody Motion Estimation and Segmentation from Multiple Central Panoramic Views Multibod Motion Estimation and Segmentation from Multiple Central Panoramic Views Omid Shakernia René Vidal Shankar Sastr Department of Electrical Engineering & Computer Sciences Universit of California

More information

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University Computer Graphics P4 Transformations Aleksandra Pizurica Ghent Universit Telecommunications and Information Processing Image Processing and Interpretation Group Transformations in computer graphics Goal:

More information

MEAM 520. Mobile Robots

MEAM 520. Mobile Robots MEAM 520 Mobile Robots Katherine J. Kuchenbecker, Ph.D. General Robotics, Automation, Sensing, and Perception Lab (GRASP) MEAM Department, SEAS, Universit of Pennslvania Lecture 22: December 6, 2012 T

More information

NUMERICAL PERFORMANCE OF COMPACT FOURTH ORDER FORMULATION OF THE NAVIER-STOKES EQUATIONS

NUMERICAL PERFORMANCE OF COMPACT FOURTH ORDER FORMULATION OF THE NAVIER-STOKES EQUATIONS Published in : Communications in Numerical Methods in Engineering (008 Commun.Numer.Meth.Engng. 008; Vol : pp 003-019 NUMERICAL PERFORMANCE OF COMPACT FOURTH ORDER FORMULATION OF THE NAVIER-STOKES EQUATIONS

More information

KINEMATICS STUDY AND WORKING SIMULATION OF THE SELF- ERECTION MECHANISM OF A SELF-ERECTING TOWER CRANE, USING NUMERICAL AND ANALYTICAL METHODS

KINEMATICS STUDY AND WORKING SIMULATION OF THE SELF- ERECTION MECHANISM OF A SELF-ERECTING TOWER CRANE, USING NUMERICAL AND ANALYTICAL METHODS The rd International Conference on Computational Mechanics and Virtual Engineering COMEC 9 9 OCTOBER 9, Brasov, Romania KINEMATICS STUY AN WORKING SIMULATION OF THE SELF- ERECTION MECHANISM OF A SELF-ERECTING

More information

CS770/870 Spring 2017 Transformations

CS770/870 Spring 2017 Transformations CS770/870 Spring 2017 Transformations Coordinate sstems 2D Transformations Homogeneous coordinates Matrices, vectors, points Coordinate Sstems Coordinate sstems used in graphics Screen coordinates: the

More information

Rachel Weinstein, Joseph Teran and Ron Fedkiw

Rachel Weinstein, Joseph Teran and Ron Fedkiw Rachel Weinstein, Joseph Teran and Ron Fedkiw presented by Marco Bernasconi (mberna7@uic.edu) Politecnico di Milano A couple of questions: Why did I choose this paper? What does contact vs collision mean?

More information

Glossary alternate interior angles absolute value function Example alternate exterior angles Example angle of rotation Example

Glossary alternate interior angles absolute value function Example alternate exterior angles Example angle of rotation Example Glossar A absolute value function An absolute value function is a function that can be written in the form, where is an number or epression. alternate eterior angles alternate interior angles Alternate

More information

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner GLOBAL EDITION Interactive Computer Graphics A Top-Down Approach with WebGL SEVENTH EDITION Edward Angel Dave Shreiner This page is intentionall left blank. 4.10 Concatenation of Transformations 219 in

More information

02/22/02. Assignment 1 on the web page: Announcements. Test login procedure NOW!

02/22/02.   Assignment 1 on the web page: Announcements. Test login procedure NOW! Announcements Assignment on the web page: www.cs.cmu.edu/~jkh/anim_class.html est login procedure NOW! 0//0 Forward and Inverse Kinematics Parent: Chapter 4. Girard and Maciejewski 985 Zhao and Badler

More information

THE ORTHOGLIDE: KINEMATICS AND WORKSPACE ANALYSIS

THE ORTHOGLIDE: KINEMATICS AND WORKSPACE ANALYSIS THE ORTHOGIDE: KINEMATICS AND WORKSPACE ANAYSIS A. Pashkevich Robotic aborator, Belarusian State Universit of Informatics and Radioelectronics 6 P. Brovka St., Minsk, 007, Belarus E-mail: pap@ bsuir.unibel.b

More information

2.2 Differential Forms

2.2 Differential Forms 2.2 Differential Forms With vector analsis, there are some operations such as the curl derivative that are difficult to understand phsicall. We will introduce a notation called the calculus of differential

More information

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Theor, Algorithms, and Applications Hong in State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794-44 Tel: (63)632-845; Fa:

More information

Two Dimensional Viewing

Two Dimensional Viewing Two Dimensional Viewing Dr. S.M. Malaek Assistant: M. Younesi Two Dimensional Viewing Basic Interactive Programming Basic Interactive Programming User controls contents, structure, and appearance of objects

More information

Jacobian: Velocities and Static Forces 1/4

Jacobian: Velocities and Static Forces 1/4 Jacobian: Velocities and Static Forces /4 Models of Robot Manipulation - EE 54 - Department of Electrical Engineering - University of Washington Kinematics Relations - Joint & Cartesian Spaces A robot

More information

Lesson 1: Introduction to Pro/MECHANICA Motion

Lesson 1: Introduction to Pro/MECHANICA Motion Lesson 1: Introduction to Pro/MECHANICA Motion 1.1 Overview of the Lesson The purpose of this lesson is to provide you with a brief overview of Pro/MECHANICA Motion, also called Motion in this book. Motion

More information

Closure Polynomials for Strips of Tetrahedra

Closure Polynomials for Strips of Tetrahedra Closure Polnomials for Strips of Tetrahedra Federico Thomas and Josep M. Porta Abstract A tetrahedral strip is a tetrahedron-tetrahedron truss where an tetrahedron has two neighbors ecept those in the

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Overview Ra-Tracing so far Modeling transformations Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh,

More information

Chapter 4 Dynamics. Part Constrained Kinematics and Dynamics. Mobile Robotics - Prof Alonzo Kelly, CMU RI

Chapter 4 Dynamics. Part Constrained Kinematics and Dynamics. Mobile Robotics - Prof Alonzo Kelly, CMU RI Chapter 4 Dynamics Part 2 4.3 Constrained Kinematics and Dynamics 1 Outline 4.3 Constrained Kinematics and Dynamics 4.3.1 Constraints of Disallowed Direction 4.3.2 Constraints of Rolling without Slipping

More information

Chain Pattern Scheduling for nested loops

Chain Pattern Scheduling for nested loops Chain Pattern Scheduling for nested loops Florina Ciorba, Theodore Andronikos and George Papakonstantinou Computing Sstems Laborator, Computer Science Division, Department of Electrical and Computer Engineering,

More information

A Full Analytical Solution to the Direct and Inverse Kinematics of the Pentaxis Robot Manipulator

A Full Analytical Solution to the Direct and Inverse Kinematics of the Pentaxis Robot Manipulator A Full Analtical Solution to the Direct and Inverse Kinematics of the Pentais Robot Manipulator Moisés Estrada Castañeda, Luis Tupak Aguilar Bustos, Luis A. Gonále Hernánde Instituto Politécnico Nacional

More information

D-Calib: Calibration Software for Multiple Cameras System

D-Calib: Calibration Software for Multiple Cameras System D-Calib: Calibration Software for Multiple Cameras Sstem uko Uematsu Tomoaki Teshima Hideo Saito Keio Universit okohama Japan {u-ko tomoaki saito}@ozawa.ics.keio.ac.jp Cao Honghua Librar Inc. Japan cao@librar-inc.co.jp

More information

Developing a Tracking Algorithm for Underwater ROV Using Fuzzy Logic Controller

Developing a Tracking Algorithm for Underwater ROV Using Fuzzy Logic Controller 5 th Iranian Conference on Fuzz Sstems Sept. 7-9, 2004, Tehran Developing a Tracking Algorithm for Underwater Using Fuzz Logic Controller M.H. Saghafi 1, H. Kashani 2, N. Mozaani 3, G. R. Vossoughi 4 mh_saghafi@ahoo.com

More information

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

Applications. Human and animal motion Robotics control Hair Plants Molecular motion Multibody dynamics Applications Human and animal motion Robotics control Hair Plants Molecular motion Generalized coordinates Virtual work and generalized forces Lagrangian dynamics for mass points

More information

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s CENG 732 Computer Animation This week Inverse Kinematics (continued) Rigid Body Simulation Bodies in free fall Bodies in contact Spring 2006-2007 Week 5 Inverse Kinematics Physically Based Rigid Body Simulation

More information

8.6 Three-Dimensional Cartesian Coordinate System

8.6 Three-Dimensional Cartesian Coordinate System SECTION 8.6 Three-Dimensional Cartesian Coordinate Sstem 69 What ou ll learn about Three-Dimensional Cartesian Coordinates Distance and Midpoint Formulas Equation of a Sphere Planes and Other Surfaces

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical descriptions of geometric changes,

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Computer Graphics Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical

More information

2.3. Horizontal and Vertical Translations of Functions. Investigate

2.3. Horizontal and Vertical Translations of Functions. Investigate .3 Horizontal and Vertical Translations of Functions When a video game developer is designing a game, she might have several objects displaed on the computer screen that move from one place to another

More information

Jacobian: Velocities and Static Forces 1/4

Jacobian: Velocities and Static Forces 1/4 Jacobian: Velocities and Static Forces /4 Advanced Robotic - MAE 6D - Department of Mechanical & Aerospace Engineering - UCLA Kinematics Relations - Joint & Cartesian Spaces A robot is often used to manipulate

More information

Image Metamorphosis By Affine Transformations

Image Metamorphosis By Affine Transformations Image Metamorphosis B Affine Transformations Tim Mers and Peter Spiegel December 16, 2005 Abstract Among the man was to manipulate an image is a technique known as morphing. Image morphing is a special

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Announcement Assignment 2 has been posted: Due: 10/24 ASAP: Download the code and make sure it compiles» On windows: just build

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometr and Camera Calibration 3D Coordinate Sstems Right-handed vs. left-handed 2D Coordinate Sstems ais up vs. ais down Origin at center vs. corner Will often write (u, v) for image coordinates v

More information

Algebra I. Linear Equations. Slide 1 / 267 Slide 2 / 267. Slide 3 / 267. Slide 3 (Answer) / 267. Slide 4 / 267. Slide 5 / 267

Algebra I. Linear Equations. Slide 1 / 267 Slide 2 / 267. Slide 3 / 267. Slide 3 (Answer) / 267. Slide 4 / 267. Slide 5 / 267 Slide / 67 Slide / 67 lgebra I Graphing Linear Equations -- www.njctl.org Slide / 67 Table of ontents Slide () / 67 Table of ontents Linear Equations lick on the topic to go to that section Linear Equations

More information

Transformations of Functions. 1. Shifting, reflecting, and stretching graphs Symmetry of functions and equations

Transformations of Functions. 1. Shifting, reflecting, and stretching graphs Symmetry of functions and equations Chapter Transformations of Functions TOPICS.5.. Shifting, reflecting, and stretching graphs Smmetr of functions and equations TOPIC Horizontal Shifting/ Translation Horizontal Shifting/ Translation Shifting,

More information

EXPANDING THE CALCULUS HORIZON. Robotics

EXPANDING THE CALCULUS HORIZON. Robotics EXPANDING THE CALCULUS HORIZON Robotics Robin designs and sells room dividers to defra college epenses. She is soon overwhelmed with orders and decides to build a robot to spra paint her dividers. As in

More information

Robot Geometry and Kinematics

Robot Geometry and Kinematics CIS 68/MEAM 50 Robot Geometr and Kinematics CIS 68/MEAM 50 Outline Industrial (conventional) robot arms Basic definitions for understanding -D geometr, kinematics Eamples Classification b geometr Relationship

More information

2.8 Distance and Midpoint Formulas; Circles

2.8 Distance and Midpoint Formulas; Circles Section.8 Distance and Midpoint Formulas; Circles 9 Eercises 89 90 are based on the following cartoon. B.C. b permission of Johnn Hart and Creators Sndicate, Inc. 89. Assuming that there is no such thing

More information

Quad-Tree Based Geometric-Adapted Cartesian Grid Generation

Quad-Tree Based Geometric-Adapted Cartesian Grid Generation Quad-Tree Based Geometric-Adapted Cartesian Grid Generation EMRE KARA1, AHMET ĐHSAN KUTLAR1, MEHMET HALUK AKSEL 1Department of Mechanical Engineering Universit of Gaziantep 7310 Gaziantep TURKEY Mechanical

More information

Motion Capture & Simulation

Motion Capture & Simulation Motion Capture & Simulation Motion Capture Character Reconstructions Joint Angles Need 3 points to compute a rigid body coordinate frame 1 st point gives 3D translation, 2 nd point gives 2 angles, 3 rd

More information

Rational functions and graphs. Section 2: Graphs of rational functions

Rational functions and graphs. Section 2: Graphs of rational functions Rational functions and graphs Section : Graphs of rational functions Notes and Eamples These notes contain subsections on Graph sketching Turning points and restrictions on values Graph sketching You can

More information

y = f(x) x (x, f(x)) f(x) g(x) = f(x) + 2 (x, g(x)) 0 (0, 1) 1 3 (0, 3) 2 (2, 3) 3 5 (2, 5) 4 (4, 3) 3 5 (4, 5) 5 (5, 5) 5 7 (5, 7)

y = f(x) x (x, f(x)) f(x) g(x) = f(x) + 2 (x, g(x)) 0 (0, 1) 1 3 (0, 3) 2 (2, 3) 3 5 (2, 5) 4 (4, 3) 3 5 (4, 5) 5 (5, 5) 5 7 (5, 7) 0 Relations and Functions.7 Transformations In this section, we stud how the graphs of functions change, or transform, when certain specialized modifications are made to their formulas. The transformations

More information

3.9 Differentials. Tangent Line Approximations. Exploration. Using a Tangent Line Approximation

3.9 Differentials. Tangent Line Approximations. Exploration. Using a Tangent Line Approximation 3.9 Differentials 3 3.9 Differentials Understand the concept of a tangent line approimation. Compare the value of the differential, d, with the actual change in,. Estimate a propagated error using a differential.

More information

Anatomy of a Physics Engine. Erwin Coumans

Anatomy of a Physics Engine. Erwin Coumans Anatomy of a Physics Engine Erwin Coumans erwin_coumans@playstation.sony.com How it fits together» Terminology» Rigid Body Dynamics» Collision Detection» Software Design Decisions» Trip through the Physics

More information

Introduction to Homogeneous Transformations & Robot Kinematics

Introduction to Homogeneous Transformations & Robot Kinematics Introduction to Homogeneous Transformations & Robot Kinematics Jennifer Ka Rowan Universit Computer Science Department. Drawing Dimensional Frames in 2 Dimensions We will be working in -D coordinates,

More information

What and Why Transformations?

What and Why Transformations? 2D transformations What and Wh Transformations? What? : The geometrical changes of an object from a current state to modified state. Changing an object s position (translation), orientation (rotation)

More information

State Estimation and Parameter Identification of Flexible Manipulators Based on Visual Sensor and Virtual Joint Model

State Estimation and Parameter Identification of Flexible Manipulators Based on Visual Sensor and Virtual Joint Model Proceedings of the 2001 IEEE International Conference on Robotics & Automation Seoul, Korea May 21-26, 2001 State Estimation and Parameter Identification of Flexible Manipulators Based on Visual Sensor

More information

Lines and Their Slopes

Lines and Their Slopes 8.2 Lines and Their Slopes Linear Equations in Two Variables In the previous chapter we studied linear equations in a single variable. The solution of such an equation is a real number. A linear equation

More information

The Graph of an Equation

The Graph of an Equation 60_0P0.qd //0 :6 PM Page CHAPTER P Preparation for Calculus Archive Photos Section P. RENÉ DESCARTES (96 60) Descartes made man contributions to philosoph, science, and mathematics. The idea of representing

More information

Transformations III. Week 2, Fri Jan 19

Transformations III. Week 2, Fri Jan 19 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 2007 Tamara Munzner Transformations III Week 2, Fri Jan 9 http://www.ugrad.cs.ubc.ca/~cs34/vjan2007 Readings for Jan 5-22 FCG Chap 6 Transformation

More information

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1 Toda s class Geometric objects and transformations Wednesda, November 7, 27 Computer Graphics - Class 5 Vector operations Review of vector operations needed for working in computer graphics adding two

More information

Intuitive Control of Dynamic Simulation Using Improved Implicit Constraint Enforcement

Intuitive Control of Dynamic Simulation Using Improved Implicit Constraint Enforcement Intuitive Control of Dynamic Simulation Using Improved Implicit Constraint Enforcement Min Hong, Samuel Welch, and Min-Hyung Choi 3 Bioinformatics, University of Colorado Health Sciences Center, 400 E.

More information

APPLICATIONS OF INTEGRATION

APPLICATIONS OF INTEGRATION 6 APPLICATIONS OF INTEGRATION The volume of a sphere is the limit of sums of volumes of approimating clinders. In this chapter we eplore some of the applications of the definite integral b using it to

More information

An Improved Dynamic Modeling of a 3-RPS Parallel Manipulator using the concept of DeNOC Matrices

An Improved Dynamic Modeling of a 3-RPS Parallel Manipulator using the concept of DeNOC Matrices An Improved Dynamic Modeling of a 3-RPS Parallel Manipulator using the concept of DeNOC Matrices A. Rahmani Hanzaki, E. Yoosefi Abstract A recursive dynamic modeling of a three-dof parallel robot, namely,

More information

Lecture 4: Viewing. Topics:

Lecture 4: Viewing. Topics: Lecture 4: Viewing Topics: 1. Classical viewing 2. Positioning the camera 3. Perspective and orthogonal projections 4. Perspective and orthogonal projections in OpenGL 5. Perspective and orthogonal projection

More information

Simulation of a 2-link Brachiating Robot with Open-Loop Controllers

Simulation of a 2-link Brachiating Robot with Open-Loop Controllers Simulation of a -link Brachiating Robot with Open-oop Controllers David Ufford Northwestern Universit June 009 SIMUATION OF A -INK BRACHIATING ROBOT WITH OPEN-OOP CONTROERS.... PROJECT OVERVIEW... 3. MONKEYBOT

More information

Implicit differentiation

Implicit differentiation Roberto s Notes on Differential Calculus Chapter 4: Basic differentiation rules Section 5 Implicit differentiation What ou need to know alread: Basic rules of differentiation, including the chain rule.

More information

Kinematics, Kinematics Chains CS 685

Kinematics, Kinematics Chains CS 685 Kinematics, Kinematics Chains CS 685 Previously Representation of rigid body motion Two different interpretations - as transformations between different coord. frames - as operators acting on a rigid body

More information

Motion Generation with Geodesic Paths on Learnt Skill Manifolds

Motion Generation with Geodesic Paths on Learnt Skill Manifolds Motion Generation with Geodesic Paths on Learnt Skill Manifolds Ioannis Havoutis and Subramanian Ramamoorth Abstract. We present a framework for generating motions drawn from parametried classes of motions

More information

dt Acceleration is the derivative of velocity with respect to time. If a body's position at time t is S = f(t), the body's acceleration at time t is

dt Acceleration is the derivative of velocity with respect to time. If a body's position at time t is S = f(t), the body's acceleration at time t is APPLICATIN F DERIVATIVE INTRDUCTIN In this section we eamine some applications in which derivatives are used to represent and interpret the rates at which things change in the world around us. Let S be

More information

Abstract. Euler Equations Solutions for Incompressible Fluid Flow. Copyright A. A. Frempong

Abstract. Euler Equations Solutions for Incompressible Fluid Flow. Copyright A. A. Frempong Copright A. A. Frempong Euler Equations Solutions for Incompressible Fluid Flow Abstract The simplest solution is usuall the best solution---albert Einstein This paper covers the solutions of the Euler

More information

Application of a Coordinate Transformation and Discretization Method for Computational Fluid Dynamics

Application of a Coordinate Transformation and Discretization Method for Computational Fluid Dynamics Application of a Coordinate Transformation and Discretization Method for Computational Fluid Dnamics 1 Douglas F. Hunsaker Utah State Universit An overview of the computational methods implemented in a

More information

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology Intermediate Algebra Gregg Waterman Oregon Institute of Technolog c 2017 Gregg Waterman This work is licensed under the Creative Commons Attribution 4.0 International license. The essence of the license

More information

Computer Kit for Development, Modeling, Simulation and Animation of Mechatronic Systems

Computer Kit for Development, Modeling, Simulation and Animation of Mechatronic Systems Computer Kit for Development, Modeling, Simulation and Animation of Mechatronic Systems Karol Dobrovodský, Pavel Andris, Peter Kurdel Institute of Informatics, Slovak Academy of Sciences Dúbravská cesta

More information

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics CS 775: Advanced Computer Graphics Lecture 3 : Kinematics Traditional Cell Animation, hand drawn, 2D Lead Animator for keyframes http://animation.about.com/od/flashanimationtutorials/ss/flash31detanim2.htm

More information

1.1 Horizontal & Vertical Translations

1.1 Horizontal & Vertical Translations Unit II Transformations of Functions. Horizontal & Vertical Translations Goal: Demonstrate an understanding of the effects of horizontal and vertical translations on the graphs of functions and their related

More information

Kinematics Support for Design and Simulation of Mechatronic Systems

Kinematics Support for Design and Simulation of Mechatronic Systems Kinematics Support for Design and Simulation of Mechatronic Sstems Rajarishi Sinha 1 Christiaan J.J. Paredis 12 and Pradeep K. Khosla 12 1 Institute for Complex Engineered Sstems Carnegie Mellon Universit

More information

Collision Detection and Impulse Dynamics in Real time Applications

Collision Detection and Impulse Dynamics in Real time Applications Collision Detection and Impulse Dynamics in Real time Applications 1. Abstract Petr Sovis xsovis00@dcse.fee.vutbr.cz Faculty of Electrical Engineering and Computer Science University of Technology Brno

More information

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta CMPUT 412 Motion Control Wheeled robots Csaba Szepesvári University of Alberta 1 Motion Control (wheeled robots) Requirements Kinematic/dynamic model of the robot Model of the interaction between the wheel

More information

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1 CHAPTER 1 INTRODUCTION Modern mechanical and aerospace systems are often very complex and consist of many components interconnected by joints and force elements such as springs, dampers, and actuators.

More information

Image Warping. Some slides from Steve Seitz

Image Warping.   Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Spring 2 Image Transformations image filtering: change range of image g() = T(f())

More information

Introduction to Homogeneous Transformations & Robot Kinematics

Introduction to Homogeneous Transformations & Robot Kinematics Introduction to Homogeneous Transformations & Robot Kinematics Jennifer Ka, Rowan Universit Computer Science Department Januar 25. Drawing Dimensional Frames in 2 Dimensions We will be working in -D coordinates,

More information

3-Dimensional Viewing

3-Dimensional Viewing CHAPTER 6 3-Dimensional Vieing Vieing and projection Objects in orld coordinates are projected on to the vie plane, hich is defined perpendicular to the vieing direction along the v -ais. The to main tpes

More information

High Dimensional Rendering in OpenGL

High Dimensional Rendering in OpenGL High Dimensional Rendering in OpenGL Josh McCo December, 2003 Description of Project Adding high dimensional rendering capabilit to the OpenGL graphics programming environment is the goal of this project

More information

Topic 2 Transformations of Functions

Topic 2 Transformations of Functions Week Topic Transformations of Functions Week Topic Transformations of Functions This topic can be a little trick, especiall when one problem has several transformations. We re going to work through each

More information

Lecture 12 Date:

Lecture 12 Date: Information Technolog Delhi Lecture 2 Date: 3.09.204 The Signal Flow Graph Information Technolog Delhi Signal Flow Graph Q: Using individual device scattering parameters to analze a comple microwave network

More information

Think About. Unit 5 Lesson 3. Investigation. This Situation. Name: a Where do you think the origin of a coordinate system was placed in creating this

Think About. Unit 5 Lesson 3. Investigation. This Situation. Name: a Where do you think the origin of a coordinate system was placed in creating this Think About This Situation Unit 5 Lesson 3 Investigation 1 Name: Eamine how the sequence of images changes from frame to frame. a Where do ou think the origin of a coordinate sstem was placed in creating

More information

PARAMETRIC EQUATIONS AND POLAR COORDINATES

PARAMETRIC EQUATIONS AND POLAR COORDINATES 9 ARAMETRIC EQUATIONS AND OLAR COORDINATES So far we have described plane curves b giving as a function of f or as a function of t or b giving a relation between and that defines implicitl as a function

More information

Chapter 3. Interpolation. 3.1 Introduction

Chapter 3. Interpolation. 3.1 Introduction Chapter 3 Interpolation 3 Introduction One of the fundamental problems in Numerical Methods is the problem of interpolation, that is given a set of data points ( k, k ) for k =,, n, how do we find a function

More information

SECTION 8.2 the hyperbola Wake created from shock wave. Portion of a hyperbola

SECTION 8.2 the hyperbola Wake created from shock wave. Portion of a hyperbola SECTION 8. the hperola 6 9 7 learning OjeCTIveS In this section, ou will: Locate a hperola s vertices and foci. Write equations of hperolas in standard form. Graph hperolas centered at the origin. Graph

More information

Grid and Mesh Generation. Introduction to its Concepts and Methods

Grid and Mesh Generation. Introduction to its Concepts and Methods Grid and Mesh Generation Introduction to its Concepts and Methods Elements in a CFD software sstem Introduction What is a grid? The arrangement of the discrete points throughout the flow field is simpl

More information

Using Characteristics of a Quadratic Function to Describe Its Graph. The graphs of quadratic functions can be described using key characteristics:

Using Characteristics of a Quadratic Function to Describe Its Graph. The graphs of quadratic functions can be described using key characteristics: Chapter Summar Ke Terms standard form of a quadratic function (.1) factored form of a quadratic function (.1) verte form of a quadratic function (.1) concavit of a parabola (.1) reference points (.) transformation

More information

Exploiting Rolling Shutter Distortions for Simultaneous Object Pose and Velocity Computation Using a Single View

Exploiting Rolling Shutter Distortions for Simultaneous Object Pose and Velocity Computation Using a Single View Eploiting Rolling Shutter Distortions for Simultaneous Object Pose and Velocit Computation Using a Single View Omar Ait-Aider, Nicolas Andreff, Jean Marc Lavest and Philippe Martinet Blaise Pascal Universit

More information

Interactive Solid Animation Using Linearized Displacement Constraints

Interactive Solid Animation Using Linearized Displacement Constraints Interactive Solid Animation Using Linearized Displacement Constraints François Faure Institut für Computergrafik Technische Universität, Wien Abstract. We present a new approach for interactive solid animation.

More information

20 Calculus and Structures

20 Calculus and Structures 0 Calculus and Structures CHAPTER FUNCTIONS Calculus and Structures Copright LESSON FUNCTIONS. FUNCTIONS A function f is a relationship between an input and an output and a set of instructions as to how

More information

Perspective Projection Transformation

Perspective Projection Transformation Perspective Projection Transformation Where does a point of a scene appear in an image?? p p Transformation in 3 steps:. scene coordinates => camera coordinates. projection of camera coordinates into image

More information

Computer Graphics. 2D transformations. Transforma3ons in computer graphics. Overview. Basic classes of geometric transforma3ons

Computer Graphics. 2D transformations. Transforma3ons in computer graphics. Overview. Basic classes of geometric transforma3ons Transforma3ons in computer graphics omputer Graphics Transforma3ons leksandra Piurica Goal: introduce methodolog to hange coordinate sstem Move and deform objects Principle: transforma3ons are applied

More information

STRAND G: Relations, Functions and Graphs

STRAND G: Relations, Functions and Graphs UNIT G Using Graphs to Solve Equations: Tet STRAND G: Relations, Functions and Graphs G Using Graphs to Solve Equations Tet Contents * * Section G. Solution of Simultaneous Equations b Graphs G. Graphs

More information

DYNAMIC SIMULATION OF INEXTENSIBLE CLOTH

DYNAMIC SIMULATION OF INEXTENSIBLE CLOTH DYNAMIC SIMULAION OF INEXENSIBLE CLOH Jan Bender, Daniel Bayer and Raphael Diziol Institut für Betriebs- und Dialogssysteme Universität Karlsruhe Am Fasanengarten 5 768 Karlsruhe Germany ABSRAC In this

More information

4 Kinematic Linkages. Chapter 4. Kinematic Linkages. Department of Computer Science and Engineering 4-1

4 Kinematic Linkages. Chapter 4. Kinematic Linkages. Department of Computer Science and Engineering 4-1 Kinematic Linkages 4-1 Introduction In describing an object s motion, it is often useful to relate it to another object. Consider, for eample a coordinate system centered at our sun in which the moon s

More information