Você está na página 1de 9

Um Ambiente para Simulao e Animao de Robs

Humberto Cardoso Marchezi1, Hans-Jorg Andreas Schneebeli1


1

Departamento de Engenharia Eltrica Universidade Federal do Esprito Santo


(UFES)
Av. Fernando Ferrari, S/N 29060-970 Vitria, ES
hcmarchezi@yahoo.com, hans@ele.ufes.br

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 simulao de
robs com finalidades didticas para alunos de engenharia. Ao contrrio da
maioria dos simuladores, esse ambiente permite que o aluno crie a sua
prpria configurao mecnica de rob atravs do encadeamento de pecas
mecnicas reutilizadas chamadas de tipos de elo (link) que por sua vez
tambm podem ser criados pelo prprio aluno. Alm disso, possvel
programar o rob para desempenhar uma tarefa especfica. Comandando as
juntas, o aluno pode armazenar diferentes posies do manipulador com
velocidades distintas em instantes de tempo especficos, descrevendo um
caminho onde ser calculada uma trajetria suave visualizada atravs de uma
animao tridimensional.

1. Motivao
Os robs so cada vez mais usados nas mais diversas reas como agricultura, gerao de
eletricidade, equipamentos eletrnicos, indstria automotiva, aeroespacial, entre outros.
Com isso, cresce tambm a importncia da disciplina de robtica ensinada nas
universidades nos cursos de engenharia eltrica e mecatrnica.
Embora existam iniciativas para aperfeioar o ensino dessa disciplina, a robtica
ainda apresentada ao aluno de maneira expositiva atravs dos livros nas universidades
brasileiras.
Entretanto, construir um rob exige mo-de-obra e peas muito caras para o
oramento da maioria das instituies de ensino surgindo a necessidade de simular o
funcionamento de um rob virtual no computador.
Para isso, existem softwares livres disponveis 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 vrios milhares de

dlares. Essas razes justificam a construo de um tipo de simulador que permita a


simulao de robs manipuladores descritos como uma cadeia de elos links de vrias
formas diferentes e onde um determinado tipo de elo possa ser reutilizado em outros
projetos de robs.
Dessa forma, o aluno no estar preso as configuraes 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 prprio aluno que poder criar a sua prpria biblioteca
de tipos de elo possibilitando mais liberdade de criao.
A partir da concepo final do rob, o simulador deve permitir ao aluno
programar e verificar o funcionamento do rob desempenhando uma tarefa especfica
por meio de uma animao.
Basicamente, esse ambiente de simulao e animao de robs 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 mecnica e controle.

2. O Problema da Simulao de Robs Manipuladores


2.1 Descrio de Robs
Um rob manipulador possui um brao que assegura mobilidade e um punho que
assegura destreza. O manipulador composto de uma cadeia de elos rgidos conectados
por juntas que so responsveis pela movimentao do prximo elo na cadeia. [Craig,
1989]
Existem vrios tipos de junta para robs que variam de acordo com o tipo de
deslizamento entre as superfcies de dois elos. Entretanto devido a consideraes
mecnicas, manipuladores so geralmente construdos com juntas de um grau de
liberdade. Desses, a maioria dos manipuladores possuem juntas de revoluo ou
possuem juntas deslizantes chamadas de juntas prismticas.
Dada a descrio acima e como se trata de uma simulao no espao de
coordenadas tridimensionais, resta saber como posicionar e orientar unicamente todos
estes objetos no espao tridimensional.
Para representar as transformaes de rotao e translao em uma mesma
matriz reduzindo o clculo para multiplicao de matrizes, usa-se o sistema de
coordenadas homogneas onde um ponto P(x,y,z) passa a ter um quarto componente
vetorial que um escalar atravs da forma (xh, yh, zh, h).[Mortenson, 1999]
Dessa forma, uma rotao R e uma translao T ficariam representados dentro
de um nica matriz denominada frame transformando o P em coordenadas homogneas
no ponto P'.
R T
[P ]
0 1

[P ] =

Por isso, um frame i 1iT define uma transformao nica de um sistema de


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

2.2 Modelagem Cinemtica


