PDF de programación - Robótica. Soluciones a los problemas propuestos

Imágen de pdf Robótica. Soluciones a los problemas propuestos

Robótica. Soluciones a los problemas propuestosgráfica de visualizaciones

Publicado el 14 de Enero del 2017
667 visualizaciones desde el 14 de Enero del 2017
913,9 KB
11 paginas
Creado hace 17a (11/01/2007)
UNIVERSIDAD NACIONAL DE

EDUCACIÓN A DISTANCIA



DEPARTAMENTO DE INGENIERÍA DE

SOFTWARE Y SISTEMAS INFORMÁTICOS

ESCUELA TÉCNICA SUPERIOR DE

INGENIERÍA INFORMÁTICA



JUAN DEL ROSAL, 16

28040 MADRID

APARTADO DE CORREOS 60.141



 
 
 



Ingeniería Técnica en Informática de Sistemas (Plan Nuevo y Plan Antiguo)
Ingeniería Técnica en Informática de Gestión (Plan Nuevo y Plan Antiguo)



ASIGNATURA:

ROBÓTICA

Curso 2006/2007

Soluciones a los

PROBLEMAS PROPUESTOS



TEMA 6

Carlos Cerrada Somolinos

 
Profesor de la asignatura

Preparados por:



Enunciado del PROBLEMA 6.1



Soluciones del Equipo Docente de Robótica a los Problemas Propuestos del Tema 6

6.1

Solución al PROBLEMA 6.1

1) Planteemos un primer esquema de funcionamiento en seudocódigo:



Mover robot a posición de espera segura sobre el primer punto
10 Esperar mordaza apretada (pieza colocada en posición inicial)
20 Mover robot a punto de inicio de soldadura



100 Ordenar retirada de pieza de la mordaza



Esperar giro finalizado de la mordaza de apriete (pieza en orientación correcta)
Realizar trayectoria de soldadura
Retirar robot a posición de no interferencia con el giro de pieza
Comprobar si se han dado los 4 giros (pieza completada)
Si todos los giros ir a 100
Ordenar giro siguiente
Realizar trayectoria de retroceso
Ir a 20

Realizar trayectoria de retroceso
Ir a 10


2) Analicemos los recursos de programación necesarios:

• Señales digitales de Entrada/Salida a tener en cuenta:


nº 2 (salida): señal de activación giro de mordaza, para ordenar el comienzo del giro
siguiente.
nº 1 (salida): señal de activación de fin de ciclo, para ordenar comienzo de retirada de
pieza de la mordaza.

nº 12 (entrada): señal que indicará que el giro en curso de la mordaza ha terminado.
nº 11 (entrada): señal que indicará que la pieza está colocada en posición inicial de la
mordaza.

Las definiciones correspondientes podrían ser:


DEFINE GIROM = OUTPORT 2
DEFINE FINCICLO = OUTPORT 1
DEFINE FINGIRO = INPORT 12
DEFINE MORDAZA = INPORT 11



• Para desactivar/activar la pinza de soldadura se supondrá que funciona con las

instrucciones OPEN/CLOSE.


• Como puntos “seguros” se pueden definir un conjunto de ellos colocados sobre los
puntos de soldadura extremos y fuera de la estructura mecánica de la pieza (por
ejemplo a 10cm). Pueden servir para definir a su vez una trayectoria completa de
retroceso, así como para determinar las zonas de cambio de dirección de soldadura sin
tropezar con la pieza.


• También se supone definido un sistema de referencia cartesiano respecto al que se
definen las coordenadas de los puntos y las direcciones de orientación de la
herramienta. Una propuesta sería la de la figura en la que el eje Z coincide con el eje de


Soluciones del Equipo Docente de Robótica a los Problemas Propuestos del Tema 6

6.2

giro de la mordaza, y el origen del sistema está colocado 5cm por debajo del plano
inferior del aspa.


• Cada punto seguro se podría definir en este sistema como un agregado de 6
componentes, siendo las 3 primeras las coordenadas cartesianas del punto y las 3
últimas las componentes de un vector dirección coincidente con la dirección de
soldadura en ese punto (y con el que se supone
debe estar alineado el vector de aproach de la
herramienta del robot en el mismo). Una
posible definición de los mismos según este
esquema y la figura adjunta sería:


Z

P2

35.0

30.0

25.0

P1

P3

efectuados (desde 1 hasta 4) que permita controlar el bucle de fin de operación,
llamémosla CONTAGIROS. También se pueden utilizar dos variables CONTAH y
CONTAV para contar en cada ciclo el número de soldaduras realizadas en horizontal y
vertical respectivamente.


3) Un posible código más refinado usando el lenguaje del texto sería (páginas siguientes):

DEFINE P1 = POINT <0,10.25,35,0,0,-1>
DEFINE P2 = POINT <0,25.25,35,0,0,-1>
DEFINE P3 = POINT <0,35.25,35,0,-1,-1>
DEFINE P4 = POINT <0,35.25,20,0,-1,0>
DEFINE P5 = POINT <0,35.25,15,0,-1,0>
DEFINE P6 = POINT <0,35.25,0,0,-1,1>
DEFINE P7 = POINT <0,25.25,0,0,0,1>
DEFINE P8 = POINT <0,10.25,0,0,0,1>


• Se necesita una variable contador para los giros

P4

P5

10.25

P8

25.25
P7

35.25
P6

Y

10.0

20.0

15.0

10.0
5.0

0.25

X


Soluciones del Equipo Docente de Robótica a los Problemas Propuestos del Tema 6

6.3

PROGRAMA SOLDARCRUZ


%
% Definición de puertos de E/S, constantes y variables
%

DEFINE GIROM = OUTPORT 2
DEFINE FINCICLO = OUTPORT 1
DEFINE FINGIRO = INPORT 12
DEFINE MORDAZA = INPORT 11
DEFINE P1 = POINT <0,10.25,35,0,0,-1>
DEFINE P2 = POINT <0,25.25,35,0,0,-1>
DEFINE P3 = POINT <0,35.25,35,0,-1,-1>
DEFINE P4 = POINT <0,35.25,20,0,-1,0>
DEFINE P5 = POINT <0,35.25,15,0,-1,0>
DEFINE P6 = POINT <0,35.25,0,0,-1,1>
DEFINE P7 = POINT <0,25.25,0,0,0,1>
DEFINE P8 = POINT <0,10.25,0,0,0,1>
DEFINE RETROCESO = PATH (P7,P6,P5,P4,P3,P2,P1)
DEFINE PUNTO = POINT
DEFINE CONTAGIROS, CONTAH, CONTAV = INTEGER

%
% Comienzo de código de ejecución
%

MOVE P1
CONTAGIROS = 0

CONTAH = CONTAH + 1
IF CONTAH GT 4 GOTO 25
PUNTO = PUNTO + <0, 5, 0>
MOVES PUNTO
GOTO 20

PUNTO = P1
WAIT FINGIRO, ON
CONTAH = 1
APPROS PUNTO, 10
PUNTO = PUNTO + <0, 0, -10>

5
10 WAIT MORDAZA, ON



20 CALL SOLDAR



25 DEPARTS PUNTO, 10



30 CALL SOLDAR



35 DEPARTS PUNTO, 10


Soluciones del Equipo Docente de Robótica a los Problemas Propuestos del Tema 6

MOVES P3
MOVES P4
PUNTO = P4
CONTAV = 1
APPROS PUNTO, 10
PUNTO = PUNTO + <0, -10, 0>

CONTAV = CONTAV + 1
IF CONTAV GT 2 GOTO 35
PUNTO = PUNTO + <0, 0, -5>
MOVES PUNTO
GOTO 30

MOVES P6

6.4

CONTAH = CONTAH + 1
IF CONTAH GT 4 GOTO 45
PUNTO = PUNTO + <0, -5, 0>
MOVES PUNTO
GOTO 40

MOVES P7
PUNTO = P7
CONTAH = 1
APPROS PUNTO, 10
PUNTO = PUNTO + <0, 0, 10>



40 CALL SOLDAR



45 DEPARTS PUNTO, 10
SIGNAL GIRAM, ON

MOVES RETROCESO

CONTAGIROS = CONTAGIROS + 1


IF CONTAGIROS LT 4 GOTO 10
SIGNAL FINCICLO, ON

GOTO 5


END PROGRAM
%
% Subrutina para soldar un punto
%



SUBROUTINE SOLDAR
CLOSEI
WAIT 500
OPENI
END SUBROUTINE



% msec


Soluciones del Equipo Docente de Robótica a los Problemas Propuestos del Tema 6

6.5

Enunciado del PROBLEMA 6.2



Soluciones del Equipo Docente de Robótica a los Problemas Propuestos del Tema 6

6.6




Soluciones del Equipo Docente de Robótica a los Problemas Propuestos del Tema 6

6.7

Solución al PROBLEMA 6.2

1º) Análisis del problema y recursos necesarios.


Del análisis previo de este problema observamos que se trata de un enunciado similar

al planteado en el texto, si bien se pueden considerar ciertas simplificaciones:

• No hay que efectuar ningún test a las piezas, y por tanto tampoco parece necesario
usar la caja de deshechos (aunque aparezca en la figura) al no tener que considerar
piezas defectuosas.

• Para no complicar en exceso la programación, y dado que se pueden hacer las
hipótesis oportunas, se considerará que no hay que gestionar alarmas de falta de
componente en alimentador ni componente mal agarrado por la pinza.

Con estas consideraciones podemos plantear una primera descripción por pasos de la

tarea a programar:



1
2

Solicitar la colocación de un nuevo pallet vacío en la posición de llenado
Gestionar dos bucles, uno por filas y otro por columnas, para calcular (y recorrer)
cada una de las posiciones libres del pallet (que tiene forma matricial).
Por cada posición libre calculada realizar la secuencia:

3
3.1 Recoger pieza del alimentador
3.2 Dejar pieza en la posición libre del pallet
4
5
6
7

Analicemos a continuación los recursos de programación necesarios:

Calcular la siguiente posición libre del pallet
Si el pallet NO está lleno volver al paso 3
Ordenar la retirada del pallet lleno
Repetir el ciclo: vuelta a 1


• Señales de control digitales de Entrada/Salida a tener en cuenta:


Ea (entrada): Indicará que hay pieza en el alimentador
Ep (entrada): Indicará que el pallet está disponible en su posición inicial
Sm (salida): señal de control del motor de la cinta transportadora


• La pinza se activará también con una señal digital de salida, si bien su programación

puede considerarse integrada en el lenguaje Código-R mediante las instrucciones:



; para cerrar la pinza
; para abrirla

PINZA = CERRAR
PINZA = ABRIR



• Según el gráfico parece necesario definir varios puntos (constantes o variables de tipo
posición) asociados a localizaciones de los distintos elementos que aparecen en el
mismo, tales como:



Pa : Posición del alimentador (fija)
Pp : Posición del pallet (fija). Podemos usarla como posición inicial de llenado del

mismo y llamarla Pi

Oa : Orientación según llegan las piezas en el alimentador (fija)
Op : Orientación en que habrá que colocar las piezas en el pallet (fija)
Pv : Posición del hueco libre actual en el pallet en cada instante (variable)


Soluciones del Equipo Docente de Robótica a los Problemas Propuestos del Tema 6

6.8

Pf : Posición del primer hueco libre de cada fila del pallet (variable)
Ic : Incremento de posición según el eje x entre cada columna del pallet (fija)
If : Incremento de posición según el eje y entre cada fila del pallet (fija)


• Macroinstrucciones y subrutinas: Como se ha visto en el texto base, se puede
simplificar la codificación usando macroistrucciones y subrutinas. Pueden utilizarse las
mismas que en el ejemplo del libro.


• Se necesitan dos bucles anidados, y se pueden usar los n
  • Links de descarga
http://lwp-l.com/pdf909

Comentarios de: Robótica. Soluciones a los problemas propuestos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad