Buscar

368789753-RobotStudio-PT

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Continue navegando