Você está na página 1de 24

DEPARTAMENTO DE CIENCIAS DE LA

ENERGIA Y MECNICA

CARRERA DE INGENIERA MECATRNICA

INSTRUMENTACIN INDUSTRIAL MECNICA

MODELO ODOMTRICO DIFERENCIAL DE


ROBOTS MVILES

Profesor: Ing. David Loza

Realizado Por:
Gabriel Guerra
Freddy Duque

19 de Julio del 2017 SANGOLQUI


Contenido
1. Objetivos................................................................................................................... 4
1.1. General ............................................................................................................... 4
1.2. Especficos ......................................................................................................... 4
2. Introduccin .............................................................................................................. 4
3. Marco Terico .......................................................................................................... 4
3.1. Odometra .......................................................................................................... 4
3.1.1. En robtica.................................................................................................. 4
4. Frmulas ................................................................................................................... 6
4.1. Modelo odomtrico diferencial de robots mviles ............................................ 6
5. Diseo ....................................................................................................................... 9
5.1. Montaje de motores y encoder ........................................................................... 9
Segmento de Cdigo: ............................................................................................. 10
5.2. Teclado: ........................................................................................................... 10
Segmento de Cdigo: ............................................................................................. 11
5.3. Control de Velocidad de motores .................................................................... 12
Segmento de cdigo: .............................................................................................. 15
5.4. Display LCD .................................................................................................... 15
Segmento de Cdigo: ............................................................................................. 16
5.5. Vehculo completo ........................................................................................... 17
Segmento de Cdigo: ............................................................................................. 18
6. Resultados............................................................................................................... 19
6.1. Prueba 1 ........................................................................................................... 20
6.2. Prueba 2 ........................................................................................................... 21
6.3. Prueba 3 ........................................................................................................... 21
6.4. Prueba 4 ........................................................................................................... 21
7. Errores .................................................................................................................... 22
7.1. Prueba 1: .......................................................................................................... 22
7.2. Prueba 2: .......................................................................................................... 22
7.3. Prueba 3: .......................................................................................................... 22
7.4. Prueba 4: .......................................................................................................... 22
8. Posibles causas ....................................................................................................... 22
9. Soluciones............................................................................................................... 23
10. Conclusiones........................................................................................................ 23
11. Recomendaciones ................................................................................................ 24
12. Bibliografa .......................................................................................................... 24

Ilustracin 1 Segmentos de arcos descritos por el movimiento de las llantas .................. 6


Ilustracin 2 Incertidumbre en punto de contacto de las llantas....................................... 7
Ilustracin 3 Radio efectivo de la rueda ........................................................................... 8
Ilustracin 4 Desplazamiento del robot ............................................................................ 8
Ilustracin 5 Montaje de motores y encoder .................................................................... 9
Ilustracin 6 Suelda de cables para motores ..................................................................... 9
Ilustracin 7 Conexin encoder a arduino ...................................................................... 10
Ilustracin 8 Conexin teclado matricial a arduino ........................................................ 11
Ilustracin 9 Teclado matricial ....................................................................................... 11
Ilustracin 10 diagrama de bloques de funciones L293D .............................................. 12
Ilustracin 11 Control de 2 motores ............................................................................... 13
Ilustracin 12 Circuito en protoboard del control de velocidad ..................................... 13
Ilustracin 13 Control de 2 motores mediante puente H ................................................ 14
Ilustracin 14 Estado de motores para movimiento del robot ........................................ 14
Ilustracin 15 Conexin display LCD a Arduino ........................................................... 15
Ilustracin 16 Valores seteados y actuales mostrados en Display.................................. 16
Ilustracin 17 Pantalla LCD probada en Arduino .......................................................... 17
Ilustracin 18 Modelo diferencial odomtrico de robot mvil presentado .................... 18
Ilustracin 19 Modelo funcional..................................................................................... 19
Ilustracin 20 Modelo presentado .................................................................................. 19
Ilustracin 21 Trayectoria para modelo diferencial odomtrico .................................... 20
Ilustracin 22 Trayectoria primera prueba ..................................................................... 20
Ilustracin 23 Trayectoria segunda prueba ..................................................................... 21
Ilustracin 24 Trayectoria tercera prueba ....................................................................... 21
Ilustracin 25 Trayectoria cuarta prueba ........................................................................ 21
1. Objetivos
1.1. General
Disear un modelo diferencial odomtrico de robot mvil.

