Proceedings,18th IFAC Symposium on System Identification Proceedings,18th IFAC Symposium on System Identification Proceedings,18th IFAC System Identification July 9-11, 2018. Stockholm, Sweden on Proceedings,18th IFAC Symposium Symposium July 9-11, 2018. Stockholm, Sweden on System Identification July 9-11, 9-11, 2018. 2018. Stockholm, Stockholm, Sweden Sweden Available online at www.sciencedirect.com July Proceedings,18th IFAC Symposium on System Identification July 9-11, 2018. Stockholm, Sweden
ScienceDirect
IFAC PapersOnLine 51-15 (2018) 437–442
Parametric Identification and Controller Parametric Identification and Controller Parametric Identification and Controller Design for a Differential-Drive Mobile Design for a Differential-Drive Mobile Parametric Identification and Controller Design Mobile ⋆ Design for for a a Differential-Drive Differential-Drive Mobile ⋆ Robot ⋆ Robot Design for a Differential-Drive Mobile ⋆ Robot Robot ⋆ ∗ ∗ Robot Tiago G. Alves Walter F. Lages Renato V. B. Henriques ∗
∗ ∗ ∗ Tiago Tiago G. G. Alves Alves ∗∗∗ Walter Walter F. F. Lages Lages ∗∗∗ Renato Renato V. V. B. B. Henriques Henriques ∗∗∗ Tiago G. Alves Walter F. Lages Renato V. B. Henriques ∗ ∗ do Rio Grande∗ Renato do Sul, Porto Brazil ∗ Tiago G. AlvesFederal Walter F. Lages V. B.Alegre, Henriques ∗ Universidade ∗ Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil ∗ ∗ Universidade Federal do Rio Grande do Sul, Porto Alegre, e-mails: {talves, rventura, fetter}@ece.ufrgs.br Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil Brazil e-mails: {talves, rventura, fetter}@ece.ufrgs.br ∗ e-mails: {talves, rventura, fetter}@ece.ufrgs.br e-mails: {talves, rventura, fetter}@ece.ufrgs.br Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil e-mails: {talves, rventura, fetter}@ece.ufrgs.br Abstract: This paper presents dynamic model for differential drive mobile robot, including Abstract: This This paper paper presents presents aa a dynamic dynamic model model for for aaa differential differential drive drive mobile mobile robot, robot, including including Abstract: the actuators effects and a methodology to parameterize the model in a linear fashion, enabling Abstract: This paper presents a dynamic model for a differential drive mobile robot, including the actuators effects and a methodology to parameterize the model in a linear fashion, enabling the actuators effects and a methodology to parameterize the model in a linear fashion, enabling use of the recursive least squares algorithm to identify the system parameters. In addition, the actuators effects and a methodology to parameterize the model in a linear fashion, enabling Abstract: This paper presents a dynamic modeltofor a differential driveparameters. mobile robot, including the use of the recursive least squares algorithm identify the system In addition, the use of the the recursive least squares algorithm to identify identify the system parameters. In addition, addition, two control laws are designed. The inner control loop linearizes the dynamics of the mobile robot use of recursive squares algorithm to system In the effects andleast a methodology to parameterize thethe model in aparameters. linear enabling two actuators control laws are designed. designed. The inner inner control loop linearizes the dynamics of fashion, the mobile mobile robot two control laws are The control loop linearizes the dynamics of the robot using a linearizing state feedback and then an outer control loop tracks the linear and angular two control laws are designed. The inner control loop linearizes the dynamics of the mobile robot the use of the recursive least squares algorithm to identify the system parameters. In addition, using a linearizing state feedback and then an outer control loop tracks the linear and angular using a state feedback an outer control loop tracks the linear and angular velocity references using linear controllers. results are shown for using a linearizing linearizing state feedback and then anIdentification outer control and loop tracks the of linear and angular two control laws areby designed. The and innerthen control loop linearizes thecontrol dynamics the robot velocity references by using linear controllers. Identification and control results aremobile shown for aaa velocity references by using linear controllers. Identification and control results are shown for real robot. velocity references by using linear controllers. Identification and control results are shown for a using a linearizing state feedback and then an outer control loop tracks the linear and angular real robot. real real robot. robot. velocity references by using linear controllers. Identification and control results are shown for a © 2018, IFAC (International of Automatic Control) Hosting by Elsevier Ltd. All rightsFeedback reserved. Keywords: Mobile Robots,Federation Robot Dynamics, Dynamics, System Identification, PID Controllers, Controllers, real robot. Keywords: Mobile Robots, Robot System Identification, PID Feedback Keywords: Mobile Robots, Robot Dynamics, System Identification, PID Controllers, Feedback linearization, Dynamic Modeling. Keywords: Mobile Robots, Robot Dynamics, System Identification, PID Controllers, Feedback linearization, Dynamic Modeling. linearization, Dynamic Modeling. linearization, Dynamic Modeling. Keywords: Mobile Robots, Robot Dynamics, System Identification, PID Controllers, Feedback linearization, Dynamic Modeling. 1. INTRODUCTION technique was used to design the adaptive control law. The 1. INTRODUCTION technique was used to design the adaptive control law. The 1. INTRODUCTION INTRODUCTION technique was used to design the adaptive control law. The Lyapunov-based analysis is also used to synthesize these 1. technique was used to design the adaptive control law. The Lyapunov-based analysis is also used to synthesize these Lyapunov-based analysis is also used to synthesize these controllers (Martins et al., 2017; Barzamini et al., 2006). Lyapunov-based analysis is also used to synthesize these Among different wheeled mobile robot (WMR) architec1. INTRODUCTION technique was used to design the adaptive control law. The controllers (Martins et al., 2017; Barzamini et al., 2006). Among different wheeled mobile robot (WMR) architeccontrollers (Martins et al., al.,is2017; 2017; Barzamini et al., al., 2006). 2006). Amongdifferential different wheeled wheeled mobile robot robot (WMR) architec(Martins et Barzamini et tures, drive systems systems are aa(WMR) populararchitecchoice. controllers Among different mobile Lyapunov-based analysis also used to synthesize these tures, differential drive are popular choice. Regarding the problems of point stabilization and trajectures,can differential drivemainly systems are aa(WMR) popular choice. Regarding the problems of point stabilization trajecThis be attributed attributed torobot their ability toarchitecturn in controllers tures, differential drive systems are popular choice. (Martins et al., Barzamini et and al., 2006). Among different wheeled mobileto Regarding the problems of 2017; point stabilization and trajecThis can be mainly their ability to turn in tory tracking, some authors (Lages and Hemerly, 1998; Regarding the problems of point stabilization and trajecThis can be attributed mainly to their ability to turn in tory tracking, some authors (Lages and Hemerly, 1998; place and the simplicity of construction. Differential drive This can be attributed mainly to their ability to turn in tures, differential drive systems are a popular choice. tory tracking, tracking, some 2017) authors (Lages and Hemerly, Hemerly, 1998; place and the simplicity of construction. Differential drive Martins et al., 2008, have proposed cascade control tory some authors (Lages and 1998; Regarding the problems of point stabilization and trajecplace and the simplicity of construction. Differential drive Martins et al., 2008, 2017) have proposed cascade control mobile robots (DDMR)mainly have two independently driven place and theattributed simplicity ofhave construction. Differential drive This can be to their ability to turn in Martins et al., 2008, 2017) have proposed cascade control mobile robots (DDMR) two independently driven schemes. In this approach, the outer control loop computes Martins et al., 2008, 2017) have proposed cascade control tory tracking, some authors (Lages and Hemerly, 1998; mobileand robots (DDMR) have two independently independently driven In this approach, the outer control loop computes wheels and onesimplicity or more more unactuated unactuated wheels to balance balance the schemes. mobile robots (DDMR) two driven place the ofhave construction. Differential drive schemes. In this approach, the outer control loop computes wheels and one or wheels to the the velocity references for the inner control loop. In Barros schemes. In this approach, the outer control loop computes Martins et al., 2008, 2017) have proposed cascade control wheels and and one (DDMR) or more unactuated unactuated wheels to the the velocity references for inner control loop. In structure. Still regarding the DDMR DDMR configuration, wheels one or more wheels to balance balance the mobile robots have two independently driven the velocity references for the the inner control loop. In Barros Barros structure. Still regarding the configuration, the the and Lages aa non-smooth kinematic controller and velocity references for the control In Barros schemes. In(2014) this approach, theinner outer controlloop. loop computes structure. Still regarding the DDMR configuration, the and Lages (2014) non-smooth kinematic controller and number of control inputs (the torques of the two actuastructure. Still regarding the DDMR configuration, wheels and one or more unactuated wheels to balance the and Lages feedback (2014) a linearization non-smooth kinematic controller and number of control inputs (the torques of the two actuaa dynamic are used. Then a nonlinand Lages (2014) a non-smooth kinematic controller and the velocity references for the inner control loop. In Barros number of control inputs (the torques of the two actuaa dynamic feedback linearization are used. Then a nonlintors) is is less less thanregarding the number ofDDMR degreesconfiguration, ofthe freedom tothe be a dynamic feedback linearization are used. Then a nonlinnumber of Still control inputs (the torques ofof two actuastructure. the of tors) than the number degrees freedom to be ear backstepping approach is applied to generate proper a dynamic feedback linearization are used. Then a nonlinand Lages (2014) a non-smooth kinematic controller and tors) is is less less than the the number oftorques degrees ofheading freedom to be be ear backstepping approach is applied to generate proper controlled (two-dimensional position and angle), tors) than number of degrees freedom to number of (two-dimensional control inputs (the ofof the two angle), actuaear backstepping approach is applied to generate proper controlled position and heading references from kinematics to the dynamics. ear backstepping approach is applied to generate proper a dynamic feedback linearization are used. Then a nonlincontrolled (two-dimensional position and heading angle), from to the dynamics. and therefore, they arenumber underactuated. Also, it is is assumed assumed controlled position and angle), tors) is less(two-dimensional than the of degrees ofheading freedom to be references references from kinematics kinematics to the dynamics. and therefore, they are underactuated. Also, it references from kinematics to dynamics. ear backstepping approachmodel is the applied to generate proper and therefore, therefore, theywheels are underactuated. underactuated. Also, it is imposing assumed that the DDMR roll without slipping, In this paper, a dynamic of aa DDMR which takes and they are Also, it is assumed controlled (two-dimensional position and heading angle), that the DDMR wheels roll without slipping, imposing In this paper, a dynamic model of DDMR which takes references from kinematics to the dynamics. that the DDMR wheels roll without slipping, imposing In this paper, a dynamic model of a DDMR which takes non-holonomic motion constraints. Therefore, control laws the actuator effects into account is presented. Also, the that the DDMR wheels roll without slipping, imposing In this paper, a dynamic model of a DDMR which takes and therefore, they are underactuated. Also, it is assumed non-holonomic motion constraints. Therefore, control laws the actuator effects into account is presented. Also, the non-holonomic motion constraints. Therefore, control laws the actuator effects into account is presented. Also, the more complex than those for holonomic systems are necparameterization of this model in a fashion that allows non-holonomic motion constraints. Therefore, control laws the actuator effects into account is presented. Also, the that the DDMR wheels roll without slipping, imposing In this paper, a dynamic model in of a DDMR which takes more complex than those for holonomic systems are necparameterization of this model fashion that allows more complex complex than than those for holonomic holonomic systems are laws nec- the parameterization of into this model model inaisrecursive a presented. fashionleast that allows essary. identifying their parameters with squares more those for systems are necparameterization of this in a fashion that allows non-holonomic motion constraints. Therefore, control actuator effects account Also, the essary. their parameters with aa recursive least squares essary.complex than those for holonomic systems are nec- identifying identifying their parameters with recursive least squares (RLS) algorithm is developed. In addition, a partial feedessary. identifying their parameters with a recursive least squares more parameterization of this model in a fashion that allows algorithm is developed. In addition, aa partial feedAn important important point point regarding regarding the the control control of of WMRs WMRs is is that that (RLS) (RLS) algorithm is developed. In partial feedAn linearization applied, in to allow the use of (RLS) algorithm isis developed. Inorder addition, a least partial feedessary. identifying their parameters with aaddition, recursive squares An important important point regarding regarding the control of of WMRs is that that back back linearization is applied, in order to allow the use of most of the motion controllers presented in the literature An point the control WMRs is back linearization is applied, in order to allow the use of most of the motion controllers presented in the literature linear controllers. Finally, the linearized dynamic model back linearization is applied, in order to allow the use of (RLS) algorithm isFinally, developed. In addition,dynamic a partialmodel feedmost of the theonly motion controllers presented in WMRs the literature literature linear controllers. the linearized are based on the kinematics of the mobile robot most of motion controllers presented in the An important point regarding the control of is that linear controllers. Finally, thein linearized dynamic model are based only on the kinematics of the mobile robot is used to develop a velocity tracking controller and the back linearization is applied, order to allow the use of linear controllers. Finally, the linearized dynamic model are based based only on 1990; the kinematics kinematics of 2005; the mobile robot used to develop aa velocity tracking controller and the (Kanayama et al., al., Kuhnepresented et al., al., Weiguo Wu is are on the of the robot most of theonly motion controllers in mobile the literature is used to develop velocity tracking controller and the (Kanayama et 1990; Kuhne et 2005; Weiguo Wu results are evaluated in a real robot. is used to develop a velocity tracking controller and the linear controllers. Finally, the linearized dynamic model (Kanayama etHowever, al., 1990; Kuhne et al., al., 2005; Weiguorobot Wu results are evaluated in a real robot. et al., 1999). for high-performance applications, (Kanayama et al., Kuhne et Weiguo Wu are based only on 1990; thefor kinematics of 2005; the mobile results evaluated aa real robot. et al., 1999). However, high-performance applications, results are evaluateda in in real tracking robot. controller and the is used are to develop velocity et al., al., high-speed 1999).etHowever, However, forKuhne high-performance applications, when motion or heavy pay-load are required, et 1999). for high-performance applications, (Kanayama al., 1990; et al., 2005; Weiguo Wu when high-speed motion or heavy pay-load are required, 2. MOBILE ROBOT results are evaluated in a real robot.MODEL 2. MOBILE ROBOT MODEL when high-speed motion or heavy pay-load are required, it is is essential to consider consider the robot pay-load dynamics,are in required, addition when high-speed motion orhigh-performance heavy et al.,essential 1999). However, forthe applications, 2. MOBILE ROBOT MODEL it to robot dynamics, in addition 2. MOBILE ROBOT MODEL it is essential to consider the robot dynamics, in addition to its kinematics (Martins et al., 2008, 2017). it is essential to consider the robot dynamics, in addition when high-speed (Martins motion oretheavy pay-load are required, The model of2. the to its kinematics al., 2008, 2017). mobile robot used in this paper is MOBILE ROBOT MODEL model of the mobile robot used in this paper is to isits itsessential kinematics (Martinsthe et al., al., 2008, 2017). in addition The to kinematics (Martins et 2008, 2017). it to consider robot dynamics, The model of the mobile robot used in this paper is described in this section. Figure 1 shows the coordinate The model of the mobile robot used in this paper is In order order to to compensate compensate for for the the robot robot dynamics, dynamics, some described in this section. Figure 1 shows the coordinate In some to its kinematics (Martins et al., 2008, 2017). described in of this section. Figure 1used shows the coordinate In order order to tohave compensate for the the robot dynamics, some The systems used to describe the WMR model. The inertial described in this section. Figure 1 shows the coordinate model the mobile robot in this paper is approaches been proposed over the last three decades. In compensate for robot dynamics, some systems used to describe the WMR model. The inertial approaches have been proposed over the last three decades. systems used to describe the WMR model. The inertial approaches have been proposed proposed over the last three decades. coordinate system, as well as the frame in which the WMR systems used to describe the WMR model. The inertial described in this section. Figure 1 shows the coordinate Feedback linearization has been used to design the control approaches have been over the last three decades. In order to compensate for the robot dynamics, some coordinate system, as well as the frame in which the WMR Feedback linearization has been used to design the control coordinate system, as well frame in the WMR Feedback linearization has been been used tostabilization design thedecades. control in, is {X Y The robot system is coordinate system, as well as the framecoordinate in which which the WMR o ,, θ o }. as systems used tooo ,, describe thethe WMR model. The inertial laws for trajectory trajectory tracking andover point (Cam- moves Feedback linearization has used to design the control approaches have been proposed the last three moves in, is {X Y o θo }. The robot coordinate system is laws for tracking and point stabilization (Cammoves in, is {X , Y , θ }. The robot coordinate system is o o o laws for trajectory tracking and point stabilization (Camdenoted by {X , Y , θ }, and characterizes the local frame moves in, is {X , Y , θ }. The robot coordinate system is coordinate system, as the frame in which the WMR co c as pion for et al., al., 1996; Oriolo Oriolo etbeen al., used 2002;tostabilization Barros and Lages, denoted o cwell o laws trajectory tracking and point (CamFeedback linearization haset design and the control o and by {X ,, Y characterizes the local frame co c ,o θc }, pion et 1996; al., 2002; Barros Lages, denoted by {X Y , θ }, and characterizes the local frame c c c pion et al., 1996; Oriolo et al., 2002; Barros and Lages, attached to the WMR. denoted by {X , Y , θ }, and characterizes the local frame moves in, is {X , Y , θ }. The robot coordinate system is 2014). c c c pion et al., 1996; Oriolo et al., 2002; Barros and Lages, laws for trajectory tracking and point stabilization (Cam- attached to thecoWMR. co c o 2014). to the 2014).et al., 1996; Oriolo et al., 2002; Barros and Lages, attached attached too{X thec ,WMR. WMR. T characterizes the local frame denoted by Y , θ }, and 2014). c c pion vector the pose of the WMR o ξc = [xc y c θc ]T denotes Also, when when the the parameters parameters are are not not constant, constant, adaptive adaptive The The vector ξξc = [x pose of the WMR c yc θc ]T Also, T denotes the attached toooothe WMR. 2014). The vector = [x the pose of the WMR c y c θ c ]]T denotes c frame. Also, when when the parameters are not them constant, adaptive in the inertial Hence: y θ The vector ξ = [x denotes the pose of the WMR c c c control laws can be used to adjust online (Lages c Also, the parameters are not constant, adaptive c Hence: c c c frame. in the inertial control laws can be used to adjust them online (Lages Tc o in the inertial frame. Hence: 0 c control laws the can be In used to adjust them online (Lages in ˙˙θcc= ˙ the inertial frame. Hence: y The vector ξ = [x ] denotes the pose of the WMR and Hemerly, 1998). Do et al. (2004) the backstepping control laws can be used to adjust them online (Lages ξ ξ R (1) 0 c c c c c Also, when parameters are not constant, adaptive o ξ˙c and Hemerly, 1998). In Do et al. (2004) the backstepping (1) 0 ˙c c ξ˙c = c c Ro 0 c and Hemerly, Hemerly, 1998). In Do to et al. al. (2004) the online backstepping 0ξ cξ cR ˙ ˙ ξ ξ = R (1) in the inertial frame. Hence: c and 1998). In Do et (2004) the backstepping c o c = (1) control laws can be used adjust them (Lages ⋆ c o c where rotation matrix relating the c Ro is the orthogonal c o c work has been funded by the CAPES PROCAD research ⋆ This where R matrix relating the work has1998). been funded by the CAPES the PROCAD research c o is the orthogonal 0˙ c˙ c rotation ⋆ This c and Hemerly, In Do et al. (2004) backstepping c where R is the orthogonal rotation matrix relating the ⋆ ξ ξ = R (1) This work has been funded by the CAPES PROCAD research o orientation of the robot and the reference frame, denoted project on Assistive Technologies. where R is the orthogonal rotation matrix relating the c o c This on work has been funded by the CAPES PROCAD research o o of the robot and the reference frame, denoted orientation project Assistive Technologies. c orientation of the robot and the reference frame, denoted project on on Assistive Assistive Technologies. Technologies. ⋆ orientation of the robot and the reference frame, denoted project where R is the orthogonal rotation matrix relating the This work has been funded by the CAPES PROCAD research o of the robot and reserved. the reference frame, denoted project on © Assistive Technologies. Copyright 2018 437 orientation 2405-8963 © 2018, IFAC IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights
Copyright © 2018 IFAC 437 Copyright © under 2018 IFAC IFAC 437 Control. Peer review responsibility of International Federation of Automatic Copyright © 2018 437 10.1016/j.ifacol.2018.09.184 Copyright © 2018 IFAC 437
2018 IFAC SYSID 438 9-11, 2018. Stockholm, Sweden July
Tiago G. Alves et al. / IFAC PapersOnLine 51-15 (2018) 437–442
Y0
0 k5 f (β, u) = f (u) = − k6 0
Xc , u1
Yc
H(β) = I2x2 θc , yc
u2
G(β) = G =
(xc , yc )
k7 k7 k8 −k8
u1 u2 u2 2
(6) (7)
(8)
where k5, k6, k7, and k8 are constants depending only on the geometric, mass, and inertia parameters, and S(q) is a matrix whose structure depends on the kinematic properties of the WMR (Barros and Lages, 2014). T
O
xc
The mapping of wheel velocities ϕl = [ϕlr ϕll ] T base velocities u = [v ω] is given by:
X0
Fig. 1. Differential-drive robot coordinate systems.
to the
r(ϕlr + ϕll ) (9) 2 r(ϕlr − ϕll ) ω= (10) 2b where r is the radius of the mobile base, and b is the distance between wheels and the robot axis of symmetry. v=
by: cos θc − sin θc c Ro = sin θc cos θc 0 0
0 0 1
(2)
The robot model can be derived by using Lagrange-Euler formalism, given in a compact form by (Siciliano and Khatib, 2008): T ∂L d ∂L − = τ − ΛT (q)λ (3) dt ∂ q˙ ∂q
where L = K − P is the Lagrangian function, K is the kinetic energy of the system while P is its potential energy, q are the generalized coordinates, τ is the generalized force vector Λ is the constraints matrix, and λ is the vector of Lagrange multipliers associated to the constraints. Assuming that the robot only moves in the horizontal plane, then the potential energy is considered to be zero and then L = K and given by: 1 K = ξ˙cT c R0T M (βo )c R0 0 ξ˙c + 2V (βo ) β˙o 2 (4) 1 1 T + β˙o Iβ β˙o + ϕ˙ T Iϕ ϕ˙ 2 2 where M (βoc ), V (βoc ), Ioc , Iϕ , and Ic are functions of mass and inertia parameters of the rigid bodies whose compose the robot. Hence, after differentiating and some algebraic manipulations, the dynamics of a WMR is described by (Campion et al., 1996): q˙ = S(q)u (5) H(β)u˙ + f (β, u) = G(β)τ0 T T T where q = ξ T βcT βnc ϕT , u = [v ω] is the vector of linear and angular velocities of the mobile platform, τo is the vector of input torques on the wheels and H(β) is a matrix and f (β, u) and G(β) are vectors whose format depend on the mechanical structure of the mobile robot and are obtained from (3) by executing the differentials and algebrically manipulating the result. 2.1 Twil Robot Dynamic Model In this paper the Twil differential-drive mobile robot is used. For this robot:
438
2.2 Actuator Dynamics The dynamic model (5) supposes that there is a vector of torques (τo ) acting on the joints. For most of WMR, the torques are provided by DC motors. Hence, actuator dynamics must be taken into account in the model. Figure (2) shows the equivalent model of a permanent magnet DC motor, which is described by: τ = KT ia
(11)
ea = Ka ϕ˙ m
(12)
ϕl = nϕm
(13) dia + ea (14) Va = Ra ia + La dt where KT and Ka are the motor-torque constant and back emf constant, respectively, Va is the input voltage, ia is the armature current, Ra is the armature resistance, La is the armature inductance, τ is the torque developed at the motor shaft, ea is the back electromotive force, ϕ˙ m is the motor shaft speed and n is the gear ratio. ia
RA
La
ϕ˙ m Va
+ −
ea
+ −
Je fe
Fig. 2. Equivalent circuit of an armature-controlled permanent magnet DC motor. 2.3 Dynamic Model with Actuators Each of the model’s inputs is related to the net torque delivered by an actuator to its load, defined by: τ − τm τl = (15) n where τm = Jm ϕ¨m + fm ϕ˙ m is the torque of losses, Jm is the moment of inertia of the rotor and fm is the viscous friction on bearings.
2018 IFAC SYSID July 9-11, 2018. Stockholm, Sweden
Tiago G. Alves et al. / IFAC PapersOnLine 51-15 (2018) 437–442
By replacing (11) and (12) in (14), it is possible to obtain: f ϕ˙ l KT ia J ϕ¨l − 2 − 2 τl = (16) n n n The dynamics of a mobile robot is given by the second equation of (5), which for the Twil robot can be written as (Barros and Lages, 2014): � � � �� � k7 k7 0 k5 u1 u2 τ + (17) u˙ = k6 0 k8 −k8 o u2 2 where τo is composed by the torques from right and left T actuators, that is: τo = [τlr τll ] . By using (9-10), (16) can be particularized for right and left actuators: f u1 u2 J u˙ 1 u˙ 2 KT iar τlr = − 2 ( + ) − 2 ( + ) (18) n n r 2c n r 2c f u1 u2 J u˙ 1 u˙ 2 KT ial τll = − 2 ( − ) − 2 ( − ) (19) n n r 2c n r 2c which replaced in (17), after proper algebraic manipulation yields: k5 u22 rn2
k7 KT rn(iar + ial ) 2k7 f u1 u˙ 1 = + − rn2 + 2Jk7 rn2 + 2Jk7 rn2 + 2Jk7 k6 u1 u2 cn2 k8 KT cn(iar − ial ) k 8 f u2 + − 2 u˙ 2 = cn2 + Jk8 cn2 + Jk8 cn + Jk8
(20) (21)
The electrical time constant (La /Ra ) of most of DC motors is much smaller than the effective mechanical time constant (Je /fe ), which allows for neglecting the armature inductance effects, hence it is possible to rewrite (14) as: Va = Ra ia + Ka ϕ˙ m (22) Thus, by rearranging (22) for the armature current, and by parameterizing the result for both right and left actuators: iar = = ial = =
Var − Ka ϕ˙ mr Va Ka ϕ˙ lr = r − Ra Ra nRa u2 � Var Ka � u1 + − Ra nRa r 2c Val − Ka ϕ˙ ml Val Ka ϕ˙ ll = − Ra Ra nRa u2 � Val Ka � u1 − − Ra nRa r 2c
(23)
(24)
Finally, by replacing (23-24) in (20-21) and rearranging for the derivatives, the dynamic model of the robot including the actuators is: � � k5 rn2 u22 2k7 u1 KT Ka − 2 +f u˙ 1 = 2 rn + 2Jk7 rn + 2Jk7 Ra � � k7 KT rn Var + Val (25) + 2 rn + 2Jk7 Ra � � k6 cn2 u1 u2 k8 u2 KT Ka − 2 +f u˙ 2 = 2 cn + Jk8 cn + Jk8 Ra � � k8 KT cn Var − Val (26) + 2 cn + Jk8 Ra which can be written as: (27) u˙ = −f2 (u) + G2 Va where: 439
f2 (u) = −
G2 =
�
KA = KB = KC = KD = KE = KF =
�
439
KA 0 0 KB 0 KD KE 0
KC KC KF −KF
�
�
u1 u2 u u 1 2 u22
� � −2k7 KT Ka + f rn2 + 2Jk7 Ra 2 k5 rn rn2 + 2Jk7 rnKT k7 Ra (rn2 + 2Jk7 ) � � −k8 KT Ka +f cn2 + Jk8 Ra k6 cn2 cn2 + Jk8 cnKT k8 Ra (cn2 + Jk8 )
(28)
(29)
(30) (31) (32) (33) (34) (35)
Expression (27) represents the dynamics of a differentialdrive mobile robot actuated by a DC motor. By considering its kinematics, the whole model of the Twil mobile robot with actuators can be written in a form similar to (5) as: �
q˙ = S(q)u u˙ = −f2 (u) + G2 Va
(36)
3. PARAMETRIC IDENTIFICATION The model (36) depends on mass, inertia and geometric parameters of the WMR, which are very difficult to obtain with reasonable accuracy. For the Twill mobile robot, even with modern CAD tools, determining those parameters become a complex task. Also, the robots are not build with 100% accuracy, and the applied materials do not have the same properties as those modeled in the CAD software. Still, there is cabling which density changes over time due to robot motion and many other problems due to differences between the CAD model and the real robot. To overcome these difficulties and still have a proper representation of the dynamics of the robot, the parameters of the model will be identified. The kinematics of the robot, described by the first expression of (36), depends only on geometric parameters, whose can be obtained with good precision by calibration (Borenstein and Feng, 1994). Then, only the part of the model regarding the dynamics is used in the identification T process, taking u˙ as output and Va = [Var Val ] as input. This part of the model is explicitly given by: � � u1 � � KA 0 0 KB u2 KC KC V (37) u˙ = + 0 KD KE 0 u1 u2 KF −KF a 2 u2 which can be written as a set of equations in the form yi (k + 1) = φTi (k)θi (k), where yi is the model output, θi is the vector of unknown parameters, and φi is the vector of
2018 IFAC SYSID 440 July 9-11, 2018. Stockholm, Sweden
Tiago G. Alves et al. / IFAC PapersOnLine 51-15 (2018) 437–442
regressors. This model form is suitable to be identified by the recursive least squares (RLS) algorithm. Initially (37) is rewritten as the two scalar expressions:
uref�
� -
uref2 � -
e�
P I�
e2
P I2
��
Vr�a �
�2
Linearization V l�a
u�
u
M otorr M otorl
' r ' l
Mobile Robot
q
u
u
u˙ 1 = KA u1 + KB u22 + KC (Var + Val )
(38)
u˙ 2 = KD u2 + KE u1 u2 + KF (Var − Val )
(39)
In order to obtain recursive models, (38) and (39) can be rewritten in the discrete form, as: u1 (k + 1) − u1 (k) T = KA u1 (k) + KB u22 (k)
y1 (k + 1) = u˙ 1 (k) ≈
+ KC (Var (k) + Val (k)) u2 (k + 1) − u2 (k) y2 (k + 1) = u˙ 2 (k) ≈ T = KD u2 (k) + KE u1 (k)u2 (k) + KF (Var (k) − Val (k))
(40)
Since (49) is a second order system, each characteristic polynomial has the form s2 + 2ξi ωn,i + ωn,i 2 , where ξi is the damping ratio, and ωn,i is the natural frequency. Still, the settling time for a tolerance of 2% is: (Ogata, 2010): 4 ln 0.02 ≈ (50) Ts,i = − ξi ωn,i ξi ωn,i
(41)
θ1
� �T � KD u2 (k) u1 u2 (k) KE y2 (k + 1) = Var (k) − Val (k) KF � �� � � �� � �
φT 2
Fig. 3. Velocity tracking controller.
Then, the controller gains for the desired settling time and damping coefficient are given by:
Then, by rewriting the expressions in function of the unknowns: T � � u1 (k) KA KB y1 (k + 1) = (42) u22 (k) KC Var (k) + Val (k) � �� � � �� � φT 1
u2
(43)
θ2
which are linearly parameterized in the unknowns. Then, it is possible to obtain estimates for θ1 and θ2 by using the standard RLS algorithm (˚ Astr¨ om and Wittenmark, 2008): yˆi (n + 1) = φTi (n)θˆi (n) (44) Pi (n − 1)φi (n) (45) Ki (n) = 1 + φTi (n)Pi (n − 1)φi (n) θˆi (n + 1) = θˆi (n) + Ki (n) (yi (n + 1) − yˆi (n − 1)) (46) � � Pi (n) = I − Ki (n)φTi (n) Pi (n − 1) (47) where yˆi (n + 1) are estimates for yi (n + 1), Ki (n) are the gains and Pi (n) are the covariance matrices.
Kp,i = 2ξi ωn,i
(51)
2 Ki,i = ωn,i
(52)
5. EXPERIMENTAL RESULTS All the experiments were carried out using the odometry information of the point in the symmetry axis of the robot, whose displacements are based on measurements of the wheels encoders. The wheel encoders provide in each of their channels 2048 pulses per rotation, resulting in 8192 counts after quadrature decoding. The maximum wheel speed is 60 rpm with a voltage of 12V, and the sampling frequency was fsys = 100 Hz. 5.1 System Identification In order to identify the model parameters, a PseudoRandom Binary Signal (PRBS), with changing period of 0.5 s and amplitude of 9 V was used as input. The system parameters, identified with the RLS algorithm, are: θ1 = T T [−15.146 0.005 0.136] and θ2 = [−9.573 −3.945 0.656] . Figures 4-5 show the measured and the simulated responses of the identified system, for linear and angular velocities, when applied uncorrelated PRBS signals to the actuators inputs. The model represents the system with acceptable precision. 0.25
4. CONTROLLER DESIGN
Model Measured
0.2
440
0.15 Linear Velocity (m/s)
The control strategy proposed here is intended for velocity tracking. Therefore, only the second expression of (36) is used, which can be written in a more explicit form as (37). Then, by applying the linearizing state feedback (Isidori, 1995) Va = G−1 2 [ν + f2 (u)] to it leads to: u˙ = ν (48) which is a linear and decoupled system, where ν is the new control input, allowing for the design of a linear controller for each channel. Hence, by using Proportional+Integral (PI) controllers as shown in Fig. 3, the closed-loop transfer function of each system is given by: Ci (s)Gi (s) Kp,i s + Ki,i H(s) = = 2 (49) 1 + Ci (s)Gi (s) s + Kp,i s + Ki,i
0.1 0.05 0 −0.05 −0.1 −0.15 −0.2 −0.25
0
5
10
15
20
25
time (s)
Fig. 4. Linear velocity responses for a PRBS excitation applied to the actuators inputs.
2018 IFAC SYSID July 9-11, 2018. Stockholm, Sweden
Tiago G. Alves et al. / IFAC PapersOnLine 51-15 (2018) 437–442
1.5
441
1 Model Measured
Model Measured
0.8
1
Angular Velocity (rd/s)
Angular Velocity (rd/s)
0.6 0.5
0
−0.5
−1
0.4 0.2 0 −0.2 −0.4 −0.6
−1.5 −0.8 −2
0
5
10
15
20
−1
25
0
1
2
3
time (s)
To validate the identified model, new inputs were applied to the system. Since the purpose of this test was only to validate the model, a set of pulses was used. Figures 6-7 show the measured, and the simulated responses of the system, for linear and angular velocities, when applied the new input signal to the actuators inputs. Again, it is possible to verify that the model output fits the system response. However, the amount of noise verified in the measurements of joint velocities leads to the offset regarding the model output. Indeed the encoders readings are subject to noise. Nonetheless, most of this noise is related to eccentricities and friction in the load shafts of the actuators.
5
6
7
8
Fig. 7. Angular velocity responses for delayed steps applied to the actuators inputs. Simulated Measured 0.2
Linear Velocity (m/s)
Fig. 5. Angular velocity responses for a PRBS excitation applied to the actuators inputs.
4 time (s)
0.15
0.1
0.05
0
8.2
8.4
8.6
8.8
9 9.2 Time (s)
9.4
9.6
9.8
10
0.25 Model Measured
0.2
Fig. 8. Linear acceleration step response: Evaluation of the linearizing control law in open-loop.
0.1 0.05
Simulated Measured
1.6
0 1.4 −0.05 Angular Velocity (rd/s)
Linear Velocity (m/s)
0.15
−0.1 −0.15 −0.2 −0.25
0
1
2
3
4 time (s)
5
6
7
8
1.2 1 0.8 0.6 0.4
Fig. 6. Linear velocity responses for delayed steps applied to the actuators inputs. 5.2 Controller Evaluation
0.2 0 0
0.5
1 Time (s)
1.5
2
Fig. 9. Angular acceleration step response: Evaluation of the linearizing control law in open-loop.
Before evaluating the whole velocity controller, it is necessary to analyze the effectiveness of the state feedback linearization. From Fig. 3, the input of the linearizing block is the acceleration vector ν. By commanding the accelerT ation ν = [0.6 0] , the controller response presented in Fig. 8 is obtained. In the same way, with the commanded T acceleration ν = [0 1.6] , the response in Fig. 9 is obtained. It is important to note that even with a linearizing state feedback, this part of the controller is in open-loop and that the saturation of actuators was included in the simulation model. 441
Even if the tracking of linear and angular velocities could be designed for different performance criteria, in this paper were the same design criteria was used for both controllers, namely Ts,i = 450ms and ξi = 1, which results in Kp,i = 17.78 and Ki,i = 79.01. Figures 10-11 show the controller responses for arbitrary velocity references. 6. CONCLUSION In this paper, a model for a differential-drive mobile robot, including the actuators dynamics effects, was presented.
2018 IFAC SYSID 442 9-11, 2018. Stockholm, Sweden July
Tiago G. Alves et al. / IFAC PapersOnLine 51-15 (2018) 437–442
0.25 Linear Velocity (m/s) Ref. Linear Velocity (m/s)
0.2 0.15 0.1 0.05 0 −0.05 −0.1 −0.15 −0.2 −0.25
0
5
10
15
20
25
30
35
40
45
Fig. 10. Linear Velocity tracking controller response, 1.5 Angular Velocity (m/s) Ref. Angular Velocity (m/s) 1
0.5
0
−0.5
−1
−1.5
0
5
10
15
20
25
30
35
40
45
Fig. 11. Angular velocity tracking controller response, This model is the departure point for the design of controllers for the WMR. Also, was presented a methodology to parameterize the model in a linear fashion, enabling the use of the RLS algorithm to identify the system parameters. Furthermore, was demonstrated the development of two control laws, one intended to linearize the dynamics of the WMR using a linearizing state feedback, and the other to track linear and angular velocity references by using two PI controllers. The results show that, even under nonideal mechanical conditions, the model response fits the WMR dynamics. Still, it is important to clarify that, even with the linearization of the robot dynamics, the system continues to be nonlinear due to parameter mismatch and nonmodeled dynamics. However, the open-loop behavior of the system linearized by the feedback linearization and the resulting closed-loop system correspond to the expected performance. REFERENCES ˚ Astr¨ om, K.J. and Wittenmark, B. (2008). Adaptive Control. Dover Publications. Barros, T.T.T. and Lages, W.F. (2014). A Mobile Manipulator Controller Implemented in the Robot Operating System. In ISR/Robotik 2014; 41st International Symposium on Robotics; Proceedings of, 1–8. VDE, Munich. Barzamini, R., Yazdizadeh, A., and Rahmani, A. (2006). A New Adaptive Tracking Control For Wheeled Mobile Robot. In 2006 IEEE Conference on Robotics, 442
Automation and Mechatronics, 1–6. IEEE. doi: 10.1109/RAMECH.2006.252750. Borenstein, J. and Feng, L. (1994). UMBmark - A Method for Measuring, Comparing, and Correcting Dead-reckoning Errors in Mobile Robots. Technical report, University of Michigan. Campion, G., Bastin, G., and Dandrea-Novel, B. (1996). Structural properties and classification of kinematic and dynamic models of wheeled mobile robots. IEEE Transactions on Robotics and Automation, 12(1), 47– 62. doi:10.1109/70.481750. Do, K., Jiang, Z., and Pan, J. (2004). Simultaneous Tracking and Stabilization of Mobile Robots: An Adaptive Approach. IEEE Transactions on Automatic Control, 49(7), 1147–1152. doi:10.1109/TAC.2004.831139. Isidori, A. (1995). Nonlinear Control Systems. Communications and Control Engineering. Springer-Verlag London, London, 3 edition. doi:10.1007/978-1-84628615-5. Kanayama, Y., Kimura, Y., Miyazaki, F., and Noguchi, T. (1990). A stable tracking control method for an autonomous mobile robot. In Proceedings., IEEE International Conference on Robotics and Automation, 384–389. IEEE Comput. Soc. Press. doi: 10.1109/ROBOT.1990.126006. Kuhne, F., Lages, W., and Gomes da Silva, J. (2005). Point stabilization of mobile robots with nonlinear model predictive control. In IEEE International Conference Mechatronics and Automation, 2005, volume 3, 1163– 1168. IEEE. doi:10.1109/ICMA.2005.1626717. Lages, W.F. and Hemerly, E.M. (1998). Adaptive Linearizing Control of Mobile Robots. IFAC Proceedings Volumes, 31(31), 23–28. doi:10.1016/S1474-6670(17)409992. Martins, F.N., Celeste, W.C., Carelli, R., Sarcinelli-Filho, M., and Bastos-Filho, T.F. (2008). An adaptive dynamic controller for autonomous mobile robot trajectory tracking. Control Engineering Practice, 16(11), 1354–1363. doi:10.1016/j.conengprac.2008.03.004. Martins, F.N., Sarcinelli-Filho, M., and Carelli, R. (2017). A Velocity-Based Dynamic Model and Its Properties for Differential Drive Mobile Robots. Journal of Intelligent & Robotic Systems, 85(2), 277–292. doi:10.1007/s10846016-0381-9. Ogata, K. (2010). Modern Control Engineering. Pearson, 5 edition. Oriolo, G., De Luca, A., and Vendittelli, M. (2002). WMR control via dynamic feedback linearization: design, implementation, and experimental validation. IEEE Transactions on Control Systems Technology, 10(6), 835–852. doi:10.1109/TCST.2002.804116. Siciliano, B. and Khatib, O. (eds.) (2008). Springer Handbook of Robotics. Springer Berlin Heidelberg, Berlin, Heidelberg. doi:10.1007/978-3-540-30301-5. Weiguo Wu, Huitang Chen, Yuejuan Wang, and Pengyung Woo (1999). Adaptive exponential stabilization of mobile robots with uncertainties. In Proceedings of the 38th IEEE Conference on Decision and Control (Cat. No.99CH36304), volume 4, 3484–3489. IEEE. doi: 10.1109/CDC.1999.827870.