Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Ambiente de Simulação Interativa para Robôs: Configurações Mecânicas Personalizadas, Notas de estudo de Engenharia Mecânica

Este artigo apresenta uma proposta de ambiente de simulação interativa de robôs, permitindo aos estudantes construir suas próprias configurações mecânicas de robôs através do encadeamento de peças reutilizadas chamadas de tipos de elo. O ambiente permite a simulação de robôs manipuladores descritos como uma cadeia de elos, onde um determinado tipo de elo pode ser reutilizado em outros projetos. Além disso, ele permite ao usuário programar e verificar o funcionamento do robô desempenhando uma tarefa específica por meio de uma animação.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 19/04/2010

mariana-gouveia-7
mariana-gouveia-7 🇧🇷

8 documentos

1 / 9

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Um Ambiente para Simulação e Animação de Robôs
Humberto Cardoso Marchezi1, Hans-Jorg Andreas Schneebeli1
1Departamento de Engenharia Elétrica – Universidade Federal do Espírito Santo
(UFES)
Av. Fernando Ferrari, S/N – 29060-970 – Vitória, ES
Abstract. This article presents an environment to simulate robots for
educational purposes for engineering students. Different from other robot
simulators, this one lets the students build their own robotic mechanical
configuration by chaining reusable mechanical parts called link types which
can also be created by the students. Besides that, it is also possible to program
the robot to perform a specific task. By commanding the joints, a student can
store manipulator positions with distinct velocities in specific time instants in
order to describe a path where a smooth trajectory is calculated and can be
visualized in a tri-dimensional animation..
Resumo. Esse artigo apresenta uma proposta de ambiente de simulação de
robôs com finalidades didáticas para alunos de engenharia. Ao contrário da
maioria dos simuladores, esse ambiente permite que o aluno crie a sua
própria configuração mecânica de robô através do encadeamento de pecas
mecânicas reutilizadas chamadas de tipos de elo (link) que por sua vez
também podem ser criados pelo próprio aluno. Além disso, é possível
programar o robô para desempenhar uma tarefa específica. Comandando as
juntas, o aluno pode armazenar diferentes posições do manipulador com
velocidades distintas em instantes de tempo específicos, descrevendo um
caminho onde será calculada uma trajetória suave visualizada através de uma
animação tridimensional.
1. Motivação
Os robôs são cada vez mais usados nas mais diversas áreas como agricultura, geração de
eletricidade, equipamentos eletrônicos, indústria automotiva, aeroespacial, entre outros.
Com isso, cresce também a importância da disciplina de robótica ensinada nas
universidades nos cursos de engenharia elétrica e mecatrônica.
Embora existam iniciativas para aperfeiçoar o ensino dessa disciplina, a robótica
ainda é apresentada ao aluno de maneira expositiva através dos livros nas universidades
brasileiras.
Entretanto, construir um robô exige mão-de-obra e peças muito caras para o
orçamento da maioria das instituições de ensino surgindo a necessidade de simular o
funcionamento de um robô virtual no computador.
Para isso, existem softwares livres disponíveis como o simulador JRobot e o
RoboSim. Mas estes softwares, simulam apenas um determinado tipo de manipulador.
Por outro lado, os simuladores comerciais como EASY-Rob custam vários milhares de
pf3
pf4
pf5
pf8
pf9

Pré-visualização parcial do texto

Baixe Ambiente de Simulação Interativa para Robôs: Configurações Mecânicas Personalizadas e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

Um Ambiente para Simulação e Animação de Robôs

Humberto Cardoso Marchezi 1 , Hans-Jorg Andreas Schneebeli 1 (^1) Departamento de Engenharia Elétrica – Universidade Federal do Espírito Santo (UFES) Av. Fernando Ferrari, S/N – 29060-970 – Vitória, ES [email protected], [email protected]

Abstract. This article presents an environment to simulate robots for educational purposes for engineering students. Different from other robot simulators, this one lets the students build their own robotic mechanical configuration by chaining reusable mechanical parts called link types which can also be created by the students. Besides that, it is also possible to program the robot to perform a specific task. By commanding the joints, a student can store manipulator positions with distinct velocities in specific time instants in order to describe a path where a smooth trajectory is calculated and can be visualized in a tri-dimensional animation..

Resumo. Esse artigo apresenta uma proposta de ambiente de simulação de robôs com finalidades didáticas para alunos de engenharia. Ao contrário da maioria dos simuladores, esse ambiente permite que o aluno crie a sua própria configuração mecânica de robô através do encadeamento de pecas mecânicas reutilizadas chamadas de tipos de elo (link) que por sua vez também podem ser criados pelo próprio aluno. Além disso, é possível programar o robô para desempenhar uma tarefa específica. Comandando as juntas, o aluno pode armazenar diferentes posições do manipulador com velocidades distintas em instantes de tempo específicos, descrevendo um caminho onde será calculada uma trajetória suave visualizada através de uma animação tridimensional.

1. Motivação

Os robôs são cada vez mais usados nas mais diversas áreas como agricultura, geração de eletricidade, equipamentos eletrônicos, indústria automotiva, aeroespacial, entre outros. Com isso, cresce também a importância da disciplina de robótica ensinada nas universidades nos cursos de engenharia elétrica e mecatrônica.

Embora existam iniciativas para aperfeiçoar o ensino dessa disciplina, a robótica ainda é apresentada ao aluno de maneira expositiva através dos livros nas universidades brasileiras.

Entretanto, construir um robô exige mão-de-obra e peças muito caras para o orçamento da maioria das instituições de ensino surgindo a necessidade de simular o funcionamento de um robô virtual no computador.

Para isso, existem softwares livres disponíveis como o simulador JRobot e o RoboSim. Mas estes softwares, simulam apenas um determinado tipo de manipulador. Por outro lado, os simuladores comerciais como EASY-Rob custam vários milhares de

dólares. Essas razões justificam a construção de um tipo de simulador que permita a simulação de robôs manipuladores descritos como uma cadeia de elos links de várias formas diferentes e onde um determinado tipo de elo possa ser reutilizado em outros projetos de robôs.

Dessa forma, o aluno não estará preso as configurações pré-determinadas como robô puma ou scara em outros simuladores e pode simular qualquer robô manipulador que seja representado por uma cadeia de elos. Somado ao isso, é importante que os tipos de elo possam ser criados pelo próprio aluno que poderá criar a sua própria biblioteca de tipos de elo possibilitando mais liberdade de criação.

A partir da concepção final do robô, o simulador deve permitir ao aluno programar e verificar o funcionamento do robô desempenhando uma tarefa específica por meio de uma animação.

Basicamente, esse ambiente de simulação e animação de robôs deve ser capaz de imitar o comportamento de um robô permitindo, dessa forma, que este possa ser montado e testado tanto na sua arquitetura como na sua mecânica e controle.

2. O Problema da Simulação de Robôs Manipuladores

2.1 Descrição de Robôs

Um robô manipulador possui um braço que assegura mobilidade e um punho que assegura destreza. O manipulador é composto de uma cadeia de elos rígidos conectados por juntas que são responsáveis pela movimentação do próximo elo na cadeia. [Craig, 1989]

Existem vários tipos de junta para robôs que variam de acordo com o tipo de deslizamento entre as superfícies de dois elos. Entretanto devido a considerações mecânicas, manipuladores são geralmente construídos com juntas de um grau de liberdade. Desses, a maioria dos manipuladores possuem juntas de revolução ou possuem juntas deslizantes chamadas de juntas prismáticas.

Dada a descrição acima e como se trata de uma simulação no espaço de coordenadas tridimensionais, resta saber como posicionar e orientar unicamente todos estes objetos no espaço tridimensional.

Para representar as transformações de rotação e translação em uma mesma matriz reduzindo o cálculo para multiplicação de matrizes, usa-se o sistema de coordenadas homogêneas onde um ponto P(x,y,z) passa a ter um quarto componente vetorial que é um escalar através da forma (xh, yh, zh, h) .[Mortenson, 1999]

Dessa forma, uma rotação R e uma translação T ficariam representados dentro de um única matriz denominada frame transformando o P em coordenadas homogêneas no ponto P'.

[ ] [ P

R T

P 

]

Por isso, um frame define uma transformação única de um sistema de

coordenadas cartesianas i-1 para um sistema de coordenadas i .[Craig, 1989]

i − (^1) i T

2.3 Especificação de Trajetórias

O problema básico a ser tratado aqui é como mover a ferramenta localizada no atuador final do robô manipulador de uma posição inicial para uma posição final informada. Ou seja como mover uma ferramenta de um T a um T alterando posição e

orientação da ferramenta em relação a estação.

inicial final

A trajetória do robô pode ser descrita através de duas abordagens: espaço de juntas e espaço cartesiano. No espaço cartesiano, a trajetória do manipulador é descrita através de uma seqüência de frames que descrevem a posição e orientação da ferramenta localizada na extremidade final do robô em relação a estação enquanto que no espaço de juntas as posições são descritas através dos valores de deslocamento das juntas. Por ser mais simples computacionalmente, o espaço de juntas foi utilizado no simulador proposto e essa abordagem será tratada daqui em diante.

Existem três principais abordagens para a descrição da trajetória.

  • Ponto-a-Ponto Essa é a abordagem mais simples onde o caminho do manipulador é descrito informando-se somente as suas posições inicial e final com velocidade zero em ambas posições especificadas. A trajetória é calculada a partir de uma polinomial cúbica com quatro restrições e quatro incógnitas.

Sendo a polinomial da trajetória: 3 3

2

θ( t )= a 0 + a 1 t + a 2 t + at

As restrições são definidas através das posições e velocidades inicial e final:

Posição Inicial e Final 

θ tf θ f

θ θ ( )

Velocidade Inicial e Final 

θ t f

θ

  • Ponto-a-Ponto com Vias Às vezes é necessário especificar o movimento do robô em mais detalhes, já que durante a execução do movimento entre um ponto e outro a trajetória pode não ser retilínea, pois caso contrário, o manipulador poderia colidir com algum obstáculo ou com ele próprio. Também é muito importante notar que em muitas aplicações como em soldagem de materiais, por exemplo ou em pintura de automóveis, o formato da trajetória em si é muito mais importante do que as posições inicial e final. A partir daí (Para resolver esse problema) surgiu a necessidade de se usar pontos intermediários, chamados de pontos via que devem ser escolhidos para garantir a melhor execução da trajetória.

Dessa maneira, a descrição da trajetória de um robô é feita através da definição de um caminho. Onde um caminho é definido por um conjunto de pontos através dos quais o manipulador deve passar na execução de um determinado movimento, ou seja, é a descrição puramente geométrica do movimento. [Sciavicco e Siciliano, 1996]

Nesse método as posições em vários instantes de tempo são informadas com velocidade zero e uma trajetória é calculada para cada par de posições consecutivas que descrevem caminho usando ponto-a-ponto. Embora simples, a desvantagem desse método é que a animação da trajetória é descontinuada devido ao valor nulo da velocidade em cada ponto.

  • Ponto-a-Ponto com Vias e Velocidade Não-Nula Na abordagem anterior, as paradas no movimento do manipulador durante a execução de sua tarefa fazem com que a trajetória seja descontinuada o que produz um esforço maior para os atuadores e um desgaste mecânico nas juntas do robô. A partir disso, surgiu a necessidade de se escrever uma trajetória usando pontos via com velocidade não nula.

Nessa abordagem para calcular a polinomial cúbica da trajetória, as restrições passam a ser:

Posição Inicial e Final e 

θ tf θ f

θ θ ( )

Velocidade Inicial e Final 

′ =^ ′

θ tf θ f

Para calcular a função interpolada do valor da junta no tempo, é necessário

satisfazer condições de velocidade e posição, logo para cada ponto que forma o caminho, além da posição, uma velocidade é associada. Dessa forma, uma polinomial é calculada para cada par de pontos do caminho e para cada junta do robô de tal

forma que a velocidade final de uma polinomial

f ( t )

∏′ i − 1 seja igual a velocidade inicial da

polinomial ∏ ′ i e da mesma forma a posição final de∏ i − 1 seja igual a posição inicial de

i. Ou seja:

1 0

1 0 t t

t t

i f i

i f i ∏ = ∏

3. Um Ambiente para Simulação e Animação de Robôs

3.1 Especificação de Sistemas

Ao interagir e observar os resultados, além de servir como um meio de aprendizado para alunos de elétrica e mecatrônica nas disciplinas de robótica, um ambiente de simulação também permite que a simulação virtual de um robô possibilite testar aspectos como configuração mecânica e os controles a serem informados garantindo não só a confiabilidade da tarefa a ser desempenhada como também economia de tempo e dinheiro do projetista de robô. Tendo isso em mente, o objetivo desse ambiente é o de prover uma ferramenta capaz de simular alguns aspectos de robótica tais como: descrição de tipos de elo, descrição de robôs, cinemática direta e planejamento de trajetória.

Entretanto, para o desenho da geometria dos objetos tridimensionais assim como a manipulação do mundo 3D desses objetos foi utilizado o padrão OpenGL.[Wright and Sweet, 2000] Por fim, para o projeto de interfaces gráficas e controle de eventos foi utilizada a biblioteca de desenvolvimento Qt.[Trolltech, 2002]

Com relação à organização, para o melhor gerenciamento, o ambiente de simulação foi dividido em três subsistemas. Cada subsistema agrupa um conjunto de funcionalidades afins e pode ser trabalhada independentemente. Além disso, cada subsistema é representado como uma janela filha dentro de uma janela principal da aplicação do protótipo seguindo o estilo Multiple Document Interface.

O subsistema Links é responsável pela descrição de um tipo de elo que poderá ser usado na construção de um robô assim como alteração ou exclusão daqueles já existentes.

O subsistema Robôs possui as funcionalidades da construção de um robô que é feita a partir da anexação de novos elos, criados pelo subsistema acima, na cadeia cinemática aberta do manipulador ou através da remoção de elos existentes no mesmo. Cada elo adicionado, tem o seu respectivo controle de movimento no lado direito da janela que produzirão um movimento de rotação ou translação na junta controlada por este caso o elo seja de revolução ou prismático.

O subsistema trajetórias, após a construção do robô, cuida da descrição de um caminho para a trajetória do robô.

Para descrever esse caminho, os elos do robô são posicionados através dos seus controles de movimento. Cada nova posição do robô pode ser armazenada através do botão Adicionar Posição fornecendo-se também o instante de tempo e a velocidade de cada junta nesse instante. Essa posição é o ponto do caminho ou ponto via se estiver entre a posição inicial e a posição final do robô.

Para cada inserção, alteração ou remoção no caminho do robô, a sua trajetória é recalculada automaticamente. Ao final, a trajetória pode ser verificada por meio da opção de Animação do robô.

Figura 3. Janela Principal do Ambiente

4. Conclusões

Este tipo de ambiente de simulação para robôs mostra-se especialmente importante para qualquer estudante ou profissional que deseja entender o funcionamento cinemático dos robôs. Para um estudante, essa simulação vai ajudar na compreensão mais sólida dos conceitos de robótica por permitir a ele uma visão experimental e prática do assunto.

Podem ser adicionadas outras capacidades ao sistema como dada a posição do atuador final, calcular o valor do deslocamento ou inclinação das juntas através da resolução de um sistema de equações de cinemática inversa. Através desse sistema o estudante poderia visualizar o robô e verificar rapidamente a resposta desse sistema de equações. Além disso, vários itens nesse sistema podem ser estendidos nos seguintes aspectos:

  • O desenho do robô pode ser feito utilizando recursos mais poderosos do OpenGL como textura e iluminação produzindo uma imagem mais realista;
  • Na criação de um Tipo de Link, ainda não foi pensada uma interface para calcular iterativamente um sistema de coordenadas de tal forma que a origem desse sistema coincida com a primeira junta do Tipo de Link;
  • É necessário que seja catalogada uma lista de arquivos com informações de geometria de vários elos de robôs diferentes proporcionando mais opções na construção do robô.