scieee AI-readable full text Open interactive document viewer

Architecture control and model identification of a omni-directional mobile robot

A. Paulo Moreira,Paulo J. Costa,André Scolari Conceição

Abstract

This paper presents a architecture control and model identification of a onmi-Directional Mobile Robot It is divided into the three stages. Stage one proposes a procedure for dynamic model identification and control of the "motor + reduction + encoder" process of the Robot's Motors. Second, proposes the identification of a dynamic model for the whole mobile robot considering it as a multi-variable system. Third, presents a algorithm for perfect trajectory tracking of Omni-Directional Mobile Robots, based on restriction on motor's velocities. This algorithm combines the restriction on motor's velocities and the kinematic model of mobile robot to generate ideal drive velocities for the mobile robot to follow the trajectories correctly with the best possible performance.

Full text

Architecture Control and Model Identification of a Omni-Directional Mobile Robot André Scolari Conceição∗, A. Paulo Moreira, Paulo J. Costa University of Porto Department of Electrical and Computer Engineering Rua Roberto Frias s/n 4200-465 - Porto - Portugal tel: +351-225081820 fax:+351-225081443 Email: [scolari,amoreira,paco]@fe.up.pt Abstract—This paper presents a architecture control and model identification of a omni-Directional Mobile Robot. It is divided into the three stages. Stage one proposes a procedure for dynamic model identification and control of the "motor + reduction + encoder" process of the Robot’s Motors. Second, proposes the identification of a dynamic model for the whole mobile robot considering it as a multi-variable system. Third, presents a algorithm for perfect trajectory tracking of OmniDirectional Mobile Robots, based on restriction on motor’s velocities. This algorithm combines the restriction on motor’s velocities and the kinematic model of mobile robot to generate ideal drive velocities for the mobile robot to follow the trajectories correctly with the best possible performance. I. INTRODUCTION In this paper we focus attention on a omni-directional mobile robot with four wheels, as shown in Fig.1(b), built for the 5dpo-2005 Robotic Soccer team from the Department of Electrical and Computer Engineering at the University of Porto at Porto, Portugal. The motivation of this work comes from the necessity of mobile robot to follow trajectories in a correct and fast form. We need a good model of the omni-Directional Mobile Robot, for design and simulation of controllers and for test path planning and trajectory generation algorithms. In section II we present the identification of a discrete system (see Fig. 2) for the "motor+reduction+encoder" process and a calibration of the PID controller of the robot, to obtain a more linear and fast system. Second stage, in section III, proposes the identification of a dynamic model for the whole mobile robot, considering it as a multi-variable system. For both cases of estimation, we consider a discrete linear model and we use techniques based on Least Square Methods and Instrumental Variable methods to estimate a transfer function or a state-space model. In section IV we present a algorithm, called IDV(Ideal drive velocities), that combine the restriction on motor’s velocities and the kinematic model of mobile robot so as to generate ideal drive velocities for the mobile robot. Always considering the objective to follow trajectories. We take into account aspects like the limits of motors speed of mobile robot and (a) Mobile robot - motors. (b) Definitions of posture and velocities of Mobile Robot. Fig. 1. Omni-Directional Mobile Robot. Fig. 2. Schematic - Robot control loop. its non-holonomics restrictions of movement [9][11]. Finally, the conclusion is drawn in section V. II. MOTOR MODEL A general model for a large class of single-input, singleoutput systems as in [5], is y(k) = H1(z)u(k) + H2(z)ξ(k),(1) where y(k)and u(k)are the output and input sequences, respectively, and ξ(k)is a gaussian white noise sequence with variance σ2and zero mean. Equation (1) can be expressed in vector form, as is in [7], for Nsamples, as Y=Xθ + Ξ (2) where YT= [y(1), ..., y(N)],(3) XT= [x(1), ..., x(N)],(4) ΞT= [ξ(1), ..., ξ(N)]. Applying the Least Square Method to (2) the resulting estimator for θis, b θ= [XTX]−1XTY. (5) The Least Squares estimators are not in general consistent when the sequence ξ(k), in (1), is correlated. Since Instrumental variable estimators are weakly consistent (see [5]) we implement it and compare with results from the Least Squares Estimator, as proposed in [7]. Our Instrumental variable estimator is θ= [ZTX]−1ZTY We apply the excitation signal in Fig. 3(a) in the motor drive, we obtain the curve of speed of robot’s motor 1 (front), in meters per second, as is shown in Fig. 3(b). 0 50 100 150 200 250 300 350 0 50 100 150 200 250 White Gaussian Noise samples (a) Gaussian white noise. 0 50 100 150 200 250 300 350 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 samples speed[m/s] (b) Curve of speed - motor 1(openloop). Fig. 3. Gaussian white noise and response of the motor 1 (open-loop). 0 0.2 0.4 0.6 0.8 1 1.2 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 Time[seg] Speed[m/s] Simulated Real Fig. 4. Close-loop process. To validate the Least square estimation, we apply another excitation signal to the process and estimated transfer functions, shown in Fig 5(a). Fig.5(b) shows the curves of measured speed and simulated speed, for the transfer function in table I, column IV. We test the efficiency of the Least Square Estimator for eight different transfer functions(TF). Analyzing the estimation, (see [7]), we conclude that a TF in table I, order two, is a good approximation of the process, because the system in Fig. 2 has one delay from the loop of communication, represented by the pole at the origin in transfer function. The process of DC motor can be approximated by one first-order system, considering inductance of motor null. Table I presents results of estimation with Instrumental variable(IV) and Least squares(LS). After three iterations, the values of poles and gain stabilize. 0 50 100 150 200 250 300 350 0 50 100 150 200 250 samples White gaussian noise (a) Signal of excitation 2 0 50 100 150 200 250 300 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.2 samples measured speed simulated speed (b) Measured and estimated speeds with T F b Fig. 5. Signal of excitation 2, for validation. FTs LS IV 3aIteration b1 0.00081626 0.00081538 z(z+a1) z(z−0.6827) z(z−0.7051) MSE(error) 0.0010013 0.00098799 TABLE I ESTIMATED VALUES. We choose a PI controller (Td = 0), because the process has characteristics of a first-order system. To choose appropriated values for parameters of the PI controller (Kcand Ti), we use the close-loop pole locations for an nth-order plant using prototype Bessel systems (see [3]). The equation (6) is the calculated discrete PI transfer function, invariant to step responses (ZOH-zero-order hold) [1], for a sample period of 10ms: Gc(z) = 197.68(z−0.8726) (z−1) (6) In Fig.4 we show the results of PI controller with the desired settling time (Ts= 0.6(seg)) applied in "motor + reduction + encoder" process. The reference input is a step with amplitude of 0.3(m/s)(from 0.3(m/s)to 0.6(m/s)). III. MULTIVARIABLE ROBOT DYNAMIC MODEL For a linear time-invariant system, the multivariable statespace model for a 3-input 3-output system describe the behavior of the system (Mobile Robot) in Fig. 2 are as follows. X[k+ 1] = AX[k] + Bu[k](7) With A,B ∈ ℜ3. The State and output vector X[k], the input vector u[k]are, X[k] = [v(k)vn(k)w(k)]T, u[k] = [vi(k)vni(k)wi(k)]T, (8) The state-space can be written in the following form, Ψ = Ω∆ ,(9) with Ψ =   v(k) vn(k) w(k)  ,Ω = A B ,∆ =         v(k−1) vn(k−1) w(k−1) vi(k−1) vni(k−1) wi(k−1)         . (10) Applying the Least Square Method in (9), the resulting estimator for Ωis, b Ω = [∆T∆]−1∆TΨ.(11) Fig.6 shows the excitation signal (gaussian white noise) and measured speeds of the mobile robot, in meters per second. This signals was used for Least Square estimator. 0 500 1000 1500 2000 2500 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1Signals of Estimation samples V[m/s] V reference V measured (a) V. 0 500 1000 1500 2000 2500 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1Signals of Estimation samples Vn[m/s] Vn reference Vn measured (b) Vn. 0 500 1000 1500 2000 2500 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Signals of Estimation samples W[m/s] W reference W measured (c) W. Fig. 6. Signals of Estimation. The result of Least Squares estimation to the matrices A and B was, A=  0.8562 0.0048 0.0047 −0.0034 0.8745 −0.0180 −0.0090 0.1157 0.7637  ,(12) B=  0.1447 −0.0045 −0.0057 0.0022 0.1263 0.0161 0.0093 −0.1205 0.2375  (13) To verify the Least square estimation, we apply another excitation signal to the system and estimated transfer functions, shown in Fig 7. 0 200 400 600 800 1000 1200 −0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Signals of Validation samples V[m/s] V reference V estimated V measured (a) V. 0 200 400 600 800 1000 1200 −0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Signals of Validation samples Vn[m/s] Vn reference Vn estimated Vn measured (b) Vn. 0 200 400 600 800 1000 1200 −0.5 0 0.5 1Signals of Validation samples W[m/s] W reference W estimated W measured (c) W. Fig. 7. Signals of Validation. IV. TRAJECTORY TRACKING FOR THE MOBILE ROBOT The drive velocities of the mobile robot are the linear velocities (V(t),V n(t)) and angular velocity (W(t)). They are converted in the linear wheel velocities v1(t),v2(t),v3(t)and v4(t)(see [10]): v1(t) = V n(t) + fW(t)(14) v2(t) = −V(t) + gW(t)(15) v3(t) = −V n(t) + fW(t)(16) v4(t) = V(t) + gW(t)(17) where (see Fig. 1(b)): •f: the distance between the point C and wheels of the motors M1 e M3; •g: the distance between the point C and wheels of the motors M2 e M4. The drive velocities may cause saturation in motor’s speeds, mainly when trajectories have linear velocities (V(t),V n(t)) and angular velocity (W(t)) different from zero. The schematic in Fig. 2, shows the trajectory control loop of the mobile robot, taking into consideration the restriction on motor’s velocities thus preventing drive velocities that the mobile robot cannot follow. By the Fig. 1(b), is possible to calculate the kinematic equations of the mobile robot considering the linear wheel velocities, the linear velocities (V(t)eV n(t)) and angular velocity(W(t)) of the mobile robot, V(t) = 1 2(−v2(t) + v4(t)) (18) V n(t) = 1 2(v1(t)−v3(t)) (19) W(t) = 1 2f(v1(t) + v3(t)) (20) W(t) = 1 2g(v2(t) + v4(t)) (21) where: •V(t)and V n(t): linear velocities of the point C; •W(t): angular velocity of the mobile robot; •v1(t),v2(t),v3(t)ev4(t): linear velocity of the wheels of the mobile robot; •θ(t): orientation of the mobile robot; •M1,M2,M3eM4: motors of the mobile robot, related a each wheel. The algorithm IDV calculates the robot velocities V(t),V n(t)and W(t), taking into account the limitations of motor’s speeds. So, its equation can be described with three control variables (V(t),V n(t)and W(t)), related with linear wheel velocities of the mobile robot(v1(t),v2(t),v3(t)and v4(t)), proposed in [6]. The Fig. 8 shows eight planes with the follow limits of velocities for the wheels robot: v1 = v3 = 1(m/s)and v2 = v4 = 1.5(m/s). The Fig. 8 was generated with Wpositives and negatives, until the instant that velocity V n reached zero (V n = 0). Analyzing Fig. 8, the drive velocities, should be inside the solid. To define the correct drive velocities Vref ,V nref , Wref , that are outside the solid of the Fig.8, we can find the intersection point(Pref ) of the line land the planes in Fig.9(a). Referring to Fig.9(a), let the line lfrom the origin to the point Pref = (Vref , V nref , Wref ). Then, intersection point(Pref ) give us the maximum robot velocities, respecting the limits of robot motors. Now, we present a example with the point Pref = (1,−1.2,2), representing the robot velocities V,V n eWof the mobile robot, with following parameters: v1 = v3 = 1(m/s), v2 = v4 = 1.5(m/s)and f=g= 0.2(m). The point Pref = (1,−1.2,2) is outside of solid (see Fig.9(a) and Fig.9(b)), after redefine the robot velocities, with the formulation above, we obtain the point Pref = (0.625,−0.75,1.25) (point of the intersection with the plane).The Fig. 9(b) shows the axis (V n,W), where we can see the point of intersection Pref with the plane. −1.5 −1 −0.5 00.5 11.5 −1 −0.5 0 0.5 1 −5 −4 −3 −2 −1 0 1 2 3 4 5 VN V W Fig. 8. Robot Velocities in coordinates system V, V n, W . We used to test the algorithm developed, for calculates the ideal drive velocities(IDV), the trajectory shown in Fig. 10. The initial position of mobile robot was xi= 0(m),yi= −2 −1 0 1 2 −1.5 −1 −0.5 0 0.5 1 −5 −4 −3 −2 −1 0 1 2 3 4 5 V VN W Pref Pref (a) Axis V,V n,W. −1.5−1−0.500.51 −5 −4 −3 −2 −1 0 1 2 3 4 5 V VN W Pref Pref (b) Axis V n,W. Fig. 9. Robot Velocities, points Pref and Pref . 0(m)and θi= 0(rad). The final position was xf=−2(m), yf= 0(m)and θf=π(rad). −2.5 −2 −1.5 −1 −0.5 0 0.5 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1Trajectory 1 X (m) Y(m) Initial point Goal point Fig. 10. Axis coordinates XY - trajectory for test. Three cases had been tested: with a ideal model of the mobile robot, with the real model of the mobile robot without the algorithm IDV and with the real model of the mobile robot with the algorithm IDV. The Fig. 11 shows the drive velocities executed by a ideal model of the omni-directional mobile robot with four wheels, this model does not have velocity restrictions, following high drive velocities(Vref , V nref , Wref ). In Fig. 14 we show that the trajectory was tracked correctly. The Fig. 12 shows the drive velocities executed by the real model of the mobile robot, that take into account the limitations of motors speed, but without use the algorithm IDV. It results that the motors speed has reached saturation point, generating errors in robot’s velocities and consequently, executing the trajectory in a wrong form, as in Fig. 14. The Fig. 13 shows the drive velocities executed by the real model of the mobile robot, with the algorithm IDV. The velocities of the mobile robot respects the motors limits, following the trajectory correctly, as in Fig. 14. V. CONCLUSION In this paper we identify a discrete process("motor + reduction + encoder") shown in Fig. 2, of the a mobile robot. 0 0.5 1 1.5 2 −6 −4 −2 0 2 4 6 8 Time(seg) V,Vn,W Trajectory 1 with Ideal model V Vn W Fig. 11. Ideal mobile robot model. 0 0.5 1 1.5 2 −6 −4 −2 0 2 4 6 8 Time(seg) V,Vn,W Trajectory 1 without algorithm V Vn W Fig. 12. Real mobile robot model, without the algorithm IDV. We use Least Squares and Instrumental Variable estimator. These estimations permit the selection of appropriate values for PI controller, implemented in the mobile robot. This is the first step for the identification of a dynamic model for the whole mobile robot. Thus, the second step was the estimation of whole mobile robot considering it as a multivariable system. Moreover, this paper formulates a algorithm (IDV) to define the robot’s reference velocities in order to enable the trajectories to be followed without significant errors. The procedure presented in this paper can be used for omnidirectional robots, with different configurations (three wheels) and in all applications where critical trajectories must be perfectly executed. In future works, we will test technics of control(Adaptative control) in the robot and estimated models. ACKNOWLEDGMENT ∗The author is supported by the Program Alβan, the European Union Program of High Level Scholarships for Latin America, scholarship n.E04D028256BR REFERENCES [1] G.F. Franklin and J.D. Powell and M. Workman, Digital control of dynamic systems, Addison Weley Longman, Inc,1997. [2] J.L. Martins De Carvalho, Dynamical Systems and Automatic Control, Prentice Hall, 1993. [3] R. J. Vaccaro, Digital Control - A State-Space Approach, McGraw-Hill, 1995. 0 0.5 1 1.5 2 −6 −4 −2 0 2 4 6 8 Time(seg) V,Vn,W Trajectory 1 with algorithm V Vn W Fig. 13. Real mobile robot model, with the algorithm IDV. −2.5 −2 −1.5 −1 −0.5 0 0.5 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.2 X(m) Y(m) Trajectory 1 Ideal with algorithm without algorithm Initial point Goal point Fig. 14. Trajectory executed for the three cases. [4] K. J. Astrõm and T. Hãgglund, PID controllers : Theory, design, and tuning, International Society for Measurement and Con, 1995. [5] G. C. Goodwin and R. L. Payne, Dinamic System Identification, Academic Press, 1997. [6] A. Scolari Conceição and A.P.G.M. Moreira and P.J.G. Costa, Trajectory tracking for Omni-Directional Mobile Robots with restrictions on motor’s velocities., in Robotica 2005 - Proceedings of the Scientific Meeting, 2005. [7] A. Scolari Conceição and A.P.G.M. Moreira and P.J.G. Costa, Dynamic Model Identification and Control of a Omni-Directional Mobile Robot’s Motors., in Robotica 2005 - Proceedings of the Scientific Meeting, 2005. [8] J. Reeds and L. Shepp, Optimal paths for a car that foes both forwards and backwards, in Pacific Journal of Mathematics, 1990, pp.145(2). [9] Xiaoping Yun and Yoshio Yamamoto, Internal Dynamics of a Wheeled Mobile Robot, in Proceedings of the International Conference on Intelligent Robots and Systems, 1993, pp.1288-1294. [10] Tamas Kalmar-Nagy and Raffaello D Andrea and Pritam Ganguly, Nearoptimal dynamic trajectory generation and control of an omnidirectional vehicle, in Journal of Robotics and Autonomous Systems, 2003, pp.47-64. [11] J. I. Neimark and N. A. Fufaev, Dynamics of Nonholonomic Systems, American Mathematical Society, 1972.