Apuntes Robot

13
 Pontificia Universidad Católica de Chile  Departamento de Ingeniería Eléctrica IEE 2682 LABORATOR IO DE CONTROL AUTOMATICO APUNTES EXPERIE NCIA 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 dir ecto (A. Barrientos, Fundamentos de Robótica). D-H 1. Numerar los esla bones 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 { 0 S } en cualquier punto del eje 0  Z . Los ejes 0  X  e 0 Y  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 1 i  Z - y i  Z  Si ambos ejes se cortasen (S i ) se sitúa en el punto de corte. Si fuesen paralelos { i S } se sitúa en la articulación x+1 D-H 7. Situar X i  en la línea normal común a Z i-1  y Z i D-H 8. Situar Y i  de modo que forme un sistema dextrógiro con X i  y Z i D-H 9. Situar el sistema { n S } en el extremo del robot de modo que Z n  coincida con la dirección de Z n-1 y X n  sea normal a Z n-1 y Zn. D-H 10. Obtener θ i  como el ángulo que habría que girar en torno a Z i-1  para que X i-1 y X i-1  queden paralelos. D-H 11. Obtener di como la distancia, medida a l o largo de Z i-1 , que habría que desplazar {S i-1 } para que X i  y X i-1  quedasen alineados. D-H 12. Obtener ai como l a distancia medida a lo largo de X i  que habría que desplazar el nuevo {S i-1 } para que su origen coincidiese con {S i }. D-H 13. Obtener αi como el ángulo que habría que girar en torno a X i  para que el nuevo {S i-1 } coincidiese totalmente con S i-1 . D-H 14. Obtener las matrices de transformación i-1 A i . D-H 15. Obtener la m atriz de tra nsformación que rel aciona el si stema de l a base con el extremo del robot T = 0 A 1  1 A 2  2 A 3  ..... n-1 A n  

Transcript of Apuntes Robot

Page 1: Apuntes Robot

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 

Page 2: Apuntes Robot

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.

Page 3: Apuntes Robot

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.

Page 4: Apuntes Robot

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.

Page 5: Apuntes Robot

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.

Page 6: Apuntes Robot

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]

Page 7: Apuntes Robot

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.

Page 8: Apuntes Robot

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

Page 9: Apuntes Robot

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.

Page 10: Apuntes Robot

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.

Page 11: Apuntes Robot

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.

Page 12: Apuntes Robot

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.

Page 13: Apuntes Robot

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