Applications of Cellular Neural Networks in Mobile Robots Path Planning
20th September, 2013
Ioan GAVRILUȚ,
Electronics Department, University of Oradea, Str. Universitatii No. 1, 410087 Oradea, ROMANIA
e-mail: gavrilut@uoradea.ro
C(1,1) C(1,2) C(1,3)
C(2,1) C(2,2)
C(3,1)
C(2,3)
C(3,2) C(3,3)
C(1,j)
C(2,j)
C(3,j)
C(i,1) C(i,2) C(i,3) C(i,j)
C(1,N)
C(2,N)
C(3,N)
C(M,1) C(M,2) C(M,3) C(M,j)
C(i,N)
C(M,N)
The basic two-dimensional cellular neural network, with M rows and N columns. The links between the cells indicate that there are
interactions between the linked cells
Signals processing with a standard cellular neural network having templates of 3×3 dimensions
X (STATE) Y (OUTPUT) U (INPUT)
z
f(x)
B M (MASK) A
Path planning for mobile robots
- global methods - a possible trajectory avoiding obstacles
- local methods - for local optimization of the path and avoiding unexpected obstacles - usually these methods can be combined
Path planning in an environment with obstacles by using CNN (Cellular Neural Networks) - the visual control based on images could be used for controlling the robots
- images processing is parallel so that the trajectory could be planning in real time
- the choice of CNNs for visual processing part is based on the possibility of their hardware implementation
CNN for mobile robot navigation?
The components of the experiment.
Acquisition of the environment image
Image preprocessing using CNN The robot and target positions are identified
Global path planning using CNN processing
Control for the robot displacement Local path
planning Signals from robot sensors
One step moving of the robot
Robot No reached the
target?
STOP Yes
The flowchart for mobile robot navigation based on CNN Images Processing
The principle of determination of the distance between the target and the points from the workspace through wave propagation having the origin
of the source in the target point. The pixels values are proportionally increased with the distance, starting from the origin.
N
S W E
NE
SW SE NW
(i+1,j) (i+1,j+1) (i-1,j-1)
(i-1,j+1)
(i+1,j-1) (i,j-1)
(i-1,j)
(i,j+1) (i,j)
Determination of the trajectory
[ ]
).
X min(
d
, SW SE
NW NE
W E
S N
X
=
=
The possible directions of the robot movement.
a) b)
c) d)
CNN processing of the real environment image; a) the gray-scale image, b) the binary image obtained by applying the template TRESHOLD,
c) applying the template EROSION,
d) the finally image after the template DILATION was used.
Experimental results by using MatCNN
Image obtained by using the template EXPLORE.
N
S W E
NE
SW SE NW
(i+1,j) (i+1,j+1) (i-1,j-1)
(i-1,j+1)
(i+1,j-1) (i,j-1)
(i-1,j)
(i,j+1) (i,j)
Determination of the trajectory
[ ]
).
X min(
d
, SW SE
NW NE
W E
S N
X
=
=
The possible directions of the robot movement.
The planned trajectory of the mobile robot.
IR sensors
The mobile robot Robby RP5.
IR sensors
PC
Microcontroler M68HC05
Memory 24C65
Clock Serial interface
RS232
Inputs Outputs
LCD display
Motor control
Loudspeaker LEDs
The control system of the robot Robby RP5.
+ 9 V
D2
M D1
SR (SL) MR (ML)
T1 T3
T2 T4
P1 P2
P3
RX
R 1 R 2
R 3 R 4
R 5 R 6
R 7 R 8
1' 2'
3' 4'
MR
SR
ML SL PC TX
Control of the robot motors.
The control signals of the DC motors: MR – activation of the right motor;
ML – activation of the left motor;
SR – sense for the right motor;
SL – sense for the right motor.
MR ML SR SL Robot action
1 1 0 0 Moving back
1 1 0 1 Rotate right
1 1 1 0 Rotate left
1 1 1 1 Moving forward
The control signals of the robot motors.
- the total processing time can be reduced if all images and even the control signals are entirely processed using cellular neural networks (CNN chips).
- the robot can be recognized after his shape or based on his movement, using CNN procedures moving object in the whole workspace).
- the target (if that is fixed) can be identified based on the gray-scale images of the workspace.
- the light sources position in the workspace is very important because the obstacle shadow can be interpreted like area occupied by obstacles.
- the slippage of the robot's wheels can be appearing so that positioning of the robot with odometers can be a solution.
Conclusions