1.2. Especficos
Utilizar la odometra para realizar la medicin de distancias.
Aplicar conocimientos de programacin aprendidos.
Realizar clculos correspondientes para el diseo de un modelo diferencial de
robot mvil.
Aplicar los conocimientos adquiridos en circuitos elctricos.

2. Introduccin
La odometra es el estudio de la estimacin de la posicin de vehculos con ruedas durante
la navegacin. Dicha estimacin se la realiza mediante instrumentos de medicin los
cuales se encargan de transmitir mediante alguna manera especfica pulsos, los cuales se
convertirn en la distancia que recorrern las ruedas del carro.
El control de motores se realiza mediante circuitos y microcontroladores o arduino que
guardar un programa especfico para la realizacin de movimiento, rotacin y paro de
los motores.
El robot mvil diseado debe realizar un cuadrado mediante el ingreso de una distancia
determinada, avanzar y realizar un giro de 90 grados para formar las esquinas del
cuadrado.
El proceso ms bsico para la Navegacin de un robot mvil se basa en el modelo
cinemtico del sistema de propulsin. Este sistema es el que permite al robot moverse
dentro de un determinado entorno. Uno de los sistemas ms usuales se basa en el uso de
ruedas de traccin diferencial, el cual es un sistema poco complejo y adecuado para la
navegacin en algunos entornos de desarrollo tpicos de actividades humanas, por
ejemplo oficinas, bodegas y otros. Las configuraciones de traccin diferencial, son muy
populares y permiten calcular la posicin del robot a partir de las ecuaciones geomtricas,
que surgen de la relacin entre los componentes del sistema de propulsin y de la
informacin de los codificadores rotativos que usualmente llevan acoplados a sus ruedas.
Este mtodo de localizacin se conoce como estimacin odomtrica.

3. Marco Terico
3.1. Odometra
Se define como el estudio de la estimacin de la posicin de vehculos con ruedas durante
la navegacin. Para realizar esta estimacin se usa informacin sobre la rotacin de las
ruedas para estimar cambios en la posicin a lo largo del tiempo. Este trmino tambin
se usa a veces para referirse a la distancia que ha recorrido uno de estos vehculos
(pudindose emplear otros sensores para su clculo, como la odometra visual).
3.1.1. En robtica
Los robots mviles usan la odometra para estimar (y no determinar) su posicin
relativa a su localizacin inicial. Es bien sabido que la odometra proporciona una
buena precisin a corto plazo, es barata de implantar, y permite tasas de muestreo
muy altas. Sin embargo la idea fundamental de la odometra es la integracin de
informacin incremental del movimiento a lo largo del tiempo, lo cual conlleva
una inevitable acumulacin de errores. En concreto, la acumulacin de errores de
orientacin, causa grandes errores en la estimacin de la posicin, los cuales van
aumentando proporcionalmente con la distancia recorrida por el robot. A pesar de
estas limitaciones, muchos investigadores estn de acuerdo en que la odometra
es una parte importante del sistema de navegacin de un robot, y que debe usarse
con medidas del posicionamiento absolutas para proporcionar una estimacin de
la posicin ms fiable.
La odometra se basa en ecuaciones simples que se pueden implementar
fcilmente y que utilizan datos de encoders situados en las ruedas del robot. Sin
embargo, la odometra tambin est basada en la suposicin de que las
revoluciones de las ruedas pueden ser traducidas en un desplazamiento lineal
relativo al suelo. Esta suposicin no tiene una validez absoluta. Un ejemplo
extremo es cuando las ruedas patinan: si por ejemplo, una rueda patina sobre una
mancha de aceite y la otra no, entonces el encoder asociado registrar revoluciones
en la rueda, a pesar de que stas no correspondan a un desplazamiento lineal de la
rueda. Adems de este ejemplo hay muchas otras razones ms sutiles por las
cuales se pueden producir imprecisiones en la traduccin de las lecturas del
encoder de la rueda a un desplazamiento lineal. Todos estos errores se pueden
agrupar en dos categoras: errores sistemticos, y errores no sistemticos.

