Model identification of a four wheeled omni-directional Mobile Robot
Abstract
: This paper presents the experimental dynamic parameters identification of an omni-directional mobile robot with four wheels. Three methods of parameters identification related to dynamic equations are described, the parameters are the viscous frictions, the coulomb frictions and the inertia moment of the robot. A simulation environment, simulation results and real results are presented.
Full text
MODEL IDENTIFICATION OF A FOUR WHEELED OMNI-DIRECTIONAL MOBILE ROBOT André Scolari Conceição ∗,1A. Paulo Moreira ∗ Paulo J. Costa ∗ ∗Department of Electrical and Computer Engineering University of Porto - Porto - Portugal. [scolari,amoreira,paco]@fe.up.pt Abstract: This paper presents the experimental dynamic parameters identification of an omni-directional mobile robot with four wheels. Three methods of parameters identification related to dynamic equations are described, the parameters are the viscous frictions, the coulomb frictions and the inertia moment of the robot. A simulation environment, simulation results and real results are presented. Copyright c 2006 IFAC Keywords: Modelling, simulation and identification, mobile robots. 1. INTRODUCTION Dynamic modelling of mobile robots is very important to design of controllers, mainly when the robots need travel at higher velocity and perform heavy works. For example, in (Liu et al., 2003) and (Watanabe, 1998), control strategies for omnidirectional robots using the dynamic model are discussed. Omni-directional mobile robots have the ability to move simultaneously and independently in translation and rotation (Pin and Killough, 1994). However, non-linearities, like motor dynamic constraints can greatly affect the robot behaviour, especially when the robot is accelerated and decelerated. This paper presents a robot model identification that could find the non-linear saturation elements. Three methods are described to identification of the model’s parameters. These methods can be used in dynamic modelling where there are varying terrain topography or dynamic variations (Albagul and Wahyudi, 2004). 1Supported by the Program Alβan, the European Union Program of High Level Scholarships for Latin America, scholarship n.E04D028256BR We focus attention on a omni-directional mobile robot with four motors, as shown in Fig.1(a), built for the 5dpo Robotic Soccer team from the Department of Electrical and Computer Engineering at the University of Porto at Porto, Portugal(Costa et al., 1999). For this application (Robotic Soccer) the mobile robot needs to execute trajectories quickly and with a perfect position to the objective, for example, positioning to the ball, or to the goal, or to avoid dynamic obstacles. So, the dynamic characteristics of the motion are essential to follows the path correctly. In section 2, the omni-directional mobile robot model is develop. The experimental methods of identification to model’s parameters is presented in section 3. In section 4, simulation environment, simulation and real results of the identified model are presented. Finally, the conclusion and future works are drawn in section 5.
2. THE OMNI-DIRECTIONAL MOBILE ROBOT MODEL The omni-directional mobile robot model is developed based on the dynamics, kinematics and DC motors of the robot. (a) Mobile robot. (b) Geometric parameters and coordinate frames. Fig. 1. Omni-Directional robot The World frame (X, Y, θ), the robot’s body frame and the geometric parameters is shown in Fig. 1(b). The following symbols, in SI unit system, are used to modelling: •b[m]→distance between the point P(center of chassis) and robot’s wheels •M[kg]→robot mass •r[m]→wheel radius •l→motor reduction •J[kg.m2]→robot inertia moment •Bv, Bvn [N/(m/s)] →viscous friction related to Vand Vnvelocities •Bw[N/(rad/s)] →viscous friction related to Wvelocity •Cv, Cvn [N]→coulomb friction related to Vand Vnvelocities •Cw[N.m]→coulomb friction related to W velocity •V, Vn[m/s]→linear velocities of the robot •W[rad/s]→angular velocity of the robot •θ[rad]→orientation angle of the robot •Fv, Fvn [N]→traction forces of the robot •Γ [N.m]→rotation torque of the robot •v1, v2, v3, v4[m/s]→wheels linear velocities •f1, f2, f3, f4[N]→wheels traction forces •T1, T2, T3, T4[N.m]→wheels rotation torque 2.1 Robot Dynamics By Newton’s law of motion and the robot’s body frame, in Fig. 1(b), we have Fv(t) = MdV (t) dt +BvV(t) + Cvsgn(V(t)) (1) Fvn(t) = MdV n(t) dt +BvnVn(t) + Cvnsgn(Vn(t)) (2) Γ(t) = JdW(t) dt +BwW(t) + Cwsgn(W(t)) (3) where, sgn(α) = 1, α > 0, 0, α = 0, −1, α < 0. The relationships between the robot’s traction forces and the wheel’s traction forces are, Fv(t) = f4(t)−f2(t)(4) Fvn(t) = f1(t)−f3(t)(5) Γ(t) = (f1(t) + f2(t) + f3(t) + f4(t))b(6) The wheel’s traction force(f) and the wheel’s torque(T), for of each DC motor, is as follow: f(t) = T(t) r(7) T(t) = l.Kt.ia(t)(8) where ia(t)is the armature current and Ktis motor torque constant. The dynamics of each DC motor can be described using the following equations, u(t) = La dia(t) dt +Raia(t) + Kvwm(t)(9) T(t) = Ktia(t)(10) where Lais the armature inductance, Rais the armature resistance, u(t)is the applied armature voltage, wm(t)is the rotor angular velocity in rad/sec,kvis the emf constant. In SI unit system, the values of Ktand Kvare identical, see (Kuo, 1995): Kt[N.m/A] = Kv[V olts/(rad/sec)]. With the DC motor working in steady state (Ladia dt = 0), we can simplify the equation 9, as u(t) = Raia(t) + Kvwm(t)(11) Rearranging the equation 11, we get u(t) ia(t)=Kv wm(t) ia(t)+Ra.(12) To measure the constants Kvand Ra, we can use equation 12. For a given applied voltage u(t), we measured the armature current ia(t)and the angular velocity wm(t)in steady state. 2.2 Robot Kinematics By geometric parameters of the robot and the robot’s body frame, in Fig. 1(b), is possible to derive the motion equations,
dx(t) dt =V(t)cos(θ(t)) −V n(t)sen(θ(t)) dy(t) dt =V(t)sen(θ(t)) + V n(t)cos(θ(t)) dθ(t) dt =W(t) (13) The relationships between wheel’s linear velocities (v1,v2,v3and v4) and robot velocities (V,V n and W) are, v1(t) = Vn(t) + bW(t) v2(t) = −V(t) + bW(t) v3(t) = −Vn(t) + bW(t) v4(t) = V(t) + bW(t) (14) Where x(t)and y(t)is the localization of the point P, and θ(t)the orientation angle of the robot. 3. MODEL’S PARAMETERS IDENTIFICATION The parameters related to dynamic equations of the mobile robot were experimentally identified. The parameters are the viscous frictions (Bv, Bvn, Bw), the coulomb frictions (Cv, Cvn, Cw) and the inertia moment(J) of the mobile robot. The robot mass was balanced(M= 35kg). Three methods were used to identify the parameters, which are detailed in the next subsections. The coulomb and viscous frictions were identified with the methods 1 and 2. The inertia moment was identified by two ways: combining the method 1 with the method 2, and with the method 3. Thus, we used two methods for identify the frictions(1 and 2) and two methods(1+2 and 3) for identify the inertia moment. 3.1 Method 1 - Robot on steady state velocity This method was used to identify the viscous frictions (Bv, Bvn, Bw) and the coulomb frictions (Cv, Cvn, Cw) of the mobile robot. This method consists in apply velocities V,Vnand Win robot, and measure the traction forces(Fv,Fvn) and the torque(Γ), with the robot on steady state velocity. Due to steady state velocity (null derivatives) and for positive velocities, we can simplify the equations 1, 2 and 3: Fv(t) = BvV(t) + Cv(15) Fvn(t) = BvnVn(t) + Cvn (16) Γ(t) = BwW(t) + Cw(17) Three experiments had been made, for V,Vnand Wseparately. The experiment consists in apply four velocities and measure the traction forces and the torque. The table 1 shows the applied velocities and the resulting forces and torque. The forces and torque were calculated based in the motor’s currents, using the set of equations 4...8. The velocity and currents of the first experiment with V= 1(m/s)are shown in Fig. 2. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 time[sec] V [m/s] (a) V= 1 (m/s) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −6 −4 −2 0 2 4 6 time[sec] [A] i2 i4 (b) ia2,ia4 (A) Fig. 2. Velocity and currents - first experiment. V FvVnFvn WΓ (m/s) (N) (m/s) (N) (rad/s) (N.m) 0.6 30.585 0.6 30.285 0.6 5.556 0.8 31.459 0.8 30.814 0.8 5.730 1 31.874 1 31.174 1 5.842 1.2 32.765 1.2 32.106 1.2 6.009 Table 1. Applied velocities and resulting forces and torque. Since we have the values for velocities and forces, we can estimate the viscous and coulomb frictions. The least-squares line method was used to approximate the set of data to a linear model(y=ax + b). The Fig. 3 shows the applied velocities, resulting forces and the best fitting line. The resulting equations and the frictions are presented in the table 2. Equations Bv,Bvn Cv,Cvn BwCw V Fv(t) = 3.45V(t) + 28.55 3.45 28.55 VnFvn(t) = 2.90Vn(t) + 28.46 2.90 28.46 WΓ(t) = 0.73W(t) + 5.12 0.73 5.12 Table 2. Resulting equations and frictions - method 1. 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 30.5 31 31.5 32 32.5 33 V[m/s] Fv[N] (a) Fv=f(V) 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 30.2 30.4 30.6 30.8 31 31.2 31.4 31.6 31.8 32 32.2 Vn[m/s] Fvn[N] (b) Fvn =f(Vn) 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 5.55 5.6 5.65 5.7 5.75 5.8 5.85 5.9 5.95 6 6.05 W[rad/s] T[Nm] (c) Γ = f(W) Fig. 3. Forces and torque vs. velocities. 3.2 Method 2 - Robot with null traction forces In this method, the velocity variation with null traction forces was used to estimate the viscous frictions(Bvand Bvn), the coulomb frictions (Cv and Cvn) and the inertia moment Jof the robot. Firstly, a constant velocity was applied on the robot, and then the robot motors were turned off, which resulted in null currents and null forces, consequently, provoking a velocity decrease until the robot stopped.
From the equations 1, 2 and 3 with null forces and null torque, we have the following equations for positive velocities: dV (t) dt =−Bv MV(t)−Cv M(18) dV n(t) dt =−Bvn MVn(t)−Cvn M(19) dW(t) dt =−Bw JW(t)−Cw J(20) Three experiments had been made, for V,Vnand Wseparately, see Fig. 4. The accelerations(dV dt , dVn dt and dW dt ) were calculated from the velocities(V, Vnand W), using the Euler’s method(Franklin et al., 1997)). We used the range of data, where the forces and torque were null to estimate the parameters, as in Fig.5. 0 10 20 30 40 50 60 70 80 0 0.5 1 1.5 V[m/s] Samples (a) V(t)(m/s) 0 10 20 30 40 50 60 70 80 0 0.2 0.4 0.6 0.8 1 Vn[m/s] Samples (b) Vn(t)(m/s) 0 10 20 30 40 50 60 70 80 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 W[rad/s] Samples (c) W(t)(rad/s) Fig. 4. Velocities behaviour. 0 5 10 15 20 25 30 35 −1.5 −1 −0.5 0 0.5 1 1.5 Samples Velocity [m/s] Acceleration[m/s.s] (a) V(t),dV (t) dt 0 5 10 15 20 25 −1.5 −1 −0.5 0 0.5 1 Samples Velocity[m/s] Acceleration[m/s.s] (b) Vn(t),dVn(t) dt 0 2 4 6 8 10 12 −6 −5 −4 −3 −2 −1 0 1 2 3 Samples Velocity[rad/s] Aceleration[rad/s.s] (c) W(t),dW (t) dt Fig. 5. Velocities and accelerations. In order to estimate the viscous and the coulomb frictions, the mass Mand the inertia moment J values are necessary. As there is no inertia moment Jvalue, an estimation of Jwas firstly obtained. We used the equation 20, the velocity curve W(t) and the acceleration curve dW (t) dt shown in Fig. 5(c). The viscous(Bw) and the coulomb(Cw) frictions, estimated with method 1, were used on equation 20. The estimated robot inertia moment was J= 1.358[kg.m2]. Since we have the values of robot mass, velocity and acceleration, we can apply on equations 18 and 19, to obtain viscous frictions(Bvand Bvn) and coulomb frictions (Cvand Cvn). The table 3 shows the equations obtained through leastsquares method and the friction values. 3.3 Method 3 - Inertia Moment Identification A practical method for estimating the moment of inertia Jof the robot, to compare with the Equations Bv,Cv, Bvn Cvn VdV (t) dt =−0.11V(t)−0.86 4.01 30.35 Vn dV n(t) dt =−0.10Vn(t)−0.87 3.77 30.76 Table 3. Resulting equations and frictions - method 2. estimation of the methods 1+2, is presented. The robot was hanged from the ceiling by wire, see figure 6, to eliminate frictions between the robot and the floor. The mass(mo) was hanged at the disc attached to the robot, by a wire. Fig. 6. Schematic of the experience. By applying a known torque(Γ(t)) to robot body, and measuring the resultant angular position(θ(t)), by a external odometry system based on vision, we can compute the moment of inertia of the robot. Based in rotational equation of motion, see equation 3, and considering null friction values (BweBcw), we get: Γ(t) = JdW(t) dt (21) The torque Γ(t)and the applied force fm(t)are Γ(t) = fm(t)rm(22) fm(t) = mog(23) where gis the acceleration of gravity (≈9.8[m/s2]), mois the mass and rmis the radius disc(0.25[m]). Four experiments had been made to identify the value of J. The experiments 1, 2 and 3 were performed with a object with mass equal 0.510 Kg, and the experiment 4 with a object with mass equal 1 Kg. Our objective was to verify the repeatability of the experiments. The figure 7(a) shows the angular position (θ(t)) curve for the first experiment. The angular velocities (W(t)) were calculated using the derivative of the angular position. The figure 7(b) shows the angular velocity and the best fitting line to the angular velocity, calculated by least-squares line method, that give us the value of the angular accelerations. The table 4 shows the torque values(Γ), angular accelerations(dW (t) dt ) and inertia moments(J) obtained by experiments. The inertia moments were similarly in all experiments.
Exp. 1 Exp. 2 Exp. 3 Exp. 4 Γ(N.m)1.2495 1.2495 1.2495 2.4500 dW (t) dt (rad/s2)0.9126 0.8942 0.8947 1.7512 J(kg.m2)1.3691 1.3974 1.3965 1.3990 Table 4. Estimated inertia moments. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 1 2 3 4 5 6 7 8 9 10 11 time[sec] theta [rad] (a) θ(t)(rad) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 −0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 time[sec] W [rad/s] (b) W(t)(rad/s) Fig. 7. First experiment. 3.4 Comparing methods The identified parameters are presented in tables 5 and 6. We can see a acceptable difference between the estimated values, take into account that the experiments were made in hard conditions. For example, the measured values of currents and velocities have a considerable noise and any irregularity in the floor can cause alterations in robot parameters. The robot model is using the mean of estimated parameters, conform shown in tables. Frictions Viscous Coulomb BvBvn BwCvCvn Cw Method 1 3.45 2.90 0.73 28.55 28.46 5.12 Method 2 4.01 3.77 - 30.35 30.76 - Mean 3.73 3.34 0.73 29.45 29.61 5.12 Table 5. Estimated frictions. Inertia Moments Methods 1+2 1.358 Method 3 (mean) 1.390 Mean 1.374 Table 6. Estimated inertia moments. 4. SIMULATION AND REAL RESULTS In this section the model simulation, with the estimated parameters is presented. The simulation environment is implemented in the Matlab/Simulink (Mathworks, 2000) software, shown in Fig.8. The simulation environment is divided in three blocks: •Kinematic model; •Drivers-motors: has the discrete PID controllers, drives with PWM signals and the motors of the robot; •Dynamic model. The PID controllers calibration was discussed in (Conceicao et al., 2005). Three simulations had been made (see Figs.9, 10 and 11), using the following reference velocities: (1) V= 1[m/s],Vn= 0[m/s],W= 0[rad/s]; (2) V= 0[m/s],Vn= 1[m/s],W= 0[rad/s]; Fig. 8. Simulation environment. (3) V= 0[m/s],Vn= 0[m/s],W= 1[rad/s]. The Figs. 9(a), 10(a) and 11(a) show the results of the simulation and the real velocities of the robot. The simulation results are very similar to the real ones, in the transitory and the steady state too. In Figs. 9(b), 9(c), 10(b) and 10(c) we can see some non-linearities of the robot, due to PWM saturation, shown in Figs. 9(d), 9(e), 10(d) and 10(e). The simulated currents had a good approximation to the real ones, because the model could find even some non-linearities of the system. In third simulation(see Fig.11), the motors do not saturate easily, because there are 4 motors simultaneously applying force. In this way, the transitory state become much more fast. 0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1 Time[sec] V[m/s] Real Simulated (a) Real and simulated V(m/s). 0 0.5 1 1.5 −6 −5 −4 −3 −2 −1 0Motor 2 Time[seg] i2 [A] Real Simulated (b) Current i2(A) 0 0.5 1 1.5 0 1 2 3 4 5 6Motor 4 Time[sec] i4 [A] Real Simulated (c) Current i4(A) 0 0.5 1 1.5 −300 −250 −200 −150 −100 −50 0PWM motor 2 Time[seg] Duty cycle[0..255] Real Simulado (d) PWM motor 2 0 0.5 1 1.5 0 50 100 150 200 250 300 PWM motor 4 Time[sec] Duty cycle[0..255] Real Simulado (e) PWM motor 4 Fig. 9. Velocity V= 1, simulation 1.
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1 Vn[m/s] Real Simulated Time[sec] (a) Real and simulated Vn(m/s). 0 0.5 1 1.5 0 1 2 3 4 5 6Motor 1 Time[sec] i1 [A] Real Simulated (b) Current i1(A) 0 0.5 1 1.5 −6 −5 −4 −3 −2 −1 0Motor 3 Time[sec] i3 [A] Real Simulated (c) Current i3(A) 0 0.5 1 1.5 0 50 100 150 200 250 300 PWM motor 1 Time[sec] Duty cycle[0..255] Real Simulado (d) PWM motor 1 0 0.5 1 1.5 −300 −250 −200 −150 −100 −50 0PWM motor 3 Time[sec] Duty cycle[0..255] Real Simulado (e) PWM motor 3 Fig. 10. Velocity Vn= 1, simulation 2. 5. CONCLUSION AND FUTURE WORKS In this paper an experimental identification of the dynamic parameters of an omni-directional mobile robot has been developed. Three methods of the parameters identification that even can be used in dynamic modelling were described. A robot model that could find the non-linear elements is very important to design of controllers and trajectories, mainly in application where critical trajectories must be executed at higher velocity, for example in robotic soccer. In the near future, we will use the robot model to design of controllers. REFERENCES Albagul, A. and Wahyudi (2004). Dynamic modeling and adaptive traction control for mobile robots. The 30th Annual Conference of the IEEE Industrial Electronics Society. Conceicao, Andre Scolari, A. Paulo Moreira and Paulo J. Costa (2005). Control and model identification of a mobile robot’s motors based in least squares and instrumental variable methods. 11th IEEE International Conference on Methods and Models in Automation and Robotics - MMAR 2005. Costa, P., A.P.Moreira, A.Sousa, P. Marques, P. Costa and A. Matos (1999). 5dpo team description robocup. Robot World Cup Soccer Games and Conference. Franklin, Gene F., J.David Powell and Michael Workman (1997). Digital control of dynamic systems. 3 ed.. Addison Weley Longman, Inc. 0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1 Time[sec] W[rad/s] Real Simulated (a) Real and simulated W(rad/s). 0 0.5 1 1.5 0 0.5 1 1.5 2 2.5 Motor 1 Time[sec] i1[A] Real Simulated (b) Current i1(A) 0 0.5 1 1.5 0 0.5 1 1.5 2 2.5 Motor 3 Time[sec] i3 [A] Real Simulated (c) Current i3(A) 0 0.5 1 1.5 0 0.5 1 1.5 2 2.5 Motor 2 Time[sec] i2[A] Real Simulated (d) Current i2(A) 0 0.5 1 1.5 0 0.5 1 1.5 2 2.5 Motor 4 Time[sec] i4 [A] Real Simulated (e) Current i4(A) 0 0.5 1 1.5 0 50 100 150 200 250 300 PWM motor 1 Time[sec] Duty cycle[0..255] Real Simulated (f) PWM motor 1 0 0.5 1 1.5 0 50 100 150 200 250 300 PWM motor 3 Time[sec] Duty cycle[0..255] Real Simulated (g) PWM motor 3 0 0.5 1 1.5 0 50 100 150 200 250 300 PWM motor 2 Time[seg] Duty cycle[0..255] Real Simulated (h) PWM motor 2 0 0.5 1 1.5 0 50 100 150 200 250 300 PWM motor 4 Time[sec] Duty cycle[0..255] Real Simulated (i) PWM motor 4 Fig. 11. Velocity W= 1, simulation 3. Kuo, Benjamin C. (1995). Automatic Control Systems. John Wiley & Sons, Inc. Liu, Yong, Xiaofei Wu, J Jim Zhu and Jae Lew (2003). Omni-directional mobile robot controller design by trajectory linearization. Proceedings of the American Control Conference 4, 3423 – 3428. Mathworks, The (2000). MATLAB Users’ Guide. Pin, Fracois G. and Stephen M. Killough (1994). A new family of omnidirectional and holonomic wheeled platforms formobile robots. IEEE Transactions on Robotics and Automation 10, 480–489. Watanabe, Keigo (1998). Control of ominidirectional mobile robot. 2nd Int. Conf. on Knowledge-Based Intelligent Electronic Systems.