INGENIERIA ELECTRONICA
OPTIMIZACION DE PROCESOS ESTOCASTICOS
PROYECTO FINAL DE SEMESTRE
VILLAVICENCIO-META
DICIEMBRE-2014
1 INTRODUCCION
En la temtica del curso se hace hincapi en
la visin de la probabilidad y sus mtodos de
clculo como herramienta para poseer una
garanta
en los posibles resultados del
funcionamiento de cualquier sistema, sus
estados de funcionamiento ptimo, las fallas
ms leves, entre otras cosas. Estas herramientas
se pretender poner en practica con el diseo de
un proyecto a pequea escala de seguimiento,
en el cual como se especific anteriormente se
disee todo un sistema que lea la informacin
de su entorno y con un mtodo fijado por el
alumno
se procese dicha informacin y se
obtenga como conclusin la direccin en la
que el objeto se desplaza para su seguimiento.
principales,
se hace uso del software
MATLAB_2010, debido a que este software
presenta
amplia
gama
de
libreras
encargadas del procesamiento de imgenes as
como otros artilugios matemticos que nos
permiten determinar colores as como un 90%
de la informacin real de la imagen.
Adems
de
las grandes capacidades de
procesamiento brindadas por MATLAB, se
incorpor un mdulo de funcionamiento que
compete
a una tarjeta de programacin
ARDUINO UNO, esta presenta un amplia
gama de funciones, fue considerada ptima
para la implementacin a razn de la simpleza
de sus sentencias.
Spase que la tarjeta arruino uno se logra
con el uso de archivos reservados (libreras )
vincular a MATLAB y este es considerado el
bloque principal de funcionamiento.
Arduino posee soporte de carga capaz de
incluirse en la carpeta lib de MATLAB, lo que
brinda a Matlab la capacidad de compilar,
ejecutar y cargar pseudocdigo en todo tipo de
tarjeta
perteneciente
a el
dominio de
ARDUINO.
A su vez se cuenta con un archivo reservado
que se debe cargar en la tarjeta Arduino que
brinda la posibilidad de que la tarjeta se deje
controlar por MATLAB.
Spase que estos archivos de soporte se
encuentran en la pgina de Matworks, con la
denominacin de ARDUINO-IO.
2 PLANTEAMIENTO
2.1 OPTENCION DE LA INFORMACION:
Para la lectura del entorno se hace uso de
una cmara VGA USB 2.0, con esta
se
pretende realizar la lectura de la imagen, con
la que se visualizara el posible movimiento del
objeto.
2.2 ELEMENTOS DE PROCESAMIENTO
Para el procesamiento, que se realiza en
tiempo
real es necesario
dos mdulos
MATLAB:
PAUTAS DE RECONOCIMIENTO:
Para el reconocimiento se realiza, como se
especific anteriormente la transformacin de la
captura del video, la imagen se pasa con el
uso de una librera reservada de MATLAB_2012
a escala de grises, como se observa a
continuacin:
Imagen:
% Se configura las
opciones de adquision de
video
set(vid,
'FramesPerTrigger', Inf);
set(vid,
'ReturnedColorspace',
'rgb')
vid.FrameGrabInterval =
5;
%framegrabinterval
significa que tomara cada
5 frame del stream de
video adquirida
%con start(vid) se activa
la adquisicion, pero
todavia se toma la
primera foto
start(vid)
Con la sentencia start se inicia la captura del
video ya configurado.
Ahora se disea un ciclo encargado de estar
sacando la lectura de la imagen para el
procesamiento necesario, en este caso un while,
luego de este se encuentra un serie de
transformaciones que se le realizan a la imagen
para detectar el color definido.
Cuando MATLAB realizar
la lectura
o
procesamiento de una imagen, dado el modo de
trabajo de Matlab este obtiene una matriz de
cada pixel, cada pixel esta representado por
tres valores , o lo que denominamos RGB (red,
Green, blue).
%%UNIVERSIDAD DE LOS
LLANOS
%%FRANKLIN JANCOVICK
VARON HUERTAS
%%INGENIERIA ELECTRONICA
%%PROCESAMIENTO DE
IMAGENES
ros=imread('rosa.jpg');%%
lectura de una imagen
%imshow(ros);
gr=rgb2gray(ros);%%escala
de grises
figure;
%imshow(gr);
fil= medfilt2(gr, [3
3]);%%filtrado de la
imagen
figure;
%imshow(fil);
bi=im2bw(fil);%%binarizac
ion de la imagen
%imshow(bi)
des =
bwareaopen(bi,300);%%desc
arte de los puntos
menores a 300 pixeles
Luego
de
eliminar
posibles
puntos
insignificantes que no pertenezcan a el objeto
que deseamos seguir, hacemos uso de una
instruccin reservada reginprops, con esta
pretendemos identificar (procesar ) solo los
pixeles rojos, esta brinda la ubicacin del
punto especificado, sus caractersticas entre
otras cosas.
El pseudocdigo que
compete
el
procesamiento anterior es el siguiente:
et = bwlabel(des, 8);%%
etiquetado de los puntos
detectados
imshow(et) %%graficado
del resultado
res=regionprops(et,
'BoundingBox',
'Centroid'); %%funcion
qiue arroja la mayor
canntidad de
%%informacion de laa
lectura
SEGUIMIENTO:
Para el seguimiento (movimiento), junto con el
Arduino se hace uso de dos servo motores,
estos aportan su cualidad suspicaz de girar a
escritura
polar, estos motores brinda la
posibilidad de realizar un giro entre 0-180 con
la escritura de un angulo entero que se
encuentre entre dicho rango, estos motores
presentan tres pines de conexin, dos de
polarizacin y uno de conexin para escritura
de dato u orde.
Arduino:
serv.servoWrite(9,angulo)
;
end
%% PARA Y------------ if (y<180)
angulo=(angulo-15);
if(angulo<10)
angulo=0;
end
serv.servoWrite(10,angulo
);
end
if (y>100)
angulo=angulo+15;
if(angulo>174)
angulo=180;
end
serv.servoWrite(10,angulo
);
end
PROBLEMATICAS
->como problemticas iniciales encontramos la
lentitud de procesamiento, la ejecucin
de
Matlab, as como su procesamiento de las
imgenes involucra un tiempo significativo, es
decir se presentaba un retardo a la respuesta
de un evento como el movimiento del objeto.
CONCLUSIONES:
El procesamiento de imgenes con
MATLAB
requiere
una cantidad
significativa de recursos informticos,
as como tiempo de procesamiento,