1
!
" # $ %$& !&% ! ' $
#
2
# ( #
# ( ) * + (
( * +
(
( *
3
La universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de grado.
Solo velará porque no se publique nada contrario al dogma y la moral católica y porque los trabajos no contengan ataques o polémicas puramente personales. Antes bien, que se vea en
ellos el anhelo de buscar la verdad y la justicia
4
Primero le doy gracias a Dios por haberme acompañado a lo largo de mi carrera y haberme ayudado a llegar hasta aquí.
1
CONTENIDO
ÍNDICE GENERAL. ...
ÍNDICE DE FIGURAS. ... 2
ÍNDICE DE TABLAS. ... 3
1. INTRODUCCIÓN ... 4
2.MARCO TEÓRICO. ... 5
2.1 CALIBRACIÓN CÁMARA ... 5
2.2 OPENCV. ... 9
2.3 ARDUINO. ... 10
3.OBJETIVOS... 11
3.1 OBJETIVO GENERAL. ... 11
3.2 OBJETIVOS ESPECIFICOS. ... 11
4.ESPECIFICACIONES ... 12
5.DESARROLLO ... 15
5.1 CONTROL (ON/OFF) SINCRONA DEL LÁSER. ... 15
5.2 DETECCIÓN DEL LÁSER. ... 16
5.3 ESTIMACIÓN DE DISTANCIAS. ... 24
6.ANALISIS DE RESULTADOS ... 32
6.1 PRIMERA TOMA: ÁNGULO DE 90 GRADOS. ... 32
6.2 SEGUNDA TOMA: PARA ÁNGULO DE 70 ... 41
6.3 TERCERA TOMA: PARA ÁNGULO DE 56 GRADOS ... 46 7.CONCLUSIONES ... 53 BIBLIOGRAFÍA ... 56
2
#
Figura 1 Patrón de tablero de ajedrez en múltiples posiciones y orientaciones. ... 5
Figura 2 Modelo de cámara ... 6
Figura 3 Modelo de cámara Reorganizado. ... 6
Figura 4 Distorsión Radial G Efecto Ojo de pez ... 8
Figura 5 Coordenadas De La Cámara y Coordenadas Del Objeto para matriz de rotación y traslación Tomado del libro Learning OpenCV Computer Vision with the OpenCV. ... 8
Figura 6 Estructura OpenCv – Tomado Intel Open Source Computer Vision[4] ... 9
Figura 7 Microcontrolador Arduino ... 10
Figura 8 Montaje Cámara G Láser ... 12
Figura 9 Diagrama en bloques del proceso. ... 13
Figura 10 Diagrama en bloques del algoritmo Detección del punto. ... 14
Figura 11 Diagrama de flujo del Programa de Arduino ... 15
Figura 12 Diagrama de flujo del algoritmo de detección del punto. ... 16
Figura 13 Etapa de captura del algoritmo de detección del punto láser. ... 17
Figura 14 Etapa de procesamiento del algoritmo de detección del punto láser... 17
Figura 15 Etapa de procesamiento del algoritmo del punto laser – Resta de imágenes. ... 18
Figura 16 Etapa de proc. del algoritmo de detección del punto láser G División en canales RGB. ... 18
Figura 17 Etapa de procesamiento del algoritmo de detección del punto láser G Binarización ... 18
Figura 18 Pruebas del Algoritmo de Detección En GIMP ... 20
Figura 19 Análisis de la segmentación en color del algoritmo de detección del punto ... 21
Figura 20 Análisis de la segmentación sobre texturas. ... 22
Figura 21 Imágenes Análisis de la segmentación con iluminación escasa. ... 22
Figura 22 Imágenes Análisis de la segmentación con iluminación excesiva. ... 23
Figura 23 Trackbar G Barra de seguimiento de objetos. ... 23
Figura 25 Método de calibración del sistema cámara láser ... 25
Figura 24 Sistema CámaraGLáser vista superior ... 24
Figura 26 Diagrama en Bloques del Algoritmo de calibración ... 27
Figura 27 Prueba manual de las coordenadas reales del pto Láser ... 28
Figura 28 Modelo calibración con respecto a la ecuación recta láser... 29
Figura 29 Modelo cámaraG Láser para encontrar z, que relacione los parámetros D y ángulo. ... 30
Figura 30 Diagrama en bloques del algoritmo de estimación de distancias ... 31
Figura 31 Resolución en las medidas en angulos pequeños ... 52 Figura 32 Resolución en las medidas en ángulos grandes... 56
Figura 33 Pixeles vs Dsitancias estimadas en angulos de 90 grados. ... 56
3
Tabla 1 Datos Represión recta láser a Distancia1=5.3 cm ... 31
Tabla 2 Datos Represión recta láser a Distancia1=6.3 cm ... 31
Tabla 3 Datos Represión recta láser a Distancia 3=7.3 cm ... 31
Tabla 4 Datos Represión recta láser a Distancia4=8.3 cm ... 31
Tabla 5 Datos Reresion recta láser a Distancia5=9.3 cm ... 31
Tabla 6 Distancia estimada a Distancia 1 de 5.3 cm ... 31
Tabla 7 Distancia estimada a Distancia 2 de 6.3 cm ... 32
Tabla 8 Distancia estimada a Distancia 3 de 7.3 cm ... 32
Tabla 9 Distancia estimada a Distancia 4 de 8.3 cm ... 32
Tabla 10 Distancia estimada a Distancia 5 de 9.3 cm ... 32
Tabla 11 Datos Represión recta láser a Distancia 1=5.3 cm ... 32
Tabla 12 Datos Represión recta láser a Distancia 2=6.3 cm ... 32
Tabla 13 Datos Represión recta láser a Distancia 4=7.3 cm ... 32
Tabla 14 Datos Represión recta láser a Distancia 4=8.3 cm ... 34
Tabla 15 Datos Represión recta láser a Distancia 5=9.3 cm ... 34
Tabla 16 Distancia estimada a Distancia 1 de 5.3 cm ... 34
Tabla 17 Distancia estimada a Distancia 2 de 6.3 cm ... 34
Tabla 18 Distancia estimada a Distancia 3 de 7.3 cm ... 34
Tabla 19 Distancia estimada a Distancia 4 de 8.3 cm ... 34
Tabla 20 Datos Represión recta láser a Distancia 5=9.3 cm ... 35
Tabla 21 Datos Represión recta láser a Distancia 4=8.3 cm ... 35
Tabla 22 Datos Represión recta láser a Distancia 3=7.3 cm ... 35
Tabla 23 Datos Represión recta láser a Distancia 2=6.3 cm ... 41
Tabla 24 Distancia estimada a Distancia 5 de 9.3 cm ... 41
Tabla 25 Distancia estimada a Distancia 4 de 8.3 cm ... 41
4
CAPÍTULO 1
El presente trabajo es un desarrollado de un algoritmo en lenguaje C usando las librerías de OpenCV, el cual permita determinar la distancia absoluta a la que se encuentra una zona puntual iluminada, utilizando un láser y una cámara como sensor de captura, estáticos, para posteriores implementaciones en el área de robótica dentro del grupo de investigación SIRP (Sistemás Inteligentes, Robótica y percepción) de la Pontificia Universidad Javeriana1. Específicamente para generar una herramienta para su uso en la robótica, con la posible aplicación futura de servir como base para algoritmos de auto calibración de arreglos estéreo o de configuraciones más complejas de más de dos cámaras.
Existen diferentes maneras de medir la distancia desde un sensor visual, a un objeto en específico visto en escena; la primera consiste en saber de antemano el tamaño del objeto X, y despejar, la distancia llamada “Z” que existe entre el sensor de captura y el objeto; directamente de los modelos establecidos matemáticamente, teniendo conocidos la distancia focal para cada eje, y el centro calibrado de la cámara. Otra manera de conocer la distancia a un objeto consiste en determinar el foco de la cámara al enfocar un objeto en específico y despejar de la óptica del lente. Los dos métodos anteriores se valen de una sola cámara y de parámetros conocidos para despejar del modelo de la cámara la distancia a un objeto. Una tercera técnica consiste en usar una segunda cámara y ubicarla en un punto conocido, por lo general con un campo de visión paralelo y a una distancia conocida para realizar una triangulación del objeto, esto se conoce como emparejamiento estéreo.
Este proyecto cae en este último tipo de medición de distancia, ya que se posee un arreglo cámara láser, en el que es posible determinar no la distancia a un objeto sino la distancia a un punto, ya que no se cuenta con múltiples representaciones como las dadas por una segunda cámara, sino con un marcador que sería el punto láser, que cuenta con una geometría conocida, por lo que es posible despejar la distancia a un punto iluminado a partir de una sola imagen, conociendo la distancia entre la cámara y el Láser D, el ángulo de inclinación del láser y el punto proyectado en la imagen.
1
5
CAPÍTULO 2
,
-La calibración es el proceso que analiza cómo una cámara proyecta un objeto real en el plano de la cámara para así poder extraer información y algunas propiedades de la imagen conocida, para determinar los parámetros libres de la cámara recurriendo a modelos matemáticos para resolver las ecuaciones e incógnitas generadas en el proceso. Así mismo se extrae información que se quiere eliminar sobre la distorsión debido a la lente y a los defectos de fabricación.
Típicamente se usa un patrón de tablero de ajedrez en un plano para generar esta correspondencia de puntos del objeto real en 3D a puntos en 2D de la imagen capturada. Como los puntos pertenecen a una configuración conocida, se establecen las variables que ayudan a dar solución a los parámetros mencionados anteriormente con ayuda de otras ecuaciones que serán explicadas en la siguiente sección.
En la Figura 1 se ve el patrón en diferentes posiciones y orientaciones:
# ". - / ' / 0! & 1 23!/ 4! % 4&% $ & % 5 & / $ & %
, - - 6 * 7
El modelo de la cámara “ ” describe este tipo de correspondencia de 3D a 2D de manera matemática, realizando una relación de triángulos semejantes. Tomando como referencia el modelo más sencillo de una cámara, el cual describe la correspondencia de los puntos 3D a 2D que hace el proceso de
6
Utilizando semejanza entre triángulos se tiene:
=
8-9Donde:
: Es la longitud focal de la cámara. : Es la distancia de la cámara al objeto.
Es la longitud del objeto.
x: Es la imagen del objeto en el plano de la imagen.
Ahora, de acuerdo con Bradsky y Kaehler2, reorganizando los parámetros de la escena del modelo “ ” (y haciendo que el objeto real aparezca en al lado derecho), la geometría del sistema se vuelve más fácil de analizar, porque el punto en la intersección del plano de la imagen y el eje óptico es ahora el punto principal de nuestro sistema como lo muestra la Figura 3.
# ". : & !& $;2 & " &
Luego del modelo anterior se deriva que un punto en el mundo físico Q con coordenadas X,Y,Z, es proyectado en la pantalla de acuerdo a las siguientes ecuaciones:
2
[image:10.595.100.523.59.220.2]G. Bradski and A. Kaehler, Learning OpenCV Computer Vision with the OpenCV Library. O'Reilly,2008. Pag124.
Figura 2 Modelo de cámara Pinhole
Z
X Plano Plano
x
Fx
f
Eje Óptico
Q(X,Y, Z)
̂
7
=
+
8,9=
+
8:9Donde:
: Es la coordenada del punto x en la pantalla.
f : Distancia focal de la cámara en X.
c : Desplazamiento en X del centro de proyección de la pantalla.
" : Es la coordenada del punto y en la pantalla.
f#: Distancia focal de la cámara en Y.
c#: Desplazamiento en Y del centro de proyección de la pantalla.
En este modelo se introducen dos longitudes focales diferentes al modelo “ ”, porque la medida de los pixeles en una cámara no son iguales para todos los dispositivos, estos dependen de varias características que la conforman, pero principalmente depende de la resolución de las imágenes captadas, es decir depende del número de puntos por pulgada que el sensor de la cámara es capaz de capturar del objeto escaneado.
En cámara típica de bajo costo los pixeles son rectangulares en vez de cuadrados mientras que en cámaras con mayor resolución los pixeles tenderán a ser más cuadrados y la relación de pixeles por medida tomada será mucho más acertada.
Ahora bien, con las ecuaciones [1], [2] y [3] se definen los parámetros que definen la geometría interna y la óptica de la cámara, llamados parámetros intrínsecos. Cabe decir que estos parámetros son constantes mientras no se varíen las características y posiciones relativas entre la óptica y el sensor imagen. Por lo tanto la proyección de los puntos en el mundo físico Q con coordenadas X, Y, Z en el plano focal q con coordenadas x, y, z se resumen en una matriz q de 3x3 llamada M, de la siguiente manera:
$ = %&
Donde :
% = '(0 (" *"0 *
0 0 1,, $ = -"./ y Q= ' 0 1 2,
Hasta aquí se definieron las parámetros intrínsecos de la cámara, los cuales se ocupan de la geometría interna de la cámara, ahora como se mencionó al principio del capítulo la calibración de una cámara también desea eliminar las distorsiones de la cámara dadas debido a la lente las cuales se dan principalmente por razones de fabricación.
8
# ". < %/& % ' ! = > $/& 1& 4
Los rayos más lejos del centro de la lente se doblan más que los del centro de la imagen, es decir que la distorsión es 0 en el centro óptico de la cámara y aumenta a medida que se avanza hacia la periferia.
Esta distorsión es pequeña y puede ser caracterizada por los primeros términos de la expansión de la serie de Taylor al rededor de r=0. En donde el primer término se llama convencionalmente k1 y la segundo k2 para cámaras de baja resolución mientras que para cámaras altamente distorsionadas tales como lentes de ojo de pez se utiliza un tercer término, k3. Por lo tanto la ubicación radial de un punto en la imagen será re G escalizado de acuerdo a las ecuaciones:
3 4 5 6=
(8 + 9
8:
;+ 9
;:
<+ 9
=:
>)
8<94 5 6=
(8 + 9
8:
;+ 9
;:
<+ 9
=:
>)
8?9Donde x,y es la ubicación original de los puntos distorsionados y (x corrected , y corrected) es la nueva ubicación como el resultado de la corrección.
Surge debido a los defectos de fabricación de la lente como a su mismo proceso de ensamblaje sobre la cámara, al no quedar totalmente paralelo a al plano imagen.
Utilizando la ecuación anterior se deben agregar dos parámetros para caracterizarla:
3 4 5 6 =
+ (; @
8+ @
;(:
;+ ;
;)
8 @94 5 6=
+ ( @
8(:
;+ ;
;) + ;@
;)
8 A 9Finalmente para terminar el proceso de calibración se determinar el vector de traslación y la matriz de rotación para cada imagen que la cámara toma de un objeto particular como lo muestra la Figura 5.
# ". ? && % ;2 5 && % ! 01 /& 4 2 / &/ $ ' 5 / %! $ ' :
3
9
Lo cual se hace hallando un punto del mundo real (Po) en la cámara (Pc), de tal manera que dicha relación está dada por:
A = B(A − D)
8 B 9En conclusión para la calibración se tienen 4 parámetros intrínsecos (fx; fy; cx; cy) y 5 parámetros de distorsión: que se dividen en 3 radiales (k1; k2; k3) y 2 tangenciales (p1; p2), estos últimos son agrupados en el vector de distorsión que contiene k1; k2; p1; p2 y k3, el vector de translación (T) y la matriz de rotación (R).
, ,
OpenCV (Open Source Computer Vision) es una librería de funciones de programación para visión por computador en tiempo real. La librera tiene más de 500 algoritmos optimizados. Se usan en todo el mundo, tiene más de dos millones de descargas y más de cuarenta mil personas en el grupo de usuarios. Es usado en campos tan variados como el arte interactivo, inspección de minas y robótica avanzada. Las metas iniciales para OpenCV eran, entre otras, mejorar la calidad de investigación en visión avanzada al brindar códigos libres y optimizados para la infraestructura de visión básica de tal manera que se permita el desarrollo de más y mejores herramientas con base en las ya existentes.4
OpenCV es una colección de funciones en C y algunas clases de C++ que implementan varios algoritmos populares de procesamiento de imágenes y visión por computador. En términos generales, OpenCV brinda una amplia plataforma a un API de alto nivel que incluye cerca de 300 funciones en C y unas pocas clases en C++. Además constantemente se mejoran los vínculos Python para OpenCV; _este no tiene dependencias de librerías externas, aunque puede usar algunas (como libjpeg, _mpeg, GTK+ etc.) cuando sea posible.5 . Este lenguaje se estructura en cinco componentes principales, cuatro de los cuales se muestran en la siguiente Figura 6.
# ". @ %/ .$/. 4 C D &2 & / ! 4 &. $ &24./ % & @
Donde CV es el componente que contiene el procesamiento de imagen básico y los algoritmos de visión computarizados de más alto nivel. MLL es la máquina de aprendizaje de librerías, la cual incluye varios clasificadores estadísticos y herramientas de clustering. El HighGUI contiene rutinas I/O y funciones para almacenar y cargar videos e imágenes. CXCore contiene las estructuras de datos básicos y el contenido.
4
Intel Open Source Computer Vision Library. [Online]. Available: http://opencv.jp/opencvG1.0.0 org/docs/index.htm
5
Intel Open Source Computer Vision Library. [Online]. Available: http://opencv.jp/opencvG1.0.0 org/docs/index.htm
6
10
Otro componente es el CvAux que contiene _áreas extintas (reconocimiento facial integrado) y algoritmos experimentales (segmentación de fondo y primer plano)7
[image:14.595.222.388.295.416.2]Algunos de estos algoritmos ofrecidos por esta gran librería son utilizados en el presente proyecto para el procesamiento de imágenes. Arduino es una placa con un micro controlador y un entorno de desarrollo, diseñado para facilitar el uso de la electrónica en proyectos multidisciplinares, como se aprecia en la Figura 7.
Es una plataforma de creación de prototipos electrónicos de código abierto basado en flexibilidad, hardware y software fácil de usar. Está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en la creación de objetos o entornos interactivos.
Este micro controlador puede detectar el medio ambiente mediante la recepción de aportes de una variedad de sensores y puede afectar Arduino puede a su entorno por las luces de control, motores y otros actuadores. Este se programa utilizando el lenguaje de programación Arduino (basado enWiring ) y el entorno de desarrollo Arduino.8
# ". A $ & $& / &! & . &
Este micro controlador es empleado en el presente trabajo para facilitar el manejo síncrono del laser en el montaje de estimación de distancias absolutas. Este hace un cambio de estado ON, OFF continuo para que se pueda realizar una captura de imágenes con el láser y sin él, para así cumplir el objetivo que es la medición de las distancias deseadas.
7 Arduino Uno, [Online]. Available: http://www.arduino.cc
11
CAPÍTULO 3
(
: -
(
Implementar un algoritmo empleando técnicas de visión por computador que permita estimar la distancia entre un punto estático iluminado por un láser puntual fijo y un arreglo cámara láser.
: ,
(
#
Implementar un algoritmo de detección del láser puntual en la imagen capturada.
Implementar una técnica de calibración para el sistema cámara láser.
Implementar un sistema de estimación de distancias puntuales a objetos usando una cámara y un láser.
12
CAPÍTULO 4
#
$/
%/ $ %
!&% %
%& % 24!
&%
El sistema de visión cámara – Láser diseñado que permite estimar distancias a objetos en forma precisa, consta de sensor visual con las siguientes características:
;2 &" $/ $E * modelo C615, la cual es utilizada con las siguientes condiciones:
>&F. Automático
%&!.$ ' 480x640 pixeles
!&$ &0/. $ ' 15 cuadros por segundo.
& & $& G ' HiGSpeed USB
Y un !;% &1& * =-? de 5 milímetros de diámetro, funciona en un rango de 5 a 15 voltios con alcance de 3 metros.
$/
%/ $ %
! 2& / 1
Este arreglo se dispone sobre una plataforma fija e inmóvil formada por una platina metálica ajustable hasta 15 centímetros de largo que permita cubrir un rango de medidas estimado para la realización de pruebas. La platina cuenta con orificios, separados entre sí por una distancia de 1 cm en los que se puede desplazar el láser tanto en distancia como en la orientación angular que se desee calcular. El láser podrá cambiar de ángulo con relación a plano origen en el que se encuentra ensamblado el sistema. La cámara y el Láser se encuentran totalmente paralelos al eje x.
# ". B & / 1 ;2 = ;%
Orificios De Desplazamiento Del Láser
Láser
Orificio Soporte Trípode
De este sistema dependerá la pre cada parámetro físico del sistema reales.
El arreglo cámaraGlaser utilizado e la de dos imágenes, una con el las procesamiento de imágenes se pue
Ahora bien, el sistema implementa del punto láser sobre las imágene iluminado por un láser. El proceso diagrama de bloques mostrado en l
# ".
algoritmo captura las imágenes re aplica un filtro seguido por una seg láser.
13
la precisión de las medidas, debido a que de la regula stema se obtendrán resultados con errores mínimos co
zado emplea el micro controlador Aruino para prender el laser en ella y otra en la que el laser no se vea para se pueda hacer la estimación al punto iluminado por el
ementado consta de dos algoritmos principales, uno b ágenes capturadas y el otro basado en la estimación d roceso general que tiene el sistema implementado se do en la Figura 9.
# ". H " 2 0!&F. % ! 4 &$ %&
funciona como se observa en forma general nes requeridas y este algoritmo captura dos imágen na segmentación, de tal manera que se encuentran las c
regulación que se haga sobre os con respecto a los datos
render y apagar el laser para a para posteriormente bajo el por el laser.
, uno basado en la detección ción de distancias a un punto do se plantea en el siguiente
El módulo de
PRIMERA FASE: Es una fase sistema estático cámara – láser del sistema. La calibración con distancias entre componentes mediciones hechas con objetos
SEGUNDA FASE: Se refiere cámara G láser antes propuesto objetos sino la distancia al pun tan solo conociendo la distanc láser “θ”, se pueda saber la dis escenarios.
El alcance de las distancias esti menores no pueden ser calcu calculadas con precisión máxim orientación con el cual esté disp
# ". -I "
La complejidad computacional de que se trabaje, por lo tanto para el procesos de suavizado. En donde s
Donde:
E = % F G = H I → KLEL
Por lo tanto el cálculo de la compl
14
lo conforman dos fases:
na fase de implementación de una técnica de calibrac láser que corrija las posibles fallas en la medición de ión consiste en hacer una regresión a los valores físicos nentes y a coordenadas físicas de la ubicación del p objetos prueba de dimensiones conocidas.
refiere a la estimación de distancias puntuales a obje puesto en la Figura 8, en el que es posible determina al punto marcado por el láser implementado. Este mod
istancia entre la cámara y el láser llamada “D” y el án r la distancia a la que se encuentran el punto láser proy
ias estimadas en el sistema propuesto fue de un mínimo calculadas) y un máximo de 120 cm (Distancias m máxima). Estas medidas se ven influenciadas directame
dispuesto el laser empleado en el sistema.
" 2 0!&F. % ! !"& /2& / $$ ' ! 4
(
nal de este algoritmo teniendo en cuenta la cantidad d para el algoritmo se trabajó sobre dos procesos fundam
onde su complejidad está dada de la siguiente manera:
* = M(E G)
% F → FúEOPQ RO STULV FúEOPQ RO *QUWEGLV KLELñQ RO UL YOGZLGL RO UL [QGYQUW[TóG POLUT.LR
complejidad computacional esta dada:
[ = 2 (640 480 3 3) [ = 5.529.600
libración geométrica para el ión de los parámetros físicos físicos del sistema, como las n del punto láser a partir de
a objetos usando el arreglo erminar no la distancia a los
e modelo busca analizar que el ángulo de inclinación del proyectado sobre diferentes
ínimo de 10 cm (Distancias cias mayores no puede ser ectamente sobre el ángulo de
! 4. /&
idad de multiplicaciones con undamentales que fueron los
nera:
15
CAPÍTULO 5
? -
J
K ##L
Para que el sistema implementado funcione, se incluye un proceso contempla la comunicación serial entre los puertos del micro controlador ARDUINO y OpenCv para prender y apagar el láser a una velocidad que pueda ser apreciada por la cámara sin tener complicaciones de retardos con los otros dos algoritmos del proyecto. El algoritmo implementado en la placa ARDUINO controla el prendido y apagado de láser hasta que reciba el comando de cierre de Open CV, que cierra la ejecución del programa. El diagrama de bloques muestrado en la Figura 11, explica el funcionamiento del algoritmo.
16
? ,
El algoritmo de detección del punto láser implementado trabaja como se muestra en el diagrama de flujo, mostrado en la Figura 12.
17
En forma detallada el algoritmo de “ hace una comunicación serial con el
Arduino para cambiar de estado el laser, y ponerlo en intermitencia como se aprecia en la figura 11, para poder captura las dos imágenes necesarias, una, con el punto láser reflejado en ella y otra imagen sin el punto láser para posteriormente procesarlas, como se muestra en la siguiente # ". -:.
# ". -: / 4 $ 4/. ! !"& /2& / $$ ' ! 4. /& !;%
Luego se procede a utilizar funciones de filtrado de imágenes, para suavizar la imagen resultante y reducir el ruido que se pueda producir posiblemente por la sensibilidad del sensor de captura en el momento de la toma, o por la mismás operaciones que se realicen sobre las imágenes. La función que se implemento para suavizar la imagen es:
void cvSmooth (
src dst smoothtype=CV_GAUSSIAN
param1=3 param2=0 ! param3=0 ! param4=0"
Donde:
G La imagen de origen G La imagen de destino
# G Tipo de suavizado: M Realiza una convolución lineal entre el
$ %&
$ – Es el primer parámetro de la operación de suavizado, la anchura de la abertura. Debe ser un número impar positivo (1, 3, 5, ...)
% – Es el segundo parámetro de la operación de suavizado, la altura de la abertura. ' – Es el tercer parámetro se puede especificar la desviación gaussiana.
Obteniendo los siguientes resultados mostrados en la Figura 14.
18
Después se procede a hacer una resta sobre las imágenes que nos arroje el punto más evidente entre las imágenes que es el laser. Como se muestra en la Figura 15.
# ". -? / 4 4 &$ % 2 /& ! !"& /2& ! 4. /& ! % D %/ 2;" %
Posteriormente se divide la imagen resultante en los tres canales para determinar en cuál de ellos se observa con mayor claridad el láser; de acuerdo a esto se tiene que el canal rojo entrega los mejores resultados como los apreciados en la Figura 16.
# ". -@ / 4 4 &$ % 2 /& ! !"& /2& / $$ ' ! 4. /& !;% = C % ' $ ! %
Ahora bien, se quiere obtener una imagen donde se tenga el láser en un color y el resto de la imagen en otro, por ende se necesita umbralizar la imagen de tal manera que se obtenga una imagen binaria, donde el punto del láser quedaría en blanco y el resto en negro como se muestra en la Figura 17.
# ". -A / 4 4 &$ % 2 /& ! !"& /2& / $$ ' ! 4. /& !;% = $ '
La función utilizada para la umbralizacion fue:
Double $C E %E&! ( const CvArr * , CvArr * , doble ! , doble ( ,
19
Donde:
* + arreglo de origen (de un solo canal, 8bits)
G matriz de destino; debe ser del mismo tipo que el original o 8 bits
, ! G Valor Umbral
( G Valor máximo de usar con M * *M
)# G tipo de umbral
Con la imagen binaria se tienen estructuras que no corresponden al láser, por lo cual se extraen todos los
contornos que hay, para esto se utiliza la función &
int cvFindContours -.
/ * .
* 0 first_contour
header_size=sizeof(CvContour) int mode=CV_RETR_LIST
mint method=CV_CHAIN_APPROX_SIMPLE offset=cvPoint(0,0))
Donde:
. es la imagen que se quiere procesar, y debe ser de un solo canal.
/ * . Donde se guardara lo que retorne la función.
1 2 G Parámetro de salida, contendrá el puntero al primer contorno exterior.
2 3 G Tamaño que tendrá el area de comparación con los contornos de secuencia, si es menor al area establecida es ruido y se descarta.
(2 4 562 78 2*5/ comprime los segmentos horizontales, verticales y diagonales, y deja sólo los puntos finales
Esta función retorna los rectángulos contenedores de las estructuras presentes en la imagen, por lo que se realiza un filtro de área sobre todos los contornos, y se busca el rectángulo que tenga mayor área, puesto que este va a contener el punto del láser; finalmente para determinar las coordenadas del láser se utiliza el centro del rectángulo contenedor.
Este módulo cuenta con una fase anexa que trabaja con el micro controlador Arduino; que básicamente lo que hace una comunicación serial entre los dos sistemás. El programa grabado en el micro controlador abre los puertos del sistema y en el momento en que OpenCv le pida que prenda y apague el láser. El programa implementado en Open CV, utiliza la librería: 9 : & 9& Cada vez que el algoritmo de detección del punto láser es ejecutado abre los puertos mandando hacia el micro controlador un comando que le ordena que inicie el programa y lo mantenga así, hasta el momento en que reciba la orden de terminación del programa como se observa en la Figura 12.
5.2 PROTOCOLO DE PRUEBAS DEL ALGORITMO DE DETECCIÓN DEL PUNTO LÁSER SOBRE LAS IMÁGENES CAPTURADAS.
Es necesario fijar protocolos de prueba en los cuales se pueda verificar si el algoritmo de detección del láser está suministrando datos correctos; por lo cual se requiere una forma de comparación de datos manuales con relación a los datos obtenidos por el programa.
20
de las coordenadas de una imagen en centímetros, pixeles y metros. El objetivo es verificar si las coordenadas en pixeles que se obtienen del algoritmo de detección del punto son correctas.
Cuando cada imagen capturada por el algoritmo diseñado captura las imágenes, se analizan con GIMP. Aqui se observa la barra de estado del programa; (que debe estar calibrada en pixeles) y ubicando el cursor del mouse sobre la imagen detectada con del punto láser arroja de manera inmediata los coordenadas en los que se encuentra el punto.
# ". -B . 0 % ! !"& /2& / $$ '
Los datos del programa arrojaron:
&& N
&&
380 265
En todas las imágenes prueba que se tomaron para la comprobación del algoritmo, nunca se obtuvo un error en la ubicación suministrada por el algoritmo diseñado. Con esto se comprobó la eficiencia del algoritmo.
21
a
b.
# ". -H ;! % % ! % "2 / $ ' $&!& ! !"& /2& / $$ ' ! 4. /&
22 0
# ". ,I ;! % % ! % "2 / $ ' %&0 / G/. %
En escenarios con texturas rugosas y lisas en las que se pudo generar una reflexión del punto o en las que no se pudiera capturar; no se presentaron mayores problemas relevantes. En algunas pruebas con texturas como en la Figura 20, b. La imagen umbralizada del punto láser adopta la forma de la imagen sin mayores distorsiones de la ubicación de punto.
a.
b.
# ". ,, 2;
Por último se evaluaron escenari contrario se tuviera una iluminació
En los escenarios con poca luz, la algunos problemas:
Cuando la iluminación es poca la Figura 21 .b Se capturan m plano de nuestra imagen y sí la imagen.
El segundo problema fue que realmente es el punto, como también es percibida por el al cual las coordenadas de ubic variaciones de 3 pixeles de err
Por lo tanto para mejorar el fu seguimiento manual del rango del establecer un nivel de umbralizac momento que sea necesario; de tal
# ".
La función de Open Cv implement
createTrackbar - . #
) ;! ! ;
Donde
;! G No
< G Nombr
G El puntero cursor. Tras su cre
23
2;" % ;! % % ! % "2 / $ ' $& !.2 $ ' G$ %
cenarios en los que se pudiera tener muy poca ilum inación mayor a la normal.
la imagen umbralizada que se tiene del punto ilum
s poca el ruido que se presenta sobre la imagen captur ran muchos puntos blancos que no dan información re í logran distorsionar las coordenadas de ubicació
e que el punto detectado sobre la imagen era un poco como en la Figura 21.a. La reflexión de luz de láser
r el algoritmo y se umbraliza generando un área muc e ubicación del punto no eran lo suficientemente pr de error.)
el funcionamiento del algoritmo, se agregó a la go del umbral de cada imagen como lo muestra la Figu
alizacion máximo y uno mínimo que ayude a generar de tal manera que se elimina el ruido y objetos no dese
# ". ,: $O0 = % ". 2 /& &01 /&%
lementada es:
. #trackbarname . #winname va
. CV_DEFAULT (0) CV_DEF
Nombre de la barra de seguimiento creada. ombre de la ventana, que se utiliza la barra de seguim ntero opcional a una variable entera, cuyo valor se refl su creación, la posición del control deslizante está defi
G$ % C
ca iluminación o que por el
to iluminado, se presentaron
capturada es mayor, como en ión relevante sobre el primer icación del punto láser sobre
n poco más grande de lo que láser alrededor del objeto, a mucho más grande, por lo nte precisas, (se apreciaban
[image:27.595.111.501.70.235.2]a la ventana una barra de Figura 23; la cual permite nerar imágenes limpias en el o deseados.
valor conteo
_DEFAULT (0)"
24
G La posición máxima de la barra deslizante. La posición mínima es siempre 0. . G Puntero a la función que se llamará cada vez que el cursor cambia de posición.
G Los datos que el usuario puede utilizar para controlar los eventos de barra de seguimiento sin necesidad de utilizar variables globales.
? :
Como se mencionó en la sección 4 de Especificaciones, este módulo consta de dos pasos. En donde primer paso es:
5.3.1 TÉCNICA DE CALIBRACIÓN DEL SISTEMA CÁMARA LÁSER
Esta fase tiene como principal objetivo implementar una técnica de calibración geométrica para un sistema cámara láser estático. Este debe proporcionar las condiciones necesarias sobre el sistema para poder estimar las distancias al punto láser, corrigiendo las posibles fallas en la medición de los parámetros físicos del sistema.
[image:28.595.199.311.322.415.2]Ahora bien, tomando como referencia el modelo reorganizado de la cámara “ ” mostrado en la Figura 3 y de las ecuaciones:
=
8H9=
+
8-I9=
+
8--9Se propone la siguiente disposición de la cámara y el láser usados en nuestro proyecto:
La calibración consiste en hacer una regresión a los valores físicos del sistema, en la que se pueda extrapolar la recta por donde pasa el láser y su grado de orientación sobre el eje óptico de la cámara para generar la medición de las distancia. Es decir que a partir de mediciones hechas con objetos de prueba de dimensiones conocidas se obtendrán los valores de calibración para cada escenario analizado.
Por regla general la taxonomía de un algoritmo de calibración de sensores visuales se basa en el uso de un patrón conocido para luego despejar las variables físicas que sean necesarias.
En nuestro caso si se conoce los parámetros de la cámara Fx, Fy y Cx, Cy, (obtenidos del proceso de calibración de la cámara en la matriz intrínseca), se conoce X,(que es la longitud del objeto), puede despejarse la distancia existe entre la cámara y el objeto prueba, Z, para luego despejar los valores físicos
Sistema Cámara - Láser
[image:28.595.139.464.451.607.2]25
de interés, X y Y, por los que pasa la recta del láser.
La disposición geométrica del sistema de calibración implementado se observa en la siguiente Figura 25:
# ". ,? P/& & $ ! 0 $ ' ! % %/ 2 $;2 !;%
El proceso de calibración de nuestro sistema cámara láser establece una relación de pixeles a centímetros de la imagen vista por la cámara, con los cuadrados del tablero de ajedrez. Este proceso comienza con la toma de varios puntos de intersección de la recta láser sobre el tablero de ajedrez a una distancia conocida Z desde el sistema. Con lo cual se logra generar las coordenadas X, Y que describen el desplazamiento proyectado por el láser hasta llegar al tablero. Este paso permite conocer la relación existe entre las dimensiones físicas de nuestro objeto prueba (el tablero), con la imagen capturada por la cámara. Es decir que al conocer las dimensiones físicas del tablero de ajedrez usado, es posible medir el valor exacto en centímetros de cuán grande es cada cuadro que conforma el tablero para luego relacionarlo con las coordenadas que ve la cámara de el tablero en el plano imagen.
El algoritmo de diseñado integra todo este proceso de la siguiente manera:
Esta fase, primero utiliza la función cvFindChessboardCorners() proporcionada por OpenCV que permite identificar las esquinas en un tablero de ajedrez.
[image:29.595.117.507.100.301.2]La función determina las coordenadas en las que se encuentran ubicadas las esquinas de los tableros retornándolas en un arreglo, que luego se recorrerá para hacer una resta punto a punto de todas esquinas sobre el eje x y sobre el eje y respectivamente. De todas estas restas se saca un promedio obteniendo la relación de cada punto en x y en la pantalla. Estos valores nos dan la relación correspondiente al Xscreen y Y screen que ve la cámara en el momento de hacer la toma. De la ecuación 1, se conocen ahora todas las variables menos la distancia a la que se encuentra el tablero Z, de tal manera que nuestra incógnita estaría dada por :
e = 8-,9
e = f 8-:9
(x,y) KLgUOPQ − KQEL 1 : (X1, Y1) KLgUOPQ − KQEL 2 : (X2, Y2)
26
Donde:
Es la medida real en x de un cuadro del tablero de ajedrez. = Es la medida real en y de un cuadro del tablero de ajedrez.
: Es la coordenada del punto x en la pantalla.
" : Es la coordenada del punto y en la pantalla.
f#: Distancia focal de la cámara en Y.
f : Distancia focal de la cámara en X.
El algoritmo de detección del láser ya analizado en la sección anterior se adecuó para unirlo al de de la calibración promedio de las coordenadas imagen para que guarde la ubicación X, Y que tiene el láser en cada toma realizada.
Es importante mencionar que para que esta relación tablero G imagen capturada funcione, el tablero debe estar lo más paralelo al sensor de captura, porque con esto se asegura que la relación de todas las esquinas del tablero con las coordenadas de la pantalla son precisas. Para esto se utilizó la varianza muestral. La varianza muestral se puede definir como el "promedio" de los cuadrados de las desviaciones de los datos con respecto a la media de todas las medidas analizadas en un conjunto de pruebas. Asegurándonos que se está dentro del límite total de las muestras estudiadas.9 Su fórmula es:
k ;=∑ (omp8 m n);
(o 8) 8-<9
Donde:
S j=Es la varianza
6 Es el total de datos de la muestra
xs: Es cada uno de los datos de la muestra. xn: Es la media de todos los datos de la muestra.
Si la variación de estas medidas es mayor a 1, con relación promedio de las restas obtenidas, indicará que la posición del tablero no es lo suficientemente buena para realizar la captura de las coordenadas de la recta. Cuando el tablero de ajedrez está perfectamente paralelo a la cámara, el valor de la varianza debe estar en un rango lo bastante cercana a cero para asegurar que no a hay movimiento alguno sobre el tablero.
Por lo tanto el algoritmo de calibración de las coordenadas imagen, se modificó para poder integrar las fórmulas de la varianza. El proceso de la calibración se puede ver en el siguiente diagrama de bloques mostrado en la Figura 26:
La segunda etapa de la calibración Cámara láser está dada por la obtención de los puntos en coordenadas Q, del mundo fisco como se ve en la figura 2, para poder extrapolar la ecuación de la recta y su orientación con respecto al eje óptico de la cámara. Es decir que nuestro nuevo sistema está relacionado con la Figura 3 y las ecuaciones [2] y [3].
9
# ". ,@
De este donde se conocen las va encuentra el tablero en cada mues luego podríamos despejar nuestra la siguiente manera:
Las coordenadas X,Y del punto lá sus valores por el método de mínim
La regresión de mínimo cuadrado la optimización matemática, en la variable dependiente, y una famili que mejor se aproxime a los da
$>
. De donde se obtiene
Este proceso se realiza en Matlab cada prueba. Del proceso de calib donde el láser se encontraba a u centímetros fija. && . G 366 376 393 424 10
Métodos de Regresión. Estimación de
27
" 2 0!&F. % ! !"& /2& $ ! 0 $ '
las variables físicas Fx, Fy, Cx, Cy, Z,(obtenido de la muestra) y Xscreen (que son las coordenadas del pun uestra X ( que serian las coordenadas del punto láser
= e u t
f = e u t
láser en el mundo real son utilizadas ahora para re mínimos cuadrados para extrapolar la ecuación de la re
adrados es una técnica de análisis numérico que está , en la que, dados un conjunto de pares ordenados:
familia de funciones, se intenta encontrar la función, d los datos (un "mejor ajuste"), de acuerdo con el cri btienen los parámetros de la recta Y=mx+b de la sigui
v = ∑∑ ; ∑ ∑(∑ );
w =∑ x ∑
atlab con cada uno de los archivos generados con la r calibración de la cámara láser se obtuvieron los sigui a a un ángulo 90 grados respecto al eje óptico y
&& % !
. /& ;% %/ $
&& %
%/ 2 %
+C N 5
243 54,800 5.967 G1,185
244 50,8533 6,269 G1,019
251 43,4972 6.045 G0,557
260 35,5522 7.280 G0,146
de Parámetros. http://www.virtual.unal.edu.co/cursos/ciencias/
0 $ '
o de la distancia a la que se unto láser en cada toma), en el mundo en 3D), de
8-?9 8-@9
ara realizar una regresión de de la recta láser.
está encuadrada dentro de variable independiente, , dentro de dicha familia, el criterio de ?
a siguiente manera:
[149
8-?9
on la recolección de datos de siguientes datos prueba, en y una distancia D de 10
28
463 273 28,1340 7,397 G0,678
477 279 26,549 7,548 G0,873
491 282 30.739 7,738 G0,936
0! - && % # % $ % ! $/ !;%
Las coordenadas x,y estimadas al plano físico 3D, del punto fueron comprobadas manualmente con regla y con videos en los que se pudiera establecer el centro de la imagen y de allí medir las distancias obtenidas, todos los puntos eran coincidentes.
# ". ,A . 0 2 . ! ! % $&& % ! % ! 4. /& !;%
Con lo cual el proceso de interpolación de la recta láser era mucho más confiable. En este caso específico la ecuación de la recta obtenida es la siguiente:
> $ - " % & $/ !;% 4. /&% 2. %/
Luego de tener la ecuación de la recta Láser, se encuentra las variables físicas que se quieren para el sistema de visión propuesto, las cuales son la distancia cámara Láser D y el ángulo de orientación con el que la recta fue emitida sobre el tablero de calibración. Para esto, se parte del siguiente modelo del sistema de la Figura 28:
!
"
# $ % & '( ) &
29
# ". ,B & !& $ ! 0 $ ' $& %4 $/& ! $. $ ' $/ !;%
Se realiza un análisis geométrico sobre los triángulos formulados por el sistema, de manera que se pueda determinar la distancia cámara Láser D. Esta distancia será igual a la pendiente de la recta sobre el intercepto con el eje x cuando:
Cuando y=0
= y = xz 8-A9
Cuando x=0
" = g
Y por lo tanto el ángulo {, que es el que nos interesa quedara expresado como
| = }~o 8(−x) 8-B9
Retomando las ecuaciones 17 y 18 sobre la recta obtenida anteriormente se tienen los siguientes valores:
/ J2L =13.603
/ $ 4/& J0L =132.345
Con lo cual, nuestras incógnitas tienen los siguientes valores:
%/ $ ;2 = ;% 6 7: 9.7 centímetros
".!& / $ ' 85.769 grados
Estos datos al ser relacionados con las distancias reales (el láser se encontraba a un ángulo 90 grados respecto al eje óptico y una distancia D de 10 centímetros fija) a las que se realizaron las pruebas de manera exitosa. Las medidas concuerdan con las reales.
Ahora, como último paso del módulo de la , se tiene el siguiente modelo de la
30
Donde por geometría se despeja la distancia que es nuestra variable física de interés. Las incógnitas del nuevo sistema analizado son la distancia cámaraG Láser “D” y el ángulo de orientación de la recta. Cuando la recta láser se cruza con el punto focal en el infinito nos crea un nuevo triangulo de base dada por las dimensiones del objeto real, X, y cateto q:
tan { =Xq
3 =}~o …„ 8 -H 9
R tan { = z + q
„ = ‡ }~o … − ˆ
′
8 ,I 9De la ecuación 1, analizada del modelo de la “ ”, y de las ecuaciones [16] y [17] se
tiene:
S‰ Xs =z
′
X
ˆ
′
=
‹Œ 8,-9
Finalmente se obtiene la ecuación que nos relaciona el ángulo y la distancia cámara Láser:
ˆ =
Œmo …•‹ ŽŒ …6 ‹ Œmo … 8 ,, 9Ecuación con la que se trabajó para implementar el algoritmo de a un punto
iluminado. Este algoritmo usa el algoritmo de con la fórmula 18. El diagrama
de bloques para este algoritmo se puede apreciar en el siguiente diagrama de bloques de la Figura 30:
# ". :I "
31
32
CAPÍTULO 6
Todo el proceso se realizó con mediciones de 3 ángulos diferentes con 5 variaciones sobre la distancia cámara láser “D”, declaradas en las graficas como: d1,d2,d3,d4,d5, respectivamente. Por cada uno de los ángulos muestreados, se muestra solo una gráfica de las regresiones de la recta Láser encontrada. Luego se muestran los datos obtenidos de la implementación del algoritmo de estimación de distancias, sobre cada D y ángulo encontrado.
6.1
HI
La regresión para extrapolación de la recta del Láser se obtuvó la siguiente ecuación de la recta en la distancia 3:
> $ , " % ' $/ !;%
La ecuación que nos da la extrapolación nos arroja los siguientes resultados:
/ J2L=14.083
/ $ 4/& J0L RG102.529
%/ $ ;2 = ;% 7.28032 cm
".!& 85.9384 grados
Con lo cual se puede notar que el método de calibración tiene una precisión y error mínimo en las medidas.
&& && && & & & & & & & &
!
"
2 - ? :
Se obtiene los siguientes datos:
/ J2L =16.563
/ $ 4/& J0L =G81.714
%/ $ ;2 = ;% : 4.9335
".!& 88.549 grados
, @ :
Se obtiene los siguientes datos:
/ J2L =9.776
/ $ 4/& J0L =G62.296
%/ $ ;2 = ;% 6.24 cm
".!&: 86.1595 grados
: A :
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N J &" 2 L J . !L N %/ 2 % %/ 2 &%
440 265 40,931 41.0 9,148 0,477
420 265 49,781 50.0 9,600 0,581
411 263 54,568 55.0 9,770 0,470
402 262 59,708 60.0 9,867 0,424
394 260 66,565 67.0 10,183 0,269
0! < /&% 4 % ' $/ !;% %/ $ :RA : $2
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N 5 J &" 2 L J . !L N %/ 2 % %/ 2 &%
407 268 44,028 44.0 7,613 0,715
394 264 52,990 53.0 8,107 0,530
389 263 57,850 58.0 8,408 0,499
385 263 62,904 63.0 8,756 0,542
379 262 70,780 71.0 9,201 0,502
374 264 79,691 80.0 9,749 0,809
0! , /&% 4 % ' $/ !;% %/ $ -R? : $2
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N J &" 2 L J . !L N %/ 2 % %/ 2 &%
413 262 79,456 80.0 14,471 0,564
423 260 66,811 67.0 13,190 0,270
431 263 59,838 60.0 12,549 0,516
437 263 54,852 55.0 12,008 0,473
444 263 50,082 50.0 11,501 0,432
461 266 41,259 41.0 10,550 0,544
2
Se obtiene los siguientes datos:
/ J2L=14.083
/ $ 4/& J0L RG102.529
%/ $ ;2 = ;% 7.28032 centímetros
".!& 85.9384 grados
< B :
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N J &" 2 L J . !L N %/ 2 % %/ 2 &%
420 260 66,784 67.0 12,867 0,2704
430 261 59,753 60.0 12,441 0,332
437 261 54,103 55.0 12,087 0,374
449 262 49,907 50.0 11,8925 0,351
476 264 41,13 41.0 11,608 0,4639
461 266 41,453 41.0 10,558 0,5473
0! ? /&% 4 % ' $/ !;% %/ $ <RB : $2
Se obtiene los siguientes datos:
/ J2L =19.740
/ $ 4/& J0L =G184.427
%/ $ ;2 = ;% 9.34 cm
".!& 87.274
< H :
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N 5 J &" 2 L J . !L N %/ 2 % %/ 2 &%
504 264 41,6762 41.0 13,251 0,8248
474 262 50,35 50.0 13,688 0,318
460 261 54,125 55.0 13,901 0,137
452 261 59,182 60.0 14,455 0,33413
441 259 66,458 67.0 14,946 0,165
425 259 79,218 80.0 15,828 0,345
0! @ /&% 4 % ' $/ !;% %/ $ ?RH : $2
Se obtiene los siguientes datos:
/ J2L R10.993
/ $ 4/& J0L R=97.982
%/ $ ;2 = ;% 8.94 cm
".!& 84.8092
2
Ahora las distancias obtenidas con la ecuación [22] y el algoritmo de distancia implementado, sobre cada una de las calibraciones antes presentadas, arrojaron los siguientes datos:
- ? :
%/ $ && %/ $ %/ $
GM%$ +
4,965 1,166 G243,7801 93,213 95
4,965 1,166 G237,231 80,217 80
4,965 1,166 G229,201 67,425 65
4,965 1,166 G215,751 52,705 50
4,965 1,166 G199,441 42,241 40
4,965 1,166 G176,345 32,84 30
4,965 1,166 G125,201 21,985 20
4,965 1,166 22,988 11,25 10
0! A %/ $ %/ 2 %/ $ - ? : $2
- @ :
%/ $ && %/ $ %/ $
GM%$ +
6,232 1,18 G24601 92,64 95
6,232 1,18 G240,801 80,08 80
6,232 1,18 G235,664 66,815 65
6,232 1,18 G221,64 51,773 50
6,232 1,18 G203,002 41,001 40
6,232 1,18 G180,959 32,12 30
6,232 1,18 G130,137 20,35 20
6,232 1,18 G100,78 10,09 10
0! B %/ $ %/ 2 %/ $ , @ : $2
- A :
%/ $ && %/ $ %/ $
GM%$ +
7,286 1,18 G250,431 92,964 95
7,286 1,18 G245,218 80,008 80
7,286 1,18 G240,385 66,515 65
7,286 1,18 G221,301 51,973 50
7,286 1,18 G203,671 41,021 40
7,286 1,18 G180,5001 32,12 30
7,286 1,18 G130,4501 20,82 20
7,286 1,18 G100,718 10,129 10
3 - B :
%/ $ && %/ $ %/ $
GM%$ +
8,72 1.16 G250,275 92,464 95
8,72 1.16 G245,259 80,08 80
8,72 1.16 G240,231 66,55 65
8,72 1.16 G221,253 51,973 50
8,72 1.16 G203,680 41,421 40
8,72 1.16 G180,32 32,042 30
8,72 1.16 G130,661 20,32 20
8,72 1.16 G100,788 10,442 10
0! -I %/ $ %/ 2 %/ $ < B : $2
- H :
%/ $ && %/ $ %/ $
GM%$ +
8,954 1.22 G250,32 92,064 95
8,954 1.22 G245,32 80,278 80
8,954 1.22 G240,041 66,515 65
8,954 1.22 G221,401 51,773 50
8,954 1.22 G240,541 40,127 40
8,954 1.22 G203,277 41,01 40
8,954 1.22 G180,233 32,12 30
8,954 1.22 G130,01 20,82 20
8,954 1.22 G100,788 10129 10
4
- . /
0 !
0
!
&
> $ : ! $ ' %/ $ % &0/ %= . ! % % &" 2
Se realizó una representación de las distancias cámaraGláser medidas manualmente contra las medidas obtenidas por el programa diseñado, en donde se puede apreciar que las líneas son totalmente lineales, los errores que se obtuvieron en promedio están alrededor de 0.5 centímetros.
Se obtuvo una grafica recta y proporcional, en la que se ve que la precisión entre las distancias obtenidas por el programa y las distancias tomadas manualmente son confiables y bastante cercanas.
En este ángulo, de 90 grados, sobre la recta del láser se tiene un mejor alcance, las distancias a las que puede tomar sin un error más grande de 3 cm de diferencia es hasta un 1 metro con 10 centímetros.
# HI
!$ $ 2;G 2& 110 centímetros
5
@ ,
AI
La gráfica de la regresión obtenida en la medición de la segunda distancia es la siguiente:
> $ < " % ' $/ ;% & / $ ' AI " &%
En donde se ve claramente que
/ J2) =G2.416
/ $ 4/& J0L =15.398
%/ $ ;2 = ;% 6.3 centímetros
".!& 68.515 grados.
% % % % % %& %& %& %& %&
+
( / *
0
1
2
Datos que concuerdan con los parámetros reales que se tienen en el montaje cámara láser.
- ? :
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N J &" 2 L J . !L N %/ 2 % %/ 2 &%
129 267 41, 716 41.0 G10,401 0,226
116 266 50,539 50.0 G13,742 0,881
110 265 55,586 55.0 G15,582 0,688
105 264 60,443 60.0 G17,582 0,678
101 264 67,56 67.0 G20,044 0,642
92 263 80,753 80.0 G25,023 0,696
0! -, /&% 4 % ' $/ !;% %/ $ -R? : $2
Se obtiene los siguientes datos:
/ J2L =G2.711
/ $ 4/& J0L =13.019
%/ $ ;2 = ;% 5.8 centímetros
".!& 66 grados.
, @ :
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N 5 J &" 2 L J . !L N %/ 2 % %/ 2 &%
139 265 41,222 41.0 G9,826 0,436
111 263 50,591 50.0 G14,16 0,436
101 263 55,959 55.0 G16,439 0,426
80 261 68,998 67.0 G22,488 0,341
80 261 68,999 67.0 G22,480 0,397
64 260 81,964 80.0 G28,988 0,676
0! -: /&% 4 % ' $/ !;% %/ $ ,R@ : $2
Se obtiene los siguientes datos:
/ J2L =G2.416
/ $ 4/& J0L =15.398
%/ $ ;2 = ;% 6.763 centímetros
2 : A :
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N 5 J &" 2 L J . !L N %/ 2 % %/ 2 &%
88 261 79,301 80.0 G25,038 0,4402
102 262 66,631 67.0 G19,627 0,4123
111 263 59,614 60.0 G16,758 0,5397
119 264 54,584 55.0 G14,557 0,5527
130 264 49,413 50.0 G12,021 0,514
155 266 40,581 41.0 G8,653 0,596
0! -< /&% 4 % ' $/ !;% %/ $ <RA : $2
Se obtiene los siguientes datos:
/ J2L =G2.014
/ $ 4/& J0L =14.377
%/ $ ;2 = ;% 7.291 centímetros
".!& 68.7263 grados
< B :
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N J &" 2 L J . !L N %/ 2 % %/ 2 &%
83 266 41,183083 41.0 G13,334153 0,543667
64 264 50,167019 50.0 G17,704199 0,509318
54 264 55,295918 55.0 G20,361919 0,561389
39 262 67,653694 67.0 G26,468227 0,480589
28 261 80,759827 80.0 G32,957638 0,450581
0! -? /&% 4 % ' $/ !;% %/ $ <RB : $2
Se obtiene los siguientes datos:
/ J2L =G2.367
/ $ 4/& J0L R20.009
%/ $ ;2 = ;% B :, centímetros
2 ? H :
&& && %/ $ %/ $
&&
$/ ;%
&&
$/ ;%
N J &" 2 L J . !L N %/ 2 % %/ 2 &%
72 263 81,328 80 G27,7165 0,701
81 264 68,191 67 G22,2861 0,694
88 264 61,5847 60 G19,326 0,677
94 265 55,6308 55 G17,0864 0,678
101 265 50,709 50 G15,0199 0,5924
118 267 41,328 41 G11,1767 0,609
0! -@ /&% 4 % ' $/ !;% %/ $ ?RH : $2
Se obtiene los siguientes datos:
/ J2L =G2.134
/ $ 4/& J0L =20.400
%/ $ ;2 = ;% : 8,3289 centímetros
".!& 66 grados.
AI - ? :
%/ $ && %/ $ %/ $
GM%$ +
5,2 1,166 35,7988 10,758 10
5,2 1,166 G121,541 21,421 20
5,2 1,166 G175,301 32,5263 30
5,2 1,166 G199,235 42,221 40
5,2 1,166 G216,552 53,506 50
5,2 1,166 G229,235 67,425 65
5,2 1,166 G237,081 80,9627 80
5,2 1,166 G243,231 93,513 95
0! -A %/ $ %/ 2 %/ $ - ? : $2
, @ :
%/ $ && %/ $ %/ $
GM%$ +
6,2 1,24 146,788 10,909 10
6,2 1,24 G35,612 21,459 20
6,2 1,24 G96,232 31,294 30
6,2 1,24 G126,198 41,3435 40
6,2 1,24 G146,451 51,929 50
6,2 1,24 G164,256 67,616 65
6,2 1,24 G173,129 79,595 80
6,2 1,24 G182,234 96,652 95
2 : A :
%/ $ && %/ $ %/ $
GM%$ +
7,2 1,12 G266,287 94,879 95
7,2 1,12 G25,887 81,626 80
7,2 1,12 G244,61 65,635 65
7,2 1,12 G224,901 51,304 50
7,2 1,12 G199,586 40,377 40
7,2 1,12 G16,909 30,637 30
7,2 1,12 G84,456 20,212 20
7,2 1,12 162,788 9,899 10
0! -H %/ $ %/ 2 %/ $ : A : $2
< B :
%/ $ && %/ $ %/ $
GM%$ +
8,2 1,23 305,788 9,976 10
8,2 1,23 34,788 20,009 20
8,2 1,23 G54,212 30,157 30
8,2 1,23 G104,201 42,076 40
3
> $ ? ! $ ' %/ $ % &0/ % = . ! C% &" 2
Al realizar la representación de las distancias cámara láser medidas manualmente contra las medidas obtenidas por el programa diseñado, en donde se puede apreciar que las líneas son totalmente lineales, los errores que se tiene son muy pequeños al igual que en el caso de las mediciones con ángulos de 90 grados. De las variación de las distancias D, la distancia que se encuentra entre la cámara y el láser sobre el eje óptico, se puede observar más lineal la recta puesto que los errores dentro de los datos son menores.
En este ángulo de 70 grados sobre la recta del láser, se nota una disminución en el alcance para las mediciones realizadas. Las distancias entre las cerca a la cámara reducen su alcance pues el ángulo de orientación de la recta empieza a interceptar la visión de la cámara. Es decir que se genera un campo de visión de la cámara limitado y corrido hacia el lado izquierdo, (porque la intersección se realiza sobre la mitad izquierda de la pantalla.). Se trabaja con la mitad de la imagen analizada.
4
@ :
?@
La regresión para la extrapolación de recta en la distancia 4, para el ángulo de 56 grados.
> $ @ $. $ ' $/ ;% 4 ?@ " &%
/ J2L R=- <H, / $ 4/& J0L R-< :?:
%/ $ ;2 = ;% H @ centímetros
".!& ?@ grados
%&, %& %& %& %& %& %& %& %&& %&
!
"