Upload
nilton-ramos-esteban
View
15
Download
0
Embed Size (px)
DESCRIPTION
proyecto primer ciclo
Citation preview
UNIVERSIDAD NACIONAL DE INGENIERIA
CURSO : DESARROLLO CEDIMTEMA : ESTADO DE TECNOLOGIA
PROYECTO
1. PLANIFICACIÓN DE MOVIMIENTO EN ROBÓTICA MÓVILUTILIZANDO RETÍCULAS DE ESTADOS
2. ROBOT RECOLECTOR PARA LIMPIEZA DE PLAYAS EN AMBIENTE SIMULADO.
3. DISEÑO PROTOTIPO ROBOT EXPLORADOR MÓVIL CONTROLADO A DISTANCIA CON USO DE ANDROID, PIC16F627A Y BLUETOOTH RN-42.
4. DISEÑO Y CONSTRUCCION DE ROBOT PARA MAPEO Y EXPLORACION DE MINAS SUBTERRANEAS.
INTEGRANTES :
MORENO ASTO GUSTAVOQUISPE VELAZQUES BRIANRAMOS ESTEBAN NILTONVALVERDE HUERTA LIDER ULISES
Lima, 10 de abril de 2016
PLANIFICACIÓN DE MOVIMIENTO EN ROBÓTICA
MÓVILUTILIZANDO RETÍCULAS DE
ESTADOS
Presentada por:Adrián González Sieira
Dirigida por:Dr. Manuel Mucientes Molina
Santiago de Compostela, Julio de 2011
Disponible en: http://persoal.citius.usc.es/adrian.gonzalez/pdf/Gonzalez-Sieira11_thesis.pdf
1) PROBLEMA Y SOLUCIÓN
La planificación de movimiento en robótica tiene como finalidad la generación de un conjunto de acciones que permitan a un robot móvil moverse a través de entorno conocido o desconocido para alcanzar uno o más objetivos partiendo de su posición inicial. Una de las tareas más comunes que se pueden resolver mediante la planificación de movimientos es la navegación en entornos con gran número de obstáculos estáticos y/o dinámicos.
Para abordar el problema se necesitará forma un mapa para obtener información acerca del entorno del robot; así mismo este deberá ser modificable a tiempo real, ya que en base a este el algoritmo de planificación encontrará la ruta óptima que conecta hacia el objetivo. Después de haber encontrado la trayectoria, esta será enviada al controlador, que envía comando de movimientos al robot.
2) ALGORITMOS DE PLANIFICACIÓN
A. Técnicas de geometríaEsta aproximación está basada en la diferenciación de las zonas libres del entorno y las ocupadas, manteniendo una representación del entorno que permita el cálculo de rutas en las regiones etiquetadas como libres. Estos algoritmos son completos, siempre y cuando cumplan las siguientes condiciones:
Accesibilidad: Dos puntos cualesquiera del espacio libre están conectados entre sí por una ruta libre de obstáculos.
Conservación de la conectividad: Es posible representar el espacio libre de obstáculos mediante un grafo donde todas las rutas entre puntos del espacio libre estén presentes como conexiones entre nodos del grafo.
Para algunos problemas de planificación, algoritmos basados en este método son completos e independientes, cuyas implementaciones son muy eficientes y ofrecen resultados con un tiempo de computación mucho menor, pero en problemas donde existe gran número de obstáculos su representación requiere una gran capacidad computacional, y puede llegar a ser imposible encontrar una solución al problema en un tiempo razonable.
B. Campos de potencialSe utilizan para decidir cuál es la dirección más prometedora en cada instante para alcanzar la meta. Para conseguirlo, utilizan la teoría de los campos eléctricos y el robot. Una de las principales ventajas de estos métodos es que consiguen resolver problemas en entornos simples utilizando muy pocos recursos computacionales. Por contrapartida, no son métodos muy recomendables para abordar la resolución de
problemas complejos, puesto que el método no es robusto ante posibles mínimos locales.
C. Algoritmos basados en muestreoTratan de resolver el problema representando el espacio a partir de un esquema de discretización.Este tipo de aproximación se puede considerar como la más exitosa de todas las que se encuentran en el estado del arte de la planificación de movimientos.Algunos de los métodos que se han descrito anteriormente, como los basados en combinatoria, aseguraban que si una solución existía, sería encontrada en un tiempo finito. Los algoritmos basados en muestreo no son, en este sentido, completos, y la resolubilidad del problema depende del concepto de densidad; sí son, sin embargo, probabilísticamente completos, lo cual significa que, con un número suficiente de puntos, la probabilidad de encontrar una solución existente tiende a 1.
3) MÓDULOS IMPLEMENTADOS
A. Módulo de actualización de mapaPermite la construcción del mapa del entorno, la carga de información a partir de un fichero de mapa, y su actualización en tiempo real.
B. Módulo de planificaciónPermite la obtención de una ruta que conecta el estado actual del robot con el punto objetivo.
C. Módulo de generación de trayectoriasPermite la obtención del conjunto de trayectorias primitivas que conectan los diferentes estados del robot.
D. Módulo de generación de la tabla HLUT para la heurística FHS.
E. Módulo de controlPermite extraer del camino generado por el planificador el conjunto de órdenes de control que permiten realizarlo, detecta en qué momento hay necesidad de replanificar el camino, y envía los comandos de movimiento a los motores del robot.
F. Módulo de visualizaciónPermite ver en forma gráfica el mapa del robot, el estado en el que se encuentra, y la ruta generada por el planificador.
G. Módulo de visualización de las trayectorias primitivasPermite ver gráficamente todas las trayectorias primitivas generadas, y los detalles de cada una de ellas. Algunas de las herramientas que proporcionan los módulos implementados son ejecutadas de forma offline al proceso de planificación, como la generación de las trayectorias primitivas, la generación de la tabla HLUT, o la visualización de las trayectorias primitivas.
4) MAPEO
En primer lugar, es necesario definir si una determinada posición está libre u ocupada. Lo habitual es trabajar con mapas de ocupación discretizados.
Por ello, se define el mapa como un conjunto de celdas de tamaño determinado. Cada una de las celdas afecta a una región cuadrada del espacio, y contiene información sobre su probabilidad de ocupación, que se determina en función del número de veces que esa celda ha sido vista por los sensores del robot como libre u ocupada.
El mapa del entorno se construye inicialmente de tal forma que la posición inicial es la (0, 0), y el resto de posiciones se establecen de forma relativa a ésta. Para hacer la operación de actualización del mapa global realmente eficiente, y que el tiempo de actualización no escale con su tamaño, se utiliza un segundo mapa de dimensiones más reducidas, que abarca toda la zona alrededor del robot y con un radio igual al alcance de los sensores del robot.Para cada celda se calcula el ángulo mínimo y máximo que forma respecto a la posición del robot. Este intervalo define el conjunto de haces de los sensores que pasan a través de ella, y por tanto ofrece información acerca de su grado de ocupación. El haz seleccionado para cada celda será aquel que pase más cercano al centro. Una vez conocido, se calculan los puntos de corte con los lados de la celda, y se seleccionan los dos más cercanos al centro de la misma.
Si dmedida > dmax, celda libre. Si dmedida<dmin, estado no conocido, ya que el valor de la medida no la alcanza.
Si dmedida_dmin y dmedida _ dmax, celda ocupada..
Para actualizar el mapa global, se define un número máximo de actualizaciones (nact) que van a ser tenidas en cuenta para el cálculo de la probabilidad de ocupación (pocc). Este factor determina el número de veces que es necesario actualizar la celda para que tenga pocc = 1. La probabilidad de ocupación de una celda se calcula como:
Cuando la suma del número de veces que la celda ha sido vista como libre (nfree) y como ocupada(nocc) es menor que el factor nact, el proceso de actualización se reduce a actualizar estos valores según el nuevo estado de la celda. Cuando se alcanza dicho umbral, es necesario ajustar los valores, tal y como se describe en el algoritmo 1.Para simplificar la información que contiene el mapa de cara al proceso de planificación, se transforma la probabilidad de ocupación, pocc de cada una de las celdas en un conjunto predefinido de estados:
Celda ocupada: pocc > 0,8Celda desconocida: 0,2 < pocc < 0,8Celda libre: pocc 6 0,2
La inicialización del mapa asume que la probabilidad de ocupación inicial de las celdas es 0,5, lo que se corresponde con un estado de desconocimiento. Sin embargo en algunas ocasiones, el entorno es conocido a priori, por lo que el
módulo de gestión de mapas permite cargar ficheros ppm con el mapa del entorno.
5) PLANIFICACIÓN
En este proyecto, la planificación de rutas se ha resuelto con un algoritmo Anytime Dynamic A* (AD*), que es un algoritmo de búsqueda que se ejecuta sobre un grafo dirigido, capaz de producir soluciones con un determinado nivel de sub-optimalidad en un tiempo muy rápido, y que se va mejorando en sucesivas iteraciones del algoritmo.
A. Discretización del espacio de búsquedaEn este proyecto, se ha utilizado una discretización especial del espacio de estados del robot, que permite formular el problema de la planificación como un grafo dirigido.En ese grafo, los nodos son todos los estados alcanzables por el robot, y los arcos son los movimientos que permiten transitar entre distintos estados.La retícula de estados requiere establecer unos valores de resolución, los valores de resolución utilizados en este proyecto son 5 variables diferentes (x, y, θ ;ω; v)Cuanto menor sea la resolución utilizada para discretizar, más capacidad de planificación se pierde, ya que los estados están más distantes entre sí y en entornos que requieren de maniobras más precisas podría fallar.
B. Generación de las trayectorias primitivasUna vez definida la discretización del espacio de búsqueda es necesario definir la conectividad que tienen los estados entre sí, mediante un conjunto de trayectorias primitivas. Este conjunto de trayectorias contiene todos los posibles movimientos realizables por el robot entre nodos vecinos. Después se deberá ejecutar el algoritmo AD* de forma eficiente para estudiar el camino óptimo libre de obstáculos entre el nodo de inicio y de fin.
C. Coste de transición entre estadosLa función de coste de transición entre dos estados del robot asigna pesos a los arcos del grafo dirigido que forma el espacio de búsqueda. Para este proyecto se ha diseñado esta función de tal forma que el coste sea una combinación de dos variables
coste(s, s0) = pesoceldas trayectoria(s,s0) × tiempotrayectoria(s, s0)
Estado PesoLibre 1Ocupada ∞Desconocida 1000
D. HeurísticaLa heurística guía al algoritmo de búsqueda y prioriza los nodos que se van a expandir a continuación. Una buena heurística permite encontrar la solución al problema de una forma eficiente y muy rápida, minimizando el número de nodos que son expandidos por el algoritmo de búsqueda hasta su finalización y, con ello, el tiempo de computación necesario.En este proyecto, se ha optado por utilizar dos heurísticas diferentes:
H2D: Representa el coste del camino que hay entre dos posiciones del mapa, teniendo en cuenta la información sobre el grado de ocupación de las celdas.
FSH: Representa el coste del camino que hay que seguir para transitar entre dos estados del robot, sin tener en cuenta el grado de ocupación de las celdas del mapa, asumiendo que todo el espacio es libre.
6) CONTROL
El módulo de control se ha diseñado de tal forma que el robot esté inactivo mientras no haya una solución válida disponible en el planificador. Una vez que existe una ruta planificada, el módulo de control comienza la exploración de la solución en el estado inicial, y envía cada tc un comando de movimiento a los motores del robot, formado por una pareja de valores de velocidad: (vt, ωt).
Estos valores se extraen de los perfiles de velocidad asociados a las distintas trayectorias que conectan los estados del robot devueltos por el planificador como solución.
Este módulo también detecta cuándo se produce una situación en la cual es necesario replanificar.En concreto:
El estado del robot no se corresponde con el que debería estar según la ruta planificada, al acabar de realizar una trayectoria primitiva. Este tipo de situaciones se generan cuando el robot se desvía de la trayectoria original, por pequeños errores en la aplicación de los comandos de movimiento que se acumulan a lo largo del tiempo.
Se detecta un cambio de costes en la ruta planificada, y es necesario actualizar la solución para asegurarse de que el camino planificado sigue siendo realizable, y no se han descubierto otras rutas mejores.
La solución generada tiene un determinado nivel de suboptimalidad (ε > 1) y es posible mejorarla.
En estos casos el módulo de control envía una orden al planificador para que recalcule la ruta desde el estado actual hasta el objetivo. Cuando se recibe la nueva solución, continúa enviando comandos de movimiento. Cuando el punto objetivo es alcanzado, este módulo envía una orden de finalización al resto de los módulos en ejecución.
7) CONCLUSIONES
Se ha implementado un módulo de gestión de mapas, capaz de cargar información de ficheros de imágenes para poder planificar en base a ella sin tener que partir de un total desconocimiento del entorno del robot. Este módulo permite además la actualización en tiempo real del mapa de la zona que almacena el robot basándose en la información recogida por los sensores.
El módulo de planificación implementado es capaz de obtener soluciones entre el estado actual del robot y el objetivo basándose en la información contenida en el módulo de gestión de mapas, y ajustando el nivel de optimalidad de la solución al tiempo disponible para su cálculo. Los reajustes realizados sobre soluciones previas utilizan la información de cálculos anteriores y obtienen nuevas soluciones partiendo de las anteriores en un tiempo muy corto.
El módulo de control utiliza la solución obtenida del planificador para extraer los comandos de movimiento que deben ser enviados a los motores del robot. En paralelo a este proceso, se realizan también comprobaciones sobre el mapa y al estado actual del robot para detectar posibles necesidades de replanificación que alterasen el proceso de control, debido a la necesidad de calcular una nueva solución desde el estado actual del robot.
Se ha implementado además un módulo de generación de trayectorias primitivas, que es la base del proceso de planificación para la generación de soluciones que cumplan con las restricciones de movimiento del robot, y otro módulo de generación de la tabla HLUT para utilizar en el cálculo de la heurística FSH.
Se ha desarrollado un módulo de visualización que permite ver de forma gráfica y en tiempo real el estado del mapa, de las expansiones realizadas por el algoritmo de búsqueda del planificador, de la solución obtenida y el estado actual del robot; y otro módulo de visualización diferente para explorar las trayectorias primitivas en detalle.
ROBOT RECOLECTOR PARA LIMPIEZA DE
PLAYAS EN AMBIENTE SIMULADO.
Disponible en: http://www.natalnet.br/lars2013/LARC/Artigo17.pdf
I. INTRODUCCIÓN
La robótica es la rama de la tecnología que se dedica al diseño, construcción,
operación, disposición estructural, manufactura y aplicación de los robots. Este campo
combina diversas disciplinas como lo son: mecánica, electrónica, informática,
inteligencia artificial e ingeniería de control, entre otras.
En esta línea, un robot es una entidad física o virtual, en general un sistema
electromecánico que por su apariencia o movimientos pareciera tener un propósito.
Los robots se clasifican de diferentes maneras, la más utilizada es la que se basa en
su arquitectura, en este ámbito, un robot móvil está provisto de patas, ruedas u
orugas que debido a su programación le es capaz de desplazarse en diferentes tipos
de terrenos, éstos elaboran la información que reciben a través de sus propios
sistemas de sensores y se emplean en determinado tipo de instalaciones industriales,
sobre todo para el transporte de mercancías en cadenas de producción y almacenes,
además se utilizan en investigación y exploración.
Para el diseño e implementación de un robot se deben tener en cuenta diferentes
factores no triviales, como por ejemplo la navegación y manipulación de objetos,
además se debe lograr un correcto posicionamiento, evitando la acumulación de
errores producto de la medición de los sensores.
II. DESAFIO
El desafío consiste en la construcción de un robot que ayude en la limpieza de las
atiborradas playas de Sudamérica. El escenario de la competencia simula un
segmento circular de la playa con elementos habituales presentes en éstas (arena
irregular, personas, basura y accesorios comunes). El robot debe recolectar en forma
autónoma un máximo de 20 latas de bebida pintadas de color negro - que representan
la basura- y ubicadas en forma aleatoria sobre el escenario. Por otro lado, para
cumplir su objetivo el robot debe ser capaz de evadir obstáculos, los cuales son un
maniquí, una sombrilla de playa y una silla (ver Fig. 1), además luego de capturar las
latas debe depositarlas en un contenedor (aro de color rojo) ubicado sobre la arena
evitando salirse del escenario.
Fig. 1. Escenario Categoría Libre - Robot limpiador de playa.
III. SISTEMA ROBOT MÓVIL
El robot propuesto en este documento, tiene como objetivo: identificar, manipular
objetos y navegar en ambientes con alto grado de incertidumbre, para lograr esto se
incorporan una serie de sensores, controladores y actuadores para conformar en su
conjunto un robot autónomo capaz de lograr el desafío expuesto en el punto anterior.
En la Fig. 2. se presenta el diagrama de las componentes del robot y como éstas se
comunican entre sí.
Fig. 2. Diagrama Modular de la Plataforma
El sensor RGB-D, el Controlador Auxiliar Primario y el Brazo Robótico están
directamente conectados al Controlador Principal a través de USB, lo que permite a
éste manejar en forma local el estado global del robot. El Controlador Principal recibe
información de navegación de los sensores, la procesa y envía una acción
determinada Puente H.
El Controlador Auxiliar Primario cumple la función de puente entre el Controlador
Principal y los demás elementos (actuadores y sensores) del sistema, recibe
información en forma análoga del Sensor IR y en forma digital del Switch & Botón, a la
vez controla los Motores DC a través de un Puente-H con pulsos digitales de ancho
variable (PWM) y también controla los Servo-Motores.
El sistema de alimentación consta de dos baterías LiFe, una de 7.2 V que proporciona
energía para los Motores DC y el Controlador Principal y otra de igual voltaje para los
Servo- Motores que conforman el Brazo Robótico.
A. Controlador Principal
La Fit-PC2 es una computadora de bajo peso, pequeñas dimensiones y eficiente
energéticamente. Por estas características es que se eligió este sistema como
Controlador Principal para ir montado sobre el Robot.
Para este desarrollo, se modificó el disco duro HDD por uno SSD para evitar los
reinicios de la computadora producto de los movimientos bruscos de la plataforma.
Además, se instaló un Sistema Operativo Debian 6 "Squeeze" que ofrece las ventajas
de rendimiento, soporte y repositorios de los Sistemas Operativos Open Source:
MODELO Fit-PC2
CPU Intel Atom Z530 1.6 Gz
RAM 1GB DDR2-533
DISCO DURO 60 GB SSD 2.5” SATA
GRÁFICOS Intel GMA500
RED 1000Base T Ethernet
OS Debian 6 "Squeeze"
ALIMENTACIÓN 8-15V
CONSUMO DE ENERGIA 6W a baja carga de CPU 8W
a alta carga de CPU 0.5W en
estado libre.
DIMENSIONES 101 x 115 x 27 mm
MASA 370 gr - Incluido Disco Duro
Tabla. 1. Características Controlador Principal
Las ventajas que presenta utilizar un mini-computador como Controlador Principal es
que permite procesar en forma local las imágenes obtenidas del sensor RGB-D,
centralizando el procesamiento para lograr una programación y prueba de algoritmos
más eficiente, ya que esto se hace sobre el mismo robot. Por otro lado, la capacidad
de conectarse por medio de un cable Ethernet o Wifi a la plataforma nos proporciona
libertad y velocidad en las pruebas en terreno.
B. Controlador Auxiliar
Micro Controlador Arduino:
Arduino [2] es una plataforma electrónica de código abierto compuesto por un micro
controlador, un lenguaje de programación y una IDE. Arduino es una herramienta para
hacer aplicaciones interactivas diseñadas para simplificar estas tareas a los novatos
pero lo suficientemente flexible para que expertos desarrollen proyectos complejos.
Para este proyecto se utiliza un Arduino Duemilanove (Ver Fig. 4.) que trabaja con
un micro controlador basado en el ATmega168 o el ATmega328. Tiene 14 pines
con entradas/salidas digitales (6 de las cuales pueden ser usadas como salidas
PWM), 6 entradas analógicas, un cristal oscilador a 16Mhz, conexión USB, entrada de
alimentación, una cabecera ISCP, y un botón de reinicio. Se Alimenta con 5V
directamente desde el Controlador Principal, además por esta vía (USB) se realiza la
comunicación entre los dos dispositivos.
Fig. 4. Arduino Duemilanove
Para lograr una mejor interconexión de los componentes se construye una PCB para
conectar al Controlador Auxiliar Primario (Arduino Duemilanove), se realiza el diseño
en el software EAGLE [3] y se construye a por medio de una Mini- CNC.
A continuación se presenta el diseño en software
de la PCB.
Fig. 5. Diseño PCB en software EAGLE
C. Sensor RGB-D Cámara Asus Xtion PRO LIVE:
La cámara Asus Xtion PRO LIVE [4] es una cámara RGB con un sensor de
profundidad en 3D que funciona a través de una luz y detector, ambos
infrarrojos. El sensor provee acceso a dos imágenes, una RGB y también a una
imagen de profundidad en 3D. El uso de una combinación de ambas imágenes
provee un nivel razonable de capacidad para el reconocimiento de objetos. En
la Fig. 7. Se observa una imagen frontal de la cámara indicando sus
respectivos sensores.
Fig. 6. Parte frontal de la cámara ASUS Xtion PRO LIVE,
se destaca la cámara RGB, el detector IR, la luz IR y los
micrófonos
Para obtener acceso a los sensores de la cámara RGB-D se utiliza como interfaz un
Software llamado OpenNI [5], éste marco provee la interfaz para el dispositivo físico y
los componentes del “middleware”. La API permite que los módulos se registren en el
marco OpenNI y sean utilizados para producir los datos sensoriales. La selección del
módulo de hardware o “middleware” es fácil y flexible.
Se utiliza un sensor RGB-D para poder obtener una visión tridimensional del
escenario, así luego de un tratamiento de imágenes poder detectar los obstáculos y
los elementos objetivo (latas).
Otros sensores:Switches y Botones:
Un Switch estándar de dos y tres estados es usado para apagar la fuente de poder e
inicializar el programa principal. Además se implementa un botón de parada rápida.
Brazo Robótico
AX-12 Smart Robotic Arm: El AL5D [6] es un brazo robótico de 5 grados de libertad,
posee retroalimentación de posición, voltaje, corriente y temperatura, la comunicación
se realiza mediante USB con el Controlador Principal (Fit-PC2). Para este trabajo se
utiliza la base, el hombro y el codo del brazo para utilizarlo como canasto.
Fig.t 7. AX-12 Smart Robotic Arm
El Brazo Robótico debe tener la capacidad de realizar movimientos para capturar las
latas y dejarlas en el depósito, el encargado de obtener la ubicación de éstas es el
Controlador Principal al procesar las imágenes entregadas por la cámara RGB-D. Se
utilizan algoritmos de Cinemática Inversa para obtener un movimiento del brazo hacia
un punto del plano cartesiano en forma transparente, ósea a la entrada tener una
posición {x,y,z} y en la salida obtener un conjunto {x',y',z'}, sin la necesidad de entregar
valores de ángulo para los servomotores involucrados en el movimiento del brazo.
Motor DC
El desplazamiento del robot móvil está basado en cuatro motores DC "Metal
Gearmotor 25Dx56L" de 6 V cada uno, para controlar la dirección y velocidad de estos
motores, se utiliza un Puente H (Ver Fig. 9.) conectado al micro- controlador principal y
a una batería Ni-Mh de 7.2 [V].
Las especificaciones de los motores son las siguientes:
RPM 33rpm
TORQUE 172:1
DIAMETRO DE SALIDA 12.25 Kg-cm
MASA 105
ALIMENTACION 6 vdc
Tabla. 2. Especificaciones Motor DC - Gear Head Motor @6V
Fig. 8. Puente H - RoboClaw 2x5
IV. RESULTADOS
A. ESTRUCTURA
La estructura del Robot se compone principalmente por tres partes:
1. Una base de acrílico compuesta por dos orugas, que permiten el
desplazamiento del robot en el terreno propuesto por la competencia.
2. Brazo Articulado que permite el agarre de las latas.
3. Sistema de Visión compuesto por una cámara RGB-D. En la Fig. 11. muestra
una imagen de la plataforma construida.
Fig. 9. Plataforma Robótica - ROVER
B. Software
Para lograr la autonomía y control del robot se necesita implementar diferentes
algoritmos computacionales en los módulos detallados en la sección III, ahora se
analiza cada uno de los elementos programados.
1. Procesamiento Digital de Imagen:
Dado el limitado procesamiento de cómputo, se optó por procesar dos imágenes
2D a una 3D. Por lo que del sensor RGB-D se obtienen dos imágenes 2D a
procesar: (i) una imagen RGB, la cual permite identificar cada elemento (latas y
obstáculos) y detectarlos en un plano x,y. (ii) la segunda imagen corresponde a
una estimación de la profundidad especial de lo capturado por el sensor, lo que
permite obtiene una distancia Z de los elementos capturados en la primera imagen
(RGB). En la Fig. 8 se presenta el resultado del procesamiento de imagen para
detectar una lata.
Fig. 10. Resultado Algoritmo de Detección
Se utiliza C++ para procesar los datos capturados por el sensor de imagen, se utilizan
dos algoritmos diferentes dependiendo del uso de los datos. En el caso de detección
de obstáculos se utiliza una línea horizontal fija y se divide en cuatro secciones, por
otro lado (Ver Fig. 13.), para la detección de latas se implementa un algoritmo que
detecta la forma del objeto y entrega la posición de éste.
Fig. 11. Diagrama Detección de Obstáculos
2. Navegación y Manipulación:
Con los datos obtenidos por los sensores, el controlador principal debe procesar la
información para generar rutas de navegación y órdenes de manipulación a los
actuadores del robot.
Para la Navegación se utiliza Lógica Difusa en la evasión de obstáculos y un control
PI por software para el seguimiento de las latas.
Para la manipulación de objetos se implementan algoritmos programados en C++ que
permiten hacer la Cinemática Inversa del Brazo. El Controlador Principal obtiene
desde la cámara la posición en {x,y,z} del objetivo y la envía al controlador del brazo
para que genere el movimiento adecuado de los servo-motores.
Controlador Auxiliar 1
Este controlador está programado en modo esclavo para el Controlador Principal,
recibe órdenes, ejecuta las instrucciones como leer datos del sistema de Sensores y
envía órdenes a los actuadores (Motores y Servos). Para poder efectuar una correcta
comunicación se generó un protocolo de comunicación.
Se comunica con el Puente H para generar el movimiento de los Motores, los cuales
son principalmente Hacia Adelante y Hacia Atrás, con una determinada velocidad dada
por una salida digital PWM, de esta forma se hacen las combinaciones necesarias
para lograr un set de movimientos suficientes.
Protocolo de comunicación
El protocolo de comunicación permite comunicar el Controlador Principal - la FitPC 2 -
con el Controlador Auxiliar 1. Dependiendo del actuador o sensor, el paquete de
datos es codificado en el extremo transmisor y decodificado en el receptor. El
protocolo permite enviar/recibir paquetes de largo fijo en bytes, en forma segura y
confiable, principalmente por medio de banderas de inicio y fin de datos, además de
métodos de comprobación de largo de paquete.
e desarrolla una librería en C que soporta la interfaz entre el Controlador Principal y los
periféricos (actuadores, sensores), en detalle esta librería implementa funciones de
comunicación entre la Fit-PC2 y el micro-controlador Arduino utilizando comunicación
Serial.
V.
VI. CONCLUSIONES
Se presentó el diagrama general y los componentes específicos que componen
un robot para cumplir el desafío de una competencia de Robótica. Además, se
explicó la función que cumplen cada uno de los módulos de la Plataforma y la
justificación de su elección.
El diseño y construcción de una Robot para una competencia o concurso
implica una elección cuidadosa de los componentes a utilizar y un
conocimiento profundo del problema a resolver, por ejemplo la decisión de
utilizar orugas o ruedas normales en el movimiento del robot debido a la
composición irregular y de partículas sueltas del terreno.
Se deben tener en cuenta en la etapa de diseño diversos factores, entre ellos
el tiempo requerido en la construcción y programación del Robot, también
recursos disponibles y el método de trabajo a utilizar.
En el estudio de la Robótica y/o su aplicación en la resolución de problemas se
presenta la oportunidad de profundizar en áreas muy importantes en Ingeniería
como lo es la Electrónica, Informática y Mecánica, integrando estas tres
disciplinas para cumplir un objetivo específico.
V. BIBLIOGRAFIA Reglas Categoría Abierta LARC 2013
http://ucsp.edu.pe/lars2013/?page_id=135&lang=es
EAGLE
http://www.cadsoftusa.com/
ASUS Xtion PRO LIVE Camera
http://www.asus.com/Multimedia/Motion_Sensor/Xtion_PRO_LIVE/
OpenNI
http://openni.org/
Alejandro Homes Ovando, Jimmy Toro Marianjel, Cristobal Barrientos Low -
Robot Recolector para cumplir desafío LARC 2012
http://www.uaeh.edu.mx/scige/boletin/huejutla/n3/a1.html
DISEÑO PROTOTIPO ROBOT EXPLORADOR MÓVIL CONTROLADO A DISTANCIA CON USO DE ANDROID,
PIC16F627A Y BLUETOOTH RN-42
Se presenta el prototitpo de un carro explorador controlado a distancia mediante
dispositivo móvil que usa sistema operativo android 4.0 y uso de pic, y modulo
bluetooth. El prototipo propuesto tiene la capacidad de enviar imágenes y video
mediante cámara Ip Foscam Fi8907w, usado para ambientes de difícil acceso.
En el siguiente listado se muestra de manera general los componentes del prototipo:
1) Módulo bluetooth RN-42: utiliza un enlace de radiofrecuencia entre
2.402 – 2.48 GHz.
Observación:
¿Cómo puedo llevar a la práctica la teoría de Fresnel para conseguir el máximo alcance de mis dispositivos RF?Debemos mantener despejado, al menos, el 80% de la primera zona de Fresnel.
Fijémonos en el siguiente dibujo:
En color gris se representa a la primera zona de fresnel. Es decir para conseguir
comunicarnos a una distancia D con una señal portadora de frecuencia f, debemos
conseguir que la altura r de la primera zona de Fresnel (o al menos el 80% de r) esté
libre de obstáculos.
Visto desde otro escenario, imaginemos que estamos en el desierto en ausencia de
cualquier tipo de edificio, árbol u obstáculo entre emisor y receptor.
El fabricante nos dice que el alcance máximo de un dispositivo son X metros. ¿Cuál es la distancia respecto al suelo a la que hemos de colocar las antenas para conseguir no entorpecer al menos el 80% de la primera zona de fresnel y conseguir el máximo alcance?
Al aplicar la fórmula de ahí arriba (D en Km, r en metros, f en Ghz) nos sale que si un
fabricante nos dice que la distancia máxima de su dispositivo que trabaja por ejemplo
a 2.4Ghz es de:
300 metros, implica que las antenas tienen que estar como mínimo a 2.45 metros de altura respecto al suelo.
1.6 kilómetros, implica que las antenas tienen que estar por lo menos a 5.65 metros de altura respecto al suelo.
8 kilómetros, implica que las antenas tienen que estar por lo menos a 12.64 metros de altura respecto al suelo.
16 kilómetros, implica que las antenas tienen que estar por lo menos a 17.88 metros de altura respecto al suelo.
Herramientas utilizadas en la configuración del módulo bluetooth RN-42.
HyperTerminal emulador de terminal.
Ordenador con bluetooth integrado
Módulo de Bluetooth RN-42 para Microcontroladores.
Protoboard.
Fuente de alimentación 5v.
Finalmente en el paper muestran la configuración del módulo bluetooth RN-42, donde
mencionan como sincronizar el módulo con el computador.
Conexión del módulo bluetooth RN-42.
2) Microcontrolador Pic16F627A.
Programación del PIC16F627A
Material utilizado para programar el PIC:
Ordenador
PIC16F627A
Programador USB para microcontroladores.
Master Prog (software).
MPLAB (Software).
Finalmente en el paper se muestra los pasos para programar el PIC un
ordenador el resto de materiales mencionados para conseguir grabar el código
al PIC.
Construcción de la base y el circuito del prototipo.
Fase 1: Base para el prototipo
Se construye la estructura que conforma en mayor parte el prototipo robótico de
exploración con:
3) Base universal de plástico
4) Motorreductor Doble (dos motores giro independiente) 3v a 6v corriente
continua.
5) Sistema de oruga, consiste en un juego de ruedas (dentadas, lisas) y
bandas de plástico.
6) Porta baterías AA (4 baterías).
Procedimiento:
1. Situar el Motorreductor sobre la base universal de plástico.
2. Incorporar el sistema de oruga, permite que el prototipo avance. Los
motores son de giro totalmente independiente, esto contribuye a la rotación
hacia ambos según sea el caso.
3. Se incorpora el porta baterías.
Armado del circuito
El circuito está conformado por los siguientes componentes:
Protoboard.
7) Capacitor electrolítico (Radial) de aluminio, de 1000 uF.
8) capacitores Cerámicos 100nF.
PIC16F627A.
9) Puente H L293B.
Módulo bluetooth RN-42.
Diagrama del circuito
Extraído de:
Piedra, M. A. (03 de Agosto de 2010). Mexatronica. Recuperado el 27 de Marzo de
2013, de Mexatronica: http://foros.mexatronica.com
Diagrama pictórico vehículo explorador
Proceso:
Situar los componentes (Modulo bluetooth, PIC16f627a, Puente H) sobre la protoboard
para conectarlos mediante cabos de cobre, como se muestra en la Figura.
Las señales análogas a digitales son canalizadas atreves de los pines TX-0 Y RX-1
(pines de salida del módulo) para ingresar por los pines RB-1 y RB-2 (pines de entrada
del pic).
Este tipo de transmisiones se realiza de manera serial, significa que los bits que
componen cada carácter se transmiten en “n” ciclos de 1 bit cada uno, hasta completar
cada carácter.
Dentro del PIC se procesa la señal emitida, decodificándose para trasladarse al
Puente H, proceso en el cual se involucran los puertos RA0, RA1, RA3, RB3 (pines de
salida, Pic16f627a) y los puertos IN1, IN2, IN3, IN4 y EN12 (pines de entrada, Puente
H L293B).
La función del driver de manejo o Puente H dentro del circuito, es controlar la polaridad
de corriente que deba salir por sus respectivos pines OUT1, OUT2 para el motor 1 y
OUT3, OUT4 para el motor 2.
Para finalizar el ensamble se colocan los capacitores conforme es señalado en el
circuito se sitúan de tal manera que estabilicen las tenciones eléctricas, provenientes
de la:
10) fuente de alimentación de 5v
Nota:
PIC16F627A del fabricante MICROCHIP Inc, es un CMOS de 8 bits, tiene un
empaquetado DIP de 18 pines, una memoria programa de 2KWords, una memoria
RAM de 224 registros, su memoria EEPROM de 128 bytes, cuenta con un puerto seria
USART, cuenta con un oscilador interno de 4MHz capaz de soportar un oscilador
externo hasta de 20MHz, preparado para 32 instrucciones.
PIC16F627A
Este proceso no es tan complicado ya que se aprendió una parte en el curso de
DESARROLLO.
Implementación de la cámara ip
Posee la ventaja de capturar imágenes en tiempo real y transmitirlas directamente a la
red sin necesidad de un ordenador.
El modelo de la cámara Ip Foscam Fi8907w Wifi Audio Night Vision Nocturna
compatible con navegador indistinto [2].
Se alimenta eléctricamente mediante una pila de 9v, para ello se adecuo un adaptador
especial para dicha conexión. Utilizando soportes de metal liviano para el montaje
sobre el chasis del prototipo.
Para la visualización del video se asigna una dirección IP para la cámara, la cual se
coloca en el navegador, inmediatamente arroja en pantalla el menú con dos opciones:
Visualizar video y Configuraciones.
Esta cámara posee facilidades que nos permite ya no utilizar cables de conexión.
Etapa 4: Creación de la interfaz grafica
El funcionamiento del carro explorador se lleva a cabo a través de la aplicación
BlueTerm para un dispositivo móvil con sistema operativo Android, para transferir
datos por medio del Bluetooth, la aplicación no cuenta con una interfaz amigable para
el usuario, por lo que fue es necesario desarrollar una nueva aplicación específica
para el carrito explorador.
Requerimientos para el desarrollo de la aplicación.
Paquete de Android SDK.
Java Runtime Environment (JRE).
Eclipse.
Eclipse Plug-in (Android Development Tools - ADT).
Paso 1
Instalar cada uno de los componentes para integrar la plataforma de trabajo. Todos los
paquetes son de distribución libre, que pueden ser descargados desde su página
oficial.
En: Tomás Gironés, J. (2013). El Gran Libro de Android. España: MARCOMBO, S.A.
Ventana para nuevo proyecto
Paso 2
Configuración de los requerimientos mínimos que debe tener el proyecto se
recomienda utilizar las especificaciones indicadas en la figura de abajo con un Android
2.2 (Froyo), para mantener la compatibilidad con versiones posteriores al Android 2.2
Configuración del proyecto
Paso 3
La construcción de la interfaz se realiza a través de código xml (eXtensible Markup
Language), tiene 9 botones, con las siguientes funciones:
Conectar con el Bluetooth del carrito.
Desconectar con Bluetooth del carrito.
Desplazamiento a la Izquierda
Desplazamiento a la Derecha
Desplazamiento hacia enfrente.
Desplazamiento hacia atrás.
Aumentar la velocidad
Disminuir la velocidad
Detener
Interfaz de la aplicación
Paso 4
Establecer la conexión vía Bluetooth, la plataforma android ofrece el soporte para
conexión de redes mediante bluetooth, que permiten el intercambio de información de
forma inalámbrica con otros dispositivos. La funcionalidad del bluetooth se lleva a cabo
a través de las API`s.
Con el uso de la API de Bluetooth, una aplicación para Android puede hacer lo
siguiente:
Buscar otros dispositivos
Verificar los dispositivos conectados
Transferencia de datos con otros dispositivos
Administración de múltiples conexiones
A continuación enumeran las fases más importantes en el desarrollo de la
conexión de los dos dispositivos.
Paso 5
Buscar dispositivos Bluetooth remotos. La detección de dispositivos es un modo de
exploración que busca en un área local los dispositivos habilitados para Bluetooth,
posteriormente solicitar información acerca de cada uno de estos. Un dispositivo
Bluetooth responderá a la solicitud solo si se encuentra activada de modo visible. Si un
dispositivo es detectado, este responderá a la petición de mediante el intercambio de
información, como el nombre del dispositivo y su dirección MAC. Usando esta
información, puede iniciar una conexión para una transferencia de datos con el
dispositivo descubierto.
Void BuscarBT()
{
Set<BluetoothDevice> pairedDevices=AdaptadorBluetooth.getBondedDevices();
Device = AdaptadorBluetooth.getRemoteDevice(MACBlue);
if (pairedDevices.contains(Device))
{
estado.setText("El dispositivo "+Device.getName()+" ya esta vinculado.");
Log.d("Carrito Buetooth", "BT is paired");
}
}
Socket de comunicación para conectar el modulo Bluetooth.
Para crear una conexión entre los dos dispositivos, es necesario tener una conexión
BluetoothSocket en el mismo canal RFCOMM (Radio Frequency Communication),
como se ilustra en el siguiente código.
Void conectarBT() throwsIOException
{
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); Socket =
Device.createRfcommSocketToServiceRecord(uuid);
Socket.connect();
OUTputStream = Socket.getOutputStream();
INputStream = Socket.getInputStream();
enEsperaDeInstrucciones();
estado.setText("Conectado a: "+Device.getName());
BuscarBT();
conectado=true;
}
Paso 6
La transferencia de datos por Bluetooth. Para realizar el envío de datos es necesario
utilizar la subclase OutputStream, específicamente el método write, en el cual el envio
se realiza en bytes.
void EnviarOrden(String Dato)
{
try{
if(conectado)
OUTputStream.write(Dato.getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Paso 7
Generación de paquete de instalación El sistema operativo Android permite la
instalación de aplicaciones de código abierto, para esto es necesario empaquetar la
aplicación con un formato de archivo APK (Application PacKage File), El entorno de
desarrollo de Eclipse ofrece una herramienta para la generación del paquete de
instalación con el formato requerido para aplicaciones bajo la plataforma de Android.
Generado el archivo APK, en necesario transferir el archivo al dispositivo móvil y
proceder a su instalación.
Etapa 4: Creación de la interfaz grafica
El modo prueba es necesario para la evaluación de la funcionalidad del prototipo
construido. Se aplican pruebas utilizando todos los mecanismos de hardware y
software mencionados. Las siguientes tablas muestran los tipos de experimentos
realizados.
Tabla 1. Pruebas de distancia entre el vehículo y el dispositivo de control
PRUEBAS VEHÍCULO
DISTANCIA TIEMPO DE RESPUESTA
50 metros, obstáculos 10 cm grosor No hay reacción
50 metros, obstáculos no mayor a 5 cm de grosor. 10 segundos
50 metros, sin obstáculos Entre 1 y 8 segundos
10 metros, obstáculos 10 cm grosor 5 segundos aprox.
10 metros, obstáculos no mayor a 5 cm de grosor. 2 y 3 segundos aprox.
10 metros, sin obstáculos 1y 3 segundos aprox.
10 metros, sobre obstáculos grosor 10 cm 1y 3 segundos aprox.
5 metros, obstáculos 10 cm grosor 1 segundo aprox.
5 metros, obstáculos no mayor a 5 cm de grosor. 1 segundo aprox.
5 metros, sin obstáculos Milisegundos
5 metros, sobre obstáculos grosor 10 cm 1 y 2 segundos aprox.
El contenido de la tabla 1 arroja los tiempos estimados de reacción del prototipo, a
cierta distancia y con obstáculos (paredes) de un grosor distinto.
Tabla 2. Prueba en tipos de suelo.
PRUEBAS VEHÍCULO EXPLORADOR
TIPO DE TERRENO
DISTANCIA RECORRIDA
OBSERVACIONES
LisoEntre 40 y 45
metros
Sobrepasando los 45 metros, fallo en la
comunicación entre dispositivos.
RugosoEntre 10 y 30
metrosFallo en el sistema de bandas
Los resultados obtenidos en la tabla 2, muestran la distancia recorrida en dos tipos de
suelo.
Tabla 3. Prueba cámara IP, calidad de transmisión y duración de la fuente de energía.
PRUEBAS CAMARA IP
AMBIENTEDURACIÓN DE LA BATERÍA
CALIDAD DE TRANSMISIÓN
OBSERVACIONES
Día30 minutos
aprox.Buena
La calidad de video es
satisfactoria.
NocheEntre 20 y 25
minutos aprox.Regular
El consumo de la batería es
mayor debido al uso de LED’S
IR (infrarrojo)
En la tabla 3 se muestra los datos obtenidos en base a la transmisión de imágenes en
tiempo real de dos tipos de ambientes. Se registra principalmente la duración
aproximada de la batería.
MEJORAS A IMPLEMENTAR EN EL PROTOTIPO
Se sugieren las siguientes opciones de mejora para el prototipo vehículo explorador:
Mejorar el sistema de impulso, implementando servomotores 360°.
Implementar mejor material en el sistema de orugas.
Añadir una coraza, para proteger los circuitos que le dan funcionamiento.
Añadir dispositivos de emergencia, como brazos robóticos evitando quedar
atrapado en una misión.
Mejorar la calidad de transmisión de video.
Fuente de alimentación autosustentable.
Ser completamente autónomo( Lograr esto a nuestro parecer es muy
importante)
Unificar el video con la interfaz.
Reconocimiento de objetos usando técnicas de procesamiento de imágenes.
Reconstrucción de espacios de manera virtual.
La implementación de actualizaciones ofrece un mayor auge para el ámbito
exploratorio.
CONCLUSIÓN
En base a las pruebas realizadas al carro explorador se observó una excelente
comunicación con el dispositivo móvil, en la exploración de lugares abiertos y
distancias cortas. Sin embargo cuando el carro transitó en un entorno con obstáculos
(paredes de concreto) existe un retardo de aproximadamente 5 segundos en el tiempo
de respuesta.
Durante un periodo de tiempo promedio de 20 minutos, la transmisión de video de la
cámara es satisfactoria.
PRESENTACION
El presente trabajo tiene como finalidad el estudio y análisis del estado de tecnología, avance del tipo de proyectos referidos a lo que es construcción de robots basados en exploración y mapeo de zonas poco accesibles para el ser humano.
De la misma manera enfatizar el estudio de algunos proyectos basados en el formato anterior como el proyecto DISEÑO Y CONSTRUCCION DE ROBOT PARA MAPEO Y EXPLORACION DE MINAS entre otros elaborado por un grupo de estudiantes de ingenierías electrónica y otras especialidades a fines con la materia, en este presente trabajo trataremos de mencionar detalles generales (resumen) de los proyectos proyecto. (Archivo completo disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf )
DISEÑO Y CONSTRUCCION DE ROBOT PARA
MAPEO Y EXPLORACION DE MINAS
1 PROBLEMA
El gran problema provocado por la minería realizada de manera artesanal en varias provincias del país es la gran cantidad de accidentes y derrumbes que han cobrado vidas humanas. Esta actividad artesana ha creado en varias zonas del país gran cantidad de minas abandonadas, las cuales presentan un gran riesgo para el equipo humano que ingrese a ellas y para las poblaciones cercanas.
Las minas realizadas de manera artesanal permiten la entrada de carretillas pequeñas y personas, haciendo imposible la entrada de vehículos diseñados para túneles subterráneos de minas de gran escala. Además las minas poseen una gran longitud y tienen muchas ramificaciones, lo hace limitado el uso de sondas cableadas equipadas con cámaras y sensores para realizar una exploración que abarque todos los túneles.
1 ROBOTS AUTONOMOS
Los robots autónomos son aquellos que pueden realizar tareas en ambientes variables sin la guía continua de un humano. Muchos tipos de robots tienen grados distintos de autonomía y pueden reflejarse varias maneras: desde exploración espacial, hasta limpieza de pisos y tratamiento de aguas.
CARACTERISTICAS:
1. Obtener información de su entorno.2. Funcionar continua o periódicamente sin la intervención humana.3. Adaptarse al entorno de acuerdo a los cambios y a sus propias
capacidades
2 LOCALIZACION
La localización implica el conocimiento de la posición y orientación en todo momento del robot. Por ejemplo, un robot de limpieza debería recorrer toda el área del piso sin repetir espacios o perderse, y para ello necesita varios sensores que le indiquen su localización en todo momento.
3 MAPEO
La creación de mapas de un ambiente desconocido es una tarea mucho más complicada, puesto que no puede ser separada del proceso de localización, ya que los errores en la localización se incorporan al mapa y viceversa, creando un problema conocido como SLAM (Simultaneous Localization And Mapping).
Un aspecto importante en la creación de mapas es determinar la cantidad de información que se requiere y que se tiene capacidad de procesar. Mapas en 3 dimensiones con información sobre obstáculos y medidas (por ejemplo de un lecho marino) requieren mucho más procesamiento que esquemas en dos dimensiones de un laberinto
4 ELABORACION 4.1 ANALISIS SINEMATICO
Está relacionado con las variables de peso, forma, tamaño y los tipos de materiales a utilizar basándose en teorías de dinámica y momento de inercia, pues es un detalle importante para la estabilidad de los tipos de vehículos diseñados para campos con características que poseen las minas o lugares poco explorados.(archivo disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf pág.43-48 )
Fig1 esquema de análisis de estabilidad del proyecto mencionado (archivo disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf
pag.43)
4.2 DISEÑO Y FORMA
La importancia de la es un detalle que tomaron en cuenta en el proyecto pues hacen un a estudio minucioso de los tipos de ruedas, tamaño de ruedas, como también los tipos de plataformas, numero de ruedas, calidad de materiales y tamaño de vehículo. (Archivo disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf pág.35-40)
FIG2. Tipo de vehículos estudiados (archivo disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf pag.39)
4.3 DISEÑO ELECTRÓNICO
El diseño electrónico es una de las partes principales del sistema. Esto incluye una fuente de alimentación gran autonomía y potencia, chips controladores programables para manejo de motores, adquisición de datos de los sensores y circuitos de comunicación interna y externa con el equipo remoto.
Para lo cual hacen un estudio delas facilidades, beneficios y aplicabilidad de ARDUINO y sus componentes (tipo de micro controlador, variedades, tipo de lenguaje, hardware)A demás cabe mencionar en esta parte del proyecto también se hace un estudio minucioso delos componentes electrónicos a utilizar como los sensores de distancia, módulos wifi , cámaras, sensores de humedad, sensores de temperatura
, sensor de metano , pantallas display , puente H , motores entre otros dispositivos.(archivo disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf pág.50-77 )
FIG3. la figura muestra un esquema de ARDUINO estudiado en el proyecto (archivo disponible en
http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf pag.52)
4.4 PROGRAMAS DE CONTROL DE ROBOT
En este capítulo se explica el desarrollo de los programas en las placas controladoras.El objetivo es dotar al robot de una lógica de control de movimiento basada en sus sensores de posición y distancia. También debe configurarse un sistema de comunicación interna y externa, que permita la adquisición e intercambio de datos de manera ordenada y segura.(archivo disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf pag.89-111)
FIG4. la imagen muestra el IDE de arduino utilizado (imagen disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf pag.91 )
4.5 PROGRAMACION DL EQUIPO REMOTO
El programa del computador (equipo remoto) permitirá la comunicación con el robot para obtener su estado (coordenadas y orientación) y la información recopilada por sus sensores. Esta información será almacenada y procesada para determinar el mapa de la mina, temperatura, humedad, presencia de gases peligrosos, e imágenes que sean útiles para establecer su seguridad.(archivo disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf pag.112-123 )
FIG5.Plataforma de programación grafica LAB VIEW utilizado en el proyecto (foto disponible en http://dspace.uazuay.edu.ec/bitstream/datos/3610/1/10292.pdf
pag.113)
CONCLUCIONES
Como vemos en el proyecto “DISEÑO Y CONSTRUCCION DE ROBOT PARA MAPEO Y EXPLORACION DE MINAS” toma en cuenta tres detalles principales como son autonomía, localización y mapeo tres características importantes que caracterizan para robots basados en exploración y mapeo.
Además de las características mencionadas es importante señalar los diseños, pero se consideran como características secundarios ya que el diseño, forma, estructura y tamaño dependerá de las condiciones en las que uno desea trabajar, más aun involucra temas presupuestarios entre otros. Por otro lado el software de programación tanto para el control de movimiento, transmisión de datos están basados en distintos lenguajes de programación y configuración que hace de este proyecto interesante