Next Article in Journal
Quality Assessment of a Manufactured Bell Using a 3D Scanning Process
Next Article in Special Issue
Driver Fatigue Detection Systems Using Multi-Sensors, Smartphone, and Cloud-Based Computing Platforms: A Comparative Analysis
Previous Article in Journal
An Advanced Statistical Approach Using Weighted Linear Regression in Electroanalytical Method Development for Epinephrine, Uric Acid and Ascorbic Acid Determination
Previous Article in Special Issue
Think Aloud Protocol Applied in Naturalistic Driving for Driving Rules Generation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Sensor Fusion Based Nonholonomic Wheeled Mobile Robot for Tracking Control

1
Graduate Institute Automation Technology, National Taipei University of Technology, Taipei 10608, Taiwan
2
High-Tech Facility Research Center, Department of Civil Engineering, National Taiwan University, Zhubei 30264, Taiwan
3
Department of Bioinformatics and Medical Engineering, Asia University, Taichung 41354, Taiwan
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(24), 7055; https://doi.org/10.3390/s20247055
Submission received: 30 October 2020 / Revised: 3 December 2020 / Accepted: 4 December 2020 / Published: 9 December 2020
(This article belongs to the Special Issue Intelligent Sensing Systems for Vehicle)

Abstract

:
In this paper, a detail design procedure of the real-time trajectory tracking for the nonholonomic wheeled mobile robot (NWMR) is proposed. A 9-axis micro electro-mechanical systems (MEMS) inertial measurement unit (IMU) sensor is used to measure the posture of the NWMR, the position information of NWMR and the hand-held device are acquired by global positioning system (GPS) and then transmit via radio frequency (RF) module. In addition, in order to avoid the gimbal lock produced by the posture computation from Euler angles, the quaternion is utilized to compute the posture of the NWMR. Furthermore, the Kalman filter is used to filter out the readout noise of the GPS and calculate the position of NWMR and then track the object. The simulation results show the posture error between the NWMR and the hand-held device can converge to zero after 3.928 seconds for the dynamic tracking. Lastly, the experimental results show the validation and feasibility of the proposed results.

1. Introduction

Wheeled mobile robot (WMR) has been utilized in many fields such as the automated guided vehicle (AGV) [1,2], robotic cleaner [3], exploration robot [4,5] recently. The WMR has the capability to respond flexibility by itself in various complex unknown environments. 9-axis IMU sensor integrated with a three-axis accelerometer, a three-axis gyroscope, and a three-axis magnetometer is used to estimate linear velocity, angular velocity and orientation of the body relative to the global reference frame. Hence, the posture of the body can be obtained [6,7,8]. The free, open, and dependable nature of GPS has led to the development of applications affecting every aspect of modern life. GPS is capable of receiving signal from GPS satellites and someone can use these useful received information to calculate the geographical position of the body [9,10].
Different types of the WMR had been proposed. Omnidirectional WMR (OWMR) is one of the WMR that has the advantage of multimode action and high mobility [11,12,13,14,15]. NWMR is another type of the WMR. Owing to the nonholonomic constraint, the moving characteristic of the NWMR is rolling but not sliding, as a result, NWMR can not move laterally and difficult to turn the body in any direction. The goal of the trajectory tracking is to design a motion controller of WMR for adjusting linear velocity and angular velocity, so the WMR can track to the desired trajectory. The aim of the tracking controller is to minimize the tracking errors between the real trajectory and the desired trajectory. These errors are arisen from slippage, disturbances and the measured error of sensor readout. A cross-coupled controller is presented in [16]. The controller is used to reduce wheel slip of the vehicle. Sun and Yan presented an evaluation method to estimate the unknown disturbance. The estimated information is compensated by the controller of the NWMR, hence, the tracking error of the NWMR is repressed [17,18]. In [19], Rayguru proposed a robust-observer based sliding mode controller to achieve the motion control task in the presence of incomplete state measurements and sensor inaccuracies. A two-layer lateral path tracking controller are presented in [20], the upper-layer controller is implemented with a linear time-varying model predictive control (LTV-MPC) algorithm, the lower-layer controller is implemented by a radial basis function neural network proportion-integral-derivative (RBFNN-PID) algorithm. The advantage of the two-layer controller is that controller can track the reference paths accurately while ensuring the stability of the vehicle, however, this type of the tracking controller suffers from high computation. In [21], a single controller for simultaneous stabilization and trajectory tracking of NWMR is proposed. A controller with time-varying parameters is designed to stabilize the error system. Then, the geometric analysis method is used to guarantee that the controller inputs stay in the restricted input domain. Hence the controller can prevent the actuator from saturation and the stability of the system is improved. Kanayama and Sanhoury presented the design of the tracking controllers with stability [22,23]. These two types of tracking controller based on the direct Lyapunov method are used for solving the lateral error issue. The advantages of these two tracking controllers are less computational complexity and fast response to the tracking error.
The contribution of this paper is to implement the real-time trajectory tracking for NWMR. IMU, GPS and RF sensors are integrated into NWMR. In order to be implemented into the resource limited embedded system, a low computational complexity, fast response to tracking error and stability of tracking controller were key factors and need be traded off. Hence, the conventional Kalman filter [24] and tracking controller proposed by [23] are utilized. The rest of this paper is organized as follows: Section 2 illustrates the system function block and system flow chart of proposed NWMR. Section 3 presents the kinematic model of the NWMR, the design of the tracking controller on the NWMR is discussed. In Section 4, the algorithms for the sensors equipped on the NWMR are introduced. Section 5 demonstrates the simulations and experimental results of the developed NWMR. Finally, conclusions and future works are given in Section 6.

2. The Proposed Architecture

In this section, the proposed NWMR is described in Section 2.1. Section 2.2 illustrates the system flow chart of the NWMR.

2.1. The Block Diagram

The block diagram of the proposed NWMR system is shown in Figure 1. In the NWMR, a 9-axis sensor is utilized to acquire the current posture of the robot. Two GPS modules are used to obtain the current positions of the NWMR and the target hand-held device, respectively. RF transmitter in the hand-held device transmits the position information of the tracking object to the NWMR. The tracking controller and sensor fusion algorithms are implemented in the STM32F429 microprocessor [25].

