2.4 Dynamic Model of a Mobile System With Constraints

The kinematic model only describes static transformation of some robot velocities (pseudo velocities) to the velocities expressed in global coordinates. However, the dynamic motion model of the mechanical system includes dynamic properties such as system motion caused by external forces and system inertia. Using Lagrange formulation, which is especially suitable to describe mechanical systems [14], the dynamic model reads

ddtLq˙kLqk+Pq˙k+gk+τdk=fk

si123_e  (2.46)

where index k describes the general coordinates qk (k = 1, …, n), Lsi124_e defines the Lagrangian (difference between kinetic and potential energy of the system), P is the power dissipation function due to friction and damping in the system, gk are the forces due to gravitation, τdksi125_e are the system disturbances, and fk are the general forces (external influences to the system) related to the general coordinate qk. Eq. (2.46) is valid only for a nonconstrained system, that is, for the system without constraints that has n DOFs and no velocity constraints.

For systems with motion constraints the dynamic motion equations are given using Lagrange multipliers [15] as follows:

ddtLq˙kLqk+Pq˙k+gk+τdk=fkj=1mλjajk

si126_e  (2.47)

where m is the number of linearly independent motion constraints, λj is the Lagrange multiplier associated with the jth constraint relation, and ajk (j = 1, …, m, k = 1, …, n) are coefficients of the constraints.

The final set of equations consists of n + m differential and algebraic equations (n Lagrange equations and m constraints equations) with n + m unknowns (n general coordinates qk and m Lagrange multipliers λj). Equations are differential in generalized coordinates and algebraic regarding Lagrange multipliers.

A dynamic model (2.47) of some mechanical system with constraints can be expressed in matrix form as follows:

M(q)q¨+V(q,q˙)+F(q˙)+G(q)+τd=E(q)uAT(q)λ

si127_e  (2.48)

where the meaning of matrices is described in Table 2.1.

Table 2.1

Meaning of matrices in the dynamic model (2.48)

qVector of generalized coordinates (dimension n × 1)
M(q)Positive-definite matrix of masses and inertia (dimension n × n)
V(q,q˙)si128_eVector of Coriolis and centrifugal forces (dimension n × 1)
F(q˙)si129_eVector of friction and dumping forces (dimension n × 1)
G(q)Vector of forces and torques due to gravity (dimension n × 1)
τdVector of unknown disturbances including unmodeled dynamics (dimension n × 1)
E(q)Transformation matrix from actuator space to generalized coordinate space (dimension n × r)
uInput vector (dimension r × 1)
AT(q)Matrix of kinematic constraint coefficients (dimension m × n)
λVector of constraint forces (Lagrange multipliers) (dimension m × 1)

2.4.1 State-Space Representation of the Dynamic Model of a Mobile System With Constraints

In the sequel a state-space dynamic model for a system with m kinematic constraints is derived. Then partial linearization of the system state-space description is performed using a nonlinear feedback relation [6] that enables the second-order kinematic model to be obtained.

A dynamic system with m kinematic constraints is described by

M(q)q¨+V(q,q˙)+F(q˙)+G(q)=E(q)uAT(q)λ

si130_e  (2.49)

where the influence of unknown disturbances and unmodeled dynamics from Eq. (2.48) is left out. The kinematic motion model is given by

q˙=S(q)v(t)

si131_e  (2.50)

The dynamic model (2.49) and kinematic model (2.50) can be joined to a single state-space description. A unified description of nonholonomic and holonomic constraints can be found in [16], where holonomic constraints are expressed in differential (with velocities) form like nonholonomic constraints.

Due to shorter notation the dependence on q is omitted in the following equations (e.g. M(q) or S(q) is written as M or S, respectively). A time derivative of Eq. (2.50) is

q¨=S˙v+Sv˙

si132_e  (2.51)

Inserting into Eq. (2.49) and expressing generalized coordinates q with pseudo velocities v results in

MS˙v+MSv˙+V+F+G=EuATλ

si133_e  (2.52)

The presence of Lagrangian multipliers λ due to motion constraints can be eliminated by considering relation AS = 0 and its transform STAT = 0. Multiplying Eq. (2.52) by ST therefore gives a reduced dynamical model:

STMS˙v+STMSv˙+STV+STF+STG=STEu

si134_e  (2.53)

where Lagrange multipliers λ are eliminated. Introducing M~=STMSsi135_e, V~=STMS˙v+ST(V+F+G)si136_e, and E~=STEsi137_e gives a more transparent notation,

M~v˙+V~=E~u

si138_e  (2.54)

from where a vector of pseudo accelerations v˙si139_e is expressed:

v˙=M~1E~uV~

si140_e  (2.55)

If condition detSTE0si141_e is true (which in most of realistic examples is) then from Eq. (2.54) the system input can be expressed as

u=E~1M~v˙+V~

si142_e  (2.56)

By extending the state vector with pseudo velocities x = [qTvT]T and presenting the system in nonlinear form x˙=f(x)+g(x)usi143_e (expression f(x) contains nonlinear dependence from states) the state-space representation of the system reads

x˙=SvM~1V~+0n×rM~1E~u

si144_e  (2.57)

where r is the number of inputs in vector u and state vector x has the dimension (2nm) × 1.

Using the inverse model (2.56) the required system input can be calculated for the desired pseudo accelerations of the system. Applying these inputs to Eq. (2.57) the resulting model becomes

x˙=Sv0(nm)×1+0n×(nm)I(nm)×(nm)uz

si145_e  (2.58)

where uz are pseudo accelerations of the system. Relation (2.56) can therefore be used for calculating the required predicted system inputs. These inputs can be used to control the system without feedback (open-loop control) or they are better used as feedforward control in combination with some feedback control.

2.4.2 Kinematic and Dynamic Model of Differential Drive Robot

The differential drive vehicle in Fig. 2.3 has two wheels usually powered by electric motors. Let us assume that the vehicle mass center coincides with its geometric center. The mass of the vehicle without the wheels is mv, and the mass of the wheels is mw. The vehicle moves on the plane and its moment of inertia around the z-axis is Jv (z is in the normal direction to the plane), and the moment of inertia for the wheels is Jw.

In practice usually the mass of the wheels is much smaller than the mass of the casing; therefore a common mass m and inertia J can be used. The vehicle is described by three generalized coordinates q = [x, y, φ] and its input is the torque on the left and the right wheel, τl and τr, respectively (Fig. 2.18).

f02-18-9780128042045
Fig. 2.18 Vehicle with differential drive.

Kinematic Model and Constraints

The kinematic model (2.2) of the vehicle is

x˙y˙φ˙=cos(φ)0sin(φ)001vω

si146_e

The nonholonomic motion constraint is

x˙sinφ+y˙cosφ=0

si147_e

which means that the reachable motion directions are columns of the kinematic matrix

S=cos(φ(t))0sin(φ(t))001

si148_e  (2.59)

and the constraint coefficient matrix is

A=sinφcosφ0

si149_e  (2.60)

Dynamic Model

The dynamic model is derived by Lagrange formulation:

ddtLq˙kLqk+Pq˙k=fkj=1mλjajk

si150_e  (2.61)

where unknown disturbance τdksi125_e from relation (2.47) is omitted. Similarly the forces and the torques due to the gravitation gk are not present because the vehicle drives on the plane where the potential energy is constant (without loss of generality WP = 0 can be assumed).

Overall, kinetic energy of the system reads

WK=m2x˙2+y˙2+J2φ˙2

si152_e  (2.62)

The potential energy is WP = 0, so the Lagrangian is

L=WKWP=m2x˙2+y˙2+J2φ˙2

si153_e  (2.63)

Additionally damping and friction at the wheels rotation can be neglected (P = 0). Forces and torques in Eq. (2.61) are

ddtLx˙=mx¨ddtLy˙=mÿddtLφ˙=Jφ¨

si154_e  (2.64)

and