A cinemtica direta trata do movimento do Rob sem levar em considerao as foras
que o causaram mas levando em considerao a posio e orientao dos elos da base
at o atuador final.
Como o manipulador uma cadeia cinemtica aberta de elos e que uma junta s
conecta dois elos consecutivos razovel fazer uso de uma conveno para descrever a
posio e orientao desses elos de maneira recursiva. Da surgiu o propsito da
conveno de Denavit-Hartenberg.[Craig, 1989]
Por essa conveno, um elo definido como um relacionamento entre duas
juntas de um rob descrito atravs do comprimento, toro, deslocamento da junta e
ngulo da junta.Os elos que controlam uma junta de revoluo, possuem o ngulo das
juntas como parmetro varivel enquanto que nos elos que controlam uma junta
prismtica, o deslocamento das juntas varivel.

Figura 1. Tipos de junta de rob

Cada elo i numerado de (i=0) onde est a base at (i=n) onde est o punho.
Seguindo a mesma conveno o par de juntas de um elo i numerada como i-1 e i.
Alm disso, uma junta s possui um grau de liberdade como um ngulo de junta ou
deslocamento de elo numa direo. Da mesma forma dada elo i possui um frame i que
faz referncia ao frame i-1.
A matriz resultante do frame representada por T (a, , , d ) . Onde a
comprimento do elo, a toro, o ngulo entre as juntas e d o deslocamento
entre as juntas conforme mostrado na figura abaixo:

Figura 2. Modelagem cinemtica de um rob

2.3 Especificao de Trajetrias

O problema bsico a ser tratado aqui como mover a ferramenta localizada no atuador
final do rob manipulador de uma posio inicial para uma posio final informada. Ou
seja como mover uma ferramenta de um Tinicial a um T final alterando posio e
orientao da ferramenta em relao a estao.
A trajetria do rob pode ser descrita atravs de duas abordagens: espao de
juntas e espao cartesiano. No espao cartesiano, a trajetria do manipulador descrita
atravs de uma seqncia de frames que descrevem a posio e orientao da
ferramenta localizada na extremidade final do rob em relao a estao enquanto que
no espao de juntas as posies so descritas atravs dos valores de deslocamento das
juntas. Por ser mais simples computacionalmente, o espao de juntas foi utilizado no
simulador proposto e essa abordagem ser tratada daqui em diante.
Existem trs principais abordagens para a descrio da trajetria.

Ponto-a-Ponto

Essa a abordagem mais simples onde o caminho do manipulador descrito


informando-se somente as suas posies inicial e final com velocidade zero em ambas
posies especificadas. A trajetria calculada a partir de uma polinomial cbica com
quatro restries e quatro incgnitas.
Sendo a polinomial da trajetria:

(t ) = a 0 + a1t + a 2 t 2 + a 3 t 3
As restries so definidas atravs das posies e velocidades inicial e final:
( 0) = 0
Posio Inicial e Final
(t f ) = f
(0) = 0
Velocidade Inicial e Final
(t f ) = 0

Ponto-a-Ponto com Vias

s vezes necessrio especificar o movimento do rob em mais detalhes, j que


durante a execuo do movimento entre um ponto e outro a trajetria pode no ser
retilnea, pois caso contrrio, o manipulador poderia colidir com algum obstculo ou
com ele prprio. Tambm muito importante notar que em muitas aplicaes como em
soldagem de materiais, por exemplo ou em pintura de automveis, o formato da
trajetria em si muito mais importante do que as posies inicial e final. A partir da
(Para resolver esse problema) surgiu a necessidade de se usar pontos intermedirios,
chamados de pontos via que devem ser escolhidos para garantir a melhor execuo da
trajetria.
Dessa maneira, a descrio da trajetria de um rob feita atravs da definio
de um caminho. Onde um caminho definido por um conjunto de pontos atravs dos
quais o manipulador deve passar na execuo de um determinado movimento, ou seja,
a descrio puramente geomtrica do movimento. [Sciavicco e Siciliano, 1996]

Nesse mtodo as posies em vrios instantes de tempo so informadas com


velocidade zero e uma trajetria calculada para cada par de posies consecutivas que
descrevem caminho usando ponto-a-ponto. Embora simples, a desvantagem desse
mtodo que a animao da trajetria descontinuada devido ao valor nulo da
velocidade em cada ponto.

Ponto-a-Ponto com Vias e Velocidade No-Nula

Na abordagem anterior, as paradas no movimento do manipulador durante a


