SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
INTRODUCCIÓN A RAPID
Programación con el IRB-140
Control de Robots y Sistemas Sensoriales
Características principales de RAPID
•Última generación (creado en 1994 por ABB).
•Muy similar a lenguajes de programación de propósito general de
alto nivel (Basic, Pascal, C):
•Estructurado a dos niveles: módulos por una parte y rutinas y
funciones por otra.
•Parámetros de las instrucciones: numéricos, referencias o
expresiones.
•Para cada dato se define su ámbito de utilización o alcance: local o
global y su persistencia: variable, constante o persistente.
Control de Robots y Sistemas Sensoriales
Ejemplo de instrucción RAPID
MoveL p1, v100, z10, tool1;
movimiento en
línea recta punto de
destino
velocidad
precisión
herramienta
definida
instrucción parámetros
Control de Robots y Sistemas Sensoriales
Instrucciones más utilizadas (I)
INSTRUCCIONES DE MOVIMIENTO
•MoveL: desplazamiento hasta el punto en línea recta.
•MoveC: desplazamiento describiendo un círculo.
•MoveJ: desplazamiento rápido, sin garantizar la trayectoria
seguida (sin coordinación de velocidad entre los ejes del robot).
Ejemplos:
•MoveL p1, v100, z10, tool1;
•MoveC p0, p1, v100, z10, tool1; (ojo: dos puntos)
•MoveJ p1, v100, z10, tool1;
Control de Robots y Sistemas Sensoriales
Instrucciones más utilizadas(II)
Parámetros de las instrucciones de movimiento:
•Posiciones deseadas ‘p1’ y ‘p0’:
Dato tipo ‘RobTarget’:especifica posición y orientación unívocamente.
•Velocidad ‘v100’:
Dato tipo ‘SpeedData’: indica velocidad deseada de traslación y de rotación.
•Precisión ‘z10’:
Dato tipo ‘ZoneData’: indica la precisión con la que hay que alcanzar la posición
pedida antes de continuar el movimiento hasta la posición siguiente.
•Herramienta ‘tool1’:
Dato tipo ‘ToolData’: describe la la herramienta acoplada al robot: dimensiones para
calcular trayectorias más peso y momentos de inercia para calcular esfuerzos.
Control de Robots y Sistemas Sensoriales
Instrucciones más utilizadas(III)
INSTRUCCIONES DE MANEJO DE E/S
•Set: fija el valor de una salida digital a 1.
•Reset: fija el valor de una salida digital a 0.
•SetDO: fija una salida digital a un valor simbólico (on/off, etc).
•SetAO: fija el valor de una salida analógica.
•WaitDI: espera hasta que una entrada tome un valor determinado
Posibles utilizaciones de las señales de E/S:
•comandar la válvula neumática que gobierna la pinza
•detener o poner en marcha una cinta transportadora
•saber si hay una pieza lista para ser procesada por el robot...
Control de Robots y Sistemas Sensoriales
Instrucciones más utilizadas(IV)
Ejemplos:
•Set out1 (fija el valor de la salida out1 a uno)
•Reset out3 (fija el valor de la salida out3 a cero)
•SetDO pinza, off (fija el valor de la salida pinza a off)
•SetAO out5, 4.3 (fija la salida analógica out5 a 4.3) (ojo: ni V ni A)
•WaitDi pieza, 1 (espera hasta que la entrada pieza tome el valor 1)
También es posible utilizar el valor de las entradas dentro de una
expresión, como si se fueran variables:
•IF pieza=1 THEN... (una entrada digital controla el flujo de programa)
•IF par>1.5 THEN... (idem con entrada analógica) (control esfuerzos)
Control de Robots y Sistemas Sensoriales
Instrucciones más utilizadas(V)
INSTRUCCIONES DE CONTROL DE FLUJO DE EJECUCIÓN
Las habituales en lenguajes de programación de alto nivel:
•FOR ... ENDFOR: repite una sección del programa un número
fijo de veces.
•WHILE ... ENDWHILE: repite una sección del programa
mientras se cumpla una cierta condición.
•GOTO: salto incondicional a una determinada instrucción.
•IF ... THEN ... ELSE ... ENDIF: ejecuta un conjunto de
instrucciones sólo si se cumple una cierta condición.
•TEST/CASE: ejecuta unas u otras instrucciones en función del
valor de un dato (similar al switch/case del lenguaje C).
Control de Robots y Sistemas Sensoriales
Variables y expresiones en RAPID (I)
La variables y constantes en RAPID se denominan datos.
Definición de un dato: alcance, su persistencia y su tipo:
Asignación de valores a los datos: operador :=
LOCAL VAR pos posicion_robot;
alcance
local
persistencia
variable
dato tipo
posicion
nombre
dato
posicion_robot := [0.0, 0.0, 0.0];
Control de Robots y Sistemas Sensoriales
Variables y expresiones en RAPID (II)
Posibles ámbitos para un dato:
•LOCAL: sólo accesible desde la rutina o módulo donde se declara
•GLOBAL: accesible desde otras rutinas o módulos.
Posibles persistencias para un dato:
•VAR: dato variable. Su valor puede ser modificado en el programa.
•CONST: dato constante. No permite ser modificado.
•PERS: dato persistente. Si se modifica en el programa permanece
modificado para nuevas ejecuciones del mismo.
Control de Robots y Sistemas Sensoriales
Variables y expresiones en RAPID (III)
TIPOS DE DATOS BÁSICOS
Num: dato numérico (entero o real).
Bool: valor lógico (TRUE o FALSE).
String: cadena de caracteres.
TIPOS DE DATOS PROPIOS DEL MANEJO DEL ROBOT
Pos: posición cartesiana (vector de 3 valores numéricos X, Y, Z)
Orient: orientación expresada mediante un cuaternio (vector de 4
valores numéricos (Q1, Q2, Q3, Q4)
ConfData: configuración del robot. Indica los cuadrantes en los que
se encuentran los ejes 1, 4, 6 y 5 del robot. Vector de 4 valores
numéricos (conf1, conf2, conf3, conf4).
Control de Robots y Sistemas Sensoriales
Configuración: resuelve ambigüedades
Control de Robots y Sistemas Sensoriales
Cómo especificar la configuración
Para cada uno de los ejes 1, 4 y 6 se indica el cuadrante en el
que se debe encontrar situado (ángulo girado desde 0º):
CONST confdata conf_1 := [0, 0, -1, 1];
La instrucción anterior indica una configuración 0 para el eje 1,
0 para el eje 4 y -1 para el eje 6. El último dato no se utiliza en
el IRB-140.
0
1 2
3
Control de Robots y Sistemas Sensoriales
Variables y expresiones en RAPID (IV)
TIPOS DE DATOS PROPIOS DEL MANEJO DEL ROBOT (cont)
ExtJoint: posición de los ejes externos. Vector de 6 valores
numéricos (eje1 a eje6). El IRB-400 es capaz de controlar hasta 6
ejes externos.
RobTarget: indica un objetivo a alcanzar por el robot. Esto es:
•una posición (expresada como un dato pos: X, Y, Z).
•una orientación (dato orient: Q1, Q2, Q3, Q4).
•una configuración (dato confdata: conf1, conf2, conf3, conf4).
•una posición de los ejes externos (dato extjoint: eje1 a eje6).
Control de Robots y Sistemas Sensoriales
Ejes externos: diferentes aplicaciones
•Robot desplazable por un carril.
•Pinza controlada en posición.
•Herramienta especial (ejemplo:
movimiento de atornillado, con traslación y
rotación sincronizadas).
No confundir con las señales de
salida: en este caso hay control en
bucle cerrado.
Control de Robots y Sistemas Sensoriales
Variables y expresiones en RAPID (V)
TIPOS DE DATOS PROPIOS DEL MANEJO DEL ROBOT (cont)
SpeedData: velocidad para los movimientos. Existen valores
predefinidos: v100, v200, v1000, .... El valor indica velocidad de
traslación en mm/s; también se especifica la vel. de rotación.
ZoneData: precisión con la que se debe alcanzar una posición
antes de que el robot pueda dirigirse hacia la posición siguiente.
Existen valores predefinidos: z10, z20, z50, fine, ... . El valor indica
la máxima diferencia en mm. respecto del punto pedido. Se
especifican más parámetros: orientaciones, ejes externos, ....
También se distingue entre puntos de paso y puntos de paro.
Control de Robots y Sistemas Sensoriales
Zona de precisión para un punto de paso
Control de Robots y Sistemas Sensoriales
Control de Robots y Sistemas Sensoriales
Diferencia punto de paso / punto de paro
Variables y expresiones en RAPID (VI)
TIPOS DE DATOS PROPIOS DEL MANEJO DEL ROBOT (cont)
ToolData: herramienta utilizada por el robot. Se especifica tanto la
geometría (sistema de coordenadas de la herramienta) como la
carga (peso, centro de gravedad y momentos de inercia).
LoadData: pieza manipulada por el robot. Se especifican el peso,
el centro de gravedad y los momentos de inercia.
Control de Robots y Sistemas Sensoriales
Introducción de programas en el IRB-140
DOS POSIBILIDADES
•Programación desde la paleta de programación.
•Se lleva al robot a las posiciones deseadas manualmente (haciendo
uso del joystick).
•Se crea una instrucción de programa para cada posición indicada
manualmente, especificando velocidad, precisión, etc.
•Se añaden las instrucciones necesarias: control de E/S, etc.
•Ventajas: no requiere ningún cálculo, pocas posibilidades de error.
•Escritura del programa en PC y transferencia al robot vía disquete.
•Las posiciones se calculan analíticamente; con estos datos se escribe
un programa utilizando el lenguaje RAPID.
•Ventajas: facilidad para introducir modificaciones o revisar.
Control de Robots y Sistemas Sensoriales
Programación desde la paleta (I)
Joystick: 3 GDL
2 dispositivos de seguridad
Control de Robots y Sistemas Sensoriales
Programación desde la paleta (II)
Varias posibilidades para mover el robot con el joystick:
•Introduciendo traslaciones a lo largo de 3 ejes y giros sobre 3 ejes
(cada eje se maneja con un grado de libertad del joystick).
•respecto del sistema de coordenadas de la base del robot.
•respecto del sistema de coordenadas de la herramienta u otro.
•Actuando directamente sobre las articulaciones del robot (máximo
sobre 3 de los ejes simultáneamente).
Control de Robots y Sistemas Sensoriales
Programación desde PC (I)
Cabecera de un programa RAPID:
%%%
VERSION:1
LANGUAGE:ENGLISH
%%%
Código del programa, siempre estructurado en módulos:
MODULE carga_CNC
...
Cuerpo del programa
...
ENDMODULE
Por ejemplo, en este módulo se incluirían todos los datos e instrucciones
correspondientes a la carga de una pieza en una máquina CNC.
Control de Robots y Sistemas Sensoriales
Programación desde PC (II)
Dentro de un módulo: declaraciones de datos y procedimientos (rutinas):
MODULE carga_CNC
VAR pos posic1 := [100, 200, 300];
VAR pos posic2 := [200, 200, 100];...
PROC rutina1
... instrucciones ...
ENDPROC
PROC rutina2
... Instrucciones ...
ENDPROC
ENDMODULE
NOTA: Siempre debe existir la rutina main() que llama a las demás.
Control de Robots y Sistemas Sensoriales
Control de Robots y Sistemas Sensoriales
Ejemplo de programa completo (I)
%%%
VERSION:1
LANGUAGE:ENGLISH
%%%
MODULE movimiento_y_agarre
!posición pedida: x=100, y=200, z=300
CONST pos posic1 := [100, 200, 300];
!orientación pedida, igual a la de la base del robot
CONST orient ori1 := [1, 0, 0, 0];
!configuración: cuadrantes 0, 0 y -1
CONST confdata config1 := [0, 0, -1, 1];
! ejes externos: el valor 9E9 indica que no existen
CONST extjoint ejes1 := [9E9, 9E9, 9E9, 9E9, 9E9, 9E9];
!el objetivo para el robot incluye todos los datos:
CONST robtarget rob1 := [posic1, ori1, config1, ejes1];
...
Control de Robots y Sistemas Sensoriales
Ejemplo de programa completo (II)
...
PROC main()
! Espera a que la señal digital di5 esté activada
! (espera a tener una pieza disponible)
WaitDI di5, 1;
! Se mueve a la posición programada el línea recta
! Se supone definida la herramienta tool1
MoveL rob1, v200, fine, tool1;
! Activa la señal digital do3
! (activa la pinza del robot)
Set do3;
ENDPROC
ENDMODULE

Más contenido relacionado

La actualidad más candente

DESCRIPCION ALGEBRAICA DE CIRCUITOS LÓGICOS. EVALUACIÓN DE LAS SALIDAS DE CIR...
DESCRIPCION ALGEBRAICA DE CIRCUITOS LÓGICOS. EVALUACIÓN DE LAS SALIDAS DE CIR...DESCRIPCION ALGEBRAICA DE CIRCUITOS LÓGICOS. EVALUACIÓN DE LAS SALIDAS DE CIR...
DESCRIPCION ALGEBRAICA DE CIRCUITOS LÓGICOS. EVALUACIÓN DE LAS SALIDAS DE CIR...alglys ramirez
 
Amplificadores operacionales
Amplificadores operacionalesAmplificadores operacionales
Amplificadores operacionalesMario Jair
 
Investigación de PLCs Valeria Rodriguez Cornejo.pdf
Investigación de PLCs Valeria Rodriguez Cornejo.pdfInvestigación de PLCs Valeria Rodriguez Cornejo.pdf
Investigación de PLCs Valeria Rodriguez Cornejo.pdfValeriaRodrguezCorne
 
Análisis cinemático de un brazo robótico de 4GDL con lenguaje Python
Análisis cinemático de un brazo robótico de 4GDL con lenguaje PythonAnálisis cinemático de un brazo robótico de 4GDL con lenguaje Python
Análisis cinemático de un brazo robótico de 4GDL con lenguaje PythonRoberto Sanz Benito
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
COMPILADORES-Tabla de Simbolos
COMPILADORES-Tabla de SimbolosCOMPILADORES-Tabla de Simbolos
COMPILADORES-Tabla de SimbolosLilian León Meza
 
Diseño de un sistema de alarma con lógica programable
Diseño de un sistema de alarma con lógica programableDiseño de un sistema de alarma con lógica programable
Diseño de un sistema de alarma con lógica programableEL ESTAFADOR
 
Practica del amplificador inversor y no inversor
Practica del amplificador inversor y no inversorPractica del amplificador inversor y no inversor
Practica del amplificador inversor y no inversorcire04
 
158076353-Fanuc-Handlingtool-Rev-e.pptx
158076353-Fanuc-Handlingtool-Rev-e.pptx158076353-Fanuc-Handlingtool-Rev-e.pptx
158076353-Fanuc-Handlingtool-Rev-e.pptxangel casarez
 
Comunicaciones y protocolos industriales
Comunicaciones  y protocolos industrialesComunicaciones  y protocolos industriales
Comunicaciones y protocolos industrialesDocumentosAreas4
 
UNIT-IV.pptx
UNIT-IV.pptxUNIT-IV.pptx
UNIT-IV.pptxamudhak10
 
Cinemática Inversa
Cinemática InversaCinemática Inversa
Cinemática Inversajonathanthan
 
135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-pptCarlos Martir
 
Rapid manual operador Robot Studio ABB
Rapid manual operador Robot Studio ABBRapid manual operador Robot Studio ABB
Rapid manual operador Robot Studio ABBSergio Barrios
 

La actualidad más candente (20)

DESCRIPCION ALGEBRAICA DE CIRCUITOS LÓGICOS. EVALUACIÓN DE LAS SALIDAS DE CIR...
DESCRIPCION ALGEBRAICA DE CIRCUITOS LÓGICOS. EVALUACIÓN DE LAS SALIDAS DE CIR...DESCRIPCION ALGEBRAICA DE CIRCUITOS LÓGICOS. EVALUACIÓN DE LAS SALIDAS DE CIR...
DESCRIPCION ALGEBRAICA DE CIRCUITOS LÓGICOS. EVALUACIÓN DE LAS SALIDAS DE CIR...
 
Amplificadores operacionales
Amplificadores operacionalesAmplificadores operacionales
Amplificadores operacionales
 
Micro2 tema 5
Micro2 tema 5Micro2 tema 5
Micro2 tema 5
 
Investigación de PLCs Valeria Rodriguez Cornejo.pdf
Investigación de PLCs Valeria Rodriguez Cornejo.pdfInvestigación de PLCs Valeria Rodriguez Cornejo.pdf
Investigación de PLCs Valeria Rodriguez Cornejo.pdf
 
Análisis cinemático de un brazo robótico de 4GDL con lenguaje Python
Análisis cinemático de un brazo robótico de 4GDL con lenguaje PythonAnálisis cinemático de un brazo robótico de 4GDL con lenguaje Python
Análisis cinemático de un brazo robótico de 4GDL con lenguaje Python
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
COMPILADORES-Tabla de Simbolos
COMPILADORES-Tabla de SimbolosCOMPILADORES-Tabla de Simbolos
COMPILADORES-Tabla de Simbolos
 
Robot Laberinto
Robot LaberintoRobot Laberinto
Robot Laberinto
 
Sumadores.pdf
Sumadores.pdfSumadores.pdf
Sumadores.pdf
 
Diseño de un sistema de alarma con lógica programable
Diseño de un sistema de alarma con lógica programableDiseño de un sistema de alarma con lógica programable
Diseño de un sistema de alarma con lógica programable
 
Practica del amplificador inversor y no inversor
Practica del amplificador inversor y no inversorPractica del amplificador inversor y no inversor
Practica del amplificador inversor y no inversor
 
158076353-Fanuc-Handlingtool-Rev-e.pptx
158076353-Fanuc-Handlingtool-Rev-e.pptx158076353-Fanuc-Handlingtool-Rev-e.pptx
158076353-Fanuc-Handlingtool-Rev-e.pptx
 
Comunicaciones y protocolos industriales
Comunicaciones  y protocolos industrialesComunicaciones  y protocolos industriales
Comunicaciones y protocolos industriales
 
Electronica digital
Electronica digitalElectronica digital
Electronica digital
 
UNIT-IV.pptx
UNIT-IV.pptxUNIT-IV.pptx
UNIT-IV.pptx
 
Cinemática Inversa
Cinemática InversaCinemática Inversa
Cinemática Inversa
 
Pid
PidPid
Pid
 
The IEEE 1149.1 Boundary-scan test standard
The IEEE 1149.1 Boundary-scan test standardThe IEEE 1149.1 Boundary-scan test standard
The IEEE 1149.1 Boundary-scan test standard
 
135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt
 
Rapid manual operador Robot Studio ABB
Rapid manual operador Robot Studio ABBRapid manual operador Robot Studio ABB
Rapid manual operador Robot Studio ABB
 

Similar a Introducción a RAPID y programación de robots

Morfologia de un robot
Morfologia de un robotMorfologia de un robot
Morfologia de un robotLeo Nardo
 
Memoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCgggggggggggMemoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCgggggggggggredondoredondoenriqu
 
218727950 curso-robots-motoman-pptx
218727950 curso-robots-motoman-pptx218727950 curso-robots-motoman-pptx
218727950 curso-robots-motoman-pptxEduardo Aldaco
 
Introduccion utilización Robotstudio ABB
Introduccion utilización Robotstudio ABBIntroduccion utilización Robotstudio ABB
Introduccion utilización Robotstudio ABBSergio Barrios
 
Introduccion a los automatas.pdf
Introduccion a los automatas.pdfIntroduccion a los automatas.pdf
Introduccion a los automatas.pdfssuser78fe50
 
Metodología de la programación
Metodología de la programaciónMetodología de la programación
Metodología de la programaciónAnsd
 
Jorge garcia tutorial robocell unad
Jorge garcia tutorial robocell unadJorge garcia tutorial robocell unad
Jorge garcia tutorial robocell unadJorge Garcia
 
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardwareRobot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardwareNamsohj Ozarazil
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
Unidad 4. Robotica. Sistemas de control y motores de impulsión
Unidad 4. Robotica. Sistemas de control y motores de impulsión Unidad 4. Robotica. Sistemas de control y motores de impulsión
Unidad 4. Robotica. Sistemas de control y motores de impulsión Alberto Carranza Garcia
 
Presentació RobòTica
Presentació RobòTicaPresentació RobòTica
Presentació RobòTicaJordi Mercader
 
Presentación tps 400
Presentación tps 400Presentación tps 400
Presentación tps 400Ronald Camino
 
Unidad 4 robotica(4º)
Unidad 4 robotica(4º)Unidad 4 robotica(4º)
Unidad 4 robotica(4º)guti2002
 

Similar a Introducción a RAPID y programación de robots (20)

Morfologia de un robot
Morfologia de un robotMorfologia de un robot
Morfologia de un robot
 
Memoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCgggggggggggMemoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCggggggggggg
 
218727950 curso-robots-motoman-pptx
218727950 curso-robots-motoman-pptx218727950 curso-robots-motoman-pptx
218727950 curso-robots-motoman-pptx
 
Introduccion utilización Robotstudio ABB
Introduccion utilización Robotstudio ABBIntroduccion utilización Robotstudio ABB
Introduccion utilización Robotstudio ABB
 
Introduccion a los automatas.pdf
Introduccion a los automatas.pdfIntroduccion a los automatas.pdf
Introduccion a los automatas.pdf
 
Thermof3
Thermof3Thermof3
Thermof3
 
Metodología de la programación
Metodología de la programaciónMetodología de la programación
Metodología de la programación
 
Jorge garcia tutorial robocell unad
Jorge garcia tutorial robocell unadJorge garcia tutorial robocell unad
Jorge garcia tutorial robocell unad
 
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardwareRobot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Roboell
RoboellRoboell
Roboell
 
Micro2 tema 1
Micro2 tema 1Micro2 tema 1
Micro2 tema 1
 
Metodos de programacion d robot
Metodos de programacion d robotMetodos de programacion d robot
Metodos de programacion d robot
 
Robotica industrial its zapopan
Robotica industrial its zapopanRobotica industrial its zapopan
Robotica industrial its zapopan
 
Unidad 4. Robotica. Sistemas de control y motores de impulsión
Unidad 4. Robotica. Sistemas de control y motores de impulsión Unidad 4. Robotica. Sistemas de control y motores de impulsión
Unidad 4. Robotica. Sistemas de control y motores de impulsión
 
Presentació RobòTica
Presentació RobòTicaPresentació RobòTica
Presentació RobòTica
 
Presentación tps 400
Presentación tps 400Presentación tps 400
Presentación tps 400
 
Unidad 4 robotica(4º)
Unidad 4 robotica(4º)Unidad 4 robotica(4º)
Unidad 4 robotica(4º)
 

Más de Paulo Cesar Diniz Bicudo

Más de Paulo Cesar Diniz Bicudo (7)

Apostila sobre motores de indução trifásicos i
Apostila sobre motores de indução trifásicos iApostila sobre motores de indução trifásicos i
Apostila sobre motores de indução trifásicos i
 
Feedback eficiente liderança
Feedback eficiente liderançaFeedback eficiente liderança
Feedback eficiente liderança
 
Spotware
SpotwareSpotware
Spotware
 
Product manual 6400 m98
Product manual 6400 m98Product manual 6400 m98
Product manual 6400 m98
 
Mps.br guia de_aquisicao_2013
Mps.br guia de_aquisicao_2013Mps.br guia de_aquisicao_2013
Mps.br guia de_aquisicao_2013
 
Lógica para ciencia da computaçao joao nunes souza
Lógica para ciencia da computaçao   joao nunes souzaLógica para ciencia da computaçao   joao nunes souza
Lógica para ciencia da computaçao joao nunes souza
 
Aula 6 relações semânticas entre os conectivos da lógica proposicional
Aula 6   relações semânticas entre os conectivos da lógica proposicionalAula 6   relações semânticas entre os conectivos da lógica proposicional
Aula 6 relações semânticas entre os conectivos da lógica proposicional
 

Introducción a RAPID y programación de robots

  • 1. INTRODUCCIÓN A RAPID Programación con el IRB-140 Control de Robots y Sistemas Sensoriales
  • 2. Características principales de RAPID •Última generación (creado en 1994 por ABB). •Muy similar a lenguajes de programación de propósito general de alto nivel (Basic, Pascal, C): •Estructurado a dos niveles: módulos por una parte y rutinas y funciones por otra. •Parámetros de las instrucciones: numéricos, referencias o expresiones. •Para cada dato se define su ámbito de utilización o alcance: local o global y su persistencia: variable, constante o persistente. Control de Robots y Sistemas Sensoriales
  • 3. Ejemplo de instrucción RAPID MoveL p1, v100, z10, tool1; movimiento en línea recta punto de destino velocidad precisión herramienta definida instrucción parámetros Control de Robots y Sistemas Sensoriales
  • 4. Instrucciones más utilizadas (I) INSTRUCCIONES DE MOVIMIENTO •MoveL: desplazamiento hasta el punto en línea recta. •MoveC: desplazamiento describiendo un círculo. •MoveJ: desplazamiento rápido, sin garantizar la trayectoria seguida (sin coordinación de velocidad entre los ejes del robot). Ejemplos: •MoveL p1, v100, z10, tool1; •MoveC p0, p1, v100, z10, tool1; (ojo: dos puntos) •MoveJ p1, v100, z10, tool1; Control de Robots y Sistemas Sensoriales
  • 5. Instrucciones más utilizadas(II) Parámetros de las instrucciones de movimiento: •Posiciones deseadas ‘p1’ y ‘p0’: Dato tipo ‘RobTarget’:especifica posición y orientación unívocamente. •Velocidad ‘v100’: Dato tipo ‘SpeedData’: indica velocidad deseada de traslación y de rotación. •Precisión ‘z10’: Dato tipo ‘ZoneData’: indica la precisión con la que hay que alcanzar la posición pedida antes de continuar el movimiento hasta la posición siguiente. •Herramienta ‘tool1’: Dato tipo ‘ToolData’: describe la la herramienta acoplada al robot: dimensiones para calcular trayectorias más peso y momentos de inercia para calcular esfuerzos. Control de Robots y Sistemas Sensoriales
  • 6. Instrucciones más utilizadas(III) INSTRUCCIONES DE MANEJO DE E/S •Set: fija el valor de una salida digital a 1. •Reset: fija el valor de una salida digital a 0. •SetDO: fija una salida digital a un valor simbólico (on/off, etc). •SetAO: fija el valor de una salida analógica. •WaitDI: espera hasta que una entrada tome un valor determinado Posibles utilizaciones de las señales de E/S: •comandar la válvula neumática que gobierna la pinza •detener o poner en marcha una cinta transportadora •saber si hay una pieza lista para ser procesada por el robot... Control de Robots y Sistemas Sensoriales
  • 7. Instrucciones más utilizadas(IV) Ejemplos: •Set out1 (fija el valor de la salida out1 a uno) •Reset out3 (fija el valor de la salida out3 a cero) •SetDO pinza, off (fija el valor de la salida pinza a off) •SetAO out5, 4.3 (fija la salida analógica out5 a 4.3) (ojo: ni V ni A) •WaitDi pieza, 1 (espera hasta que la entrada pieza tome el valor 1) También es posible utilizar el valor de las entradas dentro de una expresión, como si se fueran variables: •IF pieza=1 THEN... (una entrada digital controla el flujo de programa) •IF par>1.5 THEN... (idem con entrada analógica) (control esfuerzos) Control de Robots y Sistemas Sensoriales
  • 8. Instrucciones más utilizadas(V) INSTRUCCIONES DE CONTROL DE FLUJO DE EJECUCIÓN Las habituales en lenguajes de programación de alto nivel: •FOR ... ENDFOR: repite una sección del programa un número fijo de veces. •WHILE ... ENDWHILE: repite una sección del programa mientras se cumpla una cierta condición. •GOTO: salto incondicional a una determinada instrucción. •IF ... THEN ... ELSE ... ENDIF: ejecuta un conjunto de instrucciones sólo si se cumple una cierta condición. •TEST/CASE: ejecuta unas u otras instrucciones en función del valor de un dato (similar al switch/case del lenguaje C). Control de Robots y Sistemas Sensoriales
  • 9. Variables y expresiones en RAPID (I) La variables y constantes en RAPID se denominan datos. Definición de un dato: alcance, su persistencia y su tipo: Asignación de valores a los datos: operador := LOCAL VAR pos posicion_robot; alcance local persistencia variable dato tipo posicion nombre dato posicion_robot := [0.0, 0.0, 0.0]; Control de Robots y Sistemas Sensoriales
  • 10. Variables y expresiones en RAPID (II) Posibles ámbitos para un dato: •LOCAL: sólo accesible desde la rutina o módulo donde se declara •GLOBAL: accesible desde otras rutinas o módulos. Posibles persistencias para un dato: •VAR: dato variable. Su valor puede ser modificado en el programa. •CONST: dato constante. No permite ser modificado. •PERS: dato persistente. Si se modifica en el programa permanece modificado para nuevas ejecuciones del mismo. Control de Robots y Sistemas Sensoriales
  • 11. Variables y expresiones en RAPID (III) TIPOS DE DATOS BÁSICOS Num: dato numérico (entero o real). Bool: valor lógico (TRUE o FALSE). String: cadena de caracteres. TIPOS DE DATOS PROPIOS DEL MANEJO DEL ROBOT Pos: posición cartesiana (vector de 3 valores numéricos X, Y, Z) Orient: orientación expresada mediante un cuaternio (vector de 4 valores numéricos (Q1, Q2, Q3, Q4) ConfData: configuración del robot. Indica los cuadrantes en los que se encuentran los ejes 1, 4, 6 y 5 del robot. Vector de 4 valores numéricos (conf1, conf2, conf3, conf4). Control de Robots y Sistemas Sensoriales
  • 12. Configuración: resuelve ambigüedades Control de Robots y Sistemas Sensoriales
  • 13. Cómo especificar la configuración Para cada uno de los ejes 1, 4 y 6 se indica el cuadrante en el que se debe encontrar situado (ángulo girado desde 0º): CONST confdata conf_1 := [0, 0, -1, 1]; La instrucción anterior indica una configuración 0 para el eje 1, 0 para el eje 4 y -1 para el eje 6. El último dato no se utiliza en el IRB-140. 0 1 2 3 Control de Robots y Sistemas Sensoriales
  • 14. Variables y expresiones en RAPID (IV) TIPOS DE DATOS PROPIOS DEL MANEJO DEL ROBOT (cont) ExtJoint: posición de los ejes externos. Vector de 6 valores numéricos (eje1 a eje6). El IRB-400 es capaz de controlar hasta 6 ejes externos. RobTarget: indica un objetivo a alcanzar por el robot. Esto es: •una posición (expresada como un dato pos: X, Y, Z). •una orientación (dato orient: Q1, Q2, Q3, Q4). •una configuración (dato confdata: conf1, conf2, conf3, conf4). •una posición de los ejes externos (dato extjoint: eje1 a eje6). Control de Robots y Sistemas Sensoriales
  • 15. Ejes externos: diferentes aplicaciones •Robot desplazable por un carril. •Pinza controlada en posición. •Herramienta especial (ejemplo: movimiento de atornillado, con traslación y rotación sincronizadas). No confundir con las señales de salida: en este caso hay control en bucle cerrado. Control de Robots y Sistemas Sensoriales
  • 16. Variables y expresiones en RAPID (V) TIPOS DE DATOS PROPIOS DEL MANEJO DEL ROBOT (cont) SpeedData: velocidad para los movimientos. Existen valores predefinidos: v100, v200, v1000, .... El valor indica velocidad de traslación en mm/s; también se especifica la vel. de rotación. ZoneData: precisión con la que se debe alcanzar una posición antes de que el robot pueda dirigirse hacia la posición siguiente. Existen valores predefinidos: z10, z20, z50, fine, ... . El valor indica la máxima diferencia en mm. respecto del punto pedido. Se especifican más parámetros: orientaciones, ejes externos, .... También se distingue entre puntos de paso y puntos de paro. Control de Robots y Sistemas Sensoriales
  • 17. Zona de precisión para un punto de paso Control de Robots y Sistemas Sensoriales
  • 18. Control de Robots y Sistemas Sensoriales Diferencia punto de paso / punto de paro
  • 19. Variables y expresiones en RAPID (VI) TIPOS DE DATOS PROPIOS DEL MANEJO DEL ROBOT (cont) ToolData: herramienta utilizada por el robot. Se especifica tanto la geometría (sistema de coordenadas de la herramienta) como la carga (peso, centro de gravedad y momentos de inercia). LoadData: pieza manipulada por el robot. Se especifican el peso, el centro de gravedad y los momentos de inercia. Control de Robots y Sistemas Sensoriales
  • 20. Introducción de programas en el IRB-140 DOS POSIBILIDADES •Programación desde la paleta de programación. •Se lleva al robot a las posiciones deseadas manualmente (haciendo uso del joystick). •Se crea una instrucción de programa para cada posición indicada manualmente, especificando velocidad, precisión, etc. •Se añaden las instrucciones necesarias: control de E/S, etc. •Ventajas: no requiere ningún cálculo, pocas posibilidades de error. •Escritura del programa en PC y transferencia al robot vía disquete. •Las posiciones se calculan analíticamente; con estos datos se escribe un programa utilizando el lenguaje RAPID. •Ventajas: facilidad para introducir modificaciones o revisar. Control de Robots y Sistemas Sensoriales
  • 21. Programación desde la paleta (I) Joystick: 3 GDL 2 dispositivos de seguridad Control de Robots y Sistemas Sensoriales
  • 22. Programación desde la paleta (II) Varias posibilidades para mover el robot con el joystick: •Introduciendo traslaciones a lo largo de 3 ejes y giros sobre 3 ejes (cada eje se maneja con un grado de libertad del joystick). •respecto del sistema de coordenadas de la base del robot. •respecto del sistema de coordenadas de la herramienta u otro. •Actuando directamente sobre las articulaciones del robot (máximo sobre 3 de los ejes simultáneamente). Control de Robots y Sistemas Sensoriales
  • 23. Programación desde PC (I) Cabecera de un programa RAPID: %%% VERSION:1 LANGUAGE:ENGLISH %%% Código del programa, siempre estructurado en módulos: MODULE carga_CNC ... Cuerpo del programa ... ENDMODULE Por ejemplo, en este módulo se incluirían todos los datos e instrucciones correspondientes a la carga de una pieza en una máquina CNC. Control de Robots y Sistemas Sensoriales
  • 24. Programación desde PC (II) Dentro de un módulo: declaraciones de datos y procedimientos (rutinas): MODULE carga_CNC VAR pos posic1 := [100, 200, 300]; VAR pos posic2 := [200, 200, 100];... PROC rutina1 ... instrucciones ... ENDPROC PROC rutina2 ... Instrucciones ... ENDPROC ENDMODULE NOTA: Siempre debe existir la rutina main() que llama a las demás. Control de Robots y Sistemas Sensoriales
  • 25. Control de Robots y Sistemas Sensoriales Ejemplo de programa completo (I) %%% VERSION:1 LANGUAGE:ENGLISH %%% MODULE movimiento_y_agarre !posición pedida: x=100, y=200, z=300 CONST pos posic1 := [100, 200, 300]; !orientación pedida, igual a la de la base del robot CONST orient ori1 := [1, 0, 0, 0]; !configuración: cuadrantes 0, 0 y -1 CONST confdata config1 := [0, 0, -1, 1]; ! ejes externos: el valor 9E9 indica que no existen CONST extjoint ejes1 := [9E9, 9E9, 9E9, 9E9, 9E9, 9E9]; !el objetivo para el robot incluye todos los datos: CONST robtarget rob1 := [posic1, ori1, config1, ejes1]; ...
  • 26. Control de Robots y Sistemas Sensoriales Ejemplo de programa completo (II) ... PROC main() ! Espera a que la señal digital di5 esté activada ! (espera a tener una pieza disponible) WaitDI di5, 1; ! Se mueve a la posición programada el línea recta ! Se supone definida la herramienta tool1 MoveL rob1, v200, fine, tool1; ! Activa la señal digital do3 ! (activa la pinza del robot) Set do3; ENDPROC ENDMODULE