Entre los errores sistemticos destacan

Los dimetros de las ruedas no son iguales.


La media de los dimetros de las ruedas difieren del dimetro de fbrica de
las ruedas.
Mal alineamiento de las ruedas.
Resolucin discreta (no continua) del encoder.
La tasa de muestreo del encoder es discreta.

Entre los errores no sistemticos se encuentran:

Desplazamiento en suelos desnivelados.


Desplazamiento sobre objetos inesperados que se encuentren en el suelo.
Patinaje de las ruedas debido a:
o Suelos resbaladizos.
o Sobre-aceleracin.
o Derrapes (debidos a una rotacin excesivamente rpida).
o Fuerzas externas (interaccin con cuerpos externos).
o No hay ningn punto de contacto con el suelo.

Una clara distincin entre errores sistemticos y no sistemticos es de gran


importancia a la hora de reducir los errores en la odometra. Por ejemplo, los
errores sistemticos son especficamente graves, porque se acumulan
constantemente. En muchas superficies no rugosas de entornos interiores, los
errores sistemticos contribuyen muchos ms a los errores en la odometra que los
errores no sistemticos. Sin embargo, en superficies que agarran bien con
irregularidades significativas, son los errores no sistemticos los que predominan.
El problema de los errores no sistemticos es que pueden aparecer
inesperadamente (por ejemplo cuando el robot pasa por encima de un objeto que
se encuentra en el suelo), y pueden causar errores muy grandes en la estimacin
de la posicin. Cabe destacar que muchos investigadores han desarrollado
algoritmos para estimar la incertidumbre en la posicin de un robot que utiliza
odometra. Segn estos enfoques, cada posicin calculada por el robot est
rodeada por una elipse de error caracterstica, la cual indica la regin de
incertidumbre para la posicin actual del robot.

4. Frmulas
4.1. Modelo odomtrico diferencial de robots mviles
El movimiento lo conseguimos aplicando ms o menos velocidad a cada una de las ruedas
motrices. De esta forma podemos hacer que el robot avance en lnea recta fijando ambos
motores a la misma velocidad, puede girar en una u otra direccin aplicando velocidades
diferentes, y hacindolas girar en sentido inverso, el robot girar sobre su eje.
El desplazamiento total del robot est dado por la siguiente expresin:

Donde:

D1 es el desplazamiento de la llanta izquierda.


D2 es el desplazamiento de la llanta derecha.

De la siguiente figura, los segmentos de arco D1 y D2 son parte de una circunferencia de


radio d+b.

Ilustracin 1 Segmentos de arcos descritos por el movimiento de las llantas

El permetro descrito por la circunferencia de radio (d + b) est dado por:


Donde:

C1 = Permetro de la circunferencia trazada por la llanta izquierda.


d = Distancia entre las llantas.
b = Radio de giro respecto al eje del robot.
ngulo de giro del robot.

Por otro lado, la razn de los ngulos centrales es igual a la relacin de los arcos que se
interceptan. En este caso se considera la relacin del segmento de arco D1 y el permetro
total de la circunferencia C1 y la relacin entre el ngulo de giro y el ngulo de toda la
circunferencia 2.
Esto es:

Esta expresin nos proporciona la orientacin del robot en funcin de los desplazamientos
de las llantas derecha e izquierda y es completamente independiente del camino que tome
el robot. La variable d en el denominador, en algunos casos puede representar una fuente
de error, debido a la incertidumbre del punto de contacto efectivo de las llantas como se
ilustra en la siguiente figura:

Ilustracin 2 Incertidumbre en punto de contacto de las llantas

Asumir que la distancia de separacin entre las ruedas es d, en algunos casos puede ser
inapropiada. Esto debido a irregularidades en la superficie de contacto de la llanta, adems
de la deformacin de la llanta del robot debido a su peso. El radio efectivo de la llanta Re
est en funcin de la deformacin, que se puede determinar empricamente.
Ilustracin 3 Radio efectivo de la rueda

Si expresamos el desplazamiento de la llanta en trminos del nmero de pulsos de los


decodificadores:

Donde:

N1 = Nmero de pasos del decodificador.


C1 = Nmero de pasos del decodificador por revolucin de la llanta.

Hasta aqu se tiene el ngulo de orientacin del robot. Para recuperar la posicin del robot
en el plano nos auxiliamos de la siguiente figura.

Ilustracin 4 Desplazamiento del robot


5. Diseo
5.1. Montaje de motores y encoder
En un principio se realiza el ensamblaje de las piezas que formarn el robot mvil, el
mismo que consta de una base plstica a la cual se asegurarn 2 motores acoplados a su
respectiva rueda, en la parte posterior se colocar una rueda libre la cual seguir el
movimiento del carro en la direccin que el mismo se mueva.
En una de las ruedas se colocar un disco y un encoder encargados de medir los cambios
de flancos (subida y bajada) para enviar pulsos que se convertirn en la distancia que
recorra dicha llanta de acuerdo al nmero de giros que realice la misma.

Ilustracin 5 Montaje de motores y encoder

Ilustracin 6 Suelda de cables para motores


Ilustracin 7 Conexin encoder a arduino

Segmento de Cdigo:

5.2. Teclado:
Se procedi a la conexin del teclado matricial Keypad 4x4, el mismo que ser el
encargado del ingreso de datos, los cuales sern la distancia a la que se desea llegar, la
cual ser considerada en milmetros. Al presionar el botn A, se aceptar el valor
ingresado, caso contrario no se tomar el valor ingresado.
Una vez que se ingresan los nmeros respectivos, el programa se encargar de transformar
este arreglo a un entero, el cual se convertir en nuestra distancia seteada. Mientras el
programa se encuentre en ejecucin no se podr ingresar valores mediante el teclado, la
nica forma de ingresar un nuevo valor es presionando la tecla B y posteriormente
realizar lo planteado antes.
Ilustracin 8 Conexin teclado matricial a arduino

Ilustracin 9 Teclado matricial

Segmento de Cdigo:
5.3. Control de Velocidad de motores
Para el control de velocidad de los motores se utiliz un puente H, a partir del integrado
comercial L293D, en el cual se especifica la conexin para la alimentacin y control de
2 motores:

Ilustracin 10 diagrama de bloques de funciones L293D

Basndonos en el diagrama se puede observar que se debe conectar en un Enable el motor


1 y en el otro Enable el motor 2, de la forma presentada:
Ilustracin 11 Control de 2 motores

Ilustracin 12 Circuito en protoboard del control de velocidad


Ilustracin 13 Control de 2 motores mediante puente H

A partir del circuito funcional probado en el protoboard, se procede a realizar la conexin


de los 2 motores y se coloca el mismo en una galleta.
Para este punto, se encontr que el desfase entre un motor y otro es de 30, por lo tanto si
al motor 1 se le coloca una velocidad de 130, al segundo motor se le debe colocar 100;
esto se debe a que uno rota a una velocidad angular mayor al otro.
En este apartado se generan las funciones de avance, paro y giro del vehculo, mediante
el uso de los motores para el mismo; la nica consideracin importante en este punto es
saber que para el giro a la derecha, el motor de la rueda izquierda debe avanzar con la
velocidad respectiva, mientras que el motor de la rueda derecha debe apagarse para que
as el carrito rote.

