Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo Robotica Industria
Trabajo Robotica Industria
ELECTRICIDAD.
AUTOMATIZACIÓN Y CONTROL
ROBOT INDUSTRIAL
INTRODUCCION A LA ROBOTICA
Estos pueden ser controlados por un mismo operario humano cualificado, o simplemente por un
control mediante algún dispositivo lógico reprogramable. Además de ello, estas joyas de la
tecnología industrial, están comprendidas por una estructura similar de cuatro partes
fundamentales, las cuales son:
Pueden desenvolverse en casi todos los sectores de la industria que requieran mayor precisión
en sus productos, y automatizar todos sus procesos.
Sin embargo, esto tenía dos desventajas importantes, las cueles eran: Mayor tiempo para llegar al
producto final y sobre todo fallas de precisión humana.
3
Ahora bien, si existe un sector el cual se ha visto beneficiado en los últimos años de los avances
industriales, han sido aquellas empresas en la que se desenvuelven con sus procesos de
producción industrial. Todo ello, gracias a los innovadores robots industriales.
Para nadie es un secreto, que en las industrias la utilización de estas poderosas herramientas, ya
son tan comunes como los aviones en los aeropuertos. Todo esto se debe a que han sido capaces
de convertir tareas imposibles por humanos, en actividades sencillas y sin riesgo alguno.
Ahora bien, estas maquinarias industriales, durante muchos años han sufrido por diferentes
avances y transformaciones tecnológicas. Todas estas, en función a las necesidades y
requerimientos de cada una de las industrias a las que desean ser implementadas.
Es por todo esto, que podemos encontrar diferentes tipos de robots industriales, entre esta
variedad se encuentran:
Los robots de repetición o cíclicos, es una maquinaria inteligente capas de poseer mecanismos
multifuncionales. Estos son controlados a través de un computador, que por lo general suelen ser
un microordenador.
Robots articulados
A la hora de realizar tareas de manipulación, estos robots articulados resultan ser los más ideales.
Todo esto gracias a su ingeniería de precisión y agilidad mecanizada con pinzas moldeadas.
Este robot permite realizar movimientos eficientes a lo que se refiere la energía y suaves en
cuanto a su maquinaria. Por otro lado, son tan fáciles de utilizar como si se tratara de un robot
lineal, ya que, cuenta con libertad de orientación y trayectos lineales continuos.
Brazos Robóticos
Como su nombre lo indica, se trata de un brazo mecánico programable. Este cuenta con una
apariencia de garfio y es capaz de cumplir de manera eficaz con las funciones similares a las de
un brazo humano.
Este sistema puede ser empleado para ser parte de un robot aún más grande y complejo, o
simplemente, trabajar de manera autónoma. Ya que, todas sus partes tienen la función de realizar
diferentes movimientos de rotación y traslado. Cumpliendo con mayor rapidez y menor riesgo, el
desplazamiento de los objetos que se desean transportar.
Robots manipuladores: son los más comunes en las industrias, gracias a que poseen un
sistema de control básico y bajo coste. Las múltiples tareas que realiza son repetitivas y
sencillas. Se subdividen en tres tipos, de secuencia fija, secuencia variables y forma
manual.
Robots de repetición: Son los robots que tienen la función de realizar una tarea
repetitiva o una secuencia de movimientos que son previamente programados por un
humano. Estos robots industriales son los que la sociedad en general reconoce.
5
Cilíndricos: poseen una columna vertical que gira sobre su base. Las industrias suelen
utilizarlos para ensamblaje, manipular herramientas, hacer soldaduras por punto y
manipulación en máquinas de fundición a presión.
Scara: con cuatro grados de libertad, estos robots se caracterizan por tener un rápido
ciclo de trabajo, un amplio campo de aplicación en diversas tareas y una excelente
repetitividad.
Polar: con varias articulaciones, en donde dos son rotacionales y una es lineal y tienen
la capacidad de desplazar el brazo en un área esférica, gracias a sus articulaciones.
Angulares: posee articulaciones que dan movimiento al robot tanto rotacional como
angular, logrando que el brazo efectúe movimientos de interpolación lineal
Paralelos: este tipo de robot cuenta con cadenas cinemáticas cerradas, en donde varias
cadenas cinemáticas seriales independientes hacen que la plataforma móvil y la base se
conecten, estas se clasifican según el grado de libertad.
En el año 1937, Bill Griffith P. Taylor completó en Inglaterra el robot industrial más antiguo a
quien denomino La Grúa, la cual fue construida con piezas de Meccano y accionado por un solo
motor eléctrico. Asimismo en el año 1997 Chris Shute logró construir una réplica de este robot.
Por otro lado, George Devol junto con Joseph F. Engelberger en el año 1956 fundaron una
compañía llamada Unimation. Esta compañía logró crear máquinas de transferencia
programables, con el fin de transferir objetos desde un punto hacia otro a menos de 3 metros de
distancia.
Desde hace un tiempo la empresa Cincinnati Milacron Inc de Ohio se convirtió en el competidor
de Unimation. Pero en la década de los 70 varios conglomerados japoneses incursionaron en la
producción de robots industriales similares.
Víctor Scheinman en el año 1969, creó un sistema eléctrico de seis ejes articulados al robot,
diseñados para permitir una mayor movilidad al brazo del robot. Mientras que en el año 1973 la
compañía KUKA Robótica construyó el robot llamado Famulus, el cual es el primer robot
industrial articulado de 6 ejes que se impulsa de manera electrónica.
Las aplicaciones industriales en donde se utilizan este tipo de robots son muy diversas por lo que
vamos a poner algunos ejemplos, donde las principales son las siguientes:
7
SOFTWARE DE CONTROL:
referencia de componentes, la interface de aplicación general y la estructura que hace que todos
los componentes trabajan juntos. Hasta el momento, los desarrollos obtenidos no fuerzan a todos
los fabricantes a conformar un estándar único. En cambio, estos desarrollos utilizan recursos
existentes para realizar funciones usuario-específicas. Por otra parte, existen varios paquetes de
software comerciales para el control de robots sobre plataformas Windows, como por ejemplo
Advanced Robotics Interface for Applications (ARIA) usado en los robots fabricados por
ActivMedia Robotics (http://www.activrobots.com), el software BotController desarrollado por
MobotSoft (http://www.mobotsoft.com), usado en la programación de los conocidos robots
Khepera y Koala; entre otros. Aunque estos paquetes de software para robots tienen muchas
prestaciones para los robots hacia los cuales fueron diseñados, los mismos son librerías de
software potentes pero ‘cerrados’, que circunscriben sus aplicaciones a sus propios robots. Lo
cual imposibilita su utilización para desarrollar software de robótica de acuerdo al hardware que
posea un centro de investigación.
mm Windows 2000 Server). Aunque este sistema operativo no es de tiempo real, el mismo
dispone de un conjunto de características que justifican su utilización en este proyecto.
Windows NT es el sistema operativo más utilizado del mercado, lo cual brinda gran
disponibilidad de utilidades y drivers, además es un sistema operativo multitarea (permite la
ejecución de múltiples procesos e hilos en forma simultánea) y permite utilizar máquinas que
contienen más de un procesador asignándolos a distintos hilos (Russinovich and Solomon, 2004).
Los programas se desarrollaron con el lenguaje de programación Visual C ++ (Zaratian, 1998).
Para la construcción de cada aplicación, se utilizó la librería de clases MFC (Microsoft
Foundation Class Library) en conjunto con la plataforma SDK (Software Development Kit).
También se utilizaron los asistentes AppWizard y ClassWizard, que provee Visual C++ para
trabajar con MFC (Sohar, 1998).
El asistente ClassWizard simplifica algunas tareas como la creación de nuevas clases, definición
de manejadores de mensajes, sobrescribir las funciones de las clases de MFC o asignar variables
a controles de cuadros de dialogo (Gurenwich and Gurenwich, 1998). Los distintos objetos en los
programas, se implementan en clases y se crean al inicio del programa, pero no comienzan a
trabajar hasta que se llama su función de activación. En particular, los objetos de sensores o
actuadores poseen una función asociada, que se ejecuta en un hilo aparte en forma periódica, con
un periodo de muestreo apropiado para cada dispositivo. Estas no son funciones miembro de las
clases, sino que se implementan en temporizadores multimedia mediante funciones de la API de
Windows, y brindan la mejor resolución (1 milisegundo) posible para el sistema operativo
utilizado (Richter, 1997). Por otra parte, la sincronización de los programas se realiza mediante
objetos de sincronización de Windows, los mismos se crean y utilizan con funciones de la API
(Richter, 1997).
Tiempo Crítico, mientras que el algoritmo de control corre en el programa llamado Programa de
Control.
de datos situada en la PC de control. D) Objeto fuerza: este objeto lee la medición de fuerza
realizada por el sensor FS6-120 comunicándose con el mismo mediante el puerto serie RS-232C
del PC de control. Por otra parte, se implementa también un temporizador multimedia que
funciona como reloj del sistema con una frecuencia (frecuencia de muestreo) seleccionada por el
usuario al momento del inicio de la ejecución del control. Por otra parte, el programa posee una
interfaz de usuario formada por un cuadro de dialogo, en el cual se encuentra un conjunto de
controles gráficos que permiten seleccionar los sensores a utilizar, configurar sus parámetros,
seleccionar el tiempo de barrido de todo el sistema de control, y comenzar o detener su
ejecución.
Desde que a principios de los años 50 se empezó a utilizar computadoras para controlar
máquinas-herramienta hasta la actualidad, la historia de los robots industriales y su programación
ha ido evolucionando y cambiando con el tiempo. En un primer nivel de detalle, podemos
distinguir tres etapas o ciclos diferentes.
.1. Primera etapa: Lenguajes de CNC Esta etapa vendría a ser como la prehistoria de los
lenguajes de programación robótica. En estos lenguajes, todavía no estamos hablando de robots,
sino de máquinas-herramienta, como tornos, taladros, fresadoras, pulidoras, etc., pero que
cuentan con un sistema de automatización, es decir, son operadas mediante comandos que recibe
de un sistema computerizado. Es la computadora la que controla la posición y velocidad de los
motores que accionan los ejes de la máquina. El Control Numérico Computerizado (CNC) tuvo
14
En este documento se han incluído como lenguajes de programación robótica. Por el contrario,
algunos de los lenguajes más primitivos considerados como robóticos por la literatura van poco
más allá de una lista de posiciones por las que debe ir pasando la máquina o robot. A veces la
diferenciación parece más bien obedecer al dispositivo en el que se - 6 - ejecuta el programa: si
es una máquina-herramienta (fresadora, torno, etc.) se considera un CNC, y si es un brazo con n
ejes, se considera lenguaje robótico.
datar su año de inicio. A partir del año 2000 se reduce drásticamente la generación de nuevos
lenguajes de programación de robots, entrando en el tercer ciclo temporal. Durante esas décadas,
los lenguajes fueron diseñados tanto por universidades e institutos de investigación como por
empresas del sector de la robótica. El primer lenguaje comercial fue SIGLA (Sigma Language),
desarrollado por Olivetti en 1974. Lógicamente, a lo largo de ese tiempo, los lenguajes fueron
evolucionando.
Al principio eran básicamente una lista de puntos, de coordenadas, por las que va pasando el
brazo robótico. Poco a poco se van incorporando funcionalidades para controlar el flujo del
programa (bucles, ramificaciones, etc.), para recibir información de sensores y de visión, para
tomar decisiones, para emitir órdenes a diferentes efectores del robot, y para sincronizar la
acción de varios brazos o robots. En buena medida la evolución de los lenguajes ha sido
consecuencia de la evolución de los robots: los robots dejaron de ser simples brazos, y los
lenguajes fueron incorporando mecanismos para manejar las nuevas funcionalidades que
posibilitaban los robots, tales como sensorización, visión, robots móviles, etc. Otra línea de
evolución de los lenguajes de programación de robots fue la propia de todos los lenguajes de
programación, siendo el hito más destacable la introducción de la programación estructurada a
finales de los años 70.
Los desarrolladores van emitiendo nuevas versiones de los lenguajes para actualizarlos, pero
siguen utilizándose. Por ejemplo, SPEL (Suwa seiko Production Equipment Language), de
16
Seiko-Epson tuvo su primera versión en 1984, y treinta años después, en 2014, se publicaba la
versión 7.1
.3. Tercera etapa: Frameworks robóticos A partir del año 2000, la programación en el ámbito
robótico vive la misma situación que en los otros ámbitos: dejan de publicarse nuevos lenguajes
de programación y empiezan a proliferar los “frameworks”, plataformas o paquetes de software
para el desarrollo de programas para robots. Estos frameworks suelen permitir diferentes
lenguajes de programación, proveen abstracción para diferentes robots, proporcionan entornos de
desarrollo y entornos de simulación, librerías y componentes, etc. Seguramente los más
conocidos son OROCOS (Open Robot Control Software) y ROS (Robot Operating System), pero
hay muchos más, como Player & Stage, Carmen, Microsoft Robotics Studio, Robot Framework,
RoboComp, Gobot, etc.
Programación gestual punto a punto: programación por enseñanza o programación por guiado
La programación se realiza on-line, o sea, con el robot "in situ". No requiere la escritura de un
programa, sino que se basa en la enseñanza directa de la máquina por el usuario. El método es
similar a las normas de funcionamiento de una grabadora, ya que disponen de unas instrucciones
similares: PLAY (reproducir), RECORD (grabar), FF (adelantar), FR (atrasar), PAUSE, STOP,
etc. Además, puede disponer de instrucciones auxiliares, como INSERT (insertar un punto o una
operación de trabajo) y DELETE (borrar). La programación se realiza punto a punto,
posicionando el elemento terminal del robot en los puntos precisos para ejecutar la tarea. Esos
puntos se almacenan en el sistema de control para poder repetir posteriormente los movimientos
Los movimientos puede tener lugar en sistemas de coordenadas cartesianas, cilíndricas o de
unión, siendo posible insertar y borrar las instrucciones que se desee. Es posible, también,
implementar funciones relacionadas con sensores externos, así como revisar el programa paso a
paso, hacia delante y hacia atrás.
Guiado Pasivo: Si los actuadores del robot están desconectados y el programador aporta en
forma directa la energía para mover el robot, se habla de un guiado pasivo. A su vez, puede ser
de dos tipos:
Guiado Pasivo Directo: En este caso, el programador puede tomar el extremo del robot y
llevarlo hasta los puntos deseados a través de las trayectorias más adecuadas. La unidad de
control del robot registra de manera automática la señal de los sensores de posición de las
articulaciones en todos los puntos recorridos. Un ejemplo es el caso de los robots de pintura de la
firma Gaiotto, los cuales fueron programados con este procedimiento.
Guiado Pasivo por Maniquí: La dificultad física de mover toda la estructura del robot se
resuelve a través de este procedimiento. En este caso se dispone de un doble del robot, mientras
que éste permanece fuera de línea. El doble posee una configuración idéntica que el robot real,
pero es mucho más ligero y fácil de mover. La programación se realiza llevando de la mano a
este doble, mientras que la unidad de control muestrea y almacena con cierta frecuencia los
valores que toman los sensores de posición de las articulaciones, para su posterior repetición por
18
el robot. Un ejemplo es el caso de los robots de pintura fabricados por Nordson, los cuales son
programados utilizando este procedimiento.
Guiado activo: Esta posibilidad permite emplear el propio sistema de accionamiento del robot,
controlado desde una botonera o bastón de mando (conocido como joystick) para que sea éste el
que mueva sus articulaciones. Ejemplos de este tipo se encuentran en los robots de ABB (ARLA)
o en los Cincinnati Milacron (T3). Atendiendo a la potencia del sistema, se habla de guiado
básico y guiado extendido.
Guiado Básico: El robot es guiado por los puntos por los cuales se desea que pase durante la
fase de ejecución automática del programa. Durante ésta, la unidad de control interpola dichos
puntos según determinadas trayectorias. Muchas veces no es posible incluir ningún tipo de
estructuras de control dentro del programa, por lo que los puntos son recorridos siempre
secuencialmente, en el mismo orden que se programaron. Un ejemplo de este tipo de
programación es la utilizada en casi todos los robots de pintura, donde la unidad de control
muestrea automáticamente los puntos recorridos por el robot con una frecuencia muy alta. - 11 –
Guiado Extendido: Permite especificar, junto a los puntos por los que deberá pasar el robot,
datos relativos a la velocidad, tipo de trayectoria, precisión con la que se quiere alcanzar los
puntos, control del flujo del programa, atención a entradas/salidas binarias, etc. En este caso, el
método guiado de utilizado es el de la botonera o joystick. El guiado extendido aumenta la
potencia del sistema de programación
Programación textual
• Tareas repetitivas (como paletización) pueden programarse con relativa facilidad, usando
herramientas como las macro o las subrutinas (algunos lenguajes de guiado también tienen esta
posibilidad).
• Se puede desarrollar una librería de subrutinas para utilizar en futuras tareas de programación;
soluciones programadas previamente se reutilizan para nuevos programas.
• Las limitaciones de la precisión del robot pueden dar lugar a errores de ejecución. La precisión
de un robot es la capacidad de posicionar el efector final en un punto objetivo especificado, en
relación con algún marco de referencia externo absoluto. La desviación entre el punto al que se
mueve y el punto realmente deseado es una medida de la precisión. Las imprecisiones son
resultado de las condiciones de carga y de la configuración del manipulador en el área de trabajo.
Las tolerancias de posicionamiento absoluta ajustadas pueden no ser alcanzables con un
programa generado estrictamente fuera de línea, - 13 - a menos que se utilicen sensores para
posicionar el robot con "guiado terminal".
• El programador no puede anticipar todas las posiciones y orientaciones exactas del equipo en el
espacio de trabajo. Por tanto, todos los puntos finales programados tienen probabilidad de tener
cierto error. El programa generado off-line puede necesitar ser “afinado” en el taller antes de la
producción, por ejemplo usando un teach pendant. La alernativa de una integración masiva de
sensores puede no ser económicamente justificable.
• Modulos programados que funcionan de forma aislada, pueden no funcionar cuando están
todos juntos ejecutándose en el robot.
Son lenguajes que se parecen al BASIC, sin poseer una unidad formal y careciendo de
estructuras a nivel de datos y de control. Por el contrario, los lenguajes del tipo articular indican
los incrementos angulares de las articulaciones. Aunque esta acción es bastante simple para
motores de paso a paso y corriente continua, al no tener una referencia general de la posición de
las articulaciones con relación al entorno, es difícil relacionar al sistema con piezas móviles,
obstáculos, cámaras de TV, etc.
subrutinas, así como de tratar informaciones sensoriales. Algunos de los lenguajes de este tipo
son: APT, ANORAD, EMILY, MAL, RCL, RPL, VAL, SIGLA, WAVE, PLAW.
• Capacidad de incorporar datos de sensores avanzados tanto como las señales simples on/off de
los dispositivos binarios.
• Capacidad de interactuar con ordenadores para mantener un registro de los datos, generar
informes, etc.
• Extensibilidad del lenguaje para manejar requerimientos futuros (nuevos aspectos de los
futuros robotos), mediante el desarrollo de comandos, subrutinas y macros. Por ejemplo,
23
Se trata de una programación del tipo no procesal, en la que el usuario describe las
especificaciones de los productos mediante una modelización, al igual que las tareas que hay que
realizar sobre ellos. El sistema informático para la programación textual especificativa ha de
disponer del modelo del universo, o mundo donde se encuentra el robot.
Este modelo será, normalmente, una base de datos más o menos compleja, según la clase de
aplicación, pero que requiere, siempre, computadoras potentes para el procesado de una
abundante información. El trabajo de la programación consistirá, simplemente, en la descripción
de las tareas a realizar, lo que supone poder llevar a cabo trabajos complicados. Dentro de la
programación textual especificativa, hay dos clases, según que la orientación del modelo se
refiera a los objetos o a los objetivos. Si el modelo se orienta al nivel de los objetos, el lenguaje
trabaja con ellos y establece las relaciones entre ellos. La programación se realiza "off-line" y la
conexión CAM es posible. Dada la inevitable imprecisión de los cálculos del ordenador y de las
medidas de las piezas, se precisa de una ejecución previa, para ajustar el programa al entorno del
robot.
Los lenguajes con un modelo del universo orientado a los objetos son de alto nivel, permitiendo
expresar las sentencias en un lenguaje similar al usado comúnmente. Por otra parte, cuando el
modelo se orienta hacia los objetivos, se define el producto final. La creación de lenguajes de
24
muy alto nivel transferirá una gran parte del trabajo de programación, desde el usuario hasta el
sistema informático; éste resolverá la mayoría de los problemas, combinando la Automática y la
Inteligencia Artificial. - 17 –
Se realiza una modelización del entorno para permitir especificar las acciones a realizar por el
robot, indicando las tareas que se deben efectuar sobre los objetos. La programación es off-line,
completamente independiente del robot en el que se ejecutará. Después se realiza
automáticamente la generación de las acciones elementales que se ejecutarán en el robot. No
existe un verdadero lenguaje a nivel de tareas.
Diferentes autores han mencionado diferentes lenguajes por tener ciertas capacidades de nivel de
tarea. Alguno de ellos son AUTOPASS, LAMA, AL, RAPT y ROBEX, siendo RAPT y
AUTOPASS los más mencionados. En algunos casos se definieron las instrucciones a nivel de
tarea pero no se implementaron, o se implementaron parcialmente.
AL (Arm Language)
ALFA (2)
25
ANDROTEXT
ANORAD
APTLOFT
ARMBASIC
AS
ATP
AUTOAPT
AUTODRAFT
AUTOLOFT
AUTOMAP
BASP
BEHAVIOR
CADET
CIMPLER
DARL
DATA-BEADS
EARLS-2
FUNKY
HELP
HIGH
HILAIRE
HR-BASIC
HZAPT
IFAPT
INFORM
JARS
KAREL
K2
LAMA-S
LENNY
LERNA
LINGRAPHICA
LM (Language de Manipulation)
LM-GEO
MAPLE
MAPS
MicroPLANNER
MINI
MINIAPT
ML (Manipulator Language)
MYBASIC
NC/360
PAL (2)
PAM
30
PDL2
POINTY
RAIL
REMAPT
RISE
RLC
ROBOCAM
ROBOFOTH
31
ROBOML
ROBOS
RoboTalk de Rhino
RoboTalk de Standord
RobotScript
ROCOL
ROMPS
SCORBASE
SRIL-90
SWYM
T3
TEACH
UNIAPT
URBISCRIPT
URSCRIPT
V+
WAVE
Planificación de Trayectorias:
Una vez obtenidos los modelos cinemáticos y dinámicos del robot se puede abordar el problema
del control de los mismos. Definir el movimiento de un robot implica controlar dicho robot de
manera que siga un camino pre planificado. El objetivo es por tanto establecer cuáles son las
trayectorias que debe seguir cada articulación del robot a lo largo del tiempo para conseguir los
objetivos fijados, a la vez que se exige cumplir una serie de restricciones físicas impuestas por
los actuadores y de calidad de la trayectoria, como son suavidad, precisión, etc. Para un estudio
más estructurado del problema de control del robot, éste suele dividirse en dos bloques:
• Control dinámico o control de movimiento. Trata de conseguir que el robot siga realmente las
trayectorias marcadas por el control cinemático teniendo en cuenta las limitaciones de los
actuadores y el modelo dinámico del robot. Tal y como se estudió en la práctica 3, el modelo
dinámico del robot es fuertemente no lineal, multivariable y acoplado. Esta práctica aborda el
control cinemático del robot, revisando los conceptos de planificación de trayectorias y las
herramientas necesarias para la interpolación polinomial entre los puntos de inicio y final del
camino.
Para llegar a obtener un planificador que funcione correctamente, los pasos a seguir son los
siguientes:
1. Estudiar las necesidades de movimiento especificadas por el usuario o por los sensores propios
del sistema robotizado, evitando colisiones con el entorno etc., obteniendo una expresión
analítica en coordenadas cartesianas de la trayectoria deseada en función del tiempo (libre de
colisiones). 2. Muestrear la trayectoria anterior en una serie finita de puntos nudo de control que
se utilizan como puntos inicial y final de cada segmento. Cada uno de estos puntos está
especificado por sus componentes cartesianas de posición y orientación (x,y,z,α,β,γ).
34
3. Pasar cada uno de estos puntos a coordenadas articulares del robot, utilizando para ello la
transformación homogénea inversa.
4. Realizar la interpolación entre los puntos de las coordenadas articulares y obtener para cada
articulación una expresión del tipo qi(t) para cada segmento de control. Se observa que un
planificador consiste en obtener una función de trayectoria q(t) que se modifica en cada intervalo
de control.
Tipos de Trayectorias.
La mejora tecnológica ha permitido que los robots puedan realizar trayectorias cada vez más
complejas, al poder ser éstas calculadas previamente. A continuación se cita brevemente una
clasificación de tipos de trayectorias de robots comerciales clásicos.
• Trayectorias continuas. En este tipo de trayectorias se pretende que el camino seguido por el
extremo del robot sea conocido. Para ello las trayectorias articulares deben acomodarse
conjuntamente. Cada articulación por separado parece tener un movimiento desordenado, sin
embargo el resultado es que el extremo se mueve siguiendo el camino previsto.
De acuerdo con el esquema general, el paso siguiente es obtener las coordenadas articulares de
los puntos inicial y final, concretamente con la solución de la cinemática inversa. En el caso del
robot rotacional de 6 gdl se ha estudiado que la solución de la cinemática inversa puede ser
múltiple. Además debe tenerse en cuenta la posible existencia de singularidades en alguna de las
configuraciones del robot. En segundo lugar, debe hallarse un polinomio interpolador entre los
dos puntos nudos que cumpla con las especificaciones de los actuadores y que proporcione un
37
movimiento suave al robot. Como se ha visto anteriormente, este punto puede ser abordado bajo
varios enfoques y diferentes tipos de trayectorias.
Cada enfoque produce un resultado distinto pero igualmente válido dependiendo de los
requerimientos del usuario. Se puede pretender que el robot siga una determinada trayectoria en
línea recta o mover el manipulador a lo largo de una trayectoria polinomial uniforme que
satisface las ligaduras de posición y orientación en ambos puntos extremos. Se remite al lector a
la literatura específica en la cual encontrará varios ejemplos con distintos enfoques en los que se
utiliza desde interpoladores lineales simples hasta series de polinomios encadenados que
satisfacen todas las restricciones de la trayectoria. Se muestra a continuación un método para
obtener trayectorias de articulación interpoladas que ofrecen un resultado físicamente realizable.
Los perfiles de aceleración y velocidad obtenidos para cada articulación son realizables por
actuadores comerciales. La trayectoria obtenida es del tipo isocrona.
Las restricciones en los puntos de control que se utilizan para resolver el cálculo de los
polinomios interpoladores son las siguientes: ⇒ Posición inicial (t0) Posición θ(t0)
Velocidad inicial (normalmente nula) Aceleración inicial (normalmente nula) ⇒ Posición
intermedia (t1) Posición θ(t1) Continuidad en posición Continuidad en velocidad
Continuidad en aceleración ⇒ Posición intermedia (t2) Posición θ(t2) Continuidad en
posición Continuidad en velocidad Continuidad en aceleración ⇒ Posición final (t3)
Posición θ(t3) Velocidad final (normalmente nula) Aceleración final (normalmente nula)
Polinomios 4-3-4
Utilizando este tipo de polinomios interpoladores se tiene los siguientes tres segmentos de
trayectorias para cada articulación:
En primer lugar hay que considerar que al estar hallando las trayectorias articulares para las N
articulaciones del manipulador, es conveniente introducir una variable de tiempo normalizada
t∈[0,1], que permita simplificar los cálculos al evitar tener que contabilizar los desfases
temporales, de tal manera que t=0 corresponda al inicio de cualquiera de los tres segmentos en
que se ha dividido el camino y t=1 corresponda al final del segmento de trayectoria.
GEOMETRIA ESPACIAL
Existen dos métodos para representar geométricamente un robot, es decir, dos maneras de
representar las características físicas del robot en un sistema de coordenadas referenciado a cada
articulación. El más común y antiguo es el método de Denavit-Hartenberg (1955). Sin embargo,
debido a las limitaciones de dicho método frente estructuras robóticas más complejas, Khalil-
Kleinfinger (1986) desarrollaron un método más general. Dicho método también es utilizado en
los libros de Craig (1986) y Ollero (2001). Antes de utilizar este método se debe realizar la
colocación de los ejes x y z sobre las articulaciones del robot (el eje y no es importante).
La anterior figura muestra la arquitectura de un robot tipo PUMA de seis grados de libertad,
donde todas las articulaciones son rotoides. Obsérvese igualmente que las tres primeras
articulaciones corresponden a un portador antropomórfico mientras que las tres últimas
corresponden a una muñeca tipo rótula. La Figura 2.1 muestra el robot visto en tres dimensiones
y en dos, con el fin de facilitar su análisis. Nótese que intencionalmente en la figura de la derecha
se ha rotado la articulación número cinco, sin embargo esto no varía la tabla de parámetros
geométricos.
44