Abstract
In this article, a dynamical model for controlling an omniwheel mobile robot is presented. The proposed model is used to construct an algorithm for calculating control actions for trajectories characterizing the high maneuverability of the mobile robot. A description is given for a prototype of the highly maneuverable robot with four omniwheels, for which an algorithm for setting the coefficients of the PID controller is considered. Experiments on the motion of the robot were conducted at different angles, and the orientation of the platform was preserved. The experimental results are analyzed and statistically assessed.
Introduction
Highly maneuverable mobile robots are widely used as service robots, transportation robots, footballer robots, and so on; see the litereature 1 –9 for a detailed analysis of the robots’ designs and experience of their applications. Also there are publications described dynamical theory with the effects of slip. 10,11 Maneuverability is an important property of mobile robots, since more maneuverable robots have advantages under limited space conditions. One of the ways to ensure a high maneuverability of the robot is to use omniwheels, 12,13 which, when properly arranged, allow the robot to move in any direction without reorientation. Recently, many scientists have been engaged in developing various kinematic schemes of omniwheel robots and their control algorithms, 14,15 including spherical robots, when the platform with omniwheels is placed inside a spherical shell. 16,17
In spite of a large number and variety of publications devoted to omniwheel mobile robots, no experimental results have been presented to demonstrate their maneuverability. Most articles present only the results of numerical simulations, while the examples given in them are in fact those of simple trajectories of motion. The aim of this article is to evaluate the experimental trajectories of an omniwheel mobile robot preserving its orientation and to consider the particularities of implementation of control for the execution of complicated maneuvers.
The nonholonomic model of an omniwheel
We recall that such a wheel has rollers fastened on the periphery (outer rim), so that only one of the rollers of the wheel is in contact with the supporting surface. Each roller rotates freely about the axis which is fixed relative to the plane of the disk, and the wheel can roll in a straight line which makes a fixed angle with the plane of the wheel. For Mecanum wheels, the roller axis is fastened at an angle of 45° to the plane of the wheel, whereas for most omniwheels, the roller axis lies in the plane of the wheel. The simplest nonholonomic model of an omniwheel is a flat disk for which the velocity of the point of contact with the supporting surface is directed along a straight line which forms a constant angle δ with the plane of the wheel (see Figure 1).

The schematic and the nonholonomic model of an omniwheel.
Let
where
where h is the radius of the wheel. It is convenient to solve this equation for
Since the vector
An omniwheel mobile robot
We obtain the equations of motion for an omniwheel mobile robot rolling on a horizontal plane and consisting of a platform (framework), to which an arbitrary number of wheels is attached in such a way that their axes are fixed relative to the platform (Figure 2).

Schematic of an omniwheel mobile robot.
Choose a moving coordinate system
The vector
With no constraints imposed, the kinetic energy of the system consists of the kinetic energy of the platform
where m0 is the mass of the framework, I0 is its moment of inertia relative to the point O, and
where mi is the mass of the ith wheel, and Ii and
where
is the total moment of inertia relative to the point O, and
is the center of mass of the entire system.
In this approach, we neglect the inertia of the rollers.
We write for this system the equations of motion in quasivelocities with undetermined multipliers in the form
where Mi is the moment of forces applied to the axes of the wheels.
From the last equation and the constraint equation (3), we find the undetermined multipliers in the form
Substituting them into the first two equations and adding the kinematic relations governing the motion of the moving axes
where
Recall that the tensor product of the vectors
Note that the matrix
If the moments of forces μi applied to the wheel axes have the form
Arbitrariness in the choice of the origin and the rotation of the moving axes can be used in order to simplify either the equations of motion or the integrals of the system (if any).
Description of a prototype of the omniwheel robot
The use of an omniwheel in designing mobile robots allows one to develop various designs. The most widespread are robots having three or four omniwheels, 1,4,7,10,11 but there exist mobile robots with six omniwheels. 19 The design of the omniwheel can also be different. 2 First of all, this concerns the shape of the rollers, their number, the way of attachment to the rim, and the angle between the axis of rotation of the roller and the plane of the wheel.
The omniwheel mobile robot dealt with in this article is a prefabricated structure whose basis is an articulated platform (consisting of two semiplatforms) to which four omniwheels of Mecanum type (1) with actuators are fastened (the rollers on the wheels are arranged at an angle of 45° to the wheel’s axis). The semiplatforms of the robot are fastened to each other only in the central part, which allows the wheel pairs to move relative to each other in the vertical plane. This ensures constant contact of all four wheels with the supporting surface during the motion on a rough surface. Each of the wheels is equipped with an individual actuator, so that the most diverse combinations of directions and rotational velocities of the wheels can be given. Coupled with the special structure of the wheels, this enables fairly complicated motions of the mobile robot on the plane. Each wheel actuator has a feedback sensor (encoder), which makes it possible to keep track of the real rotational velocity of the wheel and to precisely maintain the given velocity of rotation by means of the PID controller. The platform has a control card, which includes a microcontroller with a control system, motor drivers, and wireless communication units.
An experimental model of the robot is shown in Figure 3.

Experimental model of an omniwheel robot.
The control is implemented from a personal computer, for which special software has been developed. All control commands are transmitted via a wireless communication channel. The velocity values of each of the wheels and the direction of their rotation, which are precalculated depending on the given trajectory, are transmitted to the robot in one data package.
The developed design is defined by the vectors
For the vector
where ϕri is the angle between the axis x and the vector
where H is the distance from the center of the platform to the center of the wheel.
For the vector
where δi is the angle between the vectors
For the vector
where ξi is the angle defining the type of wheel (left or right). For the left wheel, ξ = 45°, and for the right wheel, ξ = 135°. Then, the vector
A diagram of a four-wheeled robot with denoted vectors and angles is presented in Figure 4.

An example of how the vectors and angles are denoted for a four-wheeled omniwheel robot.
The design of the omniwheel robot is determined by the following geometrical parameters: the number of wheels N = 4, h = 0.0475 m, H = 0.16 m, ϕ1 = 45°, ϕ2 = 135°, ϕ3 = 225°, ϕ4 = 315°, δ1 = δ3 = −45°, δ2 = δ4 = 45°, ξ1 = ξ3 = 45°, and ξ2 = ξ4 = 135°. Further calculations will be performed for these parameter values.
Algorithm for selecting the parameters of a PID controller
A given rotational velocity of each wheel is reached by means of a PID controller. It adjusts the control actions for each motor depending on the load and ensures a constant rotational speed. For an efficient operation of the PID controller, it is necessary to select values of the coefficients of the PID controller, Kp, Ki, and Kd, for a specific object of regulation. There is a large body of published research on the use of PID controllers in mobile robots and there exist various methods for selecting its coefficients. 6,7
The PID controller of the omniwheel mobile robot presented here controls the off-duty ratio of the PWM signal applied to each motor. Synchronization with the preset value occurs with a frequency of 200 Hz.
The preliminary calculation of the parameters of the PID controller has been performed using a control system model developed in the Simulink software of the MATLAB software environment. A model of the control system is presented in Figure 5.

Model of a control system developed in the Simulink software of the MATLAB software environment.
The required velocity of rotation is given in the speed demand unit in revolutions per minute. In the gearbox unit, one sets the value of the reduction ratio of the reduction gear, and in the wheel and axle unit, one specifies the radius of the installed wheel for the motor shaft to ensure the possibility of simulating the system with different loads. In the DC motor unit, one specifies the parameters of the simulated commutator DC motor. The speed controller unit contains a PID speed controller; Figure 6 shows a model of a speed controller.

Model of a speed controller.
The following parameters of the Pololu 30 motor reducer have been used for simulation: metal Gearmotor 37D × 68 L with characteristics presented in Table 1.
Characteristics of the motor reducer.
For an efficient operation of the PID controller, it is necessary to select values of the coefficients of the PID controller, Kp, Ki, and Kd, for a specific object of regulation. One of the methods of tuning the PID controller is the method of undamped oscillations or the Ziegler–Nichols method
20
In the operating system, the integral gain and the derivative gain of the controller are set to zero (Ki = 0, Kd = 0), that is, the system is set to the proportional law of regulation. By successively increasing Kp, one obtains undamped oscillations for Kp = K, with period T. In this case, the system is at the boundary of oscillatory stability. The values of K and T are fixed. When critical oscillations arise, none of the variables of the system should reach the level of limitation. The settings of the controller are calculated from the values of T and K: Kp = 0.6K, Ki = 0.83T/K, and Kd = 0.075KT.
Using the abovementioned method for this system, the following values of the coefficients of the speed controller have been obtained: Kp = 16.2, Ki = 0.307, and Kd = 19.5.
This method is rather simple but does not always give very good results. After calculation of the parameters of the controller, it is usually necessary to perform its manual fine tuning to improve the quality of regulation. For this purpose, the following experiment has been conducted: The rotational velocity of one of the robot wheels was set to 170 r/min for 3 s. The values of the actual velocity from the encoder were preserved with a frequency of 10 Hz when the wheel was rotated in the air without load. A graph of the rotational velocity was plotted and used to determine the quality and the rapidity of attaining the specified velocity value. The time of the transitional process, tset, and the average quadratic deviation of σ from the specified value after tset were measured. The experiment was repeated for Kp = 14.2 … 18.2 with the step 0.1, Ki = 0.1 … 0.4 with the step 0.01, and Kd = 17.5 … 21.50 with the step 0.1.
By analyzing the values of tset and σ for each experiment, the optimal values of the coefficients of the PID controller for which tset and σ are minimal were selected: Kp = 17.1, Ki = 0.160, and Kd = 19.3. Figure 7 shows a graph of the transitional process of rotation of the wheel with the coefficients of the PID controller: Kp = 14.2, Ki = 0.1, and Kd = 17.5 (the dashed line); Kp = 17.1, Ki = 0.16, and Kd = 19.3 (the solid line); and Kp = 18.2, Ki = 0.4, and Kd = 21.5 (the doted line).

Graph of the rotational velocity of the wheel at the instant of start with different coefficients of the PID controller.
Experimental investigations
Since sensors of the angular rotational velocity are installed on the actuating motors and since we can ensure a sufficiently accurate control of the angular velocities of rotation of the omniwheels when using the PID controller, we choose the angular rotational velocities of the wheels as control actions. Then, given the geometrical characteristics and the condition of no slipping of the wheel rollers at the point of contact with the surface, the expression for calculation of the control actions looks as follows
The high maneuverability of the omniwheel mobile robot is demonstrated by the following experiment. The robot moves along a straight-line trajectory for 2 s (the time value is determined by the limited space of the laboratory) with velocity V = 0.5 m/s at angles
The experiments were conducted in a laboratory equipped with a Vicon motion capture system. This system makes it possible to determine the trajectory of the robot with an accuracy of 0.1 mm. Figure 8 shows the average trajectories of the robot (solid line) with confidence intervals for a probability of 95% (the grey area along the average trajectory) for angles from 0° to 360° with a step of 30°. The average trajectories were constructed for three experiments, which were conducted under the same conditions. The graph of the theoretical trajectory is shown in dashed line.

Graphs of the trajectory of the omniwheel robot.
The figure also shows schematically the mobile robot before the start of motion (at the center of the coordinate system) and after its completion so that the change in its orientation during the motion is taken into account. The greatest deviation from the given angle of orientation was 8°.
Also were conducted experiments demonstrated the high maneuverability of an omniwheeled mobile robot. There were two series of experiments when the robot moved around a circle: in the first case, the robot moved along a circle with constant orientation (ω = 0, ϕ = const). Figure 9 shows the results of the experiment moving around the circle with radius Rc = 0.65 m. In the second case, the robot moved around the circle when the speed vector was directed tangentially to the circle and the robot turned around Z-axis in the moving coordinae system one time (ω = Ω, where Ω = V/Rc is the angular velocity and Rc is the the radius of the circle). The result of the experiment in case of V = 1 m/s and Rc = 0.65 m is shown in Figure 10.

Graph of the trajectory of the omniwheel robot by moving on circle with constant orientation.

Graph of the trajectory of the omniwheel robot by moving on circle with rotation.
Conclusions
The research results presented in this article allow the following conclusions to be drawn.
The developed omniwheel robot can move fairly accurately at different angles without changing its orientation. The maximal deviation from the original orientation was 8° for the motion along a line at an angle of 210°. The deviations of the motion of the robot from the theoretical trajectory can be explained by the fact that the robot has DC motors, which cannot ensure that the necessary torque is reached rapidly, particularly at low rotational velocities typical of the given direction of motion. This problem is also the main reason of derivation of mobile robot in case of movement around a circle with constant orientation. Also, the theoretical model is based on the condition of no slipping of the rollers, but in practice, this is a rather complicated problem, which is not always solvable.
In the future, using the results obtained, it will be possible to make this omniwheel robot move along complex trajectories, 21 to implement a computer vision system to bypass obstacles, 22,23 navigation systems, 24 and to develop a group control system for these robots.
Footnotes
Authors’ note
The work of AA Kilin (“The nonholonomic model of an omniwheel and An omniwheel mobile robot” sections) was carried out within the framework of the state assignment of the Ministry of Education and Science of Russia (1.2404.2017/4.6). The work of Yu L Karavaev and V Klekovkin (“Description of a prototype of the omniwheel robot, Algorithm for selecting the parameters of a PID controller, and Experimental investigations” sections) was carried out within the framework of the state assignment of the Ministry of Education and Science of Russia (1.2405.2017/4.6).
Author contribution
The contribution is sponsored by VEGA MS SR No 1/0367/15 prepared project “Research and development of a new autonomous system for checking a trajectory of a robot.”
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
