Baixe o app para aproveitar ainda mais
Prévia do material em texto
2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 1/45 INSTITUTO POLITÉCNICO DE LEIRIAINSTITUTO POLITÉCNICO DE LEIRIA ESCOLA SUPERIOR DE TECNOLOGIA E GESTÃOESCOLA SUPERIOR DE TECNOLOGIA E GESTÃO EEC – 3º ano – Robótica e Visão ComputacionalEEC – 3º ano – Robótica e Visão Computacional TTUTORIALUTORIAL NNºº 11 PPROGRAMAÇÃOROGRAMAÇÃO O O FFLINE FFLINE E E SSIMULAÇÃO COM OIMULAÇÃO COM ORROBOTOBOTSSTUDIOTUDIO 6.046.04 ÍndiceÍndice 1 Objetivos ................ ................. ................. ................ ................. ................ ................. ..............2 2 Introdução ................. ................. ................ ................. ................. ................ ................. ...........2 3 Elementos Base ................ ................. ................. ................ ................. ................. ................. ..2 3.1 Versão Utilizada .................................................................................................................................3 3.2 Ambiente de Trabalho ........................................................................................................................4 3.3 Abrir e Simular um Ambiente de Trabalho Exemplo ..........................................................................5 3.4 Criar Ambientes de Trabalho .............................................................................................................8 3.5 Sistemas de Coordenadas ................................................................................................................9 3.6 Espaço de Trabalho e Alcance do Robô .........................................................................................10 3.7 Adicionar Ferramentas Existentes ....................................................................................................11 3.8 Adicionar Objetos Existentes ...........................................................................................................12 3.9 Criar e Importar Novos Objetos .......................................................................................................14 3.10 Modos de Visualização ....................................................................................................................16 3.11 Movimentar o Robô e Criar Caminhos ............................................................................................17 4 Criar um Workobject .............. ................. ................. ................. ................ .................. ...........20 5 Criar um Caminho com Base nos Vértices de um Objeto............... .................. ................ ...... 22 6 Criar Caminhos ao Longo das Arestas de um Objeto ................ ................ ................. ............26 7 Alteração da Localização do Espaço de Trabalho Após a Criação das Posturas e/ou do Caminho ............... ................ ................. ................. ................ ................. ................. ................. ...29 8 Adicionar Sinais ao Robô ................ ................. ................ ................. ................. ................. ...30 9 Programação Gráfica do Robô e Simulação ............... ................ ................. ................. .........32 10 Utilização Direta de Código RAPID ................. ................ ................. ................. .................37 11 Principais Instruções RAPID ................ ................ ................. ................ ................. ............40 11.1 Variáveis e Constantes ....................................................................................................................41 11.2 Controlo de Fluxo ............................................................................................................................42 11.3 Instruções de Movimento .................................................................................................................42 11.4 Entradas/Saídas (sinais) ..................................................................................................................44 11.5 Procedimentos (Funções) com Argumentos ...................................................................................44 11.6 Algumas Notas Finais ......................................................................................................................45 12 Gravação da Simulação em Vídeo ............... ................ ................. ................. ................. ...45 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 2/45 1 ObjetivosObjetivos Pretende-se com este tutorial guiar o estudante na aprendizagem e aplicação de conceitos fundamentais na utilização de manipuladores industriais, através da utilização dosoftware RobotStudio da ABB, nomeadamente: • Princípios básicos (sistemas de coordenadas, espaço de trabalho, alcançabilidade, etc.); • Carregar e movimentar um manipulador; • Carregar e movimentar ferramentas; • Carregar objetos existentes; • Criar e importar novos objetos; • Criar e utilizarWorkobjects; • Gerar caminhos com base na geometria de objetos; • Criar e utilizar sinais para coordenar tarefas robóticas; • Utilização de código RAPID; • Gravar um vídeo da simulação. NOTA:NOTA: É importante que guarde o seu trabalho no final de cada secção, pois o mesmo poderá ser necessário na secção seguinte, razão pela qual não deverá fazer nenhuma secção sem ter concluído todas as anteriores. No final deverá guardar o trabalho desenvolvido, pois este, ou parte deste, poderá ser utilizado nos tutoriais seguintes. 2 IntroduçãoIntrodução Dada a complexidade no desenvolvimento de uma tarefa automatizada com recurso a robôs, é imprescindível a utilização desoftware de simulação para uma maior produtividade. Além de reduzir o tempo de desenvolvimento e possíveis erros de conceção, permite ainda reduzir o tempo de paragem das linhas de produção durante o processo de desenvolvimento. O RobotStudio é o software de simulação e desenvolvimento produzido e fornecido pela ABB, um dos principais produtores de manipuladores industriais. Neste software é possível encontrar um número elevado de robôs desenvolvidos pela ABB, permitindo a sua utilização imediata em ambiente de simulação. É possível ainda controlar e monitorizar a execução de tarefas por robôs reais, desde que as versões desoftware e controlador sejam compatíveis. Neste tutorial encontra uma descrição passo a passo dos principais elementos do RobotStudio, bem como exemplos e/ou ligações para exemplos fornecidos pelos docentes e/ou juntamente com o software. Este tutorial foi desenvolvido de modo a que os estudantes adquiram autonomia na procura de soluções para problemas inesperados que possam surgir. Assim, ao longo deste documento encontrará vários ponteiros para secções de ajuda do próprio RobotStudio. Todos os elementos que não façam parte deste tutorial, ou não sejam fornecidos juntamente com o RobotStudio, são disponibilizados no Moodle ou num sítio Web relacionado com o fabricante com a respetiva ligação explicitamente indicada na respetiva secção deste tutorial. 3 Elementos BaseElementos Base Tal como indicado nas aulas teóricas, a cada manipulador robótico está associado um controlador e uma consola, tal mostra a Figura 1. No caso da ABB são utilizadas as seguintes terminologias (robôs de outras marcas usam terminologias semelhantes): • RAPID – linguagem de programação utilizada para controlar os robôs da ABB; 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 3/45 • Robot manipulator – corresponde ao manipulador robótico em si; • Control module – corresponde ao módulo responsável pelo controlo dos movimentos do robô, normalmente constituído por um computador capaz de interpretar linguagem RAPID e comunicar com os módulos de acionamento; • Drive module – módulo que contém aeletrónica de potência, capaz de receber as indicações do módulo de controlo e acionar os motores das juntas do manipulador. Tipicamente um módulo de acionamento da ABB suporta até 9 juntas, pelo que é necessário um módulo por robô (o qual tem tipicamente 6 juntas); • FlexController – Corresponde à unidade denominada como “Controlador” na Figura 1, a qual contém o módulo de controlo, o módulo de acionamento, e outros módulos necessários ao funcionamento do ABB (por exemplo, de comunicação); • FlexPendant – Consola de comando ligado ao controlador. Com um ecrã, que poderá ser tátil, e teclas, esta permite de uma forma fácil a programação e controlo do manipulador online; • Tool – Ferramenta utilizada no elemento terminal do robô. A título de exemplo, e tal como poderá confirmar na Figura 1, poderá ser utilizada uma garra; • RobotWare – designação utilizada pela ABB para se referir aosoftware utilizado para controlar o robô, i.e., corresponde ao sistema instalado no controlador; • Station – ambiente de trabalho, constituído por um ou mais manipuladores robóticos e demais objetos e mecanismos. Manipulador Controlador Consola Figura 1 – Manipulador robótico ABB IRB2400 existente no Laboratório de Robótica. É ainda importante definir alguns conceitos base relacionados com a programação de robôs, quer em ambientes reais, quer em ambientes simulados: • Programação online – consiste em programar um robô através do módulo real do mesmo; • Programação offline – consiste em programar um robô virtual através de um editor de texto ou num programa de simulação; • Controlador virtual –software que simula o controlador real, permitindo interagir e programar um robô virtual como se fosse um robô real; • Sistema de coordenadas (ouframe) – quer no ambiente real, quer no ambiente simulado, torna-se bastante útil a utilização de diferentes sistemas de coordenadas para diferentes operações, objetos ou áreas de trabalhos; 3.1 Versão UtilizadaVersão Utilizada No Laboratório de Simulação de Sistemas (DS0.10) encontra-se instalada a versão6.04.016.04.01 do RobotStudio. Aconselha-se a utilização da versão 64-bitAconselha-se a utilização da versão 64-bit para um melhor desempenho, caso tenha um PC 64-bit. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 4/45 A versão do RobotStudio utilizada na UC de Robótica está disponível para descarregar gratuitamente no sítio Web do fabricante, no entanto essa versão apenas disponibiliza todas as funcionalidades durante 30 dias. No Moodle, Secção “FAQ – RobotStudio” da página da UC de Robótica, encontra as instruções necessárias para descarregar e instalar o RobotStudio. A ESTG possui uma licença decampus que permite a utilização do RobotStudio sem restrições de tempo para trabalhos académicos, desde que utilizada dentro do campus. Consulte a FAQ no Moodle para mais informações relativamente à instalação e configuração do RobotStudio no seu PC. 3.2 Ambiente de TrabalhoAmbiente de Trabalho Abra o RobotStudio, surgindo o ambiente de trabalho inicial ilustrado na Figura 2. De salientar o ícone no topo, à direita, com o ponto de interrogação (também acessível através do menu File Help), o qual permite aceder ao menu de ajuda do RobotStudio. Esse menu contém vários itens, sendo os mais relevantes os seguintes: • RobotStudio Help – acesso a um sistema de ajuda bastante completo sobre a utilização do RobotStudio; • RAPID Instructions, Functions and Data Types – acesso à descrição da linguagem de programação, em particular das várias funções disponíveis. Figura 2 – Ambiente inicial de trabalho do RobotStudio. Se após a conclusão do(s) tutorial(ais) tiver dúvidas sobre alguma funcionalidade ou função, este é um dos repositórios onde encontrará a informação necessária. Nesta altura deverá abrir a secção RobotStudio Help e, no separador Contents, abrir o item Introduction to RobotStudio User Interface Ribbon, tabs and groups. Neste item verá uma descrição resumida dos vários blocos disponíveis no ambiente de trabalho do RobotStudio, tal como mostra a Figura 3. Figura 3 – Blocos disponíveis no ambiente de trabalho do RobotStudio (retirado deRobotStudio Help). Como pode confirmar pela ajuda fornecida pelo programa, tem-se: File – acesso às funcionalidades de sistema do RobotStudio, como criar um documento novo, gravar, opções da aplicação, etc.; 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 5/45 Home – acesso as funcionalidades base do RobotStudio, nomeadamente importar sistemas, robôs, criar caminhos, etc.; Modeling – acesso à criação de objetos, medidas, operações CAD, etc.; Simulation – acesso aos comandos e controlo de simulação; Controller – acesso aos comandos de sincronização e controlo dos controladores, sejam estes virtuais ou reais; RAPID – acesso ao editor e depurador de código RAPID; Add -ins – acesso a opções adicionais instaladas, nomeadamente controlo de soldadura, etc.. Feche a janela de ajuda do RobotStudio. 3.3 Abrir e Simular um Ambiente de Trabalho ExemploAbrir e Simular um Ambiente de Trabalho Exemplo Além de incluir inúmeros robôs e um conjunto de ferramentas, o RobotStudio inclui ainda um conjunto de exemplos completos de ambientes de trabalhos prontos a simular. Estes exemplos estão armazenados num ficheiro comprimido específico do RobotStudio, o qual permite facilmente transferir o ambiente de trabalho entre diferentes computadores/utilizadores. O RobotStudio disponibiliza três funcionalidades para este fim, acessíveis através do menuFile Share (ver Figura 4): • Pack and Go – permite exportar todo um ambiente de trabalho num único ficheiro comprimido. Esse ficheiro poderá depois ser utilizado noutro computador, ou por outro utilizador para abrir e/ou editar esse mesmo ambiente de trabalho1; • Unpack and Work – permite abrir e trabalhar num ambiente de trabalho armazenado através da opção Pack and Go; • Save Station as Viewer – permite guardar a estação com simulações que tenham sido efetuadas, permitindo visualizar as mesmas em PCs que não tenham o RobotStudio instalado. Note que não é possível editar esse ambiente de trabalho. NOTA: Todos os trabalhos devem ser entregues para avaliação utilizando o ficheiro obtidoNOTA: Todos os trabalhos devem ser entregues para avaliação utilizando o ficheiro obtido através da opçãoatravés da opção Pack and GoPack and Go. Aconselha-se ainda que . Aconselha-se ainda que os estudantes façam frequentementeos estudantes façam frequentemente cópias de segurança do cópias de segurança do ambiente de trabalho desenvolvido usando essa opção. ambiente de trabalho desenvolvido usando essa opção. Sempre queSempre que mudarem de computador devem também usar esta opção mudarem de computador devem também usar esta opção para copiar a estação de para copiar a estação de trabalhotrabalho entre PCs.entre PCs. Figura 4 – Ficheiros Pack & Go. 1 Note-se que um ambiente de trabalho no RobotStudio é composto por múltiplos ficheiros. A opção Pack & Go permite criar um único ficheiro comprimido que inclui todos esses ficheiros. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 6/45 O RobotStudio inclui alguns exemplos completos que pode experimentar, dois dos quais se descrevem de seguida. 3.3.1 Exemplo de soldaduraExemplo de soldadura 1. Escolha a opção Unpack and Work clicando no menuFile Share Unpack and Work e clique em Next . De seguida navegue até ao ficheiro com o ambiente de trabalho pretendido, neste caso disponibilizado na pasta “C:\Program Files (x86)\ABB Industrial IT\Robotics IT\RobotStudio 6.04\Samples\Stations” com o nome “Demo AW Station.rspag ”. 2. Escolha uma pasta para onde descompactar o sistema a trabalhar, por exemplo, uma pasta em “Os meus documentos” (pode ser a pasta sugerida por omissão). A opção “Unpack to Solution” serve para indicar ao RobotStudio que deve ser criada uma pasta específica para o ambiente em questão. Caso não ative esta opção, a pastaserá partilhada por outros ambientes, tipicamente na pasta padrão do RobotStudio. Embora ocupe mais espaço, aconselha-se a ativar esta opção para manter todos os ficheiros necessários numa mesma estrutura dentro duma pasta específica do ambiente a trabalhar. - Figura 5 – Exemplo de soldadura. 3. Proceda com as opções indicadas por omissão, exceto relativamente à opçãoLibrary Handling , onde deverá escolher a opção Load files from Pack & Go. Quando clicar em Finish ambiente de trabalho será carregado (note que o carregamento do ambiente de trabalho usando a opção Unpack and Work pode demorar algum tempo, podendo surgir alguns avisos, os quais podem ser ignorados). No final deverá surgir um ambiente semelhante ao da Figura 5. No canto inferior direito pode visualizar “Controller status: 1/1”, sendo o dígito da esquerda o número de controladores utilizados, e o dígito da direita o número de controladores ativos. NOTA:NOTA: Procure utilizar e desenvolver um dado ambiente de trabalho sempre na mesma pasta, no mesmo PC, para assim evitar gastar tempo com a operação Unpack and Work . Neste ambiente encontra um manipulador robótico e um posicionador, estando o manipulador equipado com uma ferramenta de soldadura ABICOR Binzel. Para iniciar a simulação do sistema, escolha o menuSimulation e pressione a opção Play . Em qualquer altura poderá utilizar o botão esquerdo do rato para selecionar objetos do ambiente de trabalho e o botão direito para aceder a opções desses mesmos objetos. A roda do rato permite aproximar e afastar, Ctrl + botão esquerdo do rato permite arrastar o ambiente e, finalmente, Ctrl + Shift + botão esquerdo do rato permite rodar o ambiente. Feche o ambiente clicando no menuFile seguido da opção Close. Note que sempre que executa uma simulação ocorrem alterações no ambiente, incluindo configuração dos robôs, posição dos 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 7/45 objetos, etc.. Ao selecionar a opção de guardar as alterações efetuadas, está na verdade a alterar o ambiente face ao seu formato srcinal, mesmo que apenas tenha corrido a simulação.Assim,Assim, deverá sempre gravar o ambiente antes de efetuar uma simulação, ou selecionar a opçãodeverá sempre gravar o ambiente antes de efetuar uma simulação, ou selecionar a opção Reset Reset (menu (menu SimulationSimulation) após a simulação e antes de gravar o ambiente, repondo este no) após a simulação e antes de gravar o ambiente, repondo este no estado em que estava antes da estado em que estava antes da simulação.simulação. 3.3.2 Exemplo de uma Linha de ProduçãoExemplo de uma Linha de Produção Abra e simule um outro exemplo fornecido, nomeadamente o exemplo “Demo Solar Simulation.rspag” . Neste exemplo, ilustrado na Figura 6, pode ver a simulação de parte de uma linha de produção de pequenos painéis solares. Este exemplo introduz componentes avançados de simulação, os quais permitem que o primeiro robô consiga corrigir a posição de cada uma dascélulas ao colocar as mesmas na mesa rotativa. Este exemplo inclui ainda a simulação de tapetes (conveyors em inglês). De salientar que são utilizados dois controladores, um por robô, tal como poderá confirmar pela informação“Controller Status 2/2” no canto inferior direito. Figura 6 – Exemplo de uma linha de produção de painéis solares. Simule este exemplo e veja o mesmo a correr. 3.3.3 Outros exemplosOutros exemplos Na pasta Samples\Stations (onde encontra os exemplos anteriores) encontra ainda os exemplos “Demo FlexLoader.rspag” (Figura 7) e “Demo Exhaust Pipe.rspag” (Figura 8). Figura 7 – FlexLoader. Figura 8 – Exhaust Pipe. No exemplo da Figura 7 encontra uma simulação com múltiplos robôs a trabalhar coordenadamente em soldadura, utilizando um único controlador, enquanto no exemplo daFigura 8 encontra dois manipuladores novamente a realizar uma operação de soldadura, mas neste caso coordenada com um posicionador, também neste caso com um único controlador. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 8/45 3.4 Criar Ambientes de TrabalhoCriar Ambientes de Trabalho Na secção anterior teve a oportunidade de simular ambientes complexos com múltiplos robôs, já fornecidos com o RobotStudio. O primeiro passo para simular um sistema automatizado consiste na criação do mesmo no ambiente de simulação, neste caso o RobotStudio. Note que é possível criar todo o ambiente de trabalho, incluindo objetos, no RobotStudio. No entanto a alteração de objetos criados dentro do RobotStudio é muito limitada, sendo apenas possível apagando os existentes e criando novos, ou através de funções de corte, união, etc. Não é possível, por exemplo, modificar as dimensões de um cubo criado previamente, alterando apenas as propriedades deste. Como tal poderá optar por criar o ambiente e/ou objetos deste num sistema de modelação 3D (ex. Autocad, Inventor, SolidWorks, Google ShetchUp, etc.) para importar no RobotStudio2. NOTA: De modo a acelerar o processo de desenvolvimento deverá sempre projetarNOTA: De modo a acelerar o processo de desenvolvimento deverá sempre projetar previamente (por exemplo, em papel), o ambiente de trabalho a simular com todas aspreviamente (por exemplo, em papel), o ambiente de trabalho a simular com todas as dimensões incluídas.dimensões incluídas. Tal como indicado na ajuda do RobotStudio (verRobotStudio Help Building stations Workflow for building a station), existem três formas de criar um novo ambiente de trabalho (menuFile New ): • Solution with Empty Station – cria um novo ambiente de trabalho completamente vazio numa pasta isolada; • Solution with Station and Robot Controller – cria um novo ambiente de trabalho apenas com um robô e um controlador, de acordo com o modelo escolhido, numa pasta isolada; • Empty Station – cria um novo ambiente de trabalho completamente vazio. A forma típica para criar o ambiente é utilizar a opção Solution with Station and Robot Controller , selecionando o manipulador que se pretende (veremos outras opções posteriormente). Existe um canal no YouTube criado pela ABB, o qual contém um conjunto de tutoriais e guias para iniciar a utilização do RobotStudio, os quais complementam a documentação fornecida pelos docentes e pela ajuda do RobotStudio. Poderá aceder a esse canal em3: http://www.youtube.com/user/RobotStudio Note no entanto que uma boa parte dos tutoriais disponibilizados naquele canal estão desatualizados e não são aplicados diretamente na versão utilizadas nas aulas. De salientar ainda que, para a realização dos trabalhos e conclusão da UC não é necessário consultar esses vídeos, embora o possa fazer. 3.4.1 Criar um ambiente de trabalho com Criar um ambiente de trabalho com um robô e um controlador um robô e um controlador Esta secção demonstra como criar um novo ambiente de trabalho com um único robô e um controlador: 1. Clique File New Solution with Station and Robot Controller (pode demorar na 1ª vez 2 Para verificar quais os tipos de ficheiros suportados para importar objetos 3D para o RobotStudio, clique em Home Import Geometry Browse for Geometry e confirme na nova janela as extensões suportadas. Note que algumas geometrias não permitem operações de snap, como é o caso das criadas no Google SketchUp. 3 Poderá visualizar algumas reportagens sobre casos reais na utilização de manipuladores robóticos, em particular do ambiente de simulação RobotStudio. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 9/45 que corre); 2. Selecione um robô emRobot model , por exemplo o IRB1600_6kg_1.2m4, o nome a atribuir ao ambiente de trabalho (Solution Name), o nome a atribuir ao controlador (Controller Name), a pasta onde quer gravar e clique emCreate; 3. Durante o arranque pode confirmar a inicialização do controlador, através da passagem a verde do estado do controlador (canto inferior direito da janela principal); 4. Pode fazer zoom, pan e rodar o ambiente seguindo as indicações fornecidasna Secção 3.3.1 ; 5. Para voltar a visualizar toda o ambiente de trabalho, clique na opçãoView All , disponível clicando com o botão direito do rato no ambiente (ver Figura 9); Figura 9 – Visualizar todo o ambiente de trabalho. 6. Para gravar o ambiente de trabalho criado, clique em File Save Station ou Save Station As, caso pretenda alterar o nome e/ou a localização do mesmo e atribua um nome ao ambiente; 7. Pode confirmar que o ambiente foi gravado com sucesso verificando a mensagem que aparece no separadorOutput (na parte inferior da janela do RobotStudio); Caso queira exportar o ambiente de trabalho desenvolvido, quer para o abrir noutro PC, quer para ficar com uma cópia de segurança, deverá utilizar a opçãoPack & Go, seguindo os seguintes passos: 1. File Share Pack and Go; 2. Escolha um nome e local para o ficheiro a armazenar e clique emOK . Nesta altura poderá confirmar através do explorador do Windows que o ficheiro em causa foi criado. 3.5 Sistemas de CoordenadasSistemas de Coordenadas Na base de qualquer sistema que implique movimento estão os sistemas de coordenadas, também denominados de referenciais. Em manipulação robótica é usual utilizar-se múltiplos sistemas de coordenadas, relacionados entre si de forma hierárquica, tal como abordado na aula teórica. Como detalha a ajuda do RobotStudio (RobotStudio Help Introduction to RobotStudio Terms and Concepts Coordinate Systems), definem-se os seguintes sistemas de coordenadas (ver exemplo típico na Figura 10): 4 O nome do robô indica que este é um modelo com 6 kg de carga máxima suportada e 1.2 m de alcance máximo. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 10/45 World Coordinate SystemWorld Coordinate System – Este é o referencial do mundo, que serve de base a todo o ambiente de trabalho. Sempre que alguma coordenada é especificada em coordenadas do mundo, é a este referencial que se refere; Task Frame Coordinate SystemTask Frame Coordinate System – Este referencial, definido relativamente ao referencial anterior, pode ser usado como referencial base de uma dada tarefa. É sobretudo útil se houver múltiplas células de trabalho no mesmo ambiente, com múltiplos robôs ou mecanismos a trabalhar numa mesma célula. Nessa situação poderá haver um mesmo referencial base para os vários robôs ou mecanismos5; Base Coordinate SystemBase Coordinate System – Sistema de coordenadas base associado a cada robô, localizado por omissão no centro da base do mesmo, junto ao plano de apoio da sua base; Tool Center Point Coordinate System (TCP)Tool Center Point Coordinate System (TCP) – Referencial associado à ferramenta. Tipicamente o local onde a ferramenta deverá trabalhar será especificado para que o TCP fique coincidente com essa postura, sendo essa postura a que é armazenada durante a opção Teach Target(a descrever posteriormente). Cada robô tem um referencial por omissão denominado tool0 , inicialmente localizado no extremo do punho; Workobject Coordinate SystemWorkobject Coordinate System – O Workobject é um referencial auxiliar que pode servir de base a uma qualquer zona de trabalho, facilitando a alteração e especificação de pontos de trabalho com base em objetos existentes. Por omissão todos os robôs possuem inicialmente umWorkobject denominado wobj0 , o qual é coincidente com o referencial base do robô. A título de exemplo pode observar um conjunto de referenciais na Figura 11 num ambiente semelhante ao que irá criar ao longo deste tutorial. Neste exemplo os referências do mundo, de base do robô, da tarefa, bem como o Workobject por omissão (wobj0 ) estão coincidentes. O referencial da “ferramenta” por omissão,tool0 , encontra-se no extremo do punho. O referencial AW_Gun corresponde ao referencial associado à ferramenta inserida no robô. Neste exemplo foi ainda adicionado um novo Workobject (Workobject_1), associado a um hipotético espaço de trabalho (neste caso a face superior do cubo exibido). Note que as cores dos eixos são sempre as mesmas, isto é, os eixos X são vermelhos, os Y são verdes e os Z são azuis (XYZ ↔ RGB). Figura 10 – Relação entre os vários referenciais. Figura 11 – Examplo the referenciais utilizados. 3.6 Espaço de Trabalho e Alcance do RobôEspaço de Trabalho e Alcance do Robô Para a escolha do robô a utilizar no projeto de um sistema robotizado é essencial determinar o 5 Note que não é obrigatória esta abordagem quando são utilizados múltiplos robôs. A abordagem típica é que cada robô utilize o seu referencial base, sendo assim os movimentos independentes. World, Base, Task, wobj0 WorkObject_1 tool0 AW_Gun 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 11/45 espaço de trabalho, operações a efetuar e alcance necessário. Assim, a escolha do robô deverá ser feita apenas depois de responder a estas questões. Em termos de alcançabilidade, isto é, determinação do espaço de trabalho do robô, o RobotStudio possui uma ferramenta útil (note que o alcance do robô, bem como a carga máxima e outros dados fazem parte das especificações tipicamente disponibilizadas pelo fabricante). Tendo por base a estação criada anteriormente (ver Figura 9) clique, no separador Layout , com o botão direito do rato no robô (IRB1600_6_120__02) e selecione a opçãoShow Work Envelope, resultando no ambiente de trabalho ilustrado na Figura 12. Desta forma fica bem patente quais os pontos que o robô consegue alcançar. Figura 12 – Espaço de trabalho do manipulador industrial em 2D. Figura 13 – Espaço de trabalho do manipulador industrial em 3D. Após selecionada a opção Show Work Envelope, pode selecionar, no separadorWork Envelope, entre mostrar o espaço de trabalho em 2D ou 3D, bem como escolher se quer ver o espaço alcançável pelo punho (não tem em conta a última ligação do robô) ou pela ferramenta (caso não tenha nenhuma ferramenta, corresponde ao elemento terminal). Note que esta informação só por si não é suficiente, pois o facto de o robô atingir um dado ponto com uma determinada orientação não significa que o consiga com qualquer outra orientação. Assim, se o robô irá conseguir ou não atingir uma determinada postura (posição mais orientação) irá depender muito da orientação escolhida. 3.7 Adicionar Ferramentas ExistentesAdicionar Ferramentas Existentes Esta secção detalha a adição de ferramentas ao manipulador. A ferramenta é uma parte crucial de um manipulador, sendo a sua escolha dependente da tarefa a executar. As ferramentas podem ser desenvolvidas à parte, no RobotStudio e/ou num programa de CAD (a ver num tutorial futuro), para posteriormente serem importadas e adicionadas a um robô. Execute os seguintes passos: 1. Abra o ambiente de trabalho criado no ponto anterior, caso o tenha fechado; 2. Adicione uma ferramenta através da opção Home Import Library Equipment (a primeiravez que acede a este menu pode demorar algum tempo) seguida da escolha da ferramenta MyTool, tal como ilustrado na Figura 14; 3. Por omissão a ferramenta adicionada é colocada na srcem do ambiente de trabalho, i.e., na posição (X,Y,Z) = (0,0,0) com orientação (RX,RY,RZ)=(0,0,0), sendo necessário adiciona- la ao robô. Para tal, no separadorLayout selecione a ferramenta adicionada, MyTool, e arraste-a para o robô (no mesmo separador), tal como ilustrado na Figura 15. À questão “Do you want to update the position of ‘MyTool’?” responda “Yes”, de forma a garantir que a 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 12/45 ferramenta será colocada no punho do robô na postura certa. Figura 14 – Escolha de uma ferramenta. Figura 15 – Atribuição de uma ferramenta ao robô. NOTA:NOTA: Quando adiciona um manipulador ao ambiente de trabalho, o sistema de coordenadas que é considerado nos movimentos deste é o do elemento terminal, visível na ponta do manipulador. Quando se adiciona uma ferramenta, o referencial utilizado passa a ser o da ferramenta. De facto poderá constatar que o espaço de trabalho do robô(Work Envelop) aumentou com a adição da ferramenta. Na prática o que acontece é que o referencial base da ferramenta é feito coincidir com o referencial do elemento terminal do robô, passando o sistema de coordenadas utilizado nos movimentos do robô a ser o da (ponta da) ferramenta. Assim, quando criar posturas e caminhos, tal deve ser efetuado considerando sempre a ferramenta, isto é, no desenvolvimento de um no desenvolvimento de um ambiente de trabalho, não deve criar posturas ou caminhos sem ter primeiro adicionado aambiente de trabalho, não deve criar posturas ou caminhos sem ter primeiro adicionado a ferramenta que pretende ao robô.ferramenta que pretende ao robô. 3.8 Adicionar Objetos ExistentesAdicionar Objetos Existentes Esta secção descreve como adicionar objetos previamente criados ao ambiente de trabalho. Execute os seguintes passos: 1. Selecione a opção Home Import Geometry Browse for Geometry e escolha o objeto “Table_small.sat” disponível na pasta “C:\Program Files (x86)\ABB Industrial IT\Robotics IT\RobotStudio 6.04\ABB Library\Training Objects”, resultando no ambiente ilustrado na Figura 16; Figura 16 – Adição de um objeto ao ambiente. Figura 17 – Movimento livre. Figura 18 – Mesa centrada. 2. Selecione o objeto adicionado, i.e., a mesa, e ative a opção de movimento manual clicando em Home Move, tal como ilustra a Figura 17. Movimente a mesa para que esta fique em frente ao robô, sensivelmente ao centro deste e dentro do espaço de trabalho, tal como 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 13/45 ilustra a Figura 18); NOTA:NOTA: Preferencialmente deverá utilizar um movimento específico e não um movimento manual. Para tal, clique na mesa com o botão direito do rato (no ambiente de trabalho ou no separador Layout ), e escolha a opção Position Set Position. Em coordenadas do mundo (World ) introduza as coordenadas (X,Y,Z) = (700, -375, 0) [mm]. Clique em Apply 6 e confirme que a mesa fica dentro do espaço de trabalho do robô (Work Envelop); 3. Adicione um novo objeto através de Home Import Geometry Browse for Geometry e da escolha do ficheiro “C:\Program Files (x86)\ABB Industrial IT\Robotics IT\RobotStudio 6.04\ABB Library\Training Objects\Curve_thing.sat ”; 4. Altere o aspeto do objeto através dos seguintes passos: a. Clique no objeto com o botão direito do rato; b. Escolha a opção Modify Graphic Appearance…; c. Em Selection escolha a opção Body (ver Figura 19) e altera na opçãoSimple Color para laranja; d. Repita a operação para a componente maior do objeto, com a cor castanha, resultando no aspeto ilustrado na Figura 20. e. Clique em OK para terminar. 5. Coloque este último objeto em cima da mesa utilizando um movimento baseado em dois pontos, srcem e destino, como detalhado nos seguintes passos: f. Clique no objeto com o botão direito do rato; g. Escolha a opção Position Place One point ; h. Ative a opção Snap End 7, selecionando a mesma na barra inferior da janela do RobotStudio (ver Figura 21); i. Clique num dos campos das coordenadas do ponto de srcem (Primary Point - From) e depois clique num canto inferior do objeto. Depois clique num dos campos das coordenadas do ponto destino (Primary Point - To) e clique um canto correspondente 6 Pode ainda aplicar uma operação de rotação seguindo passos similares com a opção de rotação/orientação. 7 Opções semelhantes às que encontra no AutoCAD ou outro qualquer software de desenho geométrico. Figura 19 – Alteração do aspeto gráfico do objeto. Figura 20 – Aspeto gráfico final do objeto. Figura 21 – Ativar a opção Snap End . 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 14/45 do tabuleiro da mesa, à semelhança do ilustrado na Figura 22; Figura 22 – Movimento de um objeto usando dois pontos. j. Clique em Apply resultando no ambiente ilustrado na Figura 23. 6. Rode o objeto clicando no mesmo com o botão direito do rato e selecionando a opção Position Rotate. Altere o referencial de coordenadas para Local , selecione o eixo dos Zs e um ângulo de rotação de -90º e aplique a rotação; NOTA:NOTA: Na opção Rotate poderá rodar em torno de um eixo definido por si, ou em torno de um eixo de coordenadas pré-definido, tal como aconteceu neste caso. Figura 23 – Objeto deslocado. Figura 24 – Postura final do objeto. 7. Altere em Snap Mode para a opção Snap Object e centre o objeto através da opção de mover baseado em dois pontos (como realizado anteriormente), mas utilizando como referência pontos intermédios da peça e da mesa. No final a peça deverá estar centrada na mesa, tal como mostra a Figura 24. Tire proveito do facto de poder apenas aplicar a translação em eixos selecionados (opçãoTranslate along these axes). 8. Guarde o trabalho. O RobotStudio inclui não só um conjunto de objetos de interesse, mas também um conjunto de ferramentas que poderá utilizar, nomeadamente de soldadura, jato de água, etc. Estes itens estão disponíveis na pasta indicada anteriormente e também através do menuHome Import Library (embora aqui possam ter informação extra, não geométrica, adicionada). Poderá ainda clicar em File Share Content Sharing para aceder a um conjunto de modelos (e vídeos) disponibilizados pela comunidade e/ou para partilhar os conteúdos desenvolvidos por si. 3.9 Criar e Importar Novos ObjetosCriar e Importar Novos Objetos Os objetos que constituem o ambiente de trabalho podem ser desenvolvidos no próprio RobotStudio ou numa aplicação externa e posteriormente importados. Estes objetos são denominados de 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 15/45 geometry no RobotStudio, dado que se tratam de figuras geométricas. Quando a essas figuras geométricas estão associadas outras características e funcionalidades próprias do RobotStudio (ferramentas, mecanismos, robôs, etc.), passam a denominar-se library (biblioteca). Tipicamente quando são importadas bibliotecas, estas mantêm a sua ligação ao ficheiro externo, sendo apenas criado um novo ficheiro se o utilizador pretender efetuar alterações à biblioteca. Relativamente aos objetos compostos apenas por figuras geométricas, o RobotStudio permite importar um conjunto de formatos diferentes, nomeadamente sat , igs/iges, stp/step/ p21, vda/vdafs, model /exp, CATPart /CATProduct , prt /asm, ipt , wrl /vrml /vrml1/vrml2 , jt , stl , ply , 3ds e dae (aceda à lista completa fazendo Home Import Geometry Browse for Geometry ). Note no entanto que alguns formatos poderão necessitar de uma licença extra. Com a instalação do RobotStudio é ainda disponibilizada uma ferramenta que permite converter conjuntos de ficheiros do AutoCAD numa única operação, ferramenta essa denominada deCAD Converter . Caso o estudante se sinta confortável com um destes formatos pode desenvolver o seu ambiente de trabalho na aplicação correspondente e importá-la no RobotStudio. Caso contrário pode desenvolver o ambiente no próprio RobotStudio, embora com bastantes limitações quando comparado com aplicações específicas de modelação e desenho 3D. Lembre-se que o RobotStudio é um software de simulação na área da Robótica, não é umsoftware de desenho. Os passos seguintes descrevem a utilização básica do RobotStudio para criar figuras geométricas: 1. Abra a estação criada anteriormente, caso esteja fechada, e selecione a opção Modeling Solid Box (ver Figura 25); 2. Como pode confirmar na Figura 26, na definição da posição e dimensão do paralelepípedo tem a opção de escolher qual o referencial utilizado como base (por omissão é no referencial do mundo). Neste caso pretende-se adicionar um paralelepípedo com 600 mm de lado, centrado na posição (0, 1100, 0) [mm] e orientado segundo os eixos de coordenadas. Dado que a especificação da posição do paralelepípedo se baseia num dos vértices deste, tem que introduzir as coordenadas para o vértice (-300, 800, 0) [mm] e orientação (0,0,0) para manter o alinhamentocom o referencial de base. Relativamente à dimensão, se colocar apenas o comprimento, o RobotStudio assume a mesma dimensão para todos os lados. Figura 25 – Criar um paralelepípedo. Figura 26 – Posições e dimensões na criação de um paralelepípedo. Como pode observar pelo resultado, ilustrado na Figura 27 (após alteração da cor do material para vermelho), foi adicionado um elemento no separadorModeling , denominado Part_1. Este objeto ( part ) é constituído neste momento por um elemento apenas, denominado deBody . Corner Point 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 16/45 3. Adicione agora uma pirâmide retangular com a mesma altura do paralelepípedo e mesmas dimensões de base, tal como ilustrado na Figura 28 (utilize a opçãoSnap Object para facilitar o posicionamento da pirâmide). Fica assim com dois elementos:Part_1 e Part_2 . Figura 27 – Estrutura de informação de objetos. Figura 28 – Conjunção de múltiplos objetos. 4. Caso se pretenda que os dois objetos criados sejam um só, existem várias alternativas. A mais simples consiste em arrastar um dos elementos (Body ) para o outro objeto, no separador Modelling . Neste ficam apenas com um objeto formado por dois elementos distintos. Cada um dos elementos pode ser selecionado de forma independente. Experimente esta opção, desfazendo-a de seguida (undo) para voltar à situação anterior; 5. Alternativamente pode fazer a união dos dois objetos clicando em Modeling Union seguido da seleção dos dois objetos. Esta operação resulta num objeto com um único elemento. Experimente realizar esta operação. A opçãoKeep Original permite guardar os objetos srcinais. Existe um conjunto de formas geométricas que pode criar, bem como um conjunto de operações que pode efetuar, todas disponibilizadas a partir do menuModeling . Estas figuras geométricas e operações são em tudo idênticas às existentes em aplicações de modelação 2D e 3D. Encontra mais informação sobre as mesmas emRobotStudio Help Modeling Tab. NOTA:NOTA: Os nomes atribuídos aos vários elementos constituintes do ambiente de trabalho podem facilmente ser editados clicando duas vezes com o botão esquerdo do rato nos mesmos, ou clicando com o botão direito do rato seguido da opçãoRename. Procure atribuir sempre nomes sugestivos aos vários elementos, permitindo assim uma mais fácil reutilização, depuração e avaliação do trabalho desenvolvido. 3.10 Modos de VisualizaçãoModos de Visualização Por vezes alguns dos pormenores do ambiente de trabalho poderão ser mais percetíveis em diferentes modos de visualização. Em particular, poderá recorrer ao modowireframe (modelo de arames), situação em que as superfícies serão transparentes e apenas visualizadas as arestas, tal como exemplificado na Figura 29. Para aceder a esta visualização, clique emHome Graphics Tools Representation Wireframe. Caso queira dar um aspeto mais avançado em termos de gráficos, pode selecionar a opção Advanced Lighting no mesmo menu. No entanto tal não é aconselhado durante o desenvolvimento, pois implica um consumo mais elevado de recursos computacionais por parte do RobotStudio. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 17/45 Figura 29 – Modelo de Arames. 3.11 Movimentar o Robô e Criar CaminhosMovimentar o Robô e Criar Caminhos Nesta secção irá aprender os modos básicos para: • Movimentar o robô; • Criar posturas de trabalho (tipicamente denominados em inglês porTarget Point ou Geometry Points, GPs); • Criar um caminho a realizar pelo robô. A forma mais simples de especificar um movimento/trajetória para um manipulador, é “ensinando- lhe” posturas de interesse, posturas essas que são depois unidas num movimento pré-configurado. A estas posturas está associada uma configuração do robô, bem como um tipo de movimento entre posturas (linear, circular ou de junta). Essas posturas são normalmente denominados em inglês por targets, sendo o processo de as criar denominadoTeach target . O caminho que une essas posturas denomina-se em inglês de path. Os passos que se seguem permitem de uma forma simples compreender a diferença entre um movimento de junta e um movimento linear, sendo que, para este último, é necessário que o controlador atue sobre uma ou mais juntas em simultâneo. Poderá ainda observar os valores mínimos e máximos de cada junta, os quais limitam o movimento do manipulador em si. Realize os seguintes passos: 1. Abra o ambiente de trabalho criado anteriormente, caso ainda não esteja aberto; Movimento de Juntas (manual) 2. Selecione movimento manual de juntas, clicando emHome Freehand Jog Joint (ver Figura 30); 3. Neste modo, quando seleciona uma junta, esta fica marcada. Experimente selecionar cada uma das seis juntas do robô e movimentá-las com o rato. Para testar as juntas mais próximas do elemento terminal do robô, aconselha-se a que façazoom a essa zona; Figura 30 – Movimento manual de juntas. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 18/45 Movimento Linear (manual) 4. Selecione agora movimento manual linear, clicando emHome Freehand Jog Linear (ver Figura 31); 5. Neste modo poderá movimentar o robô sem que ocorram alterações da orientação do elemento terminal. Para tal selecione e arraste um dos eixos. Poderá confirmar que o robô movimenta várias juntas de modo a garantir um movimento linear segundo o eixo e direção selecionados. Note que, caso tenha selecionado uma das opções deSnap, o robô tentará ir para essas posições; 6. Desabilite a opção Jog Linear; Controlo manual (numérico) de juntas 7. No separador Layout selecione o robô IRB1600_6_120__02 (ver Figura 32), aparecendo um novo menu de topo, Mechanism Tools, correspondente à seleção feita; 8. Abra o separador de controlo e visualização numérica das juntas clicando em Mechanism Tools Modify Mechanism Joint Jog . Surgirá um novo separador, ilustrado na Figura 33. Também poderá aceder a esta funcionalidade, clicando com o botão direito do rato no robô, no separadorLayout , seguido da opção Mechanism Joint Jog ; 9. Neste separador poderá controlar e visualizar o valor de cada junta do robô. Poder arrastar os valores com o rato, clicar nas setas ou, após selecionar um dos valores de junta, escrever um valor específico através do teclado. Nesse separador poderá ainda monitorizar a configuração utilizada bem como as coordenadas do Tool Center Point (TCP), i.e., as coordenadas da ferramenta; Controlo manual (numérico) linear 10. Poderá da mesma forma ativar o controlo numérico linear, clicando emMechanism Tools Modify Mechanism Linear Jog ; 11. No novo separador poderá visualizar as coordenadas em posição (X, Y, Z) e orientação (RX, RY e RZ) do elemento terminal de acordo com o referencial escolhido; Movimento para a postura Home 12. O robô pode possuir um conjunto de posturas armazenadas, sendo uma destas, incluída por omissão, denominadaHome. Esta corresponde tipicamente à postura do robô em quetodas as juntas estão na sua posição zero. Pode em qualquer altura colocar o robô nesta postura clicando com o botão direito do rato no robô no separadorLayout , seguido da opção Jump Home; Figura 31 – Movimento manual linear. Figura 32 – Selecionar o robô. Figura 33 – Controlo manual (numérico) de juntas. Figura 34 – Adicionar uma postura de trabalho. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 19/45 Criar posturas de trabalho (targets) 13. Existem várias formas de criar posturas de trabalho. Uma delas consiste em colocar a ferramenta do robô na postura pretendida, gravando de seguida essa postura. Para tal, mantenha o robô na postura Home (ponto anterior) e selecione a opçãoHome Teach Target (se surgir um aviso sobre o uso dos referenciais “tool0” e “wobj0”, escolha a opção “Yes”), como mostra a Figura 34. Note que esta postura foi adicionada considerando a tarefa, Workobject e ferramenta definidos em Settings doseparador Home (ver Figura 35); 14. Mova o robô atuando na junta 1 e guarde a postura alcançada executando de novoHome Teach Target ; 15. Mova o robô utilizando um movimento linear ao longo do eixo dos Zs negativo, seguido de um movimento linear horizontal ao longo de X positivo. Guarde a nova postura alcançada através da função Teach Target e cancele a opção de mover o robô; 16. Escolha o separadorPaths&Targets e expanda as propriedades do robô de modo a visualizar as posturas criadas anteriormente, tal como mostra a Figura 36. Confirme que foram criadas 3 posturas com os nomes por omissão: Target_10, Target_20 e Target_30. Note que pode selecionar uma ou mais posturas, ficando estas evidenciadas no ambiente; Criar um caminho 17. Adicione um novo caminho (vazio) ao robô executando Home Path Empty Path (ver Figura 37). Por omissão o novo caminho denomina-se Path_10; 18. Selecione as 3 posturas criadas anteriormente e arraste-as para o caminho criado no ponto anterior, resultando num conjunto de instruções tal como ilustra a Figura 38. Por omissão o movimento a realizar entre as várias posturas é do tipo linear, razão pela qual é utilizada a funçãoMoveL (futuramente serão dados mais detalhes sobre esta e outras funções). Confirme que o caminho aparece no ecrã (ver Figura 40); NOTA:NOTA: O caminho que é desenhado no ecrã não corresponde necessariamente à trajetória que o robô irá descrever, pois tal depende do tipo de movimentos escolhidos e respetivos parâmetros. 19. Selecione as 3 instruções adicionadas ao caminho, clique com o botão direito do rato nessa seleção e escolha a opção Edit Instruction. Altere o tipo de movimento deLinear (linear) para Joint (junta) na opçãoMotion Type, resultando assim no conteúdo ilustrado na Figura 39; 20. Clique em Simulation Monitor , ative a opção Enable TCP trace, altere a cor Trace color para laranja e clique em OK . Desta forma ficará marcada a posição por onde o robô passar Figura 36 – Posturas de trabalho criadas. Figura 37 – Criar um caminho vazio. Figura 38 – Posturas de trabalho criadas. Figura 39 – Caminho com movimento de juntas. Figura 35 – Adicionar uma postura de trabalho. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 20/45 sempre que executar uma trajetória programada; 21. No separador Layout, clique com o botão direito do rato na postura Target_10 e escolha a opção Jump To Target ; Figura 40 – Caminho criado. Figura 41 – Caminho executado. 22. Clique com o botão direito do rato no caminho criado (Path_10) e escolha a opçãoMove Along Path. O caminho gerado será carregado para o controlador virtual e executado pelo robô. Deverá visualizar no ambiente a execução do caminho criado, ficando marcado a laranja o caminho efetivamente realizado pela ponta de ferramenta. Como pode confirmar, o caminho não corresponde às linhas retas entre as várias posturas (mais à frente voltará a abordar esta questão); NOTA:NOTA: No final da execução do movimento anterior irá surgir o erroProgram pointer has been reset na janela de Output do RobotStudio. Esse erro é esperado e resulta do facto de, para testar o caminho, ter sido criado e carregado um programa temporário para o controlador do robô. Como no final o programa desaparece, o apontador de programa é perdido. Tal não deverá acontecer quando tiver a realizar uma simulação completa, como verá nos tutoriais futuros. 23. Para terminar guarde o ambiente desenvolvido, de preferência utilizando a opçãoPack & Go. Note-se que as várias posturas criadas podem ser reutilizadas em múltiplos caminhos, pelo que deve dar-lhes nomes relevantes para facilitar a identificação de cada uma. Para tal basta clicar duas vezes no nome da postura cujo nome pretende alterar. É muito importante que tenha percebido a diferença entre um movimento de junta e um movimento linear. Enquanto num movimento linear a ferramenta realiza uma linha reta entre o ponto anterior e o ponto objetivo, na realização de um movimento de junta não há qualquer garantia quanto ao trajeto realizado pelo robô, apenas que irá começar e terminar nas posturas especificadas. Tal significa que não devem ser utilizados movimentos de junta quando se realizam operações sensíveis, tais como levantar e colocar objetos, ou em aproximações a objetos, pois poderá haverá o risco de colisões. Por outro lado, a utilização de movimentos lineares deve ser evitada sempre que possível, pois além do custo computacional mais elevado para o cálculo do movimento a realizar por parte do controlador do robô, há tipicamente um custo energético e um tempo de execução superior quando comparado com o movimento de junta para as mesmas duas posturas de srcem e destino. Num movimento de junta o robô escolhe o caminho mais rápido entre a postura de partida e postura de chegada. 4 Criar umCriar um Workobject Workobject Tal como detalhado na ajuda do RobotStudio, na secção “How to program robots” , item 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 21/45 “Workobjects” , um Workobject consiste num referencial de coordenadas que é utilizado como srcem na criação de um conjunto de posturas/caminhos tipicamente associados a um objeto, área de trabalho e operação específicos. Considere que criou um caminho ao longo das arestas de um dado objeto e que esse caminho tem por base umWorkobject . Caso pretenda processar a peça numa postura diferente, tudo o que terá que fazer será reajustar o Workobject . Caso não tivesse usado um Workobject nessa situação, seria necessário refazer todo o caminho e criar novamente todas as posturas associadas. É fundamental a utilização de Workobjects para cada operação, devendo sempre começar qualquer tarefa pela criação destes. Outro conceito importante reside na escolha da configuração com que cada postura é atingida num dado caminho. Embora tipicamente um manipulador, em particular um com seis juntas, seja capaz de atingir a mesma postura com várias configurações distintas (valores diferentes de juntas), a escolha das configurações é crucial para a execução do caminho com sucesso. Ao longo desta secção ficará mais familiarizado com este conceito. Realize os seguintes passos: 1. Abra o ambiente de trabalho gerado no tutorial anterior; 2. Selecione a peça em cima da mesa e centre-a no separador de visualização, clicando na mesma com o botão direito do rato e escolhendo a opçãoView Center . Faça zoom à peça, resultando numa visualização semelhante à da Figura 42; 3. Ative a opção Snap End ou Snap Object ; 4. Clique em Home Other Create Workobject ; 5. Modifique o nome doWorkobject de Workobject_1 paraMyWorkobject (procure sempre que estes nomes sejam sugestivos); Figura 43 – Seleção dos pontos para criar um Workobject . 6. Na componente User Frame clique em Frame by points, selecione a opção Three-point e escolha os três pontos que definem o referencial associado ao plano de trabalho (Workobject ), tal como ilustra a Figura 43. O primeiro ponto corresponde à srcem do Workobject , o segundo é um ponto ao longo do eixo X (positivo) e o terceiro é um ponto ao longo do eixo Y (positivo); Figura 42 – Visualização da peça. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 22/45 7. Clique em Create, terminado assim a criação do Workobject. No final o referencial associado ao Workobject ficará visível, tal como ilustrado na Figura 44. Poderá inclusive seleciona-lo no separador Paths&Targets de modo a ficar mais visível. Note ainda que na secção Settings do menu Home passou a estar selecionado o Workobject agora criado; 5 Criar um Caminho com Base nos Vértices de um Criar um Caminho com Base nos Vértices de um ObjetoObjeto Anteriormente aprendeu a criar posturas e a gerar um caminho com base nestas. Na prática interessa que as posturas criadas tenham alguma relação com a tarefa a desenvolver, tipicamente associadas a objetos a trabalhar. Esta secção mostra como pode criar um caminho com basenos vértices de um dado objeto. De salientar que as posturas geradas estarão associadas ao Workobject criado na secção anterior. Com o ambiente anterior aberto, execute os seguintes passos: 1. Selecione a opçãoHome Target Create Target de modo a poder criar várias posturas; 2. Escolha quatro pontos nos vértices da peça clicando nos mesmos (no sentido dos ponteiros do relógio e começando pelo vértice na srcem do Workobject), tal como ilustra a Figura 45 (deverá ter a opção Snap Object ativada). Note que as posturas são automaticamente adicionadas à lista à esquerda. Confirme que oWorkobject selecionado é o MyWorkobject, que a ferramenta selecionada é a ferramentaMyTool e clique em Create para terminar a adição das posturas, resultando na Figura 46; NOTA:NOTA: Quando as posturas não são adicionadas usando a opçãoTeach target estas não incluem a configuração do robô, razão pela qual ficam com um ponto de exclamação associado na lista de posturas. Tal significa que não há ainda confirmação que a postura é de facto alcançável pelo robô, algo que será determinado nos passos seguintes. Figura 45 – Criação de posturas num objeto. Figura 46 – Posturas criadas num objeto. 3. De modo a facilitar a perceção das posturas definidas é possível visualizar a ferramenta do robô nestas. Para tal selecione todas as posturas do Workobject criado e ative a opção Target Tools Modify View tool at target MyTool , resultando na informação disponível na Figura 47. Figura 44 – Workobject . 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 23/45 Figura 47 – Visualização da ferramenta nas posturas criadas. Figura 48 – Posturas após primeira rotação. Figura 49 – Posturas após segunda rotação. 4. Tal como a Figura 47 mostra, as posturas escolhidas não são as ideais, pelo que têm de ser alteradas. Para tal, mantendo todas as posturas selecionadas, clique emTarget Tools Modify Rotate. Com o referencial local selecionado, selecione o eixo de rotação X e rode180º, obtendo o resultado ilustrado na Figura 48. Selecione agora o eixo de rotação Z e rode novamente 180º, obtendo o resultado ilustrado na Figura 49; Figura 50 – Escolha da configuração. 5. Selecione a primeira postura do Workobject e clique em Target Tools Modify Jump To Target 8. Irá surgir uma janela para escolher a configuração desejada. Experimente as várias configurações disponíveis, escolha no final a primeira e faça Apply (não feche a janela das configurações). Na Figura 50encontra o resultado esperado após a escolha da configuração (0,-1,0,0); 8 Poderá também aceder à opção Jump To Targetclicando com o botão direito do rato na postura. Um número razoável das opções disponíveis nos menus está também disponível por esta via. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 24/45 6. Ative a opção Target Tools Modify View Robot at Target de modo a visualizar o robô na postura selecionada. Selecione uma postura de cada vez das 4 criadas para o Workobject e escolha a configuração desejada, de preferência a mesma que na postura anterior ou próxima desta. Após configurar todas as posturas feche a janela das configurações e cancele a opção View Robot at Target . Note que à medida que configura as posturas estas deixam de ter um ponto de exclamação associado, indicando que a postura foi verificada e é alcançável pelo robô; 7. Crie um novo caminho vazio e adicione estas 4 posturas a esse caminho, arrastando-as para lá; 8. Teste a execução do caminho, selecionando o mesmo e clicando emPath Tools Modify Move Along Path, obtendo a trajetória indicada na Figura 51; 9. Como pode verificar pelo resultado obtido, o robô não executa os movimentos sempre em linha reta entre posturas consecutivas, embora o resultado seja bastante mais próximo do que o esperado, comparativamente à utilização de movimentos de juntas (MoveJ ). Tal deve- se aos parâmetros utilizados para o movimento. Como não efetuou qualquer alteração a estes parâmetros, este terá sido definido com as características indicadas na barra inferior da janela do RobotStudio, nomeadamente movimentos lineares(MoveL) com velocidade de 1000 mm/s (v1000 ), aproximação de 100 mm (z100 ), a ferramenta MyTool e o Workobject MyWorkobject (pode confirmar estes parâmetros colocando o ponteiro do rato por cima de cada instrução de movimento). Neste caso em concreto, como definiu uma aproximação de 100 mm, assim que o robô estiver a menos de 100 mm da próxima postura, este avança para o movimento seguinte; Figura 51 – Caminho executado com erro. Figura 52 – Caminho executado com precisão. 10. Para a trajetória a realizar, tem duas hipóteses: poderá apagar as instruções, alterar as opções na barra inferior da janela do RobotStudio e voltar a adiciona-las; alternativamente pode selecionar todos os movimentos no separadorPaths&Targets e, clicando com o botão direito do rato, escolher a opção Edit Instruction. Na janela que aparece altere a opçãozone de z100 para fine, a precisão máxima do robô. Clique em Apply e feche a janela; 11. Aceda novamente à opção Simulation Monitor e clique na opçãoClear Trace para apagar o traçado anterior e altere a cor para magenta para ser mais visível; 12. Corra novamente o caminho criado e verifique que a trajetória realizada pela ferramenta é a apresentada na Figura 52. Verifique ainda que agora o robô para nos cantos da peça por breves instantes, algo que não acontecia no movimento anterior; 13. Grave o ambiente criado. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 25/45 Mas qual o significado do Mas qual o significado do parâmetroparâmetrozonezone?? Como poderá confirmar na ajudaRAPID Instructions, Functions and Data types Data types zonedata – Zone data, o parâmetro zone é do tipo zonedata. Quando esse parâmetro éfine, o robô executa a trajetória com a precisão máxima e tipicamente esse ponto passa a ser um ponto de paragem. Quando esse parâmetro toma um dos valores indicados na Tabela 1, o movimento do robô passa a ser um movimento aproximado, em função do valor escolhido, à semelhança do exemplo ilustrado na Figura 53. Path zone Name TCP path Orientation Ext. axis z0 0.3 mm 0.3 mm 0.3 mm z1 1 mm 1 mm 1 mm z5 5 mm 8 mm 8 mmz10 10 mm 15 mm 15 mm z15 15 mm 23 mm 23 mm z20 20 mm 30 mm 30 mm z30 30 mm 45 mm 45 mm z40 40 mm 60 mm 60 mm z50 50 mm 75 mm 75 mm z60 60 mm 90 mm 90 mm z80 80 mm 120 mm 120 mm z100 100 mm 150 mm 150 mm z150 150 mm 225 mm 225 mm z200 200 mm 300 mm 300 mm Tabela 1 – Dados de aproximação pré- definidos Figura 53 – Execução de um caminho. Mas qual o significado dos valores utilizados para a Mas qual o significado dos valores utilizados para a escolha de uma dada configuração?escolha de uma dada configuração? Tal como descreve a secção de ajudaRobotStudio Help Introduction to RobotStudio Terms and concepts Robot axis configurations, uma dada configuração é definida com 4 valores inteiros, cujos significados dependem do tipo de robô. No caso dos robôs com 6 juntas em série, os três primeiros número significam: um número maior ou igual a zero corresponde a um movimento no quadrante positivo correspondente (a começar em 0 para o primeiro quadrante); um número negativo corresponde a um movimento no quadrante negativo correspondente (a começar em -1). O quarto elemento indica qual das 8 possíveis posições do punho para três casos particulares do robô (singularidades). No caso de juntas prismáticas o número inteiro indica o deslocamento em metros da junta (arredondado para baixo). Apenas se incluem na configuração as juntas que o fabricante considera relevantes para distinguir entre as várias configurações possíveis para atingir a postura final do robô, podendo variar entre robôs. A título de exemplo, considere o valor [0 -1 2 1] para um robô IRB 140: • O primeiro valor, 0, diz respeito à primeira junta (base), indicando um ângulo entre 0º e 90º (1º quadrante positivo); • O segundo valor,-1, corresponde a um ângulo para a quarta junta entre 0º e -90º (1º quadrante negativo); • O terceiro valor, 2, corresponde a um ângulo para a sexta junta entre 180º e 270º (3º quadrante positivo); • O quarto valor, 1, indica que o punho estaria numa posição idêntica à da Figura 54; Aceda ao Mechanism Joint Jog do robô, varie as juntas 1, 4 e 6 e confirme que a configuração é a esperada. Para mais informações sobre estes parâmetros, consulte a ajuda emRAPID Instructions, Functions and Data types Data types confdata – Robot Figura 54 – Exemplo de configuração 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 26/45 configuration data. Conclui-se que a escolha das configurações a utilizar pode não ser trivial, dado que podem existir duas posturas consecutivas com configurações diferentes, as quais podem ser incompatíveis, em particular se o robô estiver a realizar um movimento linear entre ambas. Uma forma de minimizar estes problemas é utilizar a configuração automática. Essa opção está disponível emPath Tools Modify Auto Configuration e será descrita na secção seguinte. Note, no entanto, que mesmo utilizando a configuração automática poderá não ser possível gerar um caminho entre todos os pontos definidos. Note também que o facto de o robô não conseguir realizar a configuração automática, não significa que não seja possível realizar o caminho escolhendo outras configurações. Esses casos poderão ser resolvidos alterando as configurações manualmente ou alterando as posturas, quer individualmente, quer alterando o objeto (e respetivo Workobject ) movendo/orientando este para um local mais acessível por parte do manipulador ou que não implique alteração de configurações. 6 Criar Caminhos ao Longo das Arestas de um ObjetoCriar Caminhos ao Longo das Arestas de um Objeto Criar caminhos com base nos vértices de um objeto permite realizar tarefas com base na geometria destes. No entanto, para objetos com geometrias mais complexas, existem alternativas mais práticas de criar esses caminhos. Os passos seguintes ilustram esse processo: 1. Abra o ambiente final criado na alínea anterior, caso o tenha fechado, e esconda os caminhos previamente criados, Path_10 e Path_20 (estes não serão utilizados nos passos que se seguem), bem como o cubo e a pirâmide. Para tal clique nos mesmos com o botão direito do rato e desative a opçãoView Visible, resultando no ambiente ilustrado na Figura 55; 2. Modifique a vista de forma ficar idêntica à da Figura 55 e ative a opção Surface Selection, como mostra a Figura 56; Figura 55 – Adição de um objeto. Figura 56 – Seleção de superfícies. 3. Selecione a opçãoModeling Border around Surface; 4. Selecione a superfície da peça, tal como ilustra a Figura 57, e clique em Create seguido de Close, criando assim uma curva ao longo do bordo da superfície selecionada, como ilustra a Figura 58; 5. Ative a opção Curve Selection (ver a Figura 59) e selecione a curva criada no ponto anterior; 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 27/45 Figura 57 – Modo de seleção de superfície. Figura 58 – Curva criada ao longo da aresta. Figura 59 – Seleção da fronteira de uma superfície Figura 60 – Geração de um caminho ao longo do bordo de uma superfície. 6. Com a curva selecionada clique agora emHome Path AutoPath, resultando no separador exibido na Figura 60. Faça as seguintes alterações: a. Para o campo Reference Surface selecione a superfície superior da peça (a mesma utilizada no ponto 4); b. Altere o campo Tolerance (desvio máximo permitido do caminho relativamente à curva) para 1 mm, verificando que o número de pontos gerados aumenta com a diminuição deste valor; c. Altere o campo Approximation Parameters para Circular (para permitir movimentos circulares no caminho gerado e não apenas movimentos lineares). Verifique que ao alterar esta opção diminui consideravelmente o número de pontos nas zonas curvas do caminho; Figura 61 – Caminho gerado ao longo do bordo da superfície. Figura 62 – Visualização da ferramenta numa postura. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 28/45 d. Clique em Create resultando em 10 posturas criadas e um caminho, tal como mostra a Figura 61; 7. Selecione a primeira postura guardada e ative a opçãoTarget Tools Modify View Tool at Target MyTool , de modo a vizualisar a postura da ferramenta(Figura 62); 8. Selecione todas as posturas guardadas, visualizando assim a ferramenta em todas as posturas geradas (Figura 63); 9. Para permitir que o robô realize o caminho pretendido de forma suave e minimizando problemas na realização da trajetória devemos garantir uma maior compatibilidade entre posturas consecutivas. Um primeiro passo é a reorientação das mesmas. Para tal selecione a primeira postura e clique emTarget Tools Modify Rotate, surgindo o separador visível na Figura 64; Figura 63 – Visualização da ferramenta em todas as posturas guardadas. Figura 64 – Rotação da postura. 10. Selecione o eixo dos Zs como eixo de rotação e aplique uma rotação de -90º no referencial local, resultando na postura indicada na Figura 65; 11. Selecione agora todas as posturas exceto a primeira e clique emTarget Tools Modify Align Target Orientation surgindo o separador visível na Figura 66; Figura 65 – Postura após rotação. Figura 66 – Alinhar a orientação de um conjunto de posturas. 12. Selecione para o campoReference a primeira postura e escolha alinhar todas as posturas com a primeira segundo o eixo do X ( Align Axis) mantendo o eixo dos Z inalterado (Lock Axis). Clique em Apply e selecione novamente todas as posturas para confirmar que obteve o resultado ilustrado na Figura 67; 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 29/45 Figura 67 – Posturas após alinhamento de orientação. Figura 68 – Sequência de movimentos para executar o caminho. 13. Como pode confirmar observando a lista de posturas, estas apresentam um sinal de aviso. Se colocar (sem clicar) o rato por cima da postura poderá constatar que o aviso se deve ao facto de ainda não ter sido escolhida qualquer configuração para as várias posturas. Para faze-lo rapidamente e de forma automática, selecione o caminho criado e clique emPath Tools Modify Auto Configuration. Ser-lhe-á solicitado para escolher a configuração da primeira postura, devendo tipicamente escolher aquela que lhe pareça mais próxima de todas as possíveis configurações ao longo do caminho, neste caso (0,-1,0,0). No final poderá confirmar na janela de mensagens (Output ) que a configuração automática do caminho foi bem-sucedida; 14. No separador Paths&Targets pode visualizar a sequência de instruções de código RAPID que permite executar o caminho gerado (ver Figura 68), nomeadamente instruções MoveL para movimentos lineares e MoveC para movimentos circulares, as quais serão estudadas em mais detalhe posteriormente; 15. Para terminar confirme que o robô consegue executar o caminho com sucesso. Para tal deverá selecionar o caminho e clicar emPath Tools Modify Move Along Path. Deverá ver o robô a executar o caminho gerado (note que poderá demorar alguns segundos até que o robô inicie a execução do caminho); 16. Experimente ainda alterar a aproximação para z0 e/ou fine, e repetir a execução do caminho para observar mais uma vez o impacto dessa opção. 7 Alteração da Localização do Espaço de Trabalho Após a CriaçãoAlteração da Localização do Espaço de Trabalho Após a Criação das Posturas e/ou do Caminhodas Posturas e/ou do Caminho Pode ocorrer que seja necessário alterar o local onde uma dada peça é operada pelo robô, já depois de ter gerado todos os caminhos com base na geometria da peça. Um exemplo típico dessa necessidade, é quando o projeto é feito no ambiente de simulação, mas depois na prática existem algumas variações face ao projeto. Neste caso a utilização de umWorkobject garante que se pode procedera essa alteração com um esforço mínimo. Os passos seguintes ilustram essa situação para o ambiente de trabalho desenvolvido na secção anterior: 1. Comece por movimentar a peça para o canto da mesa, resultando no ambiente de trabalho ilustrado na Figura 69. Como pode observar, a movimentação da peça não teve qualquer impacto no caminho previamente gerado, pelo que é necessário corrigir o caminho; 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 30/45 Figura 69 – Alteração da posição do objeto de trabalho. Figura 70 – Seleção do Workobject . 2. Dado que o caminho foi gerado tendo por base oWorkobject definido previamente, para que o caminho fique correto basta atualizar oWorkobject . Para tal selecione o Workobject utilizado para definir as posturas (ver Figura 70) e clique em Workobject Tools Modify Modify Workobject . Na janela de definições que surge, à semelhança do que aconteceu aquando da criação deste, altere as propriedades doUser Frame procedendo da mesma forma de quando criou oWorkobject (ver Figura 43). Clique em Apply , sendo todo o caminho corrigido e de novo coincidente com o bordo utilizado anteriormente, tal como mostra a Figura 71; 3. Observando a lista de posturas e caminhos criados (ver Figura 72) conclui-se que se perdeu a configuração efetuada anteriormente. Tal é de esperar, dado que as posturas foram todas alteradas, pelo que é necessário reconfigurar todas as posturas; 4. Para reconfigurar o caminho execute novamente a autoconfiguração. Execute no final a função Move Along Path para o caminho gerado de modo a confirmar a correta configuração do mesmo; 5. Guarde o trabalho. Figura 71 – Alteração do Workobject . Figura 72 – Caminho desconfigurado. Nesta secção teve oportunidade de confirmar as vantagens associadas à utilização deWorkobjects associados aos objetos ou espaços de trabalho. Caso não tivesse utilizado um Workobject nesta situação, teria que ter criado novamente todos os pontos um a um e gerado o caminho novamente, o que seria um processo mais moroso face à atualização doWorkobject , mesmo num caso simples como este. 8 Adicionar Sinais ao RobôAdicionar Sinais ao Robô A interação entre robôs e/ou autómatos é normalmente baseada em módulos bastante conhecidos 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 31/45 e utilizados (DeviceNet, EtherCat, Ethernet/IP, etc.). No entanto a interação com os sensores e atuadores é tipicamente bastante mais simples, funcionando através de sinais analógicos e/ou digitais (naturalmente que também é possível que a interação com os autómatos seja feita com recurso a entradas/saídas digitais e/ou analógicas). Qualquer manipulador industrial pode estar equipado com um conjunto de entradas/saídas digitais e/ou analógicas. Os sinais são tipicamente utilizados para medir valores de sensores e acionar atuadores (ou pré-acionadores), à semelhança do que acontece com os autómatos. A leitura dos sensores permite tomar decisões, alterando assim os atuadores que são acionados. Os sinais podem ainda ser utilizados para coordenação simples entre múltiplos robôs, embora haja outras formas mais avançadas de o fazer, como é o caso da opção MultiMove da ABB. No entanto este tipo de abordagem mais avançada não está disponível para coordenar robôs de diferentes fabricantes. Esta secção descreve os passos necessários para adicionar sinais a um robô. Tal poderia facilmente expandir-se para qualquer outro tipo de utilização de sinais digitais. Note, no entanto, que este exemplo em particular não tem por base nenhum caso específico, mas somente exemplificar a utilização de sinais. Considere-se um robô que apenas arranca quando uma determinada entrada ficar com o nível alto, e que ativa uma saída quando terminar o movimento. Assim, é necessário adicionar esses sinais ao robô, dado que por omissão este não vem configurado com qualquer saída ou entrada no ambiente de simulação. 1. Abra o ambiente de trabalho criado anteriormente, caso o tenha fechado, selecione o robô no separador Layout e clique na opçãoController Configuration Editor I/O; 2. É necessário adicionar os sinais a utilizar no robô, neste caso a saída digital doOperationEnded e a entrada digital diStartOperation. Para adicionar um sinal, com o painel de configuração do sistema I/O, clique no tipo Signal com o botão direito do rato e selecione a opçãoNew Signal…. Atribua um nome ao sinal (Name), escolha o tipo de sinal pretendido (Type of Signal ), deixe a opção Assigned to Device livre (dado que é um sinal do controlador virtual), atribua uma descrição em Signal Identification Label e altere o Access Level para All . A alteração do tipo de acesso é sobretudo relevante para as saídas, pois caso contrário não poderíamos forçar o valor das saídas manualmente a partir do simulador. Na Figura 74 encontra um exemplo para o sinaldoOperationEnded (para mais informações sobre os vários parâmetros consulteRobotStudio Help Controller Tab Configuration Editor ); Figura 73 – Adicionar um sinal. Figura 74 – Configuração de um sinal virtual. 3. Na janela Configuration – I/O System selecione o tipoSignal e confirme que os sinais estão corretamente adicionados. Caso não estejam, poderá clicar com o botão direito do rato, selecionar a opçãoEdit Signal(s)… e proceder às alterações pretendidas. Nesta visualização 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 32/45 pode também adicionar novos sinais através do botão direito do rato e da opçãoNew Signal…; Figura 75 – Sinais adicionados. 4. Feche o separador de configuração das entradas/saídas, clique com o botão direito do rato no robô (no separadorController ), escolha a opçãoRestart Restart (Warmstart) e clique em OK para reiniciar o controlador e aplicar as alterações efetuadas; NOTANOTA: No menu Restart tem várias opções, as quais são detalhadas emRobotStudio Help Controller tab Features for both virtual and controllers. Tipicamente deverá utilizar a opçãoRestart (Warmstart), apenas disponível para controladores virtuais, pois permite reiniciar o controlador carregando novas configurações do mesmo. Caso tenha algum problema com o controlador, esta é a opção a usar. 5. Faça uma cópia de segurança dos parâmetros do robô através da opção Controller Save Parameters (opção junto a Configuration Editor ). Caso queira usar a configuração criada num outro robô ou simulação poderá carregar estes parâmetros, cujos ficheiros têm a extensão *.cfg ; 9 Programação Gráfica do Robô e SimulaçãoProgramação Gráfica do Robô e Simulação Para melhor exemplificar a utilização de sinais, irá utilizar-se dois robôs coordenados por entradas/saídas. De modo a acelerar o desenvolvimento deste tutorial, está disponível no Moodle uma estação de trabalho do RobotStudio já preparada. Relativamente ao que se fez acima, foi adicionado um robô semelhante com as mesmas entradas e saídas, bem como os movimentos necessários para cada robô, semelhantes aos movimentos criados anteriormente. Colocados todos os elementos no ambiente de trabalho, interessa agora programar os robôs para executar a tarefa em questão. A programação do robô e a configuração da simulação pode ser puramente gráfica, ou pode incluir edição de código.Nesta secção descreve-se o método puramente gráfico, enquanto na secção seguinte se aborda a utilização/edição direta de código. 1. Abra o ambiente de trabalho indicado acima; NOTA:NOTA: No RobotStudio o separador Paths&Targets do ambiente de trabalho diz respeito à edição do ambiente mas não necessariamente à informação que está armazenada no controlador do robô. Assim, para que esta informação esteja disponível no controlador virtual do robô, é necessário carregar essa informação para o controlador. Caso se utilizasse um robô real teria que se proceder Figura 76 – Ambiente fornecido com dois robôs. 2016/2017 – 2º Semestre, EEC, RVC Hugo Costelha e Carlos Simplício 33/45 da mesma forma, mas nesse caso
Compartilhar