execuo de sua tarefa fazem com que a trajetria seja descontinuada o que produz um
esforo maior para os atuadores e um desgaste mecnico nas juntas do rob. A partir
disso, surgiu a necessidade de se escrever uma trajetria usando pontos via com
velocidade no nula.
Nessa abordagem para calcular a polinomial cbica da trajetria, as restries
passam a ser:
( 0) = 0
e
Posio Inicial e Final
=

(
t
)

f
f

(0) =
0
Velocidade Inicial e Final

(t f ) = f
Para calcular a funo interpolada f (t ) do valor da junta no tempo, necessrio
satisfazer condies de velocidade e posio, logo para cada ponto que forma o
caminho, alm da posio, 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 i 1 seja igual a velocidade inicial da
polinomial i e da mesma forma a posio final de i 1 seja igual a posio inicial de
i . Ou seja:
i 1 (t f ) = i (t 0 )
i 1 (t f ) = i (t 0 )

3. Um Ambiente para Simulao e Animao de Robs


3.1 Especificao de Sistemas

Ao interagir e observar os resultados, alm de servir como um meio de aprendizado para


alunos de eltrica e mecatrnica nas disciplinas de robtica, um ambiente de simulao
tambm permite que a simulao virtual de um rob possibilite testar aspectos como
configurao mecnica e os controles a serem informados garantindo no s a
confiabilidade da tarefa a ser desempenhada como tambm 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 robtica tais como:
descrio de tipos de elo, descrio de robs, cinemtica direta e planejamento de
trajetria.

Descrio de Tipos de Elo

Para promover a reusabilidade de tipos de elo, o ambiente deve permitir que eles
sejam criados para serem utilizados em vrios robs. Dessa forma, ao criar esses
componentes, o projetista deve informar apenas as suas caractersticas estticas, ou seja,
aquelas que no variam cinemeticamente por causa de um movimento das suas juntas.
Conforme visto na seo 2.2, esses parmetros variam dependendo do tipo de
deslizamento entre as juntas. Caso seja um tipo de elo de revoluo devem ser
informados os parmetros de comprimento, toro e deslocamento das juntas e se for
um tipo de elo prismtico devem ser informados os mesmos parmetros exceto o ltimo
que passa a ser o ngulo entre as juntas. Alm disso, o ambiente de simulao deve
permitir que uma geometria possa ser informada representando o formato fsico do tipo
de elo e um sistema de coordenadas local para corrigir o tamanho, a posio e a
orientao dessa geometria importada. Finalmente tambm o tipo de elo deve prover
uma indicao para informar se este uma base, um elo ou uma ferramenta.

Descrio de Robs

Tambm seguindo a seo 2.2, este ambiente de simulao deve permitir que um
rob manipulador possa ser construdo atravs da insero ou remoo de um elo, onde
o elo, por sua vez, deve seguir as propriedades do seu tipo de elo e s pode fazer parte
de um rob. Adicionalmente, o ambiente deve se certificar que o elo foi inserido
corretamente no encadeamento do rob levando-se em conta que uma base s pode estar
na 1a posio do encadeamento, uma ferramenta s pode estar na ltima posio e o elo
pode estar em qualquer posies respeitando a posio de uma base ou ferramenta se
houver.

Cinemtica Direta

O simulador deve permitir que o projetista possa interagir cinematicamente com


o rob alterando o valor de suas juntas e que possa visualizar este efeito graficamente.

Planejamento de Trajetria

Finalmente, o ambiente de simulao de robs deve permitir que uma trajetria


para um rob possa ser descrita atravs de um caminho usando-se ponto-a-ponto com
vias e velocidade no-nula descrito na seo 2.3.3. Usando-se esse esquema, o
simulador deve permitir que as posies do rob em um instante de tempo sejam
armazenadas no caminho com uma velocidade especificada fazendo com que a
trajetria resultante seja suave e contnua.
Aps a descrio do caminho e clculo da trajetria, o ambiente de simulao
tambm deve permitir a visualizao do resultado atravs de uma animao.
3.2 O Projeto

Esse ambiente de simulao produz animaes tridimensionais em tempo real o que


exige uma linguagem de programao que seja orientada a objeto para suportar o
paradigma de proposto, mas tambm de alta performance. Essas razes justificaram o
uso da linguagem C++ para a implementao do prottipo.
Para que o cdigo pudesse ser compilado para uma maior variedade de sistemas
operacionais, utilizou-se apenas o C++ padro e o C++ STL.[Stroustrup, 1997]

Entretanto, para o desenho da geometria dos objetos tridimensionais assim como a


