A Linguagens e sistema de Programação de Robôs
Por: enzo.mathias • 20/11/2017 • Trabalho acadêmico • 2.110 Palavras (9 Páginas) • 547 Visualizações
Capitulo 12
Linguagens e sistema de Programação de Robôs
Introdução
Este capítulo aborda a interface entre o usuário humano e um robô industrial. Com o passar do tempo veio a sofisticação da interface de usuário, tornado de grande importância à medida que manipuladores e outros tipos de automação programável.
Os manipuladores robóticos diferenciam-se por serem “flexíveis”, o que significa programáveis, mas com o uso de sensores e de comunicação com outras automações da fábrica, podem adaptar-se a variações no decorrer da execução da tarefa.
O termo célula de trabalho é usado para um grupo de equipamentos que pode incluir um ou mais manipuladores, esteiras, transportadoras, alimentadores de peças e instalações.
Ensinar mostrando
Os primeiros robôs eram todos programados através de um método chamado “ensinar mostrando”, que implica movimentar o robô até um ponto desejado e gravar sua posição em uma memória que um sequenciador leria durante a reprodução.
Linguagens de programação explicita
A tendência vem sendo no sentido de programar robôs por meio de programas escritos em linguagem de programação de computadores. Essas linguagens têm características especiais e são chamadas de linguagem de programação de robôs. A maioria dos sistemas equipados com uma linguagem de programação de robô manteve uma interface no estilo teach pendant.
Linguagens de manipulação especializada
Uma linguagem totalmente voltada, para áreas robóticas em especial, consideradas linguagens genéticas de programação de computador. Um exemplo foi a linguagem VAI, ela era bastante fraca, não suportava números reais ou cadeias de caracteres. Outro exemplo de linguagem de manipulação especializada é a AL. Embora a linguagem AL seja hoje uma relíquia do passado ainda não encontramos nas linguagens mais modernas (controle de força, paralelismo).
Biblioteca de robótica para uma linguagem de programação existente
Linguagens de programação de robôs desenvolvidas com base em uma linguagem de programação já produzida e acrescentando-se uma biblioteca de sub-rotinas especifica para robótica. Um exemplo é a AR-BASIC da American Cimflex que é em essência uma biblioteca de sub-rotina.
Biblioteca de robótica para uma nova linguagem de uso geral
Essas linguagens de programação de robôs foram desenvolvidas primeiro criando uma nova linguagem de uso geral como base de programação em seguida acrescentando-se uma biblioteca de sub-rotinas predeterminadas.
Estudos demonstram que uma alta porcentagem das expressões da linguagem não são especificas para todos. Por esse motivo, existe a tendência de deixar de lado o desenvolvimento de linguagens especiais para programação de robôs.
Linguagem de programação em nível de tarefa
Essas linguagens permitem que o usuário comande as submetas da tarefa diretamente, em um sistema desse tipo, se instrução para “pegar o parafuso” for dada, o sistema deve planejar uma trajetória para o manipulador que evite colisões com os obstáculos circundantes, deve automaticamente escolher um bom local no próprio parafuso que seja pego e deve pega-lo.
Requisitos de uma linguagem de programação de robôs
Modelagem do mundo
Os programas de manipulação devem incluir objetos que se movimentam no espaço tridimensional, é claro que qualquer linguagem de programação de robôs precisa de um meio para descrever essas ações. O elemento mais comum das linguagens de programação robóticas é a existência de tipos geométricos, por exemplo, tipos são introduzidos para representar conjunto de ângulos de juntas. Operadores predefinidos que podem manipular esses tipos estão frequentemente disponíveis. Os sistemas de referência padrão podem funcionar como um possível modelo de mundo, sendo os sistemas de referência de metas construídos a partir de expressões arbitrárias que envolvem tipos geométrico.
O ideal seria um sistema de modelagem no qual os objetos são descritos por modelos no estilo CAD.
Especificação de movimento
Uma função muito básica é permitir a descrição dos movimentos desejados do robô. Com o uso de expressões de movimento o usuário faz a interface com planejadores de trajetórias e geradores. As expressões permitem ao usuário especificar pontos de passagem, meta e escolha entre usar o movimento por interpolação de juntas ou cartesiano em linha reta. Exemplo de movimento do manipulador (1) mover-se para posição “goal1”, em seguida (2) mover-se em linha reta para posição “goal2”, depois (3) mover-se sem para pôr “via 1”e chegar ao repouso em “goal3”. (Em VAL 2)
Fluxo de execução
Como nas linguagens de programação permite ao usuário especificar o fluxo de execução conceitos tais como testes e ramificação, laços.
Mais do que em muitas aplicações o processamento paralelo é importante nas aplicações de células de trabalho automatizadas, muitas vezes dois ou mais robôs são usados numa única célula e trabalham em simultâneo para diminuir o templo de ciclo.
Ambiente de programação
Um bom ambiente de programação promove a produtividade do programador, a maioria das linguagens de programação é hoje interpretada, de forma que expressões individuais de linguagem podem ser executadas isoladamente durante o desenvolvimento do programa e da depuração.
Integração de sensores
O sistema deve ter, no mínimo, meios de questionar os sensores táteis e de usar as respostas em construtos do if-then-else.
Por exemplo, em nosso modelo de aplicação, um sistema de visão localiza os suportes na esteira transportadora e envia ao controlador do manipulador sua posição e orientação em relação a câmera. O sistema de referência da câmera é conhecido em relação ao da estação de trabalho.
Certos sensores podem fazer parte de outros equipamentos da célula de trabalho.
Problemas peculiares as linguagens de programação de robôs
O avanço feito nos últimos anos tem ajudado, mas a programação de robôs continua difícil.
Modelo de mundo interno versus realidade externa
Uma característica central de programação de robôs é o modelo de mundo mentido internamento computador. Mesmo quando esse modelo é bastante simples, há ampla dificuldades para garantir que ele corresponda a realidade física que seta tentando modelar.
Essa correspondência entre o modelo interno e o mundo externo deve ser estabelecida para o estado inicial do programa. Durante a programação inicial ou depuração, cabe ao usuário de garantir que o estado representado no programa corresponde ao estado físico da célula de trabalho.
...