2.2. The Flow Charts of Trajectory Tracking

Figure 2 shows the system flow chart of the NWNR. The current position data of NWNR is obtained by GPS and is processed by the Kalman filter. The current posture data of NWNR is acquired by the 9-axis IMU sensor and then is processed by the Madgwick’s data fusion algorithm [26,27]. RF module receive the current position data from target hand-held device. Using these three data as input parameters of the tracking controller, the tracking controller calculates the shortest distance from NWNR to the hand-held device. While the distance between the NWNR and the hand-held device is smaller than 1.5 m, the tracking controller will stop the tracking task, and the mission of trajectory tracking is finished.
Figure 3 shows the system flow chart of the hand-held device which is considered as the tracking object. The position data of hand-held device is obtained by GPS and is refined by the the Kalman filter. After processing, the data is sent out by the RF module.

3. Kinematic Model and Tracking Controller Design

As depicted in Figure 4, the NWMR considered in this paper is a kind of four-wheeled robot. This robot body has symmetric shape and the center of mass is at the geometric center C of the body. Two rear wheels are driven differentially by motors, two front wheels prevent the NWMR from tipping over while the robot moves on a plane. In this paper, it is assumed that the motion of two front wheels can be ignored in dynamics of the NWMR.

3.1. Kinematic Model of the NWMR and Tracking Problem Representation

Figure 4 shows the posture of the NWMR in the global X-Y coordinate. The local coordinate system is fixed to the NWMR with point C as the origin. ( x c , y c ) is the current position of the geometric center C in the global X-Y coordinate, θ c is the angle between the X-axis and X r -axis, it is represented as the heading direction of the NWMR, v c denotes the linear velocity of the NWMR in the direction of X r -axis and ω c is the angular velocity of the robot.
Consider the kinematic model of the NWMR, the posture variable of NWMR, r c , is defined as
r c = [ x c y c θ c ] T
The moving of the robot is controlled by v c and ω c , the input state variable of the robot, u c , is therefore defined as
u c = [ v c ω c ] T
Under the nonholonomic constraint,
x ˙ c sin θ c y ˙ c cos θ c = 0
The kinematic model of the NWMR can be expressed by [28]
r ˙ c = x ˙ c y ˙ c θ ˙ c = cos θ c 0 sin θ c 0 0 1 u c = v c cos θ c v c sin θ c ω c
The position information of the tracking object is obtained by the hand-held device via GPS module. As shown in Figure 5, it is assumed that the hand-held device is circular shape and the center of mass is located at the geometric center D of the device.
( x d , y d ) is the current position of the geometric center D in the X-Y coordinate. θ d is the angle between the X-axis and the straight line that pass through point C and point D, which is defined as
θ d = 180 π t a n 1 ( y d y c x d x c )
The posture of the hand-held device, r d , is defined as
r d = [ x d y d θ d ] T
For simplicity, it is assumed that the nonholonomic constraint of the hand-held device can be written as
x ˙ d sin θ d y ˙ d cos θ d = 0
Two postures are used in this tracking control system; One is current posture, P c , and the other is reference posture, P d . Current posture is the real posture of the NWMR, reference posture is the target posture, i.e., the real posture of the hand-held device, hence
P c = r c ; P d = r d
As illustrated in Figure 6, the posture error, P e , between the reference posture and the current posture in the local X r Y r coordinate is expressed as
P e = x e y e θ e = cos θ c sin θ c 0 sin θ c cos θ c 0 0 0 1 ( P d P c ) = R ( θ ) ( P d P c )
where x e is the error in the X r direction of the robot, y e is the error in the Y r direction of the robot, θ e is the orientation error, i.e., θ e = θ d θ c , R( θ ) is rotation matrix and it is expressed as the orientation of the current posture, P c , with respect to the reference posture, P d .
By differentiating (9), we have
x ˙ e = ( x ˙ d x ˙ c ) cos θ c + ( y ˙ d y ˙ c ) sin θ c ( x d x c ) θ ˙ c sin θ c + ( y d y c ) θ ˙ c cos θ c = x ˙ d cos θ c + y ˙ d sin θ c ( v c cos 2 θ c + v c sin 2 θ c ) + y e ω c = x ˙ d cos θ c + y ˙ d sin θ c v c + y e ω c = x ˙ d cos ( θ d θ e ) + y ˙ d sin ( θ d θ e ) v c + y e ω c
Substituting (7) and the kinematic model of the NWMR at point D into (10), we obtain
x ˙ e = v d cos θ e v c + y e ω c
Similarly,
y ˙ e = ( x ˙ d x ˙ c ) sin θ c + ( y ˙ d y ˙ c ) cos θ c ( x d x c ) θ ˙ c cos θ c ( y d y c ) θ ˙ c sin θ c = x ˙ d sin θ c + y ˙ d cos θ c x e ω c = v d sin θ e x e ω c
θ ˙ e = θ ˙ d θ ˙ c = ω d ω c
Combining (11) to (13), the differential equation of the posture error of NWMR with respect to the hand-held device is obtained
P ˙ e = x ˙ e y ˙ e θ ˙ e = v d cos θ e v c + y e ω c v d sin θ e x e ω c ω d ω c

3.2. The Tracking Controller Design

