Você está na página 1de 8

Trabalho Grau A

Carlos André Antunes


Waypoints

1,3

7
2
4,6 8,10

5 9
ESTEIRA A

SENSOR A

SENSOR B
ESTEIRA B SENSOR C

ESTEIRA C
Programa do Robô
• Se SensorA igual a HI //sensor da esteira A •    Se não se SensorB igual a HI //sensor da
• Movimento J esteira B
• waypoint_1 • Movimento J
• Unir com o raio 100mm • waypoint_4
• Movimento L • Unir com o raio 100mm
• waypoint_2 • Movimento L
• seta Gripper=On • waypoint_5
• espera: 1.0 • seta Gripper=On
• waypoint_3 • espera: 1.0 //espera 1 segundo
• executa: coloca_na_caixa //definido • waypoint_6
no proximo slide • executa: coloca_na_caixa
• senão //se nenhum sensor for ativado
• Movimento J
• waypoint_7
• Unir com o raio 100mm
Coloca_na_caixa
Procedimento coloca_na_caixa (considere que na inicialização, inBox=False e counter=0)
•     Movimento J
• waypoint_8
• Arrendonda com o raio 50mm
• espera SensorC=HI
•     Movimento L
• waypoint_9
• Set Gripper=Off
• espera: 1.0 //espera 1 segundo
• waypoint_10
• inBox:=True
• counter:=counter+1 //conta quantas peças foram colocadas nas caixas
Threads
Thread 1 //controla a esteira A Thread 3 //controla a esteira C
    seta EsteiraA=On
    espera SensorA=HI     seta EsteiraC=On
    seta EsteiraA=Off     espera SensorC=HI
    espera SensorA=LO
    sync()     seta EsteiraC=Off
    espera inBox=True
Thread 2 //controla a esteira B
    seta EsteiraB=On
    inBox:=False
    espera SensorB=HI     seta EsteiraC=On
    seta EsteiraB=Off
    espera SensorB=LO
    espera SensorC=LO
    sync()     sync()
Segurança
Plano1
• Ponto1
• restrições: ambos

Esfera de ferramenta
• Raio:300
Explicação
• Verificamos se os sensores das esteiras A e B foram ativados utilizando if/else, como
demonstrado no módulo 9 do treinamento da Universal Robots.
• Se tiver uma peça esperando na esteira A, o robô vai pegá-la e levá-la até a caixa.
• Se não se tiver uma peça esperando na esteira B (e não na A), a peça na esteira B será levada até a caixa.
• Se não o robô se direciona ao ponto Waypoint 7, que entre os waypoints 1 e 4, esperando uma peça chegar;
• Utilizamos um procedimento (ou subprograma), também visto no módulo 9, para levar a peça
até a caixa, evitando assim a repetição de código. O subprograma coloca_na_caixa é chamado
após o robô pegar uma peça da esteira A ou da esteira B;
• Cada uma das threads controla uma das esteiras;
• A variável counter é atribuída com o valor de 0 no início do programa e a variável inBox é
atribuída com False.
• Foi definido um plano de segurança para a parte de trás do robô
• Foi feita a otimização de alguns pontos unindo com o raio

Você também pode gostar