11519777 Robotica Control Deteccion Vision e Inteligencia
September 19, 2020 | Author: Anonymous | Category: N/A
Short Description
Download 11519777 Robotica Control Deteccion Vision e Inteligencia...
Description
RO BOTICA: Control, detección, visión e inteligencia ~' o r:
.)
() 11
¡
./
'
/
I
K. S. FU R. C. GONZALEZ C. S. G. LEE
Traducción SEBASTIAN DORMIDO BENCOMO Catedrático lnfonnática y Automática Facultad de Ciencias Físicas UNED (Madrid)
Re,isión técnica ANTONIO VAQUERO SANCHEZ Catedrático Informática y Automática Facultad de Ciencias Físicas Universidad Complutense de Madrid
.. RO DE CORTESlJ.
11
McGraw-Hill MADRID • BOGOTA • BUENOS AIRES • GUATEMALA• LISBOA • MEXICO NUEVA YORK • PANAMA • SAN JUAN • SANTIAGO • SAO PAULO AUCKLAND • HAMBURGO • LONDRES • MONTREAL NUEVA DELHI • PARIS • SAN FRANCISCO • SINGAPUR ST. LOUIS • SIDNEY • TOKIO • TORONTO
CONTENIDO
Prólogo
l.
Introducción l.l. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8.
2.
3.
xi
Antecedentes 1 Desarrollo histórico 4 Cinemática y dinámica del brazo del robot 6 Planificación de la trayectoria y control del movimiento del manipulador 7 Sensores del robot 9 Lenguajes de programación de robots 10 Inteligencia del robot 11 11 Referencias
Cinemática del brazo del robot
13
2.1. 2.2. 2.3. 2.4.
13
Introducción El problema cinemático directo El problema cinemático inverso Observaciones finales Referencias Problemas
Dinámica del brazo del robot 3.1. 3.2. 3.3. 3.4. 3.5.
Introducción Formulación de Lagrange-Euler Formulación de Newton-Euler Ecuaciones de movimiento generalizadas de d'Alernbert Observaciones finales Referencias Problemas
15
54
78 79 79
85
128
85
146 146 147
87
106
viii
CONTENIDO
4. Planificación de trayectorias de un manipulador 4.1. 4.2. 4.3. 4.4. 4.5.
Introducción Consideraciones generales sobre la planificación de trayectoria Trayectorias de articulación interpoladas Planificación de trayectorias de caminos cartesianos del manipulador Observaciones finales Referencias Problemas
5. Control de manipuladores de robot 5.1.
152 152 155 157 178 201 201 203 206
Introducción
206 5.2.
Control del brazo del robot PUMA
5.3.
Técnica del par calculado
5.4.
Control subóptimo de tiempo mínimo
5.5.
Control de estructura variable
5.6.
Control por realimentación desacoplado no lineal
5.7.
Control de movimiento resuelto
5.8.
Control adaptativo
5.9.
Observaciones finales
208 210 228 232 234 239 251 272
Referencias Problemas
273 274
6. Detección 275 6.1.
Introducción
275
CONTENIDO
8.4. 8.5. 8.6. 8.7.
Segmentación y descripción Reconocimiento Interpretación Observaciones finales Referencias Problemas
de estructuras
tridimensionales
9. Lenguajes de programación del robot 9.1. Introducción 9.2. Características de los lenguajes de nivel de robots 9.3. Características de los lenguajes a nivel de tarea 9.4. Observaciones finales Referencias Problemas
10. Inteligencia de robot y planificación de tareas !O. l.
ÍX
431 440
456 460 460 462 465 465 467
478 487 489 489 491
Introducción Búsqueda del espacio de estados !0.3. Reducción del problema 10.4. Uso de la lógica de predicados !0.5. Análisis «rneans-ends» !0.6. Resolución del problema !0.7. Aprendizaje del robot 10.8. Planificación de tareas de robot 10.9. Problemas básicos en la planificación de tareas !0.10. Sistemas expertos e ingeniería del conocimiento !O.! l. Observaciones finales Referencias Problemas
540 540
Apéndices
542
10.2.
A Vectores y matrices B Jacobiano del manipulador Bibliografia Indice
491 492
502 507
512
515
523
525
528 536 539
542
564
576 591
CAPITULO
UNO INTRODUCCION
Una máquina puede hacer el trabajo de cien hombres normales, pero ninguna máquina puede hacer el trabajo de un hombre extraordinario. Elbert Hubbard
1.1
ANTECEDENTES.
1 ,
_ - La necesidad cada vez más resionante de aumentar la productividad y conseguir ' '... productos acabados de una calida um orrne, está hacÍendo que la industria gire cada vez más hacia una automatización basada en computador. En el momento actual, la mayoría de las tareas de fabricación automatizadas se realizan mediante máquinas de uso especial diseñadas para realizar funciones predeterminadas en un proceso de manufacturación. La inflexibilidad y generalmente el alto coste de estas máquinas, a menudo llamadas sistemas de automatización duros, han llevado a un interés creciente en el uso de robots capaces de efectuar una variedad de funciones de fabricación en un entorno de trabajo más flexible y a un menor coste de producción. La palabra robot proviene de la palabra checa r_obota, que significa trabajo. El \ diccionario Webster define a un robot como «un disQositivo automático que," / efectúa funciones ordinariamente asignadas a~~los seres humanos». Con esta ,. f ~ definición, se pueden considerar que las lavadoras son robots. Una definición utilizada por el Robot Institute of America da una descripción más precisa de los , ,, robots industriales: «un robot es un maní ulador reprogramable multifuncional - • ~ diseñado para mover materiales, piezas o dis ositivos es cializados, a través de 'I ' movimientos programados variables para la realización de una diversidad de tareas». Ensuma, un robot es un mañipu a or reprogramable de uso general con sensores externos que pueden efectuar diferentes tareas de montaje. Con esta definición, un robot debe poseer inteligencia que se debe normalmente a los algoritmos de computador asociados con su sistema de control y sensorial. Un robot industrial es un manipulador de uso general controlado por computador que consiste en algunos elementos rígidos conectados en serie mediante articulaciones prismáticas o de revolución. El final de la cadena está fijo a una base soporte, mientras el otro extremo está libre y equipado con una herramienta para manipular objetos o realizar tareas de montaje. El movimiento de las articulaciones resulta en, o produce, un movimiento relativo de los distintos elementos. Mecánicamente, un robot se compone de un brazo y una muñeca más
-
2
ROBOTICA: COSTROL, DETECCION, VISION E INTELIGENCIA
una herramienta. Se diseña para alcanzar una pieza de trabajo localizada dentro de su volumen de trabajo. El volumen de trabajo es la esfera de influencia de un robot cuyo brazo puede colocar el submontaje de la muñeca en cualquier punto dentro de la esfera. El brazo generalmente se puede mover con tres grados de libertad. La combinación de los movimientos posiciona a la muñeca sobre la pieza de trabajo. La muñeca normalmente consta. de tres movimientos giratorios. La combinación de estos movimientos orienta a la pieza de acuerdo a la configuración del objeto para facilitar su recogida. Estos tres últimos movimientos se denominan a menudo elevación (pitch), desviación (yaw) y giro (roll). Por tanto, para un robot con seis articulaciones, el brazo es el mecanismo de posicionamiento, mientras que la muñeca es el mecanismo de orientación. Estos conceptos se ilustran para el robot Cincinnati Milacron T3 y el robot PUMA de Unimation que se muestran en la figura 1.1.
•
Barrido del brazo G iro
a)
Rotación de cintura 320c J Rotación del hombro C(r Rotación del codo 270
'
, 17 0i~
\ /
Doblado de muñeca
200'
Montaje de la pinza b)
Figura 1.1
a) Robot Cincinnati Milacron T3. b) Robot de la serie PUMA 560
INTRODUCCION
3
Muchos robots industriales, que están disponibles comercialmente, se utilizan ampliamente en tareas de fabricación y de ensamblaje, tales como manejo de malerial, soldaduras por arco y de punto, montajes de piezas, pintura al spray, carga y descarga de máquinas controladas numéricamente, exploraciones espaciales y submarinas, investigación de brazos protésicos y en el manejo de materia- \ )es peligrosos. Estos robots caen en una de las cuatro categorías ue definen-,. movimientos básicos (Fig. 1.2): 1 Coordenadas cartesianas ~jes lineales) (eje lo: robot RS-1 de IBM y el robot Sigma de Olive"tti). Coordenadas cilíndricas (dos ejes lineales y un eje rotacional) (ejemplo: robot Versatran 600 de Prab). Coordenadas esfé ·cas un e·e lineal y dos ejes rotacionales) (ejemplo: Unimate 2000B de Unimation Inc.). Coordenadas de revolución articuladas (tres ejes rotacionales) (ejemplo: robot ·-· T de Cincinnati Mílacron y el PUMA de Unimation lnc.). La mayoría de los robots industriales de hoy día, aunque están controlados
por mini y microcomputadores, son básicamente simples máquinas posicionales.
Cilíndrico
De revolución
Cartesiano o xy:
Esférico
Figura 1.2 Diversas categorías de robots.
4 ROIJOTICA: CO~TROL, DETECCIO~. VIS!O~ E l~TELIGENCIA
Ejecutan una tarea dada mediante la grabación de secuencias prerregistradas o preprogramadas de movimientos que han sido previamente guiadas o enseñadas por el usuario con un control de mando portátil. Más aún, estos robots están equipados con pocos o ningún sensor externo para obtener la información vital en su entorno de trabajo. Como resultado de esto, los robots se utilizan principalmente en tareas repetitivas relativamente simples. Se está dedicando un gran esfuerzo de investigación para mejorar el rendimiento global de los sistemas manipuladores, y un camino es a través del estudio de las diversas áreas importantes tratadas en este libro. 6
-·
1.2 DESARROLLO HISTORICO La palabra robot se introdujo en la lengua inglesa en 1921 con el drama satírico R.U.R. de Karel Capek (Rossum Universal Robots). En este trabajo, los robots son máquinas que se asemejan a los seres humanos, pero que trabajan sin descanso. Inicialmente, los robots se fabricaron como ayudas para sustituir a los operarios humanos, pero posteriormente los robots se vuelven contra sus creadores, aniquilando a toda la raza humana. La obra de Capek es en gran medida responsable de algunas de las creencias mantenidas popularmente acerca de los mismos en nuestro tiempo, incluyendo la perfección de los robots como máquinas humanoides dotadas con inteligencia y personalidades individuales. Esta imagen se reforzó en la película alemana de robots Metropolis, de 1926, con el robot andador eléctrico y su perro «Sparko», representada en 1939 en la Feria Mundial de Nueva York, y más recientemente por el robot C3PO, protagonista en la película de 1977, La Guerra de las Galaxias. Ciertamente los robots industriales modernos parecen primitivos cuando se comparan con las expectativas creadas por los medios de comunicación durante las pasadas décadas. Los primeros trabajos que condujeron a los robots industriales de hoy día se remontan al período que siguió inmediatamente a la Segunda Guerra Mundial. Durante los años finales de la década de los cuarenta, comenzaron programas de investigación en Oak Ridge y Argonne National Laboratories para desarrollar manipuladores mecánicos controlados de forma remota para manejar materiales radiactivos. Estos sistemas eran del tipo «maestro-esclavo», diseñados para reproducir fielmente los movimientos de mano y brazos realizados por un operario humano. El manipulador maestro era guiado por el usuario a través de una secuencia de movimientos, mientras que el manipulador esclavo duplicaba a la unidad maestra tan fidedignamente tal como le era posible. Posteriormente se añadió la realimentación de la fuerza acoplando mecánicamente el movimiento de las unidades maestro y esclavo de forma que el operador podía sentir las fuerzas que se desarrollaban entre el manipulador esclavo y su entorno. A mediados de los años cincuenta, el acoplo mecánico se sustituyó por sistemas eléctricos e hidráulicos en manipuladores tales como el Handyman de General Electric y el Minotaur I construido por General Milis. El trabajo sobre manipuladores maestro-esclavo fue seguido rápidamente por sistemas más sofisticados capaces de operaciones repetitivas autónomas. A me-
INTRODUCCION
5
diados de los años cincuenta, George C. Dcvol desarrolló un dispositivo que él llamó «dispositivo de transferencia programada articulada», un manipulador cuya operación podía ser programada (y, por tanto, cambiada) y que podía seguir una secuencia de pasos de movimientos determinados por las instrucciones en el programa. Posteriores desarrollos de este concepto por Devol y Joseph F. Engelberger condujo al primer robot industrial, introducido por Unimation Inc. en 1959.La clave de este dispositivo era el uso de una computadora en conjunción con un manipulador para producir una máquina que podía ser «enseñada» para realizar una variedad de tareas de forma automática. Al contrario que las máquinas de automatización de uso dedicado, estos robots se podían reprogramar y cambiar de herramienta a un coste relativamente bajo para efectuar otros trabajos cuando cambiaban los requisitos de fabricación. Aunque los robots programados ofrecían una herramienta de fabricación nueva y potente, se hizo patente en los años sesenta que la flexibilidad de estas máquinas se podían mejorar significativamente mediante el uso de una realimentación sensorial. Al comienzo de esa década, H. A. Ernst [1962] publicó el desarrollo de una mano mecánica controlada por computador con sensores táctiles. Este dispositivo, llamado el MH-1, podía «sentir» bloques y usar esta información para controlar la mano de manera que apilaba los bloques sin la ayuda de un operario. Este trabajo es uno de los primeros ejemplos de un robot capaz de conducta adaptativa en un entorno razonablemente no estructurado. El sistema manipulativo consistía en un manipulador ANL, modelo 8, con 6 grados de libertad, controlado por una computadora TX-0 mediante un dispositivo de interfase. Este programa de investigación posteriormente evolucionó como parte del proyecto MAC, y se le añadió una cámara de televisión para comenzar la investigación sobre la percepción en la máquina. Durante el mismo período, Tomovic y Boni [ 1962] desarrollaron una mano prototipo provista con un sensor de presión que detectaba el objeto y proporcionaba una señal de realimentación de entrada a un motor para iniciar uno de dos modelos de aprehensión. Una vez que la mano estaba en contacto con el objeto, se enviaba a una computadora información proporcional a su tamaño y peso mediante estos elementos sensibles a la presión. En 1963, la American Machine y Foundry Company (AMF) introdujo el robot comercial VERSATRAN. Comenzando en este mismo año, se desarrollaron diversos diseños de brazos para manipuladores, tales como el brazo Roehampton y el Edinburgh. A finales de los años sesenta, McCarthy [1968] y sus colegas en el Stanford Artificial Intelligence Laboratory publicaron el desarrollo de una computadora con manos, ojos y oídos (es decir, manipuladores, cámaras de TV y micrófonos). Demostraron un sistema que reconocía mensajes hablados, «veía» bloques distribuidos sobre una mesa, y los manipulaba de acuerdo con instrucciones. Durante este período, Pieper [1968] estudió el problema cinemático de un manipulador controlado por computadora, mientras que Kahn y Roth [1971] analizaban la dinámica y el control de un brazo restringido utilizando control bang-bang (casi de tiempo mínimo). Mientras tanto, otros países (en particular Japón) comenzaron a ver el potencial de los robots industriales. Ya en 1968, la compañía japonesa Kawasaki 1
6
RODOTICA:
CONTROL,
DETECCION,
VISJO:-,. E INTELIGENCIA
Heavy Industries negoció una licencia con Unimation para sus robots. Uno de los desarrollos más poco usuales en robots sucedió en 1969, cuando se desarrolló un camión experimental por la General Electric para la Armada Americana. En el mismo año se desarrolló el brazo Boston y al año siguiente el brazo Stanford, que estaba equipado con una cámara y controlado por computadora. Algunos de los trabajos más serios en robótica comenzaron cuando estos brazos se utilizaron como robots manipuladores. Un experimento en el brazo Stanford consistía en apilar automáticamente bloques de acuerdo con diversas estrategias. Esto era un trabajo muy sofisticado para un robot automatizado de esa época. En 1974, Cincinnati Milacron introdujo su primer robot industrial controlado por computadora. Lo llamó «The Tomorrow Tool» (la herramienta del mañana) o T3, que podía levantar más de 100 libras así como seguir a objetos móviles en una linea de montaje. Durante los años setenta se centró un gran esfuerzo de investigación sobre el uso de sensores externos para facilitar las operaciones manipulativas. En Stanford, Bolles y Paul [ 1973], utilizando realimentación tanto visual como de fuerza, demostraron que un brazo Stanford controlado por computadora, conectado a una PDP-10, efectuaba el montaje de bombas de agua de automóvil. Hacia la misma época, Will y Grossman [1975] en IBM desarrollaron un manipulador controlado por computadora con sensores de contacto y fuerza para realizar montajes mecánicos en una máquina de escribir de veinte piezas. Inoue [1974], en el Artificial Intelligence Laboratory del MIT, trabajó sobre los aspectos de inteligencia artificial de la realimentación de fuerzas. Se utilizó una técnica de búsqueda de aterrizajes. propia ~ la navegación aérea, para realizar el posicionado inicial de una tarea de montaje precisa. En el Draper Laboratory, Nevins y colaboradores [1974] investigaron técnicas sensoriales basadas en el control coordinado de fuerza y posición. Este trabajo desarrolló la instrumentación de un dispositivo remote center compliance (RCC) (centro remoto de control coordinado de fuerza y posición) que se unió a la placa de montaje de la última articulación del manipulador para cerrar el conjunto de coincidencias de piezas. Bejczy [ 1974], en el Jet Propulsion Laboratory, desarrolló una técnica de control de par basada en computadora sobre su brazo Stanford ampliado para proyectos de exploración espacial. Desde entonces han sido propuestos diversos métodos para manipuladores mecánicos. Hoy día vemos la robótica como un campo de trabajo mucho más amplio que el que teníamos simplemente hace unos pocos años, tratando con investigación y desarrollo en una serie de áreas interdisciplinarias, que incluyen cinemática, dinámica, planificación de sistemas, control, sensores, lenguajes de programación e inteligencia de máquina. Estos tópicos, introducidos brevemente en las secciones que siguen, constituyen el núcleo del material de este libro.
(i )
1.3 CINEMATICA Y DIN AMICA DEL BRAZO DEL ROBOT
,/
"'. • ,- La cinemática del brazo del robot trata con el estudio analítico de la geometría ' 1 ~ovimiento de un brazo de robot con respecto a un sistema de coor enaaas
lNTRODuCCIOS
7
de referencia fijo sin C.Q!!_siderar las fuerzas. o momentos que originan el movimiento. A.fil, la ~nemática se interesa por la descripción analítica del desplazamiento espacial del robot comouña función del tiempo, en particular de las relaciones en re la posición aelasvariables de articulación y la posicióny oñentac1óñaeJ-efecror ma -del razo ael rooor.. -Hay dos pro6 emas fundamentales en la cinemática del robot. El primer. problema se suele conocer c~mo el problema cinemático directo, mientras que el seg_uílao es e --rob!eiñacinemático inverso. Como las variables indepenciien es en ti"n robot son las variables"' e articulación, y una tarea se suele dar en términos del sistema de coordenadas de referencia, se utiliza de manera más frecuente el problema cinemático inverso. Denavit y Hartenberg [1955] propusieron un enfoque sistemático y generalizado de utilizar álgebra matricial para describir y representar la geometría espacial de los elementos del brazo del robot con respecto a un sistema de referencia fijo. Este método utiliza una matriz de transformación homogénea 4 x 4 para describir la relación espacial entre dos elementos mecánicos rígidos adyacentes y reduce el problema cinemático directo a encontrar una matriz de transformación homogénea 4 x 4 que relaciona el desplazamiento espacial del sistema de coordenadas de la mano al sistema de coordenadas de referencia. Estas matrices de transformación homogéneas son también útiles en derivar las ecuaciones dinámicas de movimiento del brazo del robot. En general, el problema cinemático inverso se puede resolver mediante algunas técnicas. Los métodos utilizados más comúnmente son el algebraico matricial, iterativo, o geométrico. En el capítulo 2 se da un tratamiento detallado { de los problemas cinemáticos directo e inverso. ' - La dinámica del robot, por otra 2arte, trata con la formulación matemática I l de las ecuaciones del movirmento del brazo. Las ecuaciones c!inámicas de movI=' miento de un manipula or son un conjunto de ecuaciones matemáticas que descrÍben la conducta dinámica del manipulador. Tales ecuaciones de movimienson ut1les para simulación en computadora ae'J movimiento del brazo, el diseño de ecuaciones de control apropiadas para el robot y la evaluación del diseño y estructura cinemática del robot. El modelo dinámico real de un brazo se puede obtener de leyes fisicas conocidas tales como las leyes de Newton y la mecánica Iagrangiana. Esto conduce al desarrollo de las ecuaciones dinámicas de movimiento para las distintas articulaciones del manipulador en términos de los parámetros geométricos e inerciales especificados para los distintos elementos. Se pueden aplicar sistemáticamente enfoques convencionales como las formulaciones de Lagrange-Euler y de Newton-Euler para desarrollar las ecuaciones de movimientos del robot. En el capitulo 3 se presenta una discusión detallada de la dinámica del brazo del robot. ~
to
,
1 -1.4
PLANIFICACION DE LA TRAYECTORIA (§> Y CONTROL DEL MOVIMIENTO DEL MANIPULADOR
Con el conocimiento de la cinemática y la dinámica de un manipulador con elementos series, sería interesante mover los actuadores de sus articulaciones para
8
ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
cumplir una tarea deseada controlando al manipulador para que siga un camino previsto. Antes de mover el brazo, es de interés saber si hay algún obstáculo presente en la trayectoria que el robot tiene que atravesar (ligaduras de obstáculos) y si la mano del manipulador necesita viajar a Jo largo de una trayectoria especificada (ligaduras de trayectoria). El problema de control de un manipulador se puede dividir convenientemente en dos subproblemas coherentes: el subproblema de planificación de movimiento (o trayectoria) y el subproblema de control del movimiento. La curva espacial que la mano del manipulador sigue desde una localización inicial (posición y orientación) hasta una final se llama la trayectoria o camino. La planificación de la trayectoria (o planificador de trayectoria) interpola y/o aproxima la trayectoria deseada por una clase de funciones polinomiales y genera una secuencia de puntos de «consignas de control» en función del tiempo para el control del manipulador desde la posición inicial hasta el destino. El capítulo 4 discute los distintos sistemas de planificación de trayectoria para movimientos libres de obstáculo, así como el formalismo para describir el movimiento deseado del manipulador en términos de la secuencia de puntos en el espacio a través de los cuales debe pasar y la curva espacial que recorre. CCN~L En general, el problema de control de movimientos consiste en: 1) obtener los modelos dinámicos del manipulador, 2) utilizar estos modelos para determinar leyes o estrategias de control para conseguir la respuesta y el funcionamiento del sistema deseado. Como la primera parte del problema de control se discute extensivamente en el capítulo 3, el capítulo 5 se concentra sobre la segunda parte del problema de control. Desde el punto de vista de análisis de control, el movimiento del brazo de un robot se suele realizar en dos fases de control distintas. La primera es el control de movimiento de aproximación en el cual el brazo se mueve desde una posición/orientación inicial hasta la vecindad de la posición/orientación del destino deseado a lo largo de una trayectoria planificada. El segundo es el control del movimiento fino en el cual el efector final del brazo interacciona dinámicamente con el objeto utilizando información obtenida a través de la realimentación sensorial para completar la tarea. Los enfoques industriales actuales para controlar el brazo del robot tratan cada articulación del brazo como un servomecanismo de articulación simple. Este planteamiento modela la dinámica de un manipulador de forma inadecuada porque desprecia el movimiento y la configuración del mecanismo del brazo de forma global. Estos cambios en los parámetros del sistema controlado algunas veces son bastante significativos para hacer ineficaces las estrategias de control por realimentación convencionales. El resultado de ello es una velocidad de respuesta y un amortiguamiento del servo reducido, limitando así la precisión y velocidad del efector final y haciéndolo apropiado solamente para limitadas tareas de precisión. Los manipuladores controlados de esta forma se mueven a velocidades lentas con vibraciones innecesarias. Cualquier ganancia significativa en el rendimiento en esta y otras áreas del control del brazo del robot requieren la consideración de modelos dinámicos más eficientes, enfoques de control sofisticados y el uso de arquitecturas de computadoras dedicadas y técnicas de procesamiento en paralelo. El capítulo 5 está enfocado a deducir las leyes
INTRODUCCION
9
de control del movimiento de aproximación y las estrategias que utilizan los modelos dinámicos analizados en el capítulo 3 para controlar eficazmente un manipulador. @
i.s
SENSORES DEL ROBOT
La utilización de mecanismos sensores externos permite a un robot interaccionar con su entorno de una manera flexible, esto está en contraste con operaciones preprogramadas en las cuales a un robot se le «enseña» para efectuar tareas repetitivas mediante un conjunto de funciones programadas. Aunque esto último es con mucho la forma más predominante de operación de los robots industriales actuales, la utilización de tecnología sensorial para dotar a las máquinas con un mayor grado de inteligencia al tratar con su entorno es realmente un tema de investigación y desarrollo activo en el campo de la robótica. La función de los sensores del robot se pueden dividir en dos categorías principales: estado interno y estado externo. Los sensores del estado interno tratan con la detección de variables tales como la posición de la articulación del brazo, que se utiliza para controlar el robot. Por otra parte, los sensores de estado externo tratan con la detección de variables tales como alcance, proximidad y contacto. Los sensores externos, que se estudian en los capítulos 6 al 8, se utilizan para guiado de robots, así como para la identificación y manejo de objetos. El enfoque del capítulo 6 es sobre sensores de alcance, proximidad, contacto y de fuerza-par. En los capítulos 7 y 8 se a'nalizan en detalle los sensores y técnicas de visión. Aunque los sensores de proxirriidad, contacto y fuerza juegan un papel significativo en la mejora del funcionamiento del robot, se reconoce que la visión es la capacidad sensorial más potente del robot. La visión del robot se puede definir como el proceso de extraer, caracterizar e interpretar información de imágenes de un mundo tridimensional. Este proceso, también comúnmente conocido como visión de máquina o de computadora, se puede subdividir en seis áreas principales: 1) sensor, 2) preprocesamiento, 3) segmentación, 4) descripción, 5) reconocimiento, 6) interpretación. Es conveniente agrupar estas diversas áreas de visión de acuerdo con la sofisticación que lleva su desarrollo. Consideramos tres niveles de procesamiento: visión de bajo, medio y alto nivel. Aunque no existen fronteras nítidas entre estas subdivisiones, proporcionan un marco útil para categorizar los distintos procesos que son componentes inherentes de un sistema de visión por máquina. En nuestra discusión, trataremos los sensores y el preprocesamiento como funciones de visión de bajo nivel. Esto nos llevará desde el propio proceso de formación de imagen hasta compensaciones tales como reducción de ruido, y finalmente a la extracción de características primitivas de imágenes tales como discontinuidades en la intensidad. Asociaremos con la visión de medio nivel aquellos procesos que extraen, caracterizan y etiquetan componentes en una imagen resultante de la visión de bajo nivel. En términos de nuestras seis subdivisiones, trataremos la segmentación, descripción y reconocimiento de objetos individuales como funciones de visión de medio nivel. La visión de alto nivel se refiere a procesos que
10 ROllOTICA: CONTROL. DETECCION, VJSI01' E INTELIGE:,./CIA
intentan emular el conocimiento. El material del capítulo 7 trata de los sensores, preprocesamiento y con conceptos y técnicas necesitadas para realizar funciones de visión de bajo nivel. Los temas de visión de los niveles superiores se estudian en el capítulo 8.
1.6
LENGUAJES DE PROGRAMACION
DE ROBOTS
Un gran obstáculo en la utilización de los manipuladores como máquinas de uso general es la falta de comunicación eficaz y apropiada entre el usuario y el sistema robótico, de forma que éste pueda dirigir al manipulador para cumplir una tarea dada. Hay algunas formas de comunicarse con un robot, y los tres grandes enfoques para lograrlo son: el reconocimiento de palabra discreta, enseñar y reproducir y lenguajes de programación de alto nivel. El estado actual del reconocimiento de la voz es bastante primitivo y generalmente depende del orador. Pueden reconocer un conjunto de palabras discretas de un vocabulario limitado y normalmente requiere que el usuario pare entre palabras. Aunque es posible ahora reconocer palabras en tiempo real debido a componentes de computadora más rápidos y algoritmos de procesamientos eficientes, la utilidad del reconocimiento de palabras discretas para describir una tarea es limitada. Más aún, requiere una gran cantidad de memoria para almacenar el discurso, y normalmente se necesita un período de entrenamiento para incorporar patrones de voz con fines de reconocimiento. El método de enseñar y reproducir lleva consigo el instruir al robot al dirigirlo a través de los movimientos que va a realizar. Esto se suele efectuar en los pasos siguientes: 1) dirigir al robot en movimiento lento utilizando control manual a través de la tarea de montaje completa, siendo grabados los ángulos de las articulaciones del robot en posiciones apropiadas con el fin de reproducir el movimiento; 2) edición y reprodución del movimiento enseñado, y 3) si el movimiento enseñado es correcto, entonces el robot lo ejecuta a una velocidad apropiada de forma repetitiva. Este método se conoce también como guiado y es el enfoque más comúnmente utilizado en los robots industriales de hoy día. Un planteamiento más general para resolver los problemas de comunicación hombre-robot es la utilización de programación de alto nivel. Los robots se utilizan comúnmente en áreas tales como soldadura por arco, soldadura de punto y pintura al spray. Estas tareas no requieren interacción entre el robot y el entorno y se pueden programar fácilmente mediante guiado. Sin embargo, el uso de robots para efectuar tareas de montajes requiere generalmente técnicas de programación de alto nivel. Se necesita este esfuerzo porque el manipulador se controla normalmente por una computadora, y la manera más efectiva para que los humanos se comuniquen con las computadoras es a través de un lenguaje de programación de alto nivel. Más aún, al utilizar programas para describir tareas de montaje, permite a un robot efectuar trabajos diferentes simplemente ejecutando el programa apropiado. Esto aumenta la flexibilidad y versatibilidad del robot. El capítulo 9 presenta el uso de técnicas de programación de alto nivel para lograr una comunicación efectiva con un sistema robótico.
INTRODUCCION
t.7 INTELIGENCIA
11
DEL ROBOT
Un problema básico en robótica es la planificación de movimiento para resolver alguna tarea preespecificada, y luego controlar al robot cuando ejecuta las órdenes necesarias para conseguir esas acciones. Aquí planificación significa decidir un curso de acción antes de actuar. Esta parte de síntesis de acción del problema del robot se puede lograr mediante un sistema de resolución de problemas que logrará algún objetivo marcado, dada alguna situación inicial. Un plan es así una representacíón de un curso de acción para lograr un objetivo dado. La investigación sobre resolución de problemas con robots ha conducido a muchas ideas acerca de los sistemas para la resolución de problemas en inteligencia artificial. En una formulación típica de un problema de robot tenemos un robot que está equipado con sensores y un conjunto de acciones primitivas que puede realizar en algún mundo fácil de comprender. Las acciones del robot cambian un estado o configuración del mundo en otro. En el «mundo de bloques», por ejemplo, imaginamos un mundo de algunos bloques etiquetados colocados en una mesa o uno sobre otro y un robot consistente en una cámara de tele..-isióny un brazo y mano móvil que es capaz de tomar y mover bloques. En algunas situaciones, el robot es un vehículo móvil con una cámara de TV que efectúa tareas tales como empujar objetos de un sitio a otro en un entorno que contiene otros objetos. En el capítulo 10 introducimos algunos métodos básicos para la resolución de problemas y sus aplicaciones a la planificación de robots. La discusión hace énfasis en la resolución del problema o aspectos de planificación de un robot. Un planificador de robot intenta encontrar una trayectoria desde nuestro mundo del robot inicial hasta un mundo del robot final. El camino consiste en una secuencia de operaciones que se consideran primitivas para el sistema. Una solución a un problema podría ser la base de una secuencia correspondiente de acciones físicas en el mundo fisico. La planificación de robots, que proporciona la inteligencia y la capacidad de resolución de problemas a un sistema robótica, es todavía un área de investigación muy activa. Para aplicaciones de robots en tiempo real, necesitaremos algoritmos de planificación potentes y eficaces que se ejecutarán por sistemas de computadoras de uso especial a alta velocidad.
1.8
REFERENCIAS
las referencias generales citadas a continuación son representativas de publicaciones que tratan con temas de interés en robótica y en campos relacionados. Las referencias que se dan al final de los capítulos que siguen se clasifican según los ternas específicos que se estudian en el texto. La bibliografía al final del libro se Organiza en orden alfabético por autores, y contiene toda la información pertinente para cada referencia citada en el texto. Algunas de las mejores revistas y actas de conferencia que de forma rutinaria contienen artículos sobre los diversos aspectos de la robótica incluyen: IEEE Journal o( Robotics and Automation: International Journal of Robotics Research;
12 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
Journal of Robotic Systems; Robotica: IEEE Transactions on Systems, Man and Cybernetics; Artificial Intelligence: IEEE Transactions on Pattern Analysis and Machine Intelligence; Compute, Graphics, Vísion, and Jmage Processing; Proceedings of the International Symposium on Industrial Robots; Proceedings of the International Joint Conference on Artificial Intel/igence; Proceedings of IEEE International Conference on Robotics and Automation; IEEE Transactions on Automatic Control; Mechanism and Machine Theory; Proceedings of the Society of Photo-Optical and Jnstrumentation Engineers; ASME Journal of Mechanical Design; ASME Journal of Applied Mechanics: ASME Journal of Dynamic Systems, Measurement and Control: and ASME Journal of Mechanisms, Transmissions, and Automation in Design. Lecturas complementarias al material de este libro se puede encontrar en los libros de Dodd y Rossol [1979], Engelberger [1980], Paul [1981], Dorf [1983], Snyder [1985], Lee, González y Fu [1986], Tou [1985] y Craig [1986].
DOS /
CINEMATICA DEL BRAZO DEL ROBOT
¡Y mire cómo se agita, se pone en marcha, se desplaza y parece sentir una emoción vital! Henry Wadsworth Longfellow
2.1
INTRODUCCION
Un manipulador mecánico se puede modelar como una cadena articulada en lazo abierto con algunos cuerpos rígidos (elementos) conectados en series por una articulación de revolución o prismática movida por actuadores. Un final de la cadena se une a una base soporte mientras que el otro extremo está libre y unido con una herramienta (el efector final) para manipular objetos o realizar tareas de montaje. El movimiento relativo en las articulaciones resulta en el movimiento de los elementos que posicionan la mano en una orientación deseada. En la mayoría de fas aplicaciones de robótica, se está interesado en la descripción espacial del efector final del manipulador con respecto a un sistema de coordenadas de referencia fija. La cinemática del brazo del robot trata con el estudio analítico de la geometría del movimiento de un robot con respecto a un sistema de coordenadas de referencia fijo como una función del tiempo sin considerar las fuerzas/momentos que originan dicho movimiento. Así pues. trata con la descripción analítica del desplazamiento espacial del robot como función del tiempo, en particular las relaciones entre las variables espaciales de tipo articulación y la posición y orientación del efector final del robot. Este capitulo se plantea dos cuestiones fundamentales, ambas de interés teórico y práctico en la cinemática del robot: 1.
2.
Para un manipulador determinado, dado el vector de ángulos de las articulaciones q(t) = (q1(t), qi(t), ... , q.(t)f y los parámetros geométricos del elemento, donde n es el número de grados de libertad, ¿cuál es la orientación y la posición del efector final del manipulador con respecto a un sistema de coordenadas de referencia? Dada una posición y orientación deseada del efector final del manipulador y los parámetros geométricos de los elementos con respecto a un
C A P I T U L O
sistema de coordenadas de referencia, ¿puede el manipulador alcanzar la posición y orientación de la mano que se desea? Y si puede, ¿cuántas configuraciones diferentes del manipulador satisfacerán la misma condición?
14 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
La primera pregunta se suele conocer como el problema cinemático directo, mientras la segunda es el problema cinemático inverso ( o solución del brazo). Como las variables independientes en un brazo de robot son las variables de articulación y una tarea se suele dar en términos de las coordenadas de referencia, el problema cinemático inverso se utiliza de forma más frecuente. En la figura 2.l se muestra un simple diagrama de bloques que indica las relaciones entre estos dos problemas. Como los elementos de un brazo pueden girar y/o trasladarse con respecto a un sistema de coordenadas de referencia, el desplazamiento espacial total del efector final se debe a las rotaciones angulares y traslaciones angulares de los elementos. Denavit y Hartenberg [ 1955] propusieron un método sistemático y generalizado de utilizar álgebra matricial para describir y representar la geometría espacial de los elementos de un brazo con respecto a un sistema de referencia fijo. Este método utiliza una matriz de transformación homogénea 4 x 4 para describir la relación espacial entre dos elementos mecánicos rígidos adyacentes y reduce el problema cinemático directo a encontrar una matriz de transformación homogénea 4 x 4 equivalente que relaciona el desplazamiento espacial del «sistema de coordenadas» de la mano al sistema de coordenadas de referencia. Estas matrices de transformación homogéneas son también útiles para derivar las ecuaciones de movimiento dinámico de un brazo. En general, el problema cinemático inverso se puede resolver por algunas técnicas. Los métodos utilizados más comúnmente son la matriz algebraica, métodos iterativos o geométricos. Se presentará un enfoque geométrico basado en el sistema de coordenadas de los elementos y la configuración del manipulador para ol:itener una solución de las articulaciones en forma cerrada para manipuladores simples con articulaciones giratorias. A continuación se estudiará un planteamiento más general utilizando matrices homogéneas 4 x 4 para obtener una solución de la articulación para manipuladores simples. Parámetros de los elementos
Angules de
Cinemática directa
las articulaciones -----.,. q,(1) ..... q,(1)
---,...
Posición y orientación del efector final
Parámetros de los elementos
¡ ¡ ¡
Angulos de las articulaciones q,(I) .....
q,(1)
Figura 2.1
-
Cinemática inversa
~-----...J
Los problemas cinemáticos directo e inverso.
CINEMATICA
DEL BRAZO
DEL ROBOT
15
z p
X
Figura 2.2 Sistemas de coordenadas de referencia y ligado al cuerpo.
2.2
EL PROBLEMA CINEMA TICO DIRECTO
otz-"1=
Se utiliza álgebra" vectorial y matricial para desarrollar un método generalizado y sistemático para describir y representar la localización de los elementos de un brazo con respecto a un sistema de referencia fijo. Como los elementos de un brazo pueden girar y /o trasladarse con respecto a un sistema de coordenadas de referencia, se establecerá un sistema de coordenadas ligado al cuerpo a lo largo del eje de la articulación para cada elemento. El problema cinemático directo se .reduce a_encontrar una matriz de transformáción que relaciona el sistema de coordenadas ligado al cuerpo al sistema de coordenadas ae referencia. Se utiliza" üi1a matriz de rotación 3 x 3 para describir las operaciones rotacionales del sistema ligado al cuerpo con respecto al sistema de referencia. Se utilizan entonces las coordenadas homogéneas para representar vectores de posición en un espacio tridimensional, y las matrices de rotación se ampliarán a matrices de transformación homogénea 4 x 4 para incluir las operaciones traslacionales del sistema de coordenadas ligado al cuerpo. Esta representación matricial de un elemento mecánico rígido para describir la geometria espacial de un brazo fue utilizada por primera vez por Denavit y Hartenberg [1955]. La ventaja de utilizar la representación de elementos de Denavit-Hartenberg es su universalidad algorítmica para derivar las ecuaciones cinemáticas de un brazo.
2.2.1
Matrices de rotación (j)
P.i~
Una matriz de rotación 3 x 3 se puede definir como una matriz de transformación que opera sobre un vector de posición en un espacio euclídeo tridimensional y transforma sus coordenadas expresadas en un sistema de coordenadas rotado OUVW (sistema ligado al cuerpo) a un sistema de coordenadas de referencia OXYZ. En la figura 2.2 se dan dos sistemas de coordenadas rectangulares, uno el
• Los vectores se representan en letras minúsculas en negrita; las matrices en letras mayúsculas en negrita.
16
ROBOTICA: INTELIGENCIA
CONTROL,
DETECCION,
YISIO"'
E
sistema de coordenada OXYZ, con OX, OY y OZ como sus ejes de coordenadas, y el sistema de coordenadas OUVW, con OU, OV, OW como sus ejes de coordenadas. Ambos sistemas de coordenadas tienen sus orígenes coincidentes en el punto O. El sistema de coordenadas OXYZ está fijo en el espado tridimensional y se considera que es el sistema de referencia. El sistema de coordenadas OUVW está girando con respecto al sistema de referencia OXYZ. Físicamente, uno puede considerar que el sistema de coordenadas OUVW es un sistema de coordenadas ligado al cuerpo. Esto es, está permanente y convenientemente unido al cuerpo rígido (por ejemplo, un avión o un elemento del brazo del robot) y se mueve junto con él. Sean (i_., í, k:) y (iu, jv, kw) los vectores unitarios a lo largo de los ejes de coordenadas de los sistemas OXYZ y OUVW, respectivamente. Un punto p en el espacio se puede representar por sus coordenadas con respecto a ambos sistemas de coordenadas. Para facilitar el análisis, supondremos que p está en reposo y fijo con respecto al sistema de coordenadas OUVW. Entonces el punto p se puede representar por sus coordenadas con respecto al sistema de coordenadas OUVW y OXYZ, respectivamente, como Puvw
=
(p.,, p.; p.,.f
y
(2.2-1)
Px,z
donde Px,: y Pwvw representan el mismo punto p en el espacio con respecto a diferentes sistemas de coordenadas y el superíndice Ten los vectores y matrices denota la operación traspuesta. Nos gustaría encontrar una matriz R de transformación 3 x 3 que transformara las coordenadas de Pwvw a las coordenadas expresadas con respecto al sistema de coordenadas OXYZ, después de que el sistema de coordenadas OUVW ha sido girado. Esto es, (2.2-2)
Obsérvese que fisicamente el punto Pwvw ha sido girado junto con el sistema de coordenadas OUVW. Recordando la definición de las componentes de un vector tenemos (2.2-3)
donde Px, p, y p, representan las componentes de palo largo de los ejes OX, O Y y OZ, respectivamente, o las proyecciones de p sobre los ejes respectivos. Así, utilizando la definición del producto escalar y la ecuación (2.2-3), Px Py
= i, ' P = j.x · iwPu + i_,: · jvp •. + = l, · P = t. · iuPw + j, · jvPv +
i_,: ' kwPw j, ' kwPw
P,
=
k, ' P = k, ' iwPw
+ k, ' jvPv + k, ' kwPw
(2.2-4)
CINEMATICA
O
expresado en forma matricial,
[ J'.y" : ] [ ~•.
i, . jy .
k, · i"
k, ·
p,
-
p,
J, J,
'. " . k, .
) y ·
l í,
DEL BRAZO
DEL ROBOT
l [p "
17
(2.2-5)
P v
kz' k ,
p,.
l
Utilizando esta notación, la matriz R en la ecuación (2.2-2) está dada por
R =
[ i,
i,
)y . l."
k, ·
I"
i, .
J,
t.·
jv k, 'jv
i,
k, k, k, · k , )y.
(2.2-6)
Análogamente, se pueden obtener las coordenadas de Puv ..· con las coordenadas de p..,::
n ¡ ....
Puvw
o
p., p,.
=
j,.. ¡~ k,.. · 1.,,
=
Qpxyz
í, • jyJ, i•. k,. . jy '
l [;:]
Jv · k,k, i•. k., · k,
(2.2-7)
(2.2-8)
Como los productos escalares son conmutativos, se puede ver de las ecuaciones (2.2-6) a (2.2-8) que (2.2-9)
'Y
QR
(2.2-1 O)
donde 13 es la matriz identidad 3 x 3. La transformación en la ecuación (2.2-2) o (2.2-7) se llama una transformación ortogonal, y como los vectores en los productos escalares son todos vectores unitarios, se llama también una transformación ortonormal. El interés primario en desarrollar la matriz de transformación anterior es encontrar las matrices de rotación que representan rotaciones del sistema de coordenadas OUVW respecto a cada uno de los tres ejes principales del sistema de coordenadas de referencia OXYZ. Si el sistema de coordenadas OUVW se gira un ángulo a respecto al eje OX para llegar a una nueva posición en el espacio, entonces el punto Puvw, que tiene coordenadas (p., p.,, p,.)7 con respecto al sistema
OUVW, tendrá coordenadas diferentes (p.,,, P}~ Pzf con respecto al sistema de referencia OXYZ. La matriz de transformación necesaria R,,.« se llama la matriz de rotación respecto al OX con ángulo a. R,,. « se puede derivar del concepto de rnatriz de transformación anterior, esto es, Pxyz
=
R.,,.« Puvw
(2.2-11)
18 Rül!OTICA: CONTROL, DETffCION. VISION E INTELIGENCIA
con i, - i., y i, . j.
-s~n cos
J.: L k, . j,,
Análogamente, las matrices de Y con ángulo
-sen iJ>
o
o o
~] (2.2-21)
30
ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
Estas matrices de rotación 4 x 4 se llaman las matrices de rotación homogéneas básicas. La submatriz superior derecha 3 x l de la matriz de transformación homogénea tiene el efecto de trasladar el sistema de coordenadas OUVW que tiene ejes paralelos al sistema de coordenadas de referencia OXYZ, pero cuyo origen está en (dx, dy, dz) del sistema de coordenadas de referencia:
Tt,ans
=
l
o
l
O
l
O O
o
O
l
dy
l
dz
o o o
l
(2.2-22)
Esta matriz de transformación 4 x 4 se llama matriz de traslación homogénea básica. La submatriz inferior izquierda l x 3 de la matriz de transformación homogénea representa la transformación de perspectiva, que es útil para visión por computadora y la calibración de modelos de cámara tal como se presenta en el capítulo 7. Por ahora, los elementos de esta matriz se fijan a cero para indicar la transformación de perspectiva nula. Los elementos de la diagonal principal de una matriz de transformación homogénea producen escalado local y global. Los primeros tres elementos diagonales producen un alargamiento o escalado local, como en (2.2-23)
Así, los valores de las coordenadas se alargan mediante los escalares a, b y e, respectivamente. Obsérvese que las matrices de rotación básicas, T,01, no producen ningún efecto de escalado local. El cuarto elemento diagonal produce escalado global como en (2.2-24)
donde s > O. Las coordenadas cartesianas fisicas del vector son X
s
P,
)'
s
P,
z s
w
s s
=
(2.2-25)
CINEMATICA
DEL BRAZO
DEL ROBOT
3)
Por tanto, el cuarto elemento diagonal en la matriz de transformación homogénea tiene el efecto de globalmente reducir las coordenadas si s > 1 y de alargar tas coordenadas si O < s < 1. En resumen, una matriz de transformación homogénea 4 x 4 transforma un vector expresado en coordenadas homogéneas con respecto al sistema de coordenadas OUVW en el sistema de coordenadas de referencia OXYZ. Esto es, con w = 1, Px)'Z
y \,·
T
2.2.7
(2.2-26a)
TPuvw
"-.. ;
j.;
["·o o Sx
=
=
ny
Sy
nz
Sz
ª"
P,J
ay e, az Pz
o
= [n O
s
a
o o
~]
(2.2-26b)
1
Interpretación geométrica de las matrices de transformación homogéneas
En general, una matriz de transformación homogénea para un espacio tridimensional se puede representar como en la ecuación (2.2-26b). Escojamos un punto p ítjo en el sistema de coordenadas OUVW y expresado en coordenadas homogéneas como (O, O, O, 1 )7; esto es, Puvw es el origen del sistema de coordenadas OVVW. Entonces la submatriz superior derecha 3 x I indica la posición del origen del sistema OUVW con respecto al sistema de coordenadas de referencia OXYZ. Escojamos el punto p como (1, O, O, 1)7; esto es, Puvw = iu. Más aún, suponemos que los orígenes de ambos sistemas de coordenadas coinciden en un punto O. Este tiene el efecto de hacer los elementos en la submatriz superior derecha 3 x I un vector nulo. Entonces la primera columna (o vector n) de la matriz de transformación homogénea representa las coordenadas del eje OU de OUVW con respecto al sistema de coordenadas OXYZ. Análogamente, cogiendo p como (O, l, O, 1)7 y (O, O, 1, 1)7, se puede identificar que la segunda columna (o vector s) o la tercera columna (o vector a) de los elementos de la matriz homogénea representan, respectivamente, los ejes O V y O W del sistema de coordenadas OUVW con respecto al sistema de coordenadas de referencia. Así, dado un sistema de referencia OXYZ y una matriz de transformación homogénea T, los vectores columnas de la submatriz rotación representan los ejes principales del sistema de coordenadas OUVW con respecto al sistema de coordenadas de referencia, y se puede dibujar la orientación de todos los ejes principales del sistema de coordenadas OUVW con respecto al sistema de coordenadas de referencia. El vector cuarta columna de la matriz de transformación homogénea representa la posición del origen del sistema de coordenadas OUVW con respecto al sistema de referencia. En otras palabras, una matriz de transformación homogénea geométricamente representa la localizacion de un sistema de coorde-
32 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
nadas rotado (posición y orientación) con respecto a un sistema de coordenadas de referencia. Como la inversa de una submatriz de rotación es equivalente a su traspuesta, los vectores fila de una submatriz rotación representan los ejes principales del sistema de coordenadas de referencia con respecto al sistema de coordenadas OUVW. Sin embargo, la inversa de una matriz de. transformación homogénea no es equivalente a su traspuesta. La posición del origen en el sistema de coordenadas de referencia con respecto al sistema de coordenadas OUVW se puede deducir solamente después de que se determine la inversa de la matriz de transformación homogénea. En general, la inversa de una matriz de transformación homogénea se puede encontrar que es
n" T-1
=
S:,;
n1 n, Sy s,
(2.2-27)
[ a, ay a,
o o o
'--
Así, de la ecuación (2.2-27), los vectores columna de la inversa de una matriz de transformación homogénea representan los ejes principales de los ejes de referencia con respecto al sistema de coordenada rotado OUVW, y la submatriz 3 x 1 superior derecha representa la posición del origen del sistema de referencia con respecto al sistema OUVW. Esta interpretación geométrica de las matrices de transformación homogénea es un concepto importante utilizado frecuentemente a lo largo de este libro.
2.2.8
Matriz de transformación homogénea compuesta
Las matrices de rotación y traslación homogéneas se pueden multiplicar juntas para obtener una matriz de transformación homogénea compuesta (la llamaremos la matriz T). Sin embargo, como la multiplicación de matrices no es conmutativa, se debe prestar una atención cuidadosa al orden en el cual se multiplican estas matrices. Las reglas que siguen son útiles para determinar una matriz de transformación homogénea compuesta: l. Inicialmente, ambos sistemas de coordenadas son coincidentes, ya que la matriz de transformación homogénea es una matriz identidad 4 x 4, 14. 2. Si el sistema de coordenadas rotante OUVW está rotando/trasladándose respecto de los ejes principales del sistema OXYZ, entonces premultiplicar la matriz de la transformación homogénea previa (resultante) por una matriz de traslación/rotación básica apropiada. 3. Si el sistema de coordenadas rotantes OUVW está rotando/trasladándose respecto de su propio eje principal, entonces postmultiplicar la matriz de transformación homogénea (resultante) por una matriz de rotación/traslación básica apropiada.
CINEMA TICA DEL BRAZO
DEL ROBOT
33
\Ejemplo: Dos puntos aj.¿ = (4, 3, 2f y b"""' = (6, 2, 4f se trasladan a una ~ distancia de + 5 unidades a lo largo del eje OX y - 3 unidades a lo largo ~ del eje OZ. Utilizando la matriz de transformación homogénea apropiada, determinar los nuevos puntos ªxyz y bxyz•
n -f]
. SOLUCIÓN: ~ llxy=
o o o
[~
o 1 o o hxyz ~
~3(l)1) 1(05)
3
+
J [ 9J 3
~ = 2(1) 1(1~(-3) =
[~
o o 1 o o 1 o o
Los puntos trasladados son axyz
-:
rn
)J •
= (9, 3, - W Y bxyz = ( 11, 2, W.
o
Ejemplo: Se quiere determinar una matriz T que representa una rotación de ángulo ex respecto del eje OX, seguida por una traslación de b unidades a lo largo del eje girado O V. SOLUCIÓN: Este problema puede ser engañoso, pero ilustra alguna de las componentes fundamentales de la matriz T. Se utilizarán dos métodos, uno poco ortodoxo que es ilustrativo, y el otro ortodoxo que es más simple. Después de la rotación T¿ ª' el eje rotado O V es (en término de los vectores unitarios ix, t-, k, del sistema de referencia) j.. = cos cxj.v + sen cxk,; es decir. la columna 2 de la ecuación (2.2-21). Así, una traslación a lo largo del eje rotado O V de b unidades es biv = b cos ::xjy + b sen é'Ck,. Así la matriz T es
[' o o O
T
I
= r; .r,.• = ~ ~ ~
[~
o
o
sen ex
cos
C(
b cos
::X
]
coso
::X
o ex - sen
sen
cl
cos
[~
1
b sen ex
O
1
b sen ex
o
o
(X
f] ~
cos
o
(X
-sen
o
e<
b
c~s •] 1
En el método ortodoxo, siguiendo las reglas dichas anteriormente, hay que darse cuenta que como la matriz T,.• girará el eje O Y respecto del eje O V,
34 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
entonces la traslación a lo largo del eje O V cumplirá el mismo objetivo, esto es, T - T•• T,,
-l~
-l~
o cos
- sen a cos (X
(X
sen a
o
o
o
cos (X sen a
o
~]l~ ~]-
h b sen
(X (X
o
o
1
o 1 o o
,~so]
o -sen cos
o o
o
(X
o
1
Ejemplo: Encontrar una matriz de transformación homogénea T que represente una rotación de ángulo '.l respecto del eje OX, seguida por una traslación de a unidades a lo largo del eje OX, seguida por una traslación de d unidades a lo largo del eje OZ, seguida por una rotación de ánguJo O respecto del eje OZ. SOLUCIÓN: o o 1 o -·sen (} cos (}
sen &
T
-B
l'º ' o
o o
o o o 1 o o 1 o o
-l~
l
e
eos sen (}
=
~H~
cos cos
(X
(X
o
sen O cos (}
º ] ll
o o
I O
O I
o 1 o o
o
cos sen a (X
o
o
-sen :x cos (X
o
e
sen (X sen -sen :x cos O
O O
~]-
~]- º] a cos a sen (}
~
o o
sen
o
(X
cos
o
(X
d 1
Hemos identificado dos sistemas de coordenadas, el sistema de coordenadas de referencia OXYZ la elrelación sistema del de coordenadas móvil (traslación rotación) OUVW. Parafijo describir desplazamiento espacial entrey estos dos sistemas de coordenadas, se utiliza una matriz de transformación homogénea
y
4 x 4. Las matrices de transformación homogénea tienen el efecto combinado de rotación, traslación, perspectiva y escalado global cuando operan sobre vectores de posición expresados en coordenadas homogéneas. Si estos dos sistemas de coordenadas se asignan a cada elemento del brazo del robot, por ejemplo, el elemento i - 1 y el elemento i, respectivamente, entonces el
CINEMATICA
DEL BRAZO
DEL ROBOT
35
sistema de coordenadas del elemento i - 1 es el sistema de coordenadas de referencia y el sistema de coordenadas del elemento i es el sistema de coordenadas móvil cuando se activa 'la articulación i. Utilizando la matriz T, podemos especificar un punto p¡ en reposo en el elemento i y expresado en el sistema de coordenadas del elemento i (u OUVW) en términos del sistema de coordenadas del elemento i - 1 (u OXYZ) como Pi-1
donde:
(2.2-28)
Tp¡
·.
T = matriz de transformación homogénea 4 x 4 que relaciona los dos sistemas de coordenadas. p¡ = vector de posición ampliado 4 x 1 (x¡, Y;, z., l)T que representa un punto en el sistema de coordenadas del elemento i en coordenadas homogéneas. Pi-t = es el vector de posición ampliado 4 x 1 (x¡_1, Yi-l• Z¡_1, t¡T que representa el mismo punto p¡ en términos del sistema de coordenadas del elemento i - 1.
2.2.9 Elementos, articulaciones y sus parámetros
©~
Un manipulador mecánico consiste en una secuencia de cuerpos rígidos, llamados elementos, conectados mediante articulaciones prismáticas o de revolución (véase Fig. 2.8). Cada par articulación-elemento constituye un grado de libertad.
Articulación
2 Elemento 1 ·)
ull =tg
- Ca,
= are tg2 (Sax-Car a:) (2.3-14)
ª=
Como el concepto de la técnica transformada inversa es mover una incógnita al lado izquierdo de la ecuación matricial a un tiempo y resolver para la incógnita. podemos intentar resolver la ecuación matricial anterior para , e, iJ¡ por postmultiplicar dicha ecuación matricial por su transformada inversa R~.1~ o -S C St/1 o Ct/1
o
º] [ o
1
cOe -seO
I CO ]
O
S8
CINEMATICA
DEL BRAZO
DEL ROBOT
59
Multiplicando las matrices tenemos: nxCi/1-sxSi/l nyCi/1-sySi/l [ n,Cij¡ -s,Slj¡
nxSi/l+sxCi/1 nySi/1 + syCi/1 n,Si/1 + s,Ci/1
ª"'] [C O, entonces el brazo está en la configuración de brazo DERECHO. Si g(8, p) < O, entonces el brazo está en la configuración de brazo IZQUIERDO. Si g(8, p) = O, entonces el criterio para encontrar la configuración de brazo IZQUIERDO/DERECHO no se puede determinar unívocamente. El brazo está dentro del cilindro de radio d2 en el espacio de trabajo (véase Fig. 2.19). En este caso se toma por defecto el brazo a la DERECHA (BRAZO = + 1).
Como el denominador de las ecuaciones de decisión anteriores es siempre positivo, la determinación de la configuración del brazo IZQUIERDO/DERECHO se reduce a comprobar el signo del numerador de g(8, p): BRAZO
=
sign [g(8, p)]
=
sigo (-Px cos 81
-
A· sen 81)
(2.3-77)
CINEMATICA
DEL
BRAZO
DEL ROBOT
77
donde la función signo se definió en la ecuación (2.3-70). Sustituyendo las componentes x e y de p de la ecuación (2.3-36), la ecuación (2.3-77) se hace: BRAZO = sign [g(O, p)] = sign [g(O)] = sign ( -d4S23
-
a3C23
-
a2C2) (2.3-78)
De aquí que a partir de la ecuación de decisión en la ecuación (2.3-78) se puede relacionar su signo con el indicador de BRAZO para la configuración DERECHO/IZQUIERDO como:
+1 { -1
=> =>
brazo DERECHO brazo IZQUIERDO (2.3-79)
Para el indicador de brazo CODO, seguimos la definición de brazo ARRIBA/ ABAJO para formular la correspondiente ecuación de decisión. Utilizando (2p4)>. y el indicador BRAZO en la tabla 2.4, la ecuación de decisión para el indicador CODO se basa en el signo de la componente y el vector de posición 2 A3 3 A4 y el indicador de BRAZO: => =>
CODO encima muñeca CODO debajo muñeca (2.3-80)
Para el indicador MUÑECA, seguimos la definición de MUÑECA ARRIBA/ ABAJO para obtener un producto escalar positivo de los vectores unitarios se y 5 (O Z4):
+ 1 si S · z4 > 0 { -1 Si S · Z4 < Ü
MUÑECA
An¡ulos de articulación
~------~ Cinemática directa
Posición y orientación del efector final
+ Ecuaciones de decisión BRAZO, CODO, MUiil'ECA Cinemática inversa
Figura 2.26 Simulación en computador de la solución de la articulación.
(2.3-81)
78 ROBOTICA: CONTROL, OETECCION, VISION E INTELIGENCIA
Si s · z4 = O, entonces el indicador MUÑECA se puede encontrar de: sin· z4 > O MUÑECA= { ~:
=
sign (n · z 4)
(2.3-82)
sin· z4 < O
Combinando las ecuaciones (2.3-81) y (2.3-82) tenemos: si S. Z4 #- Ü + 1 => MU~ECA ARRIBA MUÑECA = {sign (s. z4) sign (n · Z4) { - 1 => MUNECA ABAJO Si S' Z4 = Ü (2.3-83) Estas ecuaciones de decisión proporcionan una verificación de la solución del brazo. Las utilizamos para prefijar la configuración de brazo en el problema cinemático directo y a continuación utilizamos los indicadores de configuración de brazo para encontrar la solución cinemática inversa (véase Fig. 2.26). Simulación en computador. Se puede escribir un programa para verificar la validez de la solución inversa del robot PUMA mostrado en la figura 2.11. El programa genera inicialmente todas las posiciones en el espacio de trabajo del robot dentro de los límites de ángulos de las articulaciones. Se introducen en la rutina cinemática directa para obtener la matriz de brazo T. Estos ángulos de las articulaciones se utilizan también para calcular las ecuaciones de decisión para obtener los tres indicadores de configuración de brazo. Estos indicadores, junto con la matriz de brazo T, se dan a la rutina de la solución inversa para obtener la solución de los ángulos de las articulaciones que deberían estar de acuerdo con los deducidos previamente en la rutina cinemática directa. En la figura 2.26 se muestra un diagrama de bloques de la simulación en computador.
2.4 OBSERVACIONES FINALES Hemos discutido en este capítulo el problema cinemático directo e inverso. Se definieron los parámetros de los elementos y de las articulaciones del brazo de un robot y se introdujo una matriz de transformación homogénea 4 x 4 para describir la localización de un elemento con respecto a un sistema de coordenadas fijo. Se dedujeron las ecuaciones cinemáticas directas para un robot tipo PUMA de seis ejes. Se introdujo el problema cinemático inverso y se utilizó la técnica transformada inversa para determinar la solución de los ángulos de Euler. Esta técnica se puede utilizar también para encontrar la solución inversa de robots simples. Sin embargo, no proporciona una comprensión geométrica del problema. Así se introdujo un método geométrico para encontrar la solución inversa de un robot con seis articulaciones de tipo giratorio. Se determinó la solución inversa con la ayuda de tres indicadores de configuración de brazo (BRAZO, CODO y MUÑE-
CINEMA TICA DEL BRAZO
DEL ROBOT
79
CA). Hay ocho soluciones para un robot tipo PUMA -cuatro soluciones para Jas tres primeras articulaciones y para la configuración del brazo, dos soluciones más para las últimas tres articulaciones-. Se puede verificar mediante simulación en computadora la validez de las soluciones cinemáticas directa e inversa. Con modificaciones y ajustes apropiados se puede generalizar el método geométrico a otros robots industriales simples con articulaciones de tipo giratorio. Los conceptos cinemáticos que se han tratado en este capitulo se utilizarán de forma amplia en el capítulo 3 para deducir las ecuaciones de movimiento que describen Ja conducta dinámica de un brazo de robot.
REFERENCIAS Más información sobre matrices se puede encontrar en Bellman [ 1970], Frazer y colaboradores. (1960] y Gantmacher (1959]. La utilización de matrices para describir la posición de un elemento mecánico rígido se puede ver en el trabajo de Denavit y Hartenberg (1955] y en su libro (Hartenberg y Denavit (1964]). Más información sobre coordenadas homogéneas se puede ver en Duda y Hart [ 1973] y Newman y Sproull (1979]. La discusión sobre cinemática es una extensión de un trabajo de Lee [ 1982]. Una ampliación sobre cinemática se puede encontrar en Hartenberg y Denavit (1964] y Suh y RadclifTe(1978]. Aunque la representación matricial de los elementos presenta un enfoque sistemático para resolver el problema cinemático directo, el método vectorial para el problema cinemático presenta una representación más concisa de los mismos. Esto se estudia en un trabajo por Chase (1;963]. Otros libros de robótica que analizan el problema cinemático son Paul (1981], Lee, González y Fu (1986] y Snyder (1985]. Pieper [ 1968], en su tesis doctoral, utilizó un método geométrico para resolver el problema cinemático inverso. El estudio de la técnica transformada inversa para encontrar la solución del brazo se basó en el trabajo de Paul y col. (1981]. El método geométrico para resolver la cinemática inversa de un manipulador de seis elementos con articulaciones giratorias se basó en el trabajo de Lee y Ziegler (1984]. La solución del brazo de un robot tipo Stanford se puede ver en un informe de Lewis [ 1974]. Otras técnicas para resolver la cinemática inversa se pueden ver en los artículos de Denavit (1956], Kohli y Soni (1975], Yang Y Freudenstein ( 1964], Yang [ 1969], Yuan y Freudenstein [ 1971 ], DufTy y R.ooney (1975], Uicker y col. (1964]. Finalmente, el libro tutorial editado por Lee, González y Fu (1986] contiene numerosos trabajos recientes sobre robótica.
PROBLEMAS
('i¡)
¿Cuál es la matriz de rotación para una rotación de 30'' respecto del eje OZ, seguida una rotación de 60" respecto del eje OX, seguida por una rotación de 90º respecto del CJC OY?
\~
80 ROBOTICA: CONTROL, DETECCI01', \llSION E INTELIGE~CIA
),Cuál es la matriz de rotación para una rotación de ángulo rjJ respecto del eje OX, (~i2 -segtíida por una rotación de ángulo i/J respecto del eje O W, seguida por una rotación de ángulo O respecto del eje O Y?
..13 Encontrar otra secuencia de rotaciones que sea diferente del problema 2.2, pero que .,~~lle
en la misma matriz de rotación.
2.4 Deducir la fórmula para sen (rp + 8) y cos (rp + O) desarrollando simbólicamente dos rotaciones de rjJ y (} utilizando los conceptos de matriz de rotación estudiados en este capítulo. (Í:5) Determinar una matriz T que representa una rotación de ángulo a. respecto del eje seguida por una traslación de b unidades de distancia a lo largo del eje OZ, seguida por una rotación de ángulo rjJ respecto del eje O V.
"oz,
r
'2~Para
la figura que se muestra a continuación, encontrar las matrices de transforma= 1, 2, 3, 4, 5.
' -eión homogénea 4 x 4 ;-1A; y ºA; para i
/
/
/
/
/
/
/
/
/
Z
¡
•1
Y1
Yo
( ~ ~n
Para la figura que _se muestra en la página 81, encontrar las matrices de transforma· homogénea 4 x 4• - 1 A; y O A; para i = 1, 2, 3, 4.
/~ Se ha preparado una estación de trabajo de robot con una cámara de TV, tal como· : s~uestra en la sección 2.2.11. La cámara puede ver el origen del sistema de coordenadas ele la base donde se fija un robot de seis elementos, y también el centro de un cubo que tiene que ser manipulado por el robot. Si se ha establecido un sistema de coordenada local en el centro del cubo, entonces este objeto, tal como lo ve la cámara, se puede representar por una matriz de transformación homogénea T1. También el origen del sistema de
CINEMATICADEL BRAZO DEL ROBOT
81
.,.,
?\
T
5 in
1
1 1
1 1 1 1 1
1
4in
1
I
/
/
.j---- --------
/
1
/
/
/
/
/
/
,, 1},\
/ ~l
'º "/
/
, ,.,.,.
/
/
/
/
/
...
Y1
1
/
~ll
1---....,__
---(
3 in
/
coordenadas de la base tal como lo ve la cámara se puede expresar por una matriz de transformación homogénea T2, donde
-[
1
o
o
o
o
o
'~]
T, y
o
-ri
o o
-1
o o
-1
-IO] 20 10
a) Desgraciadamente, después de que se ha colocado el equipo y se han tomado estos sistemas de coordenadas, alguien gira la cámara 90ª respecto del eje z de la cámara. ¿Cuál es la posición/orientación de la cámara con respecto al sistema de coordenadas de la base del robot? b) Después de que haya calculado la respuesta a la pregunta a), la misma persona giró el objeto 90º respecto del eje x del objeto y lo trasladó cuatro unidades de distancia a lo largo del eje y girado. ¿Cuál es la posición/orientación del objeto con respcc10 al sistema de coordenadas de la base del robot? ¿Y con respecto al sistema de COordenadas de la cámara girada?
-
~9 Hemos estudiado un método geométrico para encontrar la solución cinemática .. ,versa de un robot tipo PUMA. Encontrar los requisitos computacionales de la solución .
de la articulación en términos de operaciones de multiplicación y suma y el número de llarnadas trascendentes (si el mismo término aparece dos veces, el cálculo se debería contar SOiamente una vez).
~
82 ROBOTICA: CONTROL, DETECCION, YISION E INTELIGENCIA 1
2;0k:stablecer el sistema de coordenadas del elemento ortonormal (x., Y;, z.) para i = 1, 2-,- ... , 6 para el robot PUMA 260 que se muestra en la figura siguiente y completar la tabla. Rotación de cintura 330º
ffi
Rotación de hombro 3 IOº
8,0\ ~
Rotación de codo
/~ci~
¡:.;:"' ~'(
~: _>;;;!:'~ndc
13 in
Parámetrosde coordenadasde los elementos del robot PUMA Articulación
,
11,
~,
d,
a,
2 3 4 5 6
/~
Establecer un sistema de coordenadas de elementos ortononnales (x¿ Y;, z;) para
'~i--4= 1, 2, ... , 5 para el robot MINI MOVER que se muestra en la figura siguiente y completar la tabla.
'
CINEMATICA
DEL BRAZO
DEL ROBOT
83
Parámetros de coordenadas de los elementos del robot MINIMOVER Articulación
i
O,
~,
a,
d,
2
3 4 5
'i:ii).
~n robot tipo Stanf?rd se ha movid.~ a las posiciones que se_.muestran ,en I~ figu,ra. = (90°, - 120·, 22 cm, O", 70·, 90· )7. Establecer el sistema de coordenadas del elemento ortogonal (X¡, y¡, z¡) para i = l, 2, ... , 6 para este brazo y completar la tabla.
't;a(vana bles de articulación en esta posicion son: q
Parámetros de coordenadas de los elementos del robot Stanford Aniculación ;
2
3 4 5 6
2.Jl Utilizando las seis matrices i- 1 A¡ (i = l, 2, .... 6) del robot PYMA de la figura 2.13, encontrar su error de posición al final del elemento 3 debido al error de medida de los tres P11meros ángulos de articulación (601, 602, 603). Es suficiente una solución aproximada de primer orden. 2.14 Repetir el problema 2.13 para el robot Stanford que se muestra en la figura 2.12.
·~n la figura se muestra un manipulador con dos grados de libertad. Si la longitud de cada elemento es de un metro, establecer sus sistemas de coordenadas de elementos y encontrar O A I y I A2• Encontrar la solución cinemática inversa para este manipulador.
84 ROBOTICA: CONTROL, DETECCION. VISION E INTELIGENCIA
/~
-\
·'----lW
Para el robot PUMA que se muestra en la figura 2.J 1, suponer que hemos encontra- do correctamente la solución de las tres primeras articulaciones (81; 82, 83) y que se dan 1 ; A;, i = 1, 2, ... , 6 y ºT6. Utilizar la técnica de transformación inversa para encontrar la solución de los tres últimos ángulos de las articulaciones (04, 05, 06). Compare sus soluciones con las ecuaciones dadas (2.3-71 ). (2.3-73) y (2.3-75). 2.17 Para el robot Stanford de la figura 2.12, obtener la solución de los tres primeros ángulos de articulación. Puede utilizar cualquier método con el que se sienta cómodo.
2.18
Repetir el problema 2.16 para el robot Stanford de la figura 2.12.
1
/
CAPITULO
TRES DINAMICA DEL BRAZO DEL ROBOT Lo inevitable se supera mediante el esfuerzo Olicer Wendell Holmes
3.l
INTRODUCCION
~}1
La dinámica del robot trata con las formulaciones matemáticas de las ecuaciones de movimiento del brazo. Las ecuaciones de movimiento de un manipulador son un conjunto de ecuaciones matemáticas que describen su conducta dinámica. Tales ecuaciones son útiles para la simulación en computadora del movimiento del robot, el diseño de ecuaciones de control apropiadas para el robot y la evaluación del diseño y estructura del brazo. En este capítulo nos centraremos en la formulación, características y propiedades de las ecuaciones dinámicas de movimiento que son adecuadas con fines de control. El objetivo del control de un manipulador basado en computadora es mantener la respuesta dinámica del mismo de acuerdo con algún rendimiento del sistema preespecificado y objetivos deseados. En general, el rendimiento dinámico de un manipulador depende directamente de la: eficacia de los algoritmos de control y de su modelo dinámico. El problema de control consiste en obtener modelos dinámicos del brazo del robot Iisico y a continuación especificar leyes o estrategias de control correspondientes para conseguir la respuesta y rendimiento del sistema deseado. Este capítulo trata principalmente con la primera parte del problema de control del manipulador; esto es, la modelización y evaluación de las propiedades y conducta dinámica de robots controlados por computadora. El modelo dinámico de un robot se puede obtener a partir de leyes fisicas conocidas tales como las leyes de la mecánica newtoniana y lagrangiana, Esto conduce al desarrollo de las ecuaciones de movimiento dinámico para las diversas articulaciones del manipulador en términos de los parámetros geométricos e inerciales de los elementos. Métodos convencionales como las formulaciones de Lagrange-Euler (L-E) y Newton-Euler (N-E) se pueden aplicar entonces sistemáticamente para desarrollar las ecuaciones de movimiento del robot. De estas dos formulaciones se obtienen diferentes formas de describir la dinámica del brazo del robot, tales como las ecuaciones de Lagrange-Euler de Uicker (Uicker [1965], Bcjczy [1974]), las ecuaciones recursivas de Lagrange de Hollerbach (Hollerbach ; [1980]), las ecuaciones de Newton-Euler de Luh (Luh y col. [1980a]) y las ecuaciones generalizadas d' Alembert y Lee (Lee y col. [ 1983]). Estas ecuaciones de movimiento son «equivalentes» unas a otras en el sentido de que describen la Conducta dinámica del mismo robot fisico. Sin embargo, sus estructuras pueden
86 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
diferir porque se obtienen por diversas razones y objetivos. Algunas se obtienen para lograr tiempos de cálculo rápido en la evaluación de los pares de las articulaciones nominales para controlar el manipulador, otras se obtienen para facilitar el análisis y la síntesis de control, y todavía otras se obtienen para mejorar la simulación en una computadora del movimiento del robot. La obtención del modelo dinámico de un manipulador basado en la formulación de L-E es simple y sistemática. Suponiendo el movimiento del cuerpo rígido, las ecuaciones de movimiento resultante, excluyendo la dinámica de los dispositivos de control electrónico, huelgo y el rozamiento de los engranajes, son un conjunto de ecuaciones diferenciales no lineales acopladas de segundo orden. Bejczy [1974], utilizando la representación de la matriz de transformación homogénea 4 x 4 de la cadena cinemática y la formulación lagrangiana, ha demostrado que las ecuaciones de movimiento dinámico para un robot tipo Stanford de seis articulaciones son fuertemente no lineales y constan de carga inercial, fuerzas de reacción de acoplo entre las articulaciones (Coriolis y centrífuga) y efectos de carga de la gravedad. Más aún, estos pares/fuerzas dependen de los parámetros fisicos del manipulador, de la configuración instantánea de las articulaciones, de la velocidad y aceleración de las articulaciones y de la carga que está soportand~/ el robot. Las ecuaciones de movimiento L-E proporcionan ecuaciones de estado explícitas para la dinámica del robot y se pueden utilizar para analizar y diseñar estrategias de control avanzadas en el espacio de las variables de articulación. En una menor medida se están utilizando para resolver el problema dinámico directo, esto es, dadas las fuerzas/pares deseadas, se utilizan las ecuaciones dinámicas para resolver las aceleraciones de las articulaciones, que se integran a continua· ción para obtener las coordenadas y velocidades generalizadas; o para el problema dinámico inverso, esto 'es, dadas las coordenadas generalizadas deseadas y sus primeras dos derivadas respecto del tiempo, se calculan las fuerzas/pares generalizados. En ambos casos se puede necesitar calcular los coeficientes dinámicos D;•, h;k,,. y C; definidos en las ecuaciones (3.2-31), (3.2-33) y (3.2-34), respectivamente. Desgraciadamente, el cálculo de estos coeficientes requiere una relativa cantidad de operaciones aritméticas. Así las ecuaciones de L-E son muy dificiles de utilizar con fines de cr .rol en tiempo real a menos que se simplifiquen. Como una alternativa para derivar ecuaciones de movimientos más eficientes, se dirigió la atención a desarrollar algoritmos para calcular las fuerzas/pares generalizados basados en las ecuaciones de movimientos de N-E (Arrnstrong [1979], Orín y col. [1979], Luh y col. [!980a]). La obtención es simple, pero engorrosa, e implica términos de producto vectorial. Las ecuaciones dinámicas resultantes, excluyendo la dinámica del dispositivo de control, huelgo y roza· miento de los engranajes, son un conjunto de ecuaciones recursivas hacia adelante y hacia atrás. Este conjunto de ecuaciones se puede aplicar secuencialmente a los elementos del robot. La recursión hacia adelante propaga la información cinemática -tal como velocidades lineales, velocidades angulares, aceleraciones angulares y aceleraciones lineales del centro de masa de cada elemento- desde el sistema de coordenadas inercial hasta el sistema de coordenadas de la mano. La recursión hacia atrás propaga las fuerzas y momentos ejercidos sobre cada elemento desde el efector final del manipulador hasta el sistema de referencia de
DINAMICA
DEL BRAZO
DEL ROBOT
87
la base. El resultado más significativo de esta formulación es que el tiempo de cál'culo de las fuerzas/pares generalizados se encuentra que es linealmente proporcional al número de articulaciones del brazo e independiente de la configuración del mismo. Con este algoritmo se puede realizar el control en tiempo real sirnple del robot en el espacio de las variables de articulación. La ineficacia de las ecuaciones de movimiento de L-E surge parcialmente de las matrices homogéneas 4 x 4 que describen la cadena cinemática, mientras que la eficacia de la formulación de N-E se basa en la formulación vectorial y en su naturaleza recursiva. Para mejorar aún más el tiempo de cálculo de la formulación Iagrangiana. Hollerbach (1980] ha explotado la naturaleza recursiva de la formulación lagrangiana. Sin embargo, las ecuaciones recursivas destruyen la «estructura» del modelo dinámico que es bastante útil en darnos comprensión para el diseño del controlador en el espacio de estados. Para el análisis del control en el espacio de estado, sería interesante obtener un conjunto explícito de ecuaciones diferenciales en forma cerrada (ecuaciones de estado) que describan la conducta dinámica del manipulador. Además, se deberían identificar fácilmente las fuerzas de interacción y de reacción de los acopios en las ecuaciones, de manera que se pudiese diseñar un controlador apropiado para compensar sus efectos (Huston y Kelly (1982]). Otro método para obtener un conjunto eficiente de ecuaciones de movimiento explícito se basa en el principio de d'Alembert generalizado para deducir las ecuaciones de movimiento que se expresan explícitamente en forma vectorial matricial apropiadas para el análisis del control. Además, para permitir un cálculo más rápido de los coeficientes dinámicos que las ecuaciones de L-E, las ecuaciones de movimiento de G-D explícitamente identifican las contribuciones de los efectos traslacionales y rotacionales de los elementos. Tal información es útil para diseñar un controlador en el espacio de estado. La eficacia computacional se consigue a partir de una formulación compacta utilizando matrices de transformación de Euler (o matrices de rotación) y vectores de posición relativos entre articulaciones. En este capítulo se obtienen y analizan las ecuaciones de movimiento de L-E, N-E y G-D de un robot y se estudia un manipulador con dos elementos para ilustrar el uso de estas ecuaciones. Como el cálculo de los coeficientes dinámicos de las ecuaciones de movimiento es importante tanto en el análisis del control como en la simulación por computadora, se tabulan las operaciones matemáticas Y la carga computacional de estas ecuaciones de movimientos. El cálculo de las fuerzas/pares aplicadas a partir de las ecuaciones de movimientos de d'Alembert generalizadas es del orden O(n3), mientras que en las ecuaciones N-E son del orden de O(n4) [o del orden O(n3) si se optimizan] y las ecuaciones de N-E son del orden de O(n), donde n es el número de grados de libertad del brazo.
3.2 FORMULACION
DE LAGRANGE-EULER
{J~
las ecuaciones de movimiento general de un manipulador se pueden expresar convenientemente mediante la aplicación directa de la formulación de LagrangeEuler a sistemas no conservativos. Muchos investigadores utilizan la representa-
88
ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
ción matricial de Denavit-Hartenberg para describir el desplazamiento espacial entre los sistemas de coordenadas de elementos vecinos para obtener la informa. ción cinemática del elemento, y emplean la técnica dinámica lagrangiana para deducir las ecuaciones dinámicas de un manipulador. La aplicación directa de la formulación dinámica lagrangiana, junto con la representación de coordenadas de elementos de Denavit-Hartenberg, resulta en una descripción algorítmica conveniente y compacta de las ecuaciones de movimiento del manipulador. El algoritmo se expresa mediante operaciones matriciales y facilita tanto el análisis como su realización en una computadora. La evaluación de la dinámica y de las ecuaciones de control en términos funcionalmente explícitos se basará en el algoritmo matricial compacto deducido en esta sección. La derivación de las ecuaciones dinámicas de un manipulador con n grados de libertad se basa en la comprensión de: l. La matriz de transformación de coordenadas homogéneas 4 x 4, i - 1 A¡, que describe la relación espacial entre los sistemas de coordenadas del elemento i-ésimo y el elemento (i - 1 )-ésimo. Relaciona un punto fijado en el elemento i expresado en coordenadas homogéneas con respecto al sistema de coordenadas i-ésimo en el sistema de coordenadas (i - 1)ésimo. 2. La ecuación de Lagrange-Euler
d (ºL)
dt
o~¡
oL
t¡
i
=
l, 2, ... , n
/
(3.2·1)
oq ¡
1
donde
=
función lagrangiana = energía cinética K - energía potencial P", energía cinética total del brazo; energía potencial total de brazo; q¡ = coordenada generalizada del brazo; (q)q
+
b(q,
q) +
c(q)
+ l)(n + 2)
+ t )(n
(65/2) n2(n
t- 2)
o
( 1/6)n2(n
(128/3)n4 + (512/3)n3 + + (844/3)n2 + (76/3)n
(98/3)n4 + (781/6Jn1 + + (637/3)n2 + (107/6)n
- 1 )(n
+
1)
• n = .número de grados de libertad del brazo.
1 A causa de su estructura matricial, las ecuaciones de L-E son interesantc:s desde d punto de vista de control en lazo cerrado porque dan un conjunto de ecuaciones de estado como en la ecuación (3.2-26). Esta forma permite el diseño de una ley de control que compensa fácilmente todos los efectos no lineales. Bastante a menudo en el diseño de un controlador por realimentación para un manipulador se utilizan los coeficientes dinámicos para minimizar los efectos no lineales de las fuerzas de reacción (Markiewicz [ 1973]). Es de interés evaluar las complejidades computacionales inherentes a la ohtención de coeficientes en las ecuaciones (3.2-31) a (3.2-34). La tabla 3. 1 resume las complejidades computacionales de las ecuaciones de movimiento de L-E en términos de las operaciones matemáticas requeridas (multiplicaciones y sumas¡ que se .necesitan para calcular la ecuación (3.2-26) para cada punto de consigna en la trayectoria. Computacionalmente estas ecuaciones de movimiento son ex- tremadamente ineficientes cuando se las compara con otras formulaciones. En el siguien.teapartado desarrollaremos las ecuaciones de movimiento de un robot Que serán más eficaces para calcular los pares nominales.
3.2.6 Un ejemplo de un manipulador con dos elementos
[}~
Para demostrar cómo utilizar las ecuaciones de movimiento de L-E en las ecuaciones (3.2-26) a (3.2-34), se desarrolla en este apartado un ejemplo para un
102 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
Figura 3.2 Un manipulador de dos elementos.
manipulador de dos elementos con articulaciones de revolución tal como se muestra en la figura 3.2. Todos los ejes de rotación en las articulaciones están a lo largo del eje z normal a la superficie del papel. A continuación se dan las dimensiones fisicas tales como posición del centro de masa, masa de cada elemento y sistemas de coordenadas. Estamos interesados en deducir las ecuaciones de movimiento del robot con dos elementos anteriores utilizando las ecuaciones (3.2-26) a (3.2-34). Suponemos lo siguiente: variables de articulación = 81, 82; masa de los elementos =m1, mú parámetros de los elementos = cc1 = cc2 = O; d, = d2 = O; y a1 = a2 = /. Entonces. de la figura 3.2 y del estudio del apartado previo se obtienen las matrices de transformación de coordenadas homogéneas i- 1 A¡ (i = 1, 2) como
[e, 'A, - ~' ºA2
ºA11A2
=
o
-S, OO /C,] C1 /S1 o
l
o
O
O
1
[e "
S1 2
IA2
[e,o -s, S2
o -S12
o
-
C12
o o
o o l
o
C2
OO IC,] /S2
O
1
O
O
O
1
/(C., + C,)] /(S12
+
o 1
S1)
DINAMlCA
DEL BRAZO
DEL ROBOT
donde C1 = cos 01; S1 = sen 01; Cii = cos (O; + O); Sii = sen (O; definición de la matriz Q;, para una articulación giratoria, tenemos
o Q¡
1
-1 O
[o
o
o
=
o o o o
o
Utilizando la ecuación (3.2-11) tenemos
o0A1 O -1
U, 1 =
-
[°
0
1
o
= Q1
001
[-s,
Ai
=
o o
. [-s.,
0 o0A2 M¡ = Q1 A2
e, o o
o o
o o
i c ']
1
o -
IS 1
o
1
«c..
+
-IS] 1c o o
1
o O o o o o o o
o o o o
-S12
o o
-1 1
= ~
-C12
C ,2
-
o
[º oº] [c.,
1 1
=
o
o o
o o
-S,
para U 21 y U 22, tenemos
Análogamente,
U21
O
o o o o
-C, -Si
e, o o
O
S1
O
Oi). De la
!]
r
ºJ
o
+
o o
O
o o
-S12 o S12 C12
o o
o
1
o
C,)]
/(S12
o
+ S1) =
1
,)] - l(S., + S /(C12
+ C1)
o o
U 22--- - o A1Q2'A2-oºA-2082
-
[e, S1
- o o
-
[-s.,
C ,2
o
-s, o
ic,]
e, o IS1 o 1 o o o 1
-S12
-C12
o o o
103
[º 1
o o
º] [e,
-Si
O
S2
C2
o o o o o o
o o
o o
-IS.,]
o o o o12 o
IC
-1O
o o
o o 1
o
ic,] IS2
o 1
=
o
104
ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA
De la ecuación (3.2-18), suponiendo que todos los productos de inercia son nulos, podemos deducir la matriz de pseudoinercia J¡:
[ 'i,~,I' o
=
J¡
- i/2m1/
-''f"]
o o o o
o o o o
J2
[ 'i,~,I' o
=
_ 1/2m2'
m1
o o o o
-'/t]
o o o o
m2
A continuación, utilizando la ecuación (3.2-31), tenemos D11
= Tr(U11J1U¡1)
~Tr ¡[-s,
I
+Tr \[CSf"
= i¡3m1/2
+ Tr(U21J2Uf¡) =
o o o o
-C1 -Si o
o
-S12 -·r']
-IS] [/,m,1'
o o
/C1 o
o o o o
oO - i/2m1/
o
J(
+
e 1 2 + e i)
o
o o
o o
TI +
U11
O
m1
o o
o
O
-l(S.,+S,J r,m,I'
-C12
-'t•]
o
o
O
- 1/2m2/
O
o O
o o O o
U21 -
m2
1
+ 4/3m2'2 + m2C2/2 1
1
Para D 12 tenemos D12
=
D21
=
{[S "
Tr(U22J2Ufi) -C12
=
o
=
Tr o C 12
-S12
o
o o
o o o
-IS.,l [ 'f,m,I' IC12
O
o
o
O
- i/2m2/
o o o o o o o o
-'/r'l O m2
}U2T1
-
= m2/2( - i¡6
+ 1/2 + 1/2C2)
i¡3m2l2
+ i¡2m2l2C2
Para D22 tenemos D22 = Tr(U22J2UI2)
= Tr
=
1
{[s"
-C12 -S12
C12
o o
o o
/3m2'2Sf2
=
+
1
-IS.,] ['/,m,l'
o o o o
/3m2'2Cf
IC12
2
O
o
o
O
-1/2m2'
'/3m2'2
o o o o
o o o o
-·r'] } o
m2
ur ""' 22
DINAMICA
DEL BRAZO
DEL ROBOT
IOS
para deducir los términos de Coriolis y centrífugo, utilizamos la ecuación (3.2-32). para i = 1, utilizando la ecuación (3.2-32), tenemos
Utilizando la ecuación (3.2-33) podemos obtener el valor de h¡•m· Por tanto, el valor anterior que corresponde a la articulación 1 es
Análogamente, para i = 2 tenemos
h2
=
2
2
L L •= m= l
1
hi.mÓlÓm
=
h211Óf + h212Ó1Ó2
+ h221ÓL + h222Óf =
Por tanto,
A continuación necesitamos deducir los términos relacionados con la gravedad, e = (c1, c2)7. Utilizando la ecuación (3.2-34) tenemos:
e,
=
=
-(m1gU11
(0,
-m1
ti\
+
O, O) -g,
[-S, C1
~
[-s., - mz(O, -g, O, O)
=
1/2m1g/C1
+
1/2
=
m2gU212r2)
C12
~
m2glC12
-C1 -Si
o o
ol oo o
-IS'] o o
-S12
o o
+ m2glC1
o o
o
-C12
o o
2
/C1
o
-/(Su + s,)] /(C12
+
o o
C1)
--
o o
l
2
106
ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA C2
-m2gU22 2¡2 =
[-s,, C,2
-C,2 -S,2
o o
-IS,,] /C12
I
2
o
-m2(0, -g, O, O)
~
o o
o o
o o
o
= -mz(1/2g/C12 - g/C12)
De aquí obtenemos los términos de la matriz de gravedad:
Finalmente, las ecuaciones de movimiento de Lagrange-Euler para el manipulador de dos elementos se encuentra que son -r(t)
=
=
D(8)6.(t)
+
h(8, Ó)
+
c(8)
['/3m,/2 + 4/3m2/2 + m2C2/2 '/3m2/2 + i/2m2/2C2
i
1
3.3 FORMULACION
DE NEWTON-EULER
En los apartados previos hemos deducido un conjunto de ecuaciones diferencia· les de segundo orden no lineal a partir de la formulación de Lagrange-Euler que: describen la conducta dinámica de un robot. El uso de estas ecuaciones para calcular los pares nominales de las articulaciones a partir de sus posiciones. velocidades y aceleraciones para cada punto de consigna de la trayectoria en tiempo real ha sido un cuello de botella computacional en el control en lazo abierto. El problema se debe principalmente a la ineficacia de las ecuaciones de movimiento de Lagrange-Euler, que utiliza las ecuaciones de transformación homogéneas 4 x 4. Para lograr un control en tiempo real, ha sido propuesto un modelo dinámico simplificado para el robot que ignora las fuerzas de Coriolis Y centrífugas. Esto reduce el tiempo de cálculo para los pares de las articulaciones a un límite obtenible (es decir, menos de I O m para cada punto de la trayectoria utilizando una computadora POP 11/45). Sin embargo, las fuerzas de Coriolis Y
D11 D12 D13 D14 D~s
'D12 D22 D23 D24 Dis D26 116
D13 D23 D33 D34 D3s D36
D14 D24 D34 D44 D4s D46
D1s D16 Dis D26 D3s D36 D4s D46 Ds6 Ds6 D66
View more...
Comments