The function block of the tracking controller of the NWMR is demonstrated in Figure 7. Firstly, the posture error P e ( t ) between P d ( t ) and P c ( t ) at time t is obtained by rotation matrix from (9). Based on the variable P e ( t ) , the tracking controller is designed to stabilize the kinematic model of NWMR in concurrent with unknown error or disturbances N n o i s e . The variable u d ( t ) = [ v d ( t ) ω d ( t ) ] T are the linear velocity and the angular velocity of the reference posture and is acted as the input of the tracking controller. Finally, the updated posture P c ( t ) of the NWMR generated by an integrator is used for next posture error correction.
The tracking controller proposed by [23] is used for the developed NWMR, we have
u c = v c ω c = v d cos θ e + k 1 x e + k 4 s i g n ( x e ) y e 2 ω d + v d ( k 2 y e + k 3 sin θ e )
where k 1 , k 2 , k 3 and k 4 are adjustable gain coefficients, s i g n ( x e ) is described as:
s i g n ( x e ) = 1 , x e < 0 1 , x e 0
By using Lyapunov function and Routh-Hurwitz Criterion to examine the stability of the tracking controller, the posture error P e = 0 is uniformly asymptotical stable over interval [ 0 , ) under the conditions: (a) v d and ω d are continuous, (b) v d , ω d , k 1 , k 2 , k 3 and k 4 are all bounded and (c) v ˙ d and ω ˙ d are sufficiently small [22].

4. Signal Processing Algorithms

In this section, the sensor fusion algorithms for the NWMR and hand-held device are introduced.

4.1. Madgwick’s Data Fusion Algorithm for the 9-Axis IMU Sensor

The accurate measurement of orientation plays a key factor in the design of the tracking control of the NWMR. A MEMS gyroscope outputs angular velocity and the data is used to compute the orientation of the robot. However, this sensor suffers from an accumulated error. An accelerometer and magnetometer measure the earth’s gravity and magnetic field, respectively. These two sensors provide an absolute reference of orientation. Nevertheless, these sensors subject to high levels of noise. The goal of the data fusion algorithm is to estimate a single orientation through the optimal data fusion of gyroscope, accelerometer and magnetometer measurements.
Euler angles are three angles and can be used to describe the orientation of a mobile frame of reference. However, in some motion case, Euler angles suffer from gimbal lock mechanism [29]. Quaternions developed by Hamilton is a mathematical number system that can be treated as the other representation of the three-dimensional space [30]. Quaternion method is well used in mechanics, computer graphics, crystallographic texture analysis in three-dimensional space for preventing from the gimbal lock mechanism of the Euler angles. In inertial navigation system (IMS), it uses quaternion methods to derive the orientation and the velocity of vehicle. In this paper, we also use quaternion method to calculate three-dimensional motion of the NWMR.
The data fusion algorithm proposed by Madgwick is applied for the 9-axis [26,27]. Figure 8 shows the block diagram of the Madgwick’s fusion algorithm. The measured output data of the 3-axis sensor S d ^ in the sensor frame can be transfer to the earth frame E d ^ by using a quaternion E S q ^ , yields
E d ^ = E S q ^ S d ^ E S q ^ * E d ^ = [ 0 d x d y d z ] E S q ^ = [ q 1 q 2 q 3 q 4 ] S E q ^ * = E S q ^ = [ q 1 ( q 2 ) ( q 3 ) ( q 4 ) ]
where d x , d y and d z are the three dimensional vector components of E d ^ , which aligns a predefined reference direction in the earth frame, ⊗ is quaternion product, q 1 q 2 q 3 and q 4 are the components of E S q ^ , and E S q ^ * is conjugate of E S q ^ . A 3-axis gyroscope measures the angular velocity of robot, the angular rate S ω is define as
S ω = [ 0 S ω x S ω y S ω z ]
where S ω x , S ω y and S ω z is the angular velocity of the X, Y, Z axes in the sensor frame, respectively. Derivative of the quaternion at time t describes the rate of the change of orientation, E S q ^ ˙ ω _ e s t ( t ) , and can be calculated as
E S q ^ ˙ ω _ e s t ( t ) = 1 2 E S q ^ e s t ( t 1 ) S ω ( t )
where E S q ^ e s t ( t 1 ) is prior estimate of orientation, the sub-script ω indicates that the quaternion is calculated from gyroscope and S ω ( t ) is angular velocity measured at time t. If the angular velocity of the sensor is not constant, the derivative of quaternion in (19) can be used to estimate the current orientation of the robot, which is shown as
E S q ^ ω _ e s t ( t ) = E S q ^ e s t ( t 1 ) + E S q ^ ˙ ω _ e s t ( t ) Δ t
where Δ t is sampling period. Substituting (19) into (20), yields
E S q ^ ω _ e s t ( t ) = E S q ^ e s t ( t 1 ) + 1 2 E S q ^ e s t ( t 1 ) S ω ( t ) Δ t
Contrary to the orientation calculated from the angular velocity, gravity and magnetic field can also be applied to estimate orientation. Using (17) and quaternion operations, the measured direction vector in the earth frame can also be rotated to the sensor frame, therefore
S d ^ = E S q ^ * E d ^ E S q ^
In order to estimate the quaternion, the difference between a known vector in the sensor frame and a measured vector in sensor frame is minimized. In other words,
m i n f ( S d ^ e s t , S S ^ ) = m i n f ( E S q ^ e s t * E d ^ E S q ^ e s t S S ^ ) = m i n f ( E S q ^ e s t , E d ^ , S S ^ )
where S d ^ e s t is a sensor frame’s estimated vector, E S q ^ e s t is the estimated quaternion and S S ^ is measured vector in sensor frame. Madgwick uses the gradient descent algorithm to iterate the estimated quaternion E S q ^ e s t ( t ) based on an initial guess quaternion E S q ^ e s t ( 0 ) and a step-size μ [26,27], the E S q ^ e s t ( t ) can be expressed as
E S q ^ e s t ( t ) = E S q ^ e s t ( t 1 ) μ f ( S d ^ e s t ( t ) , S S ^ ( t ) ) f ( S d ^ e s t ( t ) , S S ^ ( t ) )
f ( S d ^ e s t ( t ) , S S ^ ( t ) ) = J T ( E S q ^ e s t ( t 1 ) , E d ^ ( t ) ) f ( E S q ^ e s t ( t 1 ) E d ^ ( t ) , S S ^ ( t ) )
where (25) computes the gradient of the solution surface defined by objective function f ( · ) and its Jacobian J ( · ) .
A 3-axis accelerometer measures not only the magnitude and direction of the gravity in the sensor frame but also linear velocity due to motion of the sensor. A 3-axis magnetometer measures the magnitude and direction of the earth’s magnetic field in the sensor frame compounded with distortion. Following the derivation from (22) to (25), the estimated quaternion E S q ^ a c c , m a g _ e s t ( t ) at time t can be calculate by combining the output data of accelerometer and the magnetometer, we have
E S q ^ a c c , m a g _ e s t ( t ) = E S q ^ e s t ( t 1 ) κ f a c c , m a g f a c c , m a g
f a c c , m a g = J a c c , m a g T ( E S q ^ e s t ( t 1 ) , E d ^ a c c , m a g ( t ) ) f ( S d ^ a c c , m a g _ e s t ( t ) , S S ^ a c c , m a g ( t ) )
J a c c , m a g T ( E S q ^ e s t ( t 1 ) , E d ^ a c c , m a g ( t ) ) = J a c c T ( E S q ^ e s t ( t 1 ) , E d ^ a c c ( t ) ) J m a g T ( E S q ^ e s t ( t 1 ) , E d ^ m a g ( t ) )
f ( S d ^ a c c , m a g _ e s t ( t ) , S S ^ a c c , m a g ( t ) ) = f ( S d ^ a c c _ e s t ( t ) , S S ^ a c c ( t ) ) f ( S d ^ m a g _ e s t ( t ) , S S ^ m a g ( t ) ) = f ( E S q ^ e s t ( t 1 ) , E d ^ a c c ( t ) , S S ^ a c c ( t ) ) f ( E S q ^ e s t ( t 1 ) , E d ^ m a g ( t ) , S S ^ m a g ( t ) )
The estimated quaternion E S q ^ a c c , m a g _ e s t ( t ) is achieved based on a previous estimate of quaternion E S q ^ e s t ( t 1 ) and the objective function f a c c , m a g . This objective function is defined by measured data of accelerometer S S ^ a c c ( t ) and magnetometer S S ^ m a g ( t ) in sensor frame.
Using the concept of the complementary filter presented in [31], the final estimated quaternion E S q ^ e s t ( t ) is obtained through the fusion of the two estimated quaternions E S q ^ ω _ e s t ( t ) and E S q ^ a c c , m a g _ e s t ( t ) ,
E S q ^ e s t ( t ) = ( 1 γ ) E S q ^ ω _ e s t ( t ) + ( γ ) E S q ^ a c c , m a g _ e s t ( t )
where ( 1 γ ) and γ are weights of E S q ^ ω _ e s t ( t ) and E S q ^ a c c , m a g _ e s t ( t ) , respectively. The convergence rate of E S q ^ a c c , m a g _ e s t ( t ) is defined as κ Δ t and the divergence rate of E S q ^ ω _ e s t ( t ) is defined as β . Following the derivation in [26], the optimal value of γ is defined as
γ = β κ Δ t + β
It is assumed that κ is large, (26) and (31) can be rewritten
E S q ^ a c c , m a g _ e s t ( t ) κ f a c c , m a g f a c c , m a g
γ = β Δ t κ 0
Substituting (20), (21), (32) and (33) into (30), we have
E S q ^ e s t ( t ) = ( 1 γ ) E S q ^ ω _ e s t ( t ) + ( γ ) E S q ^ a c c , m a g _ e s t ( t ) = ( 1 0 ) E S q ^ ω _ e s t ( t ) + β Δ t κ ( κ f a c c , m a g f a c c , m a g ) = E S q ^ e s t ( t 1 ) + E S q ^ ˙ ω _ e s t ( t ) Δ t β f a c c , m a g f a c c , m a g Δ t = E S q ^ e s t ( t 1 ) + 1 2 E S q ^ e s t ( t 1 ) S ω ( t ) Δ t β f a c c , m a g f a c c , m a g Δ t
From (34), it can be seen the fusion algorithm minimizes β for the measured magnetic field will be distorted by the presence of ferromagnetic elements in the vicinity of the magnetometer. Due to the error, the estimated direction vector of the earth’s magnetic field E d ^ m a g _ e s t ( t ) has nonzero Y-axis component, the E d ^ m a g _ e s t ( t ) is calculated as
E d ^ m a g _ e s t ( t ) = [ 0 E d m a g _ x _ e s t ( t ) E d m a g _ y _ e s t ( t ) E d m a g _ z _ e s t ( t ) ] = E S q ^ e s t ( t 1 ) S d ^ m a g ( t ) E S q ^ e s t * ( t 1 )
where E d m a g _ y _ e s t is nonzero Y-axis component in the earth frame. These nonzero Y-axis component can be corrected by normalizing to have only X and Z-axes components of the earth frame [26]. Hence
E d ^ m a g _ c o m p _ e s t ( t ) = [ 0 E d m a g _ x _ e s t 2 ( t ) + E d m a g _ y _ e s t 2 ( t ) 0 E d m a g _ z _ e s t ( t ) ]
where E d ^ m a g _ c o m p _ e s t ( t ) is the compensated magnetic vector in the earth frame. Using this compensated magnetic vector, the gyroscope error can be corrected further.
After estimating the E S q ^ e s t ( t ) , the Euler’s angle can be achieved by using the following equation,
E S q ^ e s t ( t ) = [ q 1 ( t ) q 2 ( t ) q 3 ( t ) q 4 ( t ) ]
ψ ( t ) = tan 1 ( 2 ( q 1 ( t ) q 4 ( t ) + q 2 ( t ) q 3 ( t ) ) q 1 2 ( t ) + q 2 2 ( t ) q 3 2 ( t ) q 4 2 ( t ) )
δ ( t ) = sin 1 ( 2 q 1 ( t ) q 3 ( t ) 2 q 2 ( t ) q 4 ( t ) )
ϕ ( t ) = tan 1 ( 2 ( q 1 ( t ) q 2 ( t ) + q 3 ( t ) q 4 ( t ) ) q 1 2 ( t ) q 2 2 ( t ) q 3 2 ( t ) + q 4 2 ( t ) )
where q 1 ( t ) , q 2 ( t ) , q 3 ( t ) and q 4 ( t ) are components of E S q ^ e s t ( t ) , ψ ( t ) , δ ( t ) and ϕ ( t ) are yaw angle, pitch angle and roll angle of the NWMR, respectively. Because the NWMR moves on the topographic plane, the yaw angle is acted as the direction angle of the robot, therefore the roll angle and pitch angle are omitted.

4.2. Kalman Filter for the GPS Module

The Kalman filter is used to estimate the position of the NWMR and hand-held device from the output data of GPS. This filter is an optimal recursive data processing algorithm to minimize the mean squared error between the actual data and estimated data. The flow chart of Kalman filter is shown in Figure 9, the algorithm works in a two-step process. In prediction step, it predicts the current state variables. In update step, the difference between predicted value and measured value obtained from the sensor readout is taken into consideration. Kalman gain is counted for estimating the new predicted value and new uncertainty variance.
  • Prediction Step:
    X p ( t ) = F X e ( t 1 ) Cov ( t ) = F Cov ( t 1 ) F T + Q distb
    where the current state variables matrix X p ( t ) is derived from its previous estimate value X e ( t 1 ) and F is state transient matrix. Cov ( t ) is prior error covariance matrix and Q distb is the expect value of the system disturbance.
  • Kalman Gain:
    K g ( t ) = Cov ( t ) H T HCov ( t ) H T + R error
    where K g ( t ) is the Kalman gain, H is the noiseless transition matrix from the real state variables and R error is the expect value of the error measurement.
  • Update Step:
    X e ( t ) = X p ( t ) + K g ( t ) ( Z in ( t ) HX p ( t ) ) Cov ( t ) = ( 1 K g ( t ) H ) Cov ( t )
    where the update estimate X e ( t ) is derived from the measured data Z in . Cov ( t ) is the error covariance of the estimate datas.
The advantage of the Kalman filter is that the algorithm uses only the current measured data, the previously calculated state and its error covariance matrix, the past information is not needed. It prevents from the requirement of additional memory for storing the history data.

5. Simulations and Experimental Results

In this section, the simulations and the experiments are illustrated to demonstrate the merit and the effectiveness of the developed NWMR. Section 5.1 describes the hardware of the implemented NWMR and the hand-held device. In Section 5.2, the comparison results for the tracking performance of the controllers proposed by [22,23] are shown via MATLAB software. The experiments of trajectory tracking and dynamic real-time tracking of NWMR are demonstrated in Section 5.3.

5.1. Hardware Implementations

Figure 10a shows the physical control system of the NWMR. Frame marked with number 1 is the core control board of the NWMR; Frame 2 is the power switching board which is used to activate the NWMR and frame 3 is the relay board which is used as brakes to stop the NWMR. Frame 4 is motor driver board and it is used to drive the two wheels of NWMR. Figure 10b shows the lateral view of the core control board.
In the proposed NWMR, the part number MPU-9250 is used for 9-axis IMU, NEO-6M V2 is for GPS module and APC-220 is for RF transceiver. The STM32F429 embedded system is equipped under the core control board. Figure 11a,b shows the mechanism of the NWMR. Frame 1 of Figure 11a is the control system of the NWMR and frame 2 is the motors and battery modules. The hand-held device is shown in Figure 12. The blue bottom is utilized to activate the hand-held device.

5.2. Simulation Results

This section describes the simulation results of the tracking controller. For simplicity, the physical phenomenon presented in the real world, i.e., the friction of NWMR, the error range from the GPS modules which are mounted on the hand-held device and the NWMR, respectively, are ignored, therefore, the conceptual comparisons of the tracking capability for the tracking controllers in [22,23] are conducted. Three tracking cases are illustrated to compare the tracking performance of the controllers. First case is straight line tracking with linear velocity and second case is trajectory tracking of the circle with linear velocity and linear angular velocity. Third case is the random dynamic tracking example. As mentioned in Section 3.2, in order to achieve the controller to drive the trajectories asymptotically stable, the parameters of the controller are set as k 1 = 2 , k 2 = 4 , k 3 = 10 and k 4 = 2 .
Figure 13 shows the tracking trajectory of the two controllers. The Reference straight line can be treated as the trajectory of the hand-held device. The initial posture of the hand-held device P d ( 0 ) = [ x d , y d , θ d ] is set to [ 4 , 0 , π 4 ] , the initial linear velocity v d ( 0 ) is 4 m/s and the angular velocity ω d is 0rad/s. The initial posture of the two tracking controllers P c ( 0 ) is set to [ 4 , 8 , π 4 ] .
Figure 14a shows the posture error x e in X-axis. We set the convergent point at 0.03275, the figure shows that the convergence time of the controller proposed by [23] is 0.5293 sec, the convergence time of the controller by [22] is 1.891 sec. Figure 14b shows the posture error y e in Y-axis. By setting the convergent point as 0.00673 , the convergence time of 3.177 sec and 3.595 sec can be obtained by using [22,23], respectively.
Figure 14c illustrates the angular error θ e . For the convergent point 0.004761, the figure shows that the convergence time of the controller in [23] is 1.824 s, the convergence time of the controller in [22] is 3.345 s.
Figure 15 shows the simulation result of the trajectory tracking of the circle. The initial posture of hand-held device P d ( 0 ) is set as [ 4 , 0 , π 5 ] , the initial linear velocity v d ( 0 ) is 5m/s and the angular velocity ω d is 1 rad/s. The initial posture of two tracking controllers P c ( 0 ) is set to [ 4 , 1 , 0 ] . Figure 16a shows the posture error x e in X-axis. As seen in the figure, for the convergent point 0.01604 , the convergence time of the controller [23] is 2.692 s, the convergence time of the controller [22] is 3.01 s. Figure 16b shows the posture error y e in Y-axis. We set the convergent point at 0.003297, the figure shows that the convergence time of the controller proposed by [23] is 2.952 s, the convergence time of the controller proposed by [22] is 3.811 s. Figure 16c illustrates the angular error θ e . For the convergent point of 0.0004928 , the figure shows that the convergence time of the controller by [23] is 3.969 s, the convergence time of the controller by [22] is 4.328 s.
From the simulation results of straight line tracking and trajectory tracking of the circle, it can readily seen that the controller proposed by [23] can provide a better response than the controller proposed by [22].
In order to show the dynamic real-time tracking, the θ d of the tracking object in (5) needs be continuously updated. For the Consideration of the four-quadrant angle conversion, the actual angle θ d _ u p d a t e is recalculated by the following equation,
θ d _ u p d a t e = 90 θ d i f 0 < θ d < 90 θ d _ u p d a t e = 90 + θ d i f 90 < θ d < 180 θ d _ u p d a t e = 270 + θ d i f 180 < θ d < 270 θ d _ u p d a t e = 270 θ d i f 270 < θ d < 360
The linear velocity of the tracking object u d in (15) also needs be continuously updated and the actual linear velocity v d _ u p d a t e is
v d _ u p d a t e = ( x d ( t ) x d ( t 1 ) ) 2 + ( y d ( t ) y d ( t 1 ) ) 2 Δ t
where x d ( t ) and x d ( t 1 ) are the positions toward X direction at time t and t 1 , respectively. y d ( t ) and y d ( t 1 ) are the positions toward Y direction at time t and t 1 , respectively, Δ t is sampled time. Because the tracking object is treated as a point in the world X-Y coordinate, the angular velocity of the hand-held device ω d in (15) is set to zero for simplicity.
Figure 17a shows the simulation result of the dynamic real-time tracking of the tracking controller proposed by [23]. The initial position of hand-held device [ x d , y d ] is [ 4 , 1 ] , the initial linear velocity v d ( 0 ) is 3m/s and the angular velocity ω d is 0rad/s. The initial posture of NWMR P c ( 0 ) is [ 2 , 0 , 0 ] . Figure 17b shows the posture error of the NWMR with respect to the hand-held device, the angular error is converged to 0.003546 after 3.928 s.
In order to implement the NWMR, the tracking controller and algorithms mentioned above are all implemented with C language in MDK-ARM integrated development environment.

5.3. Experiments

The processes of the trajectory tracking of the NWMR are shown in Figure 18a–i. The video is attached in Supplementary Material 1. We first set the initial postures of NWMR and the hand-held device, the user holds the hand-held device and is acted as tracking object. Figure 18a–i show the trajectory tracking responses of the developed NWMR. The robot moves toward to the user and stop while the distance between the NWMR and objective is smaller than 1.5 m.
The dynamic real-time tracking of the NWMR are shown in Figure 19a–l. The video is attached in Supplementary Material 2. These figures show the processes of real-time tracking. From Figure 19a–l, it can be seen that the real-time tracking can be achieved by the developed NWMR. When the user goes forward and go backward, the NWMR can track the hand-held device smoothly. Even if the user turns right and turns left, the robot still can track accurately.

6. Conclusions and Future Works

In this paper, the trajectory tracking for the NWMR is investigated. GPS and 9-axis IMU sensor are utilized to measure the posture and position of the NWMR and target device. For the consideration of the small posture error and fast convergence in the trajectory tracking, Kalman filter and Madgwick’s fusion algorithm are used. The tracking controller with these algorithms are implemented by an embedded system for fast prototype and cost efficiency. The simulations and the experiment results show the feasibility and the effectiveness of the proposed NWMR.
For designing the next generation of the NWMR, obstacle avoidance, pattern recognition, multi-sensor fusion algorithms and power management strategy are four main research topics. For the outdoor application, a common GPS will be replaced by the RTK-GPS due to error range from 20 cm to 2 m. For the obstacle avoidance approach, millimeter-Wave (mmWave) radar sensor and Light-detection and ranging (LIDAR) sensor will be used. The advantage of the mmWave radar sensor is impervious to environmental conditions such as rain, fog and dust. The LIDAR sensor has the advantage of high resolution for a short distance measurement. Pattern recognition module integrated image sensor, optical lens and image processor is used to identify objects by utilizing the machine learning algorithms. Moreover, in order to extend the operating time of NWMR, power management strategy and will be studied further.

Supplementary Materials

The following are available online at https://www.mdpi.com/1424-8220/20/24/7055/s1.

Author Contributions

Conceptualization, S.-H.T.; Circuit implementation, H.-Y.L. and T.-C.L.; Embedded program implementation, L.-H.K.; Matlab program, L.-H.K.; Validation, Y.-L.S.; Writing draft, S.-H.T. and H.-Y.L.; Math Review, S.-H.T. and Y.-L.S.; Funding, L.-M.C.; Literature Review, H.-Y.L. and L.-M.C. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the Ministry of Science and Technology of Taiwan, R.O.C., under Grant MOST-109-2221-E-002-023-, MOST-108-3116-F-027-003-CC2, MOST-109-2221-E-027-078- and MOST-109-2811-E-002-556.

Acknowledgments

The authors also gratefully acknowledge the helpful comments and suggestions of the Editor and anonymous reviewers, which have improved the presentation of this paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Ullrich, G. Automated Guided Vehicle Systems; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
  2. Luo, J.; Ni, H.; Zhou, M. Control Program Design for Automated Guided Vehicle Systems via Petri Nets. IEEE Trans. Syst. Man Cybern. Syst. 2015, 45, 44–55. [Google Scholar]
  3. Kang, M.-C.; Kim, K.-S.; Noh, D.-K.; Han, J.-W.; Ko, S.-J. A Robust Obstacle Detection Method for Robotic Vacuum Cleaners. IEEE Trans. Consum. Electron. 2014, 60, 587–595. [Google Scholar] [CrossRef]
  4. Chou, C.-Y.; Juang, C.-F. Navigation of an Autonomous Wheeled Robot in Unknown Environments Based on Evolutionary Fuzzy Control. Inventions 2018, 3, 3. [Google Scholar] [CrossRef] [Green Version]
  5. Leal, J.C.E.; Torres, J.G.R.; Tello, E.R.; Angulo, J.R.M. Multi-robot Exploration Using Self-Biddings under Constraints on Communication Range. IEEE Latin Am. Trans. 2014, 60, 587–595. [Google Scholar]
  6. Borraz, R.; Navarro, P.J.; Fernández, C.; Alcover, P.M. Cloud Incubator Car: A Reliable Platform for Autonomous Driving. Appl. Sci. 2018, 8, 303. [Google Scholar] [CrossRef] [Green Version]
  7. Elangovan, K.; Tamilselvam, Y.K.; Mohan, R.E.; Iwase, M.; Takuma, N.; Wood, K.L.; Alcover, P.M. Fault Diagnosis of a Reconfigurable Crawling-Rolling Robot Based on Support Machines. Appl. Sci. 2017, 7, 1025. [Google Scholar] [CrossRef] [Green Version]
  8. Höflinger, F.; Müller, J.; Zhang, R.; Reindl, L.M.; Burgard, W. A Wireless Micro Inertial Measurement Unit (IMU). IEEE Trans. Instrum. Meas. 2013, 62, 2583–2595. [Google Scholar] [CrossRef]
  9. Velázquez, R.; Pissaloux, E.; Rodrigo, P.; Carrasco, M.; Giannoccaro, N.I. Lay-Ekuakille, An Outdoor Navigation System for Blind Pedestrians Using GPS and Tactile-Foot Feedback. Appl. Sci. 2018, 8, 578. [Google Scholar] [CrossRef] [Green Version]
  10. Knoop, V.L.; de Bakker, P.F.; Tiberius, C.C.J.M.; Arem, B.V. Lane Determination With GPS Precise Point Positioning. IEEE Trans. Intell. Transp. Syst. 2017, 18, 2503–2513. [Google Scholar] [CrossRef] [Green Version]
  11. Wang, C.; Liu, X.; Yang, X.; Hu, F.; Jiang, A.; Yang, C. Trajectory Tracking of an Omni-Directional Wheeled Mobile Robot Using a Model Predictive Control Strategy. Appl. Sci. 2018, 8, 231. [Google Scholar] [CrossRef] [Green Version]
  12. Rotondo, D.; Puig, V.; Nejjari, F. A Fault-Hiding Approach for the Switching Quasi-LPV Fault-Tolerant Control of a Four-Wheeled Omnidirectional Mobile Robot. IEEE Trans. Ind. Electron. 2015, 62, 3932–3944. [Google Scholar] [CrossRef] [Green Version]
  13. Kim, H.; Kim, B.K. Online Minimum-Energy Trajectory Planning and Control on a Straight-Line Path for Three-Wheeled Omnidirectional Mobile Robots. IEEE Trans. Ind. Electron. 2014, 61, 4771–4779. [Google Scholar] [CrossRef]
  14. Batayneh, W.; AbuRmaileh, Y. Decentralized Motion Control for Omnidirectional Wheelchair Tracking Error Elimination Using PD-Fuzzy-P and G-PID controllers. Sensors 2020, 20, 3525. [Google Scholar] [CrossRef] [PubMed]
  15. Kim, C.; Suh, J.; Han, J.-H. Development of a Hybrid Path Planning Algorithm and a Bio-Inspired Control for an Omni-Wheel Mobile Robot. Sensors 2020, 20, 4258. [Google Scholar] [CrossRef] [PubMed]
  16. Reina, G. Cross-Coupled Control for All-Terrain Rovers. Sensors 2013, 13, 785–800. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  17. Sun, W.; Tang, S.; Gao, H. Two Time-Scale Tracking control of Nonholonomic Wheeled Mobile Robots. IEEE Control Syst. Technol. 2016, 24, 2059–2069. [Google Scholar] [CrossRef]
  18. Yang, H.; Fan, X.; Shi, P.; Hua, C. Nonlinear Control for Tracking and Obstacle Avoidance of a Wheeled Mobile Robot With Nonholonomic Constraint. IEEE Control Syst. Technol. 2016, 24, 741–746. [Google Scholar] [CrossRef] [Green Version]
  19. Rayguru, M.M.; Elara, M.R.; Ramalingam, B.; Muthugala, M.A.; Samarakoon, S.M.B.P. A Path Tracking Strategy for Car Like Robots with Sensor Unpredictability and Measurement Errors. Sensors 2020, 20, 3077. [Google Scholar] [CrossRef]
  20. He, Z.; Nie, L.; Yin, Z.; Huang, S. A Two-Layer Controller for Lateral Path Tracking Control of Autnomous Vehicles. Sensors 2020, 20, 3689. [Google Scholar] [CrossRef]
  21. Wang, Z.; Li, G.; Chen, X.; Zhang, H.; Chen, Q. Simultaneous Stabilization and Tracking of Nonholonomic WMRs with Input Constraints: Controller Design and Experimental Validation. IEEE Trans. Industrial Electron. 2019, 66, 5343–5352. [Google Scholar] [CrossRef]
  22. Kanayama, Y.; Kimura, Y.; Miyazaki, F.; Noguchi, T. A Stable Tracking Control Method for an Autonomous Mobile Robot. In Proceedings of the IEEE International Conference on Robotics and Automation, Cincinnati, OH, USA, 13–18 May 1990; pp. 384–389. [Google Scholar]
  23. Sanhoury, I.M.H.; Amin, S.H.M.; Husain, A.R. Tracking Control of a Nonholonomic Wheeled Mobile Robot. Precis. Instrum. Mechanol. 2012, 1, 7–11. [Google Scholar]
  24. Kalman, R.E. A New Approach to Linear Filtering and Prediction Problems. ASME J. Basic Eng. 1960, 82, 35–45. [Google Scholar] [CrossRef] [Green Version]
  25. Basith, A.L.; Arifin, A.; Arrofiqi, F.; Watanabe, T.; Nuh, M. Embedded fuzzy logic controller for functional electrical stimulation system. In Proceedings of the International Seminar on Intelligent Technology and Its Applications (ISITIA), Lombok, Indonesia, 28–30 July 2016; pp. 89–94. [Google Scholar]
  26. Madgwick, S.O.H.; Harrison, A.J.L.; Vaidyanathan, R. Estimation of IMU and MARG Orientation Using a Gradient Descent Algorithm. In Proceedings of the IEEE International Conference on Rehabilitation Robotics, Zurich, Switzerland, 29 June–1 July 2011; pp. 1–7. [Google Scholar]
  27. Admiraal, M.; Wilson, S.; Vaidyanathan, R. Improved Formulation of the IMU and MARG Orientation Gradient Descent Algorithm for Motion Tracking in Human-Machine Interfaces. In Proceedings of the IEEE International Conference on Multisensor Fusion and Integration for Intelligent System (MFI 2017), Daegu, Korea, 16–18 November 2017; pp. 403–410. [Google Scholar]
  28. Yang, J.-M.; Kim, J.-H. Sliding Mode Control for Trajectory Tracking of Nonholonomic Wheeled Mobile Robots. IEEE Trans. Robot. Autom. 1999, 15, 578–587. [Google Scholar] [CrossRef] [Green Version]
  29. Pathirana, P.N.; Karunarathne, M.S.; Williams, G.L.; Nam, P.T.; Durrant-Whyte, H. Robust and Accurate Capture of Human Joint Pose Using an Inertial Sensor. IEEE J. Transl. Eng. Health Med. 2018, 6, 1–11. [Google Scholar] [CrossRef] [PubMed]
  30. Park, F.C.; Ravani, B. Smooth invariant interpolation of rotations. ACM Trans. Graph. 1997, 16, 277–295. [Google Scholar] [CrossRef]
  31. Mahony, R.; Hamel, T.; Pflimlin, J.-M. Nolinear Complementary Filters on the Special Orthogonal Group. IEEE Trans. Autom. Control 2008, 53, 1203–1218. [Google Scholar] [CrossRef] [Green Version]
