Academia.eduAcademia.edu

Mobile Robot Dynamics with Friction in Simulink

2014

This article focuses on the modeling of two-wheel mobile robot with differential chassis, which is moving in the plane. According to the application, it can be modeled with different accuracy levels depending on structural limits and other physical impacts. Main goal of this article is to include the effects of friction into the mobile robot dynamics. Four basic models of friction are combined into generalized model, which is then implemented as single Simulink block and added to model of mobile robot. Experiments show behaviour of friction models and mobile robot with friction.

MOBILE ROBOT DYNAMICS WITH FRICTION IN SIMULINK J. Čerkala, A. Jadlovská Department of Cybernetics and Artificial Intelligence, Faculty of Electrical Engineering and Informatics, Technical University of Košice, Slovak Republic Abstract This article focuses on the modeling of two-wheel mobile robot with differential chassis, which is moving in the plane. According to the application, it can be modeled with different accuracy levels depending on structural limits and other physical impacts. Main goal of this article is to include the effects of friction into the mobile robot dynamics. Four basic models of friction are combined into generalized model, which is then implemented as single Simulink block and added to model of mobile robot. Experiments show behaviour of friction models and mobile robot with friction. 1 Introduction Advanced simulation and computing programs, such as Matlab/Simulink offer options to create and use a large variety of dynamic systems simulation models, that also includes the mobile robots. Based on the mathematical and physical relations, it is possible to obtain the mathematical models of mobile robots with different levels of accuracy, which can be used as basis for simulation models programming. They are useful during the robot prototype design process, as a parts of advanced control structures or as a simulation data source for physical variables, that cannot be measured on real models. The main subject of interest of this article is the nonholonmic mobile robot with differentially driven wheels. In literature, this model of robot is usually considered as a mathematical model with simple dynamics [1], that includes the influences of robot’s mass m and overall moment of inertia J to it’s movement. The simulation model based on this mathematical model is usually used in more complex control structures and it is often extended by internal feedback control loop with PI controllers, designed to suppress the negative dynamics effects [1], [6]. The friction forces acting against robot movement are usually not taken into account in the mathematical model, because it is assumed, that the internal control loop can suppress them too, but simulation model itself without the internal control loop is not accurate in several views, for example: • while there is a constant applied traction force, the robot accelerates without limit, • wheel engines can set robot in motion at any non-zero force, that is not possible in reality, • after robot achieves the constant velocity and has a zero acceleration, the traction forces are zero and the robot win never stop or slow down. From this point of view, the measured simulation data for engine traction forces are not valid. To get simulation data, that are suitable for the feedforward neural model training [6], it is appropriate to increase the accuracy of mathematical model by adding influences of friction, that is usually not taken into account [1] or only simplified [6]. The main disadvantage of friction modelling is the non-linearity at zero velocity and subsequent numerical problems in calculations and simulations [3]. The focus of this article is in the implementation of friction into simulation model of nonholonomic mobile robot with differentially driven wheels, performed in the Simulink environment. 2 Mathematical model of mobile robot Usually, the main control task for mentioned type of mobile robot is to control it’s position in plane, which can be defined as a vector qR = [x y ϕ θR θL ]T , (1) that describes the robot’s centre of gravity CoG position in terms of the global coordinate system (GCS) by cartesian coordinates x, y on X and Y axes. The angle ϕ express the rotation of robot’s local coordinate system against the GCS. Position vector can be extended by θR and θL for description of the right and left wheel angular positions. The overall robot’s position in GCS is depicted on Fig. 1. Figure 1: Definition of mobile robot dimensions and position in global coordinate system The mathematical model of mobile robot can be interpreted as a conjunction of the kinematic and dynamic model. Kinematic model define the position of robot in plane [5] and the dynamic model covers the robot’s dynamical properties and influences [1]. 2.1 Kinematic model of mobile robot Kinematic model of mobile robot with differentially driven wheels can be obtained from the assumptions for wheel movement in the plane [4]: • the robot can move in plane while its Z axis is always perpendicular to this plane, • wheels are rolling without forward slip fulfilling the holonomic constraints for movement of this type of robot in plane [2], • it is assumed, that in a small time samples, even while the robot is moving straight forward, it always moves on an arc, which centre is the ICC - instantaneous centre of curvature and this arc’s radius is in term of CoG defined as Ro [5], • the robot base is solid, it’s mass is constant and the wheels are only moving parts of the robot. The kinematic model can be derived from the geometric properties of the robot motion in plane by defining the angular velocity of mobile robot centre of gravity CoG in respect to ICC as [5] ω(t) = vR (t) Ro + b or vL (t) , Ro − b vR (t) − vL (t) ω(t) = , 2b ω(t) = (2) where b expresses the distance between wheel and CoG, which lies in the middle of wheels rotation axis. The radius Ro of an arc than can be defined as Ro = b[vR (t) + vL (t)] −vR (t) + vL (t) (3) and the linear velocity v(t) of mobile robot moving at this arc is v(t) = Ro ω(t) = vR (t) + vL (t) . 2 (4) In terms of GCS, the kinematic equations for mobile robot movement defined for linear velocity v(t) and its overall angular velocit ω(t) can be summed as ẋ(t) = v(t) cos ϕ(t), ẏ(t) = v(t) sin ϕ(t), (5) ϕ̇(t) = ω(t). If necessary, the kinematic model (5) can be also defined for the wheel linear velocities vR (t), vL (t) from angular velocity equations (2) and for the wheel angular velocities ωR , ωL by incorporating the wheel radius r [1]. For the purposes of mobile robot control, the x(t) and y(t) position coordinates of robot’s CoG are the most important, the orientation angle ϕ(t) can be also used as one goal of the control. The angular positions of wheels θR (t), θL (t) can be obtained as well [2], but they have rather informational value. Kinematic model defined as system of equations (5) is the ideal mobile robot mathematical model, which is sufficient for some types of applications, but if the goal is to get more realistic data, it has to be extended by dynamic effects. 2.2 Dynamic model of mobile robot Given that the dynamic properties of mobile robot have an important influence to its motion, mainly from the wheel engines traction forces FR , FL , it is possible to incorporate them into the mobile robot’s dynamic model. According to the second Newtons law [1] Fi = mi ai , (6) the linear acceleration of mobile robot’s base can be interpreted as a derivation of its linear velocity v and interpreted as a sum FR F L + . (7) v̇ = m m while the traction forces FR , FL can be defined from the robot’s overall torque τrobot = τR + τL , (8) where τR , τL express partial wheel torques. Those torques can be defined in terms of the traction forces as τR = FR b and τL = −FL b, (9) while the left engine traction force FL is considered in opposite direction to suit the relation (8) for the robot’s overall torque τrobot , this situation is depicted on Fig. 2 Figure 2: Definition of mobile robot’s overall torque τrobot and orientation of traction forces FR , FL Angular acceleration of mobile robot ω̇ can be expressed by its torque τrobot and robot’s overall moment of inertia J as τrobot = J ω̇. (10) By substituting the partial wheel torques (9) for right and left engine τR , τL into the sum (8) of total mobile robot’s torque τrobot and by comparing it with the equation (10), it is possible to obtain the angular velocity ω̇ of two wheeled mobile robot (11) as a function of a robot’s engines traction forces. ω̇ = FR b b − FL . J J (11) Mathematical model of mobile robot with differentially driven wheels, that consist of a kinematic (5) and dynamic (7), (11) model may be represented by block diagram depicted on Fig. 3 and it can be programmed as a simulation model in the Simulink environment. Figure 3: Block diagram of a mobile robot with the wheel engines traction forces as inputs and the position coordinates as outputs The following part of the article analyses the friction as an extension to the mobile robot dynamic model expressed by (7) and (11). 2.3 Friction in mobile robot dynamics Friction acting against the movement is dependent on the object’s mass by the normal force FN and it can be classified as a static or a kinetic friction [3], [7]. Static friction is considered only at zero velocity and it is represented by its coefficient µs as a force threshold Fs , which must be overcome to set the object, in this case a mobile robot, moving. Until reaching this force threshold, the effect of wheel traction force Fext is compensated by static friction force Ff r . After overcoming the Fs , the robot is set in motion, now affected by kinetic friction, which is usually represented as a constant Coulomb friction, defined as Ff r (v) = µk FN · sign(v), (12) where µk is the Coulomb friction coefficient. This (12) kinetic friction model defines the friction force at non-zero velocities, it is independent on the size of contact area and always acts against the movement, however the friction force Ff r is dependent on a moving object’s velocity direction, no matter the size. In general, the coefficients are defined in term µs ≥ µk , while in the case of µs > µk it is possible to consider the effect of stiction [3], illustrated on Fig. 4. Figure 4: Friction models: a) Coulomb friction model, b) Coulomb friction model with stiction effect Kinetic model of friction can be further extended by considering the viscous friction, defined by µv coefficent, which causes an increase in the friction force with increasing velocity v of moving object. Finally, at small velocities and with the active stiction effect, it is possible to apply the Stribeck curve defined by coefficent ast , which replaces the step change of the friction force from Fs to Fk by stepless change at a small velocities interval [3]. By combining the above mentioned friction models, a generalized model of friction can be obtained as [3]  Fext    Fs Ff r (Fext , v) = F + (Fs − Fk )e−ast v + Fv v    k −Fk + (Fk − Fs )east v − Fv v v v v v = 0 a Fext < Fs = 0 a Fext ≥ Fs >0 <0 (13) and it can be represented as a function of velocity v depicted in Fig. 5. Figure 5: Generalized model of friction - a function of velocity v In Simulink environment, it is advantageous to create a variable block, that allows user to select desired friction model through the dynamic mask. Fig. 6 shows the programmed block with different settings for typical friction models [7]. The block have an additional state input vsta and reset output vrst , both used later when the block is integrated into the simulation model of mobile robot dynamic model in the following part of article. Figure 6: Different setting for created friction model in Simulink 3 Mobile robot dynamics with friction in Simulink Dynamic model of the mobile robot, shown in Fig 3, that covers the influences of robot’s mass m and inertia J defined for linear (7) and angular acceleration (11) can be extended in the Simulink environment by connecting the generalized friction (13) block. Since it may be expressed for external, traction force Fext and linear velocity v, it can be integrated into the dynamic model of mobile robot individually for both wheels, while it is necessary to express their linear velocities vR , vL as a functions of the traction forces FR , FL . Model trenia Fext(t) Ftr(t) [VR] v(t) [norm] FN(t) [Rsta] vsta vrst [VL] [Rrst] 1 Coulomb + Stribeck + Viscous MRB Linear velocity Friction against movement and traction force - Right wheel vR(t) 1 FR(t) FR(t) Fr [Rrst] 2 ω(t) omega reset Included Mass and Inertia rst L Reset velocity logic Fext(t) Apply friction to left wheel [Lsta] 4 states alfa aL(t) FL(t) Fl [Rsta] α(t) ω FL(t) 2 DYNAMIC PART rst R Reset [Lrst] [VR] aR(t) Apply friction to right wheel ω v MRB vL(t) 3 [VL] Linear acceleration Dynamic part with mass and inertia for single wheels Model trenia a Normal Force Ftr(t) [VL] m v(t) Normal force [norm] FN(t) [Lsta] vsta vrst [norm] 9.81 g [Lrst] Coulomb + Stribeck + Viscous MRB Friction against movement and traction force - Left wheel Figure 7: Dynamic model of the mobile robot extended by adjustable friction The state outputs from integrator blocks, that calculates the wheel linear velocities are connected to the friction block’s ports vsta and those integrators have an external reset inputs, connected to output ports vrst . The implementation of this scheme in Simulink environment is shown in Fig. 7. 4 Experiments and results The first simulation experiment, which output is depicted on Fig. 8 illustrates the effects only of the Coulomb friction due to acting external force and velocity of the moving object. The inputs of friction force block are the normal force FN = 10 N, the external force Fext is simulated as a sine wave with an amplitude of 1, the linear velocity v is the same sine signal reduced to half and delayed by 1 second, output of the block is the frictional force Ff r dependent on inputs and friction coefficients relevant for rolling movement. Friction force acting against external force or velocity 1.5 External force F (t) ext Linear velocity v(t) Friction force F (t) 1 Forces and velocity fr 0.5 0 −0.5 −1 0 1 2 3 4 5 6 7 8 9 10 Simulation time t [s] Figure 8: The Coulomb friction - effects of static and kinetic friction with regard to the external force and caused linear velocity In the second experiment, plotted on the Fig. 9, a generalised model of friction (13) with same input conditions is used. From the behaviour of the friction force Ff r , the influences of stiction, Coulomb kinetic friction, viscous friction and the stribeck curve at small velocities can be seen. Friction force acting against external force or velocity − stiction effect 1.5 External force Fext(t) Linear velocity v(t) Friction force Ffr(t) Forces and velocity 1 0.5 0 −0.5 −1 0 1 2 3 4 5 6 7 8 9 10 Simulation time t [s] Figure 9: The generalized friction - the effects of static and kinetic friction with regard to the external force and caused linear velocity The generalized model of friction (13) is also considered in the next experiment: a constant traction forces FR = 0.5N a FL = 0.51N are fed for 3 seconds to the simulation model of mobile robot inputs. The mobile robot block in experiment shown on Fig. 10 implements the block diagram from Fig. 3. Figure 10: The simulation experiment for demonstration of the friction effects acting on mobile robot movement Both forces are greater than the threshold of static friction force Fs and therefore, the robot is immediately set in motion. At the moment, when the robot starts moving and its velocity v slowly rises, the friction force Ff r gradually decline according to stribeck curve. After reaching the local minimum at constant Coulomb friction, with rising velocity the viscous friction impact is more significant. After period of 3 seconds, the excitation forces are no longer in effect and because of friction, the robot starts to slow down until it stops - the linear velocity v is than zero as well as friction forces. Fig. 11 plots the overall linear velocity of robot v(t) and the friction forces acting on both wheels. Robot overall linear velocity v(t) Linear velocity −1 v(t) [m⋅s ] 3 2.5 2 1.5 1 0.5 0 0 1 2 3 4 5 6 5 6 Friction forces acting against movement Right wheel friction Ffr R Left wheel friction Ffr L −0.1 Excited until → fr Acting friction force F [N] 0 −0.2 −0.3 −0.4 0 1 2 3 4 Simulation time t [s] Figure 11: The simulation experiment - the overall linear velocity and the impact of friction forces to the robot wheels Given that the input excitation forces FR and FL are not equal, the robot starts to turn in meaning of a weaker force, in this case it turns right. Mobile robot’s movement in the plane for last simulation experiment is shown on Fig. 12. Robot with friction moving in plane excited for 3 seconds. Y position coordinate [m] 1 0.5 0 Robot trajectory Initial position Final position −0.5 −1 −1.5 ←End of excitation −2 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 X position coordinate [m] Figure 12: The simulation experiment - robot movement in the plane affected by friction The Simulink environment enables to program the simulation model of mobile robot with dynamics based on mathematical model and use it in simulation experiments to obtain desired data. It also offers options to create a simulation block, that realizes a the generalized model of friction and implement it into a dynamic model of the mobile robot. 5 Conclusion This article describes how to include the friction into the dynamic model of the mobile robot and thus suppress the inaccuracies mentioned in the introduction of the article. If the friction is included in the dynamics of the simulation model of robot, then • the robot does not move until the engines have a sufficient force to overcome the Fs threshold, • due to friction, an already moving robot without the external input will slow down and stop, • the viscous friction ensure that robot has a maximal velocity, • at a constant velocity, the engines develop a traction forces that keeps the robot moving. By taking the friction into account, the simulation model of mobile robot with differentially driven wheels is more complex, however the obtained data are more accurate and they are usable for example, to train the feed-forward neural model [6]. To control the mobile robot position or for the trajectory tracking [1], [2], the reference values are usually angular velocities of wheels ωR a ωL . For these reason, the mobile robot shown in Fig. 3 has to be extended by the internal feed-back control loop with PI controllers, that can suppress the dynamic effects. Block diagram of the proposed control structure is shown on Fig. 13. Figure 13: Diagram of a mobile robot with an internal control loop Thanks to the internal control loop, the influences of friction should be suppressed like other robot dynamics, but obtained simulation data will be more realistic. Acknowledgment This work has been supported by the Scientific Grant Agencyof Slovak Republicunder project Vega No.1/0286/11 Dynamic Hybrid Architectures of the Multiagent Network Control Systems (40%), by the Research and Development Operational Program forproject: University Science Park Technicom for innovative applications with knowledge technology support, ITMS code 26220220182, co-financed by the ERDF (40%) and project KEGA 021TUKE-4/2012 (20%). References [1] Jaroslav Šembera and František Šolc. Modelování a řízení mobilního robotu s diferenciálním podvozkem. AT&P Journal PLUS1, pages 203–207, 2007. [2] Takanori Fukao, Hiroshi Nakagawa, and Norihiko Adachi. Adaptive tracking control of a nonholonomic mobile robot. Robotics and Automation, IEEE Transactions on, 16(5):609–615, Oct 2000. [3] Claudiu Iurian, Fayçal Ikhouane, José Rodellar Benedé, and Robert Griñó Cubero. Identification of a system with dry friction, 2005. External research report. [4] Jose Mireles Jr. Kinematic models of mobile robots. Automation and Robotics Research Institute, University of Texas at Austin, 2004. [5] Vamsi Mohan Peri and Dan Simon. Fuzzy logic control for an autonomous robot. In Fuzzy Information Processing Society, 2005. NAFIPS 2005. Annual Meeting of the North American, pages 337–342, June 2005. [6] Peter Šuster and Anna Jadlovská. Neural tracking trajectory of the mobile robot Khepera II in internal model control structure. In Process Control 2010 : 9th International Conference, 2010. [7] Ivan Virgala and Michal Kelemen. Experimental friction identification of a dc motor. International Journal of Mechanics and Applications, 3(1):26–30, 2013. Ing. Jakub Čerkala jakub.cerkala@tuke.sk doc. Ing. Anna Jadlovská, PhD. anna.jadlovska@tuke.sk