Lx=0Ly=0Lφ=0

si155_e  (2.65)

According to Lagrange formulation (2.61) the following differential equations are obtained:

mx¨λ1sinφ=Fxmÿ+λ1cosφ=FyJφ¨=M

si156_e  (2.66)

where the resultant force on the left and the right wheel is F=1r(τr+τl)si157_e and r is the wheel radius. The force in the x-axis direction is Fx=1r(τr+τl)cosφsi158_e and in the y-axis it is Fy=1r(τr+τl)sinφsi159_e. Torque on the vehicle is obtained by M=L2r(τrτl)si160_e, where L is the distance among the wheels. Therefore, the final model is

mx¨λ1sinφ1r(τr+τl)cosφ=0mÿ+λ1cosφ1r(τr+τl)sinφ=0Jφ¨L2r(τrτl)=0

si161_e  (2.67)

The obtained dynamic model written in matrix form is

M(q)q¨+V(q,q˙)+F(q˙)=E(q)uAT(q)λ

si162_e

where matrices are

M=m000m000JE|=1rcosφcosφsinφsinφL2L2A=sinφcosφ0u=τrτl

si163_e

and the remaining matrices are zero.

The common state-space model (2.57) that includes the kinematic and dynamic model is determined by matrices

M~=m00JV~=00E~=1r11L2L2

si164_e

and according to Eq. (2.57) the system can be written in the state-space form x=f(x)+g(x)u˙si165_e, where the state vector is x = [qT, vT]T. The resulting model is

x˙y˙φ˙v˙ω˙=vcosφvsinφω00+0000001mr1mrL2JrL2Jrτrτl

si166_e  (2.68)

The inverse system model is obtained by taking into account Eq. (2.56) as

τrτl=v˙mr2+ω˙JrLv˙mr2ω˙JrL

si167_e  (2.69)

Using the inverse model the required input torques to the wheels can be obtained from the known robot velocities and accelerations. The obtained input torques can be applied in open-loop control or better as a feedforward part in a closed-loop control.

Example 2.9

Derive the kinematic and dynamic model for a vehicle with differential drive in Fig. 2.19. Express the models with the coordinates of the mass center (xc, yc), which are distance d away from the geometric center (x, y).

f02-19-9780128042045
Fig. 2.19 Vehicle with differential drive with a different mass center (xc, yc) and geometric center (x, y).

Solution

Considering the transformation between the geometric and mass center x=xcdcosφsi168_e and y=ycdsinφsi169_e and their time derivatives x˙=x˙c+dφ˙sinφsi170_e and y˙=y˙cdφ˙cosφsi171_e and inserting the derivatives to kinematic model (Fig. 2.3), the final kinematic model and kinematic constraint for the mass center are obtained:

x˙cy˙cφ˙=cos(φ)dsin(φ)sin(φ)dcos(φ)01vω

si172_e

x˙csinφ+y˙ccosφφ˙d=0

si173_e

The Lagrangian for the mass center is L=m2x˙c2+y˙c2+J2φ˙2si174_e. Considering relation (2.61) the dynamic model is

mx¨cλ1sinφ=1r(τr+τl)cosφmÿc+λ1cosφ=Fy=1r(τr+τl)sinφJφ¨λ1d=L2r

si175_e

and matrices for the model in matrix form are the following:

M=m000m000JE=1rcosφcosφsinφsinφL2L2A=sinφcosφdS=cos(φ(t))dsin(φ)sin(φ(t))dcos(φ)01

si176_e

Considering Eq. (2.57) the overall state-space representation of the system reads

x˙cy˙cφ˙v˙ω˙=vcosφωdsinφvsinφ+ωdcosφωdω2dvωmmd2+J+0000001mr1mrL2r(d2m+J)L2r(d2m+J)τrτl

si177_e  (2.70)

Example 2.10

Derive the kinematic and dynamic model for a vehicle in Example 2.9 where the mass center and geometric center are not the same. Express the models using coordinates of the geometric center (x, y), which could be more appropriate in case that the mass center of the vehicle is changing due to a varying load.

