CONTROL DE ROBOTS LABORATORIO N°1: Introducción a los

Anuncio
CONTROL DE ROBOTS
LABORATORIO N°1: Introducción a los Scorbots
1.
2.
3.
4.
Lectura manual, especificaciones de Robot Scorbot ER-V plus.
Lectura Informe interno IACI00-01 ‘Scorbot ER-V plus y Scorbot ER-IX’.
Manejo de programas, back ups desde el ‘Back up manager’.
Elaboración de informe resumido de lo visto en los dos puntos anteriores, incluyendo la
descripción de los comandos del ‘Teach pendant’ para el Robot Scorbot ER-V plus.
Control de Robots
ContRobots_labs
1
CONTROL DE ROBOTS
LABORATORIO N°2: Parámetros D-H, Cinemática directa
1. Medición, y obtención de tabla de parámetros de D-H del robot Scorbot ER-V.
2. Obtención de las matrices de la cinemática, a partir de los parámetros anteriores.
3. Corroboración de las matrices anteriores con al menos dos puntos (observar la posición
de los mismos en ACL con el comando SHOW ENCO, solo hasta el origen del frame 4).
4. Elaboración de informe resumido con lo visto en los puntos anteriores.
Control de Robots
ContRobots_labs
2
CONTROL DE ROBOTS
LABORATORIO N°3: Tensiones a motores de CC, Repetibilidad lazo abierto y cerrado
1.
2.
3.
4.
5.
6.
7.
Observación de salidas a motores de CC (ANOUTs), con aplicación del programa
ACT1.
Ídem punto 1, ejerciendo una leve presión en algún eje.
Posicionamiento basado en el tiempo, con aplicación del programa ACT2, más el
comando SHOW ENCO. Elaboración de tabla comparativa para 6 ciclos.
Ídem punto 3, con un peso de 1kg en la herramienta.
Posicionamiento con realimentación, con aplicación del programa ACT4, más el
comando SHOW ENCO. Elaboración de tabla comparativa para los 10 ciclos.
Ídem punto 5, con velocidad de aproximación, con aplicación del programa AC41, más
el comando SHOW ENCO. Elaboración de tabla comparativa para los 10 ciclos.
Comparación con punto 5. Conclusiones.
Elaboración de informe resumido con lo visto en los puntos anteriores, con las
correspondientes conclusiones para cada uno.
Programas:
***ACT1***
LABEL 1
PRINT ANOUT[1] ANOUT[2] ANOUT[3] ANOUT[4]
PRINT ANOUT[5] ANOUT[6]
PRINLN
GOTO 1
***********
***ACT2***
DEFINE VOLT
(definición variable que contiene el voltaje de salida)
DEFINE T
(variable de homing)
SET VOLT=1500
(voltaje inicial=1500mV)
LABEL 1
(comienza el bucle)
SET VOLT=0-VOLT (cambia la polaridad del voltaje en cada ciclo)
SET ANOUT[1]=VOLT (seteo del voltaje al motor del eje 1)
DELAY 300
(retardo 3 segundos)
DET ANOUT[1]=0
(detiene el motor)
PRINLN ”PRESIONE ALGUNA TECLA PARA CONTINUAR”
GET T
GOTO 1
(comienza un nuevo ciclo)
************
Control de Robots
ContRobots_labs
3
***ACT4***
DEFINE N
FOR N=0 TO 10
LABEL 1
IF ENC[1]<20000
SET ANOUT[1]=-3000
GOTO 1
ENDIF
SET ANOUT[1]=0
DELAY 300
LABEL 2
IF ENC[1]<-10000
SET ANOUT[1]=3000
GOTO 2
ENDIF
SET ANOUT[1]=0
DELAY 300
ENDFOR
***********
***AC41***
DEFINE N
FOR N=0 TO 10
LABEL 1
IF ENC[1]<19500
SET ANOUT[1]=-3000
GOTO 1
ENDIF
LABEL 3
IF ENC[1]<20000
SET ANOUT[1]=-1000
GOTO 3
ENDIF
SET ANOUT[1]=0
DELAY 300
LABEL 2
IF ENC[1]>-9500
SET ANOUT[1]=3000
GOTO 2
LABEL 4
IF ENC[1]>-10000
SET ANOUT[1]=1000
GOTO 4
ENDIF
SET ANOUT[1]=0
DELAY 300
ENDFOR
***********
Control de Robots
(definición de variable conteo de ciclos)
(10 ciclos)
(voltaje a motor eje 1: -3000mV)
(si se alcanza la posición se detiene el motor)
(espera por 3 segundos)
(voltaje a motor eje 1: 3000mV)
(si se alcanza la posición se detiene el motor)
(espera por 3 segundos)
(definición de variable conteo de ciclos)
(10 ciclos)
(voltaje a motor eje 1: -3000mV)
(voltaje a motor eje 1: -1000mV)
(si se alcanza la posición se detiene el motor)
(espera por 3 segundos)
(voltaje a motor eje 1: 3000mV)
(voltaje a motor eje 1: 1000mV)
(si se alcanza la posición se detiene el motor)
(espera por 3 segundos)
ContRobots_labs
4
CONTROL DE ROBOTS
LABORATORIO N°4: Lead by nose
1. ¿Qué es ‘Lead by Nose?
2. Reconocimiento del módulo de interface LBN, y del programa LBN.CBU.
3. Realizar un homing, y asegurarse que el programa LBN.CBU se encuentre en el
procesador.
4. Describir la secuencia operativa para correr esta aplicación, para un tiempo de scan de
10 (1000 posiciones cada segundo), y un tiempo de grabación de 10 segundos.
5. Repetir el punto anterior para un tiempo de scan de 0.005 (1 posición cada 2 segundos),
y un tiempo de grabación de 7 segundos. ¿Qué sucede con la trayectoria descripta entre
dos muestreos?
6. Elaboración de informe resumido con lo visto en los puntos anteriores, con las
correspondientes conclusiones para cada uno.
Control de Robots
ContRobots_labs
5
CONTROL DE ROBOTS
LABORATORIO N°5: Trayectorias, perfiles de velocidad
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Realizar un homing. Corroborar que el perfil de velocidad sea parabólico: MPROFILE
PARABOLE. Setear 10% de velocidad. Grabar una posición determinada. Luego mover
la base y grabar una segunda posición.
Editar el programa ACT5
***ACT5***
DEFINE N
(definición de variable conteo de ciclos)
FOR N=0 TO 3
(3 ciclos)
MOVED 1
(mueve a la posición #1)
DELAY 100
(pausa de 0.1 segundo)
MOVED 2
(mueve a la posición #2)
DELAY 100
(pausa de 0.1 segundo)
ENDFOR
(fin del bucle for)
***********
Ejecutar ACT5 para corroborar su buen funcionamiento
Editar el programa READ:
***READ***
DEFINE N
(definición de variable conteo de ciclos)
RUN ACT5
(corre el programa ACT5 en modo multitasking)
FOR N=0 TO 200
(200 muestras)
DELAY 10
(cada 0.1 segundo)
PRINTLN TIME ENC[1]
(escribe tiempo y valor de encoder 1)
END FOR
(fin del bucle for)
Ejecutar el programa READ, y observar los datos muestreados.
Salir a modo DOS y ejecutar la instrucción SEND RUN READ /C2 /F fpar10.prn. Los
datos muestreados se guardarán en el archivo fpar10.prn.
Setear 20% de velocidad y repetir el punto anterior (fpar20.prn).
Repetir el punto 6 para 50, 75, y 100% de velocidad.
Setear perfil de velocidad trapezoidal con MPROFILE TRAPEZE.
Repetir los puntos 6, 7, 8 (archivos ftrpXX.prn).
Para los 10 archivos anteriores, editarlos con excel con el fin de graficar los perfiles de
velocidades, esto es, ∆enc[1]/ ∆tiempo.
Elaboración de informe resumido con lo visto en los puntos anteriores, con las
correspondientes conclusiones para cada uno.
Definir un vector de 5 posiciones: DIMP ACT6[5]. Grabar dos posiciones: ACT6[1], y
ACT6[5] tal que las mismas se encuentren en un plano horizontal. Posicionar un fibrón
en el extremo de la herramienta. Mover de un punto al otro con MOVE.
Grabar más posiciones intermedias tal que se encuentren alineadas con las anteriores.
Ejecutar los comandos MOVES ACT6 1 5, y MOVEL ACT6[1].
Explicar lo observado en los puntos 13, 14, y 15, y adjuntarlo al mismo informe.
Control de Robots
ContRobots_labs
6
CONTROL DE ROBOTS
LABORATORIO N°6: Control de una junta. Parámetros PID.
1. Concepto de controlador proporcional.
a. Realizar un homing. Asegurarse que exista un back de parámetros (C:\ATS\ACT)
b. Mediante en Teach pendant, grabar una posición, mover la junta 1, y luego grabar
otra posición.
c. LET PAR 21 100: Pone en 100 el parámetro 21 (Cte. proporcional de la junta 1), y
luego poner en cero el 41, 61, 81, y 78.
INIT CONTROL: inicializar para que tome los cambios.
SPEED 40: seteo de velocidad en 40
d. Editar el programa ACT7
***ACT7***
DEFINE REF1
(definición de variable posición #1)
DEFINE REF2
(definición de variable posición #2)
DEFINE ERR
(definición de variable error)
SET REF1=0
(escribe la posición del ENC[1] para la posición#1)
SET REF2=14612
(escribe la posición del ENC[1] para la posición#2)
MOVE 2
(mueve hasta la posición#2)
DELAY 2000
(pausa de 20 segundos)
SET ERR=REF2 – ENC[1]
(calculo del error)
PRINT “POSICION #2”
(cartel)
PRINTLN ERR ANOUT[1]
(muestra el error y la salida analógica#1)
DELAY 2000
(pausa de 20 segundos)
SET ERR=REF1 – ENC[1]
(calculo del error)
PRINT “POSICION #1”
(cartel)
PRINTLN ERR ANOUT[1]
(muestra el error y la salida analógica#1)
***********
e. RUN ACT7: ejecutar el programa anterior, para distintos valores de la constante
proporcional (100, 200, 600, 800, 1000, y 1500). Completar una tabla con las
siguientes columnas: pos#, par21, error, anout[1], ganancia calculada, y
par21/ganancia calculada.
2. Concepto de controlador derivativo.
a. LET PAR 41 100: Pone en 100 el parámetro 41 (Cte. derivativa de la junta 1), y
luego poner en cero el 21, 61, 81, y 78.
INIT CONTROL: inicializar para que tome los cambios.
SPEED 40: seteo de velocidad en 40
b. RUN ACT7: ejecutar el programa, y observar que sucede.
c. LET PAR 21 500 (constante proporcional), INIT CONTROL, y luego RUN ACT7:
ejecutar el programa, para distintos valores de la constante derivativa (100, 200, 500,
1000, y 2000). Completar una tabla con las siguientes columnas: pos#, par41, error,
anout[1], ganancia calculada, y par21/ganancia calculada.
d. LET PAR 21 800 (constante proporcional), INIT CONTROL, y repetir el punto
anterior.
e. Observar que sucede con el error de estado estacionario.
3. Concepto de controlador integrativo.
a. LET PAR 61 100: Pone en 100 el parámetro 61 (Cte. integrativa de la junta 1), y
luego poner en cero el 21, 41, 81, y 78.
INIT CONTROL: inicializar para que tome los cambios.
Control de Robots
ContRobots_labs
7
SPEED 40: seteo de velocidad en 40
b. RUN ACT7: ejecutar el programa, y observar que sucede.
c. LET PAR 21 500 (constante proporcional), INIT CONTROL, y luego RUN ACT7:
ejecutar el programa, para distintos valores de la constante derivativa (100, 200, 500,
1000, y 2000). Completar una tabla con las siguientes columnas: pos#, par41, error,
anout[1], ganancia calculada, y par21/ganancia calculada.
d. LET PAR 21 800 (constante proporcional), INIT CONTROL, y repetir el punto
anterior.
4. LET PAR 78 1: este parámetro duplica las Cte. PI para un entorno cercano al set point
de posición. Probar correr el programa para valores de la Cte. proporcional muy bajos.
5. Restaurar los parámetros mediante el Back up Manager.
6. Elaboración de informe resumido con lo visto en los puntos anteriores, con las
correspondientes conclusiones para cada uno.
Control de Robots
ContRobots_labs
8
CONTROL DE ROBOTS
LABORATORIO N°7: Programación Advanced Control Language.
1. Realizar la programación en ACL de los programas necesarios para lograr ejecutar la
siguiente tarea: el manipulador debe dibujar a través de un fibrón sujeto en su
herramienta un círculo, o un rectángulo en una pizarra ubicada en forma vertical (plano
paralelo al plano X-Z o Y-Z). El comienzo de cada tarea y la selección de la figura
geométrica debe realizarse a través de dos entradas discretas del controlador.
2. Realizar la programación en ACL de los programas necesarios para lograr ejecutar la
siguiente tarea: el manipulador debe realizar un seguimiento o tracking de un punto fijo
de la cinta transportadora (sin tocarla). Este seguimiento debe ser función de la
velocidad de la cinta, y además puede ser en ambos sentidos. El comienzo de la tarea y
la selección del sentido de giro debe realizarse a través de una entrada discreta del
controlador, y cuando se la herramienta llega a un extremo debe hacerse una salida
discreta.
3. Realizar la programación en ACL de los programas necesarios para lograr ejecutar la
siguiente tarea: el manipulador debe transportador un objeto pesado (el máximo peso
admisible por especificación) desde un punto x1, y1, z1 hasta un punto x2, y2, z2. (este
movimiento se inicia cuando se detecta sobrecarga en uno de los motores de las juntas
debido a la colocación del peso), y luego volver al punto inicial sin la carga cuando se
detecte la liberación de la sobrecarga mencionada. En el transporte, la trayectoria deberá
sortear un obstáculo.
4. Realizar la programación en ACL de los programas necesarios para lograr ejecutar la
siguiente tarea: a partir de un obstáculo determinado (por ejemplo cubo), el manipulador
debe realizar el pintado del mismo. Suponer que en el extremo de la herramienta se
dispone de un pico tipo spray el cual siempre debe ubicarse en forma perpendicular a 2
cm de las caras del objeto.
5. Realizar la programación en ACL y de algún software de animación tal que, leyendo la
posición de los distintos encoders, se observe en pantalla una simulación en 3
dimensiones de los brazos del manipulador.
6. Realizar la programación en ACL de los programas necesarios para lograr ejecutar la
siguiente tarea: debe transportarse una carga de 300 gramos colgando en forma de
péndulo con hilo desde la herramienta a unos 15 cm. Realizar el control sobre las juntas
tal que el hilo siempre se encuentre en forma perpendicular.
7. Diseñar circuito impreso interface del controlador del robot Scorbot tal que se pueda
realizar el control sobre el motor de CC de una junta. Debe leerse la posición del
encoder correspondiente, y poder ejecutar variantes sobre la estrategia de control
elegida..
Control de Robots
ContRobots_labs
9
Descargar