Técnicas e Linguagens de Programação de Robôs

Tamanho: px
Começar a partir da página:

Download "Técnicas e Linguagens de Programação de Robôs"

Transcrição

1 Automação e Robótica I Técnicas e Linguagens de Programação de Robôs Ricardo Silva nº 1841 Rui Cabral nº 1547 Henrique Carvalho nº Viseu, / Ricardo Silva, Rui Cabral, Henrique Carvalho 1

2 1 - Introdução Neste trabalho vamos apresentar uma visão geral dos diferentes tipos e métodos de programação de robôs, o processo de desenvolvimento de um programa para um robô e ainda uma abordagem às linguagens de programação mais usadas. Em primeiro lugar, temos de estabelecer algumas terminologias: Os graus de liberdade de um robô serão numerados da seguinte forma: θ1, θ2, θ3, etc. Usualmente os robôs industriais têm entre 4 e 6 graus de liberdade, um em cada junta. Figura 1 No final do braço do robô, está situado um órgão terminal. Nas figuras abaixo podemos ver alguns dos mais utilizados. Figura 2 Figura 3 Figura / Ricardo Silva, Rui Cabral, Henrique Carvalho 2

3 Considerando o órgão terminal da figura 2, o chamado gripper, vamos definir um ponto no meio dos dois dedos denominado end-point (Pe) do robô. Se, por exemplo, o robô tem um gripper de dois dedos, para poder levantar objectos, definimos geralmente Pe como um ponto entre os dois dedos, de modo que quando um objecto está neste ponto, tudo o que o robô tem a fazer para o levantar é fechar o gripper para agarrar o objecto. Pode então executar um movimento com o objecto entre os dedos. Mas não é suficiente definir Pe como um ponto. É também necessário atribuir-lhe um sistema de coordenadas, para que possamos definir a posição de Pe no espaço, e a sua orientação. Deste modo, estamos com todas as condições para definir uma posição e uma orientação do gripper do robô relativamente à posição e à orientação de Pe. A posição e orientação de Pe precisa de ser definida relativamente a um sistema de eixos de referência global. Para isto, normalmente é utilizado um sistema de coordenadas fixo na base do robô, que não deve ser movido. Neste momento apenas é importante saber o que é o Pe e que a sua posição e orientação no espaço de trabalho é determinada pelos valores da posição das juntas θ1, θ2, θ3, etc. Uma posição e orientação especial de Pe no espaço, e por conseguinte um determinado conjunto de valores de posição das juntas é chamada configuração do braço do robô / Ricardo Silva, Rui Cabral, Henrique Carvalho 3

4 2 - Tipos de programação de robôs Podemos distinguir três tipos diferentes de níveis de programação de robôs, baseados nos diferentes tipos de acção básica que estão especificados em cada um destes três níveis. a) Programação a nível das juntas no qual as acções básicas são posições (e possivelmente movimentos) de cada junta individualmente: ângulos no caso de juntas rotacionais e posições lineares no caso de juntas prismáticas. b) Programação a nível do robô no qual as acções básicas são as posições e orientações (e porventura trajectórias) de Pe e do sistema de coordenadas afecto. c) Programação de alto nível, que pode ser subdividida em: i. Programação a nível de objectos no qual as acções básicas são operações a ser executadas nas partes, ou relações que devem ser estabelecidas entre as partes. Um exemplo desta ideia é o colocar um bloco sobre outro: Pegar Bloco A pelo LadoA1 e LadoA3 Mover Bloco A. para Posição2 Pegar Bloco B pelo LadoB1 e LadoB3 Colocar Bloco B no topo de Bloco A Com LadoA5 alinhado com LadoB6 e Com LadoA1 alinhado com LadoB1 e Com LadoA2 alinhado com LadoB2 Aqui, os blocos A e B são do mesmo tamanho, com os lados numerados de 1 a 4, face do topo número 5, e face de baixo número 6. As relações alinhados com especificadas no último comando deste pequeno programa a nível de objectos, são as instruções necessárias para localizar o Bloco B relativamente ao Bloco A no espaço / Ricardo Silva, Rui Cabral, Henrique Carvalho 4

5 Para este programa ser um programa completo que possa ser compilado e interpretado em comandos actuais de robô, teremos que acrescentar algumas definições dos dois objectos envolvidos, e definições da Posição2 e das outras posições utilizadas. ii. Programação a nível de tarefas neste caso, as acções básicas especificadas pelo programa são tarefas completas ou subtarefas, tais como: Agarra a caneta vermelha Coloca o copo na mesa Para este tipo de programas funcionar, o sistema do robô precisa de saber, de alguma maneira, de tipos de canetas e cores, de copos e partes que são necessárias para fazer a tarefa. Dar informações deste tipo ao sistema não é fácil. A programação a nível das juntas e a nível do robô continua a ser o tipo de programação de robôs mais utilizada. A programação a nível de objectos não tem tido muito êxito, e por isso continua a ser assunto de investigação. A nível industrial, não há linguagens de programação a nível de tarefas que possam ser aplicadas, e por isso são também assunto de estudo e investigação. Estes problemas advém do facto de tanto a programação a nível de objectos como de tarefas carecer que o robô tenha algum tipo de controlo inteligente / Ricardo Silva, Rui Cabral, Henrique Carvalho 5

