Ensamblaje y control de un robot de limpieza de habitaciones
Texto completo
(2)
(3) ESCUELA POLITÉCNICA NACIONAL. FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA. ENSAMBLAJE Y CONTROL DE UN ROBOT DE LIMPIEZA DE HABITACIONES. PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN ELECTRÓNICA Y CONTROL. Avilés Mata Marco Javier [email protected]. DIRECTOR: Nelson Sotomayor, MSc. [email protected]. Quito, Marzo 2012.
(4)
(5) DECLARACIÓN Yo, Marco Javier Avilés Mata, declaro bajo juramento que el trabajo aquí descrito es de mi autoría; que no ha sido previamente presentada para ningún grado o calificación profesional; y, que he consultado las referencias bibliográficas que se incluyen en este documento. A través de la presente declaración cedo mis derechos de propiedad intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional, según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente.. ______________________ Marco Javier Avilés Mata.
(6)
(7) CERTIFICACIÓN. Certifico que el presente trabajo fue desarrollado por Marco Javier Avilés Mata, bajo mi supervisión.. ________________________ Nelson Sotomayor, MSc. DIRECTOR DEL PROYECTO.
(8)
(9) AGRADECIMIENTOS. A mi esposa por estar a mi lado apoyándome en los momentos más difíciles, no solo en el desarrollo de la tesis sino de todos los momentos en los cuales necesite de su apoyo incondicional. A mis padres por darme la vida, me han servido para ser una guía a seguir y además el haber inculcado en mí el levantarse luego de un tropiezo, puesto que el camino a seguir adelante continua allí y que las adversidades siempre existen y lo único que me ayudará es el confiar en mis capacidades y en los amigos y familiares que me rodean. A mis hermanos por siempre tenerlos presentes sino físicamente, están en mi mente y corazón; ellos son un pilar sólido en lo que ha transcurrido de mi vida y se muy bien que siempre podré contar con su apoyo y cariño. A mis suegros y mis cuñados por acogerme como un miembro más de la familia, por darme un empujón a finalizar las tareas asignadas. A mis amigos que siempre supieron aun a la distancia motivarme a conseguir las metas trazadas en cualquier proyecto en el cual me he involucrado. Al Ingeniero Nelson Sotomayor más que Director de Tesis ha sido un amigo que me ha brindado su ayuda incondicional de manera desinteresada..
(10)
(11) DEDICATORIA. A mi hija Isabel Alejandra es la luz de vida puesta en mi camino, es ella un incentivo mayor para dar mucho más de mí en los proyectos que me he propuesto realizar. A mi esposa Diana Elisabeth que es alguien muy importante y especial en mi vida, es la compañera perfecta, me ha dado una maravillosa hija..
(12)
(13) i. CONTENIDO CONTENIDO. i. RESUMEN. v. PRESENTACIÓN. vi. CAPÍTULO 1 FUNDAMENTOS BÁSICOS. 1. 1.1. ROBÓTICA. 1. 1.2. ROBOT. 1. 1.3. DESARROLLO DE LA ROBÓTICA. 2. 1.4. LEYES DE LA ROBÓTICA. 2. 1.5. COMPONENTES BÁSICOS DE UN ROBOT. 3. 1.6. TIPOS DE ROBOTS MÓVILES. 3. 1.6.1 ROBOT DE LIMPIEZA. 5. 1.6.1.1. Aspiradora Robot ROBOCLEANER 3000. 5. 1.6.1.2. Aspiradora de Pisos Robótica ROOMBA DISCOVERY. 6. 1.7. SENSORES. 7. 1.7.1 SENSOR INFRARROJO. 7. 1.7.2 SENSOR ULTRASÓNICO. 9. 1.7.3 SENSORES DE POSICIÓN. 9. 1.8. MAPEO DE TRAYECTORIAS Y TÉCNICAS DE EVASIÓN DE OBSTÁCULOS. 11. 1.8.1 NAVEGACIÓN, OPERACIÓN Y MISIÓN. 12. 1.8.2 PLANIFICACIÓN DE LA RUTA. 15. 1.9. SISTEMA DE NAVEGACIÓN A IMPLEMENTARSE EN EL ROBOT DE LIMPIEZA. 16. CAPÍTULO 2 DISEÑO Y ENSAMBLAJE DEL ROBOT DE LIMPIEZA. 18. 2.1. SISTEMA MECÁNICO. 18. 2.2. SISTEMA ELÉCTRICO. 20. 2.2.1 CONTROL DE MOTORES DEL SISTEMA DE LIMPIEZA 2.2.1.1. 20. Alimentación del módulo de limpieza y sistema de encendido manual del robot de limpieza. 21.
(14) ii 2.2.1.2. Sistema de apagado manual del robot de limpieza. 23. 2.2.1.3. Control del cargador de batería en línea. 24. 2.2.1.4. Enlace el control máster con la tarjeta electrónica de control de sistema de limpieza. 2.2.1.5. 26. Generación de señales PWM para el control de velocidad y circuitos de disparo de elementos de potencia de los motores del sistema de limpieza. 2.2.1.6. 27. Generación de señales PWM, control de giro y circuitos de disparo de los elementos de potencia de los motores de las ruedas. 30. 2.2.2 CIRCUITO DE POTENCIA DE LOS MOTORES DE SISTEMA DE LIMPIEZA. 35. 2.2.3 CIRCUITOS DE POTENCIA PARA MOTOR DE RUEDA DERECHA Y RUEDA IZQUIERDA. 37. 2.2.4 CONTROL MASTER DEL ROBOT DE LIMPIEZA. 38. 2.2.4.1. Alimentación del control master. 39. 2.2.4.2. Sensores ultrasónicos laterales. 39. 2.2.4.3. Sensores de tope frontal. 43. 2.2.4.4. Sensor infrarrojo codificado. 44. 2.2.4.5. Contadores de vueltas de rueda derecha y rueda izquierda. 51. 2.2.4.6. Control de fuentes de interrupción externa. 53. 2.2.4.7. Control master. 54. CAPÍTULO 3 DESARROLLO DEL PROGRAMA DE CONTROL. 59. 3.1. 59. CONTROL DE SISTEMA DE LIMPIEZA. 3.1.1 PROGRAMA CONTROL DE SISTEMA DE LIMPIEZA. 60. 3.1.2 SUBRUTINA APAGAR MÓDULO. 60. 3.2. CONTROL DE VELOCIDAD Y SENTIDO DE GIRO DE LAS RUEDAS. 61. 3.2.1 PROGRAMA CONTROL RUEDA DERECHA Y CONTROL RUEDA IZQUIERDA. 62. 3.2.2 SUBRUTINA INVERSO_DERECHA Y SUBRUTINA INVERSO_IZQUIERDA. 63.
(15) iii 3.2.3 SUBRUTINA DIRECTO_DERECHA Y SUBRUTINA DIRECTO_IZQUIERDA 3.2.4 SUBRUTINA INTERRUPCION CONTADOR PULSOS 3.3. 63 63. GENERADOR DE SEÑALES DE 40kHZ PARA LOS TRANSMISORES ULTRASÓNICOS. 68. 3.3.1 PROGRAMA TRANSMISORES ULTRASÓNICOS. 69. 3.4. 69. SENSOR INFRARROJO CODIFICADO. 3.4.1 PROGRAMA DECODIFICADOR INFRARROJO. 70. 3.4.2 SUBRUTINA INTERRUPCION_IR. 70. 3.4.3 SUBRUTINA NO_LECTURA_FIN. 71. 3.4.4 SUBRUTINA NO_LECTURA_FRONTAL. 71. 3.4.5 SUBRUTINA SALIR_LECTURA_FIN. 71. 3.5. 74. CONTROL DE FUENTE DE INTERRUPCIÓN EXTERNA. 3.5.1 PROGRAMA CONTROL INTERRUPCIÓN EXTERNA. 74. 3.5.2 SUBRUTINA STOP_ROBOT. 74. 3.5.3 SUBRUTINA CONTADOR_VUELTAS. 75. 3.6. 76. CONTROL MASTER. 3.6.1 PROGRAMA CONTROL MASTER. 77. 3.6.2 PROGRAMA PARA LIMPIEZA DE HABITACION. 77. 3.6.2.1 Subrutina LIMPIEZA. 77. 3.6.2.2. Subrutina AVANZAR_PRIMERO. 78. 3.6.2.3. Subrutina AVANZAR_RUTA. 83. 3.6.2.4. Subrutina GIRO_IZQUIERDA_RUTA. 83. 3.6.2.5. Subrutina GIRO_DERECHA_RUTA. 86. 3.6.2.6. Subrutinas para evasión de obstáculos. 89. 3.6.3 SUBRUTINA INTERRUPCION_MASTER. 98. 3.6.3.1. Subrutina CONTADOR_IR. 99. 3.6.3.2. Subrutina INFRARROJO. 99. 3.6.4 SUBRUTINAS DE MOVIMIENTO. 100. 3.6.4.1. Subrutina RETROCEDER_C. 100. 3.6.4.2. Subrutina RETROCEDER_SIN_CONTADOR. 100. 3.6.4.3. Subrutina GIRO_IZQUIERDA_A. 100. 3.6.4.4. Subrutina GIRO_DERECHA_B. 100.
(16) iv 3.6.4.5. Subrutina AVANZAR_SIN_CONTADOR. 100. 3.6.4.6. Subrutina AVANZAR_CON_CONTADOR. 101. 3.6.4.7. Subrutina AVANZAR_GUSANO. 101. 3.6.4.8. Subrutina AVANZAR_INTERNO_OBSTACULO. 101. 3.6.5 SUBRUTINA LEER_SENSORES. 102. 3.6.6 SUBRUTINAS DE RETARDO DE TIEMPO. 102. CAPÍTULO 4 PRUEBAS Y RESULTADOS. 134. 4.1. MOVIMIENTO DEL ROBOT DE LIMPIEZA ENSAMBLADO. 134. 4.2. SISTEMA DE LIMPIEZA Y CONTROL. 144. 4.3. LISTA DE ELEMENTOS Y PRECIOS. 145. CAPÍTULO 5 CONCLUSIONES Y RECOMENDACIONES. 152. 5.1. CONCLUSIONES. 152. 5.2. RECOMENDACIONES. 153. REFERENCIAS BIBLIOGRÁFICAS. 155. ANEXOS.
(17) v. RESUMEN. La ciencia y la tecnología van de la mano en el desarrollo, pero en el país la búsqueda y alcance de ambas sufren de grandes tropiezos, pero día a día con el interés puesto por su gente se puede crear y desarrollar proyectos no solo interesantes sino útiles a necesidades comunes, es así, que pensando en la comodidad de las personas se desarrollan sistemas robóticos que hacen más fáciles las actividades cotidianas como el trabajo de limpieza que es, en algunos casos pesado y tedioso. En el presente trabajo se realiza el ensamblado de un robot de limpieza de habitaciones, el cual tiene la capacidad de conocer su posición en el ambiente de trabajo para realizar la limpieza integral del mismo, detecta desniveles para evitar caídas. El control principal del robot se hace con un microcontrolador PIC16F877A, el cual, en base a la información obtenida de sensores ultrasónicos, sensores infrarrojos como interruptores mecánicos, sensor infrarrojo codificado y sensor infrarrojo contador de vueltas, envía información a los controles de velocidad y sentido de giro de los motores de las ruedas para conseguir el movimiento adecuado del robot. El sistema de control electrónico se implementa en la plataforma ROOMBA ROBOT de la fábrica IRobot, del cual se utiliza en el ensamblaje, la parte mecánica, algunos sensores, la batería de alimentación y el cargador de batería..
(18) vi. PRESENTACION. El presente trabajo está constituido de la siguiente manera: En el Capítulo 1 se trata de manera general los fundamentos básicos de los robots, los tipos de robots poniendo énfasis en el robot móvil de limpieza, una descripción detallada del tipo de sensores utilizados en el prototipo, que permiten que interactúe con el entorno y cómo es el análisis de la información recibida mediante los sensores para definir un modelo de posible trayectoria. En el Capítulo 2 se detalla el proceso de ensamblaje en lo referente a la parte electrónica del robot de limpieza. La descripción detallada del programa de control, así como los diagramas de flujo de las diferentes rutinas necesarias para el desarrollo de los algoritmos de control empleados por el robot de limpieza, se presentan en el Capítulo 3. En el Capítulo 4 se describen los resultados del funcionamiento del robot de limpieza en diferentes tipos de pisos, distribución distinta de obstáculos y las limitaciones que el robot de limpieza tiene. Las conclusiones obtenidas en el ensamblaje y control del robot de limpieza, así como las recomendaciones a tomar en el desarrollo del mismo, son presentadas en el Capítulo 5..
(19) 1. CAPÍTULO 1 FUNDAMENTOS BÁSICOS En la implementación y el funcionamiento de un robot de limpieza, se deben tener presente algunos conceptos, no solo en lo referente al tipo de robot a implementar, ya que el desarrollo también depende mucho de la tarea a cumplir, y del lugar donde éste se encuentre, ya que no es igual trabajar en un terreno muy regular bajo condiciones óptimas a encontrarse en un lugar sumamente irregular y condiciones muy hostiles.. 1.1. ROBÓTICA. Se define como una ciencia que estudia los diferentes tipos y tecnologías de los robots, en lo que se refiere a control de motores, mecanismos automáticos neumáticos, sensores, desarrollo computacional en el campo, etc.; ésta se encuentra en una evolución enorme y rápida con base en mecánica, electrónica, automatización, inteligencia artificial y computación, lo que hace que sea una materia multidisciplinaría. Todo este conjunto de conocimientos teóricoprácticos ayudan a la automatización y al diseño de estructuras mecánicas poliarticuladas a las que se les agrega un grado de inteligencia, que permite poder sustituir al hombre en diversas tareas. Además, sistema robótico es aquel que tiene la capacidad de recibir información y comprender su entorno a través del empleo de modelos, de formular y ejecutar planes [1].. 1.2. ROBOT. El término robot proviene del checo “robota” cuyo significado es trabajo, fue utilizado por el escritor de novelas Karen Capek (nació en Bohemia, Hungría el 9 de enero de 1890, sus estudios los cruzó en la Universidad de Praga, como escritor, se destacó como, novelista, dramaturgo y director de teatro, murió en Praga, Checoslovaquia el 25 de diciembre de 1938) en 1917, en la novela de ciencia ficción “Robots Universales Rosuum”, para poder describir a una máquina que tenía la forma de un humano. En la actualidad se lo define de acuerdo con el.
(20) 2 Instituto Norteamericano de robótica como un manipulador multifuncional reprogramable controlado. por computadora que está diseñado para movilizar. materiales, piezas, herramientas y otros dispositivos; esto a través de una serie de pasos programados [2].. 1.3. DESARROLLO DE LA ROBÓTICA. La robótica ha evolucionado cronológicamente con el avance tecnológico que ha desarrollado el ser humano, lo que le ha permitido incursionar en procesos de producción con la consecuente disminución de mano de obra, rapidez de producción y la entrega de un producto final de alta calidad, con trabajo en conjunto entre varios tipos de robots u otras máquinas; en investigación científica, en lo referente a trabajo de campo en especial en terrenos hostiles para la intervención directa de un ser humano; en el desarrollo médico en asistencia a personas con discapacidades físicas; entre otras de cientos de aplicaciones [3].. 1.4. LEYES DE LA ROBÓTICA. El escritor Isaac Asimov (nació en Petróvichi, República Socialista Federativa de Rusia, el 2 de enero de 1920, realizó estudios en bioquímica en la Universidad de Columbia, escritor de novelas de ciencia ficción y textos científicos, murió en Nueva York, Estados Unidos, el 6 de abril de 1992), en sus historias, sostiene que los robots deben tener reglas de seguridad, de manera tal que un robot no pueda dañar a un ser humano, por lo cual propuso las tres leyes de la robótica: [4]. !. Primera ley: Un robot no puede dañar a un ser humano, o a través de su inacción, permitir que se dañe a un ser humano.. !. Segunda ley: Un robot debe obedecer las órdenes dadas por los seres humanos, excepto cuando tales órdenes estén en contra de la primera ley.. !. Tercera ley: Un robot debe proteger su propia existencia, siempre y cuando ésta protección no entre en conflicto con la primera y segunda ley..
(21) 3. 1.5. COMPONENTES BÁSICOS DE UN ROBOT. La tecnología busca un comportamiento robótico lo más parecido al de un ser humano, esto hace que se hagan bastante “problemáticos” los diseños de algoritmos con los que se deben tomar decisiones en tiempo real, ya que no deben fallar ante tareas tan complejas, como lo son las de reconocer y analizar el entorno en el que se encuentra el robot, saber cual es la acción que se va a tomar ya sea debido al término de una tarea o al reconocimiento de su entorno, etc. Entonces para la arquitectura de un robot se tienen aspectos de consideración tales como:. !. Sensores.- Importantes para el reconocimiento del entorno, son los que entregan una determinada información, la cual debe ser debidamente interpretada.. !. Mecanismos de desplazamiento.- Definen la parte mecánica con la que el robot realiza su traslado desde un lugar a otro.. !. El entorno.- Lugar en donde se desenvuelve el robot y realiza tareas.. !. El cálculo de trayectorias y de variaciones de la trayectoria al encontrar un obstáculo, la definición de cómo es la trayectoria depende mucho del tamaño y forma del robot, además de la forma cómo evada o se comporte ante un obstáculo encontrado dentro de la trayectoria.. !. Aprendizaje.- El comportamiento a tomar después de reconocer un obstáculo, reordenar su trayectoria y de cómo sería su respuesta ante otro obstáculo similar al anterior.. !. Comunicarse con otros agentes (computadoras, otros robots, personas).- Esta parte puede o no ser tomada en cuenta, la comunicación es importante si en el medio está operando más de un robot o se requiere extraer información de otro lugar.. 1.6. TIPOS DE ROBOTS MÓVILES. La clasificación de los robots móviles va de la mano con el desarrollo de los mismos y la automatización, esto hace muy complejo realizar una clasificación,.
(22) 4 por lo que en el presente trabajo se hace una descripción general poniendo énfasis en los robots de limpieza:. !. Robot de limpieza: tareas de limpieza de habitaciones donde se puede optimizar la mano de obra o el acceso a sitios hostiles donde un humano no lo puede realizar.. !. Robot terrestre sin ruedas. o Humanoide: cuenta con la capacidad de caminar en dos patas (bípedos), y se asemeja a un humano. o Octópodos: para desplazarse utilizan ocho patas analógicamente a lo que hace una araña. o Rastrero: el desplazamiento de una serpiente o de un gusano se aplica en estos robots no solo en ambientes terrestres sino también en líquidos de alta densidad. o De orugas: es el sistema de desplazamiento más antiguo y más utilizado, en especial en terrenos fangosos o bastante irregulares.. !. De ruedas: el control en la movilidad es variado ya que se puede tener sistemas de dos ruedas con tracción independiente en donde a cada rueda le corresponde un motor con su propio control, dando una ventaja en realizar giros sobre si mismo por inversiones de giro en una rueda y en la otra no; sistemas de cuatro ruedas con dos unidas a un mismo eje y la dirección es similar a la de un automóvil; de sistema omnidireccional de tres o más ruedas cada una con tracción independiente.. !. Robot acuático o submarino: para el desplazamiento hace uso de hélices o aprovechan el diseño de los robots de tipo rastrero.. !. Robot aéreo: en aviones, globos, helicópteros, etc., se instalan sistemas de navegación que prescinden de un piloto para realizar desplazamientos y correctivos de rutas.. !. Robot espacial: aplicados en la navegación espacial hacen uso del principio de robots teledirigidos, el sistema de propulsión es a base de motores de propulsión nuclear, iónicos, etc..
(23) 5 1.6.1 ROBOT DE LIMPIEZA La robótica ha resuelto varios problemas a la humanidad, como es el caso de tareas tediosas y repetitivas, como la limpieza. En el desarrollo de este tipo de robots están mejores y simplificados algoritmos de control para conseguir un recorrido por toda la habitación a limpiar. Emplean un sistema de sensores ultrasónicos, infrarrojos y detectores de choque. Tienen la capacidad de limpiar suciedad, polvo, pelo de mascotas y cereal que están desparramados en suelos alfombrados, con baldosas, de madera y hasta zonas donde hay tapetes; cuentan con capacidad de accesibilidad en sitios incómodos como es la limpieza bajo camas, mesas, etc.; la basura recogida se almacena en un recogedor evitando el uso de las fundas de basura para aspiradoras pero requieren del uso de filtros para el no ingreso de polvo u otros elementos a la generación de aspiración [5]. A continuación se presentan algunos modelos comerciales: 1.6.1.1. Aspiradora Robot ROBOCLEANER 3000. Este robot de limpieza en ocasiones no fija una trayectoria definida para cubrir toda el área a limpiar, ya que algunos modelos adquieren trayectorias rectas aleatorias (Figura 1.1) hasta encontrar un obstáculo, en cuyo caso modifica su dirección a un ángulo cualquiera y luego continua su movimiento en línea recta hasta encontrar un nuevo obstáculo. El sistema motriz no está desarrollado para movilizarse en gradas, por lo que cuenta con un sistema de evasión [5]..
(24) 6. Figura 1.1 Aspiradora robot robocleaner 3000 [5] 1.6.1.2. Aspiradora de Pisos Robótica ROOMBA DISCOVERY. Este robot de limpieza emplea el principio de una limpiadora de piscinas (Figura 1.2), siguiendo una trayectoria espiral; pueden operar mediante un control remoto lo que hace que tenga las características de un robot teledirigido y de un robot autónomo. Para que el robot trabaje en forma autónoma solo basta con encenderlo, también se debe programar un temporizador que va de acuerdo a las dimensiones del sitio a limpiar; las puertas abiertas son un problema en la rutina de limpieza de la habitación ya que por allí se puede salir el robot. Se soluciona este inconveniente simulando una pared mediante emisión de luz infrarroja que es recibida por el robot y este a la vez analiza ésta como si se tratase de una continuación de la pared [6].. Figura 1.2 Aspiradora de pisos robótica Roomba Discovery [6].
(25) 7 Para el desplazamiento utilizan motores de corriente continua alimentados a 12V, y la carga de las baterías dura para un par de horas de trabajo.. 1.7. SENSORES. Estos elementos entregan información de algunos parámetros como lo harían los sentidos de un ser humano, puesto que en un robot se simulan ojos, oídos y hasta el tacto que son sentidos básicos con los cuales un ser viviente puede desenvolverse y realizar un sinnúmero de actividades o tareas, entonces se tiene que un sensor es un transductor con la capacidad de convertir un fenómeno físico en una señal eléctrica la cual será ingresada a un sistema microprocesado para que, en base a esa información, se realice el control global del robot [7]. Para implementar sensores en un robot, se requiere conocer la forma y arquitectura del mismo, el llenarlo de sensores puede complicar el desempeño del robot ya que el procesar tanta información se refleja en tiempos de respuesta y complejidad de procesamiento, por lo cual siempre debe realizar un análisis y determinar qué tipo de sensores son necesarios en un determinado robot. En un robot de limpieza se requiere, para su desplazamiento reconocer en su ambiente de trabajo la presencia o no de obstáculos para poder fijar trayectorias de desplazamiento óptimas. Los obstáculos a evadir son estáticos para simplificar los algoritmos de desplazamiento. No se hace consideración de obstáculos móviles debido a que la información es más compleja. En lo posible se requiere tener contacto físico entre el robot y los obstáculos, por lo cual, se utilizan sensores de contacto o sensores que utilizan un sistema de receptor/transmisor sea de luz infrarroja o de ultrasonido. 1.7.1 SENSOR INFRARROJO Son sensores activos, compuestos de un transmisor (diodo LED infrarrojo) y un receptor (fototransistor) de luz en el espectro infrarrojo, son bastante inmunes a interferencias, pero no se pueden usar con objetos que no reflejan luz infrarroja..
(26) 8 La intensidad luminosa decrece con el inverso de la distancia al cuadrado limitando al rango de detección entre 50-70 cm. En algunas aplicaciones donde se distingue la reflexión del infrarrojo ambiente se utiliza una señal modulada [8]. Se utiliza en algunos modelos de robots móviles para detectar obstáculos o en los conocidos robots seguidores de línea y en medidores de velocidad o posición como contadores de pulsos en los denominados encoders. Los sensores infrarrojos pueden ser reflectivos o de ranura.. !. Reflectivo.- Tiene una cara frontal en la que están tanto el diodo LED como el fototransistor; al no estar colocado en forma enfrentada, la activación del fototransistor es por la reflexión de luz infrarroja en una superficie reflectiva. Se debe evitar que la luz del ambiente active el fototransistor (Figura 1.3).. !. De ranura.- Tanto el diodo LED como el fototransistor están alineados a la misma altura enfrentados a través de la ranura, el foto transistor está activado siempre y cuando no se encuentre algún elemento en la ranura (Figura 1.4).. Figura 1.3 Sensor infrarrojo reflectivo. Figura 1.4 Sensor infrarrojo de ranura.
(27) 9 1.7.2 SENSOR ULTRASÓNICO Son sensores activos que cuentan con un transmisor de ultrasonido codificado en una portadora de 20-200 kHz y un receptor que es un micrófono especial, colocados juntos. Como en el caso de los sensores infrarrojos en los ultrasónicos el receptor capta una señal reflejada (de preferencia en superficies pulidas) a la que se denomina también como principio sonar, la velocidad de desplazamiento de la señal de ultrasonido es de 30 cm/ms (centímetros por milisegundo), a una temperatura ambiente de 20 0C. Llegan a distancias de 10 m con un cono de 300 de amplitud y una resolución menor a 1 mm; mientras mayor ángulo de apertura del cono mayor probabilidad tiene el robot de perderse y producir falsas medidas de grandes distancias. El utilizar arreglos de sensores con desfases brinda una mejor precisión. Es como el sonar que utiliza un murciélago salvo que en el caso de estos animales el sonido es a múltiples frecuencias [9] (Figura 1.5). En el robot de limpieza se utiliza este tipo de sensores para medir distancias más no posición.. Figura 1.5 Sensor ultrasónico SRF 04 1.7.3 SENSORES DE POSICIÓN Estos sensores pueden ser rotacionales o traslacionales. No se tiene un método infalible y universal para poder calcular la posición de un robot móvil, aunque los más utilizados son:. !. Encoders incrementales.- Se denominan también como codificadores ópticos, útiles en cálculos de posición angular, la parte física es un disco transparente que tiene una serie de marcas opacas colocadas radialmente y.
(28) 10 e equidistant es entre sí, para la medición se cu uentan pulsos de luz que las ranura a atraviesan as del discco, la cuenta del tren n de pulsoss se hace con un s sensor óptiico conform mado por un emisor (diodo LE ED) y un re eceptor (elemento fo otosensible e). El discco va acop plado al ejje al que se s desea medir la posición p a angular. S se dispo Si one de doss franjas de d ranuras, con este sensor se e puede ha acer un c control de sentido de e giro del eje y de una marca a para refe erencia de e vuelta c completa d eje. En realidad lo del o que se mide m es la velocidad angular pero p por ón se obtiene datos de posició e extrapolaci ón angular, la resolu ución del encoder e e dependiente del número de es d ranuras s del disco o. Son ele ementos bastante b s sensibles a golpes y vibracione v s [10].. F Figura 1.6 Encoder E in ncremental [10]. !. E Encoders absolutos s.- Al igua al que los incrementtales son útiles para a medir p posición an ngular, en estos elem mentos se cuenta el número n de e pulsos de e luz en u emisor transmiso un or óptico y un disc co graduado donde no se mide m un in ncremento o de la posición sino que se div vide en un número fijjo de secto ores (en p potencias d dos) y cada de c uno se s codifica a con un có ódigo cíclicco o código Grey, e disco queda codificcado por zonas el z trans sparentes y zonas o opacas disp puestas radialmente e, los secto ores angullares son en e valor ab bsoluto y ssu resolución está d dada por el e número de anillos que pose ee el disco o (número de bits uttilizados p lo gene por eral de 8 a 16 bits). Son elem mentos basstante sen nsibles a golpes g y v vibraciones s [11]..
(29) 11. Figura 1.7 Encoder absoluto tomado de [11]. 1.8. MAPEO DE TRAYECTORIAS Y TÉCNICAS DE EVASIÓN DE OBSTÁCULOS [12].. En el mapeo se integra la evasión de obstáculos, es dependiente del rango de los sensores que se utilicen, ya que son continuamente muestreados y el mapa se construye y refresca inmediatamente mientas el robot móvil se desplaza, simultáneamente el algoritmo de evasión de obstáculos usa instantáneamente la información del mapa de entorno para así evadir nuevamente a obstáculos detectados. La ventaja de usar un sistema integrado es la capacidad para adaptar progresivamente la resistencia de una reacción de evadir un obstáculo a nivel de evidencia de la existencia de un obstáculo, entonces el sistema reacciona a una débil evidencia con una moderada maniobra de dirección, mientras más fuerte evidencia, causa una más drástica maniobra de evasión..
(30) 12 1.8.1 NAVEGACIÓN, OPERACIÓN Y MISIÓN. !. Navegación.- Es la forma del rumbo a seguir por un robot móvil a través de un entorno que tiene obstáculos. Se escoge el más seguro y la capacidad de reacción ante situaciones inesperadas de manera eficaz y en entornos no estructurados. Para fijar la navegación de un robot móvil se debe tener: una percepción del entorno e interactuar con algunos elementos que estén en el mismo; planificar una trayectoria libre de obstáculos para ir desde un punto de partida al punto de destino; y, guiar al robot por una trayectoria de referencia construida.. !. Operación.- Se la define como la programación de las herramientas de abordo que permite al robot realizar una tarea especificada.. !. Misión.- Es la realización conjunta de una serie de objetivos de navegación y operación.. En la Figura 1.8 se tiene el esquema básico que requiere un robot móvil para que pueda realizar una misión, donde un control de misión se dedica a coordinar el desplazamiento o navegación con el controlador del elemento que interacciona con el entorno en el que se encuentra, además el control de misión está dedicado a encontrar estrategias para tener un plan de navegación y otro plan de operación.. Figura 1.8 Arquitectura de una misión.
(31) 13 Para que el robot se desplace desde un punto inicial a un punto final, teniendo ciertas posiciones intermedias, requiere del sistema de navegación, pero para cumplir este objetivo se requiere cumplir con:. !. Percepción del mundo.- El empleo de sensores permiten la creación de un mapa del entorno donde se va ha desplazar el robot móvil.. !. Planificación de la ruta.- Se crea una secuencia ordenada de objetivos que debe cumplir el robot móvil, se calcula la ruta en base al mapa del entorno, describiendo la tarea y el procedimiento estratégico.. !. Generación del camino.- Se define una función continua que interpola la secuencia de objetivos construida por el planificador, se discretiza la función continua para generar el camino.. !. Seguimiento del camino.- Efectúa el desplazamiento del robot de acuerdo al camino generado mediante el control de los actuadores del robot.. Las tareas antes descritas se efectúan por separado pero manteniendo el orden de cómo se las define; al interconectarlas entre cada una de ellas se conforma una estructura de control de navegación de un robot móvil.. Figura 1.9 Estructura de control de navegación. Al partir del mapa de entorno y la tarea de navegación, como se muestra en la Figura 1.9, se planifica un conjunto de objetivos a los que se representa mediante una secuencia de puntos cartesianos dispersos que definen la ruta, el conjunto de.
(32) 14 puntos cumplen con los requisitos de la tarea dada pero con la seguridad de que la ruta a tomar está libre de obstáculos.. Se utiliza un generador de caminos para tener una referencia para el seguidor en donde se tiene el direccionamiento y la velocidad de los servo controladores del robot, con los sensores de posición del robot en conjunto con técnicas de odometría, se sabe la posición actual en la que está el robot y esta información se realimenta al seguidor de caminos.. En algunas aplicaciones el esquema mostrado en la Figura 1.9 es ineficaz ya que no asegura una construcción de un camino libre de obstáculos, por que del entorno se tiene un grado de incertidumbre, por lo que se ha implementado nuevos esquemas como el de la Figura 1.10 que es propuesto por los laboratorios de AT&T en el robot móvil Blanche.. Figura 1.10 Navegador del robot móvil Blanche de AT&T. La parte básica es la misma que en el esquema de la Figura 1.9, pero se añade el desdoblamiento de la tarea de planificación en dos subtareas:. !. La planificación global donde se hace lo del esquema de la Figura 1.10 para construir una ruta en la que se define un camino libre de obstáculos de acuerdo a la información obtenida del entorno con el riesgo de crear un.
(33) 15 camino no libre de obstáculos y generar colisiones de los mismos con el robot. Entonces se planifica la ruta que lleve al robot a cada una de las submetas determinadas por el control de misión, según las especificaciones del problema a resolverse, da una aproximación del camino final a seguir por no considerar detalles del entorno local del robot. !. La otra de planificación local, que saca información del sistema sensorial sobre el entorno local del robot y es dependiente del radio de alcance de los sensores. Del análisis de estos datos se actualiza el modelo preliminar del entorno y entonces se replanifica la ruta local del robot.. Este nuevo esquema (Figura 1.10) se adapta a diversos entornos sin tener un conocimiento exhaustivo del mismo por distinguir entre la planificación global y la local.. La ruta global se puede obtener antes de que el robot ejecute la tarea, mientras que la planificación local se la hace en el tiempo de ejecución; si la navegación se la hace en un entorno totalmente conocido, la planificación local se hace innecesaria pero mientras menos detalles se conozcan, la planificación local se hace más que necesaria.. 1.8.2 PLANIFICACIÓN DE LA RUTA Sea cual sea el tipo de planificación que se requiera lo que importa es el desplazarse con el robot móvil desde un punto actual a un punto destino siguiendo el camino más seguro. Se define como ruta segura a un camino lo más continuo en posición y libre de obstáculos; en los esquemas de navegación, el generador carga las referencias de caminos en el control de movimiento donde no se toma en cuenta las características cinemáticas y dinámicas del robot móvil.. Al entorno se lo puede considerar como un conjunto de configuraciones donde el robot se puede encontrar en un determinado instante de tiempo..
(34) 16. 1.9. SISTEMA DE NAVEGACIÓN A IMPLEMENTARSE EN EL ROBOT DE LIMPIEZA. De las secciones anteriores se desprende que si bien no se efectuarán cálculos matemáticos para establecer la trayectoria (los algoritmos se basarán en una consideración. inicial. y. corrección. de. conflictos. mediante. pruebas. y. reprogramación), el módulo de limpieza ensamblado, se basa en la planificación de ruta usando campos potenciales [12], puesto que dicha planificación se hace en un entorno desconocido y se evaden obstáculos cuya presencia se percibe en tiempo real de ejecución (no existe un conocimiento previo de los mismos). Dada la adopción de este sistema que considera al equipo como un punto sin dimensiones, se toma la forma circular como la mejor opción para el módulo puesto que facilita las operaciones de giro repentinas que deberán presentarse con determinado tipo de obstáculos y contornos. Para conseguir esto se le dota al robot de limpieza autónomo de sensores (ultrasónicos e infrarrojos) que interactúan con el entorno, los mismos que entregarán información al sistema microprocesado de acuerdo a las siguientes características:. !. Sensores de ultrasonido ubicados en la parte lateral derecha e izquierda del módulo, son útiles en los procesos de movimientos y evasión de obstáculos.. !. Sensor infrarrojos con sistema mecánico, se los ubican en la parte frontal del módulo, para detectar obstáculos frontales por contacto físico con el mismo, el acercamiento y posterior contacto se lo hace a baja velocidad para de esta manera evitar daños tanto en el módulo como con el obstáculo, el funcionamiento de este sensor interviene tanto en el proceso de mapeo como la detección de obstáculos.. !. Sensor infrarrojo ubicado en la parte frontal del módulo, que se encarga de la detección del punto final de limpieza, de gradas laterales o de una puerta lateral y de gradas frontales o una puerta lateral; este sensor trabaja con señales codificadas para cada una de las tareas antes indicadas, interviene.
(35) 17 también en el proceso de navegación, la parte del sensor colocado en el módulo solo es un receptor, el transmisor es externo. !. Sensores infrarrojos ubicados en conjunto con la rueda derecha y la rueda izquierda, estos son utilizados para contar el número de pasos de las mismas; la aplicación de estos sensores es para movimientos del robot.. Se profundizará en los detalles de diseño y acondicionamiento de los sensores del prototipo en el siguiente capítulo. La información entregada por este medio al sistema de navegación permitirá a éste tomar las medidas de control necesarias para establecer una ruta que cumpla con las siguientes características:. !. Considerando que el objetivo del movimiento es cubrir la mayor área posible del entorno, para obtener una limpieza integral del ambiente, no es necesario establecer un mapa global previo al movimiento, puesto que no se desea llegar a un punto específico del entorno, y por lo tanto, establecer una ruta óptima, el sistema de navegación realiza una planificación local, donde el desconocimiento inicial del ambiente se va a compensar con una exhaustiva evaluación de las señales emitidas por los sensores durante la ejecución de la acción estableciendo el camino a seguir de manera dinámica.. !. Se considera la presencia de los potenciales obstáculos, mismos que serán evadidos siguiendo su contorno, haciendo uso de los sensores adecuados, una vez que se detecta el punto de finalización de limpieza, se apaga automáticamente.. En el sistema de navegación a implementarse se tratará de considerar todos los posibles casos para evitar la desorientación del robot, sin embargo, se espera que se presenten problemas en la ruta relacionados con el método en sí, como tomar un giro alrededor de un obstáculo. Todas estas consideraciones se discutirán con detalle en el Capítulo 4 de pruebas y resultados..
(36) 18. CAPÍTULO 2 DISEÑO Y ENSAMBLAJE DEL ROBOT DE LIMPIEZA En este capítulo se detallan las consideraciones de ensamblaje del robot, se describe los componentes y las estructuras mecánicas, así como también los circuitos de control y acondicionamiento electrónico para el manejo de los motores eléctricos de corriente contínua.. !. La parte mecánica es la que fija casi todas las consideraciones de control y acondicionamiento electrónico.. !. La parte eléctrica es el medio físico a través del cual el sistema microprocesado ejecuta las acciones de control, determinadas a partir del análisis de los sensores de interacción con el medio que posee el módulo.. 2.1. SISTEMA MECÁNICO. En el ensamblaje del prototipo se toma como punto de partida la estructura de un robot de limpieza de la marca ROOMBA. En los motores de corriente directa se realiza control de velocidad a través de señales PWM. El prototipo, al tener una base cilíndrica, hace que el análisis para las rutinas de evasión de obstáculos, giros y ejecución de movimientos en zonas geométricamente complicadas sea más sencillo. En el ensamblaje, ninguna parte, sea esta mecánica o electrónica está por fuera del diámetro de la estructura debido a que las condiciones de navegación serían diferentes y también pueden sufrir algún tipo de avería debido a golpes.. Figura 2.1 Forma física del robot de limpieza [13].
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)
(55)
(56)
(57)
(58)
(59)
(60)
(61)
(62)
(63)
(64)
(65)
(66)
(67)
(68)
(69)
(70)
(71)
(72)
(73)
(74)
(75)
(76)
(77) 59. CA APÍTUL LO 3 DESA ARROLL LO DEL L PROG GRAMA DE CON NTROL L En este e capítu ulo se explica el desa arrollo de los l programas de co ontrol del robot de limpieza y se presentan n los diagrramas de flujo de lo os mismoss. Los pro ogramas carg gados en los difere entes micrrocontrolad dores se desarrolla aron en le enguaje ensa amblador y son deno ominados de d la siguie ente manera:. 3.1. !. Control de sistema a de limpie eza.. !. Control de velocid dad y sentido de giro de las rue edas.. !. ñales de 40 0kHz para transmisores ultrasó ónicos. Generador de señ. !. Sensor infrarrojo codificado. c .. !. upción exte erna. Control de fuentess de interru. !. Control master.. CONTR ROL DE SISTEM MA DE LIM MPIEZA A. Para a realizar este contrrol se utiliza un mic crocontrola ador PIC16 6F628A co omo se explicó en el Capítulo C 2. En el conttrol de siste ema de lim mpieza del robot se tiene:. !. C Control de velocidad de los mottores del sistema s de limpieza.. !. C Control de encendido o/apagado del robot.. A tiene un na distribucción de enttradas/salidas como se muestrra en el El PIC16F628A b de la Figura 3.1. 3 diagrama de bloques. F Figura 3.1 Diagrama D de bloquess de contro ol del sistema de limp pieza del robot r.
(78) 60 3.1.1 PROGRAMA CONTROL DE SISTEMA DE LIMPIEZA Se requiere configurar los puertos PORTA. y PORTB como entradas/salidas. digitales para lo cual se modifica el contenido de los registros CMCON, TRISA y TRISB, también se configuran registros auxiliares AUX_PORTB y CONTAR utilizados para almacenar datos leídos en el PORTB y como generador de retardos, respectivamente, el diagrama de flujo del programa CONTROL DE SISTEMA LIMPIEZA se muestra en la Figura 3.2. En el programa se analizan los casos para los cuales se requiere el encendido o no de los motores del sistema de limpieza del robot y se realiza un apagado automático del robot al finalizar el trabajo de limpieza de una habitación según el contenido del registro auxiliar AUX_PORTB (Figura 3.2). Al requerir el funcionamiento con control de velocidad de los motores de cepillo principal, cepillo lateral y aspiradora del sistema de limpieza en el programa se tienen señales PWM en los 3 bits más significativos del PORTB como se muestra en la Figura 3.2. 3.1.2 SUBRUTINA APAGAR MÓDULO Esta subrutina es utilizada para apagado automático del robot de limpieza debido a:. !. Petición de apagado automático del control master.. !. Petición de apagado manual.. !. Conexión del cargador de batería.. Se tiene en la subrutina la puesta a cero de los registros de los puertos PORTA y PORTB para de esta manera suspender el voltaje de alimentación de todas las tarjetas de control y potencia del robot de limpieza..
(79) 61. Fig gura 3.2 Diagrama de flujo de programa p CONTROL C L DE SISTEMA LIMP PIEZA. grama de flujo f de subrutina AP PAGAR_MO ODULO Figura 3.3 Diag. 3.2. CONTR ROL DE E VELOC CIDAD Y SENTID DO DE G GIRO DE E LAS RUEDA AS. Para a el contro ol de velo ocidad y sentido s de giro de los l motore es de las ruedas dere echa e izq quierda se e utilizan dos d microc controlado ores PIC16 6F628A co omo se explicó en el Capítulo C 2; en el control de velo ocidad y se entido de giro se tiene e:. !. C Control de velocidad en lazo ce errado y se entido de giro g directo o al tener señales s P PWM en SWITCH S ELECTRON NICO A DE ERECHA y SWITCH H ELECTR RONICO D DERECH HA cuando o está en alto LINEA DE CONT TROL 1 DE ERECHA..
(80) 62 !. C Control de velocidad en lazo ce errado y se entido de giro g inverso o al tener señales s P PWM en SWITCH S ELECTRON NICO B DE ERECHA y SWITCH H ELECTR RONICO C DERECH HA cuando o está en alto LINEA DE CONT TROL 2 DE ERECHA.. !. C Control de velocidad en lazo ce errado y se entido de giro g directo o al tener señales s P PWM en SWITCH EL LECTRON NICO A IZQ QUIERDA y SWITCH H ELECTR RONICO D IZQUIER RDA cuand do está en alto LINEA A DE CONTROL 1 IZ ZQUIERDA A.. !. C Control de velocidad en lazo ce errado y se entido de giro g inverso o al tener señales s P PWM en SWITCH EL LECTRON NICO B IZQ QUIERDA y SWITCH H ELECTR RONICO C IZQUIER RDA cuand do está en alto LINEA A DE CONTROL 2 IZ ZQUIERDA A.. Los PIC16F62 28A tienen una distrib bución de entradas/ssalidas com mo se mue estra en el diagrama de e bloques de d la Figurra 3.4.. F Figura 3.4 Diagrama D d bloquess de contro de ol de veloccidad y sen ntido de girro de mo otores de ruedas 3.2.11. PROGR RAMAS CONTROL C HA Y CO ONTROL RUEDA R RUEDA DERECH IZQUIE ERDA. Se requiere r configurar al a PORTA A y al POR RTB como o entradass/salidas digitales, para a lo cual se s altera el e contenid do de los registros TRISA, C CMCON y TRISB, tamb bién se de ebe configu urar al TIM MER1 com mo un temp porizador d de 16 bits para lo.
(81) 63 cual se modifica el contenido del registro T1CON, se configuran los registros para habilitar interrupción externa e interrupción por desborde de timer1 INTCON, PIE1, PIR1 y OPTION_REG, la señal de control de velocidad PWM se la obtiene al modificar el contenido de los registros CCP1CON (Figura 3.5 y Figura 3.6). En los programas se discriminan situaciones para las cuales se requieren movimientos de las ruedas en una determinada dirección o si éstas deben estar en estado de parada, por lo general cuando el robot revisa el estado de los sensores. 3.2.2 SUBRUTINA. INVERSO_DERECHA. Y. SUBRUTINA. INVERSO_IZQUIERDA Las subrutinas son utilizadas para el control de velocidad y el sentido de giro inverso en los motores de las rueda derecha e izquierda, respectivamente, debido a que se afecta el contenido de las salidas en los puertos PORTB de los microcontroladores para el control en los interruptores electrónicos B y C de los puentes híbridos de los motores de las ruedas derecha e izquierda, respectivamente. 3.2.3 SUBRUTINA. DIRECTO_DERECHA. Y. SUBRUTINA. DIRECTO. _IZQUIERDA Las subrutinas son utilizadas para el control de velocidad y el sentido de giro directo en los motores de las ruedas derecha e izquierda, respectivamente, debido a que se afecta el contenido de las salidas en los puertos PORTB de los microcontroladores para el control en los interruptores electrónicos A y D de los puentes híbridos de los motores de las ruedas derecha e izquierda, respectivamente. 3.2.4 SUBRUTINA INTERRUPCIÓN CONTADOR PULSOS El control de velocidad de los motores se hace en lazo cerrado, entonces se realiza el conteo de pulsos que se producen en las ruedas derecha e izquierda,.
(82) 64 resp pectivamen nte, y que a su vez son detecta ados por se ensores in nfrarrojos como c se explica en el Capítulo C 2. c de pulsos contados depende del d tiempo o en el cu ual se prod duce el La cantidad desb borde del temporizador timer1 1 (16 bits), entoncess se analizza en bas se a un valor determin nado de pulsos p si la rueda derecha d o rueda izq quierda re equieren elocidad al a variar o mantener la relación n de trabajjo de la cambiar el valor de la ve al PWM, pa ara lo que se tiene la as siguiente es conside eraciones: seña. !. S la cuentta de pulso Si os es igua al a la bas se impuestta la relacción de trabajo se m mantiene y no varía la a velocidad del moto or de la rue eda.. !. S la cuentta de pulssos es menor a la base Si b impue esta, la re elación de trabajo a aumenta y varía la ve elocidad de el motor de e la rueda.. !. S la cuentta de pulssos es mayor a la base Si b impue esta, la re elación de trabajo d disminuye y varía la velocidad v d motor de del d la rueda a.. Figura 3.5 Diagrama a de flujo del program ma CONTR ROL RUED DA DEREC CHA.
(83) 65. Figura 3.6 Diagrama de flujo de el programa CONTRO OL RUEDA A IZQUIER RDA. Figura a 3.7 Diagrama de flujo de sub brutina INV VERSO_DE ERECHA. Figura a 3.8 Diagrrama de flu ujo de subrrutina INVE ERSO_IZQ QUIERDA.
(84) 66. Figura a 3.9 Diagrama de flujo de sub brutina DIR RECTO_DE ERECHA. Figura 3.10 Diagrama de flujo de sub brutina DIR RECTO_IZQ QUIERDA. Figura 3.11 Diagram ma de flujo de subrutina INTERR RUPCION CONTADOR SOS rueda derecha PULS.
(85) 67. Figura 3.12 Diagram ma de flujo de subrutina INTERR RUPCION CONTADOR PULSOS rueda izquierda. Figura 3.13 3 Diagrrama de flu ujo de subrrutina DES SBORDE_D DERECHA A.
(86) 68. Figura 3.14 3 Diagra ama de flujjo de subru utina DESB BORDE_IZ ZQUIERDA A. 3.3. GENER RADOR. DE. S SEÑALES S. DE. 40kHz. PARA. LOS. TRANS SMISOR RES ULTR RASÓNIC COS Para a generar las seña ales cuadrradas, que e son emitidas en los transm misores ultra asónicos, se s utiliza un u microco ontrolador PIC16F62 28A como se explicó en el Capítulo 2. Lass señales cuadradas c s de 40kHz z se tienen en cuatro bits depen ndiendo e del bit 0 en el e PORTB que q es el encargado e o de indicar si se las habilita del estado o no o. El PIC16 6F628A tie ene una disstribución de entrada as/salidas como se muestra m en el e diagrama a de bloque es de la Figura 3.15.. Fig gura 3.15 Diagrama D d bloquess del generrador de se de eñales cua adradas pa ara los transm misores ultrrasónicos.
(87) 69 3.3.11. PROGR RAMA TRA ANSMISORES ULTR RASÓNICO OS. Se requiere r co onfigurar al a PORTA y PORTB como entrradas/salid das digitale es, para lo cu ual se alte era el conte enido del registro CMCON, TR RISA y TR RISB, así también t para a generar la l señal cu uadrada de 40kHz se s debe co onfigurar e el módulo PWM a una relación de d trabajo del 50%, entonces se modificca el conte enido del registro PRL1 y el registro r CC CP1CON (F Figura 3.16 6). CCP e program ma se considera, cuando se requiere r ge enerar en los transm misores En el ultra asónicos, la as señaless de onda cuadrada de 40kHz para lo cu ual se revis sa el bit 0 de el PORTB, el cual es controlado o desde el control ma aster.. Figu ura 3.16 Diagrama D d flujo del programa TRANSMISORES U de ULTRASON NICOS. 3.4. SENSO OR INFRA ARROJO O CODIFIICADO. Para a la decodiificación de el dato reccibido en el e módulo receptor r in nfrarrojo de esde un dete erminado transmisor t r infrarrojo o se utiliz za un miccrocontrola ador PIC16 6F628A como se expliccó en el Ca apítulo 2. A tiene un na distribucción de enttradas/salidas como se muestrra en el El PIC16F628A b de la Figura 3.17. 3 diagrama de bloques.
(88) 70. Figura 3.17 Diagrama D d bloques de decodiificador inffrarrojo de 3.4.11. PROGR RAMA DEC CODIFICA ADOR INF FRARROJO O. Se requiere r co onfigurar al a PORTA y PORTB como enttradas/salid das digitale es para lo qu ue se altera el conte enido del registro CMCON, TR RISA y TR RISB, así también t para a que el microcontro m olador trab baje con fu uentes de interrupciión causad das por una interrupció ón externa a y por desborde de el TIMER1 se cambia an los valo ores de r O OPTION_R REG, PIE1, PIR1, T1C CON e INT TCON, asíí como tam mbién al los registros TIME ER0 se configura com mo un con ntador de pulsos p exte ernos (Figu ura 3.18). 3.4.22. SUBRU UTINA INT TERRUPCIION_IR. La subrutina s de interru upción se ejecuta debido d a una u fuente e de interrrupción externa que ess la señal codificada a recibida en e el módulo recepttor infrarrojjo y por borde del TIMER1 que q es un n temporizador para contar pu ulsos de la a señal desb recib bida. La prrimera vezz que se ejecuta e la subrutina INTERRU UPCION_IR R por el ingre eso de la señal s codifficada provveniente del módulo receptor infrarrojo, se s tiene que iniciar la temporizac t ción en el TIMER1, para p lo cua al en el registro T1C CON, se e en alto el e bit TMR1 1ON, luego o se revisa a el estado o del la ban ndera TMR R1IF del pone regisstro T1CON y cuand do se tiene e desborde e del TIME ER1 se cam mbia de es stado al bit TMR1ON. T esborda el TIMER1 se analiza a el dato recibido r en n el decod dificador Cuando se de infra arrojo y se e almacena a el conte enido del registro r TM MR0 en un n registro auxiliar DAT TO_L. El co ontenido del d registro o auxiliar DATO_L D se compara a con un valor v de discrriminación de final de d la rutina a de limpie eza, si son n iguales se envía al control master el dato o de STOP P_ROBOT T y DATO_ _FIN en un determin nado interrvalo de tiempo genera URA. ado en la su ubrutina RET_LECT R.
(89) 71 3.4.33. SUBRU UTINA NO__LECTUR RA_FIN. Si el dato recibido no ess de final de d la rutina de limpieza se eje ecuta la su ubrutina _LECTURA A_FIN don nde se com mpara el co ontenido del d registro o DATO_L con un NO_ valor de discrim minación de d dato de puerta fro ontal, si son n iguales sse envía all control _ROBOT y DATO_FRONTAL. master el dato de STOP_ 3.4.44. SUBRU UTINA NO__LECTUR RA_FRONT TAL. Si el e dato reccibido no es de pu uerta fronttal o grad das frontales se eje ecuta la subrrutina NO_ _LECTURA A_FRONTA AL donde se compa ara el contenido del registro DAT TO_L con un u valor de discrimin nación de dato de puerta p laterral, si son iguales se envía al con ntrol maste er el dato de d STOP_R ROBOT y DATO_LA ATERAL. 3.4.55 A. la. SUBRU UTINA SAL LIR_LECT TURA_FIN salida a. de. lass. subrutiinas. ante eriores. s se. ejecutta. la. su ubrutina. URA_FIN en e donde se s reinician n en cero todos t los re egistros uttilizados SALIR_LECTU para a la decodificación (T TMR0, TMR R1L, TMR R1H, DATO O_L) y los d datos enviiados al conttrol masterr (STOP_R ROBOT, DA ATO_FIN, DATO_LA ATERAL, D DATO_FRO ONTAL) para a poder rea alizar nuevvamente la a decodifica ación de una u nueva señal recibida en el módulo rece eptor infrarrrojo.. gura 3.18 Diagrama D de flujo de el programa a DECODIIFICADOR R INFRARR ROJO Fig.
(90) 72. Figurra 3.19 Dia agrama de flujo de su ubrutina INTERRUPC CION_IR. Figurra 3.20 Dia agrama de flujo de su ubrutina NO O_LECTURA_FIN.
(91) 73. Figura 3.21 Diagra ama de flujo de subru utina NO_L LECTURA_ _FRONTA AL. Figura 3.22 Diag grama de fllujo de sub brutina SAL LIR_LECT TURA_FIN. Fig gura 3.23 Diagrama D d flujo de subrutina RET_LEC de CTURA.
(92) 74. 3.5. CONTR ROL DE FUENTE E DE INT TERRUPC CIÓN EX XTERNA. Para a el contro ol de fuente e de interrrupción ex xterna que afecta al control ma aster se utilizza un micro ocontrolador PIC16F F628A. El PIC16F628 P 8A tiene una distribu ución de entra adas/salida as como se e muestra en el diagrama de bloques b de la Figura 3.24. 3. gura 3.24 Diagrama D d bloquess de contro de ol de fuente es de interrrupción ex xterna Fig 3.5.11. PROGR RAMA CON NTROL IN NTERRUPCION EXT TERNA. Se requiere r co onfigurar al a PORTA y PORTB como enttradas/salid das digitale es para lo cu ual se alte era el con ntenido dell registro CMCON, TRISA y T TRISB, as sí como tamb bién el de bloquear todas las fuentes de e interrupcción, enton nces se altera los valores de los registros OPTION_ _REG, PIE1, PIR1 e INTCON como se muestra m a Figura 3.25. 3 En el programa a se discriminan situ uaciones para las cu uales se en la requ uiere el en nvío de dato d del decodificad d dor infrarro ojo o del sensor in nfrarrojo conttador de pa asos. 3.5.22. SUBRU UTINA STO OP_ROBOT T. Si el bit 0 del registro auxiliar AUX X_PORTC C está en alto, a se eje ecuta la su ubrutina OP_ROBOT T en donde se envvía al con ntrol mastter el dato o de interrrupción STO externa en el bit b 0 del PORTA P durrante un in ntervalo de e tiempo de eterminado o por la T_LECTUR RA para lu uego pone er en cero el dato e enviado al control subrrutina RET master. Esta subrutina s trrabaja en coordinació c ón con el decodificad d dor infrarro ojo..
(93) 75 3.5.33. SUBRU UTINA CON NTADOR__VUELTAS S. Si el bit 1 del registro auxiliar AUX X_PORTC C está en alto, a se eje ecuta la su ubrutina NTADOR_V VUELTAS en dond de se en nvía al co ontrol ma aster el dato d de CON interrrupción exxterna en el bit 0 de el PORTA durante un u determinado interrvalo de tiempo proporccionado po or la subru utina RET_ _LECTURA A para lue ego poner en cero do al conttrol master. Esta su ubrutina tra abaja en coordinaciión con el dato enviad ojo contado or de pasoss. senssor infrarro. Figura 3.2 25 Diagram ma de flujo del progra ama CONT TROL INTE ERRUPCIO ON EXTERN NA. Fig gura 3.26 Diagrama D d flujo de de e subrutina STOP_RO OBOT.
(94) 76. Figura 3.27 Diagrrama de flu ujo de subrrutina CON NTADOR_ _VUELTAS S. Fig gura 3.28 Diagrama D d flujo de subrutina RET_LEC de CTURA. 3.6. CONTR ROL MA ASTER. El co ontrol masster es el encargado e m de coordinar el funccionamientto de los motores de las rueda as y del sistema de limpie eza con la lectura de sens sores y uerimientoss de movim miento den ntro de una a habitació ón. Para el control se e utiliza requ un microcontr m rolador PIC16F877A A. El PIC C16F877A tiene una a distribuc ción de entra adas/salida as como se e muestra en el diagrama de bloques b de la Figura 3.29. 3.
(95) 77. Figura 3.29 Diagrama de bloques de control master del robot de limpieza 3.6.1 PROGRAMA CONTROL MASTER Se requiere configurar PORTA, PORTB, PORTC, PORTD y PORTE como entradas/salidas digitales, para lo cual se modifica el contenido de los registros ADCON1, TRISA, TRISB, TRISC, TRISD y TRISE, así también los registros auxiliares utilizados en las diferentes subrutinas. Antes de iniciar la subrutina LIMPIEZA se genera un retardo de tiempo de aproximadamente 2 segundos (Figura 3.51). 3.6.2 PROGRAMA PARA LIMPIEZA DE HABITACIÓN 3.6.2.1. Subrutina LIMPIEZA. Esta subrutina ejecuta dos desplazamientos principales (Figura 3.52):. !. AVANZAR_PRIMERO se ejecuta para que el robot adquiera datos desde donde se inicia la tarea de limpieza, esta acción es la primera ejecutada una vez realizado un encendido manual.. !. AVANZAR_RUTA se ejecuta en la parte interna de la habitación y se considera la presencia de obstáculos..
(96) 78 3.6.2.2. Subrutina AVANZAR_PRIMERO. Los casos donde se ejecuta la subrutina AVANZAR_PRIMERO (Figura 3.53), una vez realizado un encendido manual, son los siguientes:. Figura 3.30 Movimiento con subrutina AVANZAR_PRIMERO. Figura 3.31 Movimiento con subrutina AVANZAR_PRIMERO, al detectar una puerta En el movimiento de la Figura 3.30 el robot ejecuta las siguientes subrutinas:. !. AVANZAR_PRIMERO (Figura 3.53) para avanzar independientemente del número de pasos contados en la rueda derecha, revisar el estado de los sensores: frontales, ultrasónico derecho y del decodificador infrarrojo..
(97) 79 !. SALIR_AVANZAR_PRIMERO (Figura 3.55) por detección de obstáculo frontal al robot, revisar el estado del sensor ultrasónico derecho.. !. SALIR_AVANZAR_PRIMERO_D (Figura 3.58) para analizar el estado del sensor ultrasónico izquierdo.. !. GIRO_IZQUIERDA_RUTA (Figura 3.66) para cambio de ruta de retorno girar 900 hacia la izquierda e ingresar a la parte interna de la habitación a limpiar.. En el movimiento de la Figura 3.31 el robot ejecuta las siguientes subrutinas:. !. AVANZAR_PRIMERO (Figura 3.53) para avanzar independientemente del número de pasos contados en la rueda derecha, revisar el estado de los sensores: frontales, ultrasónico derecho y del decodificador infrarrojo.. !. SALIR_AVANZAR_PRIMERO_1 (Figura 3.54) para avanzar contando el número de pasos en la rueda derecha, revisar el estado del sensor ultrasónico derecho y del decodificador infrarrojo.. !. AVANZAR_PRIMERO (Figura 3.53) para conocer la próxima ruta a seguir dependiente de la lectura del sensor ultrasónico derecho.. Figura 3.32 Movimiento con subrutina AVANZAR_PRIMERO, al detectar una puerta y un obstáculo frontal.
(98) 80. Figura 3.33 Movimiento con subrutina AVANZAR_PRMERO, al detectar un obstáculo frontal, y además se tiene lectura en alto en el sensor ultrasónico izquierdo En el movimiento de la Figura 3.32 el robot ejecuta las siguientes subrutinas:. !. AVANZAR_PRIMERO (Figura 3.53) para avanzar independientemente del número de pasos contados en la rueda derecha, revisar el estado de los sensores: frontales, ultrasónico derecho y del decodificador infrarrojo.. !. SALIR_AVANZAR_PRIMERO_1 (Figura 3.54) para revisar el estado de los sensores frontales y del decodificador infrarrojo.. !. SALIR_AVANZAR_RUTA (Figura 3.62) para realizar lectura de los sensores ultrasónicos.. !. SALIR_AVANZAR_RUTA_A (Figura 3.63) para revisar el estado del sensor ultrasónico izquierdo, retroceder y girar 900 hacia la izquierda sin colisionar con el obstáculo detectado anteriormente.. !. GIRO_IZQUIERDA_RUTA (Figura 3.66) para cambio de ruta de retorno girar 900 hacia la izquierda e ingresar a la parte interna de la habitación a limpiar.. En el movimiento de la Figura 3.33 el robot ejecuta las siguientes subrutinas:. !. AVANZAR_PRIMERO (Figura 3.53) para avanzar independientemente del número de pasos contados en la rueda derecha, revisar el estado de los sensores: frontales, ultrasónico derecho y del decodificador infrarrojo..
(99) 81 !. SALIR_AVANZAR_PRIMERO (Figura 3.55) por detección de obstáculo frontal, revisar el estado del sensor ultrasónico derecho.. !. SALIR_AVANZAR_PRIMERO_D (Figura 3.58) para analizar el estado del sensor ultrasónico izquierdo.. !. SALIR_AVANZAR_PRIMERO_B (Figura 3.59) para salir de la restricción donde el robot está encerrado girar 1800 hacia la izquierda y avanzar independientemente del contado de pasos mientras el sensor ultrasónico derecho esté en alto; al cambiar el estado del sensor ultrasónico derecho se requiere otra ruta de retorno, entonces girar 900 hacia la derecha, avanzar (subrutina AVANZAR_GUSANO Figura 3.114) y girar 900 hacia la izquierda.. !. AVANZAR_RUTA (Figura 3.61) para avanzar independientemente del contador de pasos.. Figura 3.34 Movimiento con subrutina AVANZAR_PRIMERO, si el sensor ultrasónico derecho está en bajo En el movimiento de la Figura 3.34 el robot ejecuta las siguientes subrutinas:. !. AVANZAR_PRIMERO (Figura 3.53) para avanzar independientemente del número de pasos contados en la rueda derecha, revisar el estado de los sensores: frontales, ultrasónico derecho y del decodificador infrarrojo.. !. AVANZAR_SEGUNDO (Figura 3.60) para avanzar hasta encontrar un obstáculo. o. una. puerta,. girar. 900. independientemente del contador de pasos.. hacia. la. derecha. y. avanzar.
(100) 82 !. AVANZAR_TERCERO (Figura 3.56) por detección de obstáculo o puerta frontal y al estar en bajo el sensor ultrasónico izquierdo retroceder lo suficiente para girar 900 hacia la izquierda.. !. AVANZAR_PRIMERO (Figura 3.53) para conocer la próxima ruta a seguir dependiendo de la lectura del sensor ultrasónico derecho.. Figura 3.35 Movimiento con subrutina AVANZAR_PRIMERO, lectura del sensor ultrasónico derecho en bajo y en la subrutina AVANZAR_SEGUNDO lectura del sensor ultrasónico izquierdo en alto En el movimiento de la Figura 3.35 el robot ejecuta las siguientes subrutinas:. !. AVANZAR_PRIMERO (Figura 3.53) para avanzar independientemente del número de pasos contados en la rueda derecha, revisar el estado de los sensores: frontales, ultrasónico derecho y del decodificador infrarrojo.. !. AVANZAR_SEGUNDO (Figura 3.60) para detectar un obstáculo o una puerta frontal girar 900 hacia la derecha y avanzar independientemente del contador de pasos.. !. AVANZAR_TERCERO (Figura 3.56) por detección de obstáculo o puerta frontal, se tiene en alto la lectura del sensor ultrasónico izquierdo, entonces girar 1800 hacia la izquierda y luego avanzar independientemente del contado.
(101) 83 de pasos mientras lectura del sensor ultrasónico derecho en alto, al cambiar el estado del sensor ultrasónico derecho girar 900 hacia la derecha. AVANZAR_PRIMERO (Figura 3.53) conocer la próxima ruta a seguir, es. !. dependiente de la lectura del sensor ultrasónico derecho. 3.6.2.3 La. Subrutina AVANZAR_RUTA. subrutina. AVANZAR_RUTA. (Figura. 3.61). se. ejecuta. para. avanzar. independientemente del contador de pasos, tener en cuenta las lecturas de los sensores frontales y los datos que entrega el decodificador infrarrojo para ejecutar el respectivo giro para cambio de ruta (Figura 3.36).. a. b. Figura 3.36 Movimiento con subrutina AVANZAR_RUTA: a) Luego de subrutina GIRO_IZQUIERDA_RUTA, b) Luego de subrutina GIRO_DERECHA_RUTA 3.6.2.4. Subrutina GIRO_IZQUIERDA_RUTA. Los casos que se ejecuta la subrutina GIRO_IZQUIERDA_RUTA, son los siguientes:.
(102) 84. Figura 3.37 Movimiento con subrutina GIRO_IZQUIERDA_RUTA, no requiere evasión de obstáculo. Figura 3.38 Subrutina GIRO_IZQUIERDA_RUTA, requiere evasión de obstáculo En el movimiento de la Figura 3.37 el robot ejecuta las siguientes subrutinas:. !. GIRO_IZQUIERDA_RUTA (Figura 3.66) para girar 900 hacia la izquierda, ejecutar la subrutina AVANZAR_GUSANO (Figura 3.114) y revisar que se tiene en alto la lectura del sensor ultrasónico derecho.. !. GIRO_IZQUIERDA_RUTA_A (Figura 3.67) por tener en bajo la lectura del sensor ultrasónico izquierdo girar 900 hacia la izquierda.. !. AVANZAR_RUTA (Figura 3.61) para avanzar independientemente del contador de pasos.. En el movimiento de la Figura 3.38 el robot ejecuta las siguientes subrutinas:.
(103) 85 !. GIRO_IZQUIERDA_RUTA (Figura 3.66) para girar 900 hacia la izquierda, ejecutar la subrutina AVANZAR_GUSANO (Figura 3.114) y revisar que se tiene en alto la lectura del sensor ultrasónico derecho.. !. GIRO_IZQUIERDA_RUTA_A (Figura 3.67). por tener en alto la lectura del. sensor ultrasónico izquierdo, retroceder independientemente del contador de pasos mientras se tenga en alto las lecturas en los sensores ultrasónicos y girar 900 hacia la izquierda. !. AVANZAR_RUTA (Figura 3.61) para avanzar independientemente del contador de pasos.. Figura 3.39 Movimiento con subrutina GIRO_IZQUIERDA_RUTA, requiere evasión de obstáculo. Figura 3.40 Movimiento con subrutina GIRO_IZQUIERDA_RUTA, requiere evasión de obstáculo. En el movimiento de la Figura 3.39 el robot ejecuta las siguientes subrutinas:.
(104) 86 !. GIRO_IZQUIERDA_RUTA (Figura 3.66) para girar 900 hacia la izquierda, ejecutar la subrutina AVANZAR_GUSANO (Figura 3.114), revisar que se tiene en alto la lectura del sensor ultrasónico derecho.. !. SALIR_AVANZAR_GUSANO (Figura 3.107) por detección de obstáculo en la subrutina AVANZAR_GUSANO y también se tiene lectura en alto en el sensor ultrasónico izquierdo, entonces retroceder independientemente del contador de pasos pero mientras se tenga en alto las lecturas en los sensores ultrasónicos.. !. GIRO_IZQUIERDA_RUTA_A (Figura 3.67) por estar en bajo la lectura del sensor ultrasónico izquierdo, girar 900 hacia la izquierda.. !. AVANZAR_RUTA (Figura 3.61) para avanzar independientemente del contador de pasos.. En el movimiento de la Figura 3.40 el robot ejecuta las siguientes subrutinas:. !. GIRO_IZQUIERDA_RUTA (Figura 3.66) para girar 900 hacia la izquierda, ejecutar la subrutina AVANZAR_GUSANO (Figura 3.106) y revisar que se tiene en bajo la lectura del sensor ultrasónico derecho.. !. OBSTACULO_DERECHO (Figura 3.68) para analizar y esquivar el obstáculo.. 3.6.2.5. Subrutina GIRO_DERECHA_RUTA. Los casos que se ejecuta la subrutina GIRO_DERECHA_RUTA son los siguientes:. Figura 3.41 Movimiento con subrutina GIRO_DERECHA_RUTA, no requiere evasión de obstáculo.
(105) 87 En el movimiento de la Figura 3.41 el robot ejecuta las siguientes subrutinas:. !. GIRO_DERECHA_RUTA (Figura 3.69) para girar 900 hacia la derecha, ejecutar la subrutina AVANZAR_GUSANO (Figura 3.106), revisar que se tiene en alto la lectura del sensor ultrasónico izquierdo.. !. GIRO_ DERECHA _RUTA_A (Figura 3.70) por estar en bajo la lectura del sensor ultrasónico derecho, entonces girar 900 hacia la derecha.. !. AVANZAR_RUTA (Figura 3.61) para avanzar independientemente del contador de pasos.. Figura 3.42 Movimiento con subrutina GIRO_DERECHA_RUTA, requiere evasión de obstáculo. Figura 3.43 Movimiento con subrutina GIRO_DERECHA_RUTA, requiere evasión de obstáculo En el movimiento de la Figura 3.42 el robot ejecuta las siguientes subrutinas:.
(106) 88 !. GIRO_DERECHA_RUTA (Figura 3.69) para girar 900 hacia la derecha, ejecutar la subrutina AVANZAR_GUSANO (Figura 3.106), revisar que se tiene en alto la lectura del sensor ultrasónico izquierdo.. !. GIRO_DERECHA_RUTA_A (Figura 3.70) por estar en alto la lectura del sensor ultrasónico derecho, retroceder independientemente del contador de pasos mientras esté en alto las lecturas en los sensores ultrasónicos y finalmente girar 900 hacia la derecha.. !. AVANZAR_RUTA (Figura 3.61) para avanzar independientemente del contador de pasos.. En el movimiento de la Figura 3.43 el robot ejecuta las siguientes subrutinas:. !. GIRO_DERECHA_RUTA (Figura 3.69) para girar 900 hacia la derecha, ejecutar la subrutina AVANZAR_GUSANO (Figura 3.106), revisar que esté en alto la lectura del sensor ultrasónico izquierdo.. !. SALIR_AVANZAR_GUSANO (Figura 3.107) por detectar obstáculo frontal en la subrutina AVANZAR_GUSANO y tener lectura en alto en el sensor ultrasónico derecho, entonces retroceder independientemente del contador de pulsos mientras se tenga en alto las lecturas en los sensores ultrasónicos.. !. GIRO_DERECHA_RUTA_A (Figura 3.70) por estar en bajo la lectura del sensor ultrasónico derecho, entonces girar 900 hacia la derecha.. !. AVANZAR_RUTA (Figura 3.61) para avanzar independientemente del contador de pasos.. Figura 3.44 Movimiento con subrutina GIRO_DERECHA_RUTA, requiere evasión de obstáculo.
(107) 89 En el movimiento de la Figura 3.44 el robot ejecuta las siguientes subrutinas:. !. GIRO_DERECHA_RUTA (Figura 3.69) para girar 900 hacia la izquierda, ejecutar la subrutina AVANZAR_GUSANO (Figura 3.106), revisar que está en bajo la lectura del sensor ultrasónico derecho.. !. OBSTACULO_IZQUIERDO (Figura 3.71) para analizar y esquivar el obstáculo.. 3.6.2.6. Subrutinas para evasión de obstáculos. Los casos que se presentan para la evasión de obstáculos que se encuentran dentro de la habitación son:. !. La subrutina OBSTACULO_DERECHO es un caso en la subrutina GIRO_IZQUIERDA_RUTA.. !. La subrutina OBSTACULO_IZQUIERDO es un caso en la subrutina GIRO_DERECHA_RUTA.. a. b. Figura 3.45 Evasión de obstáculo en: a) GIRO_IZQUIERDA_RUTA b) GIRO_DERECHA_RUTA.
Documento similar
1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en
Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados
En este grupo se encuentran los Robots de muy diversa forma y configuración, cuya característica común es la de ser básicamente sedentarios (aunque excepcionalmente pueden ser
El fin último del presente trabajo es conseguir la sensorización de un robot paralelo utilizado para aplicaciones médicas, conocido como “TrueLock Hexapod” (TL-Hex)
"No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería
Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun
The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,
En cada antecedente debe considerarse como mínimo: Autor, Nombre de la Investigación, año de la investigación, objetivo, metodología de la investigación,