Ilustracin 14 Estado de motores para movimiento del robot


Segmento de cdigo:

5.4. Display LCD


El display LCD de 16x2, ser el encargado de mostrar resultados. En el display se
mostrar en un principio el nombre de la universidad y pedir que ingrese la distancia. La
conexin del display se realizar de la siguiente manera:

Ilustracin 15 Conexin display LCD a Arduino


Una vez que la distancia sea ingresada mediante el teclado, se proceder a mostrar el valor
seteado (ingresado por teclado) y la distancia recorrida por el carrito, a partir del encoder.

Ilustracin 16 Valores seteados y actuales mostrados en Display

Segmento de Cdigo:
Ilustracin 17 Pantalla LCD probada en Arduino

5.5. Vehculo completo


Finalmente una vez unidas todas las conexiones y segmentos de programa presentados en
los puntos anteriores se llega al modelo diferencial odomtrico de robot mvil.
Ilustracin 18 Modelo diferencial odomtrico de robot mvil presentado

Segmento de Cdigo:

Una vez colocados de forma correcta los cables y organizadas las conexiones, el modelo
diferencial odomtrico presentado y funcional se presenta de la siguiente forma:
Ilustracin 19 Modelo funcional

Ilustracin 20 Modelo presentado

6. Resultados
Para primero encontrar resultados se necesita previamente haber establecido algn
objetivo al que se desea llegar, el objetivo de este diseo es formar la siguiente secuencia:
Ilustracin 21 Trayectoria para modelo diferencial odomtrico

Las trayectorias descritas por el vehculo durante las pruebas fueron:

6.1. Prueba 1

Ilustracin 22 Trayectoria primera prueba


6.2. Prueba 2

Ilustracin 23 Trayectoria segunda prueba

6.3. Prueba 3

Ilustracin 24 Trayectoria tercera prueba

6.4. Prueba 4

Ilustracin 25 Trayectoria cuarta prueba


Para las pruebas en cuanto a rectitud que se realizaron, se tomaron en cuenta diferentes
superficies e inclinacin de la llanta posterior para verificar posibles errores que se pueden
presentar:

7. Errores
Aqu se proceder a mencionar los errores que se presentaron para cada una de las pruebas
realizadas.

7.1. Prueba 1:
El robot en este caso avanz en lnea recta hasta cumplir la distancia de seteo, sin embargo
al llegar a la misma realiz giros sin control por lo cual se lleg a la necesidad de apagar
el mismo para que se detenga.

7.2. Prueba 2:
Al correr el programa el robot comenz a dar giros sin control, nicamente alrededor de
su eje de giro, debido a que se encontraba prendido solamente uno de sus motores.

7.3. Prueba 3:
El robot inici un avance en lnea recta, sin embargo antes de llegar a la distancia
establecida, el mismo perdi pista y se encamin en una direccin que no era la
adecuada.

7.4. Prueba 4:
El robot complet su distancia establecida, realiz el giro de 90 grados, el mismo al iniciar
su avance comenz a dar vueltas sin control.

8. Posibles causas
En la mayor parte de errores las causas se generan debido a la programacin, o a la mala
ubicacin de una funcin dentro del programa, sin embargo en las pruebas 3 y 4 la causa
probable no se produce por un error de programacin, por lo contrario es un error en el
diseo del vehculo, en cuanto al colocar una rueda libre en la parte posterior, ya que la
misma desliza sobre las superficies y en caso de quedar girada despus de que el robot
haya realizado su rotacin de 90 grados, la misma realiza un desbalance en la trayectoria
del carrito y el mismo comienza a girar o a tomar una trayectoria ya no descrita como
rectilnea.

9. Soluciones
Para los casos de programacin la solucin fue releer el cdigo y buscar dnde se
encontraban las funciones mal ubicadas, eliminarlas o verificar dnde deberan
encontrarse.
Para la rueda libre se recomienda como solucin cambiar la misma por una rueda de bola,
la cual seguir al carrito y no crear los desbalances ni desfases en la trayectoria al
momento de avanzar.

10. Conclusiones
Del trabajo realizado se puede concluir que:
Para la seleccin de materiales de las llantas, se debe tomar en cuenta la superficie
sobre la cual se va a deslizar el modelo, pues se debe buscar que la friccin
presente sea mnima con el objetivo de reducir las posibilidades de una prdida
de pista o prdida de trayectoria.
Para la realizacin de la programacin e implementacin de los programas y
diferentes dispositivos, se simplifica el trabajo al realizar todo por segmentos,
separando a cada dispositivo de acuerdo a la tarea que el mismo va a cumplir
dentro del modelo.
La utilizacin de instrumentos de medicin como lo son encoders, para este
proyecto, permiten realizar aproximaciones de magnitudes que se desean medir,
a partir de pulsos o seales enviadas y codificadas por los mismos, en este caso la
magnitud a medir es distancia, la misma que se obtiene a partir de una frmula
matemtica la cual incluye los pulsos que se presentan por el encoder al girar la
rueda. Por tanto se puede apreciar la importancia de la odometra en posibles
estimaciones de la posicin de un robot mvil.
En este tipo de aplicaciones el consumo de energa por parte de los elementos que
lo constituyen es muy grande, de ah la necesidad de utilizar 2 bateras para la
energizacin del sistema por separado.
Un control de los motores mediante un mtodo de tanteo de valores no se
considera adecuado ya que dependiendo de la batera que se use para energizar al
arduino y a los motores, depender la velocidad con la que roten los mismos, por
tanto el dejar un valor estandarizado y nico no se aplica para todas las bateras.
Por tanto si se deseara aproximar a un mismo desfase en giro de los motores se
debe procurar la utilizacin de una misma batera para cada prueba.
La trayectoria que tome el carrito, depender de varios factores como es la
direccin de la llanta trasera, la superficie sobre la cual se haya colocado el robot,
en caso de que exista una pendiente el carro sufre tambin desviaciones.
El alcance en cuanto a distancia se ve afectado por una mala lectura del encoder,
o por un mal clculo de los pulsos que enva el encoder en un giro completo.
11. Recomendaciones
En base a los problemas presentados en este proyecto se recomienda:
Siempre leer el cdigo y la ubicacin de las funciones al momento de cargarlas
en el loop ya que esto produce que nuestro robot mvil no cumpla con la
trayectoria especificada.
Para cumplir el objetivo de formar un cuadrado, es necesario que la rueda
posterior sea cambiada por una de bola, con el fin que no provoque cambios en
la trayectoria y permita un correcto funcionamiento del robot.
Realizar varias pruebas con el fin de corregir los fallos en direccin,
programacin y armado de circuitos elctricos y conexiones, las mismas que se
recomienda ser probadas por etapas.
Se recomienda el colocar un encoder para la segunda llanta, con el objetivo de
realizar una comparacin entre velocidades y de esta forma compensar en caso
de que una de las llantas vaya a una velocidad mayor. Esto se realizara con fines
de control.

12. Bibliografa
Bautista Linares, E. (2014). Reporte de movimiento del robot diferencial.
Mario. (2011, Enero 7). Odometra. Retrieved from Errores de odometra :
http://www.tamps.cinvestav.mx/~mgomez/Odometria/node11.html
Valencia, J., Montoya, A., & Rios, L. H. (2009, Mayo). MODELO CINEMTICO DE
UN ROBOT MVIL TIPO DIFERENCIAL Y NAVEGACIN. Pereira,
Colombia.
Wikipedia.com. (2016, Febrero 25). Retrieved from
https://es.wikipedia.org/wiki/Odometr%C3%ADa

Você também pode gostar