Abstract

Omnidirectional mobile robots are widely used in studies and services as they are effective and efficient in moving in any direction regardless of their current orientation. These significant properties are very useful in energy-efficient navigation and obstacle avoidance in dynamic environments. The literature on modeling and control of omni-wheel robots usually relies on the kinematic model or simplified kinematic model. Then developing control laws based on these reduced-effect models. In this article, we developed an efficient full dynamic model of a nonholonomic omni-wheel robot, including roller dynamics. That allows for a proportional–integral–derivative control law to accurately follow arbitrary paths. Kane’s approach was used for the dynamic model derivation. Kinematic modeling is less complex than multibody dynamic modeling. But to have an accurate simulation of the realistic motions of a mechanical system, the multibody dynamic model is required.

1 Introduction

The word omnidirectional means being in or involved in all directions. In robotic motion, it describes the ability of a system to move in any direction from any configuration. Omni-directional robot platforms have several advantages over a conventional design in terms of mobility in congested environments. These robots are capable of easily performing tasks in environments congested with static and dynamic obstacles and narrow aisles. These environments are commonly found in factory workshops, warehouses, hospitals, and elderly care facilities [1].

The word “mobile robot” is broad as it includes air-based, water-based, and land-skid locomotion. Skid locomotion can be done using robotic limbs, wheels, steer, and hybrid methods. Wheeled mobile robots are popular as they are relatively easy to design and implement. Widely used wheels are conventional wheels, steering wheels, caster wheels, Mecanum wheels, and universal omni-wheels (see Fig. 1). By using various wheel configurations, omnidirectional mobility can be attained.

Fig. 1
Wheel types: (a) a conventional/steering wheel, (b1) a caster ball wheel, (b2) a caster wheel, (c) a universal omni-wheel, and (d) a Mecanum wheel [2]
Fig. 1
Wheel types: (a) a conventional/steering wheel, (b1) a caster ball wheel, (b2) a caster wheel, (c) a universal omni-wheel, and (d) a Mecanum wheel [2]
Close modal

Among the mentioned wheel types, Mecanum and universal omni-wheels are most used in designing omnidirectional mobile robots and can be controlled using differential torques. When comparing those wheel types, universal omnidirectional wheels can carry more load and has less complexity in manufacturing [2]. In this study, universal omni-wheels were used with a square-based configuration (Fig. 2(b)) based on the research presented in the work by Shabalina et al. [2] Also, it was noticed that this configuration is the least studied, while the three-wheeled universal omni-wheel robot is the most studied configuration.

Fig. 2
Universal wheel configurations: (a) triangular base, (b) square base and wheels are on the sides, and (c) square base and wheels are at the corners [2]
Fig. 2
Universal wheel configurations: (a) triangular base, (b) square base and wheels are on the sides, and (c) square base and wheels are at the corners [2]
Close modal

In classical mechanics, dynamic systems fall into two categories, namely, holonomic or nonholonomic. A system is holonomic if the number of controllable degrees-of-freedom is equal to the total degrees-of-freedom. To be a nonholonomic system, controllable degrees-of-freedom must be less than the total degrees-of-freedom [3]. In other words, holonomic systems have only geometric constraints, while nonholonomic systems have velocity constraints. In wheeled mobile robots, the property of holonomicity is directly dependent on the type of wheels.

In mobile robots, key issues that need to be addressed are point stabilization, path planning, trajectory tracking, and obstacle avoidance [4,5]. Wang et al. presented the trajectory tracking of a three Mecanum wheeled mobile robot with symmetric configuration. In this study, a model predictive controller was developed along with a kinematic model. Further, the authors have demonstrated receding horizon controllers, potential field concepts, and backstepping techniques as control strategies that can be used for mobile robot navigation.

A pulse width modulation-based odometry control approach has been used for path planning and motion control of a four-wheeled X configured mobile robot [5]. As future work, the authors suggest implementing a proportional–integral–derivative (PID) or fuzzy controller to address the error resulted in actual heading angle and the reference heading angle difference.

Energy optimization in mobile robots is one of the trending areas of the research. Zhao et al. presented an energy optimization method considering motion-induced forces and internal forces for a three-cluster wheeled robot. The results show that controlling those interactive forces caused the energy utilization to be optimized [6].

Li et al.[7] demonstrated how controlling actuator dynamics and actuator saturation leads to a stable motion controller using a kinematic model and motor dynamics of a three-wheel omnidirectional mobile robot.

Soccer is a sport that needs high mobility like stops, turns, and so on. Omni-wheels can be successfully used in such soccer playing applications in contrast with conventional wheels. Samani et al. [8] presented a three-wheel omnidirectional soccer-playing robot without heading direction. A kinematic model with a linear and angular momentum balance for motor dynamics was considered in the research assuming a no-slip condition. Self-localization of the robot was accomplished using odometry.

Path planning and trajectory tracking are two challenges that a mobile robot should overcome. Most studies either addressed path planning or trajectory tracking [9]. Kim et al. suggested a brain limbic system-based controller for motion control of a four-wheeled omni-directional mobile robot while using an A* and fuzzy analytic hierarchical process. The controllers are based on the kinematics and motor dynamics of the robot.

A simplified Mecanum wheel model has been presented by Dosoftei et al. [10] using a reduced omni-wheel model. Assuming a no-slip condition, a kinematic model and inverse kinematic model are presented in the work. The dynamic model of the four-wheeled mobile robot was developed using Simscape Multibody™, a tool used for 3D virtual prototyping.

In Ref. [11], a generalized n-number of wheels robot model was presented. The final velocities of the robot wheels have been derived by considering traction forces from the motors. The researchers came up with an accurate driving check model by comparing the wheel velocities to identify whether the robot is slipping. A trajectory linearization controller for dynamic control was presented in Ref. [12,13]. The controller has an inner loop for dynamic control and an outer loop for kinematic control based on nonlinear robot motor dynamics. A sensor fusion method has been proposed in combination with onboard sensors and a vision system for the robot to provide accurate reliable position and orientation measurements.

