You are on page 1of 55

Modelao e Animao com o

RoboWorks
(verso 2.0)

Como se iniciar na utilizao do Roboworks?

1. Introduo
1.1. O que o Roboworks?
um modelador tridimensional para a simulao de elementos mecnicos. Este programa permite ao utilizador criar um modelo em 3D e anim-lo, a partir do teclado, de um ficheiro .dat criado por si, ou atravs de ficheiros executveis criados no Matlab, C++, LabView, etc. Neste tutorial aprenderemos a modelar com o Roboworks a utilizar o software de programao para manipulao do modelador.

1.2. A quem dirigido o Roboworks?


til para as pessoas relacionadas com a robtica que tenham necessidade de simular movimento a partir de um programa de controlo, seja para analisar os resultados de um estmulo para um robot ou para ter uma viso em tempo real do movimento dos componentes dum sistema mecnico.

2. A Interface Grfica do Roboworks


formada pelas seguintes partes:

2.1. Vista em 3D
Nesta vista (janela) podemos ver, em 3D, o estado em que se encontra o modelo tridimensional. A partir deste ecr no podemos modificar o modelo. Ele s serve para ver a posio de todas as coisas.

2.2. Vista em rvore


Nesta vista (janela) que criaremos todos os modelos. Cada forma que vemos na vista 3D, est referenciada nesta vista, e apenas a partir desta vista poderemos modificar os seus parmetros.

2.3. Barra de Tarefas


Oferece as tarefas clssicas de todos os programas baseados no Windows: Ficheiro, Editar, Ver, Janelas e Ajuda, para alm da oferta prpria do RoboWorks Animao. Mais frente explicaremos as funes de cada uma das tarefas que aparecem quando clicamos nestes menus desta barra.

2.4. Barra de cones


Na barra de cones apenas se encontram os cones que pertencem s aplicaes gerias do Windows: Novo, Abrir, Guardar, Cortar, Copiar, Colar, Acerca do RoboWorks e Ajuda. Mais frente explicar-se- cada uma das tarefas acessveis a partir destes cones.

3. Como Criar uma Modelao no RoboWorks?


Para comear preciso conhecer a janela de Vista em rvore, porque todos os modelos se criam nesta janela.

3.1. Janela de Vista em rvore


Aqui aparecero todos os elementos da modelao medida que vo sendo criados.

Existem trs tipos de elementos que podemos criar nesta janela: Formas Transformaes Outros

As Formas correspondem s figuras bsicas para realizar qualquer elemento tridimensional, e que so: Cilindros, Cones, Discos, Esferas e Cubos. Nas Transformaes encontramos todas as possibilidades de movimento de uma figura, como rotao e translaco. Em Outras encontramos a opo de criar grupos e seleccionar materiais para os slidos.

3.1.1. Inserir Um Elemento


Para inserir um elemento nesta vista vamos a menu Edit >> Insert Child Aparecer uma janela que perguntar o que queremos inserir. Nesta janela encontram-se os trs tipos de elementos mencionados anteriormente: formas, transformaes e outros.

Fig. 1 Antes de clicar em Insert Child

Fig. 2 Janela que aparece depois de clicar em Insert Child do menu Edit.

==> Insira uma forma, por exemplo um Cubo: Seleccione o cubo de entre os slidos presentes
no separador Shape, dando um duplo clique sobre ele (o cubo). Aparecer uma nova janela em que ter de preencher todos os dados/caractersticas da sua forma, neste caso o cubo. Coloque o cubo no ponto de coordenadas 0,0,0 e d-lhe as dimenses de 20x5x10

Fig. 3 Caractersticas do cubo que estamos a inserir Alm da opo de dimensionar, que necessria para definir o objecto, existem outras opes, que so o Rendering e o Material, que apresentam valores pr-determinados bsicos, que fazem com que no seja necessrio alterar os seus valores de defeito, neste caso,

mas para efeitos de aprendizagem, melhor ver como funcionam, pois depois, no dia-a-dia iro ser, por vezes, certamente precisas. A janela/separador Rendering (Sombreado) permite alterar o Sombreado da pea, encontrando-se esta normalmente de acordo com o sombreado de todo o modelo. As opes so: Sombreado Suave (Smooth Shaded), Sombreado Plano (Flat Shaded) e

Alambrado/Fiado.
Tambm permite visualiz-lo apenas como uma figura no slida, e visualiz-lo sombreando a parte Dianteira (Front), a de Trs (Back), ou Ambas (Both).

Fig. 4 Janela de Rendering (Sombreamento) do elemento Quanto ao Material temos duas opes: - Definir um material s para este modelo, ou aplicar-se o ltimo material que se tenha definido. Para definir um material, mostramos uma janela que simula a cor e a forma da figura segundo especificaes dadas.

==> Voltando ao exemplo, defina um material para o cubo e seleccione sombreado suave no
menu de Rendering.

==> Clique no boto OK e imediatamente se criar um cubo que se pode ver na Vista 3D e
em que poderemos modificar as suas propriedades na Vista de rvore, dando um duplo clique no elemento.

Fig. 5 Janela de definio do Material que compe o elemento do robot que estamos a criar

Fig. 6 Cubo criado segundo as indicaes acima No RoboWorks toda a modelao deve ser referida em relao origem, de tal forma que se se cria, por exemplo, um cubo, deve-se especificar-se a distncia desde o seu centro origem, alm das medidas, para que o RoboWorks o possa modelar. No nosso caso, o cubo encontra-se no ponto 0,0,0, o que quer dizer que a face superior do cubo se encontra a 2,5 unidades da origem. Compreendido? Os passos a executar para criar qualquer das formas so iguais, o Roboworks perguntar que tipo de forma desejamos e as respectivas especificaes.

Agora vamos fazer uma esfera , mesmo sobre o cubo. Deve recordar, neste momento, que o centro do cubo est na origem. A partir do menu Editar (Edit),

Vista de rvore (Tree View), existem outras