6 3 - Métodos de programação de robôs Podemos também dividir os métodos de programação de robôs em dois tipos diferentes: métodos de programação On-line; métodos de programação Off-line. A diferença entre estes dois tipos de programação reside no facto de na programação on-line ser necessário utilizar o robô a ser programado para gerar o programa, enquanto que na programação off-line não é preciso ter o robô senão na fase final de teste e implementação. A programação off-line envolve a escrita do programa em modo texto numa linguagem de programação de robô. As linguagens mais utilizadas na programação de robôs irão ser descritas mais à frente. Por agora vamos analisar os métodos de programação MÉTODOS DE PROGRAMAÇÃO ON-LINE Programação por amostragem ou programação por ensino Este tipo de programação consiste na movimentação física do braço do robô através dos movimentos e acções que terá que efectuar num determinado processo. Ao mesmo tempo que esta movimentação física é efectuada, o robô regista as posições (e trajectórias se necessário) para onde, ou através das quais, o robô terá de se deslocar. Se o controlador apenas regista (na sua memória) posições estáticas da configuração do robô, e não trajectórias, isto é chamado programação ponto-a-ponto. Cada configuração é identificada por um número ou um nome simbólico. (Note-se que o termo ponto-a-ponto não pode ser interpretado no seu sentido lato pois, o que é realmente registado são as configurações do braço, ou seja, a posição e orientação de Pe. A execução do programa só envolve que o sistema de controlo do robô mova o braço do robô para cada uma das configurações registadas na sequência especificada no programa / Ricardo Silva, Rui Cabral, Henrique Carvalho 6

7 Se o controlador pode registar as trajectórias pelas quais o órgão terminal do robô deve passar, isso é a chamada programação por trajectória. Este conceito é bastante semelhante à programação ponto-a-ponto excepto no facto de serem gravados muitos mais pontos (configurações do robô). O número necessário e a distância entre eles, são automaticamente determinados pelo sistema de controlo do robô. O controlador simplesmente simplifica o movimento do braço do robô enquanto o programador o move na direcção desejada. A execução do programa é apenas uma questão de repetir as trajectórias programadas pela ordem pela qual foram programadas. Outros tipos de acções não são geralmente possíveis de programar com este método de programação, contudo existe usualmente uma maneira de programar a abertura/fecho do gripper, ligar ou desligar um ponta de solda, etc. Durante este tipo de programação, os motores do robô são desligados. Por este facto, este tipo de programação é muitas vezes conhecido como programação on-line passiva. A maior vantagem deste tipo de programação é que é bastante fácil de fazer, e não requer nenhum conhecimento especial de programação ou treino. As principais desvantagens são: o não é prática para robôs muito grandes ou pesados; o não pode ser usada em situações perigosas; o grande precisão e movimentos em linha recta são difíceis de conseguir, assim como outra trajectória geométrica, como circunferências, etc; o é difícil de associar sensores de dados externos; o a sincronização com outras máquinas ou equipamentos da célula de trabalho é difícil. Para robôs de pequenas dimensões e que só são usados para tarefas relativamente simples que não envolvam outras máquinas ou robôs, este método de programação é ainda o mais eficaz e o menos dispendioso / Ricardo Silva, Rui Cabral, Henrique Carvalho 7

8 Programação pela consola Algumas das dificuldades podem ser ultrapassadas usando o método de programação pela consola (teach-box). Este método usa uma consola e uma programação on-line activa. A consola é um painel de controlo que está conectado ao sistema de controlo do robô, que pode ser usado para fazer o braço do robô deslocar-se para uma configuração especial ou executar outras operações tal como abrir ou fechar o gripper. A consola geralmente tem um conjunto de botões que permite configurações especiais ou operações que podem ser gravadas como um passo do programa. É também possível armazenar movimentos particulares que usam trajectórias definidas. Figura 5 Uma consola O uso deste método de programação requer que os motores do robô estejam ligados. Isto é chamado, algumas vezes, de programação on-line activa. Isto significa também que é potencialmente perigoso pois, o programador tem uma grande tentação de estar perto do robô enquanto este está a ser programado para melhor observar o que se está a passar, para ajustar ou alinhar melhor a posição e orientação do gripper, etc. Isto nunca deverá acontecer! O robô deve sempre ser colocado em modo de segurança antes de o programador poder entrar na sua área de trabalho. Se for possível, utilizando a consola, incluir especificações de movimento e velocidade e/ou especificar outras condições das acções e movimentos do robô, tais como o tipo de trajectória a usar entre duas configurações, este método de programação é algumas vezes chamado de programação extendida com a consola. Ambos os métodos, descritos anteriormente, são métodos de programação on-line. A programação por ensino é essencialmente um método para programação a nível das juntas. A programação com a consola é um método que usualmente permite misturar a programação a nível das juntas e a programação a nível do robô num mesmo programa. É algumas vezes mais conveniente mover somente uma junta, para estabelecer algumas configurações desejadas do robô, do que tentar comandar o movimento do Pe. Embora ambos os métodos serem os mais usados, têm duas importantes desvantagens: / Ricardo Silva, Rui Cabral, Henrique Carvalho 8

9 Na programação on-line é preciso aceder ao robô enquanto está a ser programado, isto significa que o robô não pode estar a fazer mais nada enquanto está a ser programado, ou por outras palavras, enquanto a programação estiver a decorrer não poderão ser utilizados quaisquer periféricos ou robôs dependentes do mesmo sistema de controlo. Se existe mais do que um robô, cada um deles tem de ser individualmente programado, o que significa que uma linha de produção com diversos robôs tem de ser parada para que se possa proceder à programação de cada um deles. Isto implica uma paragem na produção e uma perda de tempo, que terá consequências financeiras. O programa gerado pelos métodos de programação on-line, só existem na memória do sistema de controlo do robô e pode não ser possível transferi-lo para outro PC, por exemplo para imprimir o programa. Isto torna os programas difíceis de documentar e modificar. Mais uma vez, isto traduz-se em custos acrescidos na programação e na reprogramação utilizando robôs com métodos de programação on-line. Os métodos de programação on-line só podem ser usados para programação a nível das juntas ou a nível do robô. Não podem ser usados para programação de alto nível MÉTODOS DE PROGRAMAÇÃO OFF-LINE Os métodos de programação off-line envolvem a criação de um ficheiro de texto contendo as instruções do robô e outras declarações que formam o programa que o robô vai executar, tais como, definições dos pontos, etc. Neste sentido, a programação off-line de robôs é muito parecida com a implementação de programas de computadores usando as linguagens C, C++, Java, ou outras. As linguagens de programação de robôs são, porém, tipicamente mais simples e frequentemente não suportam boas práticas de programação muito facilmente. Por exemplo, muitas linguagens de programação de robôs ainda têm a declaração goto, uma fonte bastante conhecida de erros e bugs em qualquer tipo de programas. Os ambientes de programação, que suportam o processo de desenvolvimento do / Ricardo Silva, Rui Cabral, Henrique Carvalho 9

10 programa, são tipicamente como que primitivos em comparação com os ambientes actuais de programação de computadores. Tal como num programa de computador, o ficheiro de texto especifica a sequência das acções básicas que deverão ser executadas, juntamente com outra informação necessária para controlar a velocidade máxima do movimento do órgão terminal (Pe), ou tipos de trajectórias que devem ser seguidas entre dois pontos, por exemplo. As maiores vantagens da programação off-line são: Os programas podem ser desenvolvidos sem ser necessário utilizar o robô; A sequência de operações e movimentos do robô podem ser optimizados ou facilmente melhorados, uma vez que o programa básico já foi desenvolvido; Procedimentos e subrotinas anteriormente desenvolvidas e testadas podem ser usadas; Dados de sensores externos podem ser incorporados, embora isso torne o programa mais complicado, e consequentemente mais difícil de modificar e alterar; Dados em CAD podem ser utilizados, por exemplo as dimensões das partes e as relações geométricas entre elas; Os programas podem ser testados e avaliados utilizando técnicas de simulação, embora isto não possa nunca retirar a necessidade de fazer o teste final do programa no robô real; Os programas podem ser mais facilmente modificados e verificados. E ainda mais facilmente ser devidamente documentados e comentados. A programação off-line pode ser usada para desenvolver programas a nível do robô e programas de alto nível. É possível utilizar os métodos off-line para programação a nível das juntas mas muito raramente são utilizados. A relação entre a programação on-line e off-line e entre controlo de cinemática e básico num robô industrial é o representado na figura seguinte: / Ricardo Silva, Rui Cabral, Henrique Carvalho 10

11 Figura 6 Alguns exemplos de linguagens de programação de robôs são: Linguagens de programação a nível de robô: o AL Universidade de Stanford, USA (1974); o AML - IBM (1982); o LM Universidade de Grenoble (1989); o VAL-II Univation (1983); o V+ - Adept (1989); o RAPID ABB (1994). Linguagens de programação a nível de objectos: o LAMA MIT Laboratório de Investigação(1976); o AUTOPASS IBM (1977); o RAPT Universidade de Edimburgo ( ) / Ricardo Silva, Rui Cabral, Henrique Carvalho 11

12 4 - Processos de desenvolvimento de um programa de robô Nesta secção vamos dar uma visão dos seis passos no processo de desenvolvimento bom e fidedigno de um programa de robô. Como este conceito do processo de desenvolvimento do programa é um pouco difícil de explicar apenas teoricamente vamos considerar o seguinte exemplo: Tarefa: Mover o Bloco A e o Bloco B de modo a formar uma torre no topo do Bloco C, na seguinte ordem C, A, B, desde o fundo. Todos os blocos devem estar bem alinhados na torre final. Situação inicial Situação final B A D C D B A C Figura 7 Figura 8 Para executar a tarefa acima proposta, temos alguns passos que devemos dar. Os seis passos básicos no processo de programação do robô são: Passo 1: Analisar e decompor a tarefa numa série de operações dos objectos envolvidos, e especificar a sua ordem. Por exemplo, para executar a tarefa definida acima teremos de decompô-la na seguinte sequência de operações dos três Blocos: I. Retirar o Bloco B de cima do Bloco A, e colocá-lo ao seu lado; II. Colocar o Bloco A em cima do Bloco C; III. Colocar o Bloco B em cima do Bloco A; IV. Alinhar o Bloco A com o Bloco C; V. Alinhar o Bloco B com o Bloco A / Ricardo Silva, Rui Cabral, Henrique Carvalho 12

13 As primeiras 3 operações são obviamente necessárias. As duas últimas operações de alinhamento são apenas necessárias para ter a certeza que cada bloco está correctamente alinhado com o debaixo. A simples tarefa de colocar um bloco em cima de outro não garante que eles fiquem alinhados, por isso estas operações extra são necessárias. Sabendo que estas duas operações de alinhamento serão necessárias é apenas um caso de experiência, e isto ilustra o facto de que cada passo do processo de programação necessita de bastante experiência do modo de funcionamento de todo o processo antes de a podermos implementar. Esta solução apresentada com as cinco operações definidas anteriormente não é a única possível e também não é a melhor. Por exemplo, é provavelmente melhor alinhar logo o Bloco A com o Bloco C imediatamente depois deste ter sido colocado em cima do Bloco C, uma vez que o robô já está nessa posição. Esta operação depende, é claro, de não haver deslocação dos blocos A e C aquando da colocação do Bloco B por cima do Bloco A. Se a operação for feita suavemente isto provavelmente é verdade. Outra possibilidade, se os dedos do gripper forem largos o suficiente, e se o robô tiver suficientes graus de liberdade (o que se considera neste caso) é pegar ao mesmo tempo no Bloco A e B e colocá-los directamente por cima do Bloco C. Isto implicaria uma redução das operações a fazer, e por consequência do tempo de execução do programa, mas é uma possibilidade mais arriscada de fazer e provavelmente irá falhar. Se mover os Blocos A e B juntos não é seguro, ou se não for possível devido à largura do gripper, ou se o robô não tem suficientes graus de liberdade, outra possibilidade é mover o Bloco C. Nada nos diz na tarefa que esta opção não é possível. Mover o Bloco C para o mais próximo possível do Bloco A significa que as operações a realizar com os Blocos A e B implicam trajectórias menores, logo serão mais rápidas. Não terão necessidade de passar por cima do Bloco D, o que significa um menor risco de colidir com ele ou com outros obstáculos no caminho. Todas estas possibilidades mostram-nos que as tarefas do robô não estão usualmente especificadas. Fica ao critério do programador estudar todas as possibilidades e implementar aquela que considere mais fiável, rápida e com menos possibilidade de fracasso. É, por isso, importante que todos os aspectos relativos à tarefa a executar sejam considerados neste estado da programação / Ricardo Silva, Rui Cabral, Henrique Carvalho 13

14 Mudar, mais tarde, o modo como a tarefa é executada pode trazer elevadas despesas e ser mais propenso a erros. Passo 2: Identificar e especificar todas as situações necessárias ao programa, todos os movimentos e acções do robô. Uma situação é uma configuração particular do braço do robô e do estado do espaço de trabalho ou seja, onde é que as diversas partes estão e como estão orientadas. Uma configuração do robô é definida pela posição e orientação do sistema de eixos colocado no órgão terminal (Pe) do robô. Assim, para a nossa tarefa de exemplo, nós poderemos especificar as seguintes situações: 0. A situação em que a tarefa começa dá-nos a configuração inicial do robô e a localização das partes; 1. A situação em que Pe está sobre o Bloco D, e as partes estão numa localização qualquer utilizada para definir trajectórias livres de colisão de um lado da mesa para o outro; 2. A situação em que Pe está verticalmente acima do centro do topo do Bloco B (na sua localização inicial) donde o robô pode executar a tarefa de pegar no bloco sem problemas; 3. A situação em que Pe está coincidente com o centro do Bloco B utilizada para definir a localização de aperto do Bloco B; 4. A situação em que Pe está ao lado do Bloco A, a uma altura igual a metade da altura do Bloco A, e a uma distância suficiente deste para que o robô tenha espaço para colocar o Bloco B utilizado para definir a tarefa de poisar o Bloco B depois de ter sido retirado de cima do Bloco A. É uma boa ideia tentar identificar e especificar as situações que podem ser usadas para programar diferentes acções do robô. A tarefa 1, indicada acima, é um exemplo disto: é usada para definir a trajectória de todos os movimentos que terão de passar por cima do bloco D. Um cuidado especial é também preciso na definição da situação 4, usada para definir o poisar do Bloco B. É melhor acrescentar um pouco mais de altura à localização de Pe definida por esta situação de forma que o robô largue o Bloco B quando este está a pouca distância da mesa. Quando o robô abrir o gripper o Bloco B irá cair assim, a uma distância muito próxima da mesa / Ricardo Silva, Rui Cabral, Henrique Carvalho 14

15 Este procedimento é feito porque existe sempre um pequeno erro na posição e orientação real de Pe, e se definirmos a tarefa 4 para colocar o Pe exactamente metade da altura do Bloco B sobre a mesa, existe o risco que quando o robô executa esta tarefa, ele vai tentar mover o Bloco B mais abaixo do que a mesa. O robô ao colidir com a mesa, e como esta tem mais força que o braço do robô vai fazer com que o sistema de controlo pare o robô. A definição de situações precisa assim de ter em conta as possíveis consequências ou efeitos de erros considerados pequenos que geralmente ocorrem em tarefas realizadas pelo robô. Existem dois tipos de erros: erros absolutos e erros de repetição. Erros absolutos acontecem quando o robô não coloca o órgão terminal (Pe) na configuração para a qual foi programado. Este erro não é frequente no espaço de trabalho, depende da geometria do braço do robô e de outros aspectos do seu controlo. Usualmente os erros absolutos serão mínimos se o Pe se encontrar próximo do corpo do robô (base), do que se Pe se encontrar numa das extremidades do espaço de trabalho. Definir movimentos próximos da base do robô podem minimizar o aparecimento de erros absolutos, mas podem ser mais restritos dependendo da geometria do braço do robô. Arranjando maneira de os movimentos se fazerem o mais próximo possível da base do robô irá, por isso, minimizar o aparecimento de erros absolutos. Os erros de repetição ocorrem quando o robô está programado para fazer sempre o mesmo movimento repetidamente, movendo Pe para a mesma posição e orientação. Usualmente, o robô não vai deslocar o Pe exactamente para o mesmo sítio do Pe definido (erro absoluto) nem irá exactamente para o mesmo sítio de cada vez. Existirá sempre um pequeno volume de espaço à volta de Pe para o qual o robô irá mover o Pe, de cada vez que for instruído para o fazer. Tanto os erros absolutos como os erros de repetição podem ser minimizados recorrendo a movimentos lentos do robô. Algumas vezes é também possível especificar o nível de precisão requerido para cada movimento. Uma precisão mais alta significa que os movimentos serão feitos com pequenas acelerações, e por consequência, o robô irá demorar mais tempo a realizar os movimentos. Um ponto intermédio entre a precisão e o tempo de execução requeridos precisa de ser estabelecido para cada movimento em cada programa / Ricardo Silva, Rui Cabral, Henrique Carvalho 15

16 Passo 3: Identificar quaisquer tipos de acções ou operações repetidas e especificá-las como subrotinas com parâmetros. Tal como em qualquer programação de computadores, se o robô precisar de executar a mesma sequência de movimentos e acções em diferentes pontos do programa, ele deve utilizar o mesmo código para o fazer. Isto é melhor implementado com a definição de subrotinas. Este facto irá aumentar a manutenção do programa e reduzir a probabilidade de erros de programação. Na tarefa que considerámos como exemplo, podemos identificar partes de aquisição e partes de colocação que requerem similares sequências de movimentos e acções que serão precisas diversas vezes. Por exemplo, poderemos definir uma subrotina, chamada Pegar-Poisar que servirá para pegar no Bloco e também poisar o Bloco. Esta subrotina tem três argumentos: Inicio define a localização de Pe no inicio das tarefas de pegar e poisar; ObterPonto define a localização de Pe quando o robô fecha o gripper para pegar num Bloco ou o abre para poisar o Bloco; Acção define se a acção a executar é de pegar ou poisar. DefineProcedimento Pegar-Poisar (Inicio, ObterPonto, Acção) Se Situação_corrente = Inicio então Se Acção = Pegar então Abrir_gripper Caso contrário Acção = Poisar então Se gripper = ABERTO então FALHA com a mensagem ( Nenhum Bloco no Gripper ); Caso contrário FALHA com a mensagem ( A acção especificada não existe ); Mover para ObterPonto com velocidade = BAIXA e precisão = ALTA; Se Acção = Pegar então Fechar_o_ gripper; Caso contrário se Acção = Poisar então Abrir_gripper; Mover para Inicio com velocidade = BAIXA e precisão = ALTA; Caso contrário FALHA com a mensagem ( Robô não está no inicio ); FimDoProcedimento; / Ricardo Silva, Rui Cabral, Henrique Carvalho 16

17 Como podemos ver no código acima para esta subrotina, muitas das suas linhas de código são de validação dos valores dos parâmetros, de modo a verificar se determinada acção pode ser executada. O comando Mover para é também definido para ser um movimento lento e com grande precisão. Por outro lado, mover o Pe para o Inicio pode ser feito mais rapidamente e com menos precisão. Passo 4: Desenhar e desenvolver o programa completo e toda a sua documentação. Mesmo depois de se terem especificadas, implementadas e testadas as operações, as situações e subrotinas, há ainda muito trabalho a ser feito, nomeadamente no que concerne á implementação e documentação dum programa de robô completo. Esta implementação, e todas as decisões tomadas, devem ser consistentes com as dos passos anteriores. Passo 5: Testar e depurar o programa utilizando um simulador do robô e do seu espaço de trabalho. Os ambientes de programação off-line actuais fornecem-nos simuladores que podem ser utilizados para modelar e depois simular o robô e o seu espaço de trabalho com todos os equipamentos existentes. O aproveitamento deste simulador pode tornar as operações de teste e depuração de um programa muito mais fáceis, mas isto só é possível se o simulador é baseado num bom modelo do robô actual e do seu espaço de trabalho. Implementar um bom modelo de simulação pode, muitas vezes, ser uma dificuldade e requerer muito tempo. Este passo, como é obvio apenas se aplica aos métodos de programação off-line. Passo 6: Testar o programa no robô real. Depois de um programa ter sido implementado, depurado, e testado utilizando um simulador, deve ser testado num robô real. Um simulador nunca deve ser encarado comum teste suficiente para um programa de robô / Ricardo Silva, Rui Cabral, Henrique Carvalho 17

18 Se o programa a implementar é para ser executado em mais que um robô, por exemplo numa linha de produção com 10 robôs que vão todos executar as mesmas tarefas, temos de decidir em quantos deles vamos testar o programa. Testar o programa num só robô pode não ser a melhor solução. Testar o programa em todos os 10 robôs da linha de produção se calhar é demasiado. De modo a podermos decidir em quantos robôs vamos testar o programa é necessário saber algumas características dos robôs onde o programa vai ser executado, tais como a sua história e desempenho. Quanto menos se souber destes dois aspectos em mais robôs teremos de testar o programa. Para concluir, um processo de programação de robô envolve muitas decisões e escolhas, e cada uma delas terá consequências e implicações nos passos subsequentes. É então muito importante registar devidamente todas estas decisões e escolhas, juntamente com as razões que nos levaram a optar por elas, durante o processo de implementação do programa. Não tendo em conta todos estes aspectos, poderá dar origem a acidentes, custos desnecessários de produção e falhas muito dispendiosas / Ricardo Silva, Rui Cabral, Henrique Carvalho 18

19 5 - Programando com sensores externos Os sensores externos utilizados nas aplicações industriais de robôs podem ser divididos em dois tipos: 1. Sensores complexos ou de múltiplos valores a. Sensores de força de múltiplos eixos b. Sensores de múltipla pressão ou toque c. Câmaras e sistemas de visão 2. Sensores simples ou de valor único a. Sensores de toque ou contacto b. Sensores de um eixo c. Interruptores Os sensores simples ainda podem ser subdivididos em: sensores binários ou de bit único sensores analógicos ou multi-bit, que precisam de conversores analógico/digitais e valores de 8 ou 16 bit. Os sensores complexos são, na verdade, subsistemas completos que precisam de hardware e software especial e interfaces com o sistema de controlo do robô. São também caros. Os sensores simples podem ser ligados directamente ao sistema de controlo do robô que normalmente têm entradas analógicas e digitais. Estes sensores são baratos. Existem três aspectos importantes relativamente aos sensores que devem ser considerados quando se decide usá-los nas aplicações industriais. Fiabilidade os sensores e qualquer periférico ou software devem ser de grande fiabilidade nas condições de aplicação, e que depois de testados tenham dado excelentes provas de funcionamento nas condições de aplicação / Ricardo Silva, Rui Cabral, Henrique Carvalho 19

20 Calibração a calibração dos sensores não deve demorar muito tempo a fazer, nem deve precisar de especialização ou material especial para a fazer, não deve precisar de ser feita muito frequentemente. Precisão a precisão dos sensores utilizados deve ser constante com o tempo e utilização, mas não deve ser maior do que o necessário para uma aplicação particular. Os melhores sensores que se podem usar considerando a sua fiabilidade, calibração e precisão, são os sensores binários. Um dos pontos fortes é o facto de não precisarem de calibração. Quanto aos outros aspectos, são muito fiáveis pois são quer mecanicamente quer electricamente muito fáceis de fazer. E têm precisão absoluta partindo do principio que estão a funcionar bem. Os sensores complexos são muitas vezes usados para fornecer dados sobre os objectos envolvidos numa tarefa ou sobre o órgão terminal do robô, a posição global e a orientação, por exemplo. Para concluir, quanto mais sensores forem usados, mais complicado ficará o programa e por consequência mais difícil de testar e depurar, e a previsão do tempo de execução mais difícil de fazer. Todas estas consequências de usar até sensores binários, pode ser razão suficiente para não usar sensores ou o mínimo possível, e em vez disso, utilizar movimentos e acções do robô mais robustas, mesmo que o programa fique mais extenso e com um tempo de execução superior / Ricardo Silva, Rui Cabral, Henrique Carvalho 20

21 6 - Linguagens de programação de robôs A maioria das linguagens de programação de robôs implementadas hoje em dia usa uma combinação de programação textual e programação pela consola. A linguagem textual é usada para definir a lógica e a sequência do programa, enquanto as posições específicas dos pontos no espaço de trabalho são definidas por meio de um consola. Isto pode ser imaginado como um método de programação off-line/online, no sentido que o programa em si pode ser escrito off-line com a linguagem textual, enquanto os pontos devem ser definidos online com o consola LINGUAGENS TEXTUAIS DE PROGRAMAÇÃO DE ROBÔS A primeira linguagem robótica textual foi WAVE, desenvolvida em 1973 como uma linguagem experimental de pesquisa no Stanford Artificial Intelligence Laboratory. A pesquisa, envolvendo um robô ligado a um sistema de visão de máquina, foi realizada usando a linguagem WAVE. A pesquisa demonstrou a viabilidade de coordenação visual/motora do robô. O desenvolvimento de uma linguagem subsequente começou em 1974, em Stanford. A linguagem foi chamada AL, e podia ser usada para controlar braços múltiplos em tarefas exigindo coordenação dos braços. Muitos dos conceitos das linguagens WAVE e AL foram aproveitados no desenvolvimento da primeira linguagem textual de programação de robôs comercialmente disponível, a linguagem VAL (Victor Assembly Language, de Victor Scheinman). A linguagem VAL foi introduzida em 1979 pela Unimation Inc. para seus robôs da série PUMA. Essa linguagem foi melhorada para VAL II e lançada em O trabalho de desenvolvimento de linguagens de programação de robôs prosseguiu também nos laboratórios T. J. Watson Research Labs, da 3M Corporation, tendo começado por volta de Duas das linguagens da IBM foram a AUTOPASS e a AML (A Manufacturing Language), esta última sendo comercialmente disponível desde 1982 com os robôs da IBM. Ambas as linguagens são dirigidas para tarefas de montagem e tarefas relacionadas. Algumas das outras linguagens textuais para robôs que deveriam ser mencionadas incluem RAIL, introduzida em 1981 pela Automatix, para montagem com robôs e solda eléctrica assim como visão de máquina, MCL (Manufacturing Controle Language), desenvolvida sob o patrocínio da Força Aérea Norte-Americana pela McDonnell-Douglas como melhoramento da linguagem APT / Ricardo Silva, Rui Cabral, Henrique Carvalho 21

22 (Automatically, Programmed Tooling), o HELP, uma linguagem desenvolvida pela General Electric Company sob licença da firma italiana DEA GERAÇÕES DE LINGUAGENS DE PROGRAMAÇÃO DE ROBÔS As linguagens textuais de programação de robôs possuem uma variedade de estruturas e capacidades. Estas linguagens estão ainda em evolução. Podem-se identificar duas gerações de linguagens textuais e especular sobre como iria parecer uma linguagem de futura geração Linguagens de primeira geração As linguagens de primeira geração usam declarações de listagens de comandos e procedimentos da consola para desenvolver programas de robôs. Estas linguagens foram principalmente desenvolvidas para implementar controle de movimento com uma linguagem textual de programação e são, às vezes, chamadas de motion level language. Características típicas incluem a capacidade de definir movimentos do manipulador (usando as declarações para definir a sequência dos movimentos e a consola para definir a localização dos pontos), interpolação linear, ramificação e comandos elementares por sensores envolvendo sinais binários (ON-OFF). Em outras palavras, as linguagens de primeira geração possuem capacidades semelhantes aos métodos avançados de programação por consola usados para realizar as instruções de programação do robô. Estas linguagens podem ser usadas para definir a sequência de movimentos do manipulador (MOVE), possuem capacidade de entrada/saída (WAIT/SIGNAL) a podem ser usadas para escrever sub-rotinas (BRANCH). Para escrever um programa de complexidade baixa/média, um utilizador provavelmente acharia mais fácil usar os métodos de programação pela consola, enquanto pessoas com experiência em programação de computadores provavelmente achariam mais fácil usar as linguagens de primeira geração. A linguagem VAL é um exemplo de uma linguagem de programação de robôs de primeira geração. As limitações comuns das linguagens de primeira geração incluem a incapacidade de especificar cálculos aritméticos complexos para usar durante a execução do programa, a incapacidade de usar sensores complexos a dados fornecidos pelos mesmos, e uma capacidade limitada de / Ricardo Silva, Rui Cabral, Henrique Carvalho 22

23 comunicação com outros computadores. Essas linguagens não podem facilmente ser ampliadas para futuros melhoramentos Linguagens de segunda geração As linguagens de segunda geração superam as limitações das de primeira geração e aumentam sua capacidade incorporando características que fazem o robô parecer mais inteligente. Isto permite ao robô realizar tarefas mais complexas. Estas linguagens foram chamadas linguagens de programação "estruturadas", porque possuem grupos de comando estruturados usados em linguagens de programação de computadores. Linguagens de segunda geração comercialmente disponíveis incluem VAL II (Anexo 1), A RAIL (Anexo 2) e a ML (Anexo 3). A programação nestas linguagens é muito parecida com a programação de computadores. Isto poderia ser considerado uma desvantagem, já que exige um programador de computador para realizar a programação. As linguagens de segunda geração usam geralmente um consola para definir posições no espaço de trabalho. As características e capacidades destas linguagens de segunda geração podem ser citadas como se segue: 1. Controle de movimento: esta característica é basicamente a mesma que para as linguagens de primeira geração. 2. Capacidades de monitorização avançadas: os melhoramentos nas linguagens de segunda geração normalmente incluem a capacidade de manusear muito mais que simples sinais binários (on-off) e a capacidade de controlar dispositivos através dos dados fornecidos pelos sensores. 3. Inteligência limitada: isto é, a capacidade de utilizar as informações recebidas sobre o ambiente de trabalho para modificar o comportamento do sistema de forma programada. 4. Comunicações a processamento de dados: linguagens de segunda geração geralmente possuem meios para interagir com computadores a bases de dados de computadores com a finalidade de manter registros, gerar relatórios e controlar actividades nas células de trabalho. A capacidade de controle de movimento em algumas das linguagens de segunda geração vai além da capacidade da geração anterior, pela inclusão de problemas de geometria mais complexos do que interpolação linear. A linguagem MCL, por exemplo, é baseada na linguagem APT / Ricardo Silva, Rui Cabral, Henrique Carvalho 23

24 Consequentemente a linguagem MCL inclui muitas das características de definição de geometria, contidas na linguagem APT. Por exemplo, linhas, círculos, planos, cilindros a outros elementos geométricos podem ser definidos em APT e MCL. As capacidades de monitorização avançadas incluem o uso de sinais analógicos, além de sinais binários, e a capacidade de comunicar-se com dispositivos que são controlados por esses sinais. O controle do gripper é um exemplo das capacidades sensoras ampliadas das linguagens da segunda geração. Uma operação típica do gripper usando uma linguagem de primeira geração envolve comandos para abrir ou fechar a garra. Linguagens de segunda geração permitem o controle de dedos com sensores que podem medir forças. O sensor monitoriza as forças ou pressões durante o fechamento contra um objecto, e o controlador do robô é capaz de regular a intensidade da força de pega que é aplicada ao objecto. A terceira característica proporcionada pelas linguagens de segunda geração é a inteligência limitada. Em vez de repetir sempre o mesmo modelo de movimento com pequenas diferenças para diversas configurações do produto, o robô tem a capacidade de reagir frente a eventos irregulares que ocorrem durante o ciclo de trabalho de uma maneira que parece inteligente. A inteligência é limitada no sentido que ela deve ser programada no controlador do robô. O robô não pode fazer nada, por conta própria - nada além do que ele foi programado para fazer. As linguagens de primeira geração são bastante limitadas na sua capacidade de comunicar com outros computadores. Normalmente, qualquer comunicação com outros controladores a dispositivos externos semelhantes deve ser realizada por meio dos comandos WAIT a SIGNAL das portas de entrada/saída do robô. Linguagens de segunda geração possuem uma maior capacidade de interagir com outros sistemas computadorizados. A capacidade de comunicação seria mantida para conservar registros de produção em cada produto, gerando relatórios de desempenho a funções semelhantes de processamento de dados. Uma característica relacionada das linguagens de segunda geração é a extensibilidade. Isto significa que a linguagem pode ser estendida ou aprimorada pelo usuário para dar conta dos requisitos de futuras aplicações, futuros dispositivos sensores a futuros robôs, todos podendo ser mais sofisticados do que na época em que a linguagem foi, inicialmente liberada. Significa também que a linguagem pode ser expandida para desenvolver comandos, sub-rotinas e macros (com um mecanismo para passar valores de parâmetros do programa principal), que não são incluídos no conjunto inicial de instruções / Ricardo Silva, Rui Cabral, Henrique Carvalho 24

25 Linguagem de futura geração As linguagens de programação de futura geração envolverão um conceito chamado Modelamento de mundo. Outros termos às vezes usados incluem linguagens baseadas em modelos e linguagens de tarefa. Num esquema de programação baseado no Modelamento de mundo, o robô possui o conhecimento do mundo tridimensional e é capaz de desenvolver seu próprio conhecimento passo a passo, para realizar uma tarefa baseada num objectivo definido do que precisa ser realizado. De acordo com esta definição, existem dois aspectos básicos de uma linguagem de programação baseada num sistema com modelo tridimensional. O primeiro é que o sistema de robô possui na sua memória de controle um modelo tridimensional do seu espaço de trabalho. O segundo aspecto é a capacidade de auto-programação. De facto, o programador humano fornece ao sistema um objectivo, e o sistema desenvolve o seu próprio programa de acções necessárias para realizar o objectivo / Ricardo Silva, Rui Cabral, Henrique Carvalho 25

26 Anexo / Ricardo Silva, Rui Cabral, Henrique Carvalho 26

27 LINGUAGEM VAL II Esta linguagem foi desenvolvida pela Unimation Inc. e é usada para os seus robôs industriais. VAL II é uma versão mais aperfeiçoada da linguagem de programação VAL, lançada pela Unimation em 1979 para os seus robôs industriais da série PUMA. DESCRIÇÃO GERAL VAL II é um sistema de controle por computador e uma linguagem de programação de robôs desenvolvidos para os robôs industriais Unimation. O VAL II tem a capacidade de definir facilmente a tarefa que um robô deve efectuar, isto porque as tarefas são definidas por programas escritos pelo utilizador. Esta linguagem tem como grandes vantagens a de incluir a capacidade de reagir a informações provenientes de sensores, como visão de máquina, desempenho melhorado em termos de geração de trajectória do braço e trabalhando em situações de emergência ou usando sistemas de coordenadas de referência. COMANDOS MONITOR O modo monitor do sistema VAL II é usado para funções como definições de posições de pontos no volume de trabalho, edição e execução de programas, calibração do braço do robô e operações semelhantes. Definindo posições Comando HERE P1 WHERE TEACH TEACH P1 Descrição Define a variável P1 como sendo a posição actual do braço do robô. Solicita que o sistema exiba a posição actual do robô em coordenadas espaciais cartesianas e variáveis da articulação do punho. Ele exibe também a abertura actual do gripper se o robô for equipado com uma mão posicionada por servocomando. É usado para registar uma séria de valores de posição sob o comando da tecla de registo na consola. Com a execução deste comando, a primeira variável de posição registada será P1, a próxima será P2, a terceira será P3 e assim por diante. É possível ensinar uma trajectória completa posicionando sucessivamente o robô, usando a consola e pressionando a tecla de registo. POINT PA = P1 Estabelece o valor de PA (uma variável de posição) igual ao valor de P / Ricardo Silva, Rui Cabral, Henrique Carvalho 27

28 Edição e controle do programa EDIT ASSEMBLY1 M E SPEED EXECUTE ASSEMBLY1 Comandos para entrada e saída no modo edição do programa. O comando EDIT abre o programa que deve ser chamado ASSEMBLY1. O Comando E (E de EXIT) provoca a saída e volta para o modo monitor. Especificação da velocidade. Este comando no modo monitor do sistema VALL II, é fornecido antes da execução do programa da seguinte maneira: SPEED 50 Faz o sistema executar o programa chamado ASSEMBLY1 Outros comandos de modo monitor STORE COPY FLIST RENAME DELETE DO (instrução) Armazenar os programas nos discos Copiar programas Carregar arquivos de discos contidos num disco Dar novos nomes a arquivos Apagar arquivos Faz com que o robô execute uma instrução específica de programação COMANDOS DE MOVIMENTO MOVE P1 MOVES P1 APPRO e DEPART APPRO P1, 50 MOVE P1 DEPART 50 SPEED DRIVE 4, -62,5, 75 Usado para definir a trajectória do movimento, faz com que o braço do robô se mova num movimento de interpolação de junta até ao ponto P1. Faz o movimento ocorrer ao longo de uma trajectória retilínea da posição actual até ao ponto P1. Comandos de aproximação e afastamento. O primeiro comando movimenta a ferramenta para a posição e a orientação especificadas por P1 com um deslocamento ao longo do eixo z da ferramenta de uma distância de 50 mm. O comando MOVE movimenta a ferramenta até ao ponto P1. A instrução DEPART movimenta a ferramenta afastando-se de P1 a uma distância de 50 mm ao longo do eixo z da ferramenta. Comando para ajustar a velocidade. Uma articulação individual pode ser deslocada de uma certa distância usando este comando, que muda o ângulo da articulação 4, movimentando-a de 62,5 no sentido negativo a uma velocidade de 75% da velocidade de modo monitor. CONTROLE DO GRIPPER OPEN CLOSE OPENI CLOSEI OPEN 75 M CLOSEI 50 GRASP Abrir o gripper. Este comando é executado durante o movimento seguinte do robô. Fechar o gripper. Este comando é executado durante o movimento seguinte do robô. Abrir o gripper. Este comando é executado imediatamente, em vez de ser executado durante o movimento seguinte. Fechar o gripper. Este comando é executado imediatamente, em vez de ser executado durante o movimento seguinte. O primeiro comando faz abrir o gripper até 75 mm durante o movimento seguinte do robô. O segundo comando faz fechar o gripper imediatamente para 50 mm. Permite verificar se o gripper fechou conforme esperado. Este comando fornece um método conveniente de pegar um objecto e testar para assegurar se o contacto foi feito / Ricardo Silva, Rui Cabral, Henrique Carvalho 28

29 GRASP 12,7, 120 conveniente de pegar um objecto e testar para assegurar se o contacto foi feito. Este commando faz com que o gripper se feche imediatamente e verifica se a abertura final é inferior ao valor especificado de 12,7 mm. Se for, o programa passará para o comando 120 no programa. MOVET P1, 75 Faz um movimento de interpolação de junta desde a posição anterior até ao ponto P1, durante este movimento a abertura da mão é alterada para 75 mm. MOVEST P1,75 Comando com as mesmas características do anterior, mas este faz um movimento rectilíneo. CONTROLE DE CONFIGURAÇÃO RIGHTY ou LEFTY ABOVE ou BELOW FLIP ou N0FLIP Proporcionam uma mudança na configuração do robô de braço articulado, de modo que as primeiras três juntas (rotação da base, do ombro e do cotovelo) se assemelhem com o braço humano direito e esquerdo, respectivamente. Solicitam uma mudança na configuração do robô, de modo que o cotovelo do robô seja apontado para cima ou para baixo, respectivamente. Proporcionam uma mudança no campo de operação de junta 5 (num robô de 6 juntas) par ângulos positivos ou negativos, respectivamente. CONTROLE DE INTERTRAVAMENTO RESET SIGNAL Desliga todos os sinais externos de saída. É usado para ligar e desligar sinais externos. Números positivos de sinal ligam os sinais correspondentes, e números negativos de sinal desligam. SIGNAL 1, 4 Desliga o sinal de saída 1 e liga o sinal de saída 4. WAIT WAIT SIG(1001, -1003) REACT VAR1, SUBR2 É usado para controlar a execução do programa com base nos sinais de entrada. Pára a execução do programa até que o sinal externo (de entrada) 1001 esteja ligado e o sinal de entrada 1003 esteja desligado. Monitorização contínua do sinal binário externo identificado como variável VAR1 e procura por uma transição de sinal do seu estado actual para o estado alternativo. CONTROLE DO PROGRAMA A linguagem VAL II contém um determinado número de sequências de instruções que podem ser utilizadas para organizar logicamente secções de programas do utilizador e para controlar a ordem em que elas são executadas. Estes comandos de controle do programa incluem: IF... THEN... ELSE... END WHILE... DO... END DO... UNTIL CASE... OF... VALUE... END O formato desta sequência é convencional, excepto que a palavra chave END é usada para significar o fim da sequência de comandos. O formato desta sequência é convencional, excepto que a palavra chave END é usada para indicar o fim da sequência de comandos. Este comando opera na sequência inversa em relação ao comando WHILE... DO, já que a condição lógica é testada depois que os comandos ou grupos de comandos são executados. Esta sequência proporciona um meio de executar um grupo de instruções entre qualquer número de grupos / Ricardo Silva, Rui Cabral, Henrique Carvalho 29

30 Anexo / Ricardo Silva, Rui Cabral, Henrique Carvalho 30

31 LINGUAGEM RAIL A linguagem RAIL é uma linguagem de programação desenvolvida pela Automatix para o seu sistema de CAM (Computer Aided Manufacturing). DESCRIÇÃO GERAL Pode ser utilizada para controlar sistemas de fabrico tendo comandos específicos para controlar um equipamento de solda, além disso possui comandos para controlar o robô numa linha de montagem e permitir a sua ligação a periféricos, tais como alimentadores de peças, sensores, conveyors e equipamentos de manuseamento de materiais. Além disso, integra ainda comandos para interface com um sistema de visão que se destina a verificar a qualidade ou identificar determinado componente da linha de fabrico. CARACTERÍSTICAS As principais características da linguagem RAIL são: - comandos para movimentar o robô, incluindo aproximação ou afastamento de posições; - comandos de solda do robô e meios para ajustar os parâmetros de solda, como a voltagem e a taxa de avanço do arame de solda; - um método simples de acesso aos input e output que estejam ligados a equipamentos; - comandos para carregar programas a partir do sistema de arquivo, exibir variáveis ou programas do utilizador, editar e/ou armazenar programas; - nomes de variáveis com comprimento até 20 caracteres; - estruturas de controlo semelhantes às disponíveis no Pascal, tais como, IF...THEN...ELSE, WHILE...DO, WAIT, etc; - expressões aritméticas, comparativas e lógicas; - uma biblioteca de funções incorporada no sistema, que contém as principais funções matemáticas (seno, coseno, raiz quadrada,...) / Ricardo Silva, Rui Cabral, Henrique Carvalho 31

ROBÓTICA PROGRAMAÇÃO DE ROBÔS

ROBÓTICA PROGRAMAÇÃO DE ROBÔS ROBÓTICA PROGRAMAÇÃO DE ROBÔS Tipos de programação de robôs Programação a nível das juntas no qual as ações básicas são posições (e possivelmente movimentos) Programação a nível do robô no qual as ações

Leia mais

COMPONENTES DE UM SISTEMA ROBÓTICO

COMPONENTES DE UM SISTEMA ROBÓTICO COMPONENTES DE UM SISTEMA ROBÓTICO Introdução Um robô é um equipamento programável, multifuncional designado a mover partes, materiais, ferramentas utilizando movimentos programados. (Robotics Institute

Leia mais

Prof. Daniel Hasse. Robótica Industrial

Prof. Daniel Hasse. Robótica Industrial Prof. Daniel Hasse Robótica Industrial Robótica Industrial Aula 5 - Componentes III Sensores Controlador / Eletrônica de Controle Software / Programação IHM Eletrônica de Potência Classificação dos Sensores

Leia mais

Introdução à Programação. João Manuel R. S. Tavares

Introdução à Programação. João Manuel R. S. Tavares Introdução à Programação João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de

Leia mais

ROBÓTICA PLANEJAMENTO DE TRAJETÓRIAS. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial

ROBÓTICA PLANEJAMENTO DE TRAJETÓRIAS. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial SP CAMPUS PIRACICABA ROBÓTICA Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial PLANEJAMENTO DE TRAJETÓRIAS https://giovanatangerino.wordpress.com giovanatangerino@ifsp.edu.br

Leia mais

Robótica. Acetatos de Apoio às Aulas. Programação de sistemas robóticos. Paulo Augusto Ferreira de Abreu. Elaborados por: (Professor Auxiliar)

Robótica. Acetatos de Apoio às Aulas. Programação de sistemas robóticos. Paulo Augusto Ferreira de Abreu. Elaborados por: (Professor Auxiliar) Robótica Acetatos de Apoio às Aulas Programação de sistemas robóticos Elaborados por: Paulo Augusto Ferreira de Abreu (Professor Auxiliar) 2000/2001 Linguagens de programação em Robótica Programação de

Leia mais

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto 20-05-2009 - Aula nº 121,122 Funções de um Sistema Operativo Gestão do processador ao nível da sua planificação Gestão da Memória Gestão

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

1- INTRODUÇÃO AOS ROBÔS INDUSTRIAIS

1- INTRODUÇÃO AOS ROBÔS INDUSTRIAIS 1- INTRODUÇÃO AOS ROBÔS INDUSTRIAIS 1.1 Introdução Um robô industrial é uma máquina com características significativas de versatilidade e flexibilidade. De acordo com uma definição do Instituto de Robôs

Leia mais

Robótica. Linguagens de Programação para Robótica (manipuladores)

Robótica. Linguagens de Programação para Robótica (manipuladores) Linguagens de Programação para (manipuladores) -Orientados para o Robô -Tarefa descrita como sequência de movimentos -Ex: VAL (Puma), AL (IBM) -Orientada para as Tarefas (ou para os Objectos) -Descrição

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

CAPÍTULO Robôs industriais. 2. Classificação dos robôs. industriais. 3. Sensores. 4. Acionamento e controle de robôs

CAPÍTULO Robôs industriais. 2. Classificação dos robôs. industriais. 3. Sensores. 4. Acionamento e controle de robôs CAPÍTULO 8 1. Robôs industriais 2. Classificação dos robôs industriais 3. Sensores 4. Acionamento e controle de robôs 5. Precisão e capacidade de repetição 6. Garras e ferramentas 1. Robôs industriais

Leia mais

Gerações de Robôs 1ª Geração

Gerações de Robôs 1ª Geração ROBÓTICA 1 Gerações de Robôs 1ª Geração tarefas repetitivas e simples, sendo que alguns robôs realizavam as suas tarefas mediante um programa de computador de escassa complexidade sendo utilizados principalmente

Leia mais

ROBÓTICA NOÇÕES DE PROGRAMAÇÃO. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial

ROBÓTICA NOÇÕES DE PROGRAMAÇÃO. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial SP CAMPUS PIRACICABA ROBÓTICA Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial NOÇÕES DE PROGRAMAÇÃO https://giovanatangerino.wordpress.com giovanatangerino@ifsp.edu.br giovanatt@gmail.com

Leia mais

Estrutura e características gerais dos robôs. - Configuração básica de um robô - Articulações - Movimento e precisão

Estrutura e características gerais dos robôs. - Configuração básica de um robô - Articulações - Movimento e precisão Estrutura e características gerais dos robôs - Configuração básica de um robô - Articulações - Movimento e precisão Braço robótico industrial Anatomia dos braços mecânicos industriais O braço robótico

Leia mais

O Manual do KCM Tablet. Jörg Ehrichs Tradução: José Pires

O Manual do KCM Tablet. Jörg Ehrichs Tradução: José Pires Jörg Ehrichs Tradução: José Pires 2 Conteúdo 1 Configuração da Tablete Wacom 5 1.1 Gestão de Perfis....................................... 5 1.2 Configuração e Informação Geral da Tablete......................

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

O COMPUTADOR POR DENTRO

O COMPUTADOR POR DENTRO 1 2 SISTEMAS DE INFORMAÇÃO O COMPUTADOR POR DENTRO Ensino Recorrente 3 4 O CPU constitui o orgão central do computador. As suas características determinam, em grande medida, a performance global do sistema.

Leia mais

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011 Manual Profissional BackOffice Mapa de Mesas v2011 1. Índice 2. INTRODUÇÃO... 2 3. INICIAR O ZSRest Backoffice... 3 1 4. Confirmar desenho de mesas...... 4 b) Activar mapa de mesas... 4 c) Zonas... 4 5.

Leia mais

1- INTRODUÇÃO AOS ROBÔS INDUSTRIAIS MODELAGEM GEOMÉTRICA

1- INTRODUÇÃO AOS ROBÔS INDUSTRIAIS MODELAGEM GEOMÉTRICA 1- INTRODUÇÃO AOS ROBÔS INDUSTRIAIS MODELAGEM GEOMÉTRICA 1.1 Introdução Um robô industrial é uma máquina com características significativas de versatilidade e flexibilidade. De acordo com uma definição

Leia mais

A robótica abrange tecnologia de mecânica, eletrônica e computação. Alem disso, participam em menor grau teoria de controle, microeletrônica,

A robótica abrange tecnologia de mecânica, eletrônica e computação. Alem disso, participam em menor grau teoria de controle, microeletrônica, Fundamentos da tecnologia de robôs A robótica abrange tecnologia de mecânica, eletrônica e computação. Alem disso, participam em menor grau teoria de controle, microeletrônica, inteligência artificial,

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Entrada e Saída Slide 1 Entrada e Saída Dispositivos Externos E/S Programada Organização e Arquitetura de Computadores I Sumário E/S Dirigida por Interrupção

Leia mais

Sistema automático para impressão de informação em garrafas de gás. Memória Descritiva

Sistema automático para impressão de informação em garrafas de gás. Memória Descritiva Sistema automático para impressão de informação em garrafas de gás Memória Descritiva Vulgarmente o transporte de gás para consumo é feito em garrafas. A imagem seguinte ilustra o que, de forma genérica,

Leia mais

Introdução à Programação de Computadores Fabricação Mecânica

Introdução à Programação de Computadores Fabricação Mecânica Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 04 - Linguagens de Programação, Interpretador, compilador

Leia mais

Manipulação Robótica. Aula 2

Manipulação Robótica. Aula 2 Manipulação Robótica Aula 2 Programa 1) Introdução 1.1. Tipos de Robôs 1.2. Aplicações 2) Robôs Manipuladores 2.1. Estrutura de Robôs Manipuladores 2.2. Classificação de Robôs Manipuladores 2.3. Sistema

Leia mais

Introdução à Robótica Industrial. Aula 2

Introdução à Robótica Industrial. Aula 2 Introdução à Robótica Industrial Aula 2 Programa 1) Introdução 1.1. Tipos de Robôs 1.2. Aplicações 2) O Robô Manipulador 2.1. Estrutura de Robôs Manipuladores 2.2. Sensores 2.3. Atuadores 2.4. Efetuadores

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

Disciplina: Robótica Aula 02: Conceitos Básicos

Disciplina: Robótica Aula 02: Conceitos Básicos Disciplina: Robótica Aula 02: Conceitos Básicos Bibliografia Básica 1) Livro: Princípios de Mecatrônica João Maurício Rosário, Prentice Hall Disponível na: Biblioteca UMC Biblioteca Virtual Agenda 1) Conceitos

Leia mais

Arquitetura de Um Computador

Arquitetura de Um Computador Arquitetura de Um Computador José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-09-20 José Costa (DEI/IST) Arquitetura de Um

Leia mais

MECATRÔNICA MANIPULADORES ROBÓTICOS

MECATRÔNICA MANIPULADORES ROBÓTICOS MANIPULADORES ROBÓTICOS O grande escritor americano de ficção científica Isaac Asimov estabeleceu quatro leis muito simples para a robótica: A robótica abrange tecnologia de mecânica, eletrônica e computação.

Leia mais

Introdução ao Controlo Numérico Computorizado III Sintaxe de Escrita (G, M, ) João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Introdução ao Controlo Numérico Computorizado III Sintaxe de Escrita (G, M, ) João Manuel R. S. Tavares Joaquim Oliveira Fonseca Introdução ao Controlo Numérico Computorizado III Sintaxe de Escrita (G, M, ) João Manuel R. S. Tavares Joaquim Oliveira Fonseca Edição de programas de CN O sistema de controlo de uma máquina-ferramenta

Leia mais

ROBÓTICA SISTEMAS DE REFERÊNCIA. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial

ROBÓTICA SISTEMAS DE REFERÊNCIA. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial SP CAMPUS PIRACICABA ROBÓTICA Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial SISTEMAS DE REFERÊNCIA https://giovanatangerino.wordpress.com giovanatangerino@ifsp.edu.br giovanatt@gmail.com

Leia mais

Introdução ao Controlo Numérico Computorizado III Sintaxe de Escrita (G, M, )

Introdução ao Controlo Numérico Computorizado III Sintaxe de Escrita (G, M, ) Introdução ao Controlo Numérico Computorizado III Sintaxe de Escrita (G, M, ) João Manuel R. S. Tavares Joaquim Oliveira Fonseca Edição de programas de CN O sistema de controlo de uma máquina-ferramenta

Leia mais

Escoamentos Exteriores em torno de Corpos Não-fuselados

Escoamentos Exteriores em torno de Corpos Não-fuselados Mecânica dos Fluidos II Guia do trabalho laboratorial Escoamentos Exteriores em torno de Corpos Não-fuselados António Sarmento Março de 2006 Objectivos 1. Determinar experimentalmente e relacionar entre

Leia mais

Automação Industrial PEA-2211: INTRODUÇÃO À ELETROMECÂNICA E À AUTOMAÇÃO AUTOMAÇÃO: CONTROLADOR LÓGICO PROGRAMÁVEL

Automação Industrial PEA-2211: INTRODUÇÃO À ELETROMECÂNICA E À AUTOMAÇÃO AUTOMAÇÃO: CONTROLADOR LÓGICO PROGRAMÁVEL PEA-2211: INTRODUÇÃO À ELETROMECÂNICA E À AUTOMAÇÃO AUTOMAÇÃO: CONTROLADOR LÓGICO PROGRAMÁVEL Histórico Fim da década de 1960: os circuitos integrados permitiram o desenvolvimento de minicomputadores,

Leia mais

ü Na década de 1920 os dispositivos mecânicos foram substituídos pelos relés; ü O uso da lógica de relés dificultava modificações do processo;

ü Na década de 1920 os dispositivos mecânicos foram substituídos pelos relés; ü O uso da lógica de relés dificultava modificações do processo; O que são? CLP - CONTROLADOR LÓGICO PROGRAMÁVEL ü O CLP é um computador industrial, capaz de implementar funções de controle (sequência lógica, contagem e temporização), operações lógicas e aritméticas,

Leia mais

PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I

PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I MÉDIO PRAZO 1 TECNOLOGIAS DE INFORMAÇÃO E INFORMÁTICA OBJECTIVOS CONTEÚDOS DATA Conceitos Introdutórios Conhecer os conceitos básicos relacionados

Leia mais

Qualidade. Ana Madureira

Qualidade. Ana Madureira Qualidade Ana Madureira Qualidade da Informação A qualidade de uma informação é apreciada em função da sua pertinência (adaptação às necessidades do sistema de gestão). Três características permitem medir

Leia mais

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 Arquitetura de Von Neumann CPU Unidade de controle Unidade de entrada Unidade de saída ULA Von Neumann era um gênio. Falava muitos

Leia mais

Programação Estruturada Aula - Introdução a Linguagem de Programação

Programação Estruturada Aula - Introdução a Linguagem de Programação Programação Estruturada Aula - Introdução a Linguagem de Programação Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR 2 ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR

Leia mais

7. A linguagem robcomm

7. A linguagem robcomm 7. A linguagem robcomm 7.1. Fundamentos As linguagens de programação, tal como as linguagens humanas, são definidas através de um conjunto de regras morfológicas, que determinam a sua estrutura, e semânticas

Leia mais

Robótica 3. Orientação (ângulos) Yaw (em torno de Z) Pitch (em torno de Y) Roll (em torno de X) EME006 - Automação Industrial Z X PUNHO ROLL PITCH Z X

Robótica 3. Orientação (ângulos) Yaw (em torno de Z) Pitch (em torno de Y) Roll (em torno de X) EME006 - Automação Industrial Z X PUNHO ROLL PITCH Z X UNIFEI EME006 - Automação Industrial Robótica 3 Orientação (ângulos) Yaw (em torno de Z) Pitch (em torno de Y) Roll (em torno de X) Aula 15 Prof. José Hamilton Chaves Gorgulho Júnior Y Y PUNHO ROLL X PUNHO

Leia mais

Linguagens de Programação

Linguagens de Programação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.

Leia mais

Controladores Lógicos Programáveis (CLP) Disciplina: TAIE4

Controladores Lógicos Programáveis (CLP) Disciplina: TAIE4 (CLP) Disciplina: TAIE4 Profº. Fernando Barros Rodrigues 1 Um Controlador Lógico Programável (CLP) é um dispositivo eletrônico que possui memória programável para armazenar instruções e executar funções

Leia mais

INTRODUÇÃO À ROBÓTICA. Professor HENRIQUE

INTRODUÇÃO À ROBÓTICA. Professor HENRIQUE INTRODUÇÃO À ROBÓTICA Professor HENRIQUE CONTEÚDO Introdução à Robótica Industrial Classificação Modelos e Tipos Aplicação Atividade de Pesquisa: Transmissão de Força Definição; Elementos Constituintes;

Leia mais

Ferramentas Web, Web 2.0 e Software Livre em EVT

Ferramentas Web, Web 2.0 e Software Livre em EVT E s t u d o s o b r e a i n t e g r a ç ã o d e f e r r a m e n t a s d i g i t a i s n o c u r r í c u l o d a d i s c i p l i n a d e E d u c a ç ã o V i s u a l e T e c n o l ó g i c a Deep Paint 3D

Leia mais

Windows 95/98/Me/2000

Windows 95/98/Me/2000 Windows 95/98/Me/2000 Mais que um Sistema Operativo, o MS-Windows é um ambiente de trabalho que simula no ecrã o trabalho diário sobre uma secretária. A ideia base do MS-Windows foi a de esconder a organização

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

INTRODUÇÃO A ROBÓTICA. Prof. MSc. Luiz Carlos Branquinho Caixeta Ferreira

INTRODUÇÃO A ROBÓTICA. Prof. MSc. Luiz Carlos Branquinho Caixeta Ferreira INTRODUÇÃO A ROBÓTICA Prof. MSc. Luiz Carlos Branquinho Caixeta Ferreira Um Efetuador é um dispositivo do robô que exerce um efeito sobre o ambiente. Variam desde pernas e rodas até braços e dedos. O controlador

Leia mais

2º Laboratório de Sistemas e Sinais (LEIC Alameda 2008/09)

2º Laboratório de Sistemas e Sinais (LEIC Alameda 2008/09) 2º Laboratório de Sistemas e Sinais (LEIC Alameda 2008/09) Data de realização e de entrega: aula das semanas 6-17/Abril /2009. Local da realização: Laboratório de Controlo, Automação e Robótica, localizado

Leia mais

Compiladores. Introdução à Compiladores

Compiladores. Introdução à Compiladores Compiladores Introdução à Compiladores Cristiano Lehrer, M.Sc. Introdução (1/2) O meio mais eficaz de comunicação entre pessoas é a linguagem (língua ou idioma). Na programação de computadores, uma linguagem

Leia mais

Cinemática de Mecanismos

Cinemática de Mecanismos Cinemática de Mecanismos C. Glossário de Termos Paulo Flores J.C. Pimenta Claro Universidade do Minho Escola de Engenharia Guimarães 2007 In language, clarity is everything. Confucius C. GLOSSÁRIO DE

Leia mais

Colisões em Máquinas de Medir 3D

Colisões em Máquinas de Medir 3D Formação Avançada em Metrologia 3D Colisões em Máquinas de Medir 3D Colisões em Máquinas de Medir Este material informativo aborda a questão de colisões em máquinas de medir por coordenadas, suas causas

Leia mais

FERRAMENTA DE CONFIGURAÇÃO DE PAINEL SENSÍVEL AO TOQUE MANUAL DE OPERAÇÃO

FERRAMENTA DE CONFIGURAÇÃO DE PAINEL SENSÍVEL AO TOQUE MANUAL DE OPERAÇÃO MONITOR LCD FERRAMENTA DE CONFIGURAÇÃO DE PAINEL SENSÍVEL AO TOQUE MANUAL DE OPERAÇÃO Versão 1.0 Modelos aplicáveis (a partir de março de 2014) PN-L703A/PN-L703/PN-L603A/PN-L603/PN-70TA3/PN-70T3/PN-60TA3/PN-60T3

Leia mais

Desenvolvimento de um Protótipo e de Metodologias de Controlo de uma Cadeira de Rodas Inteligente

Desenvolvimento de um Protótipo e de Metodologias de Controlo de uma Cadeira de Rodas Inteligente Desenvolvimento de um Protótipo e de Metodologias de Controlo de uma Cadeira de Rodas Inteligente Discente: Marcelo Roberto Petry Orientador: Professor Doutor Luís Paulo Reis Co-orientador: Mestre Rodrigo

Leia mais

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. O uso do computador Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. Exemplos: Modelos meteorológicos. Cálculo estrutural.

Leia mais

CNC Comando Numérico Computadorizado

CNC Comando Numérico Computadorizado CNC Comando Numérico Computadorizado 1 - Histórico Busca de melhoria ao produto, aliado ao desenvolvimento dos computadores. Principal fator: 2ª Guerra Mundial produção em massa (a guerra consumia tudo,

Leia mais

Capítulo 8. Estruturas de Controle no Nível de Sentença

Capítulo 8. Estruturas de Controle no Nível de Sentença Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação

Leia mais

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

Automação da Produção

Automação da Produção Robótica Industrial Automação da Produção Automação É uma tecnologia que faz uso de sistemas mecânicos, elétricos, eletrônicos e de computação (emprego de robôs) para efetuar o controle de processos produtivos.

Leia mais

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução Métodos de Programação I 2. 20 2.2.8 ESTRUTURAS DE CONTROLO Estruturas de controlo são instruções especiais em Pascal que permitem controlar o fluxo de sequência de instruções, alterando a ordem sequencial

Leia mais

Primeiras Máquinas Ferramentas Manuais Movimentação através de volantes, manivelas, alavancas e correias Automação através de cames e seguidores (alto volume de produção) Controle Manual - Torno Automático

Leia mais

(72) Inventor(es): (74) Mandatário: (54) Epígrafe: APLICAÇÃO COMPUTORIZADA PARA O CONTROLO DE ROBOTS INDUSTRIAIS

(72) Inventor(es): (74) Mandatário: (54) Epígrafe: APLICAÇÃO COMPUTORIZADA PARA O CONTROLO DE ROBOTS INDUSTRIAIS (11) Número de Publicação: PT 104730 A (51) Classificação Internacional: G05B 19/18 (2006.01) (12) FASCÍCULO DE PATENTE DE INVENÇÃO (22) Data de pedido: 2009.08.31 (30) Prioridade(s): (73) Titular(es):

Leia mais

Fundamentos de Programação Introdução

Fundamentos de Programação Introdução Fundamentos de Programação Introdução Arquitetura Genérica de um Computador Máquina de Von Neumann Diagrama conhecido como Máquina de Von Neumann (grande nome da informática) A finalidade de um computador

Leia mais

Teste do Programa Writer do OpenOffice

Teste do Programa Writer do OpenOffice Teste do Programa Writer do OpenOffice Patrícia Barrosa Filipe mei04013 Disciplina: Teste e Qualidade de Software Mestrado em Engenharia Informática - FEUP 1 Índice Introdução... 3 Oppenoffice Writer...

Leia mais

6 Aplicações Detalhes da Implementação

6 Aplicações Detalhes da Implementação 6 Aplicações Neste trabalho, é importante implementar aplicações de interação em tempo real para que seja possível avaliar a aplicabilidade das técnicas de Visão Computacional descritas ao longo dos capítulos

Leia mais

Introdução ao MatLab Gráficos e manipulação de dados

Introdução ao MatLab Gráficos e manipulação de dados Análise de Sinais (500) Ficha Prática Laboratorial III Curso: Ciências Biomédicas Duração prevista: 2 horas Introdução ao MatLab Gráficos e manipulação de dados I. Introdução No decorrer deste laboratório

Leia mais

Escola Secundária de Emídio Navarro

Escola Secundária de Emídio Navarro Escola Secundária de Emídio Navarro Curso Secundário de Carácter Geral (Agrupamento 4) Introdução às Tecnologias de Informação Bloco I 11.º Ano Ficha de avaliação sumativa n.º 1 Duração: 50 min. + 50 min.

Leia mais

ISO/IEC 12207: Manutenção

ISO/IEC 12207: Manutenção ISO/IEC 12207: Manutenção O desenvolvimento de um sistema termina quando o produto é liberado para o cliente e o software é instalado para uso operacional Daí em diante, deve-se garantir que esse sistema

Leia mais

Automação da Produção

Automação da Produção Robótica Industrial Automação Automação da Produção É uma tecnologia que faz uso de sistemas mecânicos, elétricos, eletrônicos e de computação (emprego de robôs) para efetuar o controle de processos produtivos.

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

SMART PANELS MADE EASY

SMART PANELS MADE EASY SMART PANELS MADE EASY A FAMÍLIA VALLEY ICON DE PAINÉIS INTELIGENTES A vida tornou-se mais fácil A Valley, líder em tecnologia de rega, apresenta-lhe o comando do pivô mais inteligente disponível atualmente

Leia mais

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal. Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis

Leia mais

1 - Ambiente de desenvolvimento

1 - Ambiente de desenvolvimento Neste documento começa-se por apresentar o ambiente de desenvolvimento integrado do Visual Basic (menu bar, toolbars, toolbox, project explorer window, properties window, form designer e code editor window).

Leia mais

Problemas para Automação Industrial. Série 4: Modelação usando o diagrama funcional GRAFCET. Programação de autómatos

Problemas para Automação Industrial. Série 4: Modelação usando o diagrama funcional GRAFCET. Programação de autómatos Problemas para Automação Industrial Série 4: Modelação usando o diagrama funcional GRAFCET. Programação de autómatos Nota prévia: Estes problemas têm como principal objectivo dar a possibilidade ao aluno

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 9 Abordagem ao projecto de programas s, Abordagem Top-Down, Modularidade Processo de Desenvolvimento Tipos de Erros e Casos de

Leia mais

CONTROLADOR do MOTOR de PASSO

CONTROLADOR do MOTOR de PASSO UNIVERSIDADE DO MINHO DEPARTAMENTO DE ELECTRÓNICA INDUSTRIAL Laboratórios Integrados II CONTROLADOR do MOTOR de PASSO Trabalho Prático nº 7 ÍNDICE ÍNDICE...ii 1. OBJECTIVOS DO TRABALHO... 1 2. ETAPAS DO

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

ROBOT ROAMER. Manual de utilização. Características do Recurso Educativo:

ROBOT ROAMER. Manual de utilização. Características do Recurso Educativo: ROBOT ROAMER Manual de utilização Características do Recurso Educativo: Categoria: Robótica Tipo de Recurso: Manual Destinatários: Pré-Escolar, 1.º, 2.º e 3.º Ciclos Ano de Criação: 2017 1. INTRODUÇÃO

Leia mais

Robótica. Executores. Prof. Oswaldo Flório Filho Profª. Alice Flora Madeira Ribeiro Flório Prof. Wagner Toscano

Robótica. Executores. Prof. Oswaldo Flório Filho Profª. Alice Flora Madeira Ribeiro Flório Prof. Wagner Toscano Executores Conteúdo 1 Executores... 3 1.1 Espaço de trabalho... 6 1.2 Graus de Liberdade... 6 2 Tipos básicos de manipuladores... 8 2.1 Braço Mecânico Articulado... 8 2.2 Classificação dos robôs manipuladores

Leia mais

Manufatura Assistida por Computador

Manufatura Assistida por Computador Manufatura Assistida por Computador Programação CNC Aula 2 Prof. Associado Mário Luiz Tronco Avanço Rápido, com a maior velocidade fornecida pela máquina Avanço Rápido,

Leia mais

Índice 85 21/01/ :29:50

Índice 85 21/01/ :29:50 Índice Conteúdo da embalagem... 86 Início... 87 Descrição do ARCHOS... 88 Assistente de instalação... 90 Ligação a uma rede WiFi... 91 A interface Android TM... 92 Familiarização com a tecnologia Android

Leia mais

Gerência de Dispositivos. Adão de Melo Neto

Gerência de Dispositivos. Adão de Melo Neto Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Gerência de Dispositivos Dispositivos de E/S Device Drivers Controladores Subsistema de E/S 2 Gerência de Dispositivos A gerência de

Leia mais

Explorar Restrições Esboço

Explorar Restrições Esboço Explorar Restrições Esboço Explorar o impacto das restrições geométricas e dimensionais em um simples esboço. Compreender os limites esboço para trabalhar eficazmente com o Autodesk Inventor. Objetivos

Leia mais

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE Professora: Isabela C. Damke isabeladamke@hotmail.com Linguagem de Programação Uma linguagem de programação é um conjunto de símbolos (

Leia mais

Competição.

Competição. Competição Regras e Especificações Técnicas Robot@Factory (7 de Janeiro de 2011) Introdução Nesta competição procura- se recriar um problema inspirado nos desafios que um robô autónomo terá de enfrentar

Leia mais

Gerência de Dispositivos. Adão de Melo Neto

Gerência de Dispositivos. Adão de Melo Neto Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Introdução Acesso ao Subsistema de E/S Subsistema de E/S Device Drivers Controladores Dispositivos de E/S Discos Magnéticos Desempenho,

Leia mais

Compilador de LP3 para C3E e P3

Compilador de LP3 para C3E e P3 Compilador de LP3 para C3E e P3 Luís Gil 1 13 de Junho de 2005 1 estudante de Ciências Informáticas no Instituto Superior Técnico 1 Introdução Este relatório descreve a sintaxe e a semântica da Linguagem

Leia mais

w w w. b a l a n c a s m a r q u e s. p t B M G e s t

w w w. b a l a n c a s m a r q u e s. p t B M G e s t M a n u a l d e U t i l i z a d o r w w w. b a l a n c a s m a r q u e s. p t B M G e s t Índice 1 INTRODUÇÃO... 1 1.1 REQUISITOS DO SISTEMA... 1 1.2 INSTALAÇÃO... 1 1.3 PRIMEIRA EXECUÇÃO... 1 1.3.1 Seleccionar

Leia mais

Aula teórica 7. Preparado por eng.tatiana Kovalenko

Aula teórica 7. Preparado por eng.tatiana Kovalenko Aula teórica 7 Tema 7. Introdução a Programação Ø Linguagens de Programação Ø LP Java ØEstrutura de um programa em Java ØIdentificadores, variáveis e constantes. ØTipos de dados básicos Preparado por eng.tatiana

Leia mais

Nas rampas pivotantes existe um ponto fixo e a rampa desloca-se em movimento circular em torno desse ponto.

Nas rampas pivotantes existe um ponto fixo e a rampa desloca-se em movimento circular em torno desse ponto. Rampas pivotantes As Rampas semoventes são rampas com aspersores (ou nebulizadores) que se deslocam por meios próprios enquanto regam. Podem ser: RAMPAS PIVOTANTES (vulgarmente designadas por Pivots )

Leia mais

Programação por Objectos Introdução. Introdução 1/18

Programação por Objectos Introdução. Introdução 1/18 Programação por Objectos Introdução LEEC@IST Introdução 1/18 História (1) [60s] Simula-67, Dahl e Nygaard da Univ. de Oslo Primeira linguagem com conceitos OO. [70s] Smalltalk, da Xerox Primeira implementação

Leia mais

Modelação, Identificação e Controlo Digital

Modelação, Identificação e Controlo Digital Modelação, Identificação e Controlo Digital 1-Aspectos Gerais 1 Modelação, Identificação e Controlo Digital Semestre de Inverno 2005/2006 Área Científica de Sistemas de Decisão e Controlo Modelação, Identificação

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

USB Tablet. Guia de instalação

USB Tablet. Guia de instalação USB Tablet Guia de instalação Índice Introdução...3 Características...3 Normas de segurança...4 Verifique o conteúdo da embalagem...4 Capítulo 1: Instalação...5 Software...5 Procedimento de instalação:...5

Leia mais

1 ESCOLA POLITÉCNICA DA USP Aspectos Gerais Eduardo L. L. Cabral ESCOLA POLITÉCNICA DA USP

1 ESCOLA POLITÉCNICA DA USP Aspectos Gerais Eduardo L. L. Cabral ESCOLA POLITÉCNICA DA USP elcabral@usp.br 1 PMR2560 Robótica Aspectos Gerais Eduardo L. L. Cabral elcabral@usp.br elcabral@usp.br 2 Objetivos Quando utilizar robôs? Dados estatísticos; Conceitos gerais; Componentes de um robô manipulador

Leia mais

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador Prof. Araken Medeiros araken@ufersa.edu.br O processo de resolução de um problema com um computador leva à escrita de um algoritmo ou programa e à sua execução. Mas o que é um algoritmo? Angicos, RN 15/9/2009

Leia mais

13/08/15. Informática Alguns Conceitos. Informática Alguns Conceitos. Definição de Informática. Computadores

13/08/15. Informática Alguns Conceitos. Informática Alguns Conceitos. Definição de Informática. Computadores AULA 2 AUTOMAÇÃO DA PRODUÇÃO (NOÇÕES DE COMPUTADORES E CONCEITOS DA ROBÓTICA) Prof. Fabricia A HISTÓRIA DOS COMPUTADORES Informática Alguns Conceitos Informática Alguns Conceitos Definição de informática;

Leia mais