relatório_robótica final grupo 2

49
Mod.AFTEBI.P-080.rev03 Trabalho Prático CURSO: Automação, Robótica e Controlo Industrial Ano Lectivo: 2012/2014 Plano Adicional de Formação 1º Semestre CET 2º Semestre CET X Disciplina: Robótica Avançada Pólo: Covilhã Nome do Formador: Diogo Correia Data: 27/01/2014 Nomes dos Formandos: Henrique Querido, Igor Saraiva, Rui Santiago Felício Classificação: valores SIMULAÇÃO DE UM SISTEMA DE SEPARAÇÃO DE PEÇAS SCORBOT ER-4 PC Pág. 1 de 49

Upload: estudantept

Post on 20-Oct-2015

22 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Trabalho Prático CURSO: Automação, Robótica e Controlo Industrial Ano Lectivo: 2012/2014Plano Adicional de Formação 1º Semestre CET 2º Semestre CET XDisciplina: Robótica Avançada Pólo: Covilhã

Nome do Formador: Diogo Correia Data: 27/01/2014

Nomes dos Formandos: Henrique Querido, Igor Saraiva, Rui Santiago Felício

Classificação: valores

SIMULAÇÃO DE UM SISTEMADE SEPARAÇÃO DE PEÇAS

SCORBOT ER-4 PC

Pág. 1 de 39

Page 2: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Introdução

Com este relatório pretendemos efectuar a separação de dois tipos de peças (base quadrada ou base circular).Para isso, iremos utilizar um braço robótico e vários sensores, para as conseguirmos diferenciar, e colocar nas posições impostas pelo formador.

Pág. 2 de 39

Page 3: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

O aparecimento do conceito robô

O conceito do termo robô ap a r e ce u pela primeira vez, em 1921 por Karel Capek, escritor de ficção cientifica utilizado a palavra “robota” (serviço compulsório, actividade forçada) originando a palavra “robot” em inglês e traduzido para o português como “robô”. Diversos filmes de ficção científica relatam e mostraram robôs capaz de desenvolver comportamento e formas humanas levando muitas pessoas a especular a capacidade de um robô pensar e agir como um ser humano. No entanto, os robôs foram criados especialmente para executarem tarefas difíceis, perigosas para um ser humano. No entanto, eles não eram projectados com a capacidade de criar ou executar processos que não lhes foram ensinados ou programados. Assim sendo, as indústrias foram as que mais beneficiaram com o seu desenvolvimento, aumentando a produção e reduzindo o risco de acidente devido ao manuseamento de matérias pesadas ou perigosas.

O que é Robótica?

Robótica é um campo vasto tecnológico que necessita de conhecimentos de Electrónica, Mecânica e Informática, que trata de sistemas compostos por partes mecânicas e partes controladas por circuitos integrados, tornando sistemas mecânicos motorizados.

Por norma os robôs são tidos como causadores de desemprego, no entanto, o que ocorre na maioria dos casos é que os robôs acabam por modificar a posição dos humanos nos postos de trabalho da linha de produção para o embalamento dos produtos entre outras tarefas que não podem ser automatizadas.

Pág. 3 de 39

Page 4: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Quanto à estrutura mecânica

As principais configurações são as seguintes:

Robôs de coordenadas cartesianas (pórticos)

Robôs de coordenadas cilíndricas

Robôs de coordenadas esféricas

Robôs SCARA5.

 Robôs articulados ou antropomórficos Robôs paralelosOs robôs paralelos apresentam uma configuração tipo plataforma e mecanismos em forma de cadeia cinemática fechada. O volume de trabalho resultante é aproximadamente esférico.

Pág. 4 de 39

Page 5: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

SCORBOT ER-4 PC

O Scorbot ER-4 PC é um robô de articulação vertical totalmente aberto, possuindo 5 eixos mais a garra, accionados por servos motores DC, que proporcionam altas velocidades, óptima precisão e excelente receptibilidade. O diferencial do Scorbot ER-4 PC é seu sistema de controlo, composto por uma placa colocada dentro do PC e um Box Drive para o accionamento dos motores e pontos I/O.Todo controle de trajectória do robô é feito por microprocessadores separados, um para cada eixo, usando avançadas técnicas de processamento paralelo. O Box Drive está preparado para accionar cinco eixos de robô, uma garra e dois acessórios. Para a integração do robô com o meio externo, ele possui 16 entradas/saídas digitais PNP, 4 entradas analógicas de 0-10V e 2 saídas analógicas de 0-10V.

Pág. 5 de 39

Page 6: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

GRAUS DE LIBERDADE:

O número de articulações num braço do robô é também referenciado como grau de liberdade. Quando o movimento relativo ocorre num único eixo, a articulação possui um grau de liberdade e quando ocorrer em mais de um eixo, terá dois graus de liberdade. A maioria dos robôs tem entre 4 a 6 graus de liberdade.

FORMA DE ACIONAMENTO:

O driver eléctrico acciona motores eléctricos que podem ser de corrente contínua, de passo ou corrente alternada.

As vantagens: • Eficiência calculada, controle preciso; • Envolve uma estrutura simples e de fácil manutenção; • Não requer uma fonte de energia cara; • Custo relativamente pequeno.

As desvantagens: • Não pode manter um momento constante nas mudanças de velocidade de rotação; • Sujeitos a danos para cargas pesadas, suficientes para parar o motor; • Baixa razão de potência de saída do motor e do seu peso, necessitando de um motor grande no braço.

TIPO DE JUNTA:

Pág. 6 de 39

Page 7: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Esta conexão permite movimentos de rotação entre dois vínculos. Os vínculos são unidos por uma dobradiça comum, com uma parte podendo mover-se num movimento cadenciado em relação à outra.

Junta de Rotação

ARTICULAÇÃO VERTICAL:

É usual classificar os robôs de acordo com o tipo de junta, ou mais exatamente, pelas três juntas mais próximas da base do robô. Essa divisão em classes fornece informações sobre características dos robôs em várias categorias importantes.

1. Espaço de trabalho; 2. Grau de rigidez; 3. Extensão de controlo sobre o curso do movimento; 4. Aplicações adequadas ou inadequadas para cada tipo de

robô.

Os robôs de articulação vertical caracterizam-se por possuir três juntas de revolução.

Articulação Vertical

Pág. 7 de 39

Page 8: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

A sua área de actuação é maior que a de qualquer tipo de robô, tendo uma baixa rigidez mecânica. O seu controlo é complicado e difícil, devido às três juntas de revolução e devido a variações no momento de carga e de inércia.

ATUADOR (Garra):

O actuador é todo um sistema montado na extremidade do vínculo mais distante da base do robô, cuja tarefa é agarrar objectos, ferramentas ou transferi-las de um lugar para outro. A operação do actuador é o objectivo final na operação de um robô, assim todos os demais sistemas são projectados para habilitar sua operação. O actuador é de extrema importância na execução de uma tarefa, portanto é necessário que o mesmo seja adequadamente projectado e adaptado às condições do seu meio e área de trabalho.

O robô SCORBOT ER - III possui uma garra do tipo dois dedos. Esta garra é o tipo mais comum e com grande variedade. São diferenciadas umas das outras pelo tamanho ou movimento dos dedos.

A principal desvantagem desta garra é a limitação da abertura dos seus dedos restringindo a sua operação em objectos cujo tamanho não exceda esta abertura.

CONTROLE DE TRAJETÓRIA:

Pág. 8 de 39

Page 9: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Cada tarefa executada por um robô pode ser considerada como uma série de operações, através da qual o actuador é movido pelo braço do robô entre pontos pré-determinados e operado como programado. O controlo de trajectória pode ser classificado em dois métodos: ponto-a-ponto e contínuo. O controlo de trajectória ponto-a-ponto é uma das características do SCORBOT. No controlo ponto-a-ponto, define-se primeiramente, uma colecção de pontos para o robô. Em seguida, obtém-se a série que é armazenada na memória do controlador. Ao executar o programa, o braço do robô move-se por vários pontos, de acordo com a ordem dos passos definidos na série. Em cada passo o robô sabe o seu destino, mas não conhece a trajectória que irá traçar.

Pág. 9 de 39

Page 10: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

O CONTROLADOR

O termo "controlador" refere-se à unidade que opera e controla o braço mecânico. A figura mostra o controlador do SCORBOT ER -4 PC.

As funções do controlador são as seguintes:

• Ativação dos motores do robô;

• Tratamento das informações recebidas dos encoders como parte do processo de realimentação;

• Identificação de sinais do ambiente.

• Ativação de equipamentos externos, em completa sincronização com o robô, através de oito saídas;

• Identificação dos sinais recebidos do braço do robô, além de estabelecer um ponto de referência permanente.

Figura. O controlador

ENCONTRANDO O ROBOT HOME COM O SCORBOT ER 4 PC

Pág. 10 de 39

Page 11: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Como nos robôs industriais, o SCORBOT ER 4 PC é capaz também, de encontrar seu ponto de inicialização no espaço. Cada uma das articulações inclui uma chave, que é pressionada quando a articulação assume uma certa posição no espaço. A figura ilustra a forma do braço mecânico no seu ponto de inicialização. A figura mostra a posição das chaves nas articulações do braço.Os utilizadores podem obter vantagens do programa de localização do ponto de inicialização fornecido pelo fabricante, ou podem escolher escrever seus próprios programas para esta finalidade.

Braço mecânico no ponto de inicialização

UTILIZANDO SCORBASE PARA OPERAR O ROBÔ

Scorbase é uma linguagem alto nível, utilizada para operar o Robô didático SCORBOT ER 4 PC, que permite o controlo da trajetória do robô. O objetivo deste capítulo é apresentar os Princípios de Operação da linguagem SCORBASE e detalhar sua divisão em três níveis:• Nível 1: para iniciantes• Nível 2: intermediário• Nível 3: avançado

Fig. Posição das chaves

PRINCÍPIOS DE OPERAÇÃO

O SCORBASE foi projetado para ensinar os estudantes a escrever programas para o robô em dois níveis:

Pág. 11 de 39

Page 12: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Nível 1: Ensinar ao robô as suas várias posições, às quais o utilizador quer que ele alcance enquanto executa uma operação. Nível 2: Escrever um programa para a operação do robô, sendo que para isto é necessário apenas um computador deixando o robô livre para outro utilizador.A vantagem desta metodologia é a eficiência na utilização do robô, pois enquanto um utilizador escreve um programa, outro pode operar o mesmo (numa situação semelhante a encontrada na indústria).Isto é caracterizado pelo que se denomina "programação off line"Além desta, uma outra característica da linguagem SCORBASE é a de permitir o controlo do robô em tempo real durante a execução do programa.

SCORBASE NÍVEL 1

Este nível de programação é destinado a ensinar ao estudante como posicionar o robô e explicar como estas posições são usadas na programação off line. Ao iniciar o trabalho com Scorbase nível 1 deve-se tomar as seguintes precauções:

1) Ter certeza de que o braço do robô está conectado ao controlador.2) Certificar-se de que o computador está conectado ao controlador.3) Ligar a alimentação do controlador.4) Ligar a chave do motor.5) Ligar o computador e carregar o programa SCORBASE nível 1.

Quando o programa estiver carregado; o MENU PRINCIPAL será exibido:

O Menu Principal, como mostrado na figura acima, inclui as seguintes opções:

• TEACH POSITIONS: esta opção mostrará um ecrã na qual o utilizador pode movimentar o robô a partir do teclado do computador, e gravar as posições desejadas na memória.• EDIT PROGRAM (OFF-LINE): esta opção mostra um ecrã a partir da qual o utilizador pode escrever

Pág. 12 de 39

MAIN MENU

1 TEACH POSITIONS2 EDIT PROGRAM (OFF- LINE)3 PROGRAM HANDLING4 RUN PROGRAM5 HOME

Page 13: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

novos programas para o robô, listar o programa atual, apagar e adicionar novas linhas a programas existentes e apagar programas.• PROGRAM HANDLING: esta opção mostra um ecrã a partir da qual o utilizador pode realizar operações de disco tais como: gravar novos programas, carregar programas previamente escritos, apagar e listar programas.

• RUN: esta opção mostra um ecrã a partir da qual o utilizador pode executar passo a passo ou num ciclo contínuo os programas que foram escritos.A estrutura destes menus será discutida a seguir.

MOVIMENTO DAS ARTICULAÇÕES DO ROBÔPara ensinar posições no espaço, o utilizador move as articulações do robô até que a garra esteja localizada na posição desejada. As primeiras sete posições do menu TEACH POSITIONS são destinadas a executar esta função, sendo que nas cinco primeiras opções, o movimento ocorre nas articulações do braço mecânico, e nas opções 6 e 7, são fornecidos dois graus de liberdade adicionais.

Pág. 13 de 39

TEACH POSITIONS MENU

1/Q MOVE BASE RIGHT/LEFT2/W MOVE SHOULDER UP/DOW3/E MOVE ELBOW UP/DOW4/R MOVE WRIST-PITCH UP/DOW5/T MOVE WRIST-ROLL UP/DOW6/Y MOVE AXIS 6 +/-7/U MOVE AXIS 7 +/-OG/OC OPEN/CLOSE GRIPERF/S FAST/SPEEDGP GO TO POSITION #P RECORD POSITIONL LIST/DELETE POSITIONSH SET PRESENT POSITION AS HOME<ESC> RETURN TO MAIN MENU

Page 14: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

MENSAGEM DE ERRO DE COMUNICAÇÃOSe uma das teclas de funções acima citadas for pressionada quando o controlador do robô está desligado, ou quando o cabo de comunicação está desligado, será mostrada a seguinte mensagem:

"COMUNICATION ERROR"Esta mensagem será mostrado até que se ligue o controlador do robô e se pressione a tecla <ESC> o que causará o retorno do MAIN MENU para a tela.

MENSAGEM DE ERRO DO MOTORSe um das teclas de funções for pressionada quando for impossível o movimento da articulação correspondente, devido a uma parada mecânica que impede o movimento, ou porque o motor desta articulação não está conectado ao controlador, aparecerá a seguinte mensagem:

"MOTOR X ERROR!PRESS 'C' TO CONTINUE OR 'M'TO RETURN TO MENU"

Onde o "x" da mensagem corresponde ao motor incapaz de se movimentar. Qualquer tecla que não seja 'C' ou 'M', será rejeitada pelo computador.

ABRIR E FECHAR A GARRA

A garra do robô reage aos comandos "OPEN" e "CLOSE" movendo-se para um estado completamente aberto ou fechado quando é teclado [OG] e [CG] respetivamente. Se um objeto está posicionado entre os dedos da garra.Se a garra já está completamente aberta ou fechada ao se tentar, respetivamente, abri-la ou fechá-la, nenhum movimento será executado.

MOVIMENTO DE BAIXA/ALTA RESOLUÇÃO (VELOCIDADE DE MOVIMENTO)

Resolução é um conceito usado para definir o menor movimento que o robô é capaz de executar. No SCORBOT ER- 4 PC, este movimento é medido em pulsos de encoder. Selecionando o comando "FAST/SPEED MOVMENT", é possível ajustar a velocidade do movimento.Quanto maior for a velocidade, mais rápido e suave é o movimento, e quanto menor a velocidade, mais truncado será o movimento, por isto, a baixa

Pág. 14 de 39

Page 15: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

MOVIMENTAÇÃO DO ROBÔ PARA POSIÇÕES ARMAZENADAS NA MEMÓRIAPara mover rapidamente o robô para posições previamente armazenadas na memória, o comando [GP] – Go Position - seguido do número da posição armazenada na memória, realiza esta tarefa.O utilizador deve tomar as precauções para que não haja obstáculos entre o braço do robô e a posição desejada, além disto, se o utilizador decidir cancelar o comando GO POSITION, pode fazê-lo pressionando <ENTER> antes de digitar o número da posição, ou pressionando [B], durante a realização do movimento (o que implica na parada do movimento). No primeiro caso um beep é soado ao se cancelar o comando, e no último será exibida a seguinte mensagem:

"PRESS "C" TO CONTINUE "M" TO RETURN TO MENU"

Caso o utilizador tenha introduzido um número para as posições que não esteja compreendido entre 1 e 100, a seguinte mensagem será exibida:

"VALUE IS OUT OF RANGE"

Caso se mande o robô para uma posição que não existe na memória, a mensagem abaixo será exibida: "POSITION IS EMPTY"

GRAVANDO POSIÇÕES NA MEMÓRIAO comando RECORD POSITION é utilizado para se gravar uma determinada posição do braço do robô. Para tanto, deve-se teclar [P] e digitar uma posição de 1 a 100Caso uma posição ilegal seja fornecida, a gravação é cancelada, um BEEP é soado e a seguinte mensagem é exibida:"VALUE IS OUT OF RANGE"

DEFININDO A POSIÇÃO ATUAL COMO "HOME"

O comando HOME é utilizado no nível 1 da linguagem SCORBASE, para definir como HOME a posição atualmente ocupada pelo braço do robô. Desta forma, teclando-se [H], a seguinte mensagem será exibida: "SET PRESENT POSITION AS HOMEARE YOU SURE ? (Y/N)"A confirmação desta mensagem (Y) define como HOME a posição corrente.

LISTANDO/APAGANDO POSIÇÕES DA MEMÓRIAO comando [L] do menu TEACH POSITIONS chama outro menu: o menu LIST /DELETE POSITIONS que é mostrado a seguir.

Pág. 15 de 39

LIST DELETE POSITIONS

1 LIST POSITION2 LIST FROM POSITION3 DELETE POSITION4 DELETE FROM POSITION... TO POSITION...5 DELETE ALL6 PRINT POSITIONS<ESC> RETURN TO TEACH POSITIONS MENU

Page 16: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

A opção [1] pede que seja introduzido o número do ponto que se deseja listar e mostra as coordenadas do ponto escolhido uma unidade correspondente ao número de pulsos dos encoders de cada articulação. Caso pontos cujo número não foi gravado sejam solicitados, é exibida a seguinte mensagem:"POSITION IS EMPTY"Caso os pontos solicitados tenham número menor que zero ou maior que 100, é exibida a mensagem: "VALUE IS OUT OFF RANGE"A opção [2] deste menu (LIST FROM POSITION) lista as posições a partir da posição fornecida pelo utilizador. As opções [3], [4] e [5] são destinadas a apagar as posições armazenadas na memória, sendo que DELETEPOSITION apaga apenas a posição fornecida pelo utilizador, DELETE FROM POSITION...TO POSITION..., apaga uma faixa de posições fornecida pelo utilizador, e DELETE ALL apaga todas as posições da memória. A opção PRINT POSITIONS é a de número [6] e se destina a imprimir as posições gravadas

MENU EDIT PROGRAM (OFF LINE)Este menu corresponde à opção [2] de MAIN MENU e destina se a escrever programas simples onde o robô executa sequencialmente as operações que compreendem abertura e fechamento da garra e mover o robô de uma posição à outra.

Pág. 16 de 39

EDIT PROGRAM (OFF LINE)

O/C OPEN/CLOSE GRIPPER1 GO POSITIONI INSERT LINEX REPLACE LINEL LIST/DELETE<ESC> RETURN TO MAIN MENU1 [ ]

Page 17: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Os comandos deste menu serão apresentados abaixo, simulando passo a passo os resultados obtidos com a sua utilização:OPEN GRIPPER (Opção [O])1 OPEN GRIPPER: Abre a garra2 [ ] Avança o ponteiro de programaCLOSE GRIPPER (Opção [C])2 CLOSE GRIPPER Fecha a garra até sentir um objeto3 [ ] Avança o ponteiro de programaGOTO POSITION (Opção [1]) - Move o robô para posição na memória3 GOTO POSITION (Digitar número da posição)4 [ ] Avança o ponteiro de programaP/ cancelar o comando teclar 0 ou número >100. Desta forma, será exibida a mensagem:"VALUE OUT OFF RANGE”

O (exemplo) programa digitado fica:

1 OPEN GRIPPER2 CLOSE GRIPPER3 GOTO POSITION 1INSET LINE (Opção [I])Insere uma linha no meio do programaI INSERT LINE (Digitar o número da linha a ser inserida) Esta opção é útil na correção dos programasREPLACE LINE ( [x])Substitui uma linha existente por outra nova:REPLACE LINE... Teclar número da linha a ser substituídaNo programa exemplo acima, caso se desejasse substituir a linha 1, resultaria:1 Novo comando2 OPEN GRIPPERSCORBASE NÍVEL 13 CLOSE GRIPPER4 GOTO POSITION 1Deve-se observar que o ponteiro volta ao fim do programa.MENU LIST/ DELETE PROGRAM

Pág. 17 de 39

Page 18: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Este menu é similar em estrutura e função ao menu "LIST DELETE POSITIONS", e é exibido ao se teclar [L] no menu "EDIT PROGRAM (OFF LINE)

PROGRAM HANDLING MENUEste menu é exibido ao se escolher a opção [3] do "MAIN MENU" e se destina a executar operações de disco tais como descrito abaixo:

Pág. 18 de 39

LIST DELETE PROGRAM

1 LIST LINE2 LIST FROM LINE3 DELETE LINE4 DELETE FROM LINE ... TO LINE ...5 DELETE ALL6 PRINT PROGRAM<ESC> RETURN TO TEACH POSITIONS MENU

PROGRAM HANDLING MENU

1 SAVE PROGRAM2 LOAD PROGRAM3 DELETE PROGRAM4 CATALOG<ESC> RETURN TO MAIN MENU

Page 19: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

SAVE PROGRAM Grava um programa no disco LOAD PROGRAM Carrega um programa a partir do disco

DELETE PROGRAM Apaga programas do disco CATALOG Mostra lista de programas do disco

MENSAGENS DE ERROAo se tentar gravar, carregar, e apagar programas, alguns erros podem ser cometidos e nestes casosSCORBASE se encarrega de advertir o utilizador com as seguintes mensagens: "ERROR !!!- I/O ERROR-DOOR OPEN, OR DISKETTE NOT INITIALIZED"

Esta mensagem é exibida ao se realizar a operação com a porta do drive de disquetes aberta, ou com uma disquete que não esteja formatada."ERROR !!!- PROGRAM NOT FOUND PROGRAM MISPLACEDOR NOT ON DISKETTE"Esta mensagem é exibida ao se tentar carregar um programa que não esteja gravado no disco ou cujo nome tenha sido digitado errado."ERROR!!!- DISK FULL - TOO MANY PROGRAMS ON DISKETTE”Esta mensagem é exibida ao tentar realizar uma operação de gravação quando o disco se encontrar cheio. "ERROR!!!- WRITE PROTECTED - WRITE PROTECTED TAB ON DISKETTE"Esta mensagem é exibida ao se tentar realizar uma operação de gravação quando o disco se encontrar protegido contra gravação.

RUN PROGRAM MENU

Este menu é exibido ao se escolher a opção [4] do "MAIN MENU" e se destina a execução dos programas, como descrito abaixo:

Pág. 19 de 39

RUN PROGRAM MENU

1 RUN SINGLE LINE2 RUN SINGLE CYCLE3 RUN CONTINUOUSLY4 JUMP TO LINEPRESS "G"KEY TO LET THE ROBOT RUN PRESS "B"KEY FOR IMEDIATE BRAKE ANY OTHER KEY FOR REGULAR<ESC> RETURN TO MAIN MENU

Page 20: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

RUN SINGLE LINE: executa uma única linha do programaTeclar [1] + [G] : executa o programa linha por linha, a partir da linha 1Por esta característica, é útil para executar um programa pela primeira vez. RUN SINGLE CYCLE: Executa todo o programa uma vezTeclar [2] + "G"RUN CONTINUOUSLY: Executa o programa continuamente, sem parar, ciclo após cicloTeclar [3] + "G"Usado para localizar e corrigir erros no programa, simulando procedimentos adotados por robôs industriais. JUMP TO LINE: Permite escolher a linha na qual a execução do programa deve começar.Teclar [4] para mover o ponteiro de programa para a posição desejada. OPÇÃO [B]: Parada de emergênciaÉ destinado a interromper a operação que está sendo executada pelo robô. Quando da utilização desta opção não se perde a posição presente do robô. Ao se tecla [B], a seguinte mensagem é exibida:"PRESS "C"TO CONTINUE"PRESS "M"TO RETURN TO MENUREGULAR STOP: O robô para após completar a linha corrente.

USO DA LINGUAGEM SCORBASE NÍVEL 1Como já foi visto SCOBASE permite:• Operar os motores do robô• Criar movimento no espaço entre posições• Operar a garra

Para tanto, é necessário que sejam seguidas as seguintes etapas:1) Ensinar posições ao robô2) Editar o programa

1 GO POSITION 2

Pág. 20 de 39

Page 21: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

2 OPEN GRIPPER3 GO POSITION 14 CLOSE GRIPPER5 GO POSITION 26 GO POSITION 37 GO POSITION 48 OPEN GRIPPER9 GO POSITION 3

3) Rodar o programa

Os níveis seguintes de SCORBASE (posteriormente apresentados) oferecem complemento aos recursos do nível 1, suprimindo as suas limitações e possibilitando o aumento da complexidade das operações.

SCORBASE NÍVEL 2

O SCORBASE Nível 1 apresentou os princípios de ensino por posições e programação off-line visando a familiarização com o robô e sua operação.No Nível 2 a ênfase está no relacionamento entre o robô e o ambiente: transmissão e receção de sinais, saltos condicionais e incondicionais. Como este nível inclui todo o software do Nível 1, serão apenas mostradas as mudanças e incrementos.

MENU PRINCIPALHá duas mudanças nesta tela: • Opção 5: HOME MENU, para encontrar a posição inicial do robô no espaço (hard home).• Aviso ao utilizador que a posição inicial do robô deve ser encontrada antes de iniciar o trabalho (robô não sincronizado)

MENU HOMEFeita a seleção da tecla 5 é mostrado o Menu Home.O Menu Home habilita mover o robô para encontrar a posição inicial, ou ainda, habilitar uma posição arbitrária como "home", como era feito no Scorbase Nível 1.

Pág. 21 de 39

Page 22: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Antes de se iniciar a sincronização deve-se gravar o programa que está em memória do computador, pois uma vez pressionado a tecla "G" o computador carrega o programa Home e inicia a sincronização do robô. Uma vez carregado o programa Home no computador, inicia-se a sua execução, movendo-se todas as articulações do robô, uma a uma, para localizar os limites possíveis de movimento, sendo testadas as chaves fim-de-curso de cada motor.

Enquanto é executado o programa, são apresentadas mensagens da situação atual do robô, como: "Base is (not) at home"

Se a mensagem for afirmativa indica que os limites foram encontrados e o ponto de home também. Se negativa indica que houve uma falha para encontrar a chave fim de curso correspondente, podendo ser por mal funcionamento ou devido a posição atual do vínculo estar muito distante da posição inicial, durante a execução do programa home. Caso um ou mais limites não foram encontrados, deve-se, via teclado, alcançar a posição inicial, usando todos os comandos necessários para mover o robô. Para definir uma posição arbitrária como home, basta teclar "H" e confirmar este comando.

Ensinando Posições via "Teach Positions Menu"Há apenas duas diferenças neste menu, em relação ao do Nível 1:1. O comando TURN ON/OFF OUTPUT #, que liga ou desliga a saída, selecionada foi substituído por J/K TURN ON/OFF OUTPUT #, onde "J" liga e "K" desliga a saída. Este comando é usado para testar saídas do controlador ou os equipamentos a elas ligados.

Pág. 22 de 39

HOME MENU

1/Q MOVE BASE RIGHT/LEFT2/W MOVE SHOUDER UP/DOWN3/E MOVE ELBOW UP/DOWN4/R MOVE WRIST-PITCH UP/DOW5/T MOVE WRIST-ROLL RIGHT/LEFT6/Y MOVE AXIS 6 + / -7/U MOVE AXIS 7 + / -O/C OPEN /CLOSE GRIPPER F/S FAST/SLOW MOVEMENT J/F TURN ON/OFF OUTPUT #.H SET PRESENT POSITION AS HOME--------------------------------------- ANY OTHER KEY WILL STOP THE ROBOT [ESC] RETURN TO MAIN MENU---------------------------------------StopPRESS "G"TO SYNCHRONIZE THE ROBOT

Page 23: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

2. O comando H GO HOME, que após confirmado, move o robô para a posição home. A razão da confirmação é fazer o operador assegurar que o robô não colidirá com algum objeto ou partes de máquinas durante a execução deste comando.

Escrita de Programa via Menu Editor de Programas (Off-Line)

A diferença básica entre os Níveis 1 e 2 (com exceção da capacidade de executar o "hard home") aparece neste menu, onde são implementados novos comandos e outros modificados. A seguir apresenta-se estes comandos:Envio do robô p/ uma posição armazenada em memória - Rápido ou LentoPara enviar o robô para uma posição armazenada em memória, pressiona-se a tecla "1", é apresentado na tela [ 1 GO POSITION ... ], o utilizador digita o número da posição (< 100) para a qual o robô deve ir, 23 por exemplo, e tecla <RETURN>, a tela apresentará [ 1 GO POSITION 23 FAST/SLOW [ ], o utilizador pode cancelar o comando pressionando <RETURN> ou então pressionar "F" ou "S", selecionando assim movimento rápido ou lento.Para opção "S", teremos:

1 GO POSITION 23 *SLOW2 [ R ]

Comando de Espera (em segundos)Para fazer o robô esperar em sua posição presente, o utilizador tecla "2", o computador apresenta na tela[ 2 WAIT [ ] ... ],

Pág. 23 de 39

EDIT PROGRAM (OFF-LINE)

O/C OPEN/CLOSE GRIPPER1 GO POSITION ... FAST/SLOW2 WAIT ... SECONDS3 IF INPUT #. ON JUMP TO ...4/R TURN ON/OFF OUTPUT #.5 JUMP TO LINE #.. I INSERT LINE ...X REPLACE LINE ... L LIST/DELETE<ESC> RETURN TO MAIN MENU--------------------------------[ R]

Page 24: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

O utilizador digita o número de segundos (< 999) que deseja para o robô esperar, por exemplo 3, e pressiona<RETURN>, ao final será apresentado na tela:2 WAIT 3 SECONDS3 [ R ]

Comando Jump Condicional (Verifica status de entrada)

Este comando permite que o programa possa ser executado numa sequência determinada por uma condição de entrada, e não por uma única sequência. Utilizando-se a tecla "3", é apresentado.[ 3 IF INPUT # ],o utilizador deve digitar um número de 1 a 8 correspondente a entrada a ser verificada seguido por <RETURN>, após resposta na tela, digita-se o número da linha do programa para onde sua sequência será desviada e<RETURN>. Exemplo:3 IF INPUT 5 ON JUMP TO 164 [ R ]• Se a entrada 5 for ON , o programa será executado a partir da linha 16.• Se a entrada 5 for OFF, o programa seguirá sua sequência normal de execução (linha 4).

Comando de Operação de Saída (Turn On)O comando faz o controlador ligar uma saída. O utilizador pressiona a tecla "4", o computador mostra [ 4 TURN ON OUTPUT # ] e espera que um número entre 1 e 8, seguido por <RETURN> sejam pressionados.

Comando de Desconexão de Saída (Turn OFF)Este comando complementa o anterior fazendo o controlador desligar uma saída. O utilizador pressiona a tecla"R", o computador mostra [ 5 TURN OFF OUTPUT # ] e espera que um número entre 1 e 8, seguido por<RETURN> sejam pressionados.

Comando de Jump IncondicionalExecuta um salto incondicional, e é selecionado pela tecla "5". Após esta opção o comando será mostrado e aguardará ser introduzido o número da linha de programa para a qual o programa terá prosseguimento seguido por <RETURN>. Exemplo:6 JUMP TO LINE 217 [ R ]

MENU DE MANIPULAÇÃO DE PROGRAMAS (Gravar, Carregar e Apagar)Completamente idêntico ao SCORBASE Nível 1.

Pág. 24 de 39

Page 25: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

EXECUTANDO PROGRAMAS VIA RUN PROGRAM MENUQuase idêntico ao usado no nível 2, acrescido de uma linha:5/T DISPLAY ONEste comando permite visualizar na tela os comandos executados pelo programa.

USOS DO SCORBASE NÍVEL 2O nível 2 habilita a escrita de programas a qual visa um coordenado grupo de esforços constituído por um robô e uma máquina, ou por diversos robôs. Sendo acompanhado basicamente por meio de sinais. A fim de coordenar as atividades dentro da célula de trabalho, as saídas devem ser conectadas do robô para o equipamento externo, e as entradas deste para o robô.A figura mostra um robô dentro de uma célula de trabalho.

Fig. - Robô na célula de trabalho

As operações conduzidas na célula de trabalho incluem:

• Transportador de peças.• Quando uma peça alcança um certo ponto no transportador, ela aciona uma micro-chave conectada à entrada do robô.• O robô desliga uma saída comutadora da tensão do transportador, parando seu movimento.• O robô move-se para baixo, pega a peça, coloca-a na caixa e move-se para a posição de espera.• Durante o deslocamento para a posição de espera, o robô liga a saída comutadora de tensão;transportador recupera o movimento. O programa que comanda estas ações é dado a seguir:1 GO POSITION 1 (Robô na posição de espera, acima do transportador)2 TURN ON OUTPUT # 1 (Robô ativa transportador)

Pág. 25 de 39

Page 26: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

3 IF INPUT # 1 ON JUMP TO LINE 5 (Robô verifica presença de objeto)4 JUMP TO LINE 3 (Robô continua verificação)5 TURN OFF OUTPUT # 1 (Robô para transportador, objeto presente)6 OPEN GRIPPER7 GO POSITION 2 (Robô abaixa-se até o transportador)8 CLOSE GRIPPER9 GO POSITION 1 (Robô ergue objeto)10 GO POSITION 3 (Robô move objeto sobre a caixa)11 OPEN GRIPPER13 GO POSITION 3 (Robô move-se para cima da caixa)Após completar a linha 13, o programa reinicia o ciclo na linha 1.

SCORBASE NÍVEL 3

O Nível 3 expande a capacidade de sentir a existência e tamanho de objetos, habilita a definição de posições no espaço por meio de coordenadas XYZ, e apresentar um numeroso grupo de funções. O que torna a programação muito mais eficiente, enquanto economiza consideráveis quantidades de memória e tempo.Os comandos são idênticos ao do nível 2, sendo acrescido ao Teach Positions Menu o comando: X TEACH POSITIONS BY XYZAssim, pode-se ensinar posições em coordenadas cartesianas para o robô sem ter que mover seu braço. Quando acionada a tecla X será solicitado a entrada dos valores das coordenadas x,y,z, e pitch e roll - sendo as 3 primeiras em mm e as duas últimas posições do punho em graus - podendo ser atribuído a posição localdo braço do robô para cada uma. Após todas variáveis terem sido definidas deve-se atribuir o número daposição (de 1 a 100) e pressionar <Return>.

Pág. 26 de 39

Page 27: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

O comando X pode ser usado para mostrar as coordenadas x, y, z e os ângulos de punho em qualquer posição.

ESCRITA DE PROGRAMAS VIA MENU EDITOR DE PROGRAMA (OFF-LINE)O nível 3 é incluído diversos comandos ao Menu Editor de Programas, e por serem tantos a serem apresentados na tela de menu, houve a necessidade de alterar o formato na tela dos comandos INSERT, REPLACE e LIST/DELETE. As novas funções são:

Comandos de Contador (Looping)6 SET COUNTER #.. TO ..7 DECREMENT COUNTER # ..8 IF COUNTER # .. > 0 JUMP TO..

Estes comandos podem ser usados para produzir laços (loops) em programas.O primeiro comando define uma contagem e ajuste do contador para um valor menor que 999. O segundo decrementa de 1 o valor especificado no contador.

O terceiro é um jump condicional, usado para verificar um contador específico, para determinar se seu valor é maior que zero, enquanto a condição não for falsa poderá ser repetido o laço com um ou mais subprogramas inseridos entre o primeiro e o segundo comando.

Comandos de Subrotina9 SET SUBROUTINE #..0 RETURN FROM SUBROUTINE P CALL SUBROUTINE #..Estes três comandos permitem a economia de seções de programas executadas repetidamente na forma de subrotinas, as quais são chamadas a qualquer tempo. Um programa pode incluir até 16 subrotinas. Quando uma subrotina é chamada (comando CALL SUBROUTINE #), ela é executada (inicializa com SET SUBROUTINE #) e ao final da subrotina (RETURN FROM SUBROUTINE) o ponteiro do programa retorna alinha imediatamente posterior ao comando CALL SUBROUTINE.SCORBASE NÍVEL 3

Comandos de SensoriamentoM SET MEMORY # .. TO .. MMN SET MEMORY #.. TO SENSORV IF MEMORY # .. > MEMORY # .. JUMP ...O primeiro comando possibilita armazenar valores arbitrários em milímetros no registrador designado. O segundo mede a extensão dos dedos da garra em tempo real, transferindo a medida em milímetros e armazenando-a no registrador designado. O último realiza um jump condicional com a comparação entre duas memórias. O software inclui 16 registradores de memórias.

Pág. 27 de 39

Page 28: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Os demais menus: Menu Manipulador de Programas e Menu de Execução de Programas são idênticos ao do nível 2. No Home Menu é adicionado um novo comando para redefinir a abertura da garra para poder realizar medições com o sensor da garra, dada, a, seguir:Z SET GRIPPER TO ZERO USOS DO SCORBASE Nível 3A principal característica do SCORBASE Nível 3 é o uso das funções adicionais, habilitando incrementar operações sofisticadas ao robô. Adiciona-se agora a habilidade de trabalhar com equipamento em seu ambiente, podendo ser agora ensinado posições em off-line, podesentir e comparar os tamanhos de vários objetos, executar loops e ler subrotinas.A figura abaixo mostra dois blocos sobre a mesa. Estes blocos são usados para construir uma torre. Os dois blocos podem ser trocados sem confundir o robô.O programa abaixo é usado para construir a torre como a da figura.1 GO POSITION 3 *FAST2 OPEN GRIPPER3 GO POSITION 1 *FAST4 CLOSE GRIPPER5 SET MEMORY #1 TO SENSOR (Medida do bloco na posição 1)6 OPEN GRIPPER7 GO POSITION 3 *FAST8 GO POSITION 4 *FAST9 GO POSITION 6 *FAST10 CLOSE GRIPPER11 SET MEMORY #2 TO SENSOR (Medida do bloco na posição 6)

12 IF MEMORY #2 (Compara os tamanhos dos dois blocos. > MEMORY #1 JUMP 18 Se bloco na posição 6 é mais largo, torre será construída na posição 6.)13 GO POSITION 4 *FAST14 GO POSITION 3 *FAST15 GO POSITION 2 *FAST16 OPEN GRIPPER17 JUMP TO LINE 28 (Separa dois ramos do programa de construção da torre)18 OPEN GRIPPER19 GO POSITION 4 *FAST20 GO POSITION 3 *FAST21 GO POSITION 1 *FAST22 CLOSE GRIPPER23 GO POSITION 3 *FAST24 GO POSITION 4 *FAST25 GO POSITION 5 *FAST26 OPEN GRIPPER27 GO POSITION 4 *FAST28 GO POSITION 3 *FAST

Pág. 28 de 39

Page 29: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

"Hard Home"Escrevendo um Programa para LocalizaçãoComo já exposto em outros capítulos, o processo de localização da referência ("home") do robô depende diretamente da sua habilidade de identificar as posições das chaves instaladas nas ligações do braço do robô, perto das junções.Uma vez que o SCORBASE fornece ao utilizador informações sobre o status destas chaves, o programa de localização do "Hard Home" pode ser escrito como um programa qualquer.

Comandos InvisíveisNo conjunto de comandos mostrados na tela do editor de programas (EDIT PROGRAM (OFF-LINE)), quatro comandos foram intencionalmente omissos no capítulo anterior. A omissão se dá para evitar que o uso de tais instruções sejam usadas por utilizadores inexperientes.Os comandos "invisíveis" -- que servem basicamente para localizar o "hard home" -- são os seguintes:<CTRL> J SET PRESENT POSITION AS HOME Computador seta artificialmente as coordenadas

para zero.<CTRL> K MESSAGE #... Imprime algumas mensagens pré-estabelecidas,

sendo estas numeradas de 1 a 18.<CTRL> L IF LIMIT SWITCH #. ON JUMP TO... O utilizador preenche o campo com o número da

chave a ser verificada e o número da linha apular, caso a chave esteja ligada.

<CTRL> P SET AXIS #. TO ZERO Seta um zero na tabela de posições no lugar do eixo especificado.

Escrevendo o Programa de Localização do "Hard Home"Apesar de existirem vários métodos de para a elaboração de tal programa, foi usado aqui um modelo simples, rápido, que requer o conhecimento apenas da linguagem de nível 3 do SCORBASE, além dos comandos a pouco citados.O processo inicia pela movimentação da junta da base do robô (eixo 1) em uma dada direção. Os movimentos são curtos (15 passos por movimento). Após cada movimento, faz-se um teste a posição da chave da junção da base.

Se esta estiver pressionada, o eixo passa a mover em incrementos de um passo por movimento, de modo a localizar o ponto em que a chave é desligada, para ter uma maior precisão na localização do "hard home".A importância do ponto que separa a chave pressionada e a chave solta é a maior precisão de posicionamento do robô, uma vez que existe mais de uma posição possível de uma junção quando a chave está pressionada.De maneira similar, os eixos restantes são posicionados, um de cada vez, até que o "home" seja localizado. Os fluxogramas a seguir descrevem o processo de sincronização para os eixos do robô.A seguir, tem-se o exemplo de programa utilizado para a localização do "hard home":

Pág. 29 de 39

Page 30: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Sincronização da Base1 SET PRESENT POSITION AS HOME2 IF LIMIT SWITCH 1 ON JUMP TO 203 SET COUNTER #1 TO 404 GO POSITION 1 *FAST5 IF LIMIT SWITCH #1 ON JUMP TO 206 SET PRESENT POSITION AS HOME7 DECREMENT COUNTER #18 IF COUNTER #1 > 0 JUMP TO 49 GO POSITION 2 *FAST10 IF LIMIT SWITCH #1 ON JUMP TO 2011 SET PRESENT POSITION AS HOME12 SET COUNTER #1 TO 4013 GO POSITION 3 *FAST14 IF LIMIT SWITCH #1 ON JUMP TO 2015 SET PRESENT POSITION AS HOME16 DECREMENT COUNTER #117 IF COUNTER #1 > 0 JUMP TO 1318 MESSAGE #119 JUMP TO LINE 3120 SET PRESENT POSITION AS HOME21 SET COUNTER #1 TO 15022 GO POSITION 4 *FAST23 SET PRESENT POSITION AS HOME24 IF LIMIT SWITCH #1 ON JUMP TO 2625 JUMP TO LINE 3026 DECREMENT COUNTER #127 IF COUNTER #1 > 0 JUMP TO 2228 MESSAGE #129 JUMP TO LINE 3130 MESSAGE #1

Pág. 30 de 39

Page 31: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Objectivo do trabalho de Grupo:

O objectivo principal deste trabalho é a colocação de peças quadradas e/ou redondas nas posições estipuladas, sendo estas colocadas numa base especifica.

Quando a base se encontra cheia, a peça será largada respectivamente numa das caixas colocadas junto da mesma e assim sucessivamente.

A garra estará aberta e colocada na posição inicial (88), verificado de seguida se tem peça ou não na posição (87).

Havendo peça, a garra avança para essa posição fechando e agarrando a peça avançando para a posição (88), dirigindo-se repetitivamente para as posições seguintes (sido todas elas mencionadas ao longo do trabalho):

Pág. 31 de 39

Page 32: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Após ocupadas todas as posições, dirigir-se-ão as peças quadradas para a posição (92) sendo largadas para a caixa colocada por baixo, e na posição (94) serão largadas as peças redondas para uma outra caixa.

Pág. 32 de 39

Quadradas

2 1

4 3

6 5

8 7

10 9

Page 33: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

MESA DE TRABALHO

En

trad

a 8

En

trad

a 7

En

trad

a 6

En

trad

a 5

En

trad

a 4

En

trad

a 3

En

trad

a 2

En

trad

a 1

Saída 6

Pincho X X X O

Saída 5 Baixo X X X O

Saída 4 X X X X O

Saída 3 X X X X O

Saída 2 Baixo X X X O

Saída 1 Cima X X O O

Todas as saídas e entradas da mesa de trabalho são controladas por LDRs a exceção da posição 6/8 que é controlada por um sistema de fim de curso.

FLUXOGRAMA:

O termo Fluxograma designa uma representação gráfica de um determinado processo ou fluxo de trabalho, efetuado geralmente com recurso a figuras geométricas normalizadas e as setas unindo essas figuras geométricas. Através desta representação gráfica é possível compreender de forma rápida e fácil a transição de informações ou documentos entre os elementos que participam no processo em causa.

Pág. 33 de 39

Page 34: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Fluxograma

Pág. 34 de 39

Page 35: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Código para programação do SCORBOT

INICIO:Go to Position 88 speed 5Open GripperTurn on output 5WaiT 10 (10 ths of seconds)If Input 8 on jump to INICIOTurn off output 5Turn on output 6WaiT 10 (10 ths of seconds)If Input 8 off jump to QUADRADASIf Input 8 on jump to CIRCULARQUADRADAS:Go to Position 87 speed 5Close GripperGo to Position 88 speed 5Turn off output 6Turn on output 2WaiT 10 (10 ths of seconds)If Input 1 on jump to Q1Turn off output 2Turn on output 3WaiT 10 (10 ths of seconds)If Input 1 on jump to Q2Turn off output 3Turn on output 4WaiT 10 (10 ths of seconds)If Input 1 on jump to Q3Turn off output 4Turn on output 5WaiT 10 (10 ths of seconds)If Input 1 on jump to Q4Turn off output 5Turn on output 6WaiT 10 (10 ths of seconds)If Input 1 on jump to Q5Turn off output 6Go to Position 92 speed 5Open GripperJump to INICIOQ1:

Pág. 35 de 39

Page 36: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Go to Position 10 speed 5Go to Position 9 speed 5Open GripperGo to Position 10 speed 5Turn off output 2Jump to INICIOQ2:Go to Position 8 speed 5Go to Position 7 speed 5Open GripperGo to Position 8 speed 5Turn off output 3Jump to INICIOQ3:Go to Position 6 speed 5Go to Position 5 speed 5Open GripperGo to Position 6 speed 5Turn off output 4Jump to INICIOQ4:Go to Position 4 speed 5Go to Position 3 speed 5Open GripperGo to Position 4 speed 5Turn off output 5Jump to INICIOQ5:Go to Position 2 speed 5Go to Position 1 speed 5Open GripperGo to Position 2 speed 5Turn off output 6Jump to INICIOCIRCULAR:Go to Position 87 speed 5Close GripperGo to Position 88 speed 5Turn off output 6Turn on output 2WaiT 10 (10 ths of seconds)If Input 3 on jump to C1Turn off output 2Turn on output 3

Pág. 36 de 39

Page 37: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

WaiT 10 (10 ths of seconds)If Input 3 on jump to C2Turn off output 3Turn on output 4WaiT 10 (10 ths of seconds)If Input 3 on jump to C3Turn off output 4Turn on output 5WaiT 10 (10 ths of seconds)If Input 3 on jump to C4Turn off output 5Turn on output 6WaiT 10 (10 ths of seconds)Turn off output 6Go to Position 94 speed 5Open GripperJump to INICIOC1:Go to Position 30 speed 5Go to Position 29 speed 5Open GripperGo to Position 30 speed 5Turn off output 2Jump to INICIOC2:Go to Position 28 speed 5Go to Position 27 speed 5Open GripperGo to Position 28 speed 5Turn off output 3Jump to INICIOC3:Go to Position 26 speed 5Go to Position 25 speed 5Open GripperGo to Position 26 speed 5Turn off output 4Jump to INICIOC4:Go to Position 24 speed 5Go to Position 23 speed 5Open GripperGo to Position 24 speed 5Turn off output 5

Pág. 37 de 39

Page 38: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

Jump to INICIOC5:Go to Position 22 speed 5Go to Position 21 speed 5Open GripperGo to Position 22 speed 5Turn off output 6Jump to INICIO

Pág. 38 de 39

Page 39: Relatório_Robótica final Grupo 2

Mod.AFTEBI.P-080.rev03

CONCLUSÃO

Com este ensaio realizado nas aulas de Robótica Avançada conseguimos adquirir e aprofundar conhecimentos sobre o principio de funcionamento do braço robótico SCORBOT ER 4PC, através dasimulação de um sistema de separação de peças.

Pág. 39 de 39