Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Director Editorial Marcelo Grillo Giannetto mgrillo@alfaomega.com.mx Jefe de Ediciones Francisco Javier Rodríguez Cruz jrodriguez@alfaomega.com.mx Datos catalográficos Ponce Cruz, Pedro; De la Cueva Hernández, Víctor M.; Ponce Espinosa, Hiram Robótica aplicada con LabVIEW y LEGO Primera Edición Alfaomega Grupo Editor, S.A. de C.V., México ISBN 978-607-707-696-4 Formato: 17 × 23 cm Páginas: 264 Robótica aplicada con LabVIEW y LEGO Pedro Ponce Cruz, Víctor M. De la Cueva Hernández, Hiram Ponce Espinosa Derechos reservados c©Alfaomega Grupo Editor, S.A. de C.V., México. Primera edición: Alfaomega Grupo Editor, México, febrero de 2015 c©2015 Alfaomega Grupo Editor, S.A. de C.V. Pitágoras 1139, Col. Del Valle, 03100, México D.F. Miembro de la Cámara Nacional de la Industria Editorial Mexicana Registro No. 2317 Pág. Web: http://www.alfaomega.com.mx E-mail: atencionalcliente@alfaomega.com.mx ISBN: 978-607-707-696-4 Derechos reservados: Esta obra es propiedad intelectual de sus autores y los derechos de publicación en lengua española han sido legalmente transferidos al editor. Prohibida su reproducción parcial o total por cualquier medio sin permiso por escrito del propietario de los derechos del copyright. Esta obra fue compuesta por el editor en Latex con el compilador MiKTeX 2.8. Nota importante: La información contenida en esta obra tiene un fin exclusivamente didáctico y, por lo tanto, no está previsto su aprovechamiento a nivel profesional o industrial. Las indicaciones técnicas y programas incluidos, han sido elaborados con gran cuidado por los autores y reproducidos bajo estrictas normas de control. ALFAOMEGA GRUPO EDITOR, S.A. de C.V. no será jurídicamente responsable por: errores u omisiones; daños y perjuicios que se pudieran atribuir al uso de la información comprendida en este libro, ni por la utilización indebida que pudiera dársele. Empresas del grupo: México: Alfaomega Grupo Editor, S.A. de C.V.-Pitágoras 1139, Col. Del Valle, México, D.F.-C.P. 03100. Tel.: (52-55) 5575-5022 - Fax: (52-55) 5575-2420 / 2490. Sin costo: 01-800-020-4396 E-mail: atencionalcliente@alfaomega.com.mx Colombia: Alfaomega Colombia S.A. - Calle 62 No. 20-46, Barrio San Luis, Bogotá, Colombia. Tel.: (57-1) 746 0102/210 0415. E-mail: cliente@alfaomega.com.co Chile: Alfaomega Grupo Editor, S.A. - Av. Providencia 1443. Oficina 24, Santiago, Chile. Tel.: (56-2) 2235-4248 - Fax: (56-2) 2235-5786. E-mail: agechile@alfaomega.cl Argentina: Alfaomega Grupo Editor Argentino, S.A. - Paraguay 1307 P.B. Of. 11, C.P. 1057, Buenos Aires, Argentina. Tel./Fax: (54-11) 4811-0887 y 4811 7183. E-mail: ventas@alfaomegaeditor.com.ar. Acerca de los autores Pedro Ponce estudió la carrera de Ingeniería en Control y Au- tomatización, y es Maestro en Ciencias y Doctor en Ciencias con especialidad en ingeniería eléctrica. El Dr. Ponce ha publicado tres libros y cinco capítulos en diferentes editoriales nacionales e internacionales, ha asesora- do más de 25 tesis de licenciatura y posgrado en el área de con- trol y automatización y ha sido miembro del Sistema Nacional de Investigadores. Actualmente es Director de la Maestría y Doctorado en Ciencias de la Ingeniería del Tecnológico de Monterrey, Campus Ciudad de México. El Dr. de la Cueva es Ingeniero en Sistemas Electróni- cos, Maestro en Ciencias Computacionales con espe- cialidad en Inteligencia Artificial y Doctor en Ciencias Computacionales con Especialidad en Inteligencia Ar- tificial. Es investigador en las áreas de Inteligencia Artifi- cial, Robótica y Educación, y Director de Investigación y Posgrado del Tecnológico de Monterrey, Campus Ciu- dad de México. Hiram Ponce es Ingeniero en Mecatrónica, Maestro en Cien- cias de la Ingeniería con especialidad en Control Inteligente, y actualmente estudia el Doctorado en Ciencias Compu- tificial denominada Artificial Organic Networks. Ha trabajado como investigador en robótica, mecatrónica, métodos de inteligencia artificial y control de sistemas, y es Profesor del departamento de computación en el Tecnológico de Monterrey, Campus Ciudad de México. tacionales, desarrollando una nueva técnica de inteligencia ar- . A Norma, Jaime y Pedro con todo mi cariño. A mi madre quien me enseña la parte humana de la vida. Pedro A mi esposa Paty y a mis hijos Ana y Vı́ctor. Vı́ctor A Omar Saldivar, con especial afecto y gratitud. A mis padres, por su apoyo incondicional. A todos los que tienen alma de ingeniero y corazón de niño. Hiram Mensaje del Editor Una de las convicciones fundamentales de Alfaomega es que los conocimien- tos son esenciales en el desempeño profesional, ya que sin ellos es imposible adquirir las habilidades para competir laboralmente. El avance de la ciencia y de la tecnologı́a hace necesario actualizar continuamente esos conocimientos, y de acuerdo con esta circunstancia Alfaomega publica obras actualizadas, con alto rigor cientı́fico y técnico, y escritas por los especialistas más destaca- dos del área respectiva. Consciente del alto nivel competitivo que debe de adquirir el estudiante du- rante su formación profesional, Alfaomega aporta un fondo editorial que se destaca por sus lineamientos pedagógicos que coadyuvan a desarrollar las competencias requeridas en cada profesión especı́fica. De acuerdo con esta misión, con el fin de facilitar la comprensi ´on y apropiación del contenido de esta obra, cada capı́tulo inicia con el planteamiento de los objetivos del mismo y con una introducción en la que se plantean los an- tecedentes y una descripción de la estructura lógica de los temas expuestos, asimismo a lo largo de la exposición se presentan ejemplos desarrollados con todo detalle y cada capı́tulo concluye con un resumen y una serie de ejerci- cios propuestos. Además de la estructura pedagógica con que está diseñado el contenido de nuestros libros, Alfaomega hace uso de los medios impresos tradicionales en combinación con las Tecnologı́as de la Información y las Comunicaciones (TIC) para facilitar el aprendizaje. Correspondiente a este concepto de edi- ción, todas nuestras obras tienen su complemento en una página Web en donde el alumno y el profesor encontrarán lecturas complementarias ası́ co- mo programas desarrollados en relación con temas especı́ficos de la obra. Los libros de Alfaomega están diseñados para ser utilizados en los procesos de enseñanza aprendizaje, y pueden ser usados como textos en diversos cur- sos o como apoyo para reforzar el desarrollo profesional, de esta forma Al- faomega espera contribuir ası́ a la formación y al desarrollo de profesionales exitosos para beneficio de la sociedad, y espera ser su compañera profesional en este viaje de por vida por el mundo del conocimiento. Contenido Introducción XV Capítulo 1. Introducción a la robótica 1 1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2. ¿Qué es un robot? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Componentes básicos de un robot . . . . . . . . . . . . . . . . . . . . . 5 1.3.1. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.2. Actuadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.3. Unidad de control . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3.4. Diseño mecánico . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4. Clasificación de robots . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.5. Modelado de los robots . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.5.1. Modelado de robots fijos . . . . . . . . . . . . . . . . . . . . . . 23 1.5.2. Modelado de robots móviles . . . . . . . . . . . . . . . . . . . . 24 1.6. Aplicaciones de los robots . . . . . . . . . . . . . . . . . . . . . . . . . 28 Capítulo 2. Robots LEGO NXT 29 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.2. ¿Qué es un robot NXT? . . . . . . . . . . . . . . . . . . . . . . . . .. 30 2.3. Componentes básicos de un robot NXT . . . . . . . . . . . . . . . . . 31 2.3.1. Sensores NXT . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3.2. Motores NXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.3.3. Conectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.3.4. Bloque inteligente NXT . . . . . . . . . . . . . . . . . . . . . . 49 2.3.5. Estructura de bloques LEGO . . . . . . . . . . . . . . . . . . . 53 2.4. Ejemplos de robots NXT . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.4.1. Diseño de tracciones . . . . . . . . . . . . . . . . . . . . . . . . 55 2.4.2. Diseño de piernas . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.4.3. Diseño de brazos robóticos y manipuladores . . . . . . . . . . . 58 ix XIII x Contenido Capítulo 3. Entorno de programación NXT 61 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.2. Conexión entre el robot NXT y LabVIEW . . . . . . . . . . . . . . . . 62 3.3. Introducción a la programación básica en LabVIEW . . . . . . . . . . 63 3.4. Estructura de la caja de herramientas LEGO NXT . . . . . . . . . . . 73 3.5. Inicialización de la programación NXT en LabVIEW . . . . . . . . . 75 3.6. Manejo de sensores NXT . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.6.1. Sensor de contacto NXT . . . . . . . . . . . . . . . . . . . . . . 78 3.6.2. Sensor de luz NXT . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.6.3. Sensor ultrasónico NXT . . . . . . . . . . . . . . . . . . . . . . 81 3.6.4. Sensor de sonido NXT . . . . . . . . . . . . . . . . . . . . . . . 81 3.6.5. Brújula NXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.6.6. Sensor de color NXT . . . . . . . . . . . . . . . . . . . . . . . . 84 3.6.7. Acelerómetro NXT . . . . . . . . . . . . . . . . . . . . . . . . 84 3.6.8. Sensor de temperatura NXT . . . . . . . . . . . . . . . . . . . 85 3.7. Manejo de motores NXT . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.8. Comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.8.1. Comunicación USB y comunicación Bluetooth . . . . . . . . . . 87 3.8.2. Programación de la comunicación en robots NXT . . . . . . . . 88 Capítulo 4. Sistemas de control empleando robots NXT 93 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2. Sistemas de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.2.1. Señales que conforman un sistema de control . . . . . . . . . . 96 4.2.2. Componentes básicos de un sistema de control . . . . . . . . . 98 4.3. Sistema de control en lazo abierto y lazo cerrado . . . . . . . . . . . . 100 4.4. Tipos de controladores . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.4.1. Controlador de dos posiciones . . . . . . . . . . . . . . . . . . . 104 4.4.2. Controladores PID . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.5. Robot Segway. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . 116 4.5.1. Transporte personal Segway . . . . . . . . . . . . . . . . . . . . 116 4.5.2. Modelación de un Segway mediante robots NXT . . . . . . . . 116 4.5.3. Robot Segway NXT . . . . . . . . . . . . . . . . . . . . . . . . 117 4.5.4. Implementación del robot Segway NXT . . . . . . . . . . . . . 120 Capítulo 5. Introducción al entorno de programación de los LEGO Mindstorms 123 Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Contenido xi 5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.2. Funciones básicas en el NXT LEGO Mindstorms . . . . . . . . . . . . 126 5.2.1. Funciones básicas con los comandos directos del NXT . . . . . 126 5.2.2. Sensor al tacto . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 5.2.3. Sensor ultrasónico . . . . . . . . . . . . . . . . . . . . . . . . . 128 5.2.4. Sensor de luz y color . . . . . . . . . . . . . . . . . . . . . . . . 130 5.2.5. Motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 5.3. Funciones básicas con el Toolkit NXT . . . . . . . . . . . . . . . . . . 132 5.3.1. Visualización de mensajes . . . . . . . . . . . . . . . . . . . . . 133 5.3.2. Sensor al tacto . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5.3.3. Sensor ultrasónico . . . . . . . . . . . . . . . . . . . . . . . . . 135 5.3.4. Sensor de luz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 5.3.5. Motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.3.6. Sensor de rotación . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.3.7. Comunicación vía Bluetooth entre el robot NXT LEGO MindsMindstorms y LabVIEW . . . . . . . . . . . . . . . . . . 138 5.4. Ingeniería de control par a las ruedas . . . . . . . . . . . . . . . . . . . 141 Capítulo 6. Planificación de ruta 149 6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.2. Robots en la planificación de ruta . . . . . . . . . . . . . . . . . . . . . 154 6.3. Técnicas básicas de planeación de ruta . . . . . . . . . . . . . . . . . . 155 6.3.1. Robots fijos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 6.4. Espacio de configuración . . . . . . . . . . . . . . . . . . . . . . . . . . 162 6.5. Robots móviles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 6.5.1. Hojas de ruta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Capítulo 7. Planificación de trayectorias con espacios variantes en el tiempo 177 7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.2. Introducción del tiempo en el espacio de trabajo . . . . . . . . . . . . 178 7.3. Definición del problema . . . . . . . . . . . . . . . . . . . . . . . . . . 181 7.4. Planificación para dos objetos en movimiento en un plano . . . . . . . 181 7.4.1. Un solo espacio de configuraciones . . . . . . . . . . . . . . . . 182 7.4.2. Desacoplando los robots . . . . . . . . . . . . . . . . . . . . . . 184 7.4.3. Manteniendo el tiempo de recorrido constante . . . . . . . . . . 187 7.4.4. Movimientos secuenciales de los robots . . . . . . . . . . . . . . 190 7.5. Otros problemas de planificación con objetos en movimiento . . . . . . 192 Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega xii Contenido Capítulo 8. Planificación de trayectorias en reversa (o planificación invertida de trayectorias) 195 8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 8.2. Definición del problema . . . . . . . . . . . . . . . . . . . . . . . . . . 197 8.3. Espacio discreto de planificación en reversa . . . . . . . . . . . . . . . 198 8.4. Algoritmo de propagación de onda . . . . . . . . . . . . . . . . . . . . 199 8.5. Algoritmo de búsqueda en árboles . . . . . . . . . . . . . . . . . . . . 202 8.6. Algoritmo de diagramas de Voronoi . . . . . . . . . . . . . . . . . . . . 205 8.6.1. Conexión mediante búsqueda en árboles . . . . . . . . . . . . . 208 8.6.2. Recorrido mediante propagación de onda . . . . . . . . . . . . 209 8.7. Algoritmos de planificación en reversa en espacios continuos . . . . . . 210 Capítulo 9. Planificación de trayectorias con sensores 213 9.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 9.1.1. Definición del problema . . . . . . . . . . . . . . . . . . . . . . 214 9.2. Algoritmos de seguimiento de orillas . . . . . . . . . . . . . . . . . . . 215 9.2.1. Algoritmo de seguimiento de orillas básico . . . . . . . . . . . . 216 9.2.2. Algoritmo de seguimiento de orillas modificado . . . . . . . . . 218 9.3. Algoritmos de navegación sin choque . . . . . . . . . . . . . . . . . . . 220 9.4. Algoritmos de seguimiento de línea . . . . . . . . . . . . . . . . . . . . 221 9.5. Algoritmos para sensores de visión . . . . . . . . . . . . . . . . . . . . 224 Capítulo 10. Ejemplos de planificaciónLEGO 227 10.1. Ejemplos del capítulo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . 228 10.2. Ejemplos del capitulo 8 . . . . . . . . . . . . . . . . . . . . . . . . . . 234 10.3. Ejemplos del capitulo 9 . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Bibliografía 243 Índice analítico 245 Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce � ���� �� ���� � �� ����� ���� � @��������������� ���� ��������� ��� ������ �������#� ����������� -� � 8&�1�������������-�����-OO��#� 4�#&���� ���& � � ;&�1������������)���������� � �!�������� �������� ������������ ������������#� �������� � �78���������� ����������������� �������� ����������� �����������������4�#������� � � �����.��� &� � #��������� #��������������������� ���� ����������������#��& Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega Robótica aplicada con LabVIEW y LEGO Introducción La robótica es, sin lugar a dudas, uno de los temas favoritos en los que un joven estudiante piensa cuando decide dedicarse a la ingeniería, es una rama de la ciencia sumamente atractiva. Desde luego que la ciencia ficción ayudó mucho a aumentar su popularidad, sin embargo, en la actualidad su popularidad la ha ganado con creces al mostrar todos los beneficios que tiene su aplicación en muchas áreas del conocimiento. Otra razón por la que ha ganado tanta popularidad tiene que ver con su naturaleza multidisciplinaría. La robótica se puede tratar desde el punto de vista de la mecánica, la computación, la inteligencia artificial, la ingeniería industrial, el control, entre otras. Inclusive algunas áreas que no son de la ingeniería tienen que ver de alguna forma con la robótica. Tal es el caso por ejemplo de la mercadotecnia que tuvo que diseñar nuevas campañas de publicidad para productos derivados de la robótica, o la psicología que ha tenido que entender ahora la interacción humano-máquina en una forma diferente a como lo hacía con la computadora. La robótica se incorporó rápidamente a los programas de estudios en muchas universidades y, en la actualidad, las escuelas primarias, secundarias y preparatorias, también la han agregado a sus estudios debido a que han desarrollado aplicaciones educativas que ayudan a entender ciertos conceptos a los alumnos de una forma más práctica e intuitiva. En este sentido la robótica es una excelente herramienta para cursos de introducción a la ingeniería, computación, matemáticas, física y muchas otras. El punto fundamental que detonó la adopción de la robótica en los centros educa- tivos fue la posibilidad de adquirir robots para las prácticas de los alumnos. Algunas empresas se dedicaron a la fabricación de robots de bajo costo que los colocó al alcance de los centros educativos. Estos robots parecen juguetes pero en realidad cuentan con las características necesarias para poder practicar su control y luego extender lo apren- dido a robots industriales. A este tipo de robótica se le conoce como minirobótica o robótica educativa. Una de las primeras compañías en fabricar este tipo de robots fue LEGO R©, la cual es una compañía líder en robótica educativa. Las nuevas tecnologías y el acelerado crecimiento de éstas han dado como resultado la solución de muchos problemas sociales, la facilidad y comodidad de nuestras vidas diarias, la automatización de procesos domésticos e industriales, etc. No obstante, también han facilitado la oportunidad de acercamiento al conocimiento científico y tecnológico de un mayor número de personas. xv x iv Introducción Desde esta perspectiva, este libro tiene el objetivo de mostrar de forma teórica y práctica distintas técnicas utilizadas en la academia e industria para el desarrollo de sistemas robóticos, haciendo un recorrido desde los conceptos de robótica hasta los algoritmos de control y técnicas de planificación de trayectorias. En especial, se hace uso de los sistemas robóticos LEGO Mindstorms NXT junto con la plataforma de desarrollo LabVIEW con la finalidad de mostrar y proveer una plataforma de rápido desarrollo a estudiantes, profesionistas, científicos, investigadores e interesados en las tecnologías mecatrónicas. En términos más específicos en el capítulo 1 se define lo que es un robot, se describen los componentes básicos del mismo y se presenta la clasificación, modelado y aplicaciones generales de los robots; en el capítulo 2 se define el robot NXT, se describen sus componentes básicos y se presentan ejemplos de éste; en el capítulo 3 se expone la relación entre el robot NXT y el programa LabVIEW, así como la programación asociada con el manejo de los sensores y motores NXT; en el capítulo 4 se exponen los sistemas de control y el robot segway; en el capítulo 5 se describen las funciones básicas en el NXT LEGO Mindstorms y con el Toolkit NXT; en los capítulos 6 y 7 se presenta la planificación de ruta de robots móviles; en el capítulo 8 se exponen los algoritmos de propagación de onda, de búsqueda de árboles, de diagramas de Voronoi, y de planificación en reversa en espacios continuos; en el capítulo 9 se presenta el algoritmo de seguimiento de orillas, de navegación sin choque, y de seguimiento de línea; finalmente en el capítulo 10 se exponen ejemplos desarrollados de lo expuesto en los capítulos 7, 8 y 9. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 2 Capítulo 1. Introducción a la robótica Al igual que los hijos biológicos de generaciones anteriores, las máquinas representan la mejor esperanza de la humanidad para un futuro a largo plazo. Moravec 1.1 Introducción Desde hace mucho tiempo se ha tenido la idea de crear máquinas con capacidades similares a las del ser humano. Después de muchos esfuerzos y sobre todo a partir del siglo XX, se comenzaron a desarrollar las máquinas automáticas, naciendo de esta manera los sistemas robóticos. Así los sistemas robóticos se encuentran dentro del desarrollo tecnológico enfocán- dose esencialmente en el diseño, construcción, implementación, comercialización y aplicación de robots. Con ello se busca obtener máquinas automáticas que permitan tomar decisiones en los campos industrial, de la medicina, aeroespacial y biotecnológi- co, entre muchos otros donde es posible que los trabajos sean peligrosos o rutinarios para las personas. En otros casos, los sistemas robóticos también se aplican para la solución de problemas sociales y el entretenimiento. El núcleo principal de todo sistema robótico es la máquina automática conocida como robot. Con la finalidad de entender los sistemas robóticos, se introduce en este capítulo el concepto de robot y las partes que lo componen. También se describen las formas más comunes de clasificarlos, y posteriormente algunos métodos de modelación de robots que permiten diseñar y desarrollar tareas robóticas. Por último, en la parte final de este capítulo se presentan algunas aplicaciones de robots en el mundo actual. 1.2 ¿Qué es un robot? Robot Un robot es un dispositivo electromecánico capaz de interactuar en un medio sujeto a las leyes físicas, el cual incluye un sistema de sensores y un sistema de actuadores, que en conjunto son regulados a través de una unidad de control. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.2 ¿Qué es un robot? 3 El objetivo principal de un robot es la realización de tareas mediante ejecuciones de movimiento dentro del medio. Para realizar las distintas tareas que se les asignan, los robots deben contar con un diseño mecánico único y adaptado a las necesidades o requerimientos, de tal manera que los robots pueden ser: vehículos con ruedas o piernas (figura 1.1a), manipuladores en forma de brazo o manos (figura 1.1b), sistemas aéreos con alas o hélices (figura 1.1c), o una combinación de los anteriores, entre otros. Por lo tanto, un componente esencial de cualquier robot es su sistema mecánico, que además de funcionar como soporte o esqueleto de éste, también está adaptado para las funciones que realizará. En la actualidad, los robotsno están limitados al mundo físico; también existen robots virtuales. (a) (b) (c) Figura 1.1 Ejemplos de robots: (a) vehı́culo terrestre; (b) manipulador; (c) vehı́culo aéreo. Robots virtuales Los robots virtuales son implementaciones computacionales que actúan de manera automática para llevar a cabo un fin, tomando en cuenta sistemas de decisión que le aportan un nivel de “inteligencia”. Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 4 Capítulo 1. Introducción a la robótica De acuerdo con estas definiciones, en términos generales un robot de cualquier tipo se considera un agente automático basado en la toma de decisiones y que interactúa en un medio específico. Todo robot es considerado un agente inteligente, donde la inteligencia se entiende como los distintos niveles que tiene el proceso de toma de decisiones. Por ejemplo, si un robot únicamente reacciona a la presencia o ausencia de luz (sin importar la intensidad de ésta), se habla de un robot poco inteligente; en cambio, un robot aerodinámico que toma decisiones con respecto a la humedad relativa, temperatura, velocidad del viento, etcétera, y hace un pronóstico sobre la mejor decisión posible, se considera como un robot con un nivel de inteligencia mayor. En contraparte, un robot que es operado por un ser humano o por otro robot se dice que no es inteligente porque la toma de decisiones no está a su cargo. Sin embargo, la noción de inteligencia robótica sigue siendo aún tema de debate entre científicos y tecnólogos. Lo único claro es que el proceso de toma de decisiones se encuentra implementado en otro componente importante de los robots que se conoce como unidad o sistema de control. Unidad de control La unidad de control de un robot consta de hardware especializado, co- mo microprocesadores, y de software que incluye la lógica de programación (algoritmos) junto con las reglas de decisión. Otro aspecto importante a tomar en cuenta en los robots es su sistema de sensores, el cual actúa permite hacer mediciones al medio y con base en éstas tomar las decisiones necesarias. Hay muchos sensores que, dependiendo de la aplicación, son elegidos e incorporados a los robots. En especial, la distribución de los sensores en el robot es un aspecto muy importante a tomar en cuenta, así como los posibles riesgos o interferencias que puedan tener por el medio mismo. Finalmente, el sistema de actuadores es el último componente importante de cualquier robot. Estos actuadores están diseñados para llevar a cabo acciones sobre el medio; en particular, los actuadores toman las señales eléctricas provenientes de la unidad de control y las transforman en otro tipo de energía, casi siempre mecánica. Un ejemplo clásico son los motores, transformando la energía eléctrica en movimien- to circular que posteriormente puede acoplarse a otros sistemas mecánicos y llevar a cabo distintos tipos de movimiento. Por lo anterior, un robot es un sistema complejo que toma en cuenta sensores y actuadores que son regulados a través del sistema de control; y que en conjunto, llevan a cabo acciones del robot sobre el medio ambiente en donde se desenvuelve. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.3 Componentes básicos de un robot 5 1.3 Componentes básicos de un robot Como se describió anteriormente, un robot cuenta con cuatro componentes básicos que en conjunto le permiten alcanzar el objetivo de las tareas especificadas. Los cuatros componentes básicos son: sistema de sensores, sistema de actuadores, sistema de con- trol y estructura mecánica. La figura 1.2 muestra un diagrama sobre los componentes de un robot. A continuación, se explica brevemente cada uno de los componentes básicos de un robot. Figura 1.2 Componentes de un robot. 1.3.1 Sensores Un sensor es un dispositivo capaz de medir cantidades físicas y expresar esa informa- ción en una señal que pueda ser leída o interpretada por otro dispositivo. La mayoría de los sensores actuales y los utilizados en las aplicaciones robóticas, expresan las mediciones mediante señales eléctricas. Algunas cantidades físicas, llamadas variables de instrumentación, que pueden medirse con sensores son: temperatura, humedad re- lativa, intensidad luminosa, fuerza mecánica, inclinación, desplazamiento, aceleración, presión, intensidad sonora, etc. Algunos ejemplos de sensores, se presentan en la figura 1.3. Cuando se está desarrollando una aplicación robótica es importante determinar cuáles sensores van a ser utilizados en el robot y cómo funcionarán; además de escoger con cuidado el lugar donde se colocarán en la estructura mecánica. Con el propósito de tener una perspectiva clara sobre los sensores, en este apartado se tratarán las características principales de los sensores y los tipos de sensores según su principio de funcionamiento. Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 6 Capítulo 1. Introducción a la robótica Caracterı́sticas de los sensores Una de las prácticas principales en el momento de elegir los sensores que se requieren en un robot, es la detección de las características más comunes. A continuación, se presentan algunas características: (a) (b) (c) Figura 1.3 Ejemplos de sensores: (a) de temperatura, (b) acelerómetro, (c) de distancia. Rango. Es el intervalo de medición del sensor, determinado por el valor más pequeño de la cantidad física a medir y el valor más grande que puede ser medi- do. Por ejemplo, si un termómetro puede medir valores entre −6◦C y +120◦C; entonces, éstos datos son el rango de medición del sensor. Precisión. Es la magnitud del valor máximo de error que existe entre el valor esperado y el valor medido por el sensor; es decir, después de una serie de repetir un mismo experimento y medir la misma cantidad física con el mismo instrumento, la precisión define qué tan cercano o alejado está el valor medido con respecto al valor real esperado, típicamente calibrado a través de estándares. Entre más pequeño sea este valor, significa que el sensor tiene mejor precisión. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.3 Componentes básicos de un robot 7 Linealidad. Determina la correlación existente entre el valor medido de la can- tidad física y el valor de interpretación o codificación del sensor. Si la variación en el valor medido es proporcional a la variación en el valor codificado; entonces, el sensor presenta linealidad. En caso contrario, el sensor es no lineal. Resolución. Valor mínimo de la magnitud de variación que puede ser medido. Por ejemplo: si la temperatura de un ambiente oscila entre los valores reales de +5.0◦C y +8.4◦C; pero un termómetro sólo entrega como valores medidos +5◦C, +6◦C, +7◦C y +8◦C; entonces, se dice que la variación mínima que puede medir el sensor es de 1◦C. Rapidez. Determina qué tan rápido o qué tan lento puede medir los cambios de valor en la cantidad física. Señal de salida. Es el tipo de señal que se entrega una vez que se ha medido el valor de la cantidad física. Existen las señales de salida analógicas y las digitales. Las primeras son aquellas que varían dentro de un rango de valores posibles; por ejemplo: medición de temperatura, medición de humedad relativa, etc. Por el contrario, las señales de salida digitales son aquellas que están representadas mediante valores finitos conocidos como valores lógicos (cero o uno). Tipo de material. Dependiendo de las aplicaciones o del ambiente donde se desarrolle el robot, los sensores tienen que cumplir con materiales que le permitan la máxima duración y que no manipule o interfiera con las mediciones. Los materiales pueden ser anticorrosivos, inoxidables, biocompatibles, etc. Tipos de sensores Además de las características de un sensor, también se debe considerar cuál es el prin- cipio de funcionamiento ya que dependiendo de esto se pueden encontrar diferencias al momento de hacer una medición sobre una cantidad física. Por lo tanto, cada principio de funcionamiento tienesus ventajas y desventajas que han de tomarse en cuenta para la selección de sensores en los sistemas robóticos. La mayoría de los sensores ocupa alguno de los siguientes principios: resistivos, capacitivos, inductivos, piezoeléctricos, ópticos, termoeléctricosy ultrasónicos. A continuación, se presenta una breve descripción de cada principio de funcionamien- to y algunos ejemplos de sensores que los ocupan. Sensores resistivos. Basados en la resistividad eléctrica, los sensores de este tipo miden cantidades físicas que de manera directa o indirecta afectan la re- sistencia de algún componente resistivo. Algunos componentes resistivos más utilizados para estos propósitos son los potenciómetros y las galgas exten- siométricas. Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 8 Capítulo 1. Introducción a la robótica Los potenciómetros son componentes eléctricos que permiten variar de ma- nera proporcional su resistencia a través de un cursor típicamente cilíndri- co; otros potenciómetros tienen cursores de desplazamiento lineal que también tienen el mismo funcionamiento. En cualquier caso, los sensores basados en este tipo de potenciómetros tienen una salida analógica proporcional al valor de medición de la cantidad física. La figura 1.4a muestra un ejemplo de poten- ciómetro. Por otra parte, las galgas extensiométricas son delgadas láminas que pueden deformarse ligeramente y regresar a su estado normal después de aplicar una fuerza externa. Este tipo de materiales varían ligeramente la resistencia eléctrica del material, lo cual permite medir el valor de una cantidad física correlacionada. La figura 1.4b muestra un ejemplo de galga extensiométrica. Los sensores resistivos pueden utilizarse en la medición de fuerza, posición, peso, presión, entre otros. (a) (b) Figura 1.4 Ejemplos de componentes resistivos: (a) potenciómetros, (b) galgas extensiométricas. (a) (b) Figura 1.5 (a) Capacitor variable, (b) sensor capacitivo de proximidad. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.3 Componentes básicos de un robot 9 Sensores capacitivos. Basados en la medida del cambio de la capacitancia sufrida por un capacitor cuando un objeto está expuesto de manera cercana a éste, los sensores capacitivos permiten medir presencia, posición, aceleración, presión, nivel de líquidos, entre otros. Por lo tanto, el capacitor o condensador es el componente eléctrico funda- mental en este tipo de sensores. La idea que hay en el funcionamiento de estos sensores es la variación de la capacitancia del condensador; por lo que existen tres formas de variarlo según los parámetros de capacitancia, los cuales son la permisividad relativa del material, el área efectiva entre las placas del conden- sador y la distancia entre las placas. En la figura 1.5 se muestra unejemplo de capacitor variable (figura 1.5a) y un sensor capacitivo de proximidad (figura 1.5b). Sensores inductivos. Este tipo de sensores están basados en la variación de la reluctancia en materiales inductivos; por lo que son buenos sensores para aplicaciones como detección de presencia, determinación de posición, contadores de piezas, finales de carrera, entre otros. Estos sensores contienen una bobina con núcleo ferromagnético el cual está alimentado por un circuito oscilador que permite mantener una señal sinusoidal de amplitud constante a una frecuencia determinada. Cuando un objeto se en- cuentra cerca del sensor, la amplitud de la señal sinusoidal se ve disminuida por el aumento de la reluctancia del material, lo cual permite distinguir entre la presencia y ausencia de objetos; además la variación de esta amplitud también permite determinar la cercanía de los objetos. En la figura 1.6 se muestra un ejemplo de sensor inductivo. Figura 1.6 Ejemplo de sensor inductivo de proximidad. Sensores piezoeléctricos. Este tipo de sensores están basados en el efecto piezoeléctrico de algunos materiales; lo cual permite relacionar algunas canti- dades físicas como la fuerza con respecto al material piezoeléctrico del sensor y así producir una medición. Un material piezoeléctrico (por ejemplo el cuarzo) es aquel tiene la propiedad tal que al momento de deformarse puede producir una pequeña variación de voltaje durante unos instantes después de la deformación. Debido a que úni- camente por unos instantes se produce la variación de voltaje, las mediciones Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 10 Capítulo 1. Introducción a la robótica únicamente son válidas unos instantes después de la deformación, mientras que en tiempo infinito esto no es válido. En la figura 1.7 se muestra un sensor piezoeléctrico. Estos sensores son muy utilizados para medición de impactos, vibraciones, tracción y comprensión; es decir, hacen mediciones de fuerzas con dinámicas muy altas. Figura 1.7 Ejemplo de sensor piezoeléctrico para vibraciones. Sensores ópticos. Este tipo de sensores está basado en la transmisión de rayos de luz y su posterior recepción, lo cual permite determinar rápidamente la presencia de objetos, el conteo de piezas, la frecuencia de rotación, entre otros. Existen distintas configuraciones de sensores ópticos. Por ejemplo, se puede tener el transmisor del haz de luz en un lugar y el receptor en otro, lo que permite la detección de interrupciones de este rayo. Otra configuración es tener el transmisor y receptor en un mismo lugar; en este caso es necesario un espejo que permita el rebote de la señal de luz para que regrese al receptor. De manera similar al anterior, están los sensores difusos que en lugar de utilizar un espejo, utilizan al propio objeto a detectar, asumiendo que este tiene una superficie laminar que permita el retorno del haz de luz al receptor. En cualquier caso, este tipo de sensor utiliza luz infrarroja que no es perceptible por el ojo humano, o bien, rayos láser. En la figura 1.8 se muestra un sensor óptico. Figura 1.8 Ejemplo de sensor óptico. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.3 Componentes básicos de un robot 11 Sensores termoeléctricos. Basados en el cambio de una cantidad física eléc- trica en el componente principal por efecto del cambio de temperatura, estos sensores pueden medir la temperatura del ambiente, de un fluido o de un mate- rial en contacto. Los principales sensores termoeléctricos se basan en dos componentes: las termoresistencias y los termopares. En un primer caso, las termoresistencias (figura 1.9a) son resistencias eléctricas que varían notablemente su resistivi- dad por efecto del cambio de temperatura; lo cual permite medir un cambio de voltaje cuando estas resistencias se encuentran en un circuito eléctrico de alimentación. Por otro lado, los termopares (figura 1.9b) son dispositivos que están diseñados con la unión de dos metales distintos que producen un cambio de voltaje cuando se calientan; efecto conocido como de Seebeck. Figura 1.9 Ejemplo de sensor termoeléctrico. Sensores ultrasónicos. Basados en la emisión de una onda sonora y su pos- terior recepción, estos sensores acústicos pueden medir posición, distancia, pre- sencia, entre otros. Este tipo de sensores emiten una señal acústica, típicamente no audible para el oído humano en el rango de los ultrasónicos, que terminan rebotando en el objeto que se busca detectar. La señal sonora regresa al sensor el cual registra el tiempo que le toma a la señal en viajar desde que se emitió hasta que se recibió. Basado en el movimiento rectilíneo uniforme, se puede detectar la distancia a la que se encuentra el objeto, asumiendo que la velocidad del sonido en el aire es constante. En otros casos, para la detección de objetos basta con medir si la onda sonora regresa o no al sensor. En la figura 1.10 se muestra un ejemplo de sensor ultrasónico. Figura 1.10 Ejemplo de sensor ultrasónico. Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 12 Capítulo 1. Introducción a la robótica 1.3.2 Actuadores Un actuadores un dispositivo capaz de intervenir en el sistema robótico con la fina- lidad de llevar a cabo la tarea planificada. En particular, los actuadores auxilian al robot para que pueda interactuar con el medio ambiente en donde se desarrolla. Adicionalmente, todo actuador responde a señales eléctricas de entrada y dependiendo del tipo de energía empleado para su salida, los actuadores más comunes se pueden clasificar como: actuadores eléctricos, actuadores neumáticos, actuadores hidráulicos y actuadores térmicos. Actuadores eléctricos Los actuadores eléctricos más comunes en el ámbito de la robótica son los relevadores, los optoacopladores y los motores eléctricos. En el primer caso, un relevador o relé es un dispositivo eléctrico que puede conectar o desconectar una o varias líneas eléctricas en respuesta a una señal eléctrica de mando. Cuando una señal eléctrica de mando es enviada al relevador, esta señal pasa a través de una bobina que actúa como electroimán y permite mover un contacto eléctrico. Dependiendo del estado normal de los relevadores, éstos se pueden clasificar como normalmente abiertos o normalmente cerrados; lo cual indica, si en estado de no conducción de señal de mando, las líneas eléctricas a controlar están abiertas (no hay paso de corriente eléctrica) o cerradas (sí hay paso de corriente eléctrica). Por lo regular, los relevadores se utilizan cuando las señales que se quieren controlar son de una potencia mayor y distinta a la señal de mando; o bien, cuando las señales eléctricas que se desean controlar están desacopladas del sistema de control. En la figura 1.11 se muestra un ejemplo de relevador eléctrico. Figura 1.11 Ejemplo de relevador eléctrico. Figura 1.12 Ejemplo de optoacoplador. Otro accionamiento eléctrico es el transistor optoacoplado (figura 1.12). Estos dispo- sitivos son de estado sólido y están basados en el modo de conducción o no-conducción Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.3 Componentes básicos de un robot 13 de los mismos, lo que permiten que funcionen como interruptores eléctricos, dejando o no dejando pasar la corriente eléctrica entre un circuito eléctrico acoplado. Al igual que los relevadores, estos son utilizados para desacoplar circuitos eléctricos y para el manejo de circuitos de potencia. Por su funcionamiento y diseño, estos accionamientos eléctricos pueden ser puramente transistores, o bien, basados en tiristores o triacs. Para su acoplamiento entre la señal de control y la señal de potencia, se lleva a cabo a través de optotransistores; donde, del lado de la señal de control se emite un haz de luz y del lado de la señal de potencia se recibe el haz de luz que permite cerrar o abrir el circuito de potencia. Finalmente, los motores eléctricos son dispositivos que permiten transformar la energía eléctrica en energía mecánica, con lo cual se pueden llevar a cabo movimientos circulares. Dependiendo de la configuración de los sistemas acoplados a los motores eléctricos, también se pueden generar movimientos lineales. Los motores eléctricos están clasificados en dos tipos: los de corriente continua y los de corriente alterna. Los motores de corriente continua son fáciles de utilizar ya que la señal de control es proporcional a la velocidad de rotación; sin embargo, este tipo de motores tienen mucho desgaste y el mantenimiento suele ser costoso. Por otro lado están los motores de corriente alterna que son difíciles de utilizar sin un controlador; pero que normalmente no requieren de mantenimiento. Para el uso en robots, todos los motores eléctricos son regulados a través de cir- cuitos eléctricos de control o controladores. Dependiendo de su naturaleza, pueden ser accionados a través de un control conocido como PWM (modulación de ancho de pulso, por sus siglas en inglés), por variadores de frecuencia o mediante señales de corriente continua. Unos motores especiales, conocidos como servomotores, son regulados de la misma manera, excepto que contienen un sensor conocido como encoder que permite deter- minar en todo momento la posición angular del rotor; lo que implica un control más preciso de estos motores. En la figura 1.13 se observan algunos ejemplos de motores. (a) (b) (c) Figura 1.13 Motores eléctricos: (a) corriente directa, (b) corriente alterna, (c) servomotor. Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 14 Capítulo 1. Introducción a la robótica Actuadores neumáticos Los accionamientos neumáticos son aquellos dispositivos que utilizan aire compri- mido para llevar a cabo algún tipo de movimiento lineal o rotatorio. Este tipo de accionamientos únicamente son utilizados cuando los desplazamientos que se requieren son cortos. La señal de entrada proviene de una señal eléctrica que activa o desactiva unas electroválvulas, que son válvulas que pueden abrirse o cerrarse dependiendo de la señal de control. Al momento de abrir la válvula, cierta cantidad de aire comprimido, conectado al tubo del accionamiento neumático, se libera para empujar un vástago, mismo que realiza la acción de movimiento lineal (o giratorio, si el vástago tiene una ranura de tornillo). Los accionamiento neumáticos se clasifican por el movimiento de su vástago. Si únicamente puede moverse hacia un sentido con ayuda del aire y regresa a su posición original mediante un muelle o resorte, entonces se conoce como accionamiento de simple efecto. Si el vástago se puede mover en dos sentidos con ayuda únicamente del aire; entonces, se conoce como accionamiento de doble efecto. Dependiendo del tipo de acción que se requiera hacer con los accionamientos neumáticos, sus válvulas pueden ser de dos, tres y cuatro posiciones que se refieren al estado de la posición de la válvula; y con dos o tres vías que se refiere al número de conductos por los cuales puede salir el aire comprimido. En la figura 1.14 se muestra un accionamiento neumático y una electroválvula utilizada en estos sistemas. (a) (b) Figura 1.14 Actuadores neumáticos: (a) accionamiento, (b) electroválvula. Si la aplicación robótica requiere el uso de algún tipo de gas, como adición o extracción de gases en tanques, es posible utilizar únicamente las electroválvulas neumáticas para tales propósitos. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.3 Componentes básicos de un robot 15 Actuadores hidráulicos Los accionamiento hidráulicos tienen una operación similar a los neumáticos. En este caso, el material que se ocupa para producir la fuerza de empuje en los vástagos es el agua o algún fluido con propiedades similares. Este tipo de actuadores son caros en su instalación inicial; sin embargo, son de fácil mantenimiento una vez que se tiene la infraestructura. No obstante, el sistema robótico que contenga este tipo de sistemas, deberá ser capaz de proveer el agua suficiente (en el caso de los neumáticos, el aire comprimido) y todos los mecanismos necesarios para su operación propia. Al igual que en los accionamientos neumáticos, existen las electroválvulas que permiten el flujo de agua a través de los cilindros hidráulicos. En la figura 1.15 se muestra un accionamiento hidráulico y una electroválvula hidráulica. (a) (b) Figura 1.15 Actuadores hidráulicos: (a) accionamiento, (b) electroválvula. Si la aplicación robótica requiere el uso de algún tipo de fluido, como la adición o extracción de fluidos, es posible utilizar únicamente las electroválvulas hidráulicas para tales propósitos. En otros casos, también existen versiones de válvulas eléctricas con otros diámetros para el acoplamiento de los tubos por donde se desea llevar a cabo el flujo del líquido. Actuadores térmicos Este tipo de actuadores térmicos utilizan la propiedad de expansión térmica de los materiales para el movimiento y aplicación de fuerza en otros. Con esto, es posible que un material de metal al cual se le pasa una corriente eléctrica para su aumento de calor, se desplace debido a la expansión de material que sufre en consecuenciade Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 16 Capítulo 1. Introducción a la robótica este fenómeno físico. En la figura 1.16a se muestra un actuador térmico de este tipo. Otro de tipo de actuadores térmicos permiten el aumento de temperatura en flui- dos; por ejemplo, las resistencias eléctricas con propósitos de calentamiento que se presenta en la figura 1.16b. (a) (b) Figura 1.16 Actuadores térmicos: (a) accionamiento, (b) resistencia eléctrica. (a) (b) Figura 1.17 Unidad de control: (a) microcontrolador, (b) microprocesador. 1.3.3 Unidad de control La unidad de control en un sistema robótico es la encargada de llevar la regulación de todo el robot, de tomar las decisiones necesarias y de evaluar el desempeño del robot; todo con la finalidad de cumplir con el objetivo de las tareas planificadas. En particular, la unidad de control se encuentra físicamente en el procesador del robot; que puede ser un microcontrolador o un microprocesador. Robots avanzados y de mucha demanda de recursos computacionales, llegan a utilizar dos o más micro- controladores y/o microprocesadores. En algunos casos, el uso de computadoras es requerido para el procesamiento. En la figura 1.17 se muestra un microcontrolador y Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.3 Componentes básicos de un robot 17 un microprocesador. Un microcontrolador es un dispositivo electrónico con capacidad de procesamiento y almacenamiento de datos que está basado en una programación dedicada; es decir, la programación interna se restringe a llevar a cabo acciones únicamente para lo que fue diseñado. Por otra parte, un microprocesador es un dispositivo electrónico con mayor capacidad de procesamiento y almacenamiento de datos que se basa en una programación genérica; por lo que, se puede acoplar para distintos procesos, de manera general. Para el uso de los microcontroladores o de los microprocesadores, es necesario de un circuito mínimo; el cual consta de la fuente de alimentación del circuito integrado, el reloj externo que requieren para poder funcionar y el sistema de memorias externas que permiten el almacenamiento temporal (RAM) o permanente (ROM). Por otra parte, para un robot la unidad de control debe permitir el acceso de todos los sensores y todos los actuadores. Es posible su conexión mediante el sistema mínimo; o bien, a través del acoplamiento de sistemas de adquisición de datos y de sistemas de interfaz de potencia. El sistema de adquisición de datos permite conectar los sensores en sus diver- sas modalidades: señales analógicas y señales digitales. Estas señales son convertidas en su totalidad a señales digitales que pueden ser interpretadas por el sistema de procesamiento. Sin embargo, los sistemas de adquisición de datos deben ser elegidos conforme a la resolución permitida, la velocidad de procesamiento, el rango de valores que puede leer por parte de los sensores, el material y el tipo de conversores que tiene en su interior. En la figura 1.18 se muestra una tarjeta de adquisición de datos. Figura 1.18 Ejemplo de tarjeta de adquisición de datos. Figura 1.19 Ejemplo de interfaz de potencia. En contraparte, un circuito de potencia o interfaz de potencia permitir obtener las señales de salida provenientes por parte de la unidad de control y alimentarlas en los Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 18 Capítulo 1. Introducción a la robótica distintos actuadores; sin embargo, esta interfaz auxilia a los actuadores en la parte de alimentación y el desacople con la unidad de control. De manera regular, la unidad de control maneja voltajes de 5 V y 9 V; mientras que los actuadores llegan a requerir 5 V, 9 V, 12 V, 24 V, 36 V, 120 V, 0 V, 240 V, en corriente directa o alterna. Por lo anterior, la conexión directa entre unidad de control y actuadores es peligrosa, prefiriéndose el desacoplamiento. En la figura 1.19 se presenta un ejemplo de interfaz de potencia. Con el propósito de que el robot lleve a cabo un conjunto de acciones para alcanzar el objetivo de una tarea, se requiere programar las rutinas que debe desempeñar, haciendo énfasis en la toma de decisiones. Para la programación, se requiere de algún lenguaje de programación que pueda entender el procesador. En general, la estructura de programación básica para un robot se mantiene dentro de un ciclo; en el cual, se leen todos los datos de los sensores (las mediciones), después se hace un proceso de decisión y finalmente se toma el conjunto de decisiones a realizar en términos de los actuadores involucrados en el proceso; se escriben estos datos a los actuadores y se vuelve a repetir el ciclo. La condición de paro es que la meta del robot sea alcanzada o haya pasado cierto tiempo definido por el programador. En términos de pseudocódigo, la figura 1.20 muestra esta estructura de programación básica. continuar = 1 Mientras continuar: // Obtener condición de paro Si meta se cumplió o tiempo se terminó: continuar = 0 // Leer sensores sensores = leer sensores ( ) // Ejecutar proceso de decisión actuadores = proceso decision (sensores) // Escribir decisión en actuadores escribir actuadores (actuadores) Figura 1.20 Programa básico de un robot. Una de las partes más importantes dentro de la unidad de control es el proceso de la toma de decisiones, ya que de éste depende el buen funcionamiento del robot. Existen Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.3 Componentes básicos de un robot 19 diversas estrategias de control de robots que dependen del proceso que se requiera. Por ejemplo, existen estrategias de control dedicadas a: navegación, búsqueda, loca- lización, mapeo, manipulación, interpretación, clasificación, modelación, procesamien- to de imágenes, control y automatización, evasión de obstáculos, planificación, entre muchos otros. 1.3.4 Diseño mecánico El diseño mecánico de los robots le permiten el soporte, la forma y la funcionalidad. Dichas estructuras se basan en vigas y columnas de muy diversos materiales; desde estructuras metálicas hasta plásticas. Es importante determinar los niveles de anclaje de cada una de las piezas de las que constará el robot, así como de los soportes necesarios; además, si algunas de las piezas tienen que ser móviles, es muy importante definir cómo se colocarán los pivotes. Debido a que el diseño mecánico de los robot está sujeto a los fenómenos físicos, la ingeniería mecánica y mecatrónica es la que se encarga de producir los diseños de los sistemas robóticos. Sin embargo, estos diseños se encuentran basados en los siguientes aspectos: Funcionalidad del robot. Requerimientos del sistema robótico. Restricciones o acotaciones físicas. Disponibilidad de materiales. Creatividad del diseñador. Uno de los aspectos principales en el diseño mecánico de los robots es la funcionalidad; es decir, el diseño tiene que estar basado en el objetivo principal del robot y sus diferentes tareas que tiene que llevar a cabo para alcanzar su meta. Por ejemplo, un robot requiere soldar el chasis de un automóvil de manera automática; en este caso, el robot necesariamente debe contar con un sistema que le permita soldar, además tiene que ser capaz de soldar líneas no necesariamente planas, sino sobre superficies curvilíneas, por lo que el robot debe ser flexible a esto de manera que posiblemente un brazo robótico con un soldador en la punta sea la mejor opción. Por lo tanto, es necesario conocer la función del robot; en otro caso, no tiene sentido diseñarlo. Otro aspecto importante que se debe considerar en el diseño de los robots son los requerimientos del sistema. En ocasiones, los robots deben seguir una serie de es- pecificaciones que se imponen al diseño; por ejemplo: dimensiones específicas, número máximo de piezas, tamaño mínimo de ejes, fuerza mínima de carga, etc. Otras oca- siones, los robots pueden formar parte de concursos o son requeridos para proyectos Robótica • PedroPonce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 20 Capítulo 1. Introducción a la robótica muy específicos en los cuales necesitan seguir una serie de lineamientos bien estable- cidos; sin importar la naturaleza de su función. No obstante, como el diseño está sujeto a los fenómenos físicos, también se tienen que tomar en cuenta las restricciones o acotaciones físicas del diseño. En general, las restricciones son condiciones que no necesariamente han sido estipuladas al momento del diseño del robots; pero que están impuestas por las leyes físicas. Como ejemplo se puede tener el peso del sistema robótico, donde dependiendo de la masa utilizada es posible que se tengan que elegir de manera minuciosa los motores que se utilizarán para su desplazamiento o el soporte que detendrá a todo el robot. Otro ejemplo es el tipo de anclaje que se tiene que utilizar en brazos robóticos; ya que las vibraciones inherentes a este tipo de robots, hace que el empotramiento al suelo se desgaste fácilmente, produciendo un posible accidente. Por lo tanto, si este tipo de restricciones no se toman en cuenta, los robots podrían fallar severamente. Otro problema que se añade al diseño mecánico de los robots es el tipo de material que se utilizará para su estructura. No es lo mismo utilizar un robot como parte de un sistema educativo o un robot en la industria de aceros; tampoco es lo mismo utilizar un robot que se utilizará en exploraciones lunares que un robot de inspección en interiores de tuberías. Cada robot tiene que estar diseñado al medio ambiente al que se enfrenta y el deterioro de los materiales debe ser el mínimo; además, se tiene que tomar en cuenta el tipo de sensores y actuadores que se ocuparán así como las posibles interferencias que éstos puedan tener. Por lo que se recomienda que en el análisis de materiales, se haga una inspección sobre posibles interferencias y cómo se pueden controlar o disminuir, con la finalidad de tener al sistema robótico lo más aislado posible del medio en donde se desenvuelve. Por otra parte, la selección de materiales también está ligado con el análisis y la disponibilidad de materiales en la región y el costo de la manufactura de piezas especiales. A veces, es posible sustituir piezas especiales por piezas estándares a mucho menor costo; o bien, disponer de un material similar al pensado de manera original puede ahorrar en el coste final del robot. Finalmente, todo diseño de robots también depende de la creatividad del desarro- llador. No obstante, se recomienda tomar en cuenta algunas estructuras básicas como carros, brazos robóticos, diseño de piernas, manipuladores o garras, hélices, vehículos marítimos, entre muchos otros. 1.4 Clasificación de robots Los robots pueden clasificarse de distintas maneras. Por ejemplo, éstos pueden ca- talogarse por su estructura, su libertad de movimiento y su número de grados de libertad. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.4 Clasificación de robots 21 Los robots por su estructura pueden clasificarse como fijos y móviles. Un robot fijo es aquel que se encuentra empotrado sobre alguna superficie y donde el movimiento del robot se basa en cambiar la posición de su órgano terminal, lugar donde comúnmente se encuentra una herramienta de manipulación de objetos. Un ejemplo de robot fijo es un brazo robótico (figura 1.21a). (a) (b) Figura 1.21 Clasificac ón de robots: (a) fij , (b) móvil. (a) (b) Figura 1.22 Clasificac ón de robots: (a) holonómico, (b) no holonómico. Por otra parte, un robot móvil es aquel que no se encuentra fijo a una superficie, por lo que puede desplazarse a través de cierto espacio. En este caso, el movimiento del robot se basa en cambiar de posición a todo el robot. Un ejemplo de robot móvil es un vehículo autónomo (figura 1.21b). Por otra parte, los robots por su libertad de movimiento pueden clasificarse como holonómicos y no holonómicos (figura 1.22). Los robots holonómicos u omnidirec- cionales son aquellos pueden moverse en cualquier dirección (excepto en los espacios Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 22 Capítulo 1. Introducción a la robótica donde se encuentren obstáculos); es decir, pueden cambiar de dirección y sentido de manera indistinta; mientras que los robots no holonómicos son aquellos que no pueden moverse libremente en algunas direcciones por restricción de su propia estructura. Por ejemplo, un brazo robótico no puede moverse libremente por la restricción de sus mo- tores y barras; o bien, una camioneta autónoma no puede moverse deliberadamente en una dirección u otra por el mecanismo de tracción con el que cuenta. En ambos casos, los robots son no holonómicos. Un caso contrario es un helicóptero de cuatro hélices que puede moverse libremente hacia cualquier dirección, por lo que se considera un robot holonómico. Finalmente, los robots también pueden clasificarse por el número de grados de libertad que tienen con respecto al número de dimensiones del espacio en donde se mueven. Se dice que un robot es no redundante si el número de grados de libertad que tiene es igual al número de dimensiones del espacio en donde se mueven; por ejemplo, un brazo robótico de tres articulaciones que se mueve en un espacio de tres dimensiones es un robot no redundante. Por otra parte, si el número de grados de libertad de un robot es mayor que el número de dimensiones del espacio en donde se mueve; entonces se conoce como redundante. Por ejemplo, un brazo robótico de seis articulaciones que se mueve sobre un espacio de tres dimensiones será un robot redundante. Además, si el número de grados de libertad de un robot es mucho mayor que el número de dimensiones que el espacio donde se mueve; entonces se le conoce como hiper-redundante. Entre mayor sea el número de grados de libertad, mayor flexibilidad tendrá el robot para que pueda moverse a través del espacio. La figura 1.23 muestra esta clasificación de robots. (a) (b) Figura 1.23 Clasificac ón de robots (ambos están en un espacio 3D): (a) no redundante: dos uniones entre articulaciones y al fina consta de un vástago de translación, los que le permite tener tres grados de libertad, (b) redundante: motor de la base, articulación de la base, unión entre articulaciones y manipulador, lo que le permite tener hasta cuatro grados de libertad. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.5 Modelado de los robots 23 1.5 Modelado de los robots La clasificación de robots por su estructura es la más empleada para el modelado de robots. A continuación se describen de manera más detallada los robots fijos y los móviles, así como la abstracción del modelo básico. 1.5.1 Modelado de robots fijos Los robots fijos son aquellos que se encuentran empotrados a una superficie y donde el objetivo principal es mover su órgano terminal; es decir, la herramienta que se encuentra al final del robot y que sirve como manipulador de objetos. En general, todo robot fijo tiene articulaciones que le permiten mover sus partes o barras para generar el movimiento en el órgano terminal. Las diversas articulaciones pueden tener uno, dos o tres grados de libertad; dependiendo de su estructura mecánica. Para estudiar a los robots, se suelen modelar con la finalidad de entender cuáles son los grados de libertad que tienen, cómo pueden manipularse y cómo se pueden representar. Por lo tanto, un robot fijo se puede modelar como un conjunto de ligas (barras) relacionadas mediante articulaciones. Dichas articulaciones están asociadas a los valores articulares que son las variables o grados de libertad del robot fijo. Tanto las articulaciones como el órgano terminal son representados mediante puntos; mientras que las ligas están representadas mediante líneas. La representación de un robot fijo se puede observar en la figura 1.24. (a) (b) Figura 1.24 Modelo de un robot fij . (a) Robot real. (b) Modelo del robot. Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega24 Capítulo 1. Introducción a la robótica Con base en la simplificación del robot fijo, es posible llevar a cabo su análisis ci- nemático. Para esto, se han propuesto diferentes metodologías que contemplan la determinación de la posición y la dirección del órgano terminal; entre ellas, el método de representación Denavit-Hartenberg. La representación Denavit-Hartenberg (D-H) cae dentro del problema de movimien- to de robots conocido como cinemática directa, la cual tiene como objetivo determinar la posición y dirección del órgano terminal con base en parámetros geométricos del robot fijo. En particular, los parámetros necesarios son las longitudes (ai) de las ar- ticulaciones, los ángulos de dirección (θi) en un instante de tiempo determinado por parte de cada articulación relativos al eje horizontal, la distancia de desfasamiento (di) entre el eje de la articulación y el motor y el ángulo de desfasamiento (αi) de este mismo. Dichos valores se conocen como los parámetros D-H. Con base en las matrices de transformaciones homogéneas, la representación D-H define que cada unión entre dos articulaciones i y j están dados por la transforma- ción homogénea de (1.1). Asimismo, la posición y la dirección del órgano terminal está definida tras la post-multiplicación de las transformaciones homogéneas de (1.1), descritas en (1.2). Al finalizar, (1.2) es la representación final de la posición y la dirección del órgano terminal con respecto a las direcciones de cada articulación; por lo tanto, dadas las direcciones o posiciones de las articulaciones en distintos instantes de tiempo t es posible determinar la cinemática del robot fijo. A1j T i = (((cosθ1i&− cos(α1i)sen(θ1i)@sen(θ1i)&cos(α1i)cos(θ1i))&(sen(α1i) (1.1) T 0k = A 0 1 ·A 1 2 · · · ·Akk−1 = k ∏ i=1 Aii−1 (1.2) 1.5.2 Modelado de robots móviles Los robots móviles son aquellos que pueden moverse a través de un espacio en donde no tienen puntos fijos. Por lo tanto, su objetivo principal es llevar a cabo el movimiento de todo el robot a través del espacio. Al igual que en los robots fijos, su estudio se puede llevar a cabo mediante su modelación. La representación básica de estos robots es un punto, el cual no considera ninguna cuestión mecánica ni dinámica en contacto. Por lo tanto, el punto es libre de moverse a través del espacio y las coordenadas de éste serán los grados de libertad del robot (únicamente es válido para robots no redundantes; en otro caso, las variables que parametrizan al modelo del robot se conocerán como los grados de libertad). La figura 1.25 muestra el modelo de un robot móvil no redundante. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.5 Modelado de los robots 25 (a) (b) Figura 1.25 Modelo de un robot móvil no redundante. (a) Robot real, (b) Simplificac ón del robot. En el caso específico de robots móviles, éstos tienden a modelarse con respecto a la posición y la orientación que tengan respecto a un marco de referencia. De igual ma- nera que en los robots fijos, en los robots móviles se puede analizar su comportamiento cinemático. Para dicho análisis, existen diversos métodos; sin embargo, los tres más utilizados son las matrices de transformaciones homogéneas, los ángulos de Euler y el par de rotación. Las matrices de transformaciones homogéneas derivan del análisis geométrico entre marcos de referencia distintos. Para esto, se considera un marco de referencia original y un marco de referencia ubicado en otra posición. A partir de lo anterior, las distintas formas de encontrar estos pares de marcos de referencias son: traslaciones puras, rotaciones puras y composición de rotación más traslación. Una traslación pura consiste en que dos marcos de referencia A y B con la misma orientación están desfasados. Dicho desfasamiento o traslación se modela a través de un vector de desplazamiento (Dx,Dy,Dz) y se puede obtener la relación de (1.3) en tres dimensiones y el cambio de coordenadas dado en (1.4). Td = 1 0 0 Dx 0 1 0 Dy 0 0 1 Dz 0 0 0 1 (1.3) x′ y′ z′ 1 = T x y z 1 (1.4) Una rotación pura consiste en que dos marcos de referencia A y B no se encuentran trasladados; pero sí rotados con respecto a uno de los ejes coordenados. Dicha rotación Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 26 Capítulo 1. Introducción a la robótica puede ser expresada por los ángulos α, φ, θ con respecto al eje x, el eje y o al eje z, respectivamente. La relación de rotación para cada eje están dados por (1.5), (1.6) y (1.7), respectivamente. De nueva cuenta, el cambio de coordenadas está dado por (1.4). 1 0 0 0 0 cosα −senα 0 0 senα cosα 0 0 0 0 1 (1.5) cos⊘ 0 sen⊘ 0 0 1 0 0 −sen⊘ 0 cos⊘ 0 0 0 0 1 (1.6) cosθ −senθ 0 0 senθ cosθ 0 0 0 0 1 0 0 0 0 1 (1.7) Finalmente, si un sistema tuvo rotaciones y traslaciones, se pueden combinar las traslaciones puras y las rotaciones puras para obtener la posición final. Para ello, se requiere multiplicar de manera sucesiva por la izquierda cada acción nueva que se realice. La única condición, es que las multiplicaciones se lleven a cabo en el mismo orden. Por ejemplo, si primer sucedió una rotación en el eje y, luego se trasladó y luego se volvió a rotar pero en el eje z; entonces, la matriz de transformación final estará dada por (1.8). El cambio de coordenadas, una vez obtenida la matriz de transformación final, sigue siendo (1.4). T = Tz · Td · Ty (1.8) Por otra parte, tanto los ángulos de Euler como el par de rotación únicamente sirven para determinar la orientación del marco de referencia. Los ángulos de Euler son los ángulos que aparecen cuando se gira sobre un mismo eje y una representación particular es la conocida como RPY (figura 1.26). Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 1.5 Modelado de los robots 27 Representación RPY. Esta representación nombra a cada ángulo de Euler con un nombre específico: roll para la rotación en el eje z, pitch para la rotación en el eje y, yaw para la rotación en el eje x. La figura 1.26 muestra la representación RPY de los ángulos de Euler. Finalmente, el par de rotación es una transformación de coordenadas en marcos de referencia donde uno de ellos permanece fijo y el otro está rotado con un ángulo sobre un vector k definido en el primer marco de referencia. En la figura 1.27 se observa el esquema del par de rotación. El cambio de coordenadas en un par de rotación está dado por (1.9); donde, p representa al punto en el primer marco de referencia que se requiere expresar en el nuevo marco. Par de rotación. Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega Figura 1.26 Figura 1.27 28 Capítulo 1. Introducción a la robótica Entonces, el análisis cinemático de un robot móvil está dado por la secuencia de trasla- ciones y rotaciones derivado de la multiplicación de las matrices de transformación homogéneas y del par de rotación. 1.6 Aplicaciones de los robots Dentro de las aplicaciones robóticas, se encuentran una gran diversidad. Algunas de ellas están basadas en la planificación del movimiento como la navegación, localización, búsqueda y mapeo. Otras está basadas en clasificación, manipulación de objetos, armado y distribución. Algunos otros robots se ocupan del control de procesos o de la automatización de líneas de ensamblaje. Robots más actuales han hecho apariciones en asistencia médica, biotecnología y nanotecnología. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 30 Capítulo 2. Robots LEGO NXT ...es insensato usar máquinas para imitar a los seres hu- manos, en tanto que las máquinas son realmente buenas sien- do máquinas, y esto es algo en lo que los seres humanos so- mos malos. Cualquier proyecto de inteligencia artif cial exitoso castra a la máquina por su propia naturaleza. Edsger Dijkstra 2.1 Introducción Los sistemas robóticosse utilizan ampliamente en la actualidad, sobre todo en la academia e industria; por ello que se han diseñado distintos sistemas que permiten el aprendizaje de conocimientos asociados a la ingeniería, el control de sistemas, la robótica, la inteligencia artificial y los sistemas computacionales. La compañía LEGO desarrolló un sistema robótico que se conoce como LEGO Mindstorms NXT 2.0, el cual se usa con fines de entretenimiento, académicos y de investigación. Con el propósito de entender y utilizar estos sistemas, en este capítulo se da una introducción de dicho robot NXT así como sus componentes esenciales. 2.2 ¿Qué es un robot NXT? Los sistemas LEGO Mindstorms NXT son robots programables que aparecieron en el año 2006, tras remplazar a los primeros robots LEGO Mindstorms, denominados RoboticsInventionSystem, los cuales fueron ofrecidos por la compañía LEGO. La se- gunda versión de estos sistemas se lanzó en el año 2009, y se les conoce como robots LEGO Mindstorms NXT 2.0. El objetivo de estos juguetes es permitir el desarrollo de sistemas robóticos con facilidad, mediante el uso de los bloques LEGO y de un componente conocido como bloque inteligente NXT. Este componente se puede programar con distintos lenguajes de programación. El software incluido se conoce como NXT-G el cual es un ambiente de programación gráfica que encapsula la complejidad de los distintos componentes con la finalidad de que cualquier persona con conocimientos básicos sobre computación y robótica pueda programar el robot NXT. Dicho software fue desarrollado por la com- pañía National Instruments, razón por la cual, uno de los lenguajes de programación que se emplea de manera cotidiana para los robots NXT es el entorno de programación gráfico LabVIEW. Por otra parte, los robots NXT contienen sensores y motores que permiten al robot interactuar con el medio ambiente. En la figura 2.1 se muestran algunos ejemplos de robots NXT. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 2.3 Componentes básicos de un robot NXT 31 Figura 2.1 Ejemplos de robots NXT. 2.3 Componentes básicos de un robot NXT Los robots NXT tienen un conjunto de componentes integrados que permiten su funcionalidad. El primer componente es el sistema de sensores el cual ayuda al robot a obtener información relevante sobre el escenario o ambiente donde se desarrolla. Adicionalmente, algunos sensores pueden ser colocados con la finalidad de obtener información del mismo robot NXT. Ejemplos de sensores básicos son los sensores de contacto NXT, los sensores de luz NXT y los sensores ultrasónicos NXT. Sin embargo, existen otros como: sensores de sonido NXT, brújulas NXT, sensores de color NXT, acelerómetros NXT y sensores de identificación por radiofrecuencia (RFID) NXT. En la actualidad, compañías externas a LEGO han desarrollado otros sensores que también pueden acoplarse a los robots NXT; ejemplos de ellos son: barómetros, receptores para radio-control, giroscopios, sensores de ángulo, pirómetros, sensores magnéticos, entre muchos otros. El siguiente componente de un robot NXT es el sistema de actuadores, los cuales permiten al robot interactuar en el medio en que se desenvuelve. Ejemplos de ellos son, los servomotores NXT que permiten el desplazamiento del robot o la generación de movimiento para articulaciones robóticas. Otros actuadores diseñados por otras empresas son los actuadores lineales que ayudan a empujar y presionar objetos o partes del robot, asi como los sistemas neumáticos que pueden aplicar fuerzas mayores a las producidas a través del par o torque de los servomotores NXT. Otro componente igualmente importante es el bloque inteligente NXT. Este com- ponente funciona como la unidad de control central que se encarga de llevar a cabo una serie de instrucciones para poder manipular tanto los sensores como los actua- dores. Como se describe más adelante, el bloque inteligente NXT se puede programar fácilmente con ayuda del sistema incluido, o bien, haciendo uso del entorno de pro- gramación gráfico LabVIEW. La interacción entre el sistema de sensores y actuadores Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce Alfaomega 32 Capítulo 2. Robots LEGO NXT conecta de manera alámbrica al bloque inteligente NXT mediante conectores o cables diseñados para este propósito. El último componente de un robot es la parte mecánica. Para el caso específico del robot NXT, la parte mecánica está implementada a través de los bloques LEGO. El armado de los bloques forma una estructura que sostiene el bloque inteligente NXT y los diversos sensores y actuadores. Adicionalmente, éstos pueden utilizarse para diseñar articulaciones y otros accesorios que ocupará el sistema robótico. El sitio oficial de Internet de los robots LEGO Mindstorms NXT reporta un conjunto de diseños de robots implementados con bloques LEGO. Otros recursos en línea y artículos académicos muestran gran diversidad de estructuras robóticas. La figura 2.2 muestra los componentes de un sistema robótico NXT, exceptuando la estructura de bloques LEGO. A continuación, se detallan cada uno de los compo- nentes del robot NXT. Figura 2.2 Componentes de un robot NXT, exceptuando los bloques LEGO. 2.3.1 Sensores NXT El primer componente importante de un robot NXT es el sistema de sensores. Dichos dispositivos permiten conocer el ambiente en donde se desarrolla el robot NXT. En especial, la tecnología de sensores NXT básicos que incluyen los robots NXT son: los sensores de contacto NXT, los sensores de luz NXT y los sensores ultrasónicos NXT. Otros sensores NXT que se pueden conectar al robot son: los sensores de sonido NXT, la brújula NXT, los sensores de colores NXT, el acelerómetro NXT y los sensores de radiofrecuencia NXT. A continuación, se presenta una breve descripción de cada uno de ellos. Alfaomega Robótica • Pedro Ponce • Vı́ctor de la Cueva • Hiram Ponce 2.3 Componentes básicos de un robot NXT 33 Sensor de contacto NXT. Permite determinar si el robot NXT tocó un objeto o no, a partir de un interruptor que puede oprimirse. Se Utiliza comúnmente para aplicaciones que deben tomar decisiones ante golpes con obstáculos y detección de presencia de objetos. Sensor de luz NXT. Permite detectar la intensidad luminosa del ambiente. Se emplean en aplicaciones donde se requiere detectar presencia de negros y blancos, seguimiento de líneas, seguidores de luz. Sensor ultrasónico NXT. Permite medir la distancia entre el robot y los objetos delante de éste. Sus aplicaciones principales son la medición de distancias y la detección de objetos sin contacto. Sensor de sonido NXT. Mide la intensidad de sonido que existe en el am- biente. Sus aplicaciones principales en robótica son la detección de patrones de sonido. Brújula NXT. Puede medir el campo magnético terrestre con la finalidad de determina la orientación. Su aplicación principal es determina la dirección de un sistema robótico para ubicarse en su ambiente. Sensor de color NXT. Permite determinar un rango de colores que se encuen- tren delante del sensor. Su principal aplicación es la identificación de colores para la clasificación de objetos o el seguimiento de líneas de colores. Acelerómetro NXT. Mide el ángulo de inclinación en los tres ejes coordena- dos. Sus aplicaciones principales son la determinación de inclinación de superfi- cies y para medir la aceleración del sistema robótico. Sensor de temperatura NXT. Permite medir la temperatura de un cuerpo mediante el contacto. Con este sensor se pueden desarrollar aplicaciones que impliquen toma de decisiones con respecto a la temperatura. Dado que los sensores NXT se utilizan mucho y en algunos casos son imprescindibles en las aplicaciones robóticas, enseguida se presenta una descripción detallada sobre ellos, con la finalidad de entender su funcionamiento y ampliar sus usos potenciales. Posteriormente, se describirá la forma de conectarlos y usarlos en robots NXT. Sensor de contacto NXT Algunas aplicaciones robóticas requieren determinar si
Compartir