Escolar Documentos
Profissional Documentos
Cultura Documentos
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