Universal omnidirectional wheels or Mecanum wheeled platform velocities are proportional to the wheel positions/body configurations [14]. Song and Byun presented the work on a steerable universal omni-wheeled platform for squarebase with the wheels located at the corners of the configuration (see Fig. 2(c)). The velocity of the robot is controlled using the steering mechanism by changing the angle of four wheels. Acceleration or deceleration is an important parameter that determines the slipping of wheels and controlability of mobility. Reference [15] shows the use of acceleration and velocity filters to avoid wheel slipping along curved paths. The motor dynamics with kinematics for a four-wheeled mobile robot was discussed. The use of a Kalman filter to overcome slippage in mobile robot navigation is discussed in Ref. [16]. By using the kinematic model, a matlab simulation was performed for four omni-wheels. A dynamic model was derived using Kane’s equations in Ref. [17] considering global linear velocities and angular velocities as independent speeds. The motor dynamics and robot kinematics were used for a four Mecanum wheeled robot. Further, a nonlinear model predictive controller was used to avoid velocity obstacles.

Most researchers have included motor dynamics of the robots and Newton–Euler equations or Lagrangian equations to derive dynamic models or software packages like Simscape Multibody™. But to have an accurate simulation of the mechanical system, a multibody dynamic model is required. The method of Lagrange tends to involve computer algorithms with a large number of unnecessary arithmetic operations due to the differential-algebraic nature of the Lagrangian formulation with nonholonomic constraints. Newton’s method is associated with eliminating reaction forces and torques that arise from the interaction between the mechanical elements of the robot.

Kane’s dynamic equations enable computer algorithms to work fast because the formulation is purely differential in nature [18]. There appears to be no prior work that demonstrated a complete nonholonnomic dynamic model of the system, including barrel dynamics. We address this issue in what follows. We also demonstrate that simpler controllers can be utilized to provide accurate trajectory tracking with a complete dynamic model. A nonholonomic multibody dynamic model is presented using Kane’s equations assuming no-slip omni-wheels. wolfram mathematica [19] was used for the simulation along with symbolic equation processing [20]. In what follows, the model is developed along with a PID controller. Numerical model validation, trajectory tracking, and disturbance rejection are demonstrated.

2 Methodology

2.1 Forward Kinematic Modeling.

The forward kinematic model describes the work-space of a robot, positional capabilities, and constraints. This is the motion of the robot regardless of the forces and torques. The kinematic model can be used to study the behavior of the positions, velocity, and acceleration [21,22]. The role of kinematics is to ensure the functionality of the mechanism. In the first part of this study, forward kinematic equations are developed. Here, the robot was divided into 13 bodies. The wheel was assumed to have two parts, a torus comprised with all the rollers (radius R) and a solid disk of radius (R-r) (Fig. 3). The passive rollers mounted on the periphery of a wheel add an extra degree-of-freedom to each wheel.2

Fig. 3
Universal Omni-wheeled mobile robot
Fig. 3
Universal Omni-wheeled mobile robot
Close modal
As shown in Fig. 3, wheel 1–4 were assigned body frames {b}, {d}, {f}, and {h}, while rollers 1–4 are {c}, {e}, {g}, and {l}. The global frame is {n}, and the platform has frame {a} The universal omni-wheel velocities (ω1, ω2, ω3, ω4) are independent, while other velocities (q1′ [t], q2′ [t], q3′[t], q5′[t], q7′[t], q9′[t], q11′[t]) are dependent. In the case of forward kinematics, for a given set of q1′ [t], q2′ [t], and q3′[t], the required ω1, ω2, ω3, and ω4 and resulting q5′[t], q7′[t], q9′[t], and q11′[t] were derived. Take q1′ [t] = u1, q2′ [t] = u2, q3′ [t] = Ω and the velocity of the robot in the Newtonian frame as VN (Fig. 2). Then, VN was projected onto frame {a} as in Eqs. (2) and (3).
VN=u1n^1+u2n^2
(1)
In the direction of a^1,
VA1=(u2sin[q3(t)]+u1cos[q3(t)])a^1
(2)
In the direction of a^2,
VA2=(u2cos[q3(t)]u1sin[q3(t)])a^2
(3)
The projected velocity in the {a} frame is,
V=Va1+Va2
or
V=a^1(u2sin(q3(t))+u1cos(q3(t)))+a^2(u2cos(q3(t))u1sin(q3(t)))
(4)
The angular velocities of the wheels in terms of V and Ω (here, Lm is the magnitude of vector in a^1 or a^2 (see Fig. 4)) are given by,
ω1=Va^1R(Lma^2×Ωa^3)a^1R
(5)
ω2=Va^1R+(Lma^2×Ωa^3)a^1R
(6)
ω3=Va^2R(Lma^1×Ωa^3)a^2R
(7)
ω4=Va^2R+(Lma^2×Ωa^3)a^2R
(8)
The angular velocities of the rollers of the wheels in terms of V are given by,
q5(t)=Va^2r
(9)
q7(t)=Va^2r
(10)
q9(t)=Va^1r
(11)
q11(t)=Va^1r
(12)
The {a} to {n} transformation R(θ), where θ = q3(t) is given by,
R(q3(t))=[cos(q3(t))sin(q3(t))0sin(q3(t))cos(q3(t))0001]
(13)
From Eqs. (5) through (8) by substituting Eqs. (1)(4) and transforming the body frames to the Newtonian frame gives,
[ω1,ω2,ω3,ω4]T=1R[cos(q3(t))sin(q3(t))Lmcos(q3(t))sin(q3(t))Lmsin(q3(t))cos(q3(t))Lmsin(q3(t))cos(q3(t))Lm][u1,u2,Ω]T
(14)
Equation (14) represents the forward kinematics of the robot. The kinematics of the rollers can be derived by substituting V in Eqs. (9)(12).
Fig. 4
Velocity VN in {n} and V in {a}
Fig. 4
Velocity VN in {n} and V in {a}
Close modal

2.2 Inverse Kinematic Modeling.

The robot actuator velocities ω1, ω2, ω3, and ω4 are the independent speeds. All other speeds are dependent on the wheel speeds. The purpose of deriving the inverse kinematic equations is to obtain the responses of dependent velocities as the independent velocities are controlled. To obtain the inverse kinematics of the robot, it is required to invert Eq. (14). But the matrix is nonsquare; therefore, the ordinary least square method3 is utilized giving,
[u1,u2,Ω]T=R2[cos(q3(t))cos(q3(t))sin(q3(t))sin(q3(t))sin(q3(t))sin(q3(t))cos(q3(t))cos(q3(t))12Lm12Lm12Lm12Lm][ω1,ω2,ω3,ω4]T
(15)
As the ω1, ω2, ω3, and ω4 are set, the response of the q1′ [t], q2′ [t], and q3′[t] can be investigated using Eq. (15). The angular velocities of rollers are found by solving Eq. (15) with Eqs. (9)(12) along with q1′ [t] = u1, q2′ [t] = u2, q3′ [t] = Ω,
q5(t)=u1sin(q3(t))u2cos(q3(t))r
(16)
q7(t)=u1sin(q3(t))u2cos(q3(t))r
(17)
q9(t)=u2sin(q3(t))+u1cos(q3(t))r
(18)
q11(t)=u2sin(q3(t))+u1cos(q3(t))r
(19)

2.3 Dynamic Modeling.

The dynamics of the robot contain its behavior under the applied forces and torques. The equations that represent the dynamics of the robot play an important role in designing and understanding its operation. The dynamic model can be used to understand the performance of the robot under different forces and torques. Kane’s dynamical equations [23] is the approach utilized in this work. Kane’s equations are formulated for nonholonomic systems and are suitable for this model. This is an approach to derive dynamic models systematically by studying the independent variables. There is no necessity to deal with interaction forces and torques. This approach enables computers to work fast with less effort computing the model algorithms [18].

In this work, the wheels are assumed to be composed of a torus (major radius R, minor radius r), contact roller (radius r), and a disk of radius (Rr) and thickness 2r.4 The torus is assumed to represent the mass and inertia of the rollers in periphery of the wheel. The roller at the contact point with the floor tracks the inertia of the roller perpendicular to the wheel axis. We assume the rollers not in contact with the ground cease spinning.

Kane’s dynamical equation [23] is expressed by,
n=1#Bodies(FappnIn).OVBnui+(TappnJn).OωBnui
where
Jn=OrBn×(mndOVBndt)+ddt(I¯¯Bn.NωBn)In=dLndt
where mn is the mass of nth body, Fappn is the applied forces on each body, In is the inertia force of each body, Tappn is the applied torque on each body, Jn is the inertia torques of each body, OVBn is the velocity of each body referenced to the {n} frame, NωBn is the angular velocity of each body referenced to the {n} frame, I¯¯Bn is the inertia of each body about point Bn, and Ln is linear momentum of each body.

To apply Kane’s dynamic equation, it was required to calculate the mass moment of inertia (see Table 1), position vectors, angular velocities, and linear velocities relative to the {n} frame for each body. When the dynamic equations are derived, the only unknowns are qn, qn, ωi, and Tmoti.

By using Kane’s dynamic equation, the forms of the equations are as follows:
E(1)=f1[q3(t)q11(t),ωn(t),ωn(t),Tmot1]=0
(20)
E(2)=f2[q3(t)q11(t),ωn(t),ωn(t),Tmot2]=0
(21)
E(3)=f3[q3(t)q11(t),ωn(t),ωn(t),Tmot3]=0
(22)
E(4)=f4[q3(t)q11(t),ωn(t),ωn(t),Tmot4]=0
(23)
By solving the four dynamic equations (Eqs. (20)(23)) with the inverse kinematic model (see Sec. 2.2 and Eqs. (15)(19)), the dynamic behaviors of the robot can be investigated.

2.4 Proportional–Integral–Derivative Controller.

A trajectory tracking controller was implemented. Given a predefined path, the robot should be able to follow it. A PID controller is a well-established way of driving a system toward a reference. The PID compensator is capable of capturing the history through integration and future through differentiation. In this section, PID controllers for four wheels was implemented. The tracking error state of the ith wheel displacement is given by,
err[i]=qdi[t]qi^[t]{i=4,6,8,10}
(24)
The proposed control law for the ith wheel is expressed as follows:
eqM[i]=Tmi[t]KInt[i]err[i]Kprop[i]derr[i]dtKderi[i]d2err[i]dt2
(25)
where Tmi(t) is the motor torque as an additional state variable ignoring the much faster motor electrical dynamics. The linearized model of the system dynamics was developed assuming the dynamics of all other motors and variables to be constants. This resulted in a second-order linear ordinary differential equation (ODE) for the plant dynamics. The PID was designed for this system with input Tmi and output qi. The pole placement technique was used to size the gains. The gain values are shown below for the time to peak of 0.25 s and 2% settling time of 0.5 s.
Kprop[1]=1778.55,KInt[1]=14355.0,Kderi[1]=75.03Kprop[2]=1775.73,KInt[2]=14320.6,Kderi[2]=74.85Kprop[3]=1250.01,KInt[3]=15225.5,Kderi[3]=79.58Kprop[4]=1250.01,KInt[4]=15225.5,Kderi[4]=79.58
For the piece-wise linear path segments, the derived gain values were tested for a step input of 0.05 and parabolic input of (5t2 + 3t + 1)π/180 as shown in Fig. 5. The controller performs reasonable tracking of the given input. The required torques of the motors were reasonable as well and are shown below (see Fig. 5, Tmi versus t).
Fig. 5
PID controller response to the step input and parabolic input
Fig. 5
PID controller response to the step input and parabolic input
Close modal
Equation (26) shows the predefined path for the robot. The parametric plot of the path is shown in Fig. 6.
qd1[t]=20(1sin(2πt/5))qd2[t]=20(1sin(πt/5))
(26)
Fig. 6

3 Results

3.1 Forward Kinematic Model.

The forward kinematic equations in Sec. 2.1 were solved using mathematica [19].5 For a given set of q1 [t], q2 [t], q3 [t] the model calculates the qk [t] (k = 4 to 11). Figure 7 shows the graphical response of model for given q1 [t] = 10 in./s, q2 [t] = 10 in./s, q3 [t] = 5 rad/s. The model was expected to spin around the z-axis and move in a diagonal direction. The model successfully responded to any combination of inputs. Shown in Fig. 7 are qi [t] (i = 1, 2,…, 11) and q1 [t] versus q2 [t] from top left to bottom right. As shown in the q1 [t] versus q2 [t] parametric plot, the robot is moving on a diagonal track, which is 45 deg to n^1. The q3 [t] versus t plot shows that the robot is spinning around the z-axis with constant angular velocity.

Fig. 7
Forward kinematics response plots for q′1 [t] = 10 in./s, q′2 [t] = 10 in./s, and q′3 [t] = 5 rad/s. (a) q1 [t], q2 [t] versus t (b) q3 [t], q4 [t], q6 [t], q8 [t], q10 [t] versus t (c) q5 [t], q7 [t], q9 [t], q11 [t] versus t and (d) q1 [t] versus q2 [t].
Fig. 7
Forward kinematics response plots for q′1 [t] = 10 in./s, q′2 [t] = 10 in./s, and q′3 [t] = 5 rad/s. (a) q1 [t], q2 [t] versus t (b) q3 [t], q4 [t], q6 [t], q8 [t], q10 [t] versus t (c) q5 [t], q7 [t], q9 [t], q11 [t] versus t and (d) q1 [t] versus q2 [t].
Close modal

3.2 Inverse Kinematic Model.

The inverse kinematics equations in Sec. 2.2 (Eqs. (15)(19)) were solved. The output response of the global positions and roller velocities for given inputs ω1, ω2, ω3, and ω4 were simulated for various combinations. Figure 8 shows the response of the model for ω1 = 10 rad/s, ω2 = −8 rad/s, ω3 = 6 rad/s, and ω4 = −4 rad/s. The robot was expected to move around a circle.

Fig. 8
Inverse kinematic response plots: ω1 = 10 rad/s, ω2 = −8 rad/s, ω3 = 6 rad/s, and ω4 = −4 rad/s. (a) q1 [t], q2 [t] versus t (b) q3 [t], q4 [t], q6 [t], q8 [t], q10 [t] versus t (c) q5 [t], q7 [t], q9 [t], q11 [t] versus t (d) q1 [t] versus q2 [t].
Fig. 8
Inverse kinematic response plots: ω1 = 10 rad/s, ω2 = −8 rad/s, ω3 = 6 rad/s, and ω4 = −4 rad/s. (a) q1 [t], q2 [t] versus t (b) q3 [t], q4 [t], q6 [t], q8 [t], q10 [t] versus t (c) q5 [t], q7 [t], q9 [t], q11 [t] versus t (d) q1 [t] versus q2 [t].
Close modal

The parametric plot of q1 [t] versus q2 [t] shown in the Fig. 8 shows that the robot inverse kinematic model satisfied the expected outcome. The q1 [t] and q2 [t] plots show that they are in a sinusoidal pattern.

3.3 Dynamic Model.

The dynamic equations of the robot (Sec. 2.3 (Eqs. (20)(23))) simulates the behavior of the robot for given motor torques Tm i, i = 1, 2, 3, 4. Figure 9 shows the responses of qi [t], i = 1, 2, 3, …, 11 for Tm1 = 10 lb-in., Tm2 = −10 lb-in., Tm3 = 10 lb-in., and Tm4 = −10 lb-in. values. The robot was expected to spin around its own z-axis. The parametric plot q1 [t] versus q2 [t] shows that the dynamic model was able to spin around its z-axis with a slight deviation of 0.01 in. probably due to numerical error buildup. With respect to the dimensions of the robot and 3D animation, the robot is moving as expected. Figure 10 shows the resulting ω1, ω2, ω3, and ω4 for the given torque values. Wheel 1 and wheel 3 angular velocities were expected to increase, while wheel 2 and wheel 4 angular velocities are monotonically decreasing. The dynamic model successfully simulated any given combination of input torques.

Fig. 9
Response of dynamic equations for Tm1 = 10 lb-in., Tm2 = −10 lb-in., Tm3 = 10 lb-in., and Tm4 = −10 lb-in. (a) q3 [t], q4 [t], q6 [t], q8 [t], q10 [t] versus t (b) q5 [t], q7 [t], q9 [t], q11 [t] versus t (c) q1 [t] versus q2 [t].
Fig. 9
Response of dynamic equations for Tm1 = 10 lb-in., Tm2 = −10 lb-in., Tm3 = 10 lb-in., and Tm4 = −10 lb-in. (a) q3 [t], q4 [t], q6 [t], q8 [t], q10 [t] versus t (b) q5 [t], q7 [t], q9 [t], q11 [t] versus t (c) q1 [t] versus q2 [t].
Close modal
Fig. 10
Wheel responses for Tm1 = 10 lb-in., Tm2 = −10 lb-in., Tm3 = 10 lb-in., and Tm4 = −10 lb-in. (a) ω1 [t] versus t (b) ω2 [t] versus t (c) ω3 [t] versus t (d) ω4 [t] versus t.
Fig. 10
Wheel responses for Tm1 = 10 lb-in., Tm2 = −10 lb-in., Tm3 = 10 lb-in., and Tm4 = −10 lb-in. (a) ω1 [t] versus t (b) ω2 [t] versus t (c) ω3 [t] versus t (d) ω4 [t] versus t.
Close modal

3.4 Model Validation via Energy and Momentum Conservation.

Energy conservation of the robot can be used as a test to validate the model. By making all the external forces zero (Tmi = 0), inputs are given in terms of angular velocity initial conditions. Figure 11 shows the q1 [t] versus q2 [t] parametric plot and energy plot for ω1 = 10 rad/s, ω2 = −10 rad/s, ω3 = 10 rad/s, and ω4 = −10 rad/s. It is observed that the total energy is a constant. Also, it was expected the model should spin around the z-axis for the given inputs, indicating angular momentum conservation.

Fig. 11
(a) Energy conservation, (b) rotating speed, and (c) q1 [t] versus q2 [t] parametric response for ω1 = 10 rad/s, ω2 = −10 rad/s, ω3 = 10 rad/s, and ω4 = −10 rad/s
Fig. 11
(a) Energy conservation, (b) rotating speed, and (c) q1 [t] versus q2 [t] parametric response for ω1 = 10 rad/s, ω2 = −10 rad/s, ω3 = 10 rad/s, and ω4 = −10 rad/s
Close modal

In Fig. 12, energy conservation of the model was also checked by giving it initial velocity along the n^1 direction. It was observed that the model successfully satisfy the energy and linear momentum conservation for any combination of inputs.

Fig. 12
(a) Energy conservation, (b) speed along n^1 direction, and (c) q1 [t] versus q2 [t] parametric response for ω1 = 10 rad/s, ω2 = 10 rad/s, ω3 = 0 rad/s, and ω4 = 0 rad/s
Fig. 12
(a) Energy conservation, (b) speed along n^1 direction, and (c) q1 [t] versus q2 [t] parametric response for ω1 = 10 rad/s, ω2 = 10 rad/s, ω3 = 0 rad/s, and ω4 = 0 rad/s
Close modal

3.5 Proportional–Integral–Derivative Controller.

The implemented PID controller was used to follow a figure eight path (Eq. (26) and Fig. 13). Figure 14 shows the response plots of ωi and Tmi, i = 1, 2, 3, 4. It was observed that the motor torques are in a reasonable range, which is from –0.6 lb-in. to 0.6 lb-in. (Fig. 15). Also, as shown in Fig. 16, the q3 [t] versus t plot, the model follows the path while spinning around the z-axis. This was a 50 s maneuver covering 40 × 40 in.2 area.

Fig. 13
Difference between given path and followed path of figure eight
Fig. 13
Difference between given path and followed path of figure eight
Close modal
Fig. 14
Response plots of ωi and Tmi, i = 1, 2, 3, 4 for the path Eq. (26): (a) ω1 [t], ω2 [t] versus t, (b) ω3 [t], ω4 [t] versus t, (c) Tm1 [t], Tm3 [t] versus t and (d) Tm2 [t], Tm4 [t] versus t
Fig. 14
Response plots of ωi and Tmi, i = 1, 2, 3, 4 for the path Eq. (26): (a) ω1 [t], ω2 [t] versus t, (b) ω3 [t], ω4 [t] versus t, (c) Tm1 [t], Tm3 [t] versus t and (d) Tm2 [t], Tm4 [t] versus t
Close modal
Fig. 15
Trajectory with sharp edges
Fig. 15
Trajectory with sharp edges
Close modal
Fig. 16
Response plots of qi [t], i = 1, 2, …, 11 for the path Eq. (26): (a) q1 [t], q2 [t] versus t, (b) q3 [t], q4 [t], q6 [t], q8 [t], q10 [t] versus t, (c) q5 [t], q7 [t], q9 [t], q11 [t] versus t and (d) q1 [t] versus q2 [t]
Fig. 16
Response plots of qi [t], i = 1, 2, …, 11 for the path Eq. (26): (a) q1 [t], q2 [t] versus t, (b) q3 [t], q4 [t], q6 [t], q8 [t], q10 [t] versus t, (c) q5 [t], q7 [t], q9 [t], q11 [t] versus t and (d) q1 [t] versus q2 [t]
Close modal

Figure 13 shows the resulting error of the path for the 50 s simulation. Observe that the error is in the range of 0.01% to 0.005% as shown in Fig. 17. The error in the n^1 direction is in the range of −0.0008 to 0.0002 in., while that in the n^2 direction is in the range of −0.001 in. to 0.0004 in. The tracking error of the spin around n^3 axis is −6 × 10−6 rad to 6 × 10−6 rad (Fig. 18).

Fig. 17
Tracking error, erri [t] = qdi [t] − qi [t], i = 4, 6, 8, 10 for the path Eq. (26): (a) errq4 [t] errq8 [t] versus t (b) errq6 [t] errq10 [t] versus t
Fig. 17
Tracking error, erri [t] = qdi [t] − qi [t], i = 4, 6, 8, 10 for the path Eq. (26): (a) errq4 [t] errq8 [t] versus t (b) errq6 [t] errq10 [t] versus t
Close modal
Fig. 18
Tracking error in n^1, n^2, and n^3 directions for the path Eq. (26): (a) errq1 [t] errq2 [t] versus t (b) errq3 [t] versus t
Fig. 18
Tracking error in n^1, n^2, and n^3 directions for the path Eq. (26): (a) errq1 [t] errq2 [t] versus t (b) errq3 [t] versus t
Close modal

3.6 Sharp Curves.

The aforementioned simulated results show that the robot can handle smooth curves precisely. But the omni-wheeled mobile robots should be able to move in any direction regardless of its current position and orientation. Therefore, the derived nonholonomic dynamic model was tested for a trajectory with sharp edges. The trajectory was defined using Eqs. (27) and (28). The resulting trajectory is shown in Fig. 15.
qd1[t]={5t0t5255<t1225t1212<t25
(27)
qd2[t]={250t55t5<t126012<t25
(28)

Figure 19 shows that the required motor torques to track the path with sharp edges varies from 20 lb-in. to 40 lb-in. It was observed that the controller is able to follow the given path with small error (Fig. 20). Also, the tracking error of wheels varies between 5% and 10% at its peak, but on average, it is negligible (Fig. 21). This is due to sudden changes in the motor torques to satisfy the trajectory tracking. Figure 22(a) shows that the given path and followed path with two sharp curves are almost the same. There is a slight difference at the two sharp curves, which are negligible. At 5 s and 12 s, the robot is moving through two sharp curves. In Fig. 22(b), velocity plots, it is shown that the robot does not stop at curves and is continuously moving.

Fig. 19
Resulting motor torques for sharp edge trajectory (a) Tm1 [t], Tm3 [t] versus t (b) Tm2 [t], Tm4 [t] versus t
Fig. 19
Resulting motor torques for sharp edge trajectory (a) Tm1 [t], Tm3 [t] versus t (b) Tm2 [t], Tm4 [t] versus t
Close modal
Fig. 20
Trajectory tracking errors of the robot wheels for sharp curves (a) errq4 [t] errq8 [t] versus t (b) errq6 [t] errq10 [t] versus t
Fig. 20
Trajectory tracking errors of the robot wheels for sharp curves (a) errq4 [t] errq8 [t] versus t (b) errq6 [t] errq10 [t] versus t
Close modal
Fig. 21
Trajectory tracking errors along n^1, n^2, and n^3 for sharp curves (a) errq1 [t] errq2 [t] versus t (b) errq3 [t] versus t
Fig. 21
Trajectory tracking errors along n^1, n^2, and n^3 for sharp curves (a) errq1 [t] errq2 [t] versus t (b) errq3 [t] versus t
Close modal
Fig. 22
(a) Difference between given path and followed path with sharp curves and (b) velocities in global x, y, and z directions
Fig. 22
(a) Difference between given path and followed path with sharp curves and (b) velocities in global x, y, and z directions
Close modal

3.7 Behavior Under Disturbances.

The PID controller was tested for the tracking capability under disturbances. Here, disturbance forces (Eqs. (29) and (30)) were used along n^1 direction and n^2 direction, respectively (see Fig. 23).
Fdisn^1=10u[t4]10u[t6]+5u[t16]5u[t20]+8u[t26]8u[t36]
(29)
Fdisn^2=5u[t4]5u[t6]+10u[t16]10u[t20]+4u[t26]4u[t36]
(30)
Fig. 23
Disturbance force along n^1 direction and n^2 direction (a) Disturbance force along n1 direction (b) Disturbance force along n2 direction
Fig. 23
Disturbance force along n^1 direction and n^2 direction (a) Disturbance force along n1 direction (b) Disturbance force along n2 direction
Close modal

As illustrated in Fig. 24, the motor torques varies between −20 lb-in. and 20 lb-in. to track the given path. Here, the tracking error of wheels 1–4 lies between −0.008 and 0.006 rad, and the error along n^1 direction is between −0.02 and 0.06 in., while in the n^2 direction −0.04 to 0.02 inches. The tracking error of q3 [t] lies between −6 × 10−6 rad and 6 × 10−6 rad. For a maneuvering time of 50s for the figure eight path with a disturbance forces along n^1 direction and n^2 direction, the controller demonstrated that it tracks the path with small error (see Figs. 2527).

Fig. 24
Motor torques under the disturbance forces to follow figure eight path (a) Tm1 [t], Tm3 [t] versus t (b) Tm2 [t], Tm4 [t] versus t
Fig. 24
Motor torques under the disturbance forces to follow figure eight path (a) Tm1 [t], Tm3 [t] versus t (b) Tm2 [t], Tm4 [t] versus t
Close modal
Fig. 25
Error of wheel displacement under disturbance forces following figure eight path (a) errq4 [t] errq8 [t] versus t (b) errq6 [t] errq10 [t] versus t
Fig. 25
Error of wheel displacement under disturbance forces following figure eight path (a) errq4 [t] errq8 [t] versus t (b) errq6 [t] errq10 [t] versus t
Close modal
Fig. 26
Error along n^1, n^2, and n^3 directions under disturbance forces following a figure eight path (a) errq1 [t] errq2 [t] versus t (b) errq3 [t] versus t
Fig. 26
Error along n^1, n^2, and n^3 directions under disturbance forces following a figure eight path (a) errq1 [t] errq2 [t] versus t (b) errq3 [t] versus t
Close modal
Fig. 27
Difference between given path and followed path of a figure eight under disturbance forces
Fig. 27
Difference between given path and followed path of a figure eight under disturbance forces
Close modal

4 Conclusion

In this study, we have presented a complete nonholonomic multibody dynamic model of a universal omnidirectional mobile robot, including the roller dynamics. We developed the model using Kane’s dynamic equations for a no-slip condition. Also, for the kinematics of the robot, we used vector projection of the heading velocity onto the body frames, which is easy to derive and understand. The kinematic model and the dynamic model of the robot were tested for various combinations of inputs (e.g., driving on a line, driving on a 45 deg line, standing in a place and spinning). The simulation results showed that the model is valid for any combination of inputs. The developed PID controller for trajectory tracking performed quite well with very small error. It was demonstrated that this multibody dynamic model along with the PID controller can track trajectories with either sharp curves or smooth curves. Also, the demonstration showed the controller can reject disturbance forces. The work has demonstrated that by developing a more complete model of the dynamics of the robot, a simpler control law produces very robust tracking.

In the future, it is expected to test the developed PID controller on a physical robot platform and confirm the results. A model with this fidelity can serve to train a reinforcement learning agent to effectively navigate in a dynamic environment.

Footnotes

2

In Fig. 3, we present only half of the usual omni-wheel configuration as shown in Fig. 1; however, we tacitly assumed a roller is always in contact with the ground.

3

[MATRIX]n×m1=([MATRIX]n×mT[MATRIX]n×m)1[MATRIX]n×mT.

4

Note: The second hub (see Fig. 1(c)) of the wheel is not drawn in graphics, but accounted for the model.

5

The parameters for all simulations to follow are presented in Tables 14.

Conflict of Interest

There are no conflicts of interest.

Data Availability Statement

The datasets generated and supporting the findings of this article are obtainable from the corresponding author upon reasonable request.

Nomenclature

r =

radius of roller (0.4 in.)

R =

radius of wheel (3 in.)

q1 =

displacement of robot in n^1 direction (in.)

q2 =

displacement of robot in n^2 direction (in.)

q3 =

angular displacement of robot in n^3 direction (rad)

Lm =

length and width of the base (8 in.)

Tmot =

torque of motors in wheels (lb-in).

{n} =

global frame

{a} =

body frame of robot

{b}, {d}, {f}, {h} =

body frames of wheels

q4, q6, q8, q10 =

angular displacements of wheel 1, 2, 3, and 4 (rad)

q5, q7, q9, q11 =

angular displacements of rollers 1, 2, 3, and 4 (rad)

ω1, ω2, ω3, ω4 =

angular velocities of wheel 1, 2, 3, and 4 (rad/s)

Appendix

Table 1

Calculated mass moment of inertia of the bodies

BodyMass moment of inertia (slug in2)
BaseI¯¯11 = I¯¯22 = 0.710008, I¯¯33 = 1.39817
Wheel 1, 2I¯¯11 = I¯¯22 = 0.0628245, I¯¯33 = 0.121937
Torus 1, 2I¯¯11 = I¯¯33 = 0.0781416, I¯¯22 = 0.0946465
Roller 1, 2I¯¯22 = I¯¯33 = 0.000221784, I¯¯11 = 0.000110892
Wheel 3, 4I¯¯22 = I¯¯33 = 0.0606622, I¯¯11 = 0.117613
Torus 3, 4I¯¯22 = I¯¯33 = 0.0781416, I¯¯11 = 0.0946465
Roller 3, 4I¯¯11 = I¯¯33 = 0.000221784, I¯¯22 = 0.000221784
BodyMass moment of inertia (slug in2)
BaseI¯¯11 = I¯¯22 = 0.710008, I¯¯33 = 1.39817
Wheel 1, 2I¯¯11 = I¯¯22 = 0.0628245, I¯¯33 = 0.121937
Torus 1, 2I¯¯11 = I¯¯33 = 0.0781416, I¯¯22 = 0.0946465
Roller 1, 2I¯¯22 = I¯¯33 = 0.000221784, I¯¯11 = 0.000110892
Wheel 3, 4I¯¯22 = I¯¯33 = 0.0606622, I¯¯11 = 0.117613
Torus 3, 4I¯¯22 = I¯¯33 = 0.0781416, I¯¯11 = 0.0946465
Roller 3, 4I¯¯11 = I¯¯33 = 0.000221784, I¯¯22 = 0.000221784
Table 2

Mass of the bodies

BodyMass (slug)
Base0.0951426
Wheel 1, 2, 3, 40.025257
Torus 1, 2, 3, 40.013697
Roller 1, 2, 3, 40.00100613
BodyMass (slug)
Base0.0951426
Wheel 1, 2, 3, 40.025257
Torus 1, 2, 3, 40.013697
Roller 1, 2, 3, 40.00100613
Table 3

Dimensions of the bodies

BodyDimensions (in.)
BaseWidth = 8, depth = 8, height = 1
Wheel 1, 2, 3, 4Radius = 3, thickness = 0.8
Roller 1, 2, 3, 4Radius = 0.4, thickness = 1.2
Torus 1, 2, 3, 4Major radius = 2.6, minor radius = 0.4
BodyDimensions (in.)
BaseWidth = 8, depth = 8, height = 1
Wheel 1, 2, 3, 4Radius = 3, thickness = 0.8
Roller 1, 2, 3, 4Radius = 0.4, thickness = 1.2
Torus 1, 2, 3, 4Major radius = 2.6, minor radius = 0.4
Table 4

Other properties

Property
AluminumDensity = 0.001709045 slug/in.3
RubberDensity = 0.0030463164438918~slug/in.3
Void scale0.8
Property
AluminumDensity = 0.001709045 slug/in.3
RubberDensity = 0.0030463164438918~slug/in.3
Void scale0.8

References

1.
Watanabe
,
K.
,
Shiraishi
,
Y.
,
Tzafestas
,
S. G.
,
Tang
,
J.
, and
Fukuda
,
T.
,
1998
, “
Feedback Control of an Omnidirectional Autonomous Platform for Mobile Service Robots
,”
J. Intell. Rob. Syst.
,
22
(
3/4
), pp.
315
330
.
2.
Shabalina
,
K.
,
Sagitov
,
A.
, and
Magid
,
E.
,
2018
, “
Comparative Analysis of Mobile Robot Wheels Design
,”
2018 11th International Conference on Developments in eSystems Engineering (DeSE)
,
Cambridge, UK
,
Sept. 2–5
, pp.
181
193
.
3.
Arczewski
,
K.
, and
Blajer
,
W.
,
1996
, “
A Unified Approach to the Modelling of Holonomic and Nonholonomic Mechanical Systems
,”
Math. Modell. Syst.
,
2
(
3
), pp.
157
174
.
4.
Wang
,
C.
,
Liu
,
X.
,
Yang
,
X.
,
Hu
,
F.
,
Jiang
,
A.
, and
Yang
,
C.
,
2018
, “
Trajectory Tracking of an Omni-Directional Wheeled Mobile Robot Using a Model Predictive Control Strategy
,”
Appl. Sci.
,
8
(
2
), pp.
219
233
.
5.
Rijalusalam
,
D. U.
, and
Iswanto
,
I.
,
2021
, “
Implementation Kinematics Modeling and Odometry of Four Omni Wheel Mobile Robot on the Trajectory Planning and Motion Control-Based Microcontroller
,”
J. Rob. Control (JRC)
,
2
(
5
), pp.
448
455
.
6.
Zhao
,
D.
,
Yi
,
J.
, and
Deng
,
X.
,
2003
, “
Structure and Kinematic Analysis of Omnidirectional Mobile Robots
,”
Robot
,
25
(
5
), pp.
394
398
.
7.
Li
,
X.
, and
Zell
,
A.
,
2007
, “
Motion Control of an Omnidirectional Mobile Robot
,”
Proceedings of 4th International Conference on Informatics in Control, Automation and Robotics
,
Angers, France
,
May 9–12
.
8.
Samani
,
A. H.
,
Abdollahi
,
A.
,
Ostadi
,
H.
, and
Rad
,
S. Z.
,
2004
, “
Design and Development of a Comprehensive Omni Directional Soccer Player Robot
,”
Int. J. Adv. Robot. Syst.
,
1
(
3
), pp.
191
200
.
9.
Kim
,
C.
,
Suh
,
J.
, and
Han
,
J. H.
,
2020
, “
Development of a Hybrid Path Planning Algorithm and a Bio-inspired Control for an Omni-Wheel Mobile Robot
,”
Sensors
,
20
(
15
), p.
4258
.
10.
Dosoftei
,
C.
,
Horga
,
V.
,
Doroftei
,
I.
,
Popovici
,
T.
, and
Custura
,
Ş.
,
2020
, “
Simplified Mecanum Wheel Modelling Using a Reduced Omni Wheel Model for Dynamic Simulation of an Omnidirectional Mobile Robot
,”
2020 International Conference and Exposition on Electrical And Power Engineering (EPE)
,
Iasi, Romania
,
Feb. 18
.
11.
Rojas
,
R.
, and
Gloye Forster
,
A.
,
2006
, “
Holonomic Control of a Robot With an Omnidirecitonal Drive
,”
KI-Kunstliche Intell.
,
20
(
2
), pp.
12
17
.
12.
Liu
,
Y.
,
Zhu
,
J. J.
,
Williams II
,
R. L.
, and
Wu
,
J.
,
2008
, “
Omni-directional Mobile Robot Controller Based on Trajectory Linearization
,”
Robot. Auton. Syst.
,
56
(
5
), pp.
461
479
.
13.
Liu
,
Y.
,
Wu
,
X.
,
Zhu
,
J. J.
, and
Lew
,
J.
,
2003
, “
Omni-Directional Mobile Robot Controller Design by Trajectory Linearization
,”
Proceedings of the 2003 American Control Conference, 2003
, Vol.
4
, pp.
3423
3428
.
14.
Song
,
J.-B.
, and
Byun
,
K.-S.
,
2004
, “
Design and Control of a Four-Wheeled Omnidirectional Mobile Robot With Steerable Omnidirectional Wheels
,”
J. Robot. Syst.
,
21
(
4
), pp.
193
208
.
15.
Hashemi
,
E.
,
Jadidi
,
M. G.
, and
Babarsad
,
O. B.
,
2009
, “
Trajectory Planning Optimization With Dynamic Modeling of Four Wheeled Omni-Directional Mobile Robots
,”
2009 IEEE International Symposium on Computational Intelligence in Robotics and Automation – (CIRA)
,
Daejeon, South Korea
,
Mar. 10
.
16.
Phunopas
,
A.
, and
Inoue
,
S.
,
2018
, “
Motion Improvement of Four-Wheeled Omnidirectional Mobile Robots for Indoor Terrain
,”
J. Robot. Network. Artif. Life
,
4
(
4
), pp.
275
282
.
17.
Azizi
,
M. R.
,
Rastegarpanah
,
A.
, and
Stolkin
,
R.
,
2021
, “
Motion Planning and Control of an Omnidirectional Mobile Robot in Dynamic Environments
,”
Robotics
,
10
(
1
), p.
48
.
18.
Kane
,
T. R.
, and
Levinson
,
D. A.
,
1983
, “
The Use of Kane’s Dynamical Equations in Robotics
,”
Int. J. Rob. Res.
,
2
(
3
), pp.
3
21
.
19.
Wolfram Research, Inc.
,
2021
, “
Mathematica, Version 12.3.1.0
,”
Wolfram Research, Inc.
,
Champaign, IL
.
20.
Barhorst
,
A. A.
,
1997
, “
Symbolic Equation Processing Utilizing Vector/Dyad Notation
,”
J. Sound Vib.
,
208
(
5
), pp.
823
839
.
21.
Bi
,
Z. M.
, and
Wang
,
L.
,
2010
, “
Dynamic Control Model of a Cobot With Three Omni-Wheels
,”
Rob. Comput.-Integr. Manuf.
,
26
(
6
), pp.
558
563
.
22.
Muir
,
P. F.
, and
Neuman
,
C. P.
,
1987
, “
Kinematic Modeling of Wheeled Mobile Robots
,”
J. Robot. Syst.
,
4
(
2
), pp.
281
340
.
23.
Kane
,
T. R.
,
Likins
,
P. W.
, and
Levinson
,
D. A.
,
1983
,
Spacecraft Dynamics
,
McGraw-Hill
,
New York
.