Motion Improvement of Four-Wheeled Omnidirectional Mobile Robots for Indoor Terrain

The four-wheeled omnidirectional platform is great to use for an indoor mobile robot. It can increasingly move and change heading directions. However, the robot is easy to slip when it is moving. One or more wheels are sometimes not touching the ground. This paper approaches to solving these problems by computational simulation in locomotion. The mathematical models simulate the robot movement. The robot struggles to go to the target with randomly simulated slips and untouched ground circumstances. The robot can estimate the positions using the Kalman filter and readjust itself to the planned path. Consequently, this paper demonstrates the motion improvement and compares the results of decreasing errors.


Introduction
It is known that an omnidirectional mobile robot is a holonomic motion. It can travel in multi-directions and change direction rapidly. This platform is famous for use in the automated guided vehicles (AGVs), which use is growing in service robots. 1 The robots can support home care. The robots can flexibly add on many functions for works or for human assistance.
The omnidirectional mobile robot has many wheels that are placed in different directions. It has a complicated mathematical model to control the movement of robots. 2 There is a constraint when moving on a flat, indoor terrain. However, it is difficult to move the robot to the desired position autonomously because the robot's motion is slippery. Therefore, the robot may miss its planned path or, in the worst-case scenario, get lost due to unrecognized circumstances.
There are several techniques to solve the robot motion slippery of the omnidirectional type wheel. The design performance of the four-wheeled Omni wheelchair, with a suspension mechanism that utilizes a hydraulic shock absorber, was evaluated. 3 The results claimed that the proposed mechanism design had lesser wheel slippage and vibration than the other existing designs. Moreover, the omnidirectional mobile can be used with the wheelchair platform, which added the human upper body model to the robot model. 4 Normally, the dynamic model and modeling control methods are implemented in the system. The motion control has a dynamic model of three Omni wheels, which is formulated to stabilize the programmed motion and to track the trajectory of a robot. The performance investigations are based on the direct Lyapunov method and its extensions. Andreyev et al. created control laws and simulated it by using the numerical method. 5 Similarly, the problem of trajectory tracking for a four-wheeled omnidirectional robot is solved by obtaining the nonlinear error, which is brought to a quasi-Linear Parameter Varying (LPV). The simulation results showed the effectiveness of switching LPV control, using Linear Matrix Inequalities (LMI)based techniques in the tracking of the desired circular trajectory. 6 The utilized trajectory can be generated for obstacle avoidance; the robot can travel in smooth vehicle velocities near obstacles. Galicki applied the Lyapunov stability theory, which is used to derive the control scheme. 7 The simulations of an omnidirectional vehicle had collision-free movement with one obstacle and in cluttered task space. Flippo et al. developed a prediction algorithm in a skid steering turn 8 to validate the use of single wheel testing to predict the full fourwheel vehicle system and to control the side-slip angle estimation based on lateral dynamics control with optimal steering angle and traction/brake torque distribution. 9 Both trajectory tracking and stabilization can be synthesized via the well-known adaptive backstepping approach for the dynamic models of nonholonomic mobile robots with dynamic effect and uncertainties. 10 The robot that can localize or recognize a shifted position can adjust itself to the correct position. In fact, the robot has sensors to refer to the absolute position. An omnidirectional mobile platform has a closed-loop control scheme to control three degrees-offreedom motions. Cooney et al. adapted the optical mice as a sensor providing dead-reckoning for closed-loop PID control. 11 Huang et al. have built in the electronic compass and the gyroscope sensors to measure the mobile platform azimuth and feedback for platform orientation control. 12 They control the robot by knowing the robot rotation and orientation, relating to an intelligent fuzzy sliding mode controller (FSMC) for every wheel. The robot has the suspension system of Omni wheels to prevent non-ground contact on a unsmooth surface for better control. Research used a fault-tolerant odometry feedback using IMU, stereo camera, and laser scanner to recognize self-position and track the desired trajectory. 13 Sanada et al. used a camera as a velocity sensor to calculate optical flow. 14 The correct position is obtained by the optical flow sensor as opposed to the dead reckoning method. To solve the slip problem when a vehicle traverses over soft soil, use a downward-looking camera to capture images that contain both the soil surface and the wheel tire surface. 15 The wheel slip can be estimated using the vision-based optical flow algorithm without wheel odometry information. The vision-based perception using an omnidirectional mirror can obtain a panoramic view, and the omnidirectional mobile robot can then move toward desired targets and avoid the obstacles. The particle swarm optimization (PSO)-learning algorithm is proposed to generate fuzzy decision rules 16 automatically. Odometry sensor is not suitable for such drives because of wheel slippage. Kundu et al. used a single camera for 360-degree scanning of multiple markers in the area. 17 The markers were based on an augmented reality localization platform. The system required a scanning time of 5 seconds, and the robot had to stop traversing. The average error ranging was from 2.5cm to 5cm in a test area of 5m X 5m. Active Beacon System is a radio frequency signal transceiver that has multiple ultrasonic sensors which transmit a package to every beacon. It is used to determine the absolute position of the robot. 18 Algorithms are used to control the robot by reducing errors. For real implement in the robot, Hashemi et al. use a model-based PI-fuzzy control for four-wheeled RoboCup Small Size League omnidirectional robot. 19 The robot had a path planner and associated low-level control system to satisfy planning prerequisites and prevent slippage with velocity and acceleration filtering. The robot can generate a real-time trajectory by constrained dynamic inversion. 20 Another idea to improve the trajectory tracking of mobile robots is to use neural networks. The wheel slip error and external disturbance forces were defined as uncertainty. 21 The modified backpropagation neural networks have online weight updating laws for robustness. The boundary of system stability is proven using the Lyapunov method. The tracking error can be reduced according to the theoretical analysis of tracking a straight line and a U-shape trajectory.
The four-wheeled omnidirectional mobile robot has four points to make contact with the floor. Its geometry is a rectangular shape with four connecting points, which are supposed to align all wheels in the same plane. In fact, the floor is not completely flat, and after running the robot many times, each wheel will become eroded unequally. The robot becomes unbalanced or shaky even though all wheels are designed and aligned in the same plane. It is possible that some wheels will not touch the floor when it moves. It is possible that the robot will get stuck and not reach its goal. These problems can be solved by mechanically designing it for rough terrain conditions. 22 For example, the omnidirectional mobile robot employs a suspension system 23 for supporting all wheels to touch the floor in order to cancel out the mechanical noise.
The computational algorithm can reduce error from noises and make the robot move on its planned path. Dead reckoning is the motion estimation of the robot base on speed estimation, direction, and traveling time. 24 The Kalman filter is great to use in noisy systems such as localization and navigation. 25 This research is about to use the Kalman filter to solve the slip without the wheel touching the ground. The robot will use sensors and computation to resolve the problems. The research is done in simulation by creating the possible conditions of motion randomly using MATLAB. The first section is about the kinematics model; next section is the trajectory to define the state of motion. After that, the simulation section describes the steps of simulation and the conditions of motion, and then the motion improvement section uses the Extended Kalman Filter and shows the simulation results. Finally, conclusion section discusses and concludes the results from the simulation.

Kinematics
The omnidirectional mobile robot uses holonomic motion and has four wheels to move in multiple directions. It can be controlled through the planned path in three degrees of freedom. There are two kinematics models: the first is forward kinematics, and the second is inverse kinematics. The robot platform uses the forward kinematics to determine the robot's velocities ( , ,) and the inverse kinematics to determine the wheel's angular velocities ( 1 , 2 , 3 , 4 ). The robot motion is in the XY coordinate as in Fig. 1. The robot's heading angle is determined by . The robot can move through the planned paths of motion from the kinematics models. As such, there are eight basic directions for omnidirectional movement in Table 1. Each wheel turns in different directions. CW is clockwise, and CCW is counterclockwise. Table 1. Eight directions of the robot's motion relate to the four wheels' rotation direction.

Forward Kinematics
The input of forward kinematics regards the wheels' speed, and the output regards the robot's velocities as in Eq. (1) to simulate the robot's motion. Converting the four wheels' speed into the robot's linear velocity requires the Jacobian matrix as seen in Eq. (2). The parameters R and r are set to 10 cm and 5 cm respectively for the simulation. (1) Where W1 is the angular velocity of wheel 1, W2 is the angular velocity of wheel 2, W3 is the angular velocity of wheel 3, and W4 is the angular velocity of wheel 4. R is the radius of the robot from the center to the wheel, r is the radius of the wheel, Vx is the robot's velocity on the x-axis, Vy is the robot's velocity on the y-axis, and ̇ is the heading angular velocity of the robot.
The planned path of the robot's velocities is assigned as input parameters to obtain the speed of four wheels.

Trajectory model
The robot can move smoothly. The trajectory is for path planning, which determines speed and acceleration of each wheel. The trajectory advantage is to increase and slow down velocity properly. The robot can rotate to change directions while it is moving. Accordingly, the trajectory of path planning will be applied to the inverse kinematics and then control the speed of four wheels. In reality, the robot has to have odometry sensors for feedback control to control the wheels' speed and the robot's direction. For simulation, the velocity of four wheels can be applied to drive the animated robot. The trajectory uses a polynomial function of time.

Simulation
The simulation is implemented by a kinematics model and a trajectory model. The planned path is created for the robot motion, a straight line and a curved line. The trajectory is ready to use to control the robot's position, velocity, and acceleration using Eq. (4-6). Then, the robot converts its body velocity to four wheels' speed using Eq.
(3). To display the robot's motion, in animation, see Eq.
(1). The Kalman filter is used to improve the robot's motion and simulate every condition of motion as in Fig.  2.

Conditions of Motion
The robot may not move as the planned path because of friction and external force. However, the robot normally has the feedback control to compensate for the motor's speed to maintain the speed input and direction of the robot. Another problem is the robot possibly getting stuck and being unable to move out from the trap field. However, the wheels still continue as the assigned wheels' speed.
There are two effects from changing the conditions of motion randomly. First, the robot position shifts from the planned path, and second, the robot cannot reach the goal's position. There are eight conditions of motion as  In case 1, not all wheels touch the ground. This is not used in the simulation. shown in Fig. 3. The wheels can change the states of motion, as in Table 2, the four wheels drive in Case 2, the three wheels drive in Cases 3 through 6, and the two wheels drive in Cases 7 and 8. Table 2. The omnidirectional wheels touch and do not touch the floor in the conditions of motion. Eight cases have been determined.
In the example, W1 and W3 are stuck, and the robot cannot keep moving in the desired direction in case 8. The robot needs to get out by struggling to the left and right, back and forth, as shown in Fig. 4.
In motion case 2, all wheels are touching the floor while the robot is moving. This is the ideal condition for motion. However, not all wheels can touch the ground all the time in cases 3 through 8.

Motion Improvement
The planned path trajectory is assigned to the robot's moving path profile. This omnidirectional mobile robot cannot move along to the goal position when it is in motion case condition 3-8. The robot needs to adjust its position to the goal even when the robot goes into a trap field. Motion improvement aims to help the robot approach the goal position using the Kalman filter.

Kalman Filter
The Kalman filter was invented by Rudolf Kalman. It is a well-known algorithm that is used to estimate the output from a system model and sensor measurements. The Kalman filter was invented for the linear system, but many problems are non-linear. Thus, it needs to linearize the system model. Estimating the measurements of a nonlinear system requires a tool known as the extended Kalman filter (EKF). This paper uses the EKF for the four-wheeled omnidirectional mobile robot. The algorithm is iterative to predict, and an update follows Eq. (7-11). However, much research is needed in order to implement the EKF within the omnidirectional mobile robot. Guidelines following the algorithm's steps are Where ̂ is the estimated state. F is the state transition matrix (translation between states). ̂ is the control variables. is the modelled random white noise. is the state variance matrix (error of estimation). is the control input error covariance. is the process variance matrix (error due to process). is the measurement variables. is the measurement matrix (mapping measurements onto state).
is the Kalman gain. is the measurement variance matrix (error from measurements). Subscripts are as follows: t current time period and t-1 previous time period. Superscript (-) is intermediate steps.
The EKF framework has various sensors for the step update that is referred to as a "sensor fusion. 27   a gyroscope, the wheel's speed from an encoder, the freewheel check from the wheel's rotation and the robot's movement using an encoder and an accelerometer, and target bearing from a camera.

Simulation Results
The planned path was a linear path from the start position (x = 20, y = 20) to the goal position (x = 150, y = 150). It started moving to the +diagonal right, as in Table 1, and then attempted to rotate itself because the heading angle was changed. The robot's heading angle started from 0 rad, as in the configuration in Fig. 1. Finally, the robot's heading angle stopped at π ⁄4 rad. Moving under the conditions of motion randomly, the robot shifted from the planned path and had not reached the goal position when the time ended. The robot's actual position is shown in Fig. 5.
Accordingly, each wheel of the robot had the wheel's speed, as shown in Fig. 6. The wheel's speed dropped to zero in the trap field in case of free running, or the wheel did not touch the floor.
The total simulation time was 0.5 seconds, with every 0.01 second per step. After applying the EKF to the robot, the estimated positions x and y were smooth and could reach very close to the goal position as shown in Fig.7.    The robot maintained the position on the planned path. However, the robot's heading angle from measurement and estimation changed a lot as shown in Fig. 8.
The robot in x and y position could be compared in Fig. 9. The measured position was noisy and affected by the error of the actual position. For the motion improvement, each wheel's speed was generated from the estimated positions. The estimated wheel's speed was very noisy compared to the actual wheel's speed because the robot struggled to the new positions as in Fig. 10.

Conclusion
The robot randomly changed its states of motion in fourwheel, three-wheel, and two-wheel drive. The main error came from the robot motion model, which changed the number of the driving wheel. Generally, the EKF reduces the effects of slip noise and sensor noise in the dead reckoning problem. However, the simulation result shows that the EKF produces better robot motion along the planned path. The robot struggles to traverse its planned path with its assigned trajectory.
The behavior of the robot during the real test may considerably differ from the simulation. Noises from signals are reduced, but the dynamic motion of the robot may not work like the control signals. For real tests in future work, the omnidirectional mobile robot has to have speed control sensors to monitor its wheel speed, and it will be important to check the freewheel and the floor touchless condition when some of the wheels rotate, but the robot does not move, or it moves in the wrong direction.