implementacion de control de´ fuerzas en … · tiempo resulta did´actico desde un punto de vista...

6
IMPLEMENTACI ´ ON DE CONTROL DE FUERZAS EN ROBOTS INDUSTRIALES: UN CASO A. F. Brumovsky, 1 V. M. Liste, 1 y M. Anigstein 2 Laboratorio de Rob´ otica-FIUBA, abrumov@fi.uba.ar, vliste@fi.uba.ar, manigst@fi.uba.ar Resumen: Para que la implementaci´ on de control de fuerzas en robots industriales pueda realizarse, es necesario que el controlador permita modificar trayectorias cartesianas en tiempo real. Los controladores de los robots industriales m´ as populares tienen esta capacidad desde hace aproximadamente veinte a˜ nos. Sin embargo, robots industriales de ´ ultima generaci´ on pueden no tenerla (aun cuando la declaren en sus manuales). El presente art´ ıculo analiza justamente un caso. Se describen prestaciones reales del controlador de un robot industrial, limitaciones resultantes de esas prestaciones y desarrollos realizados para lograr una soluci´ on alternativa que permita implementar de todas maneras un sistema de control de fuerzas en el robot. El trabajo puede ser ´ util para potenciales usuarios y al mismo tiempo resulta did´ actico desde un punto de vista te´ orico y general. Keywords: control de fuerza/torque, robots industriales, correcci´ on de trayectoria cartesiana en tiempo real. 1. INTRODUCCI ´ ON Los movimientos que realiza un robot industrial, resultan de la ejecuci´ on de un programa de usuario por el controlador del robot. El programa define la posici´ on y orientaci´ on de los puntos hacia los que el robot debe moverse y el tipo de trayec- toria a seguir. Este m´ etodo funciona muy bien para aplicaciones en que las trayectorias son to- talmente predecibles. Sin embargo, muchas aplica- ciones involucran cierto grado de incerteza en las posiciones/orientaciones y movimientos. En estas aplicaciones, pueden utilizarse entradas de sen- sores para proveer informaci´ on al robot de manera que pueda adaptarse a las condiciones cambiantes. Cuando la entrada de sensores se usa para modi- ficar movimientos del robot mientras ´ estos est´ an 1 Tesistas de grado en Ing. Electr´ onica FIUBA. 2 Proyecto UBACyT I003. efectivamente ejecut´ andose, el proceso se denomi- na “real-time path control”. Cuando este modo de control de trayectoria est´ a en operaci´ on, VAL- II (lenguaje de programaci´ on, sistema de control y sistema operativo de Westinghouse/Unimation) espera una instrucci´ on con una correcci´ on de las referencias que contiene 6 argumentos 3 componentes de desplazamiento < δx >, < δy >, < δz > 3 componentes de rotaci´ on < rx >, < ry >, < rz > y la ejecuta cada 28 mseg. pasando las correc- ciones al controlador del robot. Pueden ser referi- das a la terna mundo o herramienta y ser acumu- lativas o no. El robot no necesita estar movi´ endose realmente para responder a las correcciones. Los p´ arrafos anteriores fueron extra´ ıdos del Ma- nual de Programaci´ on del PUMA de Unimate Industrial Robots (1986), (Masagu´ e, 1996). Son

Upload: trinhdieu

Post on 02-Oct-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

IMPLEMENTACION DE CONTROL DEFUERZAS EN ROBOTS INDUSTRIALES: UN

CASO

A. F. Brumovsky, 1 V. M. Liste, 1 y M. Anigstein 2

Laboratorio de Robotica-FIUBA, [email protected],[email protected], [email protected]

Resumen: Para que la implementacion de control de fuerzas en robots industrialespueda realizarse, es necesario que el controlador permita modificar trayectoriascartesianas en tiempo real. Los controladores de los robots industriales maspopulares tienen esta capacidad desde hace aproximadamente veinte anos. Sinembargo, robots industriales de ultima generacion pueden no tenerla (aun cuandola declaren en sus manuales). El presente artıculo analiza justamente un caso. Sedescriben prestaciones reales del controlador de un robot industrial, limitacionesresultantes de esas prestaciones y desarrollos realizados para lograr una solucionalternativa que permita implementar de todas maneras un sistema de control defuerzas en el robot. El trabajo puede ser util para potenciales usuarios y al mismotiempo resulta didactico desde un punto de vista teorico y general.

Keywords: control de fuerza/torque, robots industriales, correccion de trayectoriacartesiana en tiempo real.

1. INTRODUCCION

Los movimientos que realiza un robot industrial,resultan de la ejecucion de un programa de usuariopor el controlador del robot. El programa definela posicion y orientacion de los puntos hacia losque el robot debe moverse y el tipo de trayec-toria a seguir. Este metodo funciona muy bienpara aplicaciones en que las trayectorias son to-talmente predecibles. Sin embargo, muchas aplica-ciones involucran cierto grado de incerteza en lasposiciones/orientaciones y movimientos. En estasaplicaciones, pueden utilizarse entradas de sen-sores para proveer informacion al robot de maneraque pueda adaptarse a las condiciones cambiantes.

Cuando la entrada de sensores se usa para modi-ficar movimientos del robot mientras estos estan

1 Tesistas de grado en Ing. Electronica FIUBA.2 Proyecto UBACyT I003.

efectivamente ejecutandose, el proceso se denomi-na “real-time path control”. Cuando este modode control de trayectoria esta en operacion, VAL-II (lenguaje de programacion, sistema de controly sistema operativo de Westinghouse/Unimation)espera una instruccion con una correccion de lasreferencias que contiene 6 argumentos

• 3 componentes de desplazamiento< δx >,< δy >,< δz >

• 3 componentes de rotacion< rx >, < ry >,< rz >

y la ejecuta cada 28 mseg. pasando las correc-ciones al controlador del robot. Pueden ser referi-das a la terna mundo o herramienta y ser acumu-lativas o no. El robot no necesita estar moviendoserealmente para responder a las correcciones.

Los parrafos anteriores fueron extraıdos del Ma-nual de Programacion del PUMA de UnimateIndustrial Robots (1986), (Masague, 1996). Son

igualmente validos, pero con una sola correccionen rotacion por ser de 4 ejes, para otro robotindustrial clasico, el AdeptOne SCARA (Adept,1984) que utiliza tambien VAL-II. El lenguajePDL2 de Comau SMART (1999) denomina a lacorreccion de trayectoria en tiempo real “sensortracking”, y el lenguaje RAPID de ABB la llama“contour tracking” y la incorpora en su modulode Movimientos Avanzados (2000). PDL2 permitecorrecciones relativas y absolutas en traslaciony orientacion, proyectadas en cualquier sistemade referencia (mundo, herramienta, usuario), cony sin movimiento programado. RAPID requiereexpresar las correcciones de tiempo real en “elsistema coordenado de la trayectoria”.

1.1 Objetivo del artıculo

En el presente trabajo se discuten aspectos crıticosdel controlador de un robot industrial, que definenla posibilidad de articular los resultados de lostrabajos de investigacion e implementar sistemasde control de fuerzas. Para hacerlo, se trata amodo de ejemplo el caso de un robot de ultimageneracion deficiente en este aspecto aun cuandodeclare la capacidad de correccion de trayectoriaen tiempo real en sus manuales. Pese a estudiarcomportamientos de un robot particular, la tareade analisis junto con la explicacion de los desa-rrollos realizados, resulta util desde un punto devista teorico y general.

En un artıculo anterior (Liste y Anigstein, 2004b)se presentaron resultados obtenidos con un sis-tema de control de fuerzas implementado sobreun robot industrial y utilizando las funcionesde correccion de trayectoria en tiempo real delmodulo de Movimientos Avanzados del robot. Lasaplicaciones mencionadas no incluıan tareas enque se controlaran torques. Tampoco movimien-tos en que la herramienta modificara su orien-tacion mientras se desplazaba. En este trabajose describen limitaciones de las funciones de co-rreccion de trayectoria del robot que no fueronmencionadas antes, y que justamente son las queimpiden realizar ese tipo de tareas. Frente al re-ducido rango de aplicacion resultante, se presentaentonces el desarrollo de un nuevo paquete desoftware para reemplazar las funciones de correc-cion de trayectoria (Movimientos Avanzados) delrobot. El nuevo software permite el abordaje detareas mas generales de control de fuerzas.

El trabajo se organiza como sigue. En el proximocapıtulo se hace una rapida descripcion del robotcon el sensor de fuerza/torque. Se explican las fun-ciones del controlador, disenadas por el fabricantepara la correccion de trayectorias en tiempo realy se senalan y discuten defectos y omisiones. Enel capıtulo 3 se describe la alternativa propuesta,

dirigida a lograr una solucion que permita incor-porar de todas maneras un sistema de control defuerzas general en el robot. En el capıtulo 4 sedescriben las nuevas funciones desarrolladas y semuestran aplicaciones.

2. ESQUEMA DEL CONTROL DE FUERZASANTERIOR

Se utiliza un robot industrial IRB 140 con con-trolador S4Cplus M2000/BaseWare OS 4.0 y unsensor de fuerza/torque de 6 direcciones marcaATI - modelo SI-65-5, ambos provistos por ABB.El sensor fue montado en la muneca del robot yconectado al controlador del mismo a traves deuna interfaz analogica (Fig. 1).

Fig. 1. Esquema de control

Se desarrollo un programa en RAPID consistenteen una serie de procesos que pueden ser accedidosvia Ethernet desde Matlab mediante un proto-colo RPC/RAP (Roaux et al., 2003) que permiteconectarse con el controlador del robot en tiemporeal. Se creo ademas un toolbox en Matlab (Listey Anigstein, 2004a) con un conjunto de funcionesprimitivas a partir de las cuales pueden generarsefunciones de complejidad creciente.

El controlador de ABB, como en general todos loscontroladores industriales, esta basado en controlde posicion y no permite acceder a los torques decontrol. En consecuencia, la estrategia de controlque se implemento, crea una estructura de controlde fuerzas alrededor del lazo de control de posiciony se asemeja al control de rigidez de Salisbury(1980). Utiliza una matriz de acomodamiento,G = diag[g1, . . . , g6], para transformar el errorde fuerza/torque

(F− Fd

), en un vector δX d que

corrige las referencias

δX d = G(F− Fd

); F =

[f t Mt

]t (1)

2.1 Modulo de Movimientos Avanzados

El controlador posee un modulo de MovimientosAvanzados ofrecido por el proveedor para imple-mentaciones con sensores, que permite realizar

correcciones sobre la trayectoria cartesiana que seesta ejecutando a traves de las funciones CorrCony CorrWrite y mediante la ejecucion de una in-terrupcion cıclica cuya frecuencia maxima es de4 Hz. La terna de correcciones queda definidapor la terna herramienta (tool) y la direccion demovimiento (Fig. 2).

• xcorr es tangente a la trayectoria• ycorr = xcorr × ztool

• zcorr = xcorr × ycorr

Fig. 2. Terna del generador de correcciones

2.2 Limitaciones

Las limitaciones causadas por la baja frecuenciade correcciones permitida, ya fueron tratadas enun trabajo reciente (Liste y Anigstein, 2006).

Se describen a continuacion dificultades asociadasa la particular forma de definir la terna: (i) laterna para realizar las correcciones es unica, de-pende de la trayectoria y no puede ser elegidapor el usuario; (ii) cambia al cambiar el sentidodel movimiento; (iii) la direccion z de la herra-mienta no puede coincidir con la direccion delmovimiento. Entonces, los movimientos de apro-ximacion a un punto objetivo no pueden hacer-se como es usual en la direccion z de la he-rramienta, y la terna de correcciones no puedeser en general la terna de acomodamiento (com-ply), necesaria para tareas con control de fuerzas(Mason, 1981), (Craig, 1986), (De Schutter andVan Brussel, 1988). Sin embargo, estas limita-ciones pudieron resolverse en los trabajos que semencionaron antes, a costa de hacer mas pesadoy menos transparente el codigo de los programasdesarrollados. Pero existe otra consecuencia de ladefinicion de la terna que no tiene solucion: nose pueden hacer correcciones con las funcionesCorrCon y CorrWrite si no hay trayectoria. Porejemplo, no se pueden controlar fuerzas con laherramienta en una posicion fija.

2.2.1. Limitaciones fundamentales. A estos in-convenientes se suman otras deficiencias funda-mentales que no figuran en los manuales del robot,que no se mencionaron en los trabajos anteriores yque decidieron la busqueda de una solucion alter-nativa. Con las funciones CorrCon y CorrWrite:(i) se pueden realizar correcciones a la trayectoria

solo en dos direcciones de traslacion; (ii) no sepuede corregir la orientacion. Es decir, puedencorregirse solo dos de los seis grados de libertad(g.d.l.).

3. SOLUCION PROPUESTA

La solucion alternativa a disenar debe permi-tir: (1) realizar correcciones en los seis g.d.l.,(2) definir la terna de correcciones en forma ar-bitraria y por lo tanto coincidente con la ternacomply adecuada para cada tarea con controlde fuerzas. En la figura 3 se muestra: (i) un

Fig. 3. Movimiento lineal segmentado

movimiento lineal entre dos puntos A y B, y (ii) elmismo movimiento segmentado o dividido en unasucesion de movimientos lineales. El primero es elcaso del generador de correcciones clasico de loscontroladores, que realiza las correcciones duranteel movimiento AB. El segundo corresponde a lasolucion adoptada, donde la trayectoria AB es seg-mentada en una sucesion de movimientos linealesen los que cada punto destino es programado comopunto de paso. Cada punto de paso es corregido entraslacion y orientacion en respuesta a las senalesde fuerza y torque sensadas.

Una desventaja del nuevo metodo es que la fre-cuencia de correcciones debio bajarse a 2 Hz paraque el robot pueda efectivamente seguir los suce-sivos puntos de paso.

3.1 Transformacion de las correcciones

Cada tarea particular con control de fuerzas tieneuna terna comply que resulta conveniente, y quese elige siguiendo la metodologıa usual (ver biblio-grafıa en la sec. 2.2). En el software desarrollado,las ternas de sensado y tool se hacen coincidircon la terna comply elegida. Las correcciones ala trayectoria que se expresan en la terna com-ply, sirven entonces directamente para corregirlos puntos de paso. Luego, esas correcciones sontransformadas a la terna de referencia de la tareay acumuladas en la misma (Paul, 1981).

3.2 Calculo de correcciones

Para distribuir la carga de computo, a Matlab sele asigno: (i) el calculo del vector fuerza/torque,

a partir de la lectura de los valores sensados ycomparacion con los deseados; (ii) el calculo de lascorrecciones en la trayectoria utilizando la matrizde acomodamiento (Ec. 1); (iii) la transformaciony acumulacion de correcciones en la terna dereferencia. Estas correcciones son comunicadasa traves de RPC/RAP al programa en RAPIDque se encuentra ejecutando los segmentos dela trayectoria original. Con esta informacion semodifica la terna de referencia y en consecuencialas coordenadas del punto de paso siguiente.

4. NUEVAS FUNCIONES DESARROLLADASY APLICACIONES

4.1 Movimiento lineal con correcciones

Una funcion basica de las tareas con control defuerzas es el movimiento lineal con objetivos enposicion y fuerzas, y condiciones de terminacion.Es invocada por Matlab como CF moveL(parametros);(parametros):(controlar,objetivo,terminacion,delta f,v move).Los tres primeros son arreglos de 6 elementosasociados a los 6 g.d.l. controlar: 1, si en la di-reccion se controla fuerza/torque; 0, si se controlatraslacion/rotacion. objetivo: la referencia para elcontrol. terminacion: la condicion de terminacionen la direccion (0, si no hay condicion). Los dosultimos son escalares.delta f: maxima variacion defuerzas permitida. Se utiliza para ajustar la ve-locidad del movimiento. v move: [optativo] permiteingresar la velocidad deseada para el movimiento(tiene prioridad sobre la calculada con delta f).

4.1.1. Un primer ejemplo de aplicacion. Latarea consiste en buscar una superficie cuyaposicion y orientacion se conoce con incerteza,luego buscar un agujero sobre la superficie mien-tras se identifica su direccion normal, reorientarla herramienta (perno) e insertarla en el agujero.Como la reorientacion no se realiza dentro de losmovimientos, no se controlan torques y se utilizancorrecciones de traslacion solo en dos direcciones,la tarea podrıa ser realizada tambien con el es-quema de control de fuerzas anterior.

Fig. 4. Insercion con identificacion de normal.

En la figura 4, la imagen izquierda muestra alrobot al iniciar la tarea y en las 4 imagenes de

la derecha puede observarse:(a) el final de las primeras dos subtareas: (1)

CF moverL stop on force(offset, F test). offset es el des-plazamiento de busqueda de la superficie en mm.en la direccion del eje del perno. F test es lafuerza umbral para la detencion por choque ydefine la velocidad de avance; (2) [k est,dir normal]

= CF identificar normal(). k est es la constante elasticadel sistema (10 Kgf/mm en el ejemplo) que seutiliza para definir la ganancia del lazo de fuerzapara los movimientos que siguen (Liste y Anig-stein, 2004b). dir normal a la superficie (estimadacon error de 2.5◦ en el ejemplo, ver Fig. 5). Seutiliza para definir la terna comply que se ubicaen el extremo del perno con zcomply ‖ dir normal.

(b) un patron de busqueda, CF buscar agujero(), quecontiene una serie de CF moveL(parametros) conparametros expresados en la terna comply, de laforma: controlar = [0 0 1 0 0 0] control de fuerza soloen z; objetivo = [20 0 -1 0 0 0] desplazamiento de 20mm. en x controlando 1 Kgf en -z y manteniendoconstante la orientacion; terminacion = [0 0 4 0 0 0]

agujero encontrado cuando delta en z supera4 mm (siempre magnitud de naturaleza contrariaa la controlada). Ademas, en cada movimiento li-neal del patron, utilizando los datos de correccionse obtiene una mejor identificacion de la normal.La figura 5 muestra los resultados de la busquedapara una fd

z = -1 Kgf y ganancia gz = 1/k est

= 0.1 mm/Kgf. En el grafico superior se indicala fuerza real aplicada en la direccion z, y sobre lafinalizacion de cada tramo del patron de busquedase indica el error entre la normal identificada endicho tramo y un valor de referencia obtenido apartir de la medicion de tres puntos de la superfi-cie. Puede verse la evolucion del error a partir delos 2.5◦ obtenidos con CF identificar normal(). En elgrafico inferior se indica la correccion acumuladaen z durante la busqueda. Notese el incrementobrusco, condicion de terminacion, al detectar elagujero (tambien la caıda en fz).

Fig. 5. Fuerza y correcciones en la busqueda.

(c) encontrado el agujero se reorienta el perno.

(d) tarea de insercion ejecutandose, con CF moveL

(parametros) y parametros: controlar = [1 1 0 0 0 0] controlde fuerza en x e y; objetivo = [0 0 100 0 0 0] desplaza-miento de 100 mm. en z controlando 0 Kgf en x,y

y manteniendo constante la orientacion; terminacion

= [0 0 -4 0 0 0] fondo encontrado cuando la fuerzaen -z supera 4 Kgf.

4.2 Movimiento con reorientacion

En los movimientos lineales sin cambio de orien-tacion, las mediciones con el sensor de fuerzasse realizan fuera de las zonas de aceleracionpara evitar que los efectos dinamicos se sumena las fuerzas de contacto. Pero cuando hay re-orientacion durante el movimiento esto no es su-ficiente. Inevitablemente, las mediciones del sen-sor incluiran, ademas de las fuerzas de contacto,los esfuerzos estaticos provocados por el cambiode orientacion de la herramienta. Es necesarioentonces realizar una identificacion previa de lamasa y del momento de primer orden de la herra-mienta (Atkeson et al., 1986).

Se desarrollo un procedimiento que aprovecha elmismo sensor de fuerzas y utiliza tres orienta-ciones distintas de la herramienta ((a),(b),(c) enla figura 6). La funcion CF estimar parametros tool()

devuelve ademas del peso y centro de gravedaden la terna comply, la direccion de la gravedad enla terna mundo. Los parametros dinamicos iden-

Fig. 6. Identificacion de la bola patın.

tificados son utilizados en cada punto de sensadopara restar de las mediciones los valores debidosal cambio de orientacion.

4.2.1. Ejemplo: insercion con cambio de orienta-cion y control de torque. En esta tarea no seidentifica previamente la normal a la superficie.En cambio, se utiliza el torque provocado por elcontacto con el agujero durante la insercion, paracorregir la orientacion del perno. Debe emplearseel nuevo esquema de control de fuerzas, incluyendola compensacion del peso de la herramienta.

La herramienta perno se identifica antes de iniciarla tarea. Luego, se define la terna comply en la

Fig. 7. Insercion por control de torque.

punta del perno, con z orientada como el ejedel mismo. Ahora, la funcion CF moveL(parametros)

tiene los parametros: controlar = [1 1 0 1 1 0] control defuerza y torque en x e y; objetivo = [0 0 100 0 0 0]

desplazamiento de 100 mm. en z controlando0 Kgf y 0 Nm en x,y; terminacion = [0 0 -4 0 0 0]

fondo encontrado cuando la fuerza en -z supera4 Kgf; v move = [0.2] velocidad de insercion de0.2 mm/seg. La figura 7 muestra tres instantes,(a),(b),(c) de la tarea realizada. En la figura 8, seobserva como el perno orientado inicialmente conun error de 10o, comienza a reorientarse debido altorque y deja de hacerlo cuando este se anula. Sinperdida de generalidad y para ganar claridad enla interpretacion de los resultados, los ejes x, y dela terna comply se eligieron en este y el siguienteejemplo, de tal manera que la reorientacion ocurraalrededor de uno de ellos.

Fig. 8. Momento y reorientacion en insercion.

4.2.2. Ejemplo: seguimiento del contorno de unasuperficie. Debe realizarse el seguimiento deuna superficie de forma desconocida, manteniendosiempre la herramienta normal a la misma. Seutiliza como herramienta una pieza cilındrica conuna bola patın en el extremo.

Se ubica la terna comply en el centro de labola y con z orientada como el eje del cilindro.La herramienta se identifica como se indica enla sec. 4.2 ya que es preciso compensarla du-rante la tarea. Se utiliza una funcion similar almovimiento lineal con control de fuerzas, perodesafectando el control de orientacion de la matrizde acomodamiento (Ec. 1), porque el contacto noprovoca torque en la terna comply. En cambio,se utiliza la fuerza sensada, f , normalizada, paraestimar la direccion normal: dir normal = -f/‖f‖.El calculo incluye un desestimador de datos conun umbral del 40% sobre el modulo de la fuerzadeseada, fd, en el contacto. Los parametros de lafuncion CF moverL superficie(parametros) son: controlar

= [0 0 1 0 0 0] control de fuerza en z y orientacionno utilizada; objetivo = [0 160 -2 0 0 0] desplazamientode 160 mm. en y controlando fd = 2 Kgf en −z;terminacion = [0 0 0 0 0 0] sin condicion (termina alcumplir el desplazamiento); v move = [0.5] velocidadde desplazamiento 0.5 mm/seg. En la figura 9

Fig. 9. Seguimiento de contorno.

Fig. 10. Fuerza y reorientacion.

se ven cuatro imagenes, (a),(b),(c),(d) del robotdurante la tarea. En la figura 10, el grafico su-perior muestra la fuerza de contacto durante elseguimiento (la herramienta nunca se separa de lasuperficie) y el inferior permite ver la evolucion enla reorientacion de la herramienta.

5. CONCLUSIONES

Se analizo la capacidad de corregir trayectoriascartesianas en tiempo real, necesaria para imple-mentar sistemas de control de fuerzas en los robotsindustriales. Se trato el caso de un robot de ultimageneracion que tiene funciones especialmente ofre-cidas por el fabricante con este objetivo. Se expli-caron las limitaciones de esas funciones, que hacendepender de la trayectoria la terna de correccionese impiden controlar: (i) torque, (ii) orientacion,(iii) fuerza si el robot no esta en movimiento.

Se propuso un nuevo esquema para la correccionde trayectorias cartesianas que permite superarlas limitaciones apuntadas y abordar problemasgenerales de control de fuerzas. Se describio elnuevo software desarrollado y se mostraron algu-nas aplicaciones tıpicas: (i) busqueda e insercionde un perno en un agujero, sin y con control detorque/orientacion; (ii) seguimiento de una su-perficie con la herramienta siempre normal a lamisma.

De todas maneras, la solucion desarrollada noresuelve el problema de la muy baja frecuenciade correcciones permitida por el controlador del

robot. En estas condiciones, las bajas velocidadesde desplazamiento logrables en las tareas de con-trol de fuerzas resultarıan ineficientes en un am-biente fabril. Serıa necesaria una frecuencia decorrecciones por lo menos diez veces superior ala disponible.

REFERENCIAS

ABB, Flexible Automation (2000). Advanced Mo-tion, Product Specification RobotWare forBaseWare OS. 4.0 ed. Vasteras, Sweden.

Adept (1984). The AdeptOne Controller. AdeptTechnology, Inc. Sunnyvale, California.

Atkeson, C.G., C.H. An and J.M. Hollerbach(1986). Estimation of inertial parameters ofmanipulator loads and links. Int J Robot Res5(3), 101–119.

Comau (1999). Robot SMART S2, Guıa de Uti-lizacion. version 4.0x ed.. Industrial Robots.Turin, Italia.

Craig, J. J. (1986). Introduction to Robotics, Me-chanics & Control. Addison-Wesley, Mass.

De Schutter, J. and H. Van Brussel (1988). Com-pliant robot motion I. A formalism for speci-fying compliant motion tasks. Int J Robot Res7(4), 3–17.

Liste, V. y M. Anigstein (2004a). Control defuerzas en robots, un toolbox en Matlab. XIXCongr Arg Contr Automat. ID41. AADECA.Buenos Aires.

Liste, V. y M. Anigstein (2004b). Sobre controlde fuerza/torque. III Jornadas Argentinas deRobotica. JAR0427. San Juan.

Liste, V. y M. Anigstein (2006). Sobre control defuerzas en robots, rigidez del sistema y fre-cuencia de correcciones. XX Congr Arg ContrAutomat. ID47. AADECA. Buenos Aires.

Masague, G. (1996). Estudio de la automatizacionde una tarea utilizando un robot PUMA 500.Tesina de Graduacion, FIUBA - Avietsa SA.

Mason, M. T. (1981). Compliance and force con-trol for computer controlled manipulators.IEEE Trans Syst Man Cybern 6, 418–432.

Paul, R. P. (1981). Robot Manipulators: Mathe-matics, Programming and Control. The MITPress, Cambridge, Mass.

Roaux, M., P. Ilardi and M. D’Ascanio (2003).Desarrollo de interfaz Matlab/RAP para elcontrolador de ABB M2000. Trab. Final deTaller de Prog. III y Robotica, FIUBA.

Salisbury, J. K. (1980). Active stiffness control ofa manipulator in cartesian coordinates. In:19th IEEE Conf Decision Cont. Albuquerque,Nueva Mexico.

Unimate (1986). Programming Manual, User’sGuide to VAL II. version 2.0 ed.. IndustrialRobots. Danbury, Connecticut.