Research about sensors
Figure 1. Module of robot speed control
System design and obstacle avoidance algorithm research of vacuum cleaning robot
Li Guangling/ Jiangyin Polytechnic College Jiangsu Engineering R&D Center for Information
Fusion Software Wuxi, China
lglzjm@163.com
Pan Yonghui/ Jiangyin Polytechnic College Jiangsu Engineering R&D Center for Information
Fusion Software Wuxi, China
pyh828@sina.cn
Abstract—Designing multi-sensor hardware system based on Cortex-M0 controller, detecting the surrounding of vacuum cleaning robot by sensor combination of ultrasonic, infrared, collision, etc., we proposed an information fusion algorithm with Kernel PCA based on SFC neural network to process the multi-sensor data. And the output result of SFC neural network is used to control the localization and obstacle avoidance of vacuum cleaning robot. The experimental results demonstrate that the multi-sensor hardware system and obstacle avoidance algorithm based on SFC neural network proposed in this paper can improve the localization and obstacle avoidance accuracy of vacuum cleaning robot highly, which is robust for different working environment of vacuum cleaning robot.
Keywords-vacuum cleaning robot; system design; Kernel PCA; supervised fuzzy clustering; SFC neural network
. INTRODUCTION Vacuum cleaning robots, or home service robots can
clean room automatically. The robot, integrated with mechanics, electronics, sensing, controlling, computer technology and artificial intelligence can clean the room on its way by using its small dust-vacuum component. To make cleaning robot work, R&D staff must monitor robot position, attitude, speed and system internal status, perceive static and dynamic information around the robot environment to make vacuum cleaning robot operate smoothly and dynamically adapt to the working environment changes, and use the multi-sensor information fusion technology to achieve the robot positioning, obstacle avoidance and environmental modeling [1]. The purpose of the robot location is to tell its position as well as a variety of objects, and navigation is intended to guide the robot to reach the target position. Obstacle avoidance, occurring in the procedure of robot location and navigation, is an important manifestation of robot autonomy [2-3].
With the recent development of battery storage technology, domestic and foreign automatic vacuum cleaning robot has witnessed a major breakthrough, prestigious universities and electrical companies have launched a home service robot products with its own brand. Despite the great achievements in research and development of vacuum cleaning robots home and abroad, many key technologies, especially environmental awareness and obstacle avoidance in the variational environments need to be further improved.
With the multi-sensor hardware system design in mind, this paper proposed obstacle avoidance algorithm based on supervised fuzzy clustering (SFC) neural network.
. ROBOT HARDWARE SYSTEM DESIGN
A. Travelling mechanism design Chassis of vacuum cleaning Robot is made from lighter
porous circular aluminum which has a certain strength. It equipped with four wheels, with left and right wheels as its driving wheels, front and back wheels as its driven wheels. Power supply is high current rechargeable lithium battery pack with 15 V and 6 V dual output voltage, can provide power to the stepper motor and system control circuitry respectively. Left and right driving wheels are controlled by stepper motor to make robot move and steer. Robot speed control model is shown in Figure 1.
In Figure 1, Point O is a Cartesian coordinate center, d is the distance between the two driving wheels, � is the direction angle of the robot. Assume that there is no sliding occurred during motion, the relationship between the instantaneous speed of y, x, � directions and that of left and right wheel speed is:
0, 2
= +
= x vv
y rl (1)
d vv rl +=θ (2)
vl and vr in formula (1) and (2) represent left and right moving speed respectively.
B. Circuit Design Vacuum cleaning robot system uses Cortex-M0
(LPC1114) as its core control center, including power supplies, motor driving, liquid crystal display and various sensors. Control circuit diagram is shown in Figure 2.
2015 14th International Symposium on Distributed Computing and Applications for Business Engineering and Science
978-1-4673-6593-2/15 $31.00 © 2015 IEEE
DOI 10.1109/DCABES.2015.50
171
Electronic Compass Module
Reset and Start Module
LCD Module
Motor Driving Module
Power Module
Extended Model
Gray Sensor Module
Collision Sensor Module
Ultrasonic Distance Measure Module
Infrared Distance Measure Module
LPC1114 System
Figure 2. Frame of system control circuit
1φ cφ
1 kx
1 ky
q ky
p kx
outputs −−−
−−−
−−−−−− functionsbasis −
inputs
Figure 3. Topology of RBFNN
. KERNEL PRINCIPAL COMPONENT ANALYSIS In this paper, we first use correlation analysis method to
get correlation coefficients among the multi-sensor information data. Then we remove those indexes which are highly correlated with each other and those scarcely related to motion control of robot, and apply kernel PCA method to analyze the reserved indexes to get rid of the redundant information [4].
Let us first start with a set of M centered data, kx , in the input space, Mk ,,1 �= , Nk Rx ∈ . Linear principal component analysis requires the diagonalization of M- sample estimate of the covariance matrix
� =
= M
i
T iiM 1
1 xxC (3)
With an intent to find eigenvalues ( 0≥λ ) and the associated eigenvectors v satisfying,
Cvv =λ (4) It would be useful to note that for non-negative
eigenvalues, all solutions must lie in the span of input data. Thus the eigenvalue equation can be written as
)()( Cvxvx ⋅=⋅ kkλ , Mk ,,1 �= (5) For KPCA, we first define a nonlinear mapping of the
centered input data in the feature space as FN →Φ R: . The problem can now be formulated as the
diagonalization of the M-sample estimate of the covariance matrix in the high dimensional feature spaces [5].
� =
ΦΦ= M
i
T iiM 1 )()(
1 xxC (6)
Where )( ixΦ are centered nonlinear mapping of the input variables. Here, we need to find the nonnegative eigenvalues λ and eigenvectors v, satisfying the equation
vCv ˆ=λ (7) Noting that all the eigenvalues lie in the span of the
transformed data in the high dimensional space, the equivalent relation can be written as
))(())(( Cvxvx ⋅Φ=⋅Φ kkλ , Mk ,,1 �= (8) Also, the coefficients α can be related to v as
� =
Φ= M
i ii
1
)(xv α (9)
Combination of fomula (6), (8) and (9) yields
))()(()()( 1
))()((
1 1
1
ij
M
i
M
j jki
M
i iki
M xxxx
xx
Φ⋅Φ�� �
� �� �
� Φ⋅Φ=
Φ⋅Φ
� �
�
= =
=
α
αλ (10)
Mk ,,1 �=∀ Further we dafine an M×M kernel matrix K such that
))()(( jiijK xx Φ⋅Φ= (11) KPCA makes use of the fact that an inner product in the
feature space has an equivalent kernel in the input space. Thus it is neither necessary to know the form of the function, )(xΦ nor we need to calculate the dot product in the very
high dimensional space. We can thus employ appropriate kernels to evaluate this in the input space itself.
. SFC-RBF NEURAL NETWORK
A. RBF Neural Network The topology of the RBFNN is shown in figure 3.
Each hidden node evaluates a kernel function (receptive field) ( )xiφ on the incoming input, and the output )(xy is simply a weighted linear summation of the output of the kernel functions:
� =
= c
i iiwy
0
)()( xx φ (12)
In the case of the Gaussian basis functions, for example, we have
) 2
exp()( 2
2
σ φ ii
vx x
− −= (13)
In our network, the RBF kernels do not assume any explicit functional form such as Gaussian, ellipsoidal, etc., but directly rely on the computation of the relevant distances. Let us suppose to have already determined the kernel function centers cvv ,,1 � . Let us denote the obtained levels of matching by cmmm ,,, 21 � . The matching level im is inversely proportional to the distance between x and the prototype of the ith RBF unit, iv . Since these levels sum up to one (for proper normalization), this leads us to the optimization problem
�
� �
−� =
c
i ii
mm
mmin c 1
22
,,1
vx �
(14)
172
�
iku
ivk x
ky1
ky2
k cy �
kx
1:networkSub −
2:networkSub −
cnetworkSub :−
Clustering Fuzzy Supervised
Figure 4. Construction of SFCM
Subject to
� =
= c
i im
1
1 (15)
The use of the Lagrange multipliers method leads to the solution
)( 1
1 2
2 x
vx
vx i
c
j j
i
im φ=
�� �
�
�
�� �
�
�
−
− =
� =
(16)
We shall see how to properly modify this expression in order to fully exploit the fuzziness involved in the procedure to determine the basis function centers; for now it is enough to say that the neuron situated in the output layer carries out a linear combination of the matching levels, yielding
� =
= c
i ii
i k mwy
1
(17)
Where cwww ,,, 21 � are the hidden-to-output weights. This expression can be formulated in a matrix notation as follows:
WM=)(xy (18) Where )( jwW = and )( iMM = . We can optimize the
weights by minimization of a suitable error function. It is particularly convenient to consider a sum-of-squares error function given by
2 )(
2 1 � −= n
nnE txy (19)
Where t is the target value for the output unit when the network is presented with input vector x . Since the error function is a quadratic function of the weights, its minimum can be found in terms of the solution of a set of linear equations:
TMMWM TTT = (20) Where t=)(T and )()( xφ=M . The formal solution to
the weights is given by TMW PT = (21)
Where the notation PM denotes the pseudo-inverse of M . Thus, the second layer weights can be found by fast, linear matrix inversion techniques.
B. Fuzzy C-Means Clustering The Fuzzy c-means (FCM) clustering algorithm is a set-
partitioning method based on Picard iteration through necessary conditions for optimizing a weighted sum of squared errors objective function
mJ . The FCM algorithm was developed to minimize the
objective function
�� = =
= N
k
c
i ik
m ikm duJ
1 1
),()( vx , ∞<< m1 (22)
In formula (22), ),( ikd vx is any inner product norm metric of the distance between the feature vector Xk ∈x and the prototype ni R∈v . A metric often used in applications is the squared Euclidean distance between kx
and iv , that is 2
),( ikikd vxvx −= . The coupled first
order necessary conditions for solutions ( VU, ) to min { }),( VUJm are
� =
−
� �
�
�
� �
�
�
−
− =
c
j
m
jk
ik
iku
1
))1/(2(
1
vx
vx
, Nk ci
≤≤ ≤≤
1 1 (23)
� �
=
== N
k m ik
N
k k m ik
i u
u
1
1 x
v ci ≤≤1 (24)
C. Supervised Fuzzy C-Means Clustering In this section, we extend the original FCM objective
function used by linear summation sub-networks and propose a supervised fuzzy c-means clustering (SFCM) model [6-8]. Rather than defining J based on nk R∈x only, we supply it with information on the output space by defining a new objective function which assumes the following form
�� = =
−+−= N
k
c
i kkik
m ikuJ
1 1
2 *2 )()( yyvx (25)
Where ky and
* ky are the corresponding desired output
and computing output of sub-networks respectively. The first term of formula (25) denotes fuzzy c-partitions of input patterns kx by minimizing the distance between inputs kx and prototypes iv . The second term of formula (25) requests the computing output of system to approach the desired output mostly.
Now, by applying the Lagrange multipliers technique to formula (25), we derive the necessary conditions for the partition matrix and the prototypes, namely
� =
−
� � �
�
�
� � �
�
�
−+−
−+− =
c
j
m
kkjk
kkik
iku
1
1/1
2 *2
2 *2
1
yyvx
yyvx
ci ≤≤1 , Nk ≤≤1 (26)
� �
=
== N
k m
ik
N
k k m
ik i
u
u
1
1
)(
)( x v , ci ≤≤1 (27)
The structure of SFCM is shown in figure 4.
173
Kernel Funtion 3=σ
Figure 6. KPCA contribution of multi-sensor data
2kx knx
k iy 1
k iy 2
k iqy
iw11 iw21 i qw 1
iw12 iw22
i qw 2 inw1
i nw2 i
qnw
1kx
�
�
Figure 5. Topology of sub-network
There are two parts in SFCM model. One is supervised fuzzy classifier, and the other is linear summation sub- networks [9].
Let { } nN R⊂xx ,,1 � be the patterns to cluster and q
k R∈y , Nk ,,1 �= be the corresponding desired output. Suppose to organize the data in c clusters, we can associate a local linear summation model for each cluster [10]. The topology of the linear summation sub-network is shown in figure 5.
Where Ti
q ii
i ),,,( 21 wwww �= , ),,,( 10 i jn
i j
i jij www �=w , and
the output of ith sub-network is kik xwy = . In order to calculate the weights of the ith sub-network
n i R∈w , ci ,,1 �= , we solve c least square problems,
that is, one for each sub-network:
{ }� =
−= N
k kkiikuV
1
2
2 1
min yxw (28)
We can rewrite this expression in the form
{ }� =
−= N
k kkiiV
1
2 )(
2 1
min yxwψ (29)
Where kikki u xx =)(ψ . Differentiating formula (29) with respect to the
parameters iw and setting the derivative to zero we obtain
{ } 0)()( =−= ∂ ∂
� kikkjj i
V xyxw
w ψψ (30)
Where cj ,,1 �= , Writing formula (30) in matrix notation we have YW TTT ψψψ =)( , and then
YW PT ψ= (31) Where Pψ denote the pseudo-inverse of matrices ψ .
. EXPERIMENTAL RESULTS
A. KPCA Analysis of Multi-sensor Information Now, let us extract principal components of multi-sensor
data of the vacuum cleaning robots using kernel PCA method. And the anterior ten kernel principal components are shown in figure 6. And the accumulative contribution ratio of anterior six kernel principal components is 91.2%.
The definitions of anterior six kernel principal components are shown in Table 1.
TABLE 1. DEFINITION OF KERNEL PCS
Kernel PC Perceiving Index Relative Sensors
KPC1 Collision Connection Collision Sensor
KPC2 Front Distance Ultrasonic and Infrared Sensor
KPC3 Left Distance Ultrasonic and Infrared Sensor
KPC4 Right Distance Ultrasonic and Infrared Sensor
KPC5 SideStep Ultrasonic Sensor
KPC6 Direction Angle Electronic Compass Sensor
B. Simulation of SFCNN Algorithm Different simulation environments are applied to test the
location and obstacle avoidance algorithm of vacuum cleaning robots’. The position and number of platform, baffle, obstacle in the simulation environment are set randomly. It requires vacuum cleaning robot, spending as little time as possible to cover the largest space floor, and do not fall from the platform.
The extracted six kernel principal components and two driving wheels controlling of robot are as the input and the output of neural network respectively. Choose 6 input layer nodes of supervised fuzzy clustering neural network, each node corresponding to perceiving index and relative sensors are shown in Table 1. Choose 12 nodes as hidden layer (fuzzy layer and rules computing layer) and 2 output nodes to control the moving speed of the left and right driving wheels of vacuum cleaning robot.
Getting a large number of information data of working environment and status based on multi-sensor in the course of the actual travelling of the robot, normalized data and initialization parameters of supervised fuzzy neural network, We uses Matlab to train SFC neural network. By large numbers of testing, we find the convergence speed of our algorithm is very fast on the sum-square error 0.1, and the iteration number of SFCM is about 103 degree. Using 3 groups of standardized data (each group has 20 sample points) for algorithm simulation, it can be seen that SFC neural network system overall prediction accuracy is very good. Among 60 sample points, the maximum absolute error
174
Figure 7. Simulation of SFCNN
is less than 0.01, and the maximum relative error is less than 3.6%. The test results are shown in Figure 7.
The trained algorithm was transplanted into the robot controlling chip and running it, by changing the layouts of the simulation environment many times to test the robot, we found that the robot motion control accuracy is above 93%, and obstacle avoidance rate close to 100%.
. CONCLUSIONS This paper uses the multi-sensor information fusion
algorithm based on supervised fuzzy clusterin neural network to process the multi-sensor data of the vacuum cleaning robots. The output result of SFCNN is used to control the robot motion.
After repeated experiments, it shows that the algorithm has better adaptability in different working environment. In the future, we will continue to optimize the sensor assembly and distribution of vacuum cleaning robot, and improve the signal pre-processing circuit in order to better improve the robot operational control accuracy and the robustness of obstacle avoidance algorithm.
ACKNOWLEDGMENT This work was financially supported by the Opening
Project of Jiangsu Engineering R&D Center for Information Fusion Software (SR-2013-03), sponsored by the Project of Jiangsu Province Natural Fund (BK2012128).
REFERENCES [1] B. Dorj, D.Tuvshinjargal, K. Chong, D. Hong and D.
Lee, “Multi-Sensor Fusion Based Effective Obstacle Avoidance and Path-Following Technology,” Advanced Science Letters, vol. 20, No. 10-12, 2014, pp. 1751-1756, doi:10.1166/asl.2014.5680.
[2] A. Reyaz, B. Baasandorj, S.Ho-Park, D. Lee and K. Chong, “Mobile Robot Obstacle Avoidance Techniques,” Advanced Science Letters, vol. 20, No. 10-12, 2014, pp. 1927-1931, doi:10.1166/asl.2014.5683.
[3] K. Charalampous, I. Kostavelis, A. Amanatiadis and A. Gasteratos, “Real-Time Robot Path Planning for Dynamic Obstacle Avoidance,” Journal of Cellular Automata, vol. 9, Mar. 2014, pp. 195-208.
[4] K. Jorgensen and L. Hansen, “Model Selection for Gaussian Kernel PCA Denoising,” IEEE Transactions on Neural Networks and Learning Systems, vol. 23, No. 1, Jan. 2012, pp. 163-168, doi:10.1109/tnnls.2011.2178325.
[5] A. Jade, B.Srikanth, V. Jayaraman and L. Priya, “Feature Extraction and Denoising Using Kernel PCA,” Chemical Engineering Science, vol. 58, 2003, pp. 4441- 4448.
[6] B. Hartmann, O. Banfer, and I. Skrjanc, “Supervised Hierarchical Clustering in Fuzzy Model Identification,” IEEE Transactions on Fuzzy Systems, vol. 19, No. 6, Dec. 2011, pp. 1163-1175.
[7] G. Castellano, A. Fanelli, and M. Torsello, “Shape Annotation by Semi-Supervised Fuzzy Clustering,” Information Sciences, vol. 289, Aug. 2014, pp. 148-161.
[8] G. Donghai, Y. Weiwei, L.Young-Koo, G. Andrey and L. Sungyoung, “Improving Supervised Learning Performance by Using Fuzzy Clustering Method to Select Training Data,” Journal of Intelligent & Fuzzy Stems, vol. 19, 2008, pp. 321-334.
[9] A. Staiano, R. Tagliaferri and W. Perycz, “Improving RBF Networks Performance in Regression Tasks by Means of a Supervised Fuzzy Clustering,” Neurocomputing, vol. 69, 2006, pp. 1570-1581.
[10] L. Wen and Y. Hori, “An Algorithm for Extracting Fuzzy Rules Based on RBF Neural Network,” IEEE Transactions on Industrial Electronics, vol. 53, No. 4, Aug. 2006, pp. 1269-1276.
175