Figure 1. The block diagram of the proposed NWMR system.
Figure 1. The block diagram of the proposed NWMR system.
Sensors 20 07055 g001
Figure 2. The flow chart of the trajectory tracking for the NWMR.
Figure 2. The flow chart of the trajectory tracking for the NWMR.
Sensors 20 07055 g002
Figure 3. The flow chart of the trajectory tracking for the hand-held device.
Figure 3. The flow chart of the trajectory tracking for the hand-held device.
Sensors 20 07055 g003
Figure 4. The posture of the NWMR.
Figure 4. The posture of the NWMR.
Sensors 20 07055 g004
Figure 5. The posture of the hand-held device.
Figure 5. The posture of the hand-held device.
Sensors 20 07055 g005
Figure 6. The posture error of the NWMR and the hand-held device.
Figure 6. The posture error of the NWMR and the hand-held device.
Sensors 20 07055 g006
Figure 7. The function block of the tracking controller design.
Figure 7. The function block of the tracking controller design.
Sensors 20 07055 g007
Figure 8. The block diagram of Madgwick’s data fusion algorithm for the 9-axis IMU Sensor.
Figure 8. The block diagram of Madgwick’s data fusion algorithm for the 9-axis IMU Sensor.
Sensors 20 07055 g008
Figure 9. Kalman filter recursive algorithm.
Figure 9. Kalman filter recursive algorithm.
Sensors 20 07055 g009
Figure 10. The overall view of the control system of the NWMR: (a) The physical control system of the NWMR; (b) The lateral view of the core control board of the NWMR.
Figure 10. The overall view of the control system of the NWMR: (a) The physical control system of the NWMR; (b) The lateral view of the core control board of the NWMR.
Sensors 20 07055 g010
Figure 11. The overall view of the NWMR: (a) The lateral view; (b) The top view.
Figure 11. The overall view of the NWMR: (a) The lateral view; (b) The top view.
Sensors 20 07055 g011
Figure 12. The physical view of the hand-held device.
Figure 12. The physical view of the hand-held device.
Sensors 20 07055 g012
Figure 13. The trajectory of the straight line tracking.
Figure 13. The trajectory of the straight line tracking.
Sensors 20 07055 g013
Figure 14. The posture errors of straight line tracking.: (a) x e ; (b) y e ; (c) θ e .
Figure 14. The posture errors of straight line tracking.: (a) x e ; (b) y e ; (c) θ e .
Sensors 20 07055 g014
Figure 15. The trajectory tracking of the circle.
Figure 15. The trajectory tracking of the circle.
Sensors 20 07055 g015
Figure 16. The posture error of trajectory tracking of the circle: (a) x e ; (b) y e ; (c) θ e .
Figure 16. The posture error of trajectory tracking of the circle: (a) x e ; (b) y e ; (c) θ e .
Sensors 20 07055 g016
Figure 17. The dynamic real-time tracking: (a) Trajectory between NWMR and hand-held device; (b) The posture error for the dynamic real-time tracking.
Figure 17. The dynamic real-time tracking: (a) Trajectory between NWMR and hand-held device; (b) The posture error for the dynamic real-time tracking.
Sensors 20 07055 g017
Figure 18. The processes of the trajectory tracking.
Figure 18. The processes of the trajectory tracking.
Sensors 20 07055 g018
Figure 19. The processes of dynamic real-time tracking.
Figure 19. The processes of dynamic real-time tracking.
Sensors 20 07055 g019
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Tsai, S.-H.; Kao, L.-H.; Lin, H.-Y.; Lin, T.-C.; Song, Y.-L.; Chang, L.-M. A Sensor Fusion Based Nonholonomic Wheeled Mobile Robot for Tracking Control. Sensors 2020, 20, 7055. https://doi.org/10.3390/s20247055

AMA Style

Tsai S-H, Kao L-H, Lin H-Y, Lin T-C, Song Y-L, Chang L-M. A Sensor Fusion Based Nonholonomic Wheeled Mobile Robot for Tracking Control. Sensors. 2020; 20(24):7055. https://doi.org/10.3390/s20247055

Chicago/Turabian Style

Tsai, Shun-Hung, Li-Hsiang Kao, Hung-Yi Lin, Ta-Chun Lin, Yu-Lin Song, and Luh-Maan Chang. 2020. "A Sensor Fusion Based Nonholonomic Wheeled Mobile Robot for Tracking Control" Sensors 20, no. 24: 7055. https://doi.org/10.3390/s20247055

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop