Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Transcript

Introducción a la robótica Antecedentes generales de la robótica De niciones y clasi caciones Funcionalidades de un robot Otras consideraciones Referencias Lección 1 de 5 Antecedentes generales de la robótica Al comenzar el módulo 1, citamos a Hans Moravec (1993), uno de los investigadores más prest...

Introducción a la robótica Antecedentes generales de la robótica De niciones y clasi caciones Funcionalidades de un robot Otras consideraciones Referencias Lección 1 de 5 Antecedentes generales de la robótica Al comenzar el módulo 1, citamos a Hans Moravec (1993), uno de los investigadores más prestigiosos de la IA, quien, al presentar su libro El hombre mecánico: el futuro de la robótica y la inteligencia humana, planteó una serie de ideas interesantes sobre la posibilidad de que robots inteligentes nos sustituyan en el futuro y sean ellos los destinatarios de la evolución de las especies. En esa misma lectura y algo más adelante, se presentó a la robótica como una de las disciplinas que tuvo fuerte impacto en la inteligencia artificial: de hecho, contribuyó a su nacimiento juntamente con la cibernética y la ciencia cognitiva. Y desde entonces hemos citado a la entidad robot un sinnúmero de veces. Naturalmente, no es necesario volver a hacerlo, pero sí lo es abordar con mayor profundidad este importante tema. Y para ello vale la pena revisar más detalladamente los antecedentes de este concepto. El propio término robot proviene de la obra Los robots universales de Rossum (Karel Capek, 1921) y se consolidó en los años 40 con los relatos de ciencia ficción de Isaac Asimov, aunque, dejando de lado la propia denominación, el concepto de robot se pierde en la historia de la humanidad. La robótica estuvo asociada a la construcción de "artefactos" que procuraron hacer realidad el deseo humano de crear seres semejantes, capaces de reemplazar al hombre en ciertas tareas, con la finalidad tanto para potenciarlo como para liberarlo de ellas. Quizás las referencias más antiguas son la de un pájaro de madera impulsado con vapor que fue capaz de volar (Arquitas de Tarento, 420 a. C.), descripciones de numerosas máquinas neumáticas y de vapor (Herón de Alejandría, Siglo I a. C.), primeros autómatas humanoides (Al Jazarí, 1206), un robot humanoide (Leonardo da Vinci, 1495), animales mecánicos capaces de desplazarse (Jacques de Vaucanson, 1738) y otras numerosas propuestas basadas en mecanismos de relojería, presentados entre esta fecha y el siglo siguiente. Volviendo a la literatura, se considera que la primera novela de ciencia ficción moderna es Frankenstein o el moderno Prometeo (Mary Shelley, 1851). Luego se destacan el ya citado libro Los robots universales de Rossum (Karel Capek, 1921), Robbie (Asimov, 1940), Yo robot (Asimov, 1950), La revolución de los robots (Erler, 1956) y Los robots (PierrJean Richard, 1979), entre otros. Estando presentes en la literatura, fue natural incorporar los robots al cine. Puede decirse que, a lo largo de la historia del cine, toda película de ciencia-ficción que se precie cuenta en su reparto con algún robot, además de mutantes o extraterrestres. Aquí los robots eran inicialmente creados de manera artesanal y sufrieron una evolución natural conforme se presentaban y difundían nuevas tecnologías. Evolución paralela a la que había en la propia inteligencia artificial. Se sostiene que la primera película en la historia del cine que incluyó un personaje artificial mecánico fue Metrópolis (1927). Luego se presentó El día que paralizaron la Tierra (1951); El planeta prohibido (1956); 2001, una odisea del espacio (1968) y Alien (1978), a la que habría que agregar una larguísima lista de títulos que llega hasta la actualidad. ("La condición poshumana – Reseña de Irene Cambra Badii", s.f.). Un aspecto para destacar tanto en la literatura como en el cine es el hecho que, con frecuencia, ambos han anticipado progresos de la tecnología que en el momento de su presentación eran claramente fantasiosos, propios de la ciencia ficción. Por lo expuesto, es indudablemente la robótica la vertiente más antigua de la inteligencia artificial y a la vez un término muy amplio que se refiere a sistemas automáticos de complejidad y naturaleza muy variada: desde un simple manipulador preprogramado hasta aparatos autónomos con poder de decisión. Estos últimos son los que interesan desde el punto de vista de la inteligencia artificial. También debe aceptarse que este término engloba no solo aquellos que se materializan como elementos reales, sino también aquellos otros de concepción abstracta que se mantienen en el plano intelectual. Se encuentra aquí un claro punto de contacto entre la robótica y la teoría de la computación, con los modelos conceptuales elaborados por Turing y Von Neumann entre los años 30 y fines de los 50. En efecto, vuelve a aparecer Alan Turing como un precursor en este campo, ya que la máquina presentada en 1936 que lleva su nombre puede ser vista como un antecedente conceptual de un robot. No en vano la máquina de Turing es denominada un autómata. Pasando al plano de la electromecánica, en 1954 el inventor George Devol patentó el brazo de robot programable y en 1961 comenzó a funcionar el primer robot industrial en la General Motors. Estos trabajos mostraron un gran avance tanto en los campos de la cinemática y dinámica de mecanismos como en los de teoría de control y procesamiento de señales en tiempo real. Sin embargo, representaban muy escaso valor agregado en las áreas de interés de la inteligencia artificial. Ocurre que la conducta de estos dispositivos estaba completamente predeterminada y respondían a una concepción de “máquina de estados”, pero carecían de cualquier forma de verdadera inteligencia. Así, los trabajos sobre robótica en institutos de investigación y en la industria recorrieron por mucho tiempo caminos paralelos con muy pocos puntos de contacto. Recién los estudios sobre robots que se hacían en las universidades empezaron a tener influencia sobre el diseño de los robots industriales cuando se dieron un cúmulo de circunstancias, entre las que se destacaron las siguientes: 1 Una sustancial reducción de costos experimentada en los dispositivos “inteligentes”. 2 La necesidad de los centros de investigación de disponer de nuevas fuentes de financiamiento. 3 Los significativos avances en algunos campos, tales como el de la visión artificial. 4 El impulso que la exploración del espacio, la industria bélica y las industrias altamente contaminantes (nuclear) dieron a estas aplicaciones. A partir de allí los trabajos de robótica encontraron un cauce común y las necesidades industriales han ejercido una significativa influencia en la orientación de las líneas de investigación de las universidades. Volviendo a las primeras materializaciones concretas, en 1969 se completó la construcción del robot Shakey en la Universidad de Stanford. Este fue el primer y único robot móvil de esa fecha que era controlado por programas con razonamiento. Medía 1,5 m, se movía impulsado por dos motores, llevaba una cámara de televisión y se comunicaba por radio con un computador que alojaba su inteligencia. Además, era conceptualmente impresionante, pero muy limitado en sus posibilidades reales, en parte, debido a los elevados tiempos de proceso que demandaban sus “razonamientos” y toma de decisiones. Nótese aquí que esta máquina era un claro exponente de la escuela denominada tradicional o de diseño descendente, que inicialmente dominó la inteligencia artificial. Shakey fue un buen ejemplo de que con esta escuela fue posible hacer impresionantes avances teóricos y para aplicaciones de dimensiones reducidas, pero al poco tiempo demostró severas limitaciones. A partir de aquel primer “robot inteligente” se sucedió una proliferación de artefactos cada vez más sofisticados, entre los que se destacaron aquellos que fueron específicamente diseñados para la exploración del espacio. Cabe ahora acotar el hecho de que la robótica reúne la contribución de dos disciplinas o corrientes del conocimiento que tienen su propia identidad e historia: la mecánica y la misma inteligencia artificial, que se pone claramente de manifiesto al estudiarse la robótica más en detalle. El lector lo comprobará en los apartados y lecturas siguientes. Lección 2 de 5 Definiciones y clasificaciones Por tratarse de un tema de amplia difusión y habiéndose anticipado tanta información a lo largo del curso, es recomendable consolidarla a partir de una serie de definiciones y clasificaciones con respecto a su significado y alcance. Se busca así despejar toda posibilidad de duda, comenzando por la definición de la terminología habitual: Robot: Dispositivo electromecánico capaz de percibir señales del medio exterior y actuar sobre este a partir de pautas o consignas preestablecidas (conducta automática) o a partir de su propio criterio (conducta autónoma). Robótica: Se trata de la disciplina que se ocupa del estudio, diseño, construcción u operación de robots. Androide: Robot con aspecto, movimientos y algunas funciones propias de un ser humano, de locomoción bípeda. Autómata: "Máquina automática programable capaz de realizar determinadas operaciones de manera autónoma y sustituir a los seres humanos en algunas tareas" (Sinterpack, 2017, https://bit.ly/3mNCiqK). Sensor: Interfaz capaz de reconocer y medir cierta señal específica proveniente del entorno. Aquí se incluyen luz, sonido, dimensión lineal, ángulo, temperatura, presión, fuerza lineal y torque entre las principales. Sensores activos: Aportan energía a través de señales que normalmente son emitidas, reflejadas y devueltas al sensor. Puede citarse el caso de barreras ópticas, láser y ultrasonido, entre otras. Sensores pasivos: Se limitan a observar y capturar información, tal como nivel sonoro, desplazamiento, temperatura, luz o imágenes. Estímulo: Señal externa capaz de ser percibida a través de sensores apropiados y que afecta el comportamiento del robot. Percepción: La capacidad de interpretar un estímulo, representado por visión, sonido, olor, tacto u otros. En la práctica, o hasta el momento, los dos canales sensoriales más importantes en la robótica son la visión y audición. Acción: Manifestación que brinda como resultado movimiento, cambio de estado o situación. Proceso en el que ordenadamente se aplica energía al entorno durante un intervalo limitado de tiempo. Actuador: Dispositivo destinado a definir una acción de control a partir de la percepción. Efector: Dispositivo físico comandado por un actuador y destinado a aplicar la acción de control sobre el medio exterior. Grados de libertad: Cantidad mínima de parámetros independientes necesarios para determinar la posición y orientación de un objeto en el espacio. Suelen llamarse grados de libertad efectivos. Ejemplos: 1. Un punto (adimensional) en el espacio tiene tres grados de libertad, ya que no es orientable. 2. Un cuerpo rígido en el espacio tiene seis grados de libertad: tres de posición y tres de orientación. 3. La posición de una barra flexible de dimensiones uniformes y homogéneas que vincula dos puntos tiene doce grados de libertad: seis en cada extremo. 4. Una barra flexible queda completamente definida a través de infinitos grados de libertad, seis por cada uno de los puntos que la componen. Robot holonómico: Cuando la cantidad de grados de libertad efectivos es igual a la cantidad de grados de libertad controlados. Normalmente, es el caso de los brazos manipuladores. Robot no holonómico: Cuando la cantidad de grados de libertad efectivos es mayor a la cantidad de grados de libertad controlados. Es el caso de la mayoría de los robots móviles. Control de dirección diferencial: Cuando se trata de un vehículo que controla independientemente las velocidades de las ruedas para mantener o cambiar la dirección. Estabilidad estática: Cuando el robot puede permanecer en equilibrio sin moverse. Estabilidad dinámica: Cuando el robot puede permanecer en equilibrio mientras se desplaza. Aquí cabe aclarar que se ha dejado pendiente la terminología referida a cinemática y dinámica de mecanismos para cuando sea tratado el tema en la lectura siguiente. En ese momento, se presentarán esquemas que facilitarán la interpretación de esos conceptos. En cuanto a las clasificaciones, se presentan las siguientes: Categorías de robots: Se reconocen las siguientes tres categorías, también reconocidas como arquitecturas básicas: 1. Manipuladores: También llamados poliarticulados. Se trata de brazos robotizados que operan en el entorno de un punto fijo. Es el caso de la mayoría de los robots industriales. 2. Robots móviles: Disponen de capacidad de desplazamiento en su entorno, normalmente, utilizando ruedas. Son usados para trasladar cargas o realizar tareas exploratorias en ambientes agresivos o inaccesibles (contaminados, profundidades marinas o fuera de la atmósfera). 3. Robots humanoides: Se trata de un robot móvil equipado con manipuladores, es decir, es capaz de desplazarse y manipular objetos. Generaciones de robots: Al margen de la clasificación de los robots por categorías, resulta interesante hacerlo también según su evolución, es decir, por generación, reconociéndose las siguientes: 1.ª generación: Fueron presentados como “manipuladores” en la clasificación por categorías. Su nivel mecánico y de control es muy rudimentario. 2.ª generación: Son también manipuladores y se caracterizan por un nivel perfeccionado tanto mecánico como de control, exhiben una coordinación de movimientos más compleja y precisa. Pueden reproducir secuencias de operaciones “aprendidas”. 3.ª generación: Suman a la generación anterior una capacidad limitada de percepción del entorno, los que les brinda un primer nivel de inteligencia. 4.ª generación: Se trata de dispositivos manipuladores o móviles con mejor percepción del entorno, disponiendo de capacidad de planificación o razonamiento. 5.ª generación: Fueron identificados como humanoides en la clasificación anterior por categorías, exhiben conductas inteligentes de aprendizaje y razonamiento. Disponen, además, de muy buenas capacidades de percepción y acción. Cuando la navegación se basa en la locomoción bípeda, suelen ser denominados androides. Clasificación IFR (Federación Internacional de Robótica): También es reconocida como clasificación AFRI (Asociación Francesa de Robótica Industrial) y considera las siguientes cuatro categorías: 1. Manipulador o comando remoto con control manual o telemando. 2. Manipulador automático con ciclos preajustados, regulación mecánica precisa, control computarizado, accionamiento eléctrico, neumático o hidráulico. 3. Dispositivo programable con trayectoria continua o “punto a punto”. No dispone de conocimiento sobre su entorno. 4. Dispositivo con capacidad con percepción de su entorno y la posibilidad de adecuar su conducta con base en ella. Tipos de percepción: En realidad, hay tantos tipos de percepción como haya sensores disponibles que permitan identificar señales físicas y se tenga interés o necesidad de interpretarlas como un estímulo. En un robot podrían identificarse estas dos principales: 1. Visión. 2. Audición. Visión: Dan lugar a la escala de complejidad en la interpretación que sigue: Clasificación de la visión: La escala de capacidad creciente de identificación e interpretación de complejidad incluye señales (tipo 1) e imágenes (tipo 2), y es la que se detalla a continuación: 1. Identificación de presencia luminosa (1) 2. Interpretación de señales (1) 3. Análisis dimensional (1 y 2) 4. Reconocimiento de patrones (2) 5. Comprensión de imágenes (2) Clasificación de imágenes: En el tratamiento de imágenes, es fundamental reconocer sus atributos de representación, donde los principales son los siguientes: 1. Tipo de representación: Vectorial o matriz de puntos. 2. Dimensiones: 2D o 3D. 3. Color: B&W o color. En este último debe definirse la resolución cromática (cantidad de colores). 4. Representación de almacenamiento: Para el caso vectorial, la estructura de datos específica; de lo contrario, el formato establecido (GIF, PNG, JPG, etc.) o mapa de bits. Audición: Dan lugar a la escala de complejidad en la interpretación que sigue: Clasificación de la audición: En la capacidad de interpretación sonora hay dos tipos: reconocimiento de señales (tipo 1) y reconocimiento del habla (tipo 2). En una escala de complejidad creciente, es habitual considerar como mínimo los siguientes niveles: 1. Identificación de presencia sonora (1). 2. Interpretación de señales sonoras codificadas (1). 3. Reconocimiento de órdenes (1). 4. Reconocimiento del lenguaje natural (2). 5. Nivel de dependencia del orador (2). 6. Capacidad de interpretación de discurso continuo (2). 7. Capacidad de interpretación en tiempo real (2). 8. Nivel de limitación impuesta por el tamaño del vocabulario (2). 9. Nivel de limitación impuesta por la complejidad gramatical (2). Tipos de acción: Se reconocen dos formas principales de acción por parte del robot: 1. Navegación: Se refiere a la capacidad de desplazarse en el entorno de trabajo planificando la ruta para llegar a destino con el menor esfuerzo y evitando obstáculos fijos o móviles. 2. Manipulación: Se refiere a la capacidad de identificar un objeto, tomarlo, trasladarlo, posicionarlo y abandonarlo. Capacidad de desplazamiento 1. Dirección diferencial: Ya descripta en las definiciones de terminología. 2. Conducción sincronizada: Cada rueda se puede orientar y rotar independientemente en su propio eje. 3. Locomoción bípeda: Traslado de los seres humanos. La principal dificultad es el control estático y dinámico del desplazamiento en tiempo real, manteniendo simultáneamente el equilibrio del robot. Es utilizada en los androides. 4. Zoomórficos caminadores: Se caracterizan por disponer de un sistema de locomoción “multípeda” que imita a los diversos seres vivos. 5. Zoomórficos no caminadores: Disponen de formas especiales de traslado a través de orugas y otros dispositivos que también buscan reproducir los recursos de los seres vivos. Todavía están poco evolucionados. Tipos de navegación: 1. Puntual (trayectoria): Se recorre una secuencia de puntos definidos por (X, Y, Z). 2. Dimensional (posicional): Se recorre una secuencia de posiciones definidas por puntos (X, Y, Z) y sus respectivas orientaciones (α, β, δ). Tipos de manipulación: 1. Insensible: Los objetos tomados no presentan restricciones. 2. Sensible: Los objetos presentan restricciones en fuerzas o presiones soportadas. Requerimientos de la manipulación: Las condiciones que deben cumplirse son las siguientes: 1. Trayectorias prescriptas. 2. Coordinación de movimientos. 3. Posicionamiento preciso. 4. Sujeción con esfuerzo apropiado. C O NT I NU A R Lección 3 de 5 Funcionalidades de un robot La utilización de los robots muestra un sostenido crecimiento en todos los campos, incluyendo el industrial, comercial, militar y médico. Además, a cada momento se comprueba su utilización en nuevas aplicaciones, tanto por incursionar en nuevos campos como también por su permanente perfeccionamiento, que les permite ofrecer nuevos y más precisos desempeños. La clave de su aceptación es la posibilidad de realizar tareas de forma más precisa, a menor costo o que no pueden desempeñar los seres humanos. En la actualidad, los robots se usan en plantas de manufactura, montaje, embalaje y transporte. También en laboratorios, ámbito militar, ámbito médico y producción masiva de bienes industriales o de consumo. Otra ventaja de su utilización es hacer posible la incursión en ámbitos que están fuera del alcance del hombre o son inapropiados, como es el caso de las grandes profundidades marinas, el espacio extraterrestre y los lugares severamente contaminados por radiactividad, presencia de elementos tóxicos o intensos campos magnéticos. Habiéndose revisado los escenarios en que operan con ventaja los robots y habiéndolos clasificado, aparecen totalmente naturales y justificadas las tres categorías presentadas al comenzar las clasificaciones en el apartado anterior. Se identificaron las siguientes: 1 Robots manipuladores o poliarticulados: Se trata de brazos robotizados que operan en el entorno de un punto fijo, es decir, que están destinados a seleccionar, manipular e instalar objetos, pero tienen el alcance de su brazo y no se desplazan. Variantes: Cantidad de grados de libertad controlados, dimensiones y exactitud en el posicionamiento requerido. Aplicaciones: Un amplio espectro que va desde diminutos trabajos de alta precisión en cirugía médica hasta la instalación de piezas en líneas de montaje. 2 Robots móviles: Disponen de capacidad de desplazamiento en su entorno, normalmente, utilizando ruedas. Su ventaja es la posibilidad de desplazarse por diversas trayectorias según el caso. Variantes: La principal es si solo están destinados a mover cargas o deben también sumar la capacidad de carga y descarga. En este último caso, se trata de un robot móvil con manipulador, llamados también híbridos. Y deben considerarse los requerimientos del manipulador, al igual que en el caso anterior. Aplicaciones: Sus dos aplicaciones extremas son el traslado de material entre dos puntos (descarga de buques, abastecimiento de líneas de montaje, etc.), donde no suele requerirse manipulación (la carga y descarga está a cargo de grúas) y la operación en ambientes hostiles, donde además de desplazarse en un medio inaccesible al hombre (fondo marino, superficie marciana, ambiente contaminado, etc.), deben realizar tareas de manipulación de objetos y su montaje. 3 Humanoides: Se trata de un robot móvil equipado con manipuladores, es decir, capaces de desplazarse y manipular objetos, también denominados androides. Son los tipos de robots más exigidos en cuanto a su nivel de inteligencia y diversidad de percepciones, las que deben ser acordes a las prestaciones esperadas. Variantes: A partir de una fisonomía similar a la humana, deben definirse las cualidades requeridas en cuanto a su capacidad de comunicación, percepción de otros estímulos, capacidad de traslado y posicionamiento de objetos, velocidad de traslado, coordinación de movimientos, equilibrio y otras cualidades asociadas con la inteligencia. Aplicaciones: Reemplazo del ser humano en el desempeño de actividades físicas e intelectuales. Como puede apreciarse, la apropiada selección de un robot requiere de una detallada especificación de: requerimientos funcionales, consecuencia de los servicios que debe prestar; requerimientos no funcionales, que son emergentes del sistema en su conjunto como consecuencia de las prestaciones esperadas y el tipo de actividad por desempeñar. Figura 1: Manipulador, robot móvil y humanoide Fuente: elaboración propia basada en "Robots industriales", s.f., https://bit.ly/3gcrZLz MiR 200, s.f., https://bit.ly/32gYuAb C O NT I NU A R "Robot NAO para empresa y educación", s.f., https://bit.ly/3tou4b3 Lección 4 de 5 Otras consideraciones Con la finalidad de familiarizarse con la robótica desde una perspectiva diferente, se sugiere hacer en la web una búsqueda sobre uno de los siguientes tres temas: “Robótica educativa”, “Robot Battle” y “Real Time Battle”. Desafío propuesto a partir de las notas anteriores Este último módulo de la materia se ocupa de la robótica, que como ya se anticipó reúne la contribución de dos disciplinas o corrientes del conocimiento que tienen su propia identidad e historia: la mecánica y la misma inteligencia artificial. Los robots sin la inteligencia artificial estarían limitados al desempeño de autómatas (de hecho, ya ocurrió) y estas entidades sin la mecánica no tendrían forma de expresarse eficazmente en el mundo real, estarían destinadas a ser simuladas en el computador. Cosa que también ocurrió. Es decir, ambos constituyen un perfecto complemento que nos ocupará las cuatro lecturas de este módulo. Completada esta lectura, te invito a responder los interrogantes que se presentan a continuación. Luego, el siguiente paso será consultar el capítulo 25 de Russell (páginas 1023 a 1028) en el que se trata este asunto. Cabe aclarar que la lectura procura ser orientativa en cuanto al alcance y profundidad con que se espera tratar el tema en el libro, ya que en particular el libro de Russell tiene mucho más material del que estamos en condiciones de abordar en el curso. Por último, te invito a volver sobre las preguntas aquí formuladas y las respuestas propuestas con un espíritu de autocontrol final. La intención es estimular una mirada crítica al trabajo realizado desde una posición de mayores conocimientos sobre los temas tratados. Se reitera que estas preguntas tienen como única finalidad contribuir a que el estudiante compruebe por sí mismo sus conocimientos. No se trata de una instancia de evaluación. Las consignas son las siguientes: 1. Ensaya una definición propia de robot. 2. Identifica los tres términos (a excepción de la definición presentada de robot) que consideraste más esclarecedores. 3. Identifica 4. A las tres clasificaciones vinculadas a robots que consideras las más necesarias y esclarecedoras. partir de la clasificación de los robots en generaciones, asocia cada uno de los niveles de inteligencia con los modelos de agentes de Russell y Nilsson. 5. Identifica las capacidades de percepción y acción que, a tu juicio, son esenciales para que un robot pueda tener una mínima interacción con los seres humanos. C O NT I NU A R Lección 5 de 5 Referencias La condición poshumana – Reseña de Irene Cambra Badii. (s.f.). Recuperado de https://www.kubernetica.com/2013/07/18/la-condicion-poshumana-resena-de-irene-cambra-badii/ MiR 200. (s.f.). Recuperado de https://www.mtstech.eu/project/mir-200/ Moravec, H. (1993). El hombre mecánico: el futuro de la robótica y la inteligencia humana. Barcelona: Salvat. Robot NAO para empresa y educación. (s.f.). Recuperado de https://revistaderobots.com/robots-y-robotica/robotnao-caracteristicas-y-precio/ Robots industriales. (s.f.). Recuperado de http://www.mekkam.com/project-type/robots-industriales/ Sinterpack. (2017). Robótica colaborativa. Recuperado de http://sinterpack.com/es/noticias/106/roboticacolaborativa C O NT I NU A R Aspecto mecánico de la robótica De niciones de los términos mecánicos de la robótica Análisis cinemático de un manipulador Estudio de un manipulador plano Otras consideraciones cinemáticas Referencias Lección 1 de 5 Definiciones de los términos mecánicos de la robótica Al completarse la lectura 1, se reiteró la presencia en la robótica de dos disciplinas con su propia identidad e historia, ambas indispensables para alcanzar el estado actual de desarrollo de este tema. Surge entonces la necesidad de justificar ante el lector, estudiante de Sistemas, la presentación de conceptos propios de la mecánica. Naturalmente, se lo hará en forma introductoria y conducirá a ejemplos integradores de ambas corrientes del conocimiento. También se anticipó que quedaba pendiente la terminología referida a cinemática y dinámica de mecanismos, así como también sus clasificaciones. En consecuencia, se comienza por presentar estos términos y sus significados. Cinemática: Ciencia que trata el movimiento sin considerar las fuerzas que lo ocasionan, incluyendo el estudio de posiciones, velocidad, aceleración y sus derivadas de mayor orden con respecto al tiempo. Manipulador: Brazo conformado por vínculos casi rígidos conectados entre sí por articulaciones, las que permiten movimientos relativos entre elementos adyacentes. Es la base del brazo robotizado. Cinemática directa: Representa el problema básico de conocer el movimiento final de un manipulador a partir de ciertos ángulos girados por las sucesivas articulaciones del brazo. Cinemática inversa: Conocida una posición y orientación final deseada para un manipulador, es el problema de determinar las rotaciones que deberán ser aplicadas en las sucesivas articulaciones para obtenerlos. Define el espacio de articulaciones internas del robot y es normalmente el principal problema por resolver. Su determinación no es sencilla, puede no tener solución o inclusive haber múltiples soluciones. Punto operacional: El punto del extremo del manipulador cuya posición y movimiento interesa a los efectos de la función específica del robot. Trayectoria: Representa el lugar geométrico de las sucesivas posiciones alcanzadas por el punto operacional de un manipulador cuando se realiza una secuencia de variantes (rotaciones) en el espacio de articulaciones internas del brazo. Dinámica: Ciencia que trata las fuerzas requeridas para provocar determinados movimientos, permitiendo una rápida respuesta compatible con las posibilidades del mecanismo. En este caso, se procura obtener aceleraciones iniciales y finales suaves y progresivas, considerando las fuerzas gravitatorias y fuerzas de inercia. Torque: Fuerza aplicada a cierta distancia de un eje, también denominado momento. Coordenadas: Conjunto ordenado de tres valores que definen unívocamente un punto en el espacio. Se adopta aquí como referencia el sistema de coordenadas cartesianas ortogonales. Posición: Es la ubicación de un punto en el espacio y queda definido por las tres coordenadas. Normalmente, se las reúne en un vector denominado vector posición {P}. Orientación: La definición de un cuerpo sólido en el espacio requiere la posición de uno de sus puntos y también la orientación de tres ejes ortogonales asociados al sólido. Para esto último se describen los vectores unitarios de los tres ejes principales en términos del sistema de referencia, conformando una matriz de rotación. A los componentes de esta matriz de rotación se los denomina cosenos directores. Trama: Para especificar completamente dónde se encuentra el extremo operativo de un manipulador es necesaria una posición y una orientación, que lleva el nombre propio de Trama. Transformada homogénea: Matriz de orden 4 que incluye la información de posición y orientación y cumple la función de un operador de transformación. Si bien se está poniendo el foco en la mecánica del robot, debe tenerse en cuenta que los requerimientos en cuanto a desempeño estarán directamente relacionados con la autonomía del robot, distinguiéndose los siguientes tres casos: 1 Robot preprogramado: Las trayectorias están incorporadas al robot a través de un lenguaje de programación, pudiendo seguir diferentes trayectorias a partir de la identificación de objetivos. Se trata de un problema de cinemática directa. 2 Robot con aprendizaje: El robot “aprende” (memoriza) sus trayectorias a partir de operaciones “manuales” del brazo y sucesivos ajustes. También es cinemática directa. 3 Robot autónomo: El robot debe reconocer las rotaciones requeridas en cada articulación para seguir trayectorias apropiadas a fin de resolver un problema. Se trata de una solución que puede no ser conocida y requiere de cinemática inversa. Lección 2 de 5 Análisis cinemático de un manipulador Para interpretar con claridad el problema, se presenta en la figura 1 el esquema de un brazo manipulador. Figura 1: Esquema del brazo manipulador de 7 grados de libertad del robot Kuka LWR 4+ Fuente: Zaplana, Claret y Basanez, 2018, p. 194. Estos brazos están compuestos de elementos teóricamente rígidos (no hay material completamente rígido, se lo considera así si sus deformaciones son pequeñas) que están vinculados entre sí por articulaciones, las que permiten movimientos relativos entre componentes adyacentes. Su finalidad es permitirle al brazo alcanzar los puntos necesarios en el dominio de operación y posibilitar la orientación apropiada para la tarea asignada (sujeción, manipulación, traslado, montaje, etc.). Sobre la base de la función específica prevista, en el diseño del brazo se definen las dimensiones de los vínculos rígidos, su forma y la cantidad de rotaciones requeridas. Al actuar, el punto operacional del manipulador debe seguir una cierta trayectoria con el extremo en una determinada orientación establecida (trama) para cumplir su función. Para ello, en el caso del ejemplo de la figura 1, se deben definir los siete ángulos requeridos para la trama en cada punto de la trayectoria. Estas secuencias de rotaciones estarán completamente preestablecidas en manipuladores automáticos (cinemática directa) y deben ser definidas durante la operación en el caso de robots autónomos. La definición de las rotaciones necesarias a partir de la trayectoria deseada ya fue citada como cinemática inversa. Para reconocer la real complejidad del problema, debe agregarse que la definición cinemática es solo una parte de la solución. Las variaciones en las rotaciones dan lugar a que todos los puntos del brazo experimenten distintas velocidades y aceleraciones, las que deben estar dentro de ciertos límites compatibles con la función realizada y la resistencia de los materiales. Debe recordarse aquí que las aceleraciones son sinónimo de fuerzas que deben ser aplicadas o soportadas. Por ese motivo, en el diseño de mecanismos, adquiere especial importancia el jerk, que representa la rapidez con que cambia la aceleración. Es decir, el jerk es la derivada tercera del desplazamiento con respecto al tiempo (la aceleración es la derivada segunda). Los métodos generales para la obtención de los modelos cinemáticos se basan en asociar un sistema de referencia a cada articulación. Se presentará a continuación la transformación que relaciona los sistemas de referencia de dos eslabones consecutivos. Es decir, la posición y orientación del sistema de referencia de la articulación j con respecto al sistema de referencia de la articulación j-1 queda representada por una matriz de transformación de orden cuatro en la que se destacan otras tantas particiones, tal como la siguiente: Las dos particiones operativas son: Rj que es la matriz de rotación y Pj un vector posición, ambos de orden tres. La matriz de rotación Rj define la orientación del sistema j respecto del j-1. Aquí cabe acotar que Rj representa una transformación ortogonal, por lo que su transpuesta es igual a su inversa. Por su parte el vector Pj define el origen del sistema j respecto del j1. Esto significa que un brazo manipulador puede ser completamente definido desde el punto de vista cinemático asociando una matriz Tj a cada articulación. Por lo tanto, al considerarse un brazo con n articulaciones, la relación entre ambos extremos está dada por: Se dice que un manipulador tiene n grados de libertad si su configuración debe ser especificada, como mínimo, por n variables independientes. En un manipulador, la cantidad de articulaciones simples determina el número de grados de libertad y sus valores definen las configuraciones. Por otra parte, la solución de la cinemática inversa de los robots manipuladores consiste en obtener las configuraciones asociadas a una secuencia de tramas del elemento terminal (trayectoria). Las posibles soluciones de la cinemática inversa se clasifican en tres grupos: 1 Analítica: Se obtienen las expresiones generales que definen las rotaciones a partir de secuencias de tramas, las que son resueltas analíticamente. 2 Numérica: El planteo es similar en el sentido que se identifican las expresiones que gobiernan el problema, pero se las resuelve numéricamente por métodos algorítmicos o iterativos. 3 Modelo neuronal: A partir de la relación entrada/salida (rotaciones --> tramas) se entrena un modelo neuronal artificial que permita conocer las rotaciones que corresponden a cada punto de una trayectoria (tramas --> rotaciones), alcanzando el mismo desempeño que el de la expresión que gobierna el problema, a pesar de que en este caso esta es altamente compleja y completamente desconocida. Como ya se ha comentado a lo largo del curso, los modelos neuronales artificiales demostraron ser un excelente recurso para reproducir el desempeño de funciones altamente complejas, solo conocidas a través de sus desempeños entrada/salida, siendo este uno de esos casos. También ya fue anticipado que en estos casos se utilizan modelos multicapa de perceptrones, es decir, redes supervisadas no recurrentes. La dificultad aquí reside en identificar la arquitectura apropiada para obtener un buen desempeño y entrenar el modelo. Lección 3 de 5 Estudio de un manipulador plano Se propone un ejemplo en dos dimensiones a efectos de hacer un análisis detallado de una solución de cinemática directa e inversa, ya que al usar un mecanismo plano se facilita su interpretación sin quitar generalidad a los procedimientos. En la figura 2 se presenta el esquema del brazo manipulador, que tiene la finalidad de tomar piezas de un reservorio y montarlas con precisión sobre equipos que circulan por una línea de montaje. El manipulador es pequeño, con un brazo con tres segmentos, que extendido es de una longitud de 90 cm. Figura 2: Manipulador posicionado con los tres ángulos αA = αB = αC = 30o Fuente: elaboración propia. El brazo del manipulador al que se hace referencia está formado por tres segmentos denominados AB, BC y CD con largos de 40 cm, 30 cm y 20 cm respectivamente. El punto D representa el lugar donde es montada la herramienta de trabajo. En la figura 2 se presenta el brazo con sus tres segmentos girados 30º respecto de sus referencias a efectos de simplificar el cálculo. Tal como fue anticipado, las tres matrices de transformación responden a una forma general que incluye a la matriz de rotación Rj y al vector posición Pj, ambos de orden tres. Debe observarse que la matriz de rotación de orden tres incluye las transformaciones que corresponden a los tres ejes en cada articulación, aunque aquí el tercero no es transformado porque en las tres articulaciones son paralelos (eje Z). A partir de las matrices de transformación de cada segmento del brazo, se obtiene la matriz de transformación que vincula sus dos extremos. Puede observarse que los parámetros de la submatriz de posición P se corresponden con la ubicación del punto D respecto del sistema de referencia principal, con origen en A. Las coordenadas son PD = {50,72, 66,21, 0,00} y la distancia AD = 83,40. Si a partir de los sucesivos conjuntos de tres ángulos se reitera el cálculo anterior, se obtendrá la trayectoria del punto D desde el inicio hasta la finalización del movimiento del brazo. Es lo que ya se definió como cinemática directa y los resultados se muestran en la figura 3. Figura 3: Manipulador en su posición inicial (A-B-C-D) y final (A-B’-C’-D’) Fuente: elaboración propia. En la figura 3 se presenta a la derecha un esquema del brazo en su posición inicial, en la que toma la pieza (A-B-C-D) y a la izquierda su posición final, en la que monta la pieza (A-B’-C’-D’). En el eje de las abscisas se representan las componentes horizontales de cada posición del punto D y en el eje de las ordenadas las componentes verticales, luego la curva 1 (azul) representa la trayectoria del punto D, desde la posición inicial hasta la final. Se aprovecha la figura para representar con la curva 2 (verde) el largo efectivo del brazo entre sus dos extremos (distancia AD). Obsérvese que cuando la curva 2 pasa por un máximo el brazo está casi completamente extendido (L ≈ 90; αB ≈ 0o; αC ≈ 0o). Dado que esta trayectoria proviene de las sucesivas rotaciones de tres articulaciones, resulta también interesante representar su evolución y para ello se lo hace nuevamente tomando como abscisas los componentes horizontales (X) de cada posición del punto D. Se utilizan las mismas abscisas para facilitar las comparaciones y se muestran las curvas en la figura 4, representándose nuevamente el brazo en sus dos posiciones extremas. Figura 4: Evolución de los ángulos de las articulaciones del brazo Fuente: elaboración propia. Antes que nada, cabe aclarar que para facilitar la interpretación del gráfico se representan los ángulos respecto del sistema de referencia global (ejes coordenados asociados al punto A), a los que se denominan Ω en lugar de α. Como puede observarse, los ángulos iniciales son ΩA = 60º, ΩB = -30º y ΩC = -90º, arribándose a los valores finales en la posición A-B’-C’-D’, donde son ΩA = 120º, ΩB = 150º y ΩC = 180º. Obsérvese que los ángulos muestran (ΩA, 3 / azul, ΩB, 4 / verde y ΩC, 5 / rojo) que nunca los tres segmentos del brazo están completamente alineados. El punto en el que están más próximos de hacerlo corresponde a X = -14,581 y los ángulos son ΩA = 102º, ΩB = 96º y ΩC = 99º. Por ese motivo la distancia AD nunca llega a 90, su valor máximo es 89,906 cm. Como se puede apreciar, la cinemática directa es totalmente analítica y requiere de mucha observación. El objetivo siguiente es la cinemática inversa, es decir, obtener los tres ángulos necesarios para posicionar los segmentos del brazo, de manera que la posición del punto D (definido por las coordenadas X e Y) correspondan a uno cualquiera de los puntos de la trayectoria. Como se anticipó, se utilizará aquí un modelo neuronal de perceptrones multicapa, donde las entradas serán los valores de cierta posición de la trayectoria (X e Y), y la salida esperada, los valores de los tres ángulos (ΩA, ΩB y ΩC). Para ello se comienza por ordenar los datos a fin de disponer de los pares de entrada/salida para el entrenamiento del modelo, que en este caso consiste en 21 juegos y son representados en la figura 5. Figura 5: Coordenadas de puntos de la trayectoria del brazo y ángulos girados Fuente: elaboración propia. Es importante aclarar que el hecho de que los datos de entrenamiento sean 21 es algo totalmente arbitrario. Conocidos los valores extremos de ΩA, ΩB y ΩC asociados a las posiciones iniciales y finales del brazo, lo que en este caso se hizo fue reconocer veinte intervalos angulares iguales a lo largo de la trayectoria. Surge así que: El paso siguiente es completar la arquitectura del modelo, que como ya se anticipó tiene dos entradas (coordenadas X e Y) y tres salidas (ángulos de las articulaciones). Mediante un proceso exploratorio de prueba y error se deben ajustar la cantidad de capas ocultas y las cantidades de unidades en cada capa. Aquí se trabajó con una capa oculta y se hicieron pruebas con diferentes cantidades de unidades. En la figura 6 se muestra un esquema del modelo adoptado. Figura 6: Esquema del modelo de perceptrones multicapa Fuente: elaboración propia. Al igual que en los casos presentados en el módulo 3, para el entrenamiento del modelo neuronal se usó una aplicación de desarrollo propio que, a medida que realiza el ajuste de pesos, representa en un gráfico la evolución del error y también el valor del módulo de un vector que es la resultante de la totalidad de los pesos sinápticos. Ambas curvas son de mucha utilidad por facilitar la evaluación del proceso de ajuste y su convergencia. En este caso, el proceso de ajuste del modelo fue laborioso y probablemente haya que probar alternativas con más capas ocultas. No obstante, finalmente, se alcanzó un muy buen resultado con 25 unidades sobre la única capa oculta utilizada. En la figura 7 se muestra la pantalla de aplicación una vez concluido el ajuste de pesos después de 1600 ciclos y la representación de una ventana que contiene los ángulos correspondientes a los datos de entrenamiento y los calculados por el modelo. Puede apreciarse que estos últimos son muy próximos a los primeros, con errores que son muy pequeños. La curva roja es el módulo del vector pesos y la verde el error obtenido. Figura 7: Pantalla de la aplicación utilizada para entrenar el modelo Fuente: elaboración propia. Los resultados obtenidos muestran la factibilidad de dejar a cargo de un modelo neuronal las predicciones de cinemática inversa. Es decir, una vez que se decide avanzar según cierta trayectoria, el modelo neuronal determina los ángulos necesarios en cada articulación para alcanzar los sucesivos puntos. Cabe aclarar que la propia decisión del camino elegido es ajena a este modelo, que se limita a hacerla posible. Se trata de diferentes niveles de decisión. En el nivel superior, el estratégico, se habrá evaluado la conveniencia de la trayectoria elegida, así como su factibilidad de acuerdo con las velocidades, aceleraciones y jerks involucrados. C O NT I NU A R Lección 4 de 5 Otras consideraciones cinemáticas La cinemática acompaña a la inteligencia artificial desde que se concretaron los primeros robots con movimiento, es la base de la manipulación, por lo que es imposible no incluirla en un curso de robótica. También está presente, aunque probablemente en menor medida, en la navegación. El probablemente obedece a que, si bien en su mayoría el traslado de los robots recurre a la convencional “rueda”, hay excepciones cuando se debe transitar sobre superficies muy irregulares y se adoptan soluciones muy elaboradas y originales desde el punto de vista cinemático. Ambas, la manipulación y la navegación, reúnen la capacidad de acción de un robot, la posibilidad de manifestarse físicamente. Y aquí hay que destacar que la complejidad implícita de los recursos previstos en la acción de un robot es totalmente independiente de su nivel de autonomía. En su gran mayoría, tanto los robots manipuladores como los móviles son autómatas, dispositivos completamente automáticos, a la vez que con mucha frecuencia responden a diseños muy complejos y elaborados desde el punto de vista cinemático. No es casualidad que la inteligencia artificial haya recurrido a la mecánica cuando tuvo que dotar sus desarrollos de capacidades físicas apropiadas. Lo que se quiere expresar aquí es que, en la robótica clásica, las trayectorias de los manipuladores y los recorridos de los equipos móviles no son decididos en tiempo real. Ni tampoco por el propio robot. Por el contrario, han sido minuciosamente estudiados con anterioridad para alcanzar tres de los principales requisitos de los procesos de fabricación modernos: rapidez, confiabilidad y precisión. Naturalmente, hay numerosas excepciones. Uno de los casos es el representado por los robots que operan en grandes extensiones desconocidas y no estructuradas, en las que deben enfrentarse con significativas incertidumbres tanto en la navegación como en la identificación de objetos, su manipulación y posicionamiento. En efecto, hay casos en que la incertidumbre convierte una actividad relativamente trivial para un manipulador o robot móvil industrial en una tarea de alta complejidad. Como ejemplos pueden citarse tareas realizadas en el fondo marino, profundidad de la tierra o superficies desérticas. Como compensación por tener que enfrentarse con tanta incertidumbre del entorno, no se espera que estos robots sigan trayectorias o alcancen su destino final con el mismo nivel de precisión o eficiencia que se obtendrían en escenarios bien definidos. Todo este conocimiento, consolidado en el desarrollo de robots manipuladores y móviles, poco atractivos desde el punto de vista intelectual, es el que está haciendo posible el rápido desarrollo y sorprendentes soluciones que presentan sucesivamente los robots humanoides: cada vez más próximos al hombre en sus habilidades físicas y cognitivas. Es decir, los humanoides representan en la actualidad el cúmulo de la experiencia y conocimiento de la robótica: entidades inteligentes y físicamente hábiles. La percepción y la navegación serán en foco de la siguiente lectura del módulo 4. Desafío propuesto a partir de las notas anteriores Desde hace décadas los robots se han ido incorporando de diferente manera a nuestra cultura, proceso que progresivamente se viene acelerando. Es un proceso que, como ha sido visto, fue anticipado por la literatura y el cine. En el pasado no había dudas de que se trataba de ficción y en el presente cada vez hay menos dudas sobre la posible materialización de estas predicciones fantásticas. No habría motivo para no creer que nos espera un futuro que será compartido con robots de todo tipo. Todo un desafío para el ser humano y un llamado a la reflexión. Completada esta segunda lectura sobre robots, te invito a responder los interrogantes que se presentan a continuación. Luego, el siguiente paso será consultar el capítulo 25 de Russell (páginas 1027 a 1028 y 1039 a 1043) en el que se trata este asunto. Cabe aclarar que la lectura procura ser orientativa en cuanto al alcance y profundidad con que se espera tratar el tema en el libro, ya que en particular el libro de Russell tiene mucho más material del que estamos en condiciones de abordar en el curso. Por último, te invito a volver sobre las preguntas aquí formuladas y las respuestas propuestas con un espíritu de autocontrol final. La intención es estimular una mirada crítica al trabajo realizado desde una posición de mayores conocimientos sobre los temas tratados. Se reitera que estas preguntas tienen como única finalidad contribuir a que el estudiante compruebe por sí mismo sus conocimientos. No se trata de una instancia de evaluación. Las consignas son las siguientes: 1. Selecciona las tres definiciones que encontraste novedosas o más importantes y justifica cada una. 2. Identifica los tres tipos de robot según su autonomía y explica las características de cada uno. 3. Identifica las tres soluciones posibles de la mecánica inversa y explica cada una. 4. Identifica el tipo de modelo neuronal más apropiado para implementar un proceso de mecánica inversa y justifica tu respuesta. 5. En el caso de un brazo manipulador que opera en tres dimensiones y dispone de cinco grados de libertad, ¿cuáles serían los elementos de la arquitectura conocidos y cuáles habría que definir a través de ajustes sucesivos? 6. ¿Qué parámetros de un modelo neuronal son ajustados durante el proceso de entrenamiento? Explica. C O NT I NU A R Lección 5 de 5 Referencias Zaplana, I., Claret, J. A. y Basanez, L. (2018). Análisis cinemático de robots manipuladores redundantes: aplicación a los Robots Kuka LWR 4+ y ABB Yumi. Revista Iberoamericana de Automática e Informática industrial, 15, 192-202. Recuperado de https://upcommons.upc.edu/bitstream/handle/2117/116165/8822-35678-1PB.pdf;jsessionid=E9F3E4C6E9C4A0D108CF2871E701B339?sequence=1 Percepción y navegación robótica Aspectos generales de la percepción La visión arti cial La navegación robótica Otras consideraciones sobre percepción y acción Referencias Lección 1 de 5 Aspectos generales de la percepción La percepción del medioambiente es fundamental para la supervivencia de cualquier ser vivo. Durante millones de años los animales desarrollaron complejos sistemas orgánicos a los efectos de disponer de información sobre el entorno, el medio circundante. Estos sistemas incluyen los indispensables sensores y la capacidad de interpretar sus señales, función que desempeña el cerebro a través de sus respectivos centros sensoriales. El cerebro en la percepción tiene a su cargo varias funciones: la primera de ellas es la de procesar a gran velocidad las enormes cantidades de datos provistos por los sentidos. Luego debe relacionarlos y evaluarlos, para finalmente integrarlos a otros datos ya incorporados con anterioridad en la estructura de conocimientos. Un aspecto muy importante para tener en cuenta es que, en su evolución, los seres vivos no solo perfeccionaron su capacidad sensorial, sino que también la especializaron, en gran medida acorde al medio en que operan y el rol que cada uno desempeña, con el fin primordial de contribuir a la supervivencia. Siguiendo el ejemplo de la naturaleza, a los androides o robots humanoides habría que dotarlos de sistemas sensoriales equivalentes, acordes a la función por desempeñar y la necesaria capacidad de interacción con el hombre. A los efectos de ser eficientes, es clave el proceso de clasificación de la información, considerando en cada caso las señales más importantes, disponiendo de criterio para descartar datos irrelevantes o inconsistentes a partir de un modelo jerárquico que permita solo considerar la información indispensable. De lo contrario, solo se lograría saturar la capacidad de interpretación de los centros sensoriales o de almacenamiento de la estructura de conocimientos. Disponer de criterio para saber distinguir lo útil y descartar lo irrelevante o redundante no solo es un desafío, es la clave del éxito. No debe perderse de vista que la naturaleza es cruel, nos brinda solo los ejemplos exitosos, aquellas experiencias poco efectivas se perdieron, ya que sus portadores no sobrevivieron. La percepción en los seres vivos incluye una enorme diversidad de señales. Hay animales que se destacan por su aguda visión (águilas), distinción cromática (abejas), señales eléctricas (algunos peces), fina audición, incluyendo ultrasonido (delfines y murciélagos), olfato (ratones), velocidad (murciélagos), sensibilidad térmica (algunas serpientes), por citar las principales. Planteado este panorama general, se pondrá aquí el foco en la visión por dos motivos primordiales: 1 Su indudable importancia para estimular una interacción hombre – máquina, ágil y natural. 2 Por ser apropiada para un enfoque que, aunque introductorio, permita percibir su alcance y sus posibilidades. C O NT I NU A R Lección 2 de 5 La visión artificial Con la visión artificial se busca que una máquina, a través de señales visuales, sea capaz de interpretar una imagen bidimensional, una forma tridimensional o una escena. La finalidad es interactuar dinámicamente con el entorno. El principal problema por resolver es que, en primera instancia, todos los puntos de una imagen tienen idéntico valor. Es decir, forman parte de esta. Y procesar la totalidad de los datos hasta identificar algún patrón de interés significativo puede fácilmente llegar a representar un esfuerzo de enorme complejidad temporal. Ante esta realidad, es necesario aumentar la eficiencia en la interpretación visual, adoptando estrategias similares a las de los seres vivos: dar importancia solo a los elementos más significativos de una escena, excluyendo los detalles y excluir también del análisis las formas incompatibles con las primeras, que pueden provenir de sombras o elementos accesorios. En este proceso de selección y filtrado, representa una gran ayuda la disponibilidad de información de alto nivel sobre el objeto de la búsqueda. En este sentido, hay mucha expectativa por las posibilidades que se le adjudican a la integración e interpretación conjunta de diferentes sistemas sensoriales, combinando, por ejemplo, órdenes verbales con interpretación de imágenes del lenguaje corporal, que incluyen expresiones faciales, postura, movimientos de brazos, etc. Pero esto queda fuera del alcance de los objetivos del curso, y la atención se concentrará en la interpretación de imágenes. Definiciones básicas Imagen: Está asociada a una función bidimensional f(x, y) cuya amplitud o valor será el grado de iluminación (intensidad) en el espacio de coordenadas (x, y) de la imagen para cada punto. Imagen digital: La función imagen f(x, y) es digitalizada en la memoria del computador: espacialmente y en amplitud. 1. La digitalización de las coordenadas espaciales está asociada al concepto de muestreo, por lo que una imagen es almacenada en una matriz de orden N × M. El muestreo es la conversión que sufren las dos dimensiones espaciales de la señal analógica para generar la noción de píxel. 2. La digitalización en amplitud es la cuantificación de los niveles de gris o colores representados. Para ello la señal analógica es convertida en un valor escalar, dando lugar al nivel de gris o intensidad, o a un vector en el caso del color que tiene tres componentes. En resumen, la imagen se comporta como una matriz donde el valor de los elementos es su amplitud (nivel de gris o color) y el par (fila, columna) su posición en el espacio. Espacio RGB: Combinación de tres señales de luminancia cromática distinta: rojo, verde y azul. Un color particular en un punto (x, y) queda definido por la cantidad de color que se necesita combinar. Ejemplo: f(x, y) = R + G + B (rojo + verde + azul). Gráficamente, el espacio RGB se representa por un cubo cuyos ejes principales son R (x), B (y) y G (z), representando el origen al negro. En la recta que une el origen con el valor máximo se encuentran los grises (los tres componentes son iguales) y el extremo representa al blanco (figura 1). Figura 1: Espacio RGB Fuente: elaboración propia. Interpretación de imágenes Si bien la atención en el procesamiento de imágenes se remonta a los años 50, coincidiendo con la presentación de los primeros computadores, hubo que esperar al desarrollo de la informática para disponer de recursos que permitan obtener resultados de interés práctico. Estos se obtuvieron durante los 80 con la aparición de las primeras aplicaciones industriales de visión por computador. A partir de allí la visión artificial es una disciplina en permanente evolución, objeto de una intensa actividad de investigación y fuertemente impactada por las posibilidades que ofrecen los modelos neuronales. Aunque la visión por computador es un campo de estudios muy amplio, íntimamente relacionado con diversas tecnologías, se destacan las siguientes tres aplicaciones: 1. Procesamiento y análisis de imágenes: La finalidad es transformar una imagen en otra, de la misma o diferente dimensión con distintos objetivos. Uno de ellos es su interpretación y análisis, donde se procura encontrar información abstracta relacionada. 2. Generación de gráficos: La finalidad es transformar una descripción de objetos en una imagen, en un proceso que podría considerarse inverso al de análisis de imágenes. 3. Reconocimiento de patrones: Clasificar un objeto entre un conjunto de posibilidades a partir de ciertas características. Figura 2: Visión por computador Fuente: elaboración propia basada en Escalera, A. (2001). En las aplicaciones basadas en visión por computador se reconocen dos etapas y siete actividades, que se muestran en el esquema presentado en la figura 2. Como puede apreciarse, la información inicial sobre el problema por resolver es esencial, ya que participa en todas las actividades y es sucesivamente perfeccionada en cada una de las actividades cumplidas. En las tres primeras actividades de visión de “bajo nivel”, el objetivo es seleccionar y procesar la imagen, de tal manera que el resultado brinde el conjunto de características que definen el problema: presencia de colores, texturas, presencia y forma de objetos, movimiento, etc. Las cuatro actividades restantes son de “alto nivel” o “análisis de imágenes”. Utilizan las características ya identificadas para avanzar en el nivel de abstracción de las descripciones, esencialmente, en el análisis de las formas, el reconocimiento y la descripción de objetos. Se insiste en la importancia de la definición inicial presentada, donde se precisa el problema por resolver, se definen los objetivos y las estrategias para alcanzarlos. A continuación, se avanzará con más detalle sobre las siete actividades presentadas en el esquema. 1 Adquisición de la imagen: En la adquisición de una imagen hay tres elementos fundamentales que son fuente de luz, sensor de imagen y módulo de captura de la imagen. La fuente de luz es de vital importancia, ya que debe proporcionar unas condiciones de iluminación uniformes e independientes del entorno, además de facilitar la extracción de los rasgos de interés. El sensor no requiere justificación, aunque es muy importante que su resolución y cuantización (conversión análogo‑digital) sea compatible con la naturaleza y destino de las imágenes. Finalmente, el módulo de captura de imagen debe permitir transferir con facilidad la imagen de la cámara a la memoria de la computadora con el fin de que esta pueda realizar el procesamiento requerido por cada una. 2 Preprocesamiento: Una vez disponible la imagen mediante cualquier sistema de captura, por lo general, no es directamente utilizable para su procesamiento. La presencia de variaciones en intensidad debidas a ruido, deficiencias en la iluminación o la obtención de imágenes de bajo contraste hace necesario un preprocesamiento de la imagen. El objetivo fundamental debe ser corregir estos problemas, además de aplicar aquellas transformaciones a la imagen que acentúen las características que se deseen extraer de estas a fin de facilitar las operaciones de las etapas posteriores. A este campo pertenecen las técnicas de resaltado de bordes, transformaciones geométricas, las basadas en el histograma, el filtrado espacial (convolución) y el filtrado frecuencial (transformada de Fourier). 3 Extracción de características: Estando la imagen ya procesada, el paso siguiente es la detección de los elementos presentes, lo que implica buscar las características de aquellos objetos que se procura encontrar. Una de estas tareas es la detección de bordes, que ya fueron acentuados en la actividad anterior, la detección de líneas y la detección de esquinas. Para ello se hacen mediciones de gradientes, se utilizan operadores de segundo orden, filtros y detectores de borde. Otra detección es la de texturas, para las cuales se realizan análisis estadísticos de primer y segundo orden, así como análisis frecuencial de las texturas. Por último, se analiza la detección de movimientos. Para ello se hacen algunas consideraciones, como que la cámara está fija, no hay cambios de iluminación entre imágenes, y los objetos tratados son rígidos. 4 Segmentación: Cuando se dispone de la imagen capturada y filtrada, es necesario aislar o separar los objetos de interés de la escena. Se busca dividir una imagen en diferentes regiones o, planteado de otra forma, detectar automáticamente los bordes entre los elementos o regiones. Las operaciones de segmentación de una escena dependen de la propia escena y de la información que se busque dentro de la imagen. Por ejemplo, en fotografía aérea se utiliza para separar regiones agrícolas, pobladas, bosques, aguas, etc. En imágenes médicas se usa para aislar anomalías en los órganos y en microscopia para identificar y contar microorganismos. Industrialmente, se usa como primer paso para la medición de piezas, verificación de la correcta disposición del etiquetado de envases, medición de irregularidades en superficies homogéneas, detección de cambios de texturas para evaluar posibles defectos, etc. Para la detección de bordes regulares es de mucha ayuda la transformada de Hough, tanto lineal como generalizada. 5 Transformaciones morfológicas: Una vez cumplida la actividad anterior, cada objeto presente en la imagen puede ser analizado en forma individual. Para ello es sometido a transformaciones morfológicas, en las que se modifica su estructura o forma. Estos procesos, además de ser útiles para la extracción de características, permiten también la eliminación de ruido remanente de las actividades anteriores. Con ese fin se aplican técnicas de erosión, dilatación, esqueletización, adelgazamiento, extracción del perímetro y eliminación de ramas, entre otras. 6 Descripción de objetos: Llegado a este punto, la tarea se orienta a la descripción de los objetos identificados. Estos ya son aptos para brindar una serie de valores numéricos que los describan y que serán de gran utilidad en la actividad siguiente. Se está haciendo referencia a tamaños, perímetros, compacticidad, posición, orientación, proyecciones, indicadores invariantes, descriptores topológicos, códigos encadenados y descriptores de Fourier. 7 Reconocimiento o clasificación: La última actividad corresponde al reconocimiento de patrones, fin último del proceso. A partir de las características encontradas y de los objetos que el reconocimiento a priori del problema anticipó como posibles, el sistema debe determinar qué objetos están presentes en la imagen. Con este fin se realiza reconocimiento estadístico (clasificador Bayesiano) y se aplican funciones discriminantes. Detección de bordes La interpretación de imágenes es un tema lo suficientemente vasto como para hacer imposible su estudio detallado, solo es factible una descripción general. Por ese motivo, se seleccionó un tema específico para ser tratado con mayor detalle: la transformada de Hough. La elección proviene porque es una transformada de aplicación general, muy original e ingeniosa. A diferencia de la mayoría de los métodos de detección de bordes que solo hacen un análisis local, la transformada de Hough considera las relaciones globales entre píxeles de borde, permitiendo encontrar ciertos patrones en la imagen tales como líneas y círculos. Fue propuesta y patentada en 1962 por Paul Hough, inicialmente aplicada a la detección de rectas en una imagen y posteriormente extendida para identificar otras figuras. El caso más simple para la transformada de Hough es la transformación lineal para detectar líneas rectas. Figura 3a, 3b y 3c: variantes en la definición de una recta Fuente: elaboración propia. Fuente: elaboración propia. Fuente: elaboración propia. En el espacio de la imagen, una recta se puede representar por su ecuación y = mx + b (figura 3a) y se puede graficar para cada uno de sus puntos representado por (x, y). En la transformada de Hough (figura 3b), la recta es representada en otro plano en términos de sus parámetros (m, b). Es decir, lo que en el plano (x, y) representa una recta en el plano (m, b) representa un punto. La limitación está en que, cuando hay rectas verticales, el parámetro m de la recta es indeterminado, por lo que es más conveniente usar los parámetros que describen una recta en coordenadas polares: ρ = x.cos θ + y.sen θ (figura 3c), es decir, (θ, ρ). En resumen, los puntos que pertenecen a diferentes rectas en una imagen compleja son representados por distintas rectas que se cortarán en puntos claramente definidos en el plano (m, b), permitiendo identificar con toda precisión las pendientes de las rectas estudiadas en la imagen. Si la recta es representada en coordenadas polares, la transformada al plano (θ, ρ) da lugar a que los puntos de una recta sean vistos como curvas sigmoidales, permitiendo igualmente su clara identificación. Una vez que los parámetros de las rectas están claramente definidos, son representados sobre la imagen original para destacar bordes y singularidades. Es importante destacar que la transformada de Hough no se limita a la detección de rectas, que es su aplicación más utilizada. También es empleada para identificar otras figuras geométricas, en particular, círculos y arcos. Figura 4: Navegación de un robot apoyado en la transformada de Hough Fuente: Jheferson, S. A., 2013 En la figura 4 se muestra la identificación de bordes en la imagen a través de la transformada de Hough con la finalidad de facilitar la orientación de un robot que busca su camino a lo largo de un pasillo. La identificación es realizada en tiempo real mientras el robot avanza, es decir, que nuevas referencias deben ser consideradas a cada momento para servir de guía, ya que el escenario reconocido por el robot es el representado por estas líneas. C O NT I NU A R Lección 3 de 5 La navegación robótica Se denomina navegación al arte de guiar el curso de un móvil a través de un entorno con obstáculos. Existen diversos procedimientos, pero todos ellos tienen en común el objetivo de llevar el vehículo a su destino de forma segura y eficiente. La principal cualidad para ser considerada debe ser la capacidad de reacción eficaz ante situaciones inesperadas en entornos no estructurados (Martínez, 1995). Según Martínez (1995), las tareas involucradas en la operación de un robot móvil son esencialmente cuatro: 1 La planificación de una trayectoria conveniente y libre de obstáculos, para alcanzar el punto de destino seleccionado. 2 La percepción del escenario a través de sus sensores, de modo de posibilitar la abstracción del mundo. 3 El guiado efectivo del vehículo a través de una trayectoria definida. 4 La interacción de manera simultánea con ciertos elementos del entorno. Un robot móvil se caracteriza por realizar una serie de desplazamientos (navegación) y por llevar a cabo una interacción con distintos elementos de su entorno de trabajo (operación) [manipulación], que implican el cumplimiento de una serie de objetivos impuestos [especificados]. (Martínez, 1995, p. 22) Según Martínez (1995, p. 23), "realizar una tarea de navegación para un robot móvil significa recorrer un camino que lo conduzca desde una posición inicial hasta otra final, pasando por ciertas posiciones intermedias. En el problema de la navegación se identifican cuatro etapas": 1 Planificación de la ruta: Crea un objetivo final y una secuencia ordenada de objetivos parciales o submetas que deben ser alcanzadas por el vehículo. Esta tarea implica una decisión estratégica y la descripción de la tarea que debe realizarse utilizando el modelo o mapa de entorno. 2 Generación del camino: Se define una función continua que incluye la secuencia de objetivos parciales construida por el planificador. Posteriormente, se procede a la discretización de esta a fin de generar el camino. 3 Percepción del entorno: Mediante los datos provenientes de sensores externos, se crea y actualiza un mapa o modelo del entorno donde se desarrolla la tarea de navegación 4 Seguimiento del camino: Según el camino generado y su posición, se define el movimiento del vehículo a través de los efectores y se definen las correcciones que puedan ser necesarias (Martínez, 1995). Figura 5: Esquema de la estructura de navegación de un robot móvil Fuente: elaboración propia basada en Martínez (1995). A: Posición, dirección y velocidad. B: Comandos de dirección y velocidad La complejidad del seguidor de caminos puede ser muy variable, dependiendo de que su operación deba o no contemplar la posibilidad de que se presenten imprevistos y que deban ser resueltos sobre la marcha. De ser este el caso, el seguidor de caminos estaría en realidad cumpliendo dos funciones: la suya específica y la de un módulo que suele presentarse por separado y se denomina de planificación local. Está destinado precisamente a considerar novedades respecto del conocimiento del entorno que se tenía al momento de realizarse la planificación de la ruta. Esta planificación local debe llevarse a cabo en tiempo de ejecución, que es cuando se advierten las desviaciones y otras novedades. Métodos clásicos de planificación Todos los métodos de planificación se fundamentan en una primera fase de construcción de algún tipo de esquema sobre el espacio libre, realizado a partir de la información poseída del entorno. Posteriormente, se emplea un algoritmo de búsqueda en el espacio de estados con la finalidad de definir el camino apropiado, siendo habitualmente A* el método más efectivo que se considera para esta tarea. Los métodos de la primera fase de planificación, considerados clásicos, son los siguientes: Planificación basada en grafos de visibilidad. Planificación basada en minimización de obstáculos (diagramas de Voronoi). Planificación basada en modelado del espacio libre. Planificación basada en la descomposición en celdas. Planificación basada en campos potenciales. Una vez cumplida la primera fase de planificación, el paso siguiente es la generación del camino. El camino está representado por la secuencia de consignas que se entregarán al seguidor de caminos para la ejecución de la tarea de navegación. Se construye en función de la ruta definida en la etapa de planificación y debe estar libre de obstáculos. Además de esta característica básica, al utilizarse como referencia del seguidor de caminos, debe poseer ciertas cualidades que faciliten la acción de esta última tarea. La importancia de la definición de un camino con buenas propiedades está en que contribuirá a las posibilidades del seguidor para realizar una ejecución del camino con el menor error posible. C O NT I NU A R Lección 4 de 5 Otras consideraciones sobre percepción y acción Para cerrar esta lectura, es oportuno reproducir la introducción de un trabajo citado en primer lugar en el listado de referencias específicas. Este trabajo es el de Martin, Tucat y García (2004). La expectativa es por tratarse de la narración de una experiencia real que se originó en el desarrollo de un equipo de fútbol de robots que compitió en el campeonato mundial Robocup 2004. Los robots disponen de un sistema de visión global y de dos motores para su desplazamiento, teniendo como trabajo el objetivo de mostrar algunas soluciones a los problemas encontrados en la percepción de los objetos por parte del sistema de visión y también a problemas que pueden ocurrir al ejecutar las acciones básicas utilizando los motores. Se reproduce textualmente la citada introducción: Como los robots desarrollados no son completamente reactivos, estos toman sus decisiones basándose en un modelo abstracto del entorno donde se encuentran, el cual debe ser lo más preciso posible. En busca de este objetivo, es imprescindible tratar de minimizar los errores que ocurren tanto en la etapa de censado como también al momento de ejecutarse las acciones que modifican el entorno en el que se sitúan. Por ejemplo, el sistema de visión suele presentar ciertas imperfecciones. Un objeto estático dentro del campo de juego ilustra esta situación, ya que la información provista por el sistema de visión no es siempre la misma, en algunos casos varía considerablemente. Esto podría llevar a la construcción de un modelo abstracto donde las posiciones de los objetos sean diferentes a las reales, lo cual produciría que se tomen decisiones incorrectas. Con respecto a las acciones llevadas a cabo por los robots, es importante destacar que no puede asumirse de antemano que dichas acciones tendrán el resultado esperado en el modelo. En este trabajo consideramos los siguientes posibles problemas: la carga de las baterías que accionan los motores de los robots afecta el rendimiento de estos, el tipo de superficie del campo de juego afecta la respuesta de los motores, la inercia del robot tiene efectos sobre la acción realizada y, por último, pequeñas diferencias entre dos motores que deberían ser iguales dificultan algunas acciones básicas. (Martín, Tucat y García, 2004, p. 2) Desafío propuesto a partir de las notas anteriores El lector está pudiendo confirmar lo que alguna vez ya fue anticipado: que la robótica es una disciplina polifacética, que incluye conocimientos de los más variados y que todos ellos tienen en común un respaldo matemático esencial y muy riguroso. Cada uno de los aspectos involucrados, tanto los intelectuales de aprendizaje y razonamiento como los físicos de percepción y acción son por sí mismos toda una especialidad en algún campo del saber científico. A título de ejemplo, puede citarse uno de los tantos aspectos de los que trata la percepción, ¿cuánto conocimiento encierra la visión artificial? Y este interrogante puede repetirse para una larga lista de áreas específicas del conocimiento científico. Aquí cabe una reflexión: ¡Cuánto conocimiento acumulado respaldan los progresos de la robótica y cuánto falta todavía para emular a un ser humano en todas sus capacidades! En la próxima y última lectura, también la última de la materia, trataremos las arquitecturas del robot, sus variantes y características; luego, los lenguajes de programación robóticos para, finalmente, incursionar en los dominios de aplicación. Todo parece conducir a confirmar que la robótica es muy apropiada para ser presentada como tema de cierre de un curso de inteligencia artificial. Completada esta lectura, te invito a responder los interrogantes que se presentan a continuación. Luego, el siguiente paso será consultar los capítulos 24 y 25 de Russell, en los que se trata este asunto. Cabe aclarar que la lectura procura ser orientativa en cuanto al alcance y profundidad con que se espera tratar el tema en el libro, ya que en particular el libro de Russell tiene mucho más material del que estamos en condiciones de abordar en el curso. Por último, te invito a volver sobre las preguntas aquí formuladas y las respuestas propuestas, con un espíritu de autocontrol final. La intención es estimular una mirada crítica al trabajo realizado desde una posición de mayores conocimientos sobre los temas tratados. Se reitera que estas preguntas tienen como única finalidad contribuir a que el estudiante compruebe por sí mismo sus conocimientos. No se trata de una instancia de evaluación. Las consignas son las siguientes: 1. Revisa las etapas y actividades previstas en una aplicación de visión artificial, explorando variantes con relación a los resultados esperados en cada etapa. 2. A través de un pequeño ejemplo numérico, revisa los conceptos planteados con la transformada de Hough. 3. Revisa el esquema de la estructura de navegación de un robot móvil, justifica sus etapas y presenta las variantes que eventualmente consideras necesarias. 4. Selecciona uno de los métodos denominados clásicos de la primera fase de la planificación y resume sus ventajas y limitaciones. 5. Haz un resumen de los problemas de percepción y navegación presentados por los autores del artículo reproducido. C O NT I NU A R Lección 5 de 5 Referencias Escalera, A. (2001). Visión por computador: fundamentos y métodos. Prentice Hall. Martin, F. A, Tucat, M. y García, A. (2004). Soluciones a problemas de percepción y acción en el dominio de un equipo de fútbol de robots. Recuperado de http://sedici.unlp.edu.ar/bitstream/handle/10915/22516/Documento_completo.pdf?sequence=1&isAllowed=y Martínez, V. F. M. (1995). Planificación de trayectorias en robots móviles. Universidad de Málaga. Recuperado de http://webpersonal.uma.es/~VFMM/PDF/cap2.pdf C O NT I NU A R Arquitecturas Arquitecturas de robots Lenguajes de programación robóticos Dominios de aplicación Otras consideraciones sobre robótica Video conceptual Referencias Revisión del módulo Lección 1 de 7 Arquitecturas de robots La finalidad de las arquitecturas de software es la de hacer posible el diseño y construcción de sistemas cada vez más grandes y complejos, a la vez que están sometidos a exigencias muy severas en cuanto a fiabilidad, eficiencia, calidad y robustez, debiendo poder soportar con el mismo desempeño las cargas de trabajo iniciales y futuras. Y a estas necesarias cualidades debe agregarse la facilidad de mantenimiento. De esta manera, se hace posible la disponibilidad de una base firme para el inicio del ciclo de vida de un software que asegure la incorporación de las mejores propuestas y experiencias en el dominio, como así también que permita evitar a tiempo la adopción de soluciones que en la práctica demostraron no ser aconsejables. Los modelos de arquitecturas estabilizadas, respaldadas por conocimiento y experiencia profesional, desempeñan un rol cada vez más importante en la ingeniería de software. Esto, que está siendo comprobado en la industria del software en general, lo es aún en mayor medida cuando se trata de sistemas de control, embebidos o de tiempo real, o una combinación de estas cualidades. Y este enfoque del desarrollo de software, que viene demostrando su validez en todas las áreas de aplicación de los sistemas informáticos, lo es indudablemente también en el dominio de la robótica. Por las razones expuestas, se presenta aquí el tratamiento de las arquitecturas de software en el campo de la robótica, que naturalmente tiene exigencias particulares, y es el motivo por el que se las presenta en la última lectura, una vez que han sido desarrollados los aspectos que son propios en esta disciplina. Entrando más en el tema, las arquitecturas utilizadas para construir este tipo de sistemas especifican cómo se descomponen los agentes en un conjunto de módulos que interactúan entre sí para lograr la funcionalidad requerida. Como consecuencia, uno de los aspectos básicos que distingue una arquitectura de otra es la forma de descomposición del trabajo en tareas particulares. Un ejemplo son los subsistemas de planificación, que utilizan modelos de representación del conocimiento y razonamiento de tipo simbólico, y su modo de actuación está definido por la necesidad de satisfacer ciertos objetivos básicos (control deliberativo), para lo cual deben elaborar un plan. Y los algoritmos de planificación no siempre responden a los requerimientos del sistema en un tiempo razonable, ya que los principios básicos de la planificación son indecidibles. Por lo tanto, pueden requerir un elevado tiempo de respuesta. Este es un gran inconveniente cuando se resuelven problemas de tiempo real, por lo que al no constituir una opción válida llevaron a la búsqueda de alternativas que utilizasen otros modelos de representación o razonamiento, como es el caso de los reactivos o híbridos. Quedan así planteados tres modelos arquitectónicos, que son los siguientes: 1 Deliberativos: "Aquellas arquitecturas que utilizan modelos de representación simbólica del conocimiento. Suelen estar basadas en la teoría clásica de planificación. Estos agentes parten de un estado inicial y son capaces de generar planes para alcanzar sus objetivos" (Corchado, s.f., p. 3). 2 Reactivos: "Se caracterizan por no tener como elemento central de razonamiento un modelo simbólico y por no utilizar razonamiento simbólico complejo. […] La necesidad de actuar en un entorno impredecible y altamente cambiante dificulta la adopción de una arquitectura deliberativa" (Corchado, s.f., p. 12). 3 Híbridos: "Pretenden combinar aspectos de ambos modelos" (Corchado, s.f., p. 15), reactivos y deliberativos. "Las diferentes arquitecturas aparecen a la hora de integrar todas las acciones para dar respuesta a problemas complejos. Habitualmente el conjunto de habilidades necesita de la existencia de distintos niveles jerárquicos […] en la estructura de control" (Corchado, s.f., p. 13). En el campo de la robótica, la mayor parte de las opciones arquitectónicas deben combinar control reactivo y control deliberativo, es decir, quedan encuadradas como híbridas, donde ambos extremos representan enfoques con fortalezas y debilidades ortogonales. Así es que la identidad de cada propuesta reside en el nivel de participación de cada opción extrema y la forma en que son combinadas. Arquitectura de subsunción Los robots ya han sido reconocidos como agentes que actúan en un entorno cambiante. (Corchado, s.f.). Precisamente, la necesidad de actuar en un entorno impredecible y altamente cambiante dificulta la adopción de una arquitectura deliberativa, ya que las necesidades de replanificación y de continua adaptación del plan a la realidad hacen muy difícil que una arquitectura de este tipo responda con suficiente agilidad. (Corchado, s.f., p. 12) Como ha sido demostrado en numerosas aplicaciones, un sistema basado en las propiedades básicas de muchos elementos sencillos e interactuando adecuadamente establecen un orden a partir de un aparente caos, lo que es consecuencia de una capacidad de autoorganización. Esta propiedad, denominada emergente, puede evitar el problema de la excesiva longitud y complejidad de las descripciones algorítmicas. En efecto, las propiedades emergentes parecen decisivas en los esquemas de diseño al que acude regularmente la naturaleza. Este elegante concepto se transformó en uno de los postulados básicos del enfoque de la inteligencia artificial basado en la naturaleza: la inteligencia puede ser emergente, representando una propiedad de la interacción compleja de elementos más simples. Pueden citarse como ejemplo los "anímatas" desarrollados por Rodney Brooks (1986) en la Universidad de Stanford. Estos eran una especie de insectos artificiales que confirmaron que una conducta inteligente puede emerger a partir de la disponibilidad de comportamientos sencillos extremadamente reducidos. Los robots así construidos se componen de piezas destinadas a cumplir individualmente una función a partir de una organización muy elemental y donde una coordinación central se encarga de supervisar estos componentes y de compatibilizar sus respuestas. Es lo que se llama "arquitectura de subsunción", cuya principal ventaja es el escaso poder computacional que se requiere para operarlos. Puede decirse que operan a partir de jerarquías de tareas, de menor a mayor nivel de abstracción, que definen un comportamiento (Corchado, s.f.). Para Brooks (1986) la mejor representación del entorno es el propio entorno, por lo que el sistema de control debe operar directamente a partir de los datos adquiridos por el robot en ese momento. El concepto de reactividad define que el sistema de control debe utilizar únicamente la información actual para decidir la siguiente acción. La arquitectura puramente reactiva no necesita de ningún otro nivel y la actuación final del robot se basa en la importancia para cada situación de la función que se puede ejecutar. A veces se define una relación entre las acciones básicas, de modo que una acción puede bloquear a otra e impedir su ejecución [compuerta AND]. Otras veces se recurre a distintos algoritmos de fusión que permiten ponderar las salidas [compuerta OR o XOR] [y también se combinan los distintos tipos de relaciones]. (Corchado, s.f., p. 14) En la figura 1 se muestra un esquema básico de una arquitectura de subsunción: Figura 1: Esquema de un modelo de subsunción Fuente: elaboración propia. El esquema presentado incluye cuatro señales de entrada y otras tantas salidas encadenadas que comandan una acción. Naturalmente, sus posibilidades son muy escasas, pero debe pensarse el potencial de la idea en un caso en que intervengan decenas de señales, cuyas salidas converjan a dispositivos de accionamientos complejos (válvulas lógicas) para finalmente comandar decenas de diversos tipos de acciones. Podría decirse que el límite de su capacidad está representado por la posibilidad de definir las secuencias de acciones requeridas y los vínculos lógicos entre las señales y sus salidas a fin de producir un determinado efecto. Seguramente, nada fácil. Arquitecturas de tres capas En la arquitectura híbrida se combina la reacción con la deliberación, y un caso característico es la arquitectura básica de tres capas, que son las siguientes: Capa reactiva: provee el control de bajo nivel del robot, caracterizándose por un fuerte lazo de sensor‑acción. Su ciclo operativo se encuentra en rangos de períodos muy bajos, del orden de milisegundos. Capa ejecutiva: cumple la función de vincular la capa reactiva con la deliberativa. Recibe directivas de la capa deliberativa y las transmite a la capa reactiva, siendo también responsable de incorporar la información de los sensores en una representación de estado interno, que es compartida con la capa deliberativa. Su ciclo operativo es del orden del segundo. Capa deliberativa: a través de la planificación genera soluciones globales para tareas complejas, tomando decisiones a través de “modelos de decisión” e información del modelo de estado interno. Su ciclo operativo es de entre uno y varios minutos. En la figura 2 se presenta un esquema simplificado de un modelo de arquitectura de tres capas: Figura 2: Esquema de un modelo de tres capas Fuente: elaboración propia. C O NT I NU A R Lección 2 de 7 Lenguajes de programación robóticos El tratamiento de los lenguajes de programación robóticos puede ser abordado desde diferentes puntos de vista y para comenzar parece conveniente enumerar los requerimientos de un programador sobre su principal herramienta, que es el lenguaje y su compilador. Naturalmente, hay que hacerlo teniendo en cuenta las características del producto que se va a desarrollar, que es el software de un robot, posiblemente embebido y desde una visión de programador que debe poder concebir, completar, entregar un producto y dejar conforme a su cliente. Los requerimientos no serían los mismos si se los considerara desde el punto de vista de un investigador. Estos requerimientos serían los siguientes: 1 Lenguaje compilable, no interpretable. 2 Lenguaje expresivo y claro, en lo posible con sintaxis similar a la de los principales lenguajes imperativos utilizados en la actualidad. 3 Sintaxis que combine las grandes posibilidades de los lenguajes de bajo nivel con la flexibilidad y simplicidad del alto nivel. 4 Capacidad para trabajar con temporizadores y operar niveles de interrupción (preferible). 5 Dependiente de los recursos del sistema operativo, sin dependencia de librerías o componentes de terceros. 6 Buena capacidad visual, apto para definir pantallas de diálogo e interfaces gráficas. 7 Buen administrador de proyectos y editor de textos, que permitan trabajar con comodidad tanto a nivel de módulos en conjunto como a nivel de detalle con el código. 8 Compilador eficaz para la identificación y señalización de advertencias y errores de sintaxis. 9 Buena capacidad de debugging, que permita seguir e identificar fallas en tiempo de ejecución. 10 Generación de código en lenguaje máquina que sea sólido y eficiente, esencialmente en lo que hace a complejidad temporal (rapidez de respuesta) y complejidad espacial (espacio de memoria demandado). Definidos los requerimientos, otro aspecto para considerar son los dos equilibrios que deben ser alcanzados, que son los siguientes: Adopción de nuevos lenguajes vs. adecuado conocimiento de estos: si se adoptan con frecuencia nuevos lenguajes (ambientes de desarrollo, IDE) nunca se los conoce con la profundidad suficiente como para superar problemas complejos; en caso contrario, se domina la herramienta de trabajo con el riesgo de quedar desactualizado. Uso de componentes vs. desarrollo de librerías propias: si todo el sistema se basa en componentes de origen desconocido, se pone en dudas el desempeño del sistema y la posibilidad de superar eventuales dificultades eficazmente; a la vez, no es posible desarrollar respuestas propias para todas las funcionalidades requeridas. En este contexto, en el que hay diez requerimientos que podrían considerarse básicos y resulta además esencial encontrar un justo equilibrio en dos aspectos críticos, se presentan los siguientes interrogantes: ¿debo adoptar un nuevo lenguaje específico para la programación robótica? ¿Resultaría conveniente adoptar CES (C++ for Embedded Systems) o debería trabajar con el C++, cuyo lenguaje y compilador domino ampliamente? Similares preguntas se pueden plantear con GRL (Generic Robot Language) y otros lenguajes. C O NT I NU A R Lección 3 de 7 Dominios de aplicación Se presentan y describen muy brevemente a continuación los principales dominios de aplicación de la robótica, que en la actualidad cubren todo el espectro de la actividad humana. Estos son los siguientes: Industria: Si bien la robótica tiene una muy larga historia y acompaña al hombre desde la antigua Grecia y aun antes, su escenario de aplicación en tiempos modernos fue la industria. Primero la Revolución Industrial y más recientemente las ideas de producción seriada de principios del siglo XX (Henry Ford, 1908), inspiradas en las limitaciones del hombre, no fueron suficientes y había que incorporar nuevos recursos productivos. Y así aparece el brazo robotizado (George Devol, 1948). Su indudable y principal ventaja fue la mayor capacidad de trabajo, que fue complementada por otras cualidades, como la mayor precisión y estricta repetición de procedimientos, lo que permitió incrementar simultáneamente la producción y la calidad, con la consiguiente reducción de costos. Agricultura: La agricultura no estuvo ajena a estas iniciativas que inspiraron el desarrollo de máquinas excavadoras, sembradoras, cosechadoras y empacadoras, que buscaron también mayor capacidad de producción con menor participación humana. Transporte: El transporte robotizado tiene su expresión clásica en los dispositivos móviles de abastecimiento a las líneas de montaje industrial y, en la actualidad, esta se ha extendido desde la carga y descarga en puertos hasta el traslado de pacientes dentro de centros asistenciales, pasando por drones y otros vehículos aéreos destinados al traslado de elementos o relevamientos fotográficos. Las aplicaciones no tienen límite. Entornos peligrosos: El segundo gran argumento que justificó e impulsó la robótica fue la posibilidad de reemplazar al hombre en escenarios de trabajo muy peligrosos, tóxicos, radiactivos o difícilmente accesibles (el primer argumento fue la mayor capacidad de trabajo). Así es que los robots están presentes en la desactivación de explosivos, búsqueda de sobrevivientes en estructuras colapsadas, exploración en cavernas, minas abandonadas o barcos hundidos, limpieza de bodegas en buques petroleros y otras muchas aplicaciones similares inapropiadas para la presencia humana. Exploración: Ya se anticipó oportunamente la importancia de la exploración espacial en el estímulo al desarrollo de la robótica. Así es que los robots hoy están presentes (a través de brazos manipuladores) a cargo de innumerables tareas en vehículos espaciales y desplazándose (robots móviles) por ahora sobre la superficie de Marte. También son usados en la exploración de las profundidades marinas, inalcanzables para el hombre y en zonas absolutamente inhóspitas. Salud: Los robots de precisión ya forman parte habitual en los equipos de cirugía en centros médicos, cumpliendo el rol de asistentes y en muchos casos también el de los cirujanos cuando hacen falta intervenciones de altísima precisión, principalmente, en el cerebro, ojos y corazón. Prótesis humanas: Como herramientas de extensión de la salud, los robots están presentes en diversos tipos de prótesis humanas. Aquí cabe aclarar que este también es un dominio de actuación de la cinemática, solo que lo viene siendo estrictamente desde el punto de vista mecánico y ahora, integrado a las capacidades de control robótico, permite brindar soluciones muy completas y eficaces. Entretenimiento: La extensa presencia de los robots en todas las facetas de la actividad cotidiana del mundo moderno no podía dejar estos dispositivos ajenos a los juguetes y variadas formas de entretenimientos, algunos de ellos muy sofisticados. Servicios personales: Quizás sea la aplicación más reciente de la robótica. Los robots de servicios cumplen la función de colaboradores para todo tipo de tareas personales en la empresa y en el hogar. Educación: Aquí habría que reconocer dos líneas de desarrollo: por un lado, la robótica como proveedora de herramientas didácticas de todo tipo, incluyendo modelos de los objetos estudiados; y, por otro lado, la robótica como objetivo en sí mismo, estimulando el estudio de la informática a través de la programación de esos elementos. C O NT I NU A R Lección 4 de 7 Otras consideraciones sobre robótica Habiendo completado las dieciséis lecturas del curso, resulta aquí oportuno tratar brevemente los principios éticos de la inteligencia artificial, que admite dos puntos de vista: 1 El comportamiento ético de los seres humanos cuando diseñan, construyen, usan y tratan con máquinas dotadas de inteligencia. 2 El comportamiento de las propias máquinas cuando operan y toman decisiones de manera autónoma. Si estas máquinas quedan encuadradas como robots, la evaluación de su comportamiento está a cargo de una especialidad reciente de la ética denominada robo ética. Desde los dos puntos de vista, conducta de creadores y de objetos creados, la ética de la inteligencia artificial es un tema que da lugar a una creciente preocupación y experimenta cada vez mayor difusión e importancia. Uno de los interrogantes se refiere a si los robots, al aprender de los seres humanos, heredarán o terminarán desarrollando "debilidades" humanas, tales como el egoísmo, deslealtad, vacilación, etc. También preocupa la posibilidad de llegar a un ciclo evolutivo en que las máquinas dispongan de la capacidad de mejorarse a sí mismas, sin límite. Todos estos temas son en la actualidad motivo de creciente atención y preocupación, destacándose el documento de la Unión Europea (abril del 2019) en el que se expresan siete principios que deberían considerarse: 1 La inteligencia artificial debe ser supervisada por seres humanos. 2 Los sistemas de inteligencia artificial no deben ser vulnerables y deben estar preparados para soportar ataques externos. 3 Debe garantizarse la integridad y privacidad de los datos. 4 La inteligencia artificial debe de ser transparente en su desempeño y siempre identificarse como tal. 5 No debe exhibir sesgos discriminatorios de ningún tipo. 6 En su desarrollo tecnológico debe tenerse en cuenta el impacto social y medioambiental, ser sostenible y ecológicamente responsable. 7 La inteligencia artificial y sus resultados deben rendir cuentas ante auditores externos e internos. ("Robótica y ética legal", 2019). Desafío propuesto a partir de las notas anteriores Con esta lectura se ha completado el curso, necesariamente introductorio, a la inteligencia artificial. Tanto por la diversidad de disciplinas del conocimiento involucradas como también por la amplia variedad de objetivos y aplicaciones, la inteligencia artificial es un inmenso campo para la investigación y ejercicio de la actividad profesional. Esto es así si se incursiona en la propia inteligencia artificial como fin último y también si se utiliza sus recursos para obtener mejores desempeños en otras actividades convencionales. Es decir, y ya se lo expresó a lo largo del curso, a la inteligencia artificial se la puede ver como un fin o un medio: sus posibilidades son inimaginables y con seguridad representarán una ventaja estratégica en el mundo laboral para aquellos que la sepan aprovechar. Espero que puedan y sepan hacerlo. Y que con este curso hayan dado un primer paso firme en esa dirección. Completada esta lectura, te invito a responder a los interrogantes que se presentan a continuación. Luego, el siguiente paso será consultar el capítulo 25 de Russell, que es donde se trata este asunto. Cabe aclarar que la lectura procura ser orientativa en cuanto al alcance y profundidad con que se espera tratar el tema en el libro, ya que en particular el libro de Russell tiene mucho más material del que estamos en condiciones de abordar en el curso. Por último, te invito a volver sobre las preguntas aquí formuladas y las respuestas propuestas con un espíritu de autocontrol final. La intención es estimular una mirada crítica al trabajo realizado desde una posición de mayores conocimientos sobre los te

Tags

robotics artificial intelligence mechanical engineering
Use Quizgecko on...
Browser
Browser