5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 1/13
Pontificia Universidad Católica de Chile
Departamento de Ingeniería Eléctrica
IEE 2682 LABORATORIO DE CONTROL AUTOMATICO
APUNTES EXPERIENCIA CONTROL DE SISTEMA ROBOTICO
1. INTRODUCCIÓN
Robotics Toolbox es un módulo de Matlab que posee herramientas para la construcción de modelos cinemáticos y
dinámicos de sistemas robóticos, así como herramientas para su simulación tanto en lazo abierto como en lazo cerrado.
Scorbot ER VII es un robot comercializado por la empresa Eshed Robotec Ltda que se utiliza para fines académicos, en
docencia, investigación y desarrollo. Consta de una unidad de hardware (el brazo robótico, sus periféricos y la unidad de
control) y de una unidad de software, que incluye, entre otros, programas de control, simulación y de emulación de terminal
para acceder al lenguaje interno de programación del controlador.
En estos apuntes se presenta primeramente una breve reseña acerca de la representación de sistemas robóticos en notación
de Denavit y Hartenberg, así como de su modelación empleando de las ecuaciones de movimiento de Lagrange. Luego se
describen algunas de las funciones que ofrece el Robotics Toolbox y por último se realiza una descripción detallada acerca
del robot Scorbot ER VII.
2. FUNDAMENTOS MATEMÁTICOS
Denavit-Hartenberg
Algoritmo de Denavit-Hartenberg para la obtención del modelo cinemático directo (A. Barrientos, Fundamentos de
Robótica).
D-H 1. Numerar los eslabones de 1 a n. Se enumera como eslabón 0 a la base fija de la cadena.
D-H 2. Numerar cada articulación de 1 a n.
D-H 3. Localizar el eje de cada articulación. Si esta es rotativa, el eje será su propio eje de giro. Si es prismática, será el
eje a lo largo del cual se produce el desplazamiento.
D-H 4. Para i de 0 a n-1 situar el eje i Z sobre el eje de la articulación i+1.
D-H 5. Situar el origen del sistema de la base { 0S } en cualquier punto del eje 0 Z . Los ejes 0 X e 0Y se situarán de
modo que formen un sistema dextrógiro con 0 Z .
D-H 6. Para i de 1 a n-1, situar el sistema {S i} (solidario al eslabón i) en la intersección del eje i Z con la línea normal
común 1i Z - y i Z Si ambos ejes se cortasen (Si) se sitúa en el punto de corte. Si fuesen paralelos { iS } se sitúa en la
articulación x+1
D-H 7. Situar Xi en la línea normal común a Zi-1 y Zi
D-H 8. Situar Yi de modo que forme un sistema dextrógiro con X i y Zi
D-H 9. Situar el sistema { nS } en el extremo del robot de modo que Zn coincida con la dirección de Zn-1 y Xn sea
normal a Zn-1 y Zn.
D-H 10. Obtener θi como el ángulo que habría que girar en torno a Zi-1 para que Xi-1 y Xi-1 queden paralelos.
D-H 11. Obtener di como la distancia, medida a lo largo de Z i-1, que habría que desplazar {Si-1} para que Xi y Xi-1
quedasen alineados.
D-H 12. Obtener ai como la distancia medida a lo largo de X i que habría que desplazar el nuevo {Si-1} para que su origen
coincidiese con {Si}.
D-H 13. Obtener αi como el ángulo que habría que girar en torno a Xi para que el nuevo {Si-1} coincidiese totalmente con
S i-1.
D-H 14. Obtener las matrices de transformación i-1Ai.
D-H 15. Obtener la matriz de transformación que relaciona el sistema de la base con el extremo del robot
T =0
A1 1
A2 2
A3 .....n-1
An
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 2/13
2
Ecuaciones del movimiento de Lagrange
Las ecuaciones dinámicas de un robot pueden obtenerse a partir de las ecuaciones del movimiento de Newton. La
desventaja que presenta este método es que el análisis se complica exponencialmente a medida que aumenta el número de
articulaciones del robot. En estos casos resulta muy conveniente emplear las ecuaciones del movimiento formuladas por
Lagrange en 1788.
Las ecuaciones del movimiento de Lagrange para un manipulador de n grados de libertad están dadas por:
' i
i i
d L L
dt q q
∂ ∂ τ
∂ ∂
⎛ ⎞− =⎜ ⎟
⎝ ⎠ i = 1....n
donde τi son las fuerzas y torques actuantes en cada articulación, qi son los grados de libertad del sistema, qi’ es la derivada
temporal de qi y L es el Lagrangiano calculado como la diferencia entre la energía cinética y la energía potencial delsistema. Nótese que se tendrán tantas ecuaciones escalares dinámicas como grados de libertad tenga el robot manipulador.
El uso de las ecuaciones de Lagrange para la modelación dinámica de sistemas robóticos incluye cuatro etapas
fundamentales: Cálculo de la energía cinética K; Cálculo de la energía potencial U; Cálculo del Lagrangiano L=K – U;
Desarrollo de las ecuaciones de Lagrange.
3. ROBOTICS TOOLBOX
Para un manipulador de n-ejes, los siguientes son los nombres y dimensiones utilizados por convención en Robotics
Toolbox.
Simbolo
Dimensión
Descripción
dh n x 5 Matriz cinemática (Denavit-Hartenberg).
dyn n x 20 Matriz cinemática y dinámica.
q 1 x n Vector de coordenadas angulares.
q m x n Trayectoria de coordenadas angulares de m-puntos.
qd 1 x n Vector de velocidades angulares.
qd m x n Trayectoria de velocidades angulares de m-puntos.
qdd 1 x n Vector de aceleraciones angulares.
qdd m x n Trayectoria de aceleraciones angulares de m-puntos .
T 4 x 4 Transformación homogénea.
T m x 16 Trayectoria de transformación homogénea de m puntos.v 3 x 1 Vector cartesiano.
t m x 1 Vector de tiempo.
d 6 x 1 Vector de movimiento diferencial.
A continuación se presenta un resumen de la mayoría de los comandos del Robotics Toolbox, ordenados según el área.
Transformación Homogéneaeul2tr De ángulos de Euler a matriz homogénea.
oa2tr De vector de orientación y proximidad a matriz homogénea.
rotx Matriz de transformación homogénea de una rotación en el eje X.
roty Matriz de transformación homogénea de una rotación en el eje Y.
rotz Matriz de transformación homogénea de una rotación en el eje Z.
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 3/13
3
rpy2tr De Roll/Pitch/Yaw ángulos a matriz homogénea.
tr2eul De transformación homogénea a ángulos de Euler.
tr2rpy De transformación homogénea a roll/pitch/yaw
Cinemática
dh Matriz de convención de Denavit-Hartenberg.
diff2tr De vector de movimiento diferencial a matriz homogénea.
fkine Calcula la cinemática directa.
ikine Calcula la cinemática inversa.
ikine56
0
Calcula la cinemática inversa para el robot Puma560.
jacob0 Calcula el Jacobiano con respecto a las coordenadas de la base.
jacobn Calcula el Jacobiano con respecto a las coordenadas finales.
linktran
s
Calcula la transformación homogénea a partir de los eslabones.
mdh Matriz de convención de Denavit-Hartenberg (modificada).
mfkine Calcula la cinemática directa (modificada).
mlinktr
ans
Calcula la transformación homogénea a partir de los eslabones (modificada).
tr2diff De matriz homogénea a vector diferencial.
tr2jac De matriz homogénea a Jacobiano.
Dinámica
accel Calcula la dinámica directa.
cinertia Calcula la matriz de inercia en coordenadas cartesianas.
coriolis Calcula el torque de coriolis.
dyn Matriz de convención cinemática y dinámica.
friction Fricción angular.gravloa
d
Calcula la matriz de gravedad.
inertia Calcula la matriz de inercia del manipulador.
itorque Calcula el torque de inercia.
mdyn Matriz de convención cinemática y dinámica (modificada).
mrne Dinámica inversa (modificada).
rne Dinámica inversa.
Generación de Trayectoriasctraj Trayectoria cartesiana.
drivepa
r
Parámetros de trayectoria cartesiana.
jtraj Trayectoria en coordenadas angulares.
trinterp Interpolación de transformaciones homogéneas.
ttg Extrae la transformación homogénea desde la matriz de trayectoria cartesiana.
Gráficos plotbot Animación del robot.
Otros cross Producto cruz.
manipb
lty
Calcula la manipulabilidad.
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 4/13
4
rtdemo Demostración del Toolbox.
unit Convierte el vector en unitario.
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 5/13
5
4. DESCRIPCIÓN DEL BRAZO ROBÓTICO SCORBOT ER VII
Hardware
La figura 1 presenta el robot Scorbot ER VII. El hardware del sistema se compone esencialmente del brazo robótico, sus
periféricos y la unidad de control. Adicionalmente se utiliza un PC como terminal de programación (Figura 2).
Figura 1.
Figura 2.
Brazo robótico
Según se muestra en la Figura 3, Scorbot ER VII es un robot articulado vertical de 5 ejes: base, hombro, codo y muñeca
(“pitch” y “roll”). En cada uno de los ejes, el robot posee un sensor de posición, un motor eléctrico y un reductor de
velocidad. El sensor es un codificador óptico incremental que mide el ángulo del eje con respecto a una posición de
referencia. El controlador procesa la información proveniente de cada uno de los sensores y determina el torque que se
aplica a los servo-motores DC. Como los motores giran a una velocidad muy superior a la velocidad requerida por el robot,
es necesario utilizar un sistema de reducción de velocidad. Esto se logra mediante un sistema de transmisión armónica que
dota al robot de precisión y confiabilidad.
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 6/13
6
Figura 3.
El extremo del brazo está equipado con una mordaza general que puede ser eléctrica o neumática. La mordaza es
esencialmente una ``mano'' con dos ``dedos'' que se mueven en forma paralela para atrapar objetos. Adicionalmente pueden
conectarse otros elementos de actuación accionados en forma neumática, como por ejemplo, generadores de vacío, tubos de
Venturi, etc.
Los ángulos máximos de rotación para cada uno de los ejes se indican en la Tabla 1. El robot posee una repetibilidad de 0.2
mm, un radio de operación de 850 mm (690 mm sin mordaza) y alcanza velocidades de hasta 1 [m/seg]. Su peso es de 30
[kg] y soporta cargas de hasta 2 [kg], incluyendo la mordaza. La temperatura del ambiente de trabajo debe estar entre 2 y 40
ºC.
Tabla 1.
Rotación de la base 250º
Rotación del hombro 170º
Rotación del codo 225º
Pitch de la muñeca 180º
Roll de la muñeca 360º
Parámetros Físicos del Scorbot ER VII (Unidades SI)
Largos de Miembros (metros)
l
1
0.3585
l
2
0.3
l
3
0.25
l
4
0.091
l
5
0.16
Masa de los Miembros (Kg.)
m
1
13.13
m
2
12.1
m
3
3.25
m 0.34
4
m
5
1.18
Centros de Gravedad (metros)
c
g1
[0 0 0]
c
g
2
[-.18 0
0]
c
g
3
[-.125 0
0]
c
g
4
[0 0 -
0.0455]
c
g
5
[0 0 -
0.08]
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 7/13
7
Momentos de Inercia
i
1
[0 0 0.075 0 0 0]
i
2
[0 0.1 0.1 0 0 0]
i
3
[0 0.02 0.02 0 0 0]
i
4
[0 0.002 0.002 0 0 0]
i
5
[0 0 0.0002 0 0 0]
Razón del Engranaje de Reducción (Velocidad de
Articulación/Velocidad de Miembro)G
G
1
2.5
G
2
2.5
G
3
4
G4
0.5
G
5
1
Inercias de Armadura Jm (despreciables)
Roce Viscoso B (despreciables)
Roce de Coulomb Tc+, Tc-, de rotación + y -,
respectivamente, referidos
al motor de la articulación (despreciables)
Unidad de control
El sistema Scorbot utiliza un controlador independiente, multitarea y en tiempo real, basado en la familia Motorola 68.000.
Dicho controlador permite el funcionamiento simultáneo e independiente de varios programas, la agrupación de ejes para el
control de elementos múltiples y la edición de programas mientras otros están funcionando. El controlador básico está
configurado con ocho ejes de control (ampliables a 11), una memoria RAM de usuario de 128 Kb protegida por batería, una
EPROM de 384 Kb, 16 entradas y 16 salidas. El control es realizado por 4 tarjetas. Las tres primeras manejan los 5 ejes del
brazo, más la mordaza. La cuarta maneja la base deslizante y algún accesorio adicional (la mesa rotatoria o la cinta
transportadora).
La unidad de control incorpora además un sistema de protecciones por hardware o software. Las protecciones por hardware
incluyen límites máximos de corriente y operación automática de fusibles para cada uno de los ejes. Las protecciones por
software incluyen protecciones contra impacto, protecciones térmicas y límites máximos de movimiento para cada uno delos ejes.
La unidad de control posee 250 parámetros de control accesibles por el usuario. Entre estos parámetros se incluyen:
• Constantes proporcionales, diferenciales e integrales en cada uno de los 11 ejes.
• Protecciones térmicas y contra impacto.
• Factores de cálculo cinemáticos.
• Límites máximos de velocidad y de rotación de los ejes.
• Límites máximos de velocidad.
Figura 5: Unidad de Control Scorbot ER VII
Sistema de control
El sistema de control del Scorbot ER VII puede resumirse esquemáticamente en el diagrama de bloques de la figura 6. En
este esquema, se distinguen dos funciones principales: la planificación de trayectorias y el control de las articulaciones,
observándose que existe un lazo de control para cada articulación.
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 8/13
8
Figura 6: Esquema Control Scorbot ER VII
Planificación de trayectorias
El usuario puede definir una trayectoria de 4 formas:
• Definiendo una posición y moviendo el robot a esa posición.
• Definiendo dos posiciones y ejecutando un movimiento lineal entre ambas.
• Definiendo tres posiciones y ejecutando un movimiento circular entre ellas.
• Definiendo un vector de n posiciones y ejecutando un movimiento continuo entre ellas.
En el último caso, y con el objeto de evitar sobreoscilaciones, se definen patrones de aceleración y desaceleración al inicio
y fin del movimiento, respectivamente. Pueden utilizarse patrones de velocidad trapezoidales o parabólicos según se
observa en la Figura 7.
Figura 7
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 9/13
9
Una vez que el usuario ha definido la trayectoria y el patrón de velocidad, la unidad de control descrita en la sección
anterior se encarga de ejecutar la trayectoria, realizando las siguientes tareas:
• Conversión de las coordenadas cartesianas a coordenadas robóticas o articulares, para lo cual se resuelven las
ecuaciones cinemáticas del robot.• Cálculo del torque que se aplica a cada uno de los motores, para lo cual se resuelven las ecuaciones dinámicas del robot
en tiempo real.
• Control de la posición y velocidad de cada una de las articulaciones.
Control de cada articulación
El Scorbot ER VII incorpora un sistema de control del tipo PID que controla tanto la posición como la velocidad de cada
uno de los ejes. Las mediciones de posición se realizan mediante un sensor óptico incremental, el cual transmite pulsos
eléctricos a cierta frecuencia. El número de pulsos es proporcional a la posición, mientras que la frecuencia es proporcional
a la velocidad.
La Figura 8 muestra el diagrama de bloques del esquema de control de una articulación. A continuación se describen lastareas realizadas por cada una de las componentes del diagrama:
• El controlador calcula la posición y velocidad requeridas cada 10 [ms]. Su salida es una variable digital en el rango
±5000 [mV].
• El conversor digital análogo transforma esta señal digital en un voltaje análogo en el rango ±5 [V].
• La unidad análoga genera una señal a 20 [KHz], cuyo ciclo de trabajo (“duty cycle”) controla la velocidad del motor.
Un 100% de “duty cycle'' corresponde a velocidad máxima en el sentido positivo, un 50% a velocidad cero y un 0% a
velocidad máxima sentido negativo.
• La unidad de poder maneja el motor conmutando su alimentación entre 24 [VDC] a 20 [KHz], de acuerdo al “duty
cycle” especificado por la unidad análoga. De este modo se controla el voltaje de alimentación del motor DC y
consecuentemente su velocidad.
• El controlador lee el codificador y calcula la posición y velocidad del motor cada 10 [ms]. En seguida compara estosvalores con los de referencia y toma las acciones necesarias para anular el error.
Figura 8.
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 10/13
10
Software
ACL
El controlador incluye un Lenguaje de Control Avanzado (ACL) que permite la programación estructurada de complejas
tareas y aplicaciones mediante el uso de variables, algoritmos matemáticos y funciones. ACL es un ambiente de
programación multitarea y en tiempo real con mecanismos de comunicación entre tareas y con un sistema de prioridades
que controla todos los procesos. Entre las potencialidades de ACL destacan:
• Definición de posiciones en coordenadas robóticas y cartesianas.
• Control del movimiento entre posiciones en forma lineal o circular.
• Control de posición y movimiento de los equipos accesorios.
• Planificación de trayectorias continuas especificando el patrón de velocidad.
• Manejo de entradas y salidas digitales del controlador.
• Programación multitarea y en tiempo real.
Scorbase
Scorbase es un ambiente de programación orientado a menús, más fácil de usar que ACL, pero menos versátil. Entre sus
potencialidades destacan:
• Definición de posiciones en coordenadas robóticas y cartesianas.
• Control del movimiento entre posiciones en forma lineal o circular.
• Control de posición y movimiento de los equipos accesorios.
• Planificación de trayectorias continuas especificando el patrón de velocidad.
• Manejo de entradas y salidas digitales del controlador.
• Simulación fuera de línea de la ejecución de los programas.
Es importante señalar que una de las desventajas, tanto de ACL como de Scorbase, es que los programas se graban en la
unidad de control en un formato especial que no es accesible por un editor “ASCII” convencional. Lo anterior obliga autilizar el editor de ATS que es muy deficiente. Ante esto Eshed Robotec desarrolló un software de programación fuera de
línea, ACL off-line, el cual utiliza un editor de texto convencional. Sin embargo, la programación fuera de línea requiere
del traslado de los programas desde el computador a la unidad de control, lo cual demora aproximadamente 5 [seg] por
línea de código.
ATS
El Software de Terminal Avanzado (ATS) es un programa de emulación de terminal para acceder al lenguaje interno de
programación del controlador (ACL) desde un computador PC compatible, operando bajo DOS.
ATS permite desarrollar las siguientes tareas :
• Configurar el controlador.
• Definir los periféricos conectados al controlador.
• Administrar impresión y respaldos.
Además, ATS posee un comando ejecutable en DOS, el comando SEND, que envía órdenes al controlador en forma directa
desde DOS sin utilizar ATS o ACL. Lo anterior hace posible manejar el robot utilizando un lenguaje de programación
convencional que llama a rutinas previamente programadas en ACL.
En el Anexo se describen los procedimientos generales de operación del ATS.
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 11/13
11
ER-Simulation
ER-Simulation es un software para simulación gráfica tridimensional y seguimiento de trayectorias. Permite la simulación
fuera de línea del robot para enseñanza de posiciones, programación y ejecución de tareas, seguimiento de trayectoria, etc.,
mostrando gráficamente y en tiempo real las funciones desarrolladas por el robot. La programación se realiza en Scorbase.
5. ANEXO: PROCEDIMIENTOS GENERALES DE OPERACIÓN DEL PROGRAMA ATS
5.1. Ejecución del programa ATS
Para iniciar el ATS ejecute en modo DOS el archivo ATS.BAT o TERM_ACL.EXE.
5.2. Comandos del programa ATS/ACL
Los comandos básicos del ATS/ACL que se utilizan con mayor frecuencia se listan en la siguiente tabla (para mayores
detalles sobre estos y otros comandos consultar los Manuales de Operación del Scorbot ER-VII). En fondo amarillo clarose destacan los comando de edición del ambiente ATS, mientras que en fondo blanco los comandos propios del ACL
(algunos de los cuales pueden ser utilizados también en el ambiente ATS fuera del modo de edición).
COMANDO DESCRIPCION
A+[enter] Aborta la ejecución de un programa.
CLOSE Cierra la pinza.
COFF Deshabilita el control de los servos para todos los ejes del robot.
CON Habilita el control de los servos para todos los ejes del robot.
DISABLE Deshabilita la conexión entre el controlador y el robot.
DIR Lista todos los programas existentes en la memoria del controlador.
DEFINE var1 {var2 var3 …
varN }
Define una variable de memoria privada con el nombre var1 (opcionalmente un grupo
var1 var2 var3 … varN ) para almacenar valores locales en un programa, es decir solo
pueden ser eferent internamente por otras instrucciones del programa y no externamentedesde otros programas. Nota: Estas variables no se utilizan para guardar las posiciones
de las articulaciones, para esto utilice DEFP o DIMP.
DEFP pos Define una variable de memoria con el nombre pos para almacenar las coordenadas de las
articulaciones (valores de los encoders).
DELAY var Genera un delay en la ejecución del programa de var centésimas de segundo (i.e. var /100
[s]).
DIMP pvect [n] Define un vector de memorias de largo n con el nombre pvect .
EDIT prog Inicia el modo de edición del programa prog. En este modo se emplea la tecla [del] para
borrar líneas, [enter] para pasar a la línea siguiente, y la palabra EXIT seguida de [enter]
para salir del modo edición. Ver también el comando S line_n en esta tabla.
ENABLE Habilita la conexión entre el controlador y el robot.
END Finaliza el programa o subrutina.
FOR var1 = var2 TO var3Commands
ENDFOR
Ejecuta las intrucciones en Commands repetidamente para var1 tomandoincrementalmente valores de var2 a var3.
GOSUB sub_name Redirige la ejecución del programa a la subrutina sub_name.
GOTO n Redirige la ejecución del programa a la instrucción luego del LABEL n.
HERE pos Graba la posición actual en la variable de memoria pos creada con DEFP o DIMP.
Ejemplo:
HERE POSE1
HERE P[4]
HOME {n} Lleva el robot a la posición inicial definida de fábrica. El parámetro {n} es opcional, y
sirve para llevar a HOME el eje n solamente. Este comando es equivalente a ejecutar la
secuencia de “homing” [RUN]-[0]-[ENTER] desde el Teach-Pendant.
IF cond1
Commands_1
Si la condición 1 es cierta, ejectua las instrucciones en Commands_1, sino ejecuta las
instrucciones de Commands_2.
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 12/13
12
ELSE
Commands_2
ENDIF
Ejemplo:
LABEL 1
IF IN[1] = 0
GOTO 1
ELSEGOTO 2
ENDIF
LABEL 2
….
LABEL n Define una “etiqueta” n (0 <= n <= 9999) como punto para redireccionamiento utilizando
el comando GOTO n.
LISTPV pos
LISTPV POSITION
Despliega las coordenadas de la posición especificada pos en valores de las articulaciones
(encoders) y en coordenadas Cartesianas. POSITION es un nombre reservado y se
emplea para desplegar las coordenadas actuales. Las coordenadas Cartesianas X, Y, Z se
expresan en décimas de milímetro, e indican la distancia entre el origen del sistema global
de coordenadas del robot (en el centro y bajo la base) y el TCP (Tool Center Point =
Coordenada de la Punta de la Tenaza). P (Pitch) y R (Roll) se expresan en décimas de
grado.MOVE pos_var Mueve el brazo a la posición definida en pos_var . Esta instrucción “deposita” un
comando de movimiento en el buffer de movimientos, y no espera a que la operación
haya sido terminada para enviar otra instrucción de movimiento.
MOVED pos_var Similar a MOVE, pero espera a que la instrucción MOVED anterior se haya ejecutado
completamente antes de depositar un nuevo MOVED en el buffer de movimientos; de
esta manera se garantiza la ejecución secuencial del programa. Se puede utilizar en
combinación con EXACT A, para garantizar secuencialidad y exactitud, pero no
duración, o junto con EXACT OFFA, para garantizar secuencialidad y duración, pero no
exactitud. (Ver detalles de MOVE/MOVED en ACL Referente Guide for Controller-A).
MOVEC/MOVECD pos1
pos2
Mueve el TCP (tool center point,= punta de la pinza) del robot desde su posición actual a
la posición pos1 pasando por pos2 siguiendo una trayectoria circular. MOVEC y
MOVECD son análogos a MOVE y MOVED.
MOVEL/MOVELD pos1 pos2
Mueve el TCP (tool center point,= punta de la pinza) del robot desde su posición actual ala posición pos1 pasando por pos2 siguiendo una trayectoria lineal. MOVEL y
MOVELD son análogos a MOVE y MOVED.
OPEN Abre la pinza.
PRINTLN arg1 {arg2 arg3
… arg4}
Despliega en pantalla el valor de la variable o string (entre comillas “ ”). Puede aceptar
de uno a cuatro argumentos.
Ejemplo:
SET X=ENC[1]
PRINTLN “ROBOT’S ENCODER 1 VALUE IS ” X “ COUNTS”.
PRINTLN ANOUT[5]
REMOVE prog Borra el programa proa de la RAM del usuario. Nota: Debe responder “yes” para
borrar y no simplemente “y”.
RUN prog Ejecuta el programa proa.
S line_n Mueve la posición de edición a la línea line_n.SHOW params Muestra el estado de los parámetros params, donde params es alguno de: {DIN, DOUT,
ENCO, DAC n, PAR n, SPEED}.
SET var1 = var2 Coloca el valor var2 en la variable var1 (previamente definida usando DEFINE). Ver
ejemplos en el ACL Reference Guide for Controller-A.
SPEED var Fija la velocidad de las articulaciones en el valor var , 1 <= var <= 100 (default var = 50)
WAIT cond Espera hasta que la condición cond sea verdadera, para continuar con la ejecución del
programa.
Ejemplo:
WAIT IN[1] = 0
[Shift]+[F9] Termina el programa ATS.
[Shift]+[F10] Activa el menú del Back-Up Manager para realizar un respaldo del programa o la
memoria del controlador del robot (genera archivo .CBU, controller back-up).
Tabla: Comandos básicos de programación en ATS/ACL.
5/11/2018 Apuntes Robot - slidepdf.com
http://slidepdf.com/reader/full/apuntes-robot 13/13
13
6. REFERENCIAS
Barrientos, Antonio. Fundamentos de Robotica, McGraw-Hill, 1997.
Chiang, Luciano E. Análisis Dinámico de Sistemas Mecánicos, Ediciones Universidad Católica de Chile, 1994.
Corke, Peter I. Manual de Robotics Toolbox for use with MATLAB (release 3), Preston, Australia, 1996.
Eshed Robotec. Scorbot - ER VII User’s Manual, 1991.
Mayo 2005