manipulao do mundo 3D desses objetos foi utilizado o padro OpenGL.[Wright and
Sweet, 2000] Por fim, para o projeto de interfaces grficas e controle de eventos foi
utilizada a biblioteca de desenvolvimento Qt.[Trolltech, 2002]
Com relao organizao, para o melhor gerenciamento, o ambiente de
simulao foi dividido em trs subsistemas. Cada subsistema agrupa um conjunto de
funcionalidades afins e pode ser trabalhada independentemente. Alm disso, cada
subsistema representado como uma janela filha dentro de uma janela principal da
aplicao do prottipo seguindo o estilo Multiple Document Interface.
O subsistema Links responsvel pela descrio de um tipo de elo que poder
ser usado na construo de um rob assim como alterao ou excluso daqueles j
existentes.
O subsistema Robs possui as funcionalidades da construo de um rob que
feita a partir da anexao de novos elos, criados pelo subsistema acima, na cadeia
cinemtica aberta do manipulador ou atravs da remoo de elos existentes no mesmo.
Cada elo adicionado, tem o seu respectivo controle de movimento no lado direito da
janela que produziro um movimento de rotao ou translao na junta controlada por
este caso o elo seja de revoluo ou prismtico.
O subsistema trajetrias, aps a construo do rob, cuida da descrio de um
caminho para a trajetria do rob.
Para descrever esse caminho, os elos do rob so posicionados atravs dos seus
controles de movimento. Cada nova posio do rob pode ser armazenada atravs do
boto Adicionar Posio fornecendo-se tambm o instante de tempo e a velocidade de
cada junta nesse instante. Essa posio o ponto do caminho ou ponto via se estiver
entre a posio inicial e a posio final do rob.
Para cada insero, alterao ou remoo no caminho do rob, a sua trajetria
recalculada automaticamente. Ao final, a trajetria pode ser verificada por meio da
opo de Animao do rob.

Figura 3. Janela Principal do Ambiente

4. Concluses
Este tipo de ambiente de simulao para robs mostra-se especialmente importante para
qualquer estudante ou profissional que deseja entender o funcionamento cinemtico dos
robs. Para um estudante, essa simulao vai ajudar na compreenso mais slida dos
conceitos de robtica por permitir a ele uma viso experimental e prtica do assunto.
Podem ser adicionadas outras capacidades ao sistema como dada a posio do
atuador final, calcular o valor do deslocamento ou inclinao das juntas atravs da
resoluo de um sistema de equaes de cinemtica inversa. Atravs desse sistema o
estudante poderia visualizar o rob e verificar rapidamente a resposta desse sistema de
equaes. Alm disso, vrios 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 iluminao produzindo uma imagem mais realista;

Na criao de um Tipo de Link, ainda no 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;

necessrio que seja catalogada uma lista de arquivos com informaes de


geometria de vrios elos de robs diferentes proporcionando mais opes na
construo do rob.

Finalmente, deve-se lembrar que, participar desse projeto trouxe vrios


benefcios, pois devido a sua caracterstica multidisciplinar possibilitou conhecer vrias
reas: Robtica, Computao Grfica e Engenharia de Software.

5. Referncias
Easy-rob simulator., disponvel em http://www.easy-rob.de/m4_3.htm, acesso em 22
de dezembro de 2003
JRobot simulator, disponvel em http://jrobot.sourceforge.net, acesso em 10 de
janeiro de 2004
RoboSim Simulator, disponvel em
http://ieee.uow.edu.au/~daniel/software/RoboSim/, acesso em 10 de janeiro de 2004
Craig, J. J. (1989), Introduction to Robot Mechanics and Control Second Edition.,
Addison-Wesley.
Mortenson, M. E. (1999), Mathematics for Computer Graphics Applications,
Industrial Press Inc, New York, NY, EUA.
Sciavicco, L. and Siciliano, B. (1996). Modeling and Control of Robot Manipulator,
McGraw-Hill, Npoles, Itlia.
Stroustrup, B. (1997), The C++ Programming
Addison-Wesley, Murray Hill, NJ, EUA.

Language

Third

Edition,

Trolltech (2002). Qt Reference Documentation.,


http://doc.trolltech.com/2.3/index.html
Wright, R. S. and Sweet, M. (2000). OpenGL Super Bible Second Edition., Waite
Group Press, Indianpolis, IN, EUA.

Você também pode gostar