funes tambm de inserir, e existem dois modos de inserir figuras. - No modo Inserir Filho (Insert Child), insira, se possvel, um elemento dentro de um grupo. Conseguiu ver onde ? - No modo Inserir Depois (Insert After), do menu Edit (Editar) inserir um elemento depois de um grupo. - Nas outras opes, encontra-se: . A de localizar um elemento na vista 3D (Localizar / Locate); . A de realar os elementos seleccionados (Highlight / Realar); . Modificar as propriedades (Properties / Propriedades) dos elementos e as funes clssicas de Cortar, Copiar e Colar (Cut, Copy e Paste). Alm das formas, podem-se inserir tambm grupos, nos quais se inserem elementos de uma mesma parte do conjunto e materiais que definem a cor das formas. Agora que j sabe inserir elementos, estudemos o exemplo seguinte:

Exemplo: Figura Humana

Fig. 7 Exemplo Forma Corpo Humano

Observe a configurao do boneco (propriedades direita, na figura): Por agora ignore as transformaes, uma vez que ainda no foram estudadas. Para comear, quando se define um material, todos os elementos que se sigam sero deste material, a menos que se defina um material novo. Passos na construo da figura humana: . Primeiro colocou-se um material azul escuro. . Depois depuseram-se as duas pernas, que na verdade so dois rectngulos. . As duas pernas so, por conseguinte, azul escuras. . Depois define-se um novo material, cauchu negro, e com ele criam-se os dois ps. . Com o material verde claro cria-se o corpo. . E para terminar, com a cor prola, criamos um cilindro como pescoo e uma cunha como cabea. . A cunha um polgono de seis faces em que duas das opostas no so paralelas. . Os braos so parte de uma animao. Por isso cada um um grupo conformado por vrias transformaes e um rectngulo inclinado.

3.2. A Janela em 3D
A janela 3D oferece opes diferentes no menu de edio (Edit), quando comparada com as da janela de rvore. Esta janela serve exclusivamente para ver a simulao que se projectou na vista de rvore. As opes do menu (quando a janela desta vista est activa) so: a. Background (Fundo) Permite modificar a cor do fundo; b. Auto Rotation (Auto Rotao) Pe o nosso modelo a girar de forma contnua; c. Grid (Grelha) Esta opo mostra uma grelha e, atravs dela, o sistema de referncia inicial. d. Coordinate Frames (Coordenao de Quadros) Permite visualizar todos os originais criados por meio de transformaes estticas. e. Antialias (Filtro Anti Serrilha) suficientemente boa. f. Interactive Mode (Modo Interactivo) Esta opo divide-se em vrias, que permitem modificar o ponto de vista do original. Essas opes so: Rotation (Rotao), Translation (Translaco), Zoom e Picking, que serve para modificar as propriedades dos elementos do modelo por meio de um duplo clique sobre o elemento simulado. til para visualizar os slidos com uma melhor definio/resoluo. No deve usar esta opo se o seu PC no tiver uma placa grfica

g. Rendering (Sombreamento) Permite modificar o sombreamento da forma em que se deseja que se encontre a apresentao do seu modelo. As trs opes so: Wire Frame (Quadro Fiado), Smooth Shaded (Sombreado Suave) e Flat Shaded (Sombreado Plano). h. Projection (Projeco) - Esta opo serve para visualizar o modelo em Perspective (Perspectiva) ou na forma Ortographic (Ortogonal). Em perspectiva pode ver como se as linhas se alongassem do horizonte. Em forma ortogonal v as medidas em tamanho real. i. View (Vista) Permite visualizar o modelo nas vistas comuns, (Por Cima) (Top), Por Baixo (Bottom), De Frente (Front), De Trs (Back), etc. E tambm permite ver o desenho na sua posio original (Reset). j. No Clear (No Limpar) Ao seleccionar esta opo, e mudar o ponto de vista, o ponto de vista anterior permanece e consegue ver-se assim as duas posies em simultneo.

4. As Transformaes
Existem, no Roboworks, dois tipos de transformaes: . Estticas . Dinmicas So elas que imprimem animao e movimento ao modelo.

4.1. As Transformaes Estticas


Este tipo de transformaes alteram o modelo ao mudar a posio do ponto de referncia dos elementos do desenho, ou seja, permite mover a origem, para tornar mais simples a modelao e facilitar a animao.

4.1.1. Inserir Uma Transformao Esttica


Para inserir uma transformao esttica devemos seleccionar, na janela de Vista em rvore, no menu Editar, e logo depois Inserir Depois, ou seja: Na janela Tree View >> Menu Edit >> Insert After Desta forma aparecem as nossas j conhecidas opes/separadores de inserir Formas (Shape), Transformaes (Transformation), ou Outras (Other).

Figura 8 Janela de Insero de Transformaes / Transformations em elementos do Robot. Observe cada opo: Para comear, trabalhe com as mais clssicas, Translaco (Translation) e Rotao (Rotation). A Translaco serve para deslocar o ponto de referncia uma distncia determinada, seja no eixo dos X, dos Y ou dos Z. Para deslocar a origem numa direco que contenha mais de um eixo, temos de deslocar num eixo e logo depois no outro. Execute uma translaco: ==> Primeiro (Vista em rvore) seleccione a opo Translaco (Translation) na janela Node Selector Selector de N (chega-se l via Menu Edit >> Insert After >> escolher separador Transformation >> duplo clique em Translation) e aparecer uma janela como a seguinte:

Fig. 9 Janela de Configurao de uma Translaco / Translation

Nesta janela o Roboworks pergunta em que eixo queremos deslocar e quanto. ==> Desloque 6 unidades no eixo X, preenchendo a janela como se mostra no desenho anterior. Por agora no necessitar da janela de controlo. Aqui chegados, qualquer objecto que se faa, depois da transformao, ficar deslocado 6 unidades no eixo dos X.

4.1.2. Exemplo 1, de Transformaes Estticas (Esfera / Cilindro / Paraleleppedo / Transformaes: Translaces e Rotaes)
Execute um exemplo no Roboworks:

==> Inicie um novo trabalho/ficheiro ==> Para comear simule na janela de Vista em rvore uma Esfera de 5 unidades de raio com
centro em 0,0,0 e de um material da cor bronze.

==> Active a Grelha (Grid) e dever ficar com uma figura assim.

Figura 10 Criao de Esfera

==> De seguida, agregue um novo material de cor verde e uma transformao de translaco
no eixo Y, de 8 unidades.

==> Depois insira um cilindro com orientao no eixo dos X, de 3 unidades de raio, com raio
constante e 10 unidades de largura, e situe esta figura no ponto 0,0,0. O resultado ser um cilindro deslocado de 8 unidades para cima!

Se no tivesse feito a transformao, teria obtido um cilindro no meio da esfera, mas graas a ela, o cilindro est acima da esfera. Isto simplifica enormemente o modelamento pois assim no preciso lembrar a posio de cada objecto com respeito origem, e permite definir uma posio com maior simplicidade.

Fig. 11a - Simulao com Transformao

Fig. 11b - Simulao sem Transformao

4.1.3 Rotao
Outra opo rodar o modelo. Assim torna-se possvel representar objectos inclinados, coisa que sem as transformaes no se poderia.

==> Pratique, colocando o modelo na posio que se mostra na figura seguinte:

Fig. 12 Rotao do Cilindro

Para seu auxlio na modelao, pode recorrer ferramenta Coordenar Quadros/Frames que permite visualizar as posies que o eixo de coordenadas adoptou na simulao.

4.1.4. Iniciar Transformao e Parar Transformao


(Start Transformation e Stop Transformation) As opes Iniciar Transformao e Parar Transformao permitem inserir vrias transformaes a partir do mesmo ponto fixo (coordenadas). Isto quer dizer que, se precisarmos de colocar primeiro o cilindro inclinado acima e logo depois um cubo ao lado, no necessrio mover a origem para cima (por causa do cilindro), e voltar logo depois abaixo para lev-lo para o lado (ao cubo). Simplesmente diz-se-lhe que ao mover a origem para cima comea uma transformao (colocando o Iniciar antes da transformao) e que pare a transformao ao finalizar a criao do cilindro. Com isto a origem volta ao seu lugar anterior s transformaes dentro do Iniciar Terminar, a partir do qual pode criar novas transformaes que levem o ponto de referncia (o inicial) ao lugar desejado. O que vamos ver a seguir um exemplo desta situao:

Fig. 13 Bloco Iniciar Transformao e Terminar Transformao

==> Coloque um Iniciar Transformao / Transformation Start (Vista em rvore: Edit >>
Insert After >> Transformation>> Transformation Start) antes de mover o cilindro para cima e de rod-lo no eixo dos Z.

==> Depois da criao do cilindro, neste ponto insere-se uma Paragem de Transformao /
Transformation Stop, atravs do qual o sistema de coordenadas regressa ao ponto em que estava antes de ser rodado e trasladado, no nosso caso origem.

==> A partir da pode inserir uma nova transformao que lhe permita colocar o cubo azul a
10 unidades da origem segundo o eixo dos X.

4.1.5. Escalonamento
Para terminar, o ltimo tipo de Transformao que o Roboworks lhe permite fazer a de Escalonamento / Scaling, que serve para escalar figuras. Isso til para deformar os modelos numa determinada direco. Assim, se se deseja uma esfera achatada segundo o eixos dos Y apenas devemos escalonar nesse eixo, deixando os outros eixos sem alteraes, de modo a obter uma figura como a seguinte, em que escalei a esfera segundo o eixo dos Y em 1.2, isto , o valor segundo Y foi multiplicado por 1.2, pelo que a esfera cresceu/achatou em altura (eixo Y):

Fig. 14 Escalonamento (Distoro num Eixo) Agora que j compreendemos as transformaes estticas, vamos continuar, com as transformaes dinmicas. O meu ficheiro com este exemplo, est aqui: http://www.profelectro.info/Uploads/luisj/Ex1_esfera_Testaticas.scn pode fazer o download e corr-lo no seu PC.

4.2. Transformaes Dinmicas


So estas que permitem a animao dos nossos modelos. Este tipo de transformao no tem um valor especfico/fixo, como tinham as anteriores. Nelas, a magnitude da transformao uma varivel, cujo valor depende das indicaes dadas. Como o valor da transformao varivel, ficamos assim com a possibilidade de mudar, dinamicamente (animao contnua e no por salto esttico), a posio dos objectos que dependam desta transformao (varivel). Isto permite conseguir e controlar a animao dos modelos, seja por: - Meio de outro programa, - Atravs do teclado, - Ou de um ficheiro de dados criado pelo utilizador. As transformaes dinmicas so as mesmas que as estticas, com a nica diferena que o seu valor varivel. Assim, por meio destas transformaes podemos rodar, trasladar e escalar um modelo, de forma dinmica, ao longo do tempo (animao). As opes Iniciar Transformao e Parar Transformao podem ser usadas dinamicamente, e da mesma forma que se passa com as estticas, permitem regressar a

um ponto de referncia, que tem de ser dado antes de termos criado novas transformaes.
Isto permite animar duas partes do modelo de forma independente:

4.2.1. Exemplo de Transformao Dinmica Animao


Faa um Exemplo: - Simule um brao mecnico capaz de: . Rodar sobre si mesmo; . Trasladar-se no eixo dos X . Rodar o seu brao, pelo seu ombro.

==> Faa uma modelao do brao como melhor prefira mas, preferencialmente, do gnero
do que mostramos na figura abaixo.

==> Lembre-se de colocar uma plataforma (no eixo dos X, a castanho na figura) atravs da
qual ele se possa deslocar e um eixo que simule a articulao do brao, o qual se encontra no ombro (cilindro a amarelo). Neste exemplo, para facilitar as coisas, utilizaremos o modelo que se mostra a seguir.

Fig. 15 Brao robtico simples para demonstrao de animao Este um modelo simples que permite mostrar como conseguir a animao, mas voc, que j est em condies de realizar qualquer modelao, pode imaginar e modelar um robot diferente deste. Lembre-se de que todas as transformaes dependem das transformaes feitas anteriormente, de tal forma que se quer rodar o brao do robot sobre o eixo do cilindro (ombro amarelo), primeiro ter que mover o eixo de coordenadas (neste caso o Y) para que coincida com o eixo do cilindro. Depois acrescente-lhe as transformaes

dinmicas. Estas devem ser feitas antes de todos os objectos que deseje mover.

--> Assim, se quer trasladar o Brao sem movimentar a plataforma, deve colocar a transformao dinmica correspondente (Movimento em X) entre a modelao da plataforma e a modelao do cilindro azul (Base). Ento: Na vista de rvore do modelo pode-se ver, entre a plataforma e a base, a transformao que permite o movimento no eixo dos X, esta uma transformao de translaco no eixo dos X, qual, nas suas propriedades se especifica que dinmica e os seus limites, para que no se saia da plataforma. ........ consegui com ..............

Plataforma Forma - : Separador Dimensions: Location: 0,0,0 Width (X): 400 Height (Y): 5 Depth (Z): 10 Movimento at cimo da plataforma (em Y) Translaco Esttica - : Axis: Y Initial Value: 2.5 Movimento no Eixo dos X Translaco Dinmica - : Separador Name: Axis: X Initial Value: 0 Separador Control: Key Selector: A Increment: 1 Limits Minimum Value: -200; Maximum Value: 200 Base (Cilindro Azul) Forma -: Separador Dimensions: Axis: X

Location: 0, 7.5, 0 Top Radius: 3; Bottom Radius: 3; Height: 15 Tampa da Base Forma - : Separador Dimensions: Axis: Y Location: 0, 15, 0 Radius: 3 Movimento at Eixo do Cilindro/Ombro Translaco Esttica - : Axis: Y Initial Value: 16.5 Current value: 16.5 Cilindro/Ombro Forma -: Separador Dimensions: Axis: X Location: 0, 0, 0 Top Radius: 1.5; Bottom Radius: 1.5; Height: 6 Tampa Esq. do Ombro Forma - : Separador Dimensions: Axis: X Location: -3, 0, 0 Radius: 1.5 Tampa Esq. do Ombro Forma - : Separador Dimensions: Axis: X Location: 3, 0, 0 Radius: 1.5 Brao Forma - : Location: 0, 6.5, 0 Width (X): 6 Height (Y): 10 Depth (Z): 1.5 ............................................

Fig. 16 Vista em rvore Para modificar as propriedades da transformao, que lhe foram dadas na sua criao, entre na sua janela/separador de Controlo / Control (ver figura abaixo), ou faa duplo clique nela e modifique-lhe as propriedades. A janela que aparecer ser como esta:

Fig. 17 Janela de Propriedades da Transformao Translaco Movimento no Eixo dos X, separador Control

Como agora est a criar a transformao:

==> Vista de rvore >> menu Edit >> Insert After


Nesta janela pode seleccionar o tipo de transformao. A transformao esttica aparece seleccionada por defeito.

==> Seleccione a dinmica, no separador Control.


Neste momento o Roboworks permite seleccionar se deseja incluir uma Chave Selectora / Key Selector e um Nome de Tag / Tag Name. Estas opes dependem do tipo de animao que estejamos a fazer, e explic-las-emos mais tarde.

==> Para j, pode colocar os valores que v na figura acima, ou outros, de acordo com o seu
trabalho. Tambm permite seleccionar os Limites / Limits para o movimento do modelo, e se se desejar, que ele Alerte / Warnings quando se passam estes limites, s marcar a respectiva caixa de verificao. Continuando...

==> Coloque uma transformao dinmica de rotao entre a plataforma e a base;


.............. Consegui com.................... Rotao da Base sobre si prpria Rotao - : separador Name: Axis: Y Initial Value: 0 separador Control: Key Selectro: B Increment: 1 Limits: Minimum Value: 0; Maximum Value: 360 ...................................................................................

==> Coloque outra entre a base e o cilindro (ombro amarelo), eixo de rotao do brao.
.............. Consegui com Rotao da Base sobre si prpria Rotao - : separador Name: Axis: X Initial Value: 0 separador Control: Key Selectro: C Increment: 1 Limits: Minimum Value: -90; Maximum Value: 90 ................................................................................... E assim, finalmente, estamos prontos para comear a Animar ;-)

5. A Animao
Como j mencionmos, existem trs tipos de animao: Por Teclado; Atravs de um Ficheiro de Dados, ou por meio de Outro Programa. Vamos comear pela mais simples:

5.1. Animao por Teclado


Para criar qualquer animao devemos modificar as propriedades das transformaes dinmicas, que so aquelas que permitem simular qualquer tipo de movimento. Prossigamos com o exemplo anterior. Se ainda no o fez, no caso da Translaco Movimento no Eixo dos X, d-lhe duplo clique, na Vista em rvore:

==> Na janela de Controlo / Control seleccione a opo Chave Selectora / Key Selector e
nas opes que ele apresenta, escolha qualquer letra do teclado, em maiscula (ns escolhemos o A. Abaixo, especifique a magnitude do incremento (ns escolhemos 1) que deseja dar-lhe e clique em OK. Com isto j se pode animar por meio do teclado, bastando apenas pressionar a letra escolhida, na Vista 3D. O Robot deve deslocar-se sobre a plataforma (castanha), para a direita e para a esquerda (quando premimos simultaneamente a tecla Shift).

Experimente!
Conseguiu?

Fig.18. Janela de Propriedades da Transformao Translaco Movimento no Eixo dos X, separador Control

Depois de inserir todas as Transformaes (Uma Translaco e Duas Rotaes), faa a tentativa, com o exemplo anterior, defina as suas transformaes dinmicas com uma letra e depois de seleccionar a vista em 3D, pressione essaa letra. Para voltar atrs (contrrio/desfazer) clique na tecla Shift ao mesmo tempo que carregar na letra.

O meu ficheiro com este exemplo, est aqui: http://www.profelectro.info/Uploads/luisj/Ex2_Robot_Tdinamicas.scn pode fazer o download e corr-lo no seu PC.

O seu modelo deve estar a movimentar-se! Se as rotaes no esto a ser no eixo correcto, relembre-se que deve definir um eixo de rotao atravs de uma transformao esttica, antes de colocar a rotao dinmica, seno o modelo girar em relao origem.

Fig. 19 4 posies possveis do robot, depois de o trasladar sobre a plataforma e/ou rodar sobre o seu eixo (cilindro azul que forma a base), e/ou sobre o eixo do ombro (cilindro amarelo). Agora j podemos passar ao tipo de animao atravs de um ficheiro de dados.

5.2. Animao Por Meio de Um Ficheiro de Dados


Neste tipo de animao deve-se gerar uma

trajectria de cada uma das transformaes

que tenham sido criadas, fazendo uma lista com os pontos por que passa, referenciados origem. Isto quer dizer que se quiser que o brao se mova 30 graus, deve fazer uma lista que contenha pontos desde 0 at 30, em n passos. Na figura abaixo pode-se ver um exemplo de lista de trajectria possvel. Para poder us-la deve guardar o ficheiro como sendo do tipo .dat. Deve incluir na lista os pontos por onde passam todas as transformaes simultaneamente, ainda que permanea sem movimento por um momento, deve repetir o ponto onde parou, pelo tempo necessrio.

Fig 20. Ficheiro .dat de exemplo, criado no Bloco de Notas

O meu ficheiro .dat para este exemplo, est aqui: http://www.profelectro.info/Uploads/luisj/braco.dat pode fazer o download e corr-lo no seu PC.

Agora, para podermos criar a animao, deve-se configurar a transformao dinmica de tal forma que o Roboworks consiga ler o ficheiro .dat, usando-se para isso o campo Tag Name,

como mostra na figura abaixo, colocando-se l o nome da coluna do ficheiro, que deve tambm ser (mas no obrigatrio) o nome da Transformao, seja ela a Translaco ou qualquer das Rotaes. O que mostramos abaixo para a Translaco, deve tambm ser feito para as duas rotaes.

Fig. 21 Preenchimento do Tag Name = nome da coluna do ficheiro .dat Devemos dar um Nome de Tag para identificar a coluna de dados que contm as mudanas de posio desta transformao. O incio de uma lista de trajectria deve-se identificar com o Nome de Tag a coluna correspondente trajectria que crimos. Estes Nomes de Tag devem coincidir com os que colocmos em cada transformao. Agora j possvel explorar o menu de animao. Clique nele para ver as opes que se lhe apresentam:

Fig. 22 Opes do Menu Animation (de Animao) A primeira opo animao a partir de um ficheiro. esta que se vai usar para dizer ao Roboworks qual o ficheiro .dat no qual guardmos o nosso percurso. Ao seleccionar esta opo aparece uma janela que pergunta onde est o ficheiro que tem a animao. Seleccione-o e aparecer uma janela de animao (ver a figura seguinte), onde se pode pr a correr o percurso (conjunto de movimentos) que tnhamos planeado.

Fig.23 Janela de onde possvel comandar a animao, que tem origem no ficheiro .dat Experimente! Se a animao ficar muito rpida, v aumentando o valor do campo Time Delay (ms). Continuando com a explicao do significado das vrias opes no menu Animation, alm do From File, que usmos, temos:

. A segunda opo, Do IPC / From IPC deve ser seleccionada se queremos que a animao seja comandada por outro programa/software. Por enquanto no a seleccione. . Limpar Tudo / Reset All permite fazer regressar a animao ao seu incio, aquele ponto em que ainda no houve qualquer movimento do modelo. . Monitor apresenta uma janela com a posio actualizada em todos os momentos das transformaes.

Fig.24 menu Animation >> Monitor . Tornar Defeito / Make Default permite mudar o ponto inicial da animao, permitindo mover um modelo at ao lugar mais conveniente para ns na altura. E... bem, j no preciso saber mais nada para podermos criar uma animao a partir de um ficheiro. Apenas devemos criar um ficheiro .dat, modificar as propriedades das transformaes dinmicas, e seleccionar o ficheiro que tem a animao, a partir do menu de animao, em Do Ficheiro / From File, como vimos. Agora j podemos dedicar-nos a criara a animao a partir de um outro software, quer seja o C++, Visual Basic, LabView, ou outro.

5.3. Animao Atravs de Outro Programa/Software


Esta opo o maior feito do Roboworks. Os seus programadores chamam-lhe RoboTalk, e consiste numa srie de livrarias que nos permitem programar o modelo a partir de outros programas, as trajectrias pelas quais se ir movimentar o nosso modelo em 3D. Graas ao RoboTalk pode-se programar uma trajectria para uma mquina, num software de programao e ver no Roboworks como vai ele reagir perante os comandos que lhe dermos. Isto muito til pois permite realizar a programao do movimento de uma mquina sem a necessidade de a mover do seu lugar, reduzindo-se assim as possibilidades de colises por falhas de programao. As etiquetas dadas s transformaes do nosso Robot permitem controlar, a partir de um programa, o movimento resultante, no Roboworks. O RoboTalk est instalado, como um .dll, e juntamente com ele encontram-se os ficheiros para a programao em Windows atravs do C++ ou do Visual Basic. Tambm se disponibilizam os ficheiros .vi para a programao usando o LabView. Se queremos utilizar o programa numa plataforma diferente do Windows, o RoboTalk fornece o cdigo para que se programem as funes noutra plataforma que no entenda os ficheiros .dll. O Roboworks tambm permite, atravs do TCP/IP, controlar a simulao da trajectria, a partir de programas correndo em computadores separados e ligados pela Internet. Para correr a simulao devemos activar a opo Do IPC / From IPC, a partir do menu de animao, e depois correr o programa j compilado. A simulao dar-se- no Roboworks.

Fig.25 Activar a opo From IPC o primeiro passo para correr programa de outro software

A seguir poderemos ver a descrio dos cdigos para os comandos principais do

RoboTalk:
CONNECT int Connect(char* filename, char* ipAddress); Esta funo estabelece uma ligao entre o programa controlador e o Roboworks. Para que esta ligao funcione, devemos ter a simulao aberta e a opo Do IPC activada. DISCONNECT int Disconnect(); Esta funo desliga o programa do Roboworks, e deve ser chamada antes de terminarmos o programa. GET TAG VALUES int GetTagValues(char** tagNames , float* tagValues , unsigned int noTags ); Esta funo chama os valores das etiquetas definidas nas transformaes SET TAG VALUES int SetTagValues(char** tagNames , float* tagValues , unsigned int noTags ); Esta funo envia as etiquetas ao Roboworks, com os valores que lhe correspondem, para poder animar o modelo no Roboworks.

6. EXERCCIOS PRTICOS
6.1. ESFERAS PLANETRIAS

Fig. 26 Esferas Planetrias

Enunciado
Faa o exerccio seguinte, de tal forma que as esferas de cores girem em torno do poste verde, a diferentes velocidades e em sentidos contrrios, pressionando apenas a tecla Q do teclado.

Fig.27 Grupos Criados (Estrutura) Comece pela modelao. Para simplificar as coisas faa um grupo por cada elemento do modelo, e em cada grupo defina um material. Como se pode ver na janela/figura acima, h 5 grupos diferentes de slidos, onde se agrupam as partes principais da modelao. Para que as transformaes que afectam cada slido no afectem os outros, em cada grupo de elementos definem-se um incio de transformao e um final de transformao. Para realizar o eixo precisar, inicialmente, de 2 cones com cinco unidades de raio e 10 de altura, com um deles invertido. Para poder faz-lo dever inverter o sistema de coordenadas, rodando-o de 180 graus no eixo dos X ou dos Z. Desta forma se consegue fazer o entalhe do centro do eixo. Por cima de cada cone faz-se um cilindro com cinco unidades de raio e cinco unidades de altura e, no final, outro cone de cinco unidades de raio e cinco unidades de altura.

Fig. 28 Fase da criao do pivot

Fig. 29 Fase da criao do pivot J fizemos o eixo, agora s preciso fazer as esferas e as animaes. Ao sair do grupo do eixo, voltar a ter as coordenadas como no incio do programa, e graas a isso no precisar rodar os 180 graus no eixo dos X. Cada esfera girar em torno do eixo, pelo que deve deix-la referenciada a esse eixo.

==> Insira a esfera amarela: uma esfera de 5 unidades de raio, na posio 20 em X, 0 em Y,


e 0 em Z, em relao origem.

Fig. 30 Acabada de inserir a forma Esfera Amarela No desloque a esfera por meio de uma transformao esttica, para manter a referncia da origem, de tal forma que a esfera gire em redor dela (origem). Para definir a animao, precisar de uma rotao em torno do eixo dos Y, ao pressionar a letra Q, e com um incremento de 10 graus por segundo.

Fig. 31 Definio da animao da esfera amarela J pode provar como roda a esfera ao redor do eixo, ao pressionar a tecla da letra Q (tem de estar na janela 3D, no se esquea).

==> Execute o mesmo processo para as outras esferas, mudando as posies e o incremento
angular de rotao, segundo a tabela seguinte: Tabela 1 Posio X, Y, Z 20, 0, 0 0, 0, 50 -30, 0, 0 0, 0, -60

Cor da Esfera Amarela Vermelha Bronze Azul

Incremento Angular da Rotao 10 -6 -2 5

Todas as transformaes devem mover-se atravs da letra Q. Agora j podemos experimentar a sua animao das esferas planetrias.

Fig.32 Exemplo de posio das esferas j depois de terem rodado, por presso na tecla Q E tambm j deve saber responder a esta pergunta: Que aconteceria se no pusssemos um incio de transformao e um final de transformao em cada esfera?

O meu ficheiro com este exemplo, est aqui: http://www.profelectro.info/Uploads/luisj/ExemploPratico1_EsferasPlanetarias.scn pode fazer o download e corr-lo no seu PC.

6.2. CARRINHO

Fig. 32 Carrinho que vamos construir Para praticar a modelao de elementos complexos vamos modelar o carrinho que pode observar na figura acima. ==> Comece pelo principal, a cabina. ==> Primeiro defina o material, a cor do modelo o vermelho brilhante, mas pode dar a cor sua preferida. ==> Faa depois a cavidade dos bancos. A seguir pode ver a sequncia de criao do modelo e logo depois encontrar uma tabela com as posies e medidas de cada elemento. recomendvel que o faa com as suas prprias medidas e que construa um carro com o seu prprio estilo.

Fig 33 Vrias fases de construo: Chassis, Portas, Painis, Cavidades para Pneus. Na sequncia, poder ver como fazer os discos anelares e os cilindros. As outras figuras so rectngulos, e todas as medidas se encontram numa tabela da pgina seguinte. Os discos anelares fazem-se assim: ==> Defina o dimetro interior e o exterior, e posicione depois o disco no mesmo lado da porta. Para que seja apenas meia-circunferncia, defina o ngulo final como 180.

Fig. 34 Parmetros dos Discos Anelares / Cavidades para Pneus / Aros Os cilindros funcionam de igual forma: ==> Deve dar-se um ngulo inicial e um ngulo final, sendo que assim no se desenhar o cilindro completo, como queremos.

Fig. 35 Parmetos dos Cilindros / Curvas dianteiras e traseiras dos respectivos painis. Se tiver problemas com alguma cor dos discos anelares, verifique na propriedade de rendering do objecto, se a face sombreada a correcta.

Elementos Cbicos Do Modelo


Edit >> Insert After >> Cube >> separador Dimensions Tabela 2 Dimenso Height - Y 2 20 20 20 20 10 10

Nome Parte de Baixo (Chassis) Porta Direita Porta Esquerda Painel Frontal Painel de Trs Dianteira Traseira

Width - X 30 30 30 2 2 15 15

Depth - Z 50 2 2 50 50 52 52

Posio / Location X Y Z 0 1 0 0 10 25 0 10 -25 -15 10 0 15 10 0 22.5 15 0 -22.5 15 0

Discos Anelares / Annular Discs


Edit >> Insert After >> Annular Disc >> separador Dimensions

Tabela 3 Dimenso Nome Aro 1 Aro 2 Aro 3 Aro 4


Eixo / Axis Raio Ext. / Outer Radius Raio Int. / Inner Radius ngulo Inicial / Start Angle ngulo Final / Stop Angle X

Posio
Y Z

Z Z Z Z

20 20 20 20

10 10 10 10

0 0 0 0

180 180 180 180

30 -30 30 -30

0 0 0 0

26 26 -26 -26

Curvas / Cilindros
Edit >> Insert After >> Cylinder >> separador Dimensions Tabela 4 Dimenso Nome
Raios (topo e fundo) / Top Radius e Bottom Radius (valor igual) ngulo Inicial / Start Angle ngulo Final / Stop Angle Profundida de / Height

Posio

Eixo

Dianteiro Traseiro

Z Z

20 20

0 90

90 180

52 52

30 -30

0 0

0 0

Bem! Agora terminar o carrinho. Abaixo poder ver as imagens da criao do resto do carro.

Fig.36 Construo das Rodas Os aros fazem-se inserindo cilindros de borracha negra (black rubber), cada um com um par de discos a servir de tampas.

Aros das Rodas (Cilindros)


Edit >> Insert After >> Annular Disk >> separador Dimensions

Nome Aro das Rodas 1 Aro das Rodas 2 Aro das Rodas 3 Aro das Rodas 4

Eixo / Axis Z Z Z Z

Tabela 5 Dimenso Raios (Top e Bottom) 8 8 8 8

Posio Longitude / Height 10 10 10 10 X 30 -30 30 -30 Y 0 0 0 0 Z 20 20 -20 -20

Tampas dos Aros das Rodas


Edit >> Insert After >> Disk >> separador Dimensions Tabela 6 Dimenso Eixo Raio Z 8 Z 8 Z 8 Z 8 Z 8 Z 8 Z 8 Z 8

Nome Tampa Aro 1 ext. Tampa Aro 1 int. Tampa Aro 2 ext. Tampa Aro 2 int. Tampa Aro 3 ext. Tampa Aro 3 int. Tampa Aro 4 ext. Tampa Aro 4 int.

X 30 30 -30 -30 30 30 -30 -30

Posio Y 0 0 0 0 0 0 0 0

Z 25 15 25 15 -25 -15 -25 -15

Vire o carrinho do avesso para ver se est tudo bem.

Fig. 37 Carrinho do avesso para ver se est tudo OK E agora, o vidro. Este formado por uma cunha / wedge. Para o construir necessrio especificar - uma direco de extruso; - uma altura; - as longitudes do lado de baixo e do lado de cima; - a distncia de desvio entre estas duas linhas, de tal forma que se obtenha uma figura assim:

Fig. 38 Cunha / Wedge tipo de figura para criao do vidro

Fig.39 Vidro e pormenor do vidro Inclinao / Top Ofset / Diferena entre a posio Z da base inferior do vidro e o seu topo. Pode ver que esta a figura que devemos fazer, uma Cunha / Wedge em que as longitudes superiores e inferiores so iguais e pequenas, com um desvio para a direita.

Fig.40 Valores das Propriedades do Vidro Continuando as especificaes:

Vidro
Edit >> Insert After >> Wedge >> separador Dimensions

Nome

Eixo

Altura / Height 15

Vidro

Tabela 7 Dimenso Diferena Largura Largura entre LI e inferior superior LF / Profundidade / / Top Inclinao / Depth Bottom Width / Top Width Ofset 2 2 5 50

Posio

-15

27.5

J s faltam as

luzes.

Estas consistem em 2 cilindros com o seu respectivo disco de cor

amarela. A seguir, as suas especificaes:

Luzes (Cilindros)
Tabela 8 Nome Luz 1 Luz 2 Eixo X X Dimenso Raio Profundidade 4 5 4 5 X -47.5 -47.5 Posio Y 7 7 Z 15 -15

Luzes (Discos)
Tabela 9 Nome Tampa da Luz 1 Tampa da Luz 2 Eixo X X Dimenso Raio 4 4 X -50 -50 Posio Y 7 7 Z 15 -15

Fig. 41 Carro completo E assim terminmos o carro. como exerccio, junte-lhe os bancos e os espelhos. E, j agora, ponha o carrinho a andar...

O meu ficheiro com este exemplo, est aqui: http://www.profelectro.info/Uploads/luisj/ExemploPratico2_Carrinho.scn pode fazer o download e corr-lo no seu PC.

6.3. ROBOT COM 5 GRAUS DE LIBERDADE

Fig. 42 Robot 5GL Pode ver acima um robot com 5 graus de liberdade que se movimenta sobre um carril para pegar em peas que podem estar em cima de cada uma das mesas vermelhas. O objectivo deste exerccio simular o movimento do robot, a partir de um ficheiro .dat ==> Para isso dever construir um robot com: - Deslocamento no eixo dos Z, atravs de um carril; - Rotao no eixo dos Y na base; - Trs juntas rotativas que unem os dois braos que formam o robot; - Rotao no pulso; - Punho semelhante a uma pina, com movimento independente de cada uma delas. J tem conhecimentos suficientes para modelar o robot, pelo que nos concentraremos apenas na animao.

Fig.43 Estrutura (Vista de rvore) Geral Os elementos sem animao so bastante simples, as mesas, o piso do carril consistem em cubos adequados ao tamanho do robot. Nota: abaixo falarei em pinas, mesmo sabendo que s uma, para no estar sempre a escrever pinos ou pernos que constituem as pinas; para efeitos de abreviao, portanto.

Fig. 44 Como ficou o meu ao fim de 3 horas de trabalho. Nice! O robot o elemento mais importante, j que contm toda a animao. Para tornar independente o movimento do robot de todos os outros elementos modelados, coloque um Incio de Transformao (chamai-lhe Incio do Robot) ao comear a modelar o robot, e termine a modelao deste com um Fim de Transformao (chamei-lhe Fim do Robot).

Fig. 45 Vejam o Incio de Transformao Incio de Robot e o Fim de Transformao Fim de Robot, ambas filhas do Grupo Robot. Assim o robot mexe-se de forma coesa, inteiro, sem ficarem peas esquecidas num movimento/transformao qualquer. A seguir coloque uma transformao dinmica de deslocamento no eixo dos Y (eu chamei-lhe Rotao Principal), o que permite que todo o robot se movimente pelo eixo dos Y quando o arquivo .dat o especificar.

Fig. 46 Transformao Dinmica no eixo dos Y Permite que Robot ande ao longo do carril. Antes do Rotacionador, que o cilindro vertical que se segue base, coloque a Rotao dinmica no eixo dos Y (chamei-lhe Rotao Principal e a rotao que est dentro do grupo Base, ainda antes do grupo Rotacionador portanto), e a terminar a modelao do Rotacionador (grupo),

mova o ponto de referncia at posio que vai ocupar o primeiro eixo de rotao (Eixo 1).
Agora poder pr a rodar o Eixo 1, mas antes deve colocar uma rotao dinmica (Rotao Eixo 1) no eixo dos Z, de tal forma que se possa rodar o Brao 1 sobre o eixo que se acabou de modelar.

Depois de modelar o Brao 1, volte a deslocar o eixo de coordenadas at ao Eixo 2 e coloque uma Rotao dinmica antes do Eixo 2 (Rotao Eixo 2), de tal forma que o Brao 2 gire em torno do eixo 2, e no em torno do eixo 1. Faa a mesma operao para o eixo 3, traslade o eixo de coordenadas at localizao do eixo 3 e coloque uma Rotao dinmica para que gire em redor do eixo dos Z. Agora, Base das Pinas, a possibilidade de rodar em torno de si mesmo, criando, antes dela, uma Rotao dinmica no eixo Y (Rotao da Base das Pinas) e outra em torno do eixo Z (Rotao da Base das Pinas 2).

Fig. 47 Vista em rvore Final, ainda sem a construo das pinas mveis (esto ainda fixas) como abaixo se sugere.

Fig.48 Vista em rvore da parte das pinas, abaixo explicado Para construir as pinas, primeiro deve colocar em cada um dos lados que compem as pinas, um Incio e um Fim de Transformao (Incio de Pina 1 e Fim de Pina 1, para o caso da primeira. Para a outra igual). Isto faz-se para que, ainda que a sua posio dependa do resto do robot, a sua posio no dependa do outro lado da pina, e assim facilitar as coisas. Podemos dar-lhe o mesmo Nome de Tag, e a um deles um incremento negativo, desta forma sincronizando-os para que fechem e abram em simultneo, com um s comando.

Fig.49 Translaco da Pina 1 (permite o movimento de aperto e desaperto das pinas, para pegar e largar a pea). A da pina 2 tem os valores similares, com as adaptaes referidas no texto

Depois gere o arquivo .dat. A seguir apresentamos o princpio da animao. Relembre que os parmetros (nomes das colunas) desta modelao provavelmente no so iguais aos da sua modelao, pelo que deve gerar a sua prpria animao baseando-se nestes dados, mas no os copie pois no serviro para grande coisa. Nota: Os ttulos das colunas so os respectivos Nomes de Tag / Tag Name, campo do separador Control da janela de configurao da correspondente Transformao (Translaco o Rotao, no nosso caso), conforme explicado atrs neste mesmo tutorial.

Base -5 -10 -15 -20 -25 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30

Rotacionador 0 0 0 0 0 0 0 0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 90 90 90 90 90 90 90 90

Eixo1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -10 -15 -20 -25 -30 -35 -40 -40

Eixo2 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -50

Eixo3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

MovPinca1 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5

MovPinca2 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5

-30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90

-40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40

-50 -50 -50 -50 -50 -49 -48 -47 -46 -45 -44 -43 -42 -41 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 10 15 20 25 30 35 40 40 40 40 40 40 40 40 40 40

1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.3 1.1 0.9 0.7 0.5 0.3 0.1 0 -0.1

-1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.3 -1.1 -0.9 -0.7 -0.5 -0.3 -0.1 -0 0.1

Os meus ficheiros com este exemplo (tenho 2 verses), esto aqui: http://www.profelectro.info/Uploads/luisj/ExemploPratico3_Robot_5GL.scn http://www.profelectro.info/Uploads/luisj/ExemploPratico3_Robot_5GL_FromFile.scn + o ficheiro .dat http://www.profelectro.info/Uploads/luisj/ExemploPratico3_robot5GL.dat pode fazer o download e corr-lo no seu PC.

Os movimentos do robot, provocados por estes dados/ficheiro, encontram-se documentados neste filme/screencast: http://youtu.be/gNtacXbGrpY Apenas esto realizados os movimentos correspondentes ao deslocamento do robot para ir pegar numa pea (fictcia). Pode completar o modelo/exemplo com os movimentos subsequentes, sua discrio.

Screencasts complementares a estas folhas: 1. Criar Formas e Transformaes Estticas http://www.profelectro.info/?p=4684 http://www.profelectro.info/Uploads/luisj/RoboWorks1.html http://youtu.be/B-L6-plutFI 2. Transformaes Dinmicas / Animaes (a publicar brevemente) 3. Animaes a partir do teclado; de ficheiro (de texto) .dat; de programao (a publicar brevemente) 4. Exemplo Prtico 1 Esferas Dinmicas (a publicar brevemente) 5. Exemplo Prtico 2 - Carrinho (a publicar brevemente) 6. Exemplo Prtico 3 Brao Robtico com 5 Graus de Liberdade (a publicar brevemente) ---> Estejam atentos ao blog: www.profelectro.info <---

You might also like