Solution

The kinematic model and kinematic constraint for the geometric center are obtained:

x˙y˙φ˙=cos(φ)0sin(φ)001vωx˙csinφ+y˙ccosφ=0

si178_e

The Lagrangian is L=m2x˙c2+y˙c2+J2φ˙2si174_e, where the mass center is expressed by the geometric center. The final state-space model is

x˙y˙φ˙v˙ω˙=vcosφvsinφωdω2dωm(x˙cosφ+y˙sinφvcos(2φ)dωsin(2φ))md2+J+0000001mr1mrL2dsin(2φ)2r(d2m+J)L2dsin(2φ)2r(d2m+J)τrτl

si180_e  (2.71)

Example 2.11

Using Matlab calculate the required torques so that the mobile robot from Example 2.9 will drive along the reference trajectory xr=1.1+0.7sin(2π/30)si181_e, yr=0.9+0.7sin(4π/30)si182_e without using sensors (open-loop control). In the simulation calculate robot torques using the inverse dynamic model, and depict system trajectory. Robot parameters are m = 0.75 kg, J = 0.001 kg m2, L = 0.075 m, r = 0.024 m, and d = 0.01 m.

Solution

The inverse robot model considering relation (2.56) is

τrτl=r(v˙mdω2m)2+rω˙md2+J+dω2mLr(v˙mdω2m)2rω˙md2+J+dω2mL

si183_e

From the reference, trajectory reference velocity vr and reference angular velocity ωr and their time derivatives v˙rsi184_e and ω˙rsi185_e are calculated.

Obtained responses using Matlab simulation in Listing 2.3 are shown in Figs. 2.20 and 2.21. 6.88.8

f02-20-9780128042045
Fig. 2.20 Obtained robot path (solid line) and the reference path (dashed line).
f02-21-9780128042045
Fig. 2.21 Wheel torques.

Listing 2.3

Inverse robot dynamic model

1 Ts = 0.033; %  Sampling time

2 t = 0: Ts : 3 0 ; %  Simulation time

4  %  Reference

5  freq =  2*pi/30;

6     xRef = 1.1 +  0.7*sin( freq *t ) ;  yRef = 0.9 +  0.7*sin(2* freq *t ) ;

7    dxRef = freq *0.7*cos( freq *t ) ;  dyRef =  2* freq *0.7*cos(2* freq *t ) ;

8  ddxRef =− freq ˆ2*0.7* sin( freq *t ) ;  ddyRef =−4* freq ˆ2*0.7* sin (2* freq *t ) ;

9  dddxRef =− freq ˆ3*0.7* cos( freq *t ) ;  dddyRef =−8* freq ˆ3*0.7* cos (2* freq *t ) ;

10 qRef = [ xRef ;  yRef ;  atan2( dyRef ,  dxRef ) ] ; %  Reference trajectory

11 vRef =  sqrt( dxRef.ˆ2+dyRef .ˆ2) ;

12 wRef =  ( dxRef .* ddyRef− dyRef .* ddxRef ) . / ( dxRef .ˆ2+dyRef .ˆ2) ;

13 dvRef =  ( dxRef .* ddxRef + dyRef .* ddyRef ) ./ vRef ;

14 dwRef =  ( dxRef .* dddyRef− dyRef .* dddxRef ) ./ vRef .ˆ2 − 2.* wRef .* dvRef ./vRef ;

15

16 q = [ qRef ( : , 1 ) ;  vRef (1) ;  wRef (2) ] ; % I n i t a l  robot state

17 m = 0.75;  J = 0.001;  L = 0.075;  r = 0.024;  d = 0.01; %  Robot parameters

18

19 for k = 1:length( t )

20  %  Calculate torques from the trajectory and inverse model

21  v =  vRef (k) ; w =  wRef(k) ;  dv =  dvRef (k) ;  dw =  dwRef(k) ;

22  tau = [ ( r *(dv* m− d * w * m * w ) ) /2 + ( r *( dw *( m * d ˆ2+J) +  d* w * m *v) )/L; . . .

23   ( r *(dv* m− d * w * m * w ) ) /2  − ( r *( dw *( m * d ˆ2+ J ) +  d* w * m *v) )/L ] ;

24

25  %  Robot motion simulation using kinematic and dynamic model

26  phi =  q (3) ;  v =  q (4) ; w =  q (5) ;

27  F = [ v*cos( phi ) − d * w * sin ( phi ) ; . . .

28   v*sin( phi ) +  d* w *cos( phi ) ; . . .

29   w; . . .

30   d* wˆ2; . . .

31  −( d * w * v * m ) /( m * d ˆ2 + J ) ] ;

32 G = [0 ,   0; . . .

33   0 ,  0; . . .

34   0 ,  0; . . .

35   1/( m *r ) , 1/( m *r ) ; . . .

36   L/(2* r *( m *dˆ2 +  J) ) , − L /(2* r *( m * d ˆ2 + J) ) ] ;

37  dq =  F + G *tau ; %  State space model

38  q =  q +  dq*Ts ; %  Euler integration

39  q (3) =  wrapToPi(q (3) ) ; %  Map  orientation angle to [− pi , pi]

40 end

References

[1] Choset H., Lynch K., Hutchinson S., Kantor G., Burgard W., Kavraki L., Thrun S. Principles of Robot Motion: Theory, Algorithms, and Implementations. Boston, MA: MIT Press; 2005.

[2] Siciliano B., Khatib O. Springer Handbook of Robotics. Berlin: Springer; 2008.

[3] Dudek G., Jenkin M. Computational Principles of Mobile Robotics. New York, NY: Cambridge University Press; 2010.

[4] Klančar G., Škrjanc I. Tracking-error model-based predictive control for mobile robots in real time. J. Intell. Robot. Syst. 2007;55:460–469.

[5] Kolmanovsky I., McClamroch N.H. Developments in nonholonomic control problems. J. Intell. Robot. Syst. 1995;15(6):20–36.

[6] De Luca A., Oriolo G. Kinematics and dynamics of multi-body systems. In: Vienna: CISM International Centre for Mechanical Sciences, Springer; 1995:277–342. Modelling and Control of Nonholonomic Mechanical Systems.

[7] Latombe J.C. Robot Motion Planning. New York: Kluwer Academic Publishers; 1991.

[8] Sarkar N., Yun X., Kumar V. Control of mechanical systems with rolling constraints application to dynamic control of mobile robots. Int. J. Robot. Res. 1994;13(1):55–69.

[9] Hermann R., Krener A.J. Nonlinear controllability and observability. IEEE Trans. Autom. Control. 1977;22(5):728–740.

[10] Brockett R.W. Asymptotic stability and feedback stabilization. In: Boston, MA: Birkhuser; 1983:181–191. Differential Geometric Control Theory.

[11] Laumond J.P. Robot Motion Planning and Control. In: Springer; Lecture Notes in Control and Information Sciences. 1998;vol. 229.

[12] Levine W.S. The Control Handbook. In: second ed. Boca Raton, FL: CRC Press; 2010. Electrical Engineering Handbook.

[13] De Luca A., Oriolo G., Vendittelli M. Control of wheeled mobile robots: an experimental overview. In: Nicosia S., Siciliano B., Bicchi A., Valigi P., eds. Ramsete. Berlin: Springer; 181–226. Lecture Notes in Control and Information Sciences. 2001;vol. 270.

[14] Egeland O., Gravdahl J.T. Modeling and Simulation for Automatic Control. Trondheim, Norway: Marine Cybernetics; 2002.

[15] Li Z., Canny J.F. Nonholonomic Motion Planning. Boston, Dordrecht, London: Kluwer Academic Publishers; 1993.

[16] Yun X. State space representation of holonomic and nonholonomic constraints resulting from rolling contacts. In: IEEE International Conference on Robotics and Automation. Nagoya: IEEE; 1995:2690–2694.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.181.66