





Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
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
1 / 9
Esta página não é visível na pré-visualização
Não perca as partes importantes!






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.
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.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'.
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.
Sendo a polinomial da trajetória: 3 3
2
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
θ
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.
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
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.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
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: