Keywords

1 Introduction

Mobile robots (MBs) are being widely applied in many different fields, such as in industrial logistics [1], medical logistics [2], tunnelling robots in mining [3], or service restaurant service [4]. MBs were one of the important elements in the industrial production system 4.0 [4,5,6,7]. Modeling dynamics is a significant problem when designing, manufacturing, and controlling MBs. There have been many studies on the dynamics of different types of MBs [8,9,10]. Ren et al. [11] modelled and simulated an open-loop dynamics controller of an omnidirectional MB with three wheels, ignoring wheel slip and friction between the wheels with the working environment. Sarkar et al. [12] proposed a feedback nonlinear dynamics controller that follows the trajectory according to the Dubins method with the assumption of ignoring slip and friction. Several other studies have tried to design different controllers to improve the position and posture accuracy of MBs during movement with the assumption that there is no friction between the wheel and road surface [13,14,15,16]. Zamanian et al. [17] modelled the dynamics problem of a 4-wheel MB taking into account the longitudinal and transverse sliding when moving on arbitrary sloped surfaces, Sidek et al. [18] proposed a nonlinear dynamics controller to improve the lateral slip of a DDMR when navigating an MB. Cerkala et al. [19] modelled the frictional states in the newton dynamics model to design a PI controller that follows the trajectory is a second-order curve similar are some other studies [20, 21], etc. In the above studies, in which friction between wheel and road surface is assumed, have the disadvantage of not being close to practice.

In this work, a dynamic model for a DDMR was established considering the friction between the wheel and road surface with variable load. In addition, a complex curve was applied when the coefficient of friction was determined experimentally based on a platform robot manufactured as input data for the simulation problem.

2 Mathematical Models of Dynamics

2.1 Kinematic Model

Consider a DDMR moving along the trajectory ξ with no longitudinal slip in the global coordinate ϑf{Of xf yf zf} as described in Fig. 1. According to [22], the kinematic of the DDMR is defined by:

$$ \left\{ {\begin{array}{*{20}l} {V_{G} = (V_{2} + V_{1} )/2 = r(\dot{\varphi }_{2} + \dot{\varphi }_{1} )/2} \hfill \\ {\Omega = (V_{2} - V_{1} )(2\ell )^{ - 1} = r(\dot{\varphi }_{2} - \dot{\varphi }_{1} )(2\ell )^{ - 1} } \hfill \\ \end{array} } \right. $$
(1)
Fig. 1
A schematic representation of D D M R. X R, Y R are the reference coordinates of D D M R at an angle of phi to X Y axis with center point X G, Y G. F 1 and F 2 are the forces at the wheels, F is the force of the robot, along the x-axis, tau 1 and 2 are torques at the wheels in a clockwise direction.

Illustrate the kinematic relationship of DDMR in the global coordinate

The linear velocity of the robot in the global coordinate is determined by:

$$ {\mathbf{q}}_{{\text{f}}} = \left[ {\begin{array}{*{20}c} {x_{G} } & {y_{G} } & \theta \\ \end{array} } \right]^{T} = \left[ {\begin{array}{*{20}c} {\cos \theta } & {\sin \theta } & 0 \\ 0 & 0 & 1 \\ \end{array} } \right]^{T} \left[ {\begin{array}{*{20}c} {V_{G} } \\ \Omega \\ \end{array} } \right] $$
(2)

2.2 The Dynamic Model of DDMR

If τ1, τ2 are the torque of the left and right driving wheels; Fms1, Fms2 are the friction force between the two wheels and the road surface; mp is the mass of the robot; mw is the wheel’s mass; Ip, Iw, Im are the moment of inertia of the robot, the wheel about its axis and the wheel around its diameter, respectively. Applying Lagrange dynamics equation we have the dynamic equation of the DDMR is given by:

$$ \begin{aligned} & \left\{ {\begin{array}{*{20}c} {m\ddot{x}_{G} - \lambda_{1} \sin \theta + (\lambda_{2} + \lambda_{3} )\cos \theta = 0} \\ {m\ddot{y}_{G} + \lambda_{1} \cos \theta + (\lambda_{2} + \lambda_{3} )\sin \theta = 0} \\ \end{array} } \right.;\;I\ddot{\theta } + \ell (\lambda_{3} - \lambda_{2} ) = 0; \\ & \left\{ {\begin{array}{*{20}c} {I_{w} \ddot{\varphi }_{1} - \lambda_{2} r = \tau_{1} - rF_{ms1} } \\ {I_{w} \ddot{\varphi }_{2} - \lambda_{3} r = \tau_{2} - rF_{ms2} } \\ \end{array} } \right. \end{aligned} $$
(3)

wherein \(m = m_{p} + 2m_{w}\); \(I = I_{p} + 2m_{w} \ell^{2} + 2I_{m}\); λ1, λ2 and λ3 are Lagrange multipliers.

Writing Eq. (3) in the form of an algebraic matrix, we have [23]:

$$ {\mathbf{D}}({\mathbf{q}}){\ddot{\mathbf{q}}} + {\mathbf{M}}^{T} ({\mathbf{q}}){{\varvec{\uplambda}}} = {\mathbf{E}}({{\varvec{\uptau}}} - {\mathbf{F}}),\;\;{\mathbf{q}} = [x_{G} ,y_{G} ,\theta ,\varphi_{1} ,\varphi_{2} ]^{T} $$
(4)

Transform Eq. (4) using the matrix B(q) with \({\mathbf{v}}(t) = \left[ {\begin{array}{*{20}c} {V_{G} } & \Omega \\ \end{array} } \right]^{T}\), we have the dynamics of DDMR when considering the frictional force:

$$ {\overline{\mathbf{D}}}({\mathbf{q}}){\dot{\mathbf{v}}}{(}t{)} + {\overline{\mathbf{C}}}({\mathbf{q}}){\mathbf{v}}{(}t{)} = {\overline{\mathbf{E}}}({{\varvec{\uptau}}} - {\mathbf{F}}),\;\;{\mathbf{B}}({\mathbf{q}}) = \left[ {\begin{array}{*{20}c} {\cos \theta } & {\sin \theta } & 0 & {r^{ - 1} } & {r^{ - 1} } \\ 0 & 0 & 1 & { - \ell r^{ - 1} } & {\ell r^{ - 1} } \\ \end{array} } \right]^{T} $$
(5)

3 Simulation Results and Discussion

3.1 Setting Simulation Parameters

Step 1. Determine the inertia parameters of DDMR

Inertia parameters matrix of the DDMR, the frames, and the wheel are determined from the design by the Mass Properties tool of Solidworks software, given by:

$$ \begin{aligned} & {\mathbf{I}}_{r} = \left[ {\begin{array}{*{20}c} {0.128} & { - 0.001} & { - 0.004} \\ { - 0.001} & {0.130} & {0.007} \\ { - 0.004} & {0.007} & {0.142} \\ \end{array} } \right],\;{\mathbf{I}}_{t} = \left[ {\begin{array}{*{20}c} {0.114} & { - 0.001} & { - 0.004} \\ { - 0.001} & {0.126} & {0.007} \\ { - 0.004} & {0.007} & {0.131} \\ \end{array} } \right], \\ & {\mathbf{I}}_{b} = \left[ {\begin{array}{*{20}c} {0.153 \times 10^{ - 3} } & 0 & 0 \\ 0 & {0.299 \times 10^{ - 3} } & 0 \\ 0 & 0 & {0.153 \times 10^{ - 3} } \\ \end{array} } \right] \end{aligned}$$
(6)

Step 2. Experimental determination of the coefficient of friction of the driving wheel with the road surface

Experimental determination of the coefficient is carried out according to the diagram Fig. 3, with the platform as described in Fig. 2, has the parameters: DDMR mass m = 10.4 (kg), driving wheel radius r = 0.0475 (m), the distance between two driving wheels 2 = 0.3 (m).

Fig. 2
A photograph of platform D D M R. It has three platforms, 2 wheels to move around and a small wheel in the front for rotating, sensors, camera, antenna, and ethernet.

A photo of the platform DDMR

Fig. 3
An illustration to determine the coefficient of friction. A load is shifted from A to B with a force F and friction acting opposite to it. The radius of the wheel is r, and the distance between the two wheels is 2 l, with loads of 0, 1, and 2 kilograms.

Determine the coefficient of friction

Experimental process is carried out with 3 cases: (1) No load, (2) Test load with mL1 = 1 kg and (3) Test load with mL2 = 2 kg. For each test case 10 times. The experimental data is described in Table 1.

Table 1 Experimental data determine the coefficient of friction

With the experimental values in Table 1, the coefficient of friction between the wheel and the road surface is calculated by the formula below:

$$ \mu_{i} = F_{tb} (m_{\Sigma } g)^{ - 1} ,\;\mu_{c} = \mu_{tb} = (\mu_{kt} + \mu_{t1} + \mu_{t2} )3^{ - 1} $$
(7)

where Ftb is the mean force value, mΣ = m + mLi (i = 1, 2); g = 9.81 m/s2.

Thus, the coefficient of friction between the wheel and the road surface is μc = 0.355.

Step 3. Simulated trajectory settings

To simulate DDMR dynamics in the general case, we use the NURBS curve [23, 24] to design the motion trajectory of the DDMR, as shown in Fig. 4, Bi points (i = 1–10) are NURBS interpolation points. The red curve is the motion trajectory of DDMR after performing NURBS interpolation on Matlab software.

Fig. 4
A line graph illustrating the motion trajectory of D D M R. It moves in the x, y axis starting at (1,0), (2,0.5), (2.5,1), (3,1.5), (2,2), (1,1.5), (0.5,1), (0,05), and (1,0), in a curved path.

Motion trajectory of DDMR

Step 4. Set the kinematics and dynamics parameters

From the motion trajectory ξ is defined in Fig. 4, the radius of curvature of the trajectory is obtained as follows:

$$ \rho (t) = \left| {\left( {\dot{x}(t)^{2} + \dot{y}(t)^{2} } \right)^{3/2} (\dot{x}(t)\ddot{y}(t) - \dot{y}(t)\ddot{x}(t))^{ - 1} } \right| $$
(8)

Here (x(t), y(t)) is the coordinates of trajectory ξ.

Set the linear velocity VG of the DDMR VG = 0.2 (m/s). Thus, the angular velocity and angular acceleration of the DDMR is determined by:

$$ \Omega (t) = 2V_{G} \rho^{ - 1} (t),\;\varepsilon (t_{i} ) = \dot{\Omega }(t_{i} ) = \Delta \Omega (t_{i} )(\Delta t_{i} )^{ - 1} = (\Omega (t_{i + 1} ) - \Omega (t_{i} ))(t_{i + 1} - t_{i} )^{ - 1} $$
(9)

3.2 Simulation Results and Discussion

From the kinematics and dynamics equations established in Sect. 2 and the setting parameters are presented in Sect. 3.1. Figure 5 is a calculation diagram simulating the dynamics problem of DDMR set up on Simulink of Matlab software. Figure 6 is a graph describing the angular velocity and acceleration of the DDMR with the markers corresponding to those in Fig. 4.

Fig. 5
A schematic diagram of dynamic simulation for D D M R. The input is connected to the kinematics model, this along with the coulomb friction force to the left and right is connected to the dynamic model and to the left torque and right torque.

Simulink diagram calculates dynamic simulation for DDMR

Fig. 6
2 graphs of omega and epsilon versus time. a. The velocity and acceleration peaks and troughs and repeat the same pattern every 20 seconds, at point 2, velocity is 0.441, acceleration is negative 0.4, and at point 3 velocity is negative 0.405 and acceleration is 0.3, respectively.

The velocity and acceleration angular of DDMR

The simulation results in Fig. 6 shown at inflexion points 2, 3, 6, and 7 in Fig. 4 have curvature radii 0.954 m, 0.988 m, 0.988 m, and 0.978 m, respectively, angular velocity of DDMR has a sudden jump from positive to negative or vice versa. That leads to an abrupt change of moment τ1, τ2 as described in Fig. 7. While at inflexion points 1, 5 with corresponding curvature radii of 4.0 m, 3.950 m, and no change of direction τ1, τ2 at that time is a point on the smooth curve. At inflexion points 4, 8 have curvature radii of 0.628 m and 0.499 m and no change of direction. From the simulation results and discussion above, it can be seen that at inflexion points with the change of direction of DDMR, the angular velocity has jumped, causing the driving torque of the driving wheels to change suddenly, causing the slip phenomenon.

Fig. 7
2 graphs of tau1 and tau 2 versus time. a. The lines plot ups and downs and repeat the same pattern every 20 seconds. The curves of tau 1 and tau 2 are in the opposite directions at points 2, 3, and ,4 but all values lie on the positive side.

Torque value of two driving wheels for DDMR

4 Conclusion

From simulation results, experimental, discussion above, this research has achieved the following results: (i) The dynamics problem with a simple friction model is considered in the case of DDMR moving along a general trajectory; (ii) At inflexion points with a small radius of curvature and DDMR, there is a change of direction, resulting in a sudden change in torque. At that time, there is a slippage between the wheel and the road surface, causing the position and posture error of the DDMR. These results have scientific significance in designing trajectory tracking dynamics controllers for practical DDMRs such as AGVs serving logistics in industry or hospitals. However, the limitation of this research is that it has not considered the influence of rough and material homogeneity of the road surface in practice on the coefficient of friction. These factors affect the ability to grip the road and the motion accuracy of DDMR. As such, it will be considered part of our future research goals.