intTypePromotion=1
ADSENSE

Kinematic and dynamic analysis of multibody systems using the kronecker product

Chia sẻ: Minh Vũ | Ngày: | Loại File: PDF | Số trang:16

13
lượt xem
0
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Using the Kronecker product, a much larger size matrix can be formed from two matrix operands; therefore, the capability of matrix algebra in analyzing the kinematics and dynamics of multibody systems are extended. This paper employs Khang’s definition of the partial derivative of a matrix with respect to a vector and the Kronecker product to define translational and rotational Hessian matrices.

Chủ đề:
Lưu

Nội dung Text: Kinematic and dynamic analysis of multibody systems using the kronecker product

Vietnam Journal of Science and Technology 57 (1) (2019) 112-127<br /> doi:10.15625/2525-2518/57/1/12285<br /> <br /> <br /> <br /> <br /> KINEMATIC AND DYNAMIC ANALYSIS OF MULTIBODY<br /> SYSTEMS USING THE KRONECKER PRODUCT<br /> <br /> Nguyen Thai Minh Tuan1, *, Pham Thanh Chung1, Do Dang Khoa1,<br /> Phan Dang Phong2<br /> <br /> 1<br /> Hanoi University of Science and Technology, No. 1, Dai Co Viet, Hai Ba Trung, Ha Noi<br /> 2<br /> National Research Institute of Mechanical Engineering, Pham Van Dong, Cau Giay, Ha Noi<br /> <br /> *<br /> Email: tuan.nguyenthaiminh@hust.edu.vn<br /> <br /> Received: 23 May 2018; Accepted for publication: 6 December 2018<br /> <br /> Abstract. Using the Kronecker product, a much larger size matrix can be formed from two<br /> matrix operands; therefore, the capability of matrix algebra in analyzing the kinematics and<br /> dynamics of multibody systems are extended. This paper employs Khang’s definition of the<br /> partial derivative of a matrix with respect to a vector and the Kronecker product to define<br /> translational and rotational Hessian matrices. With these definitions, the generalized velocities in<br /> the expression of a linear acceleration or an angular acceleration are collected into a quadratic<br /> term. The relations of Jacobian and Hessian matrices in relative motion are then established. A<br /> new matrix form of Lagrange’s equations showing clearly the quadratic term of generalized<br /> velocities is also introduced.<br /> <br /> Keywords: Jacobian matrix, Hessian matrix, Kronecker product, velocity-free Coriolis matrix,<br /> matrix form of Lagrange’s equations.<br /> <br /> Classification numbers: 5.4.1<br /> <br /> 1. INTRODUCTION<br /> <br /> Matrix operations are commonly used in the field of multibody system due to the<br /> convenience of writing generalized formulas. However, basic operations such as matrix<br /> multiplication and addition are not enough in certain cases. For instance, while rotational and<br /> translational Jacobian matrices are popular, their partial derivatives, Hessian matrices, are<br /> defined differently by different authors [1, 2] and are much less common. Another example is<br /> that the Coriolis/centripetal matrix is usually calculated using Christoffel symbols [3] instead of<br /> matrix operations.<br /> Using the Kronecker product, research by Khang [4, 5] presents a consistent definition of<br /> the partial derivative of a matrix with respect to a vector and its properties. Khang’s work does<br /> not bring about any new physics but the convenience of using pure matrix notation while<br /> establishing equations of motion of multibody system. Equations establishment is usually not<br /> visible in publications so that it is hard to tell how much interest the work has drawn.<br /> Kinematic and dynamic analysis of multibody systems using the Kronecker product<br /> <br /> <br /> <br /> Nevertheless, a few research groups, aside from Khang’s, clearly state that they adopt his work<br /> [6, 7]. To the main author’s point of view, the most notable citation is Taghirad’s book [8]<br /> because it may effectively introduce the use of Kronecker product to researchers and students<br /> who are new to this field so that they will more probably use this method while experienced ones<br /> may prefer the method they are already familiar with. Khang’s own book serves the same<br /> purpose for Vietnamese readers [9].<br /> Seeing Khang’s work to be potentially subject to development, this paper seeks to extend it<br /> to achieve better matrix formulations in kinematic and dynamic analysis of multibody system.<br /> <br /> 2. MATRIX ALGEBRA WITH KRONECKER PRODUCT AND SOME OTHER<br /> MATRIX OPERATORS<br /> <br /> 2.1. Kronecker product and partial derivative of a matrix with respect to a vector<br /> <br /> Definition 1. Kronecker product of two matrices<br /> The Kronecker product of two matrices A m n [aij ] and B p q is an mp nq matrix given<br /> by [10, 11, 12]<br /> a11B a12 B a1n B<br /> a21B a22 B a2 n B<br /> A B . (1)<br /> <br /> am1B am 2 B amn B<br /> Some of the important properties of the Kronecker product are [10, 11, 12]<br /> (A B) C A (B C) , (2)<br /> <br /> (A B)T AT BT , (3)<br /> and if there exist matrix products AC and BD , we have<br /> (A B)(C D) (AC) (BD) . (4)<br /> <br /> Definition 2. Partial derivative of a matrix with respect to a vector<br /> There are many ways to define the partial derivative of a matrix with respect to a vector.<br /> Here the definition by [4, 5] is used. The partial derivative of an r s matrix A(x) which is a<br /> matrix function of an n 1 vector x with respect to vector x is an r sn matrix given as<br /> A ( x) a1 a2 as<br /> (5)<br /> x x x x<br /> where ai is the i -th column of matrix A<br /> A a1 a2 as . (6)<br /> <br /> Definition 3. Vec operator of a matrix<br /> The vec operator of matrix A in (6) is given as [11, 12]<br /> <br /> <br /> <br /> 113<br /> Nguyen Thai Minh Tuan, Pham Thanh Chung, Do Dang Khoa, Phan Dang Phong<br /> <br /> <br /> <br /> a1<br /> a2<br /> vec( A) . (7)<br /> <br /> as<br /> With this operator, all the elements in A are rearranged to form a vector.<br /> <br /> Theorem 1. The derivative with respect to time of an r s matrix function A(x) where x(t ) is<br /> an n 1 vector function of time t satisfies [4, 5]<br /> dA(x) A(x)<br /> A(x) (Es x) (8)<br /> dt x<br /> where E s is the s s identity matrix.<br /> Theorem 2. The partial derivative with respect to an n 1 vector x of a matrix product<br /> A(x)B(x) satisfies [4, 5]<br /> (A(x)B(x)) A(x) B(x)<br /> (B(x) En ) A(x) . (9)<br /> x x x<br /> Theorem 3. The vec operator of a matrix product AXB satisfies [11, 12]<br /> vec(AXB) (BT A)vec(X) . (10)<br /> Using theorems 1 and 2 and properties of the Kronecker product, the following theorems are<br /> also proved<br /> d (J r n (q n 1 )q) J (q)<br /> a) J (q)q (q q) . (11)<br /> dt q<br /> Proof.<br /> d (J (q)q) d (J (q)) J (q)<br /> J (q)q q J (q)q (q En )(E1 q)<br /> dt dt q<br /> J (q) J (q)<br /> J (q)q (qE1 ) (Enq) J (q)q (q q) .<br /> q q<br /> b) (E p xn 1 ) A p md m 1 (A En )(d x) . (12)<br /> Proof.<br /> (E p x)Ad (E p x)(Ad E1 ) (E p Ad) (xE1 ) (Ad) (En x) (A En )(d x) .<br /> <br /> c) dp 1 xn 1 (d En )x . (13)<br /> Proof.<br /> dp 1 xn 1 (dE1 ) (En x) (d En )(E1 x) (d E n )x .<br /> <br /> d) (E p xn 1 )A p rm (Er y m 1 )dr 1 (A En )(d Enm )(y x) . (14)<br /> Proof.<br /> <br /> <br /> <br /> 114<br /> Kinematic and dynamic analysis of multibody systems using the Kronecker product<br /> <br /> <br /> <br /> (E p x)A(Er y )d (E p x)A(Er y )Er d (E p x)A(E r E m )(d y)<br /> (E p x)A(d y) (A En )(d y x) ( A En )(d Enm )(y x)<br /> in which (12) and (13) are also used.<br /> <br /> 2.2. Skew-symmetric matrix associated to cross product and its generalization<br /> <br /> To present the cross product of two 3 1 vectors in the form of the matrix product, the skew-<br /> symmetric matrix of vector<br /> T<br /> a a1 a2 a3<br /> is defined as [9, 13]<br /> 0 a3 a2<br /> a a3 0 a1 . (15)<br /> a2 a1 0<br /> We can also define the block skew-symmetric matrix of a 3-row matrix<br /> α1T<br /> A αT2<br /> αT3<br /> as<br /> 0T αT3 αT2<br /> A αT3 0T α1T . (16)<br /> αT2 α1T 0T<br /> With this definition, we have<br /> Aa A(E3 a) (17)<br /> and<br /> <br /> aA3 m A(a Em ) . (18)<br /> <br /> <br /> 3. TRANSLATIONAL AND ROTATIONAL JACOBIAN AND HESSIAN MATRICES<br /> <br /> 3.1. Translational and rotational Jacobian matrices<br /> <br /> Consider two frames (a) : Oa xa ya za and (b) : Ob xb yb zb , the linear velocity of frame (b) with<br /> respect to frame (a) is determined in the form of an algebraic vector a vb as<br /> a<br /> vb( a ) a<br /> db( a ) (19)<br /> where a db is the algebraic form of Oa Ob . The right superscripts indicate the frames on which<br /> the vectors are based.<br /> <br /> <br /> <br /> 115<br /> Nguyen Thai Minh Tuan, Pham Thanh Chung, Do Dang Khoa, Phan Dang Phong<br /> <br /> <br /> <br /> The angular velocity of frame (b) with respect to frame (a) a ωb can be calculate as follows [9,<br /> 13]<br /> a<br /> ωb( a ) Ab( a ) Ab( a )T (20)<br /> or<br /> a<br /> ωb(b ) Ab( a )T Ab( a ) (21)<br /> where Ab( a) is the direction cosine matrix of frame (b) with respect to frame (a) and is<br /> determined as<br /> Ab( a) [xb( a) , yb( a) , zb( a) ] (22)<br /> with xb( a ) , yb( a) and zb( a ) are the unit vectors of the axes of frame (b) written in frame (a) .<br /> Note that<br /> Ab( a)T A(ab) (23)<br /> and<br /> A(ab)u( a) u(b) (24)<br /> with u(.) is the algebraic form of an arbitrary vector.<br /> Now suppose that the position and direction of frame (b) with respect to frame (a) is<br /> determined by a vector of variables q<br /> T<br /> q q1 q2 qn . (25)<br /> It means<br /> a<br /> db( a ) a<br /> db( a) (q) (26)<br /> and<br /> Ab( a) Ab( a) (q) . (27)<br /> Taking derivative of (26) with respect to time and noting (19) yield<br /> a<br /> a db( a ) (q)<br /> vb( a ) q. (28)<br /> q<br /> With the introduction of the translational Jacobian matrix a JT( ab ) of frame (b) with respect to<br /> frame (a)<br /> a<br /> a db( a ) (q)<br /> JT( ab ) (q) , (29)<br /> q<br /> equation (28) can be rewritten as<br /> a<br /> vb( a ) a<br /> JT( ab )q . (30)<br /> Denoting<br /> <br /> <br /> <br /> <br /> 116<br /> Kinematic and dynamic analysis of multibody systems using the Kronecker product<br /> <br /> <br /> a<br /> a db( a ) (q)<br /> JT(bb ) (q) A(ab ) (q) A(ab ) (q) a JT( ab ) (q) , (31)<br /> q<br /> we also have<br /> a<br /> vb(b) a<br /> JT(bb )q . (32)<br /> In general, one can write<br /> a<br /> vb( k ) a<br /> JT( kb )q (33)<br /> and<br /> a<br /> JT( kb ) Al( k ) a JT(lb) (34)<br /> <br /> but it should be noted that a JT(.)b in this case may depend on variables other than those in q and<br /> (34) is only valid if the elements in q are linearly independent.<br /> Equation (20) can be rewritten as<br /> 0 x (ab )T y (ab ) x (ab )T z (ab )<br /> a<br /> ωb( a ) A (ab )T A (ab ) y a xa<br /> ( b )T ( b )<br /> 0 y (ab )T z (ab ) . (35)<br /> z (ab )T x(ab ) ( b )T ( b )<br /> za ya 0<br /> Hence,<br /> z (ab )<br /> y (ab )T<br /> q<br /> z (ab )T y (ab ) y (ab )T z (ab )<br /> x(ab )<br /> a<br /> ωb( a ) x(ab )T z (ab ) z (ab )T x(ab ) z (ab )T q. (36)<br /> q<br /> y (ab )T x(ab ) x(ab )T y (ab )<br /> y (ab )<br /> x(ab )T<br /> q<br /> Now denote the rotational Jacobian matrix of frame (b) with respect to frame (a)<br /> <br /> z (ab )<br /> y (ab )T<br /> q<br /> a x(ab )<br /> J (Rab) (q) z (ab )T . (37)<br /> q<br /> y (ab )<br /> x(ab )T<br /> q<br /> Equation (36) is rewritten as<br /> a<br /> ωb( a ) a<br /> J (Rab)q . (38)<br /> Similarly, from (21) we have<br /> a<br /> ωb(b) a<br /> J (Rbb)q (39)<br /> where<br /> <br /> <br /> 117<br /> Nguyen Thai Minh Tuan, Pham Thanh Chung, Do Dang Khoa, Phan Dang Phong<br /> <br /> <br /> <br /> y b( a )<br /> z b( a )T<br /> q<br /> a z b( a )<br /> J (Rbb) (q) xb( a )T . (40)<br /> q<br /> xb( a )<br /> y b( a )T<br /> q<br /> Similar to the case of translational Jacobian matrix, one can write<br /> a<br /> ωb( k ) a<br /> J (Rkb)q (41)<br /> and, if the elements in q are linearly independent,<br /> a<br /> J (Rkb) Al( k ) a J (Rlb) . (42)<br /> It is important in dynamics to determine not only the motion of the frame origin but also the<br /> velocity of the center of mass of a rigid body attached to that frame. Denote pb(.) as the algebraic<br /> vector of ObGb , we have<br /> <br /> a d a (a) d a (a)<br /> v G( ab) ( db pb( a ) ) ( db Ab( a ) pb(b ) ) a<br /> v b( a ) A b( a )pb(b ) a<br /> v b( a ) A b( a ) A b( a )T A b( a )p b( b )<br /> dt dt<br /> a (a)<br /> vb ωb p b<br /> a (a) (a)<br /> JTb q pb( a ) a ωb( a )<br /> a (a) a<br /> JT( ab ) q pb( a ) a J (Rab) q<br /> ( a JT( ab ) pb( a ) a J (Rab) )q<br /> (43)<br /> or<br /> a<br /> vG( ab) a (a)<br /> JTG b<br /> q (44)<br /> <br /> with a JTG<br /> (a)<br /> b<br /> is the translational Jacobian matrix of point Gb on frame (b) with respect to frame<br /> (a)<br /> a (a) a<br /> JTG b<br /> JT( ab ) pb( a ) a J (Rab) a<br /> JT( ab ) a<br /> J (Rab) (pb( a ) En ) . (45)<br /> Similarly, we have<br /> a<br /> vG(bb) a (b )<br /> JTG b<br /> q (46)<br /> where<br /> a (b) a<br /> JTG b<br /> JT(bb ) pb(b) a J (Rbb) . (47)<br /> Base-changing rule is also valid in this case<br /> a (b)<br /> JTG b<br /> A(ab) a JTG<br /> (a)<br /> b<br /> . (48)<br /> Equations (44)-(48) are applicable to any point fixed on frame (b) .<br /> <br /> 3.2. Translational and rotational Hessian matrices<br /> <br /> Taking derivative of (30) with respect to time and noting (11) yield<br /> <br /> 118<br /> Kinematic and dynamic analysis of multibody systems using the Kronecker product<br /> <br /> <br /> a<br /> a (a) a (a)<br /> JT( ab )<br /> v b J q Tb (q q) . (49)<br /> q<br /> The left-hand side of (49) is the linear acceleration a ab( a) of frame (b) with respect to frame<br /> (a) :<br /> a<br /> ab( a ) a<br /> vb( a ) . (50)<br /> We now introduce the translational Hessian matrix a HT( ab ) of frame (b) with respect to frame<br /> (a)<br /> a<br /> a<br /> JT( ab ) (q) 2 a<br /> db( a ) (q)<br /> HT( ab ) (q) (51)<br /> q q2<br /> and rewrite (49) as<br /> a<br /> ab( a ) a<br /> JT( ab )q a<br /> HT( ab ) (q q) . (52)<br /> <br /> However, note that (51) is not the only matrix a HT( ab ) satisfying (52) because the elements in<br /> (q q) are not linearly independent.<br /> It should also be noted that in mathematics, the Hessian matrix might be understood to be a<br /> square matrix with elements being second derivatives of a scalar function [14], which is not<br /> applicable here because the position of a frame is a vector function.<br /> Similarly, denoting<br /> a<br /> a<br /> JT(bb ) (q)<br /> HT(bb ) (q) , (53)<br /> q<br /> we have<br /> a<br /> vb(b) a<br /> JT(bb )q a<br /> HT(bb ) (q q) . (54)<br /> However, it should be noted that<br /> a<br /> vb(b) a<br /> ab(b) (55)<br /> and<br /> a<br /> HT(bb ) (q) A(ab) a HT( ab ) (q) . (56)<br /> The two Hessian matrices are related by the following expression<br /> a Ab( a ) a (b )<br /> HT( ab ) (Ab( a ) a JT(bb ) ) Ab( a ) a HT(bb ) ( JTb (q) En ) . (57)<br /> q q<br /> Denoting<br /> a<br /> H*(Tbb ) A(ab) a HT( ab ) , (58)<br /> we have<br /> a<br /> ab(b) a<br /> JT(bb )q a<br /> H*(Tbb ) (q q) . (59)<br /> Similarly, we define the rotational Hessian matrices<br /> <br /> 119<br /> Nguyen Thai Minh Tuan, Pham Thanh Chung, Do Dang Khoa, Phan Dang Phong<br /> <br /> <br /> a<br /> a (a)<br /> J (Rab) (q)<br /> H (q) Rb (60)<br /> q<br /> and<br /> a<br /> a (b)<br /> J (Rbb) (q)<br /> H (q)Rb . (61)<br /> q<br /> Taking derivative of (38) and (39) with respect to time yields<br /> a<br /> J (Rab)<br /> a<br /> αb( a ) a<br /> ωb( a ) a<br /> J (Rab) q (q q) a<br /> J (Rab)q a<br /> H(Rab) (q q) (62)<br /> q<br /> and<br /> a<br /> J (Rbb)<br /> a<br /> ωb(b ) a<br /> J (Rbb)q (q q) a<br /> J (Rbb)q a<br /> H(Rbb) (q q) . (63)<br /> q<br /> Unlike the case of translation, we have the simple relation of angular acceleration<br /> a<br /> ωb(b) a<br /> αb(b) . (64)<br /> This can be proved as follows<br /> d ( A (ab ) a ωb( a ) )<br /> a<br /> ωb(b ) A (ab ) a ωb( a ) A (ab ) a ωb( a ) A (ab ) a α b( a ) (A b( a ) A b( a ) )T A (ab ) a ωb( a )<br /> dt<br /> a<br /> αb(b) a<br /> ωb(b) a ωb(b) a<br /> αb(b) .<br /> As a consequence, from (62)-(64) one can write<br /> a<br /> H(Rbb) (q q) A(ab) a H(Rab) (q q) . (65)<br /> It should be note that we cannot simply eliminate (q q) from both sides of (65) because this<br /> vector includes linearly dependent elements. Nevertheless, in practice, the Hessian matrices<br /> always go with (q q) so when calculating Hessian matrices, one does not have to care much<br /> about this problem.<br /> Deriving (44) with respect to time, one obtains<br /> a<br /> aG( ab) a (a)<br /> JTG b<br /> q a (a)<br /> HTG b<br /> (q q) (66)<br /> where<br /> a (a)<br /> a (a)<br /> JTG<br /> HTG b<br /> . (67)<br /> b<br /> q<br /> Equations (52) and (62) are practical forms to express accelerations and angular accelerations as<br /> functions of generalized coordinates and their time derivatives. In these forms, the generalized<br /> coordinates q lie only in the Jacobian and Hessian matrices and these matrices are treated as<br /> coefficients for q and (q q) respectively. Hence, these forms are capable of displaying two<br /> important characteristics of accelerations and angular accelerations: they are linear functions of<br /> generalized accelerations and are quadratic functions of generalized velocities.<br /> <br /> 3.3. Jacobian and Hessian matrices in relative motion<br /> <br /> 120<br /> Kinematic and dynamic analysis of multibody systems using the Kronecker product<br /> <br /> <br /> <br /> Consider the third frame (c) : Oc xc yc zc . The velocities of this frame with respect to frame (b)<br /> are<br /> b<br /> v(cb) b<br /> JT(bc )q , (68)<br /> b<br /> ω(cb) b<br /> J (Rbc)q , (69)<br /> b<br /> vG(bc) b (b)<br /> JTG c<br /> q. (70)<br /> By deriving the position relations<br /> a<br /> d(ca ) a<br /> db( a) Ab( a ) b d(cb) , (71)<br /> A(ca) Ab( a) A(cb) , (72)<br /> a (a) a<br /> Gcr dc( a ) Ab( a ) Ac(b)pG(cc)<br /> (73)<br /> with respect to time, we obtain<br /> a<br /> v(ca ) a<br /> vb(a ) a<br /> ωb(a ) b dc(a ) b<br /> vc(a ) , (74)<br /> a<br /> ω(ca ) a<br /> ωb( a ) b<br /> ω(ca) , (75)<br /> a<br /> vG( ac) a<br /> v(ca ) a<br /> ω(ca )pG( ac) . (76)<br /> Thus,<br /> a<br /> JT( ac ) a<br /> JT( ab ) b<br /> d(ca ) a J (Rab) b<br /> JT( ac ) , (77)<br /> a<br /> J (Rac ) a<br /> J (Rab) b<br /> J (Rac) , (78)<br /> a (a) a<br /> JTG c<br /> JT( ac ) pG( ac) a J(Rac) . (79)<br /> Rewriting (77)-(79) in frame (c) yields<br /> a<br /> JT( cc ) Ab( c ) a JT(bb ) Ab( c ) b dc(b ) a J (Rbb) b<br /> JT( cc ) , (80)<br /> a<br /> J(Rcc) Ab(c ) a J(Rbb) b<br /> J(Rcc) , (81)<br /> a (c ) a<br /> JTG c<br /> JT(cc ) pG(cc) a J (Rcc) . (82)<br /> Continuing to take derivative of (74)-(76) with respect to time yields<br /> a<br /> a(ca ) a<br /> ab( a ) a<br /> α b( a ) b d(ca ) a<br /> ωb( a ) b d(ca ) b<br /> v(ca )<br /> , (83)<br /> a<br /> ab( a ) a<br /> α b( a ) b d(ca ) 2 a ωb( a ) b v (ca ) a<br /> ωb( a ) a ωb( a ) b d(ca ) b<br /> a(ca )<br /> a<br /> α (ca ) a<br /> αb( a ) b<br /> α c( a ) Ab( a ) A(ab ) Ab( a ) b ωc(b ) a<br /> αb( a ) b<br /> α c( a ) a<br /> ωb( a ) b ωc( a ) , (84)<br /> a<br /> aG( ac) a<br /> ac( a ) a<br /> αc( a )pG( ac) a<br /> ωc(a ) a ωc(a )pG(ac) . (85)<br /> Therefore, using (11)-(14) and (16), we have<br /> a<br /> HT( ac ) (q q)<br /> (86)<br /> ( a HT( ab ) b<br /> d(ca ) a H(Rab) 2 a J (Rab) ( b JT( ac ) En ) a<br /> J (Rab) ( a J (Rab) En )( b d(ca ) Enn ) A(ba ) b HT( bc ) )(q q),<br /> <br /> <br /> <br /> 121<br /> Nguyen Thai Minh Tuan, Pham Thanh Chung, Do Dang Khoa, Phan Dang Phong<br /> <br /> <br /> a<br /> H(Rac ) (q q) ( a H(Rab) Ab( a ) b H(Rbc) a<br /> J (Rab) ( b J (Rac ) En ))(q q) , (87)<br /> a (a)<br /> HTG c<br /> (q q) ( a HT( ac ) pG( ac) a H(Rac ) a<br /> J (Rac ) ( a J (Rac ) En )(pG( ac) Enn ))(q q) . (88)<br /> Rewriting (86)-(88) in frame (c) yields<br /> a<br /> H*(Tcc ) Ab( c ) a H*(Tbb ) b<br /> d c( c ) Ab( c ) a H (Rbb) 2Ab( c ) a J (Rbb) ( b JT( cc ) En )<br /> , (89)<br /> Ab( c ) a J (Rbb) ( Ab( c ) a J (Rbb) En )( b d(cc ) Enn ) b<br /> H*(Tcc )<br /> a<br /> H(Rcc) (q q) ( Ab( c ) a H(Rbb) b<br /> H(Rcc) Ab( c ) a J (Rbb) ( b J (Rcc) En ))(q q) , (90)<br /> a<br /> H*(TGc )c (q q) ( a H*(Tcc ) pG( cc) a H(Rcc) a<br /> J (Rcc) ( a J (Rcc) En )(pG( cc) Enn ))(q q) . (91)<br /> It can be seen that these matrix relations are analogous to the known vector relations for relative<br /> motion.<br /> <br /> 4. A NEW MATRIX FORM OF LAGRANGE’S EQUATIONS<br /> <br /> The general form of Lagrange’s equations of second kind for a n -DOF serial multibody is<br /> written as<br /> T T<br /> d T T<br /> f, (92)<br /> dt q q<br /> in which q is a n 1 vector containing generalized independent coordinates, f is a n 1 vector<br /> containing generalized force, and scalar T is the kinetic energy of the whole system which is<br /> usually expressed as<br /> 1 T<br /> T q M(q)q (93)<br /> 2<br /> or with vec(.) function as<br /> 1 T<br /> (q qT )vec(M(q))<br /> T (94)<br /> 2<br /> where the inertia matrix is determined as follows<br /> n<br /> T<br /> M(q) (mi JTGi<br /> JTGi JTRi IGi J Ri ) . (95)<br /> i 1<br /> <br /> where mi and IG(.)i are the mass and the matrix of inertia tensor of the i -th body, respectively. In<br /> (95), the superscripts are omitted for the sake of simplicity. The left superscripts are all zeros<br /> while the right superscripts should be the same for all the matrices that are multiplied to each<br /> other.<br /> Substituting (93) into (92), one obtains [3, 5]<br /> M(q)q C(q, q)q f (96)<br /> where<br /> <br /> <br /> <br /> 122<br /> Kinematic and dynamic analysis of multibody systems using the Kronecker product<br /> <br /> <br /> T<br /> M(q) 1 M(q)<br /> C(q, q) (E n q) (q En ) (97)<br /> q 2 q<br /> is a new form of the Coriolis/centripetal matrix, which is usually calculated by Christoffel<br /> symbols [9]. Matrix equation (96) does not explicitly show that the second term is a quadratic<br /> function of q . To derive an equation with a quadratic expression of q , the derivatives of T are<br /> calculated as follows<br /> T<br /> d T d M(q) M(q)<br /> (M(q)q) M(q)q (En q)q M(q)q (q q) , (98)<br /> dt q dt q q<br /> T T T<br /> T 1 vec(M) 1 vec(M)<br /> (qT q ) T<br /> (q q) . (99)<br /> q 2 q 2 q<br /> Now (92) can be rewritten as<br /> M(q)q C* (q)(q q) f (100)<br /> where the velocity-free Coriolis/centripetal matrix is given as<br /> T<br /> M(q) 1 vec(M)<br /> C* (q) . (101)<br /> q 2 q<br /> <br /> <br /> 5. APPLIED EXAMPLE<br /> <br /> Consider a stacker used in mining field (Fig. 1). Its schematic diagram with Denavit-<br /> Hartenberg coordinate systems is shown in Fig. 2 and the symbolic kinematic parameters are<br /> given in Table 1 and kinetic parameters in Table 2. Here the kinetic parameters are simplified to<br /> make it simple when comparing the considered form of Lagrange’s equations with the<br /> conventional forms.<br /> <br /> <br /> <br /> <br /> Figure 1. The stacker used in mining field (without bucket grab).<br /> <br /> <br /> <br /> <br /> 123<br /> Nguyen Thai Minh Tuan, Pham Thanh Chung, Do Dang Khoa, Phan Dang Phong<br /> <br /> <br /> <br /> x3<br /> <br /> <br /> a3<br /> z3<br /> z1<br /> q3<br /> x2<br /> <br /> q2<br /> z2<br /> <br /> q1 d2<br /> <br /> <br /> <br /> <br /> z0<br /> <br /> x0<br /> y0<br /> x1<br /> <br /> Figure 2. The stacker’s schematic diagram with Denavit-Hartenberg coordinate systems.<br /> <br /> Table 1. Denavit-Hartenberg parameters of the stacker.<br /> <br /> Parameter di ai<br /> i i<br /> Body<br /> 1 q1 0 0 /2<br /> <br /> 2 d2 q2 0 /2<br /> <br /> 3 0 q3 a3 0<br /> <br /> <br /> Table 2. Kinetic parameters of the stacker.<br /> <br /> Parameter I ixx I iyy Iizz I ixy I ixz I iyz p(Gii)<br /> Body<br /> 2 I2x I2 y I 2z 0 0 0 T<br /> 0, yG2 ,0<br /> <br /> 3 I3x I3 y I3z 0 0 0 T<br /> a3 l3 ,0,0<br /> <br /> 5.1. Kinematic analysis<br /> <br /> <br /> 124<br /> Kinematic and dynamic analysis of multibody systems using the Kronecker product<br /> <br /> <br /> <br /> The kinematic of frame (3) can be characterized by its Jacobian and Hessian matrices as<br /> follow:<br /> 0 a3 sin q2 cos q3 a3 cos q2 sin q3<br /> 0 (0)<br /> J T3 0 0 a3 cos q3 , (102)<br /> 1 a3 cos q2 cos q3 a3 sin q2 sin q3<br /> <br /> 0 0 0 0 a3 cos q2 cos q3 a3 sin q2 sin q3 0 a3 sin q2 sin q3 a3 cos q2 cos q3<br /> 0 (0)<br /> H T3 0 0 0 0 0 0 0 0 a3 sin q ,<br /> 0 0 0 0 a3 sin q2 cos q3 a3 cos q2 sin q3 0 a3 cos q2 sin q3 a3 sin q2 cos q3<br /> (103)<br /> 0 0 sin q2<br /> 0<br /> J (0)<br /> R3 0 1 0 , (104)<br /> 0 0 cos q2<br /> <br /> 0 0 0 0 0 0 0 cos q2 0<br /> 0<br /> H (0)<br /> R3 0 0 0 0 0 0 0 0 0 . (105)<br /> 0 0 0 0 0 0 0 sin q2 0<br /> <br /> Here, the Hessian matrices are computed by using (51) and (60). The calculations can be<br /> performed manually or automatically. Note that the Kronecker product is already built in<br /> common technical software such as kron in Matlab and KroneckerProduct in<br /> Mathematica/Wolfram Alpha. By storing the matrices in (102)-(105), a computer program can<br /> easily compute all the velocities and accelerations needed for a kinematic analysis using (30),<br /> (38), (44), (52), (62), and (66).<br /> <br /> 5.2. Dynamic analysis<br /> <br /> The mass matrix and velocity-free Coriolis/centripetal matrix are<br /> m1 m2 m3 m3l3C2C3 m3l3 S2 S3<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2