Vous êtes sur la page 1sur 41

Iniciao Cientfica

Programao de Rob Bpede na plataforma LEGO Mindstorms


utilizando tcnicas inteligentes de programao

Aluno: Rodrigo Santos Vieira

Matrcula: 0821219

Orientadora: Ps-doutora Professora Karla Tereza Figueiredo Leite

2012.1
Rob Bpede na plataforma Lego

Rodrigo Santos Vieira

Sumrio

Introduo ....................................................................................................................................... 3
Objetivos ......................................................................................................................................... 4
Metodologia .................................................................................................................................... 4
1.

Estudo do Corpo Humano em repouso .................................................................................... 5

2.

Estudo dos membros inferiores em movimento ....................................................................... 9

3.

Estudo das Especificaes Tcnicas das peas disponveis para a montagem do Rob e

Especificaes de software ................................................................................................................11


6.

Definio do modelo do rob e de seus movimentos ..............................................................17

7.

Construindo o rob ................................................................................................................20

8.

Simulador de movimento para implementao da programao das tcnicas inteligentes ........27

9.

Primeiro teste Verificando se a montagem do rob vlida .................................................38

10.

Propostas futuras ...................................................................................................................40

11.

Bibliografia ...........................................................................................................................41

Rob Bpede na plataforma Lego

pgina 2

Introduo

crescente a utilizao de robs no resgate de feridos em acidentes, mas a


tecnologia tem potencial para ampliar esse uso. Alm de maior preciso, podendo chegar mais
rapidamente aos feridos, os robs podem evitar riscos para os bombeiros e pessoal de resgate.
por isto que engenheiros do mundo todo procuram desenvolver robs de resgate cada vez
mais precisos e com maior autonomia. Alm dos desastres naturais, principalmente os
terremotos, que vitimam milhares de pessoas anualmente, um grande nmero de trabalhadores
da construo civil e de minas vtima de acidentes que resultam em soterramentos. Nem
sempre os locais onde esto as vtimas so acessveis aos bombeiros, e um rob que possa
levar gua, alimentos e oxignio, pode fazer a diferena entre a vida e a morte do acidentado,
que poder ser atendido antes que o pessoal de resgate chegue at ele. Tambm so
importantes os robs utilizados em inspees tcnicas em locais de difcil acesso ou
insalubres. A maioria dos estudos tericos e prticos sobre robs mveis est relacionada a
robs que se deslocam atravs do uso de rodas, o que facilita bastante o controle, mas
dificulta a sua capacidade de deslocarem em ambientes irregulares, nos quais podem ser
encontrados desnveis e/ou degraus. Dessa forma, para que um rob mvel possa se deslocar
livremente em ambientes irregulares, ele deveria ser dotado do mesmo mecanismo de
locomoo utilizado pelos seres humanos ou animais. Assim, como a maioria dos seres vivos
ele precisaria de pernas (BEKEY, 2005). A execuo deste projeto contribuir com o avano
do conhecimento e para o desenvolvimento de mquinas mais inteligentes com o objetivo de
substituir o Homem em atividades que possam causar o prejuzo sade ou mesmo prpria
vida deste. Dessa forma, a motivao deste projeto desenvolver pesquisa na rea de robtica
atravs de modelos de robs com capacidade de navegao para atingir metas especficas, tais
como encontrar pessoas feridas em desastres e realizar inspees.

Rob Bpede na plataforma Lego

pgina 3

Objetivos

O trabalho proposto, a ser desenvolvido em parceria com outro aluno, tem por
objetivos desenvolver o conhecimento sobre: a tecnologia de sensores para geolocalizao e
monitoramento do deslocamento (acelermetros, giroscpios, etc) para navegao autnoma
de rob bpede atravs da plataforma LEGO MindStorm, visando o desenvolvimento de
caminhar baseado em comportamento humanide. A pesquisa ser capaz de oferecer
capacitao no uso de robs reais a partir do desenvolvimento de modelos que permitam o
rob real caminhar e realizar deslocamentos bsicos, imitando a dinmica da marcha humana.
Assim, ser possvel estudar estratgias de controle para manter sua estabilidade em ambiente
estruturado. Sero investigadas tcnicas baseadas em inteligncia computacional tais como
Lgica Fuzzy, capazes de dotar o agente-rob com raciocnio para realizar suas tarefas
autonomamente

Metodologia
A metodologia consistir, primeiramente, de estudo e compreenso dos modelos e
sensores oferecidos pela LEGO MindStorm apropriados para realizar tarefas de locomoo e
controle, pois o laboratrio ao qual a professora orientadora est relacionada possui 10 robs
dessa plataforma. O prximo passo a investigao, o desenvolvimento e a aplicao, em
ambiente real, de modelos computacionais inteligentes que auxiliem o agente-rob a atingir
suas metas considerando os sensores disponveis para o caminhar (acelermetros, giroscpios,
sensor de som, ultrassom). Finalmente, os resultados sero observados e relatados. Atividades
a serem realizadas: I. Levantamento bibliogrfico relacionado ao tema; II.

Estudo

investigao modelagem para navegao do agente-rob bpede na plataforma LEGO


MindStorm; III.

Desenvolvimento de modelos de navegao e controle para rob bpede

baseado em inteligncia computacional utilizando em Lgica Fuzzy na plataforma


MindStorm; IV.

Testes

avaliaes

de

desempenho

de

tais

modelos;

V.

Documentao atravs de relatrios e produo de um artigo sobre a pesquisa


desenvolvida e sobre os resultados obtidos.

Rob Bpede na plataforma Lego

pgina 4

1.

Estudo do Corpo Humano em repouso

Segundo os autores Carlos Barros e Wilson Roberto Paulino no livro O Corpo


Humano, a locomoo do ser humano devida a uma atuao dos ossos, msculos e
ligamentos localizados nos membros inferiores, no qual esse movimento coordenado e
comandado pelo crebro.
Ossos

Os ossos so elementos estruturais que do firmeza ao


corpo para manter-se ereto. So constitudos de clcio e
extremamente rgidos. A unio entre os ossos so chamadas
articulaes, nelas encontram-se fluidos que permitem que um
osso rotacione em relao ao outro com um certo grau de
liberdade, no permitindo que um osso se separe do outro.
Pode-se dizer, ento, que a estrutura ssea dos membros
inferiores formada por estes principais grupos de ossos:
I - Ossos do quadril (pbis, ilaco, sacro, etc);
II - Ossos da Coxa (fmur);
III - Ossos do Tornozelo (tbia e fbula);
Figura 1 - Esqueleto humano

IV- Ossos do P (tarsos, metatarsos, falanges, etc).

J as articulaes se separam em 3 principais:


A Articulao do quadril;
B Articulao do joelho;
C Articulao do p.

Rob Bpede na plataforma Lego

pgina 5

Figura 2 - Ossos dos membros inferiores

Msculos
Para a locomoo utilizado o sistema muscular para proporcionar as
movimentaes dos ossos em torno de suas articulaes.
As contraes e relaxamentos dos msculos fazem com que seus tamanhos
reduzam ou aumentem drasticamente, resultando em movimentaes com alto mdulo de
fora e de velocidade. E, para que essa capacidade de deslocamento se transforme em uma
ao de movimento do corpo, h elementos chamados tendes que ligam os ossos aos
msculos.
Rob Bpede na plataforma Lego

pgina 6

Figura 3 - Msculos ligado aos ossos pelos tendes


Dimenso dos membros inferiores

Inspirado no Homem Vitruviano, desenho de Leonardo da Vinci que ilustrou as


propores do corpo humano descritas pelo arquiteto Romano Marcos Vitrvio Polio, este
trabalho se desenvolver em torno das propores de tamanho e de distribuio do peso do
corpo humano, no intuito de repetir este modelo no rob a ser construdo.
Vitrvio, a partir de teorias de geometria, exps que em todo corpo humano h
propores de tamanho entre as partes constituintes e que todas as propores encontradas se
baseiam na razo urea, a divina proporo (1,66). Alm disso, Vitrvio reparou que o centro
de gravidade do ser humano em posio ereta est contido no umbigo.

Rob Bpede na plataforma Lego

pgina 7

Figura 4 - O Homem Vitruviano


Como estas informaes ainda no so suficientes, a consulta em revistas tcnicas
de ilustrao se fez necessria. Segundo as mesmas, o corpo pode ser esboado a partir da
definio do tamanho da cabea humana.

Figura 5 - Esboo do corpo humano


A partir do desenho acima, pode-se ver que a proporo aproximada da coxa, do
tornozelo e do p com relao cabea , respectivamente, de 2, 2 e 1/4; ou seja, as medidas
das coxas e tornozelos so iguais e a medida do p um oitavo do tamanho da coxa.
Em posse desses dados, a montagem do rob se far de forma mais fcil.
Rob Bpede na plataforma Lego

pgina 8

2. Estudo dos membros inferiores em movimento

A caminhada humana consiste de: enquanto um p est apoiado ao cho, o outro


realiza um movimento que desloca o centro de massa do corpo, fazendo o mesmo tombar para
frente e se apoiar no p que estava se movimentando. Se o processo for repetido por
sucessivas vezes, variando o p de apoio, ocorrer o deslocamento em grandes distancias do
corpo para avante.
Mas, para que esta relao troca e queda seja bem harmoniosa ao ponto do ser
humano no se desequilibrar e cair no cho, nada melhor que estudar o movimento de
caminhada, passo a passo, de um ser humano atravs de um filme.
No processo de anlise do filme nota-se que o ser humano utiliza um sistema de
rotao do quadril para compensar o deslocamento do centro de massa do corpo durante o
movimento da caminhada e, assim, o corpo mantm o equilbrio. Como a verso do rob a ser
criado ter muitas limitaes de movimento (motivo ser explicado em alguns tpicos a
frente), as pernas tero que ser ligeiramente arqueadas, principalmente na posio inicial, em
alguns graus para haver algum espao de compensao no movimento de caminhada para que
haja equilbrio.

Figura 6 - Balanceamento realizado pelos quadris

Repara-se, todavia, que o movimento de caminhada pode ser dividido em etapas.


Ento, sero separados atravs de fotos, alguns frames que mostrem mudanas significativas
de movimento em grupos musculares importantes (os quais esto ligados aos ossos da coxa,
tornozelo e p). Este foi um dos melhores resultados encontrados, pois atravs dos quadros
Rob Bpede na plataforma Lego

pgina 9

principais sero extrados os ngulos para, posteriormente, serem aplicados ao rob e, dessa
forma, o mesmo possa repetir o movimento humano.
A primeira foto refere-se ao movimento inicial no qual a pessoa sair da posio de
repouso com os dois ps lado a lado apoiados ao cho; e, por este motivo, esta requer uma
anlise diferente. Para as demais, nota-se 8 quadros principais que se repetem ao longo da
caminhada, porm com os 4 primeiros movimentos semelhantes aos 4 ltimos, apenas com a
diferena de estarem com os ps de apoio trocados.
E os ngulos a serem passados para o rob sero medidos a partir da posio de
cada seo da perna com relao ao referencial (o ngulo zero), contido numa reta paralela ao
eixo vertical.

31,9

24,8

39,2

22,5
22,9

23,2
40,7

9,7

24,1
24,2

21,1
23,4
59,0

90,0
90,0

85,9

90,0

90,0

Posio inicial

14,6

28,8
2,9

23,2
17,3

21,1

39,1

10,6

38,8

90,0
90,0

90,0

Figura 7 - Principais movimentos de caminhada humana

Rob Bpede na plataforma Lego

pgina 10

3. Estudo das Especificaes Tcnicas das peas disponveis para a


montagem do Rob e Especificaes de software

Para esta iniciao cientfica foi escolhido o Kit da empresa LEGO de peas
montveis chamado LEGO NXT Mindstorm 2.0, por ser uma plataforma robtica
relativamente barata, por habilitar a montagem de qualquer rob dada a sua facilidade de
encaixe entre peas e por ter uma vasta gama de solues em software para a sua
programao.
Este Rob dividido em peas montveis, sensores, atuadores, e na central de
comando denominada de Bricx NXT .

Figura 8 - Caixa do kit Lego NXT Mindstorm


Abaixo segue as especificaes tcnicas de cada uma das partes citadas acima.
Bricx NXT
Segundo a fabricante LEGO estes so os dados de Hardware da Central de
Comandos:

Rob Bpede na plataforma Lego

pgina 11

Atmel 32 bit ARM processador, AT91SAM7S256


Processador

(256KB flash)

principal

64KbRAM
48Mhz
Atmel 8 bit
4KB flash

Co- Processador

512 ByteRAM
48Mhz

Bluetooth

Suporta Serial Port Profile(SPP)

wirelless communication
USB

2.0

Full speed port 12 Mbits/s

Communication
Entradas

Sadas

Display

4 entradas de 6 fios com conectores RJ-12, com


entradas digitais e analgicas, (uma porta de alta velocidade)
3 sadas para motores ( tambm para leitura dos
encoders dos motores)
100x64 pixel LCD Preto e Branco. rea de
visualizao: 26X 40,6mm

Loudspeaker

8-bit de resoluo

Butons interface

Tem 4 botes de interface

Alimentao

Rob Bpede na plataforma Lego

6 pilhas AA ou Bateria recarregvel especfica para


o kit

pgina 12

Bateria
Projetada para uso com LEGO NXT Mindstorm,
fabricada de Lithium Ion Polymer para fornecer 7,4V e
1400ma/h contra os 9V disponveis por pilhas AA. Entretanto,
recarregvel e o efeito memria nulo (possui um plugue
DC para a conexo de um carregador) ; sendo, dessa forma,
uma tima alternativa para pilhas normais AA. Seu peso de
aproximadamente 108g e quando conectado ao bricx o peso
total fica em torno de 256g

Motores
Este motor especfico para o conjunto NXT
(2006). Inclui um codificador de rotao (encoder),
retornando em graus ao bricx NXT a posio de rotao do
eixo com um erro de 1. A rotao completa tem 360. E
os graus rotacionados so acumulados. Sua velocidade de
rotao lenta, porm tem um bom torque minimizando
a necessidade de redues de rotao. Peso estimado: 80g.

4. Relao Potncia x Velocidade


A potncia do Motor dada numa escala de 0 a 100%, porm no h dados na
literatura que digam o quanto de potncia consumida ou qual a velocidade de rotao se
for aplicada tal percentagem. Uma possvel explicao seria que a prpria fabricante LEGO
no distribui estes dados, pois sabe que o consumo de potncia pelo motor varia conforme o
peso da carga que o motor estiver suportando.
Mas, o professor Philippe E. Hurbain, com a publicao em seu site com o ttulo de
LEGO 9V Technic Motors compared characteristics, mostrou por meio de diversos
experimentos em vrios motores da marca LEGO, como se comporta a velocidade do motor
NXT conforme a carga aplicada, atravs do grfico 1 de Velocidade(rpm) versus Potncia
(%).

Rob Bpede na plataforma Lego

pgina 13

Motor no carregado; alimentao do NXT de


9V (pilhas alcalinas). Resultado: comportamento linear
com o mximo de 160rpm.
Motor no carregado; alimentao do
NXT de 7.2V (baterias NiMH e de Lithium-ion)
Resultado: comportamento linear.
Motor com carga de 11,5 N.cm de
torque aplicado no eixo. NXT alimentado com 9V, sem
utilizar o controle de energia nos motores. Resultado:
Grfico 1 - RPM versus Potncia (%)

at 40% o motor est parado. Acima deste valor, varia


linearmente.

Motor com carga de 11,5 N.cm aplicada. Alimentao do NXT de 9V, com
controle de energia nos motores obs.: movimento abaixo de 10% muito irregular linear at
60%. Aps, estabiliza para 120rpm.
Motor com carga de 11,5 N.cm aplicada, com 7,2V de alimentao no NXT,
com controle de energia nos motores. Comportamento Linear at 40%. Aps, a velocidade se
estabiliza em 90rpm.

5. Analisando o torque aplicado ao motor


Para analisar o torque mximo que o motor pode aguentar, o Professor Philippe diz
que se for aplicado a velocidade mxima no motor e se gradualmente este for frenado at seu
eixo travar, ser notado que o motor funcionou at uma carga de 50N.cm consumindo 2A de
corrente. Este valor de corrente muito elevado para um aparelho eletrnico to sensvel.
Naturalmente, atravs de um grfico de Corrente(mA) versus Torque(N.cm) ele props uma
faixa de valores aceitveis de carga para o motor, que fica entre 0 e 15N.cm, pois nessa faixa
a corrente do motor varia de 0 a 500mA. H possibilidade de se operar acima de 15N.cm
desde que seja por poucos segundos.

Rob Bpede na plataforma Lego

pgina 14

Grfico 2 - Corrente versus torque

Software
A prpria LEGO fornece um software de programao do bricx NXT (chamado de
LEGO Mindstorm NXT 2.0). Nele h todos os recursos para acessar motores e sensores.
Porm sua estruturao foi feita para que, de forma intuitiva, crianas e adolescentes possam
confeccionar simples programas. Logo, este programa contm algumas limitaes de
programao mais avanada, no levando, consequentemente, o NXT ao total potencial de
programao que ele possui.

Figura 9 - Software disponibilizado pela LEGO

Rob Bpede na plataforma Lego

pgina 15

Alm disso, como sero utilizadas tcnicas inteligentes de programao como


Redes Neurais, Algoritmos Genticos e Lgica Fuzzy, uma das melhores ferramentas para se
desenvolver esta programao o MAT LAB. Ele um software que realiza clculos
especializados para a engenharia, e nele j h toolkits prontos para se aplicar as tcnicas
inteligentes. Neste trabalho ser utilizado a verso 2011b.

Figura 10- Logo do software MATLAB


Mas para que o MATLAB seja utilizado para controlar o LEGO preciso adicionar
um toolkit de comunicao e controle. H vrios no mercado. O mais simples e mais
desenvolvido o kit da RWTH Aachen University chamado RWTH - Mindstorms NXT
Toolbox for MATLAB.
Esta ferramenta foi projetada para controlar o LEGO Mindstorm NXT com o
MatLab via conexo Bluetooth ou USB, atravs de funes que interagem diretamente com o
rob em tempo real, controlando-o remotamente. Neste trabalho ser utilizada a verso 4.07.

Figura 11 - logo da RWTH - Mindstorms NXT Toolbox for MATLAB

Rob Bpede na plataforma Lego

pgina 16

6.

Definio do modelo do rob e de seus movimentos


Segundo os pesquisadores e desenvolvedores do Wabian-2R do laboratrio Atsu

Takanishi da Waseda University do Japo, um rob humanoide que consegue reproduzir


perfeitamente com todos os graus de liberdade o movimento do caminhar humano, deve
possuir os atuadores descritos na figura abaixo:

Figura 12 - Rob Wabian


Conforme o modelo do Wabian, para ser produzido um rob que reproduza todos
os movimentos dos membros inferiores humanos, ser preciso mais de 18 atuadores. Como
cada Central NXT possui apenas 3 sadas para motores, precisa-se de 6 NXTs ligados uns aos
outros para que o rob ande. Se pensarmos que cada atuador pesa 80g e cada NXT com
Bateria pesa mais de 256g, fora o peso das peas, o rob a ser construdo teria uma grande
dimenso e um peso excessivo (acima de 3kg), aplicando um grande torque nos eixos dos
motores e por consequncia seria preciso fazer redues nos mesmos, tornando o rob
extremamente lento.
Por consequncia, o nmero de graus de liberdade de rotao do modelo abordado
dever ser limitado, at que se encontre o modelo mais simples possvel que satisfaa as
condies do trabalho.
Os primeiros graus de liberdade de rotao que sero cortados so os de rotao do
quadril em relao com a coluna e as pernas. Estas rotaes esto atreladas a possibilidade de
Rob Bpede na plataforma Lego

pgina 17

se incluir 4 motores no humanoide. Como esse rob precisa da rotao do quadril, essa
necessidade ser sanada adotando-se leves angulaes nas partes das pernas para que as
mesmas fiquem ligeiramente arqueadas, dando espao suficiente para algumas reaes de
equilbrio.
Os segundos graus de liberdade que sero excludos so os de rotao e de
movimento lateral da coxa. Com esses, so menos 4 atuadores.
Por fim, outros graus de liberdade eliminados so os minuciosos dos ps, retirandose o movimento dos dedos e o movimento lateral dos ps. Menos 4 atuadores.
E

Com isso, o modelo mais simples foi definido,


constitudo de somente 6 atuadores. Nesta condio, o rob usar 6

D
1

motores e 2 bricxs e pesar perto de um quilograma com a bateria


includa.

Modelo de 3 articulaes:

1 - Articulao do quadril: une o fmur com os ossos do quadril;

B
e

3
C

2 - Articulao do Joelho: une o fmur com os ossos do tornozelo;

3 - Articulao do p: une os ossos do tornozelo com os ossos do p;


Figura 13 - Modelo simples
do rob bpede
A Fmur - osso da coxa;
B Tornozelo - ossos da panturrilha;
C P - ossos do p;
D Quadril - Ossos da Bacia;
E Tronco - ossos do restante do corpo;
d perna direita;
e perna esquerda.

Rob Bpede na plataforma Lego

pgina 18

Como descrito nas primeiras partes do trabalho, para se estimar a posio das
pernas do rob usam-se os ngulos que cada parte da perna faz com relao ao eixo vertical.
Conforme imagem:

1
Ang1 ngulo medido entre a vertical e o
fmur na junta do quadril;

Ang1

Ang2 ngulo medido entre a vertical e o


tornozelo na junta do joelho;

Ang3 ngulo medido entre a vertical e o p

na junta do p.

Ang2

3
C
Ang3

Figura 14 - Perna do Rob e seus ngulos


Com relao referncia de medida dos ngulos:

Articulao

Osso
Posio 2 .

Osso
Posio 1

_
Angulos
negativos

+
0

Angulos
positivos

Figura 15 - Como foram medidos os ngulos na perna

Rob Bpede na plataforma Lego

pgina 19

7.

Construindo o rob
Foram construdas diversas verses mostradas abaixo:

Mas, o rob somente foi corretamente montado quando foram respeitadas algumas
regras:
1.

Construir o rob adotando o menor tamanho possvel para diminuir o brao de


alavanca do torque no motor;

2.

Possuir o menor peso possvel para diminuir a magnitude do torque no motor;

3.

Necessita-se que as pernas estejam lateralmente mais prximas uma da outra para
diminuir o torque lateral quando uma perna for levantada, j que a compensao do
centro de massa pela rotao do quadril no ser possvel.

4.

O tamanho do tornozelo seja aproximadamente igual ao da coxa.

Rob Bpede na plataforma Lego

pgina 20

Com as regras e o modelo definido habilita-se a prxima fase que o desenho do


prottipo no software da LEGO (LEGO Digital Designer) do modelo que ser passado para o
mundo real.
65,00mm
39,00mm
47,00mm

117,50mm
15,00mm

112,50mm

342,50mm

97,50mm

105,00mm

7,50mm
55,00mm
73,50mm

Figura 16 - Primeiro Prottipo implantado verso janeiro 2012


Esse modelo foi implantado e aps alguns testes bsicos, como o de levantar a
perna e mand-lo parar e segur-la no ar no houve um resultado satisfatrio. O rob somente
conseguia segurar a perna por pouco tempo. Foi reparado, tambm, que a cabea ainda estava
muito pesada, fazendo desequilibrar-se quando colocado de p com as suas articulaes
travadas. Alm disso, notvel a dificuldade de manuseio devido a muitas articulaes e de
realizao de testes. Logo, foram feitas modificaes no rob.
A primeira modificao feita foi na reduo de peso, para isso foram retirados os
itens mais pesados do rob, que so as baterias. A partir de uma base de conexo, conectamos
externamente as duas baterias ao NXT via dois cabos de alimentao.
A segunda modificao seria no tamanho do NXT. Foram retiradas algumas peas e
as distncias diminudas entre os motores. As mudanas de tamanho foram pequenas,
entretanto, muito significativas para a condio de parada no ar.

Rob Bpede na plataforma Lego

pgina 21

A terceira modificao foi a construo de uma base para segurar o NXT, com o
objetivo de serem realizados diversos testes sem ter que segur-lo, reajeitando sua posio e
se preocupando com o equilbrio, at que toda a programao esteja completa e o rob possa
andar sozinho.
Nesta base criou-se uma plataforma que segura o NXT com esquemas de
contrapeso, pois, alm de segurar o LEGO, ele tambm d certa liberdade de locomoo com
relao ao eixo vertical. Isso vantajoso, porque, quando as pernas se movimentam,
geralmente o rob altera sua altura. E, para facilitar o processo ainda mais, construiu-se uma
pequena esteira para que o rob possa andar sem que saia do lugar.
No final este foi o resultado:
80,00mm
49,00mm
32,00mm

324,00mm

104,70mm
19,30mm

105,00mm

324,00mm

95,00mm

99,08mm

63,00mm

40,00mm

Figura 17- Rob final verso maro 2012

Rob Bpede na plataforma Lego

pgina 22

Figura 18 - Baterias ligadas aos Bricx NXT externamente

Figura 19 - Plataforma criada para suspender o rob bpede


Rob Bpede na plataforma Lego

pgina 23

A partir desse modelo pronto, foram realizados testes preliminares com o


intuito de verificar se o mesmo poderia suportar as foras e torques aplicados e se ele
conseguiria realizar o movimento de caminhada. Aps muitos testes, o modelo foi invalidado,
pois o torque estava muito grande para as articulaes de coxas e tornozelos.
Durante todo o primeiro semestre de 2012, foram relatados os seguintes erros
com este modelo:

Ps do lego muito frgeis e pequenos - necessidade de produo de um p com


material fora da plataforma;

A trava do motor eltrica consome muita energia e forte, porm no era suficiente
para aguentar o torque aplicado principalmente aos eixos da coxa e do p;

Tempo de reenvio de comando para alterao de velocidade o motor muito grande e,


como a quantidade de giro do eixo tambm de mesma magnitude, o controle dos
ngulos era prejudicado, deste modo, no havia possibilidade de controlar o rob;

O torque aplicado coxa era muito grande quando uma das pernas era levantada,
assim, conseguia alcanar o ngulo requerido;

O torque aplicado ao p era muito grande de forma que no deixava o rob ficar ereto;

Foi constatado que o movimento plvico de equilbrio crucial, pois, sem esse
controle, o rob caa quando uma das pernas era levantada;

Como os motores foram feitos para imprimir grandes velocidades e muitas


quantidades de giros em um rob de rodas, para que o movimento da caminhada fosse
realizado, era necessrio reduzir muito a velocidade para imprimir pequenos ngulos,
de forma que a potncia aplicada ao motor ficasse em torno de 10% do seu melhor
desempenho, ou seja, o torque do motor estava prejudicado, no realizando o que
deveria.
Desta forma, houve a necessidade de modificar o modelo para um novo. As

modificaes foram cruciais: as articulaes citadas acima receberam redues mecnicas


compostas de engrenagens; as cabeas do rob foram retiradas e coladas em um suporte; foi
criado um novo p com material alternativo e foi criado um movimento de molejo nos
ps, o qual substitui o movimento plvico.

Rob Bpede na plataforma Lego

pgina 24

Figura 20 - Rob verso incio de julho 2012


Podem-se ver os detalhes da reduo atravs de engrenagem no motor. Uma volta
completa do motor equivale a 120 de rotao da articulao.

Figura 21 - Detalhes das articulaes da coxa, do joelho e do p, respectivamente


O movimento de molejo no p foi criado para que o rob suporte seu prprio
peso quando o rob estiver apoiado somente em um s p.

Rob Bpede na plataforma Lego

pgina 25

Figura 22 - "Molejo" realizado pelo p do rob


O suporte serve somente para carregar os NXTs e eles so interligados aos
atuadores atravs de cabos, no influenciando no movimento do rob. Para acompanhar a
caminhada do rob foram colocados motores e rodas.

Figura 23 - Suporte

Rob Bpede na plataforma Lego

pgina 26

8.

Simulador de movimento para implementao da programao das

tcnicas inteligentes

Agora com os principais movimentos e com o rob definidos, h a necessidade de


se criar um simulador para extrair corretamente os valores angulares encontrados no filme
gravado. Isso possibilitar fazer algumas correes no movimento. O simulador tambm
possibilitar a construo e teste dos clculos cinemticos do rob.

Figura 24 - Simulador do Rob Bpede


O simulador foi criado em cima do modelo tridimensional Cartesiano, onde o
principal movimento analisado, o movimento pela lateral do corpo, est contido dentro dos
eixos X e Y, correspondentes ao deslocamento para frente e a altura do rob.
Mas para fazer o simulador, primeiro houve a necessidade de se fazer a cinemtica
direta, que so os clculos necessrios para estimar a posio do rob.
Descrio da cinemtica para somente uma perna:
Nesta parte definimos uma funo chamada de clculo de posio de perna (
[Xjuntas, Yjuntas] = CalculoPosicaoPerna(angCoxa, angTornozelo, angPe); ), que ir
Rob Bpede na plataforma Lego

pgina 27

servir tanto para a perna esquerda quanto para a perna direita, onde ao introduzir-se os
ngulos no qual as partes das pernas se encontram a funo retorna os valores em X e Y de
cada articulao.
Acontecem as seguintes operaes dentro dessa funo:
1)

Aquisio dos ngulos atuais das partes com relao ao referencial vertical zero
AC, AT e AP = ngulos da coxa, do tornozelo e do p, respectivamente.

2)

Definio dos Raios, tamanhos das partes da perna.

RaioCoxa = 10,5cm
RaioTornozelo= 10,5cm
RaioPe = 2cm
Raio planta do p 1=2cm
Raio planta do p 2=1cm

3)

Calculo dos ngulos acumulados nas juntas

Junta quadril = AC;


Junta joelho = AT +Junta quadril;
Junta p Direito= AP+ Junta Joelho;
4)

Clculo do Posicionamento em X e Y das juntas - Aplicando matriz de senos e

cossenos

Ser utilizado como referencial o quadril, ento, como o rob estar em uma esteira
no haver deslocamento em X do quadril e, o Y do quadril ser a soma de todos os Y das
partes.
Rob Bpede na plataforma Lego

pgina 28

Depois desses passos, a funo retorna as matrizes X juntas e Y juntas, com os


valores X e Y calculados para a perna.
Cinemtica considerando as duas pernas
Aps serem obtidos os valores em X e Y de cada perna, repara-se que uma perna
no sofreu interao da outra. Logo, sero feitos estes clculos agora.
Em X as duas pernas j esto interagidas com os valores de X dos quadris igual a
zero, mas em Y sero encontrados valores diferentes para cada perna, basta, ento, que seja
igualado posio em Y dos dois quadris com as seguintes sequncias:
1)

Medio da diferena de altura entre as pernas devido movimentao

2)

3)

Escolha do que tem o menor entre Y

e para ser

acrescido de DeltaY

Com estes dados j podemos rodar a primeira simulao


Simulador 1
A primeira simulao teve o total de 9 frames e seu principal intuito foi de rejustar
os valores dos ngulos para o melhor caminhar. Os 9 frames feitos foram estes:

Frame 1- posio inicial;

Frames 2, 3, 4, 5 - movimento da perna direita frente com a perna esquerda apoiada;

Frames 6, 7, 8, 9 - movimento da perna esquerda frente com a perna direita apoiada.

Rob Bpede na plataforma Lego

pgina 29

Tabela 1 - Tabela com os ngulos das pernas reajustados


Perna Esquerda
Frame

Ang

Ang

Coxa

Tornozelo

20

Perna Direita
Ang

Ang P

Ang Coxa

-20

20

-20

20

-20

30

-30

10

-20

40

-20

-20

-25

30

10

-5

-30

-6

25

30

-30

20

-20

40

-20

-20

10

-20

30

10

-25

25

-5

-30

-6

Tornozelo

Ang P

Ento para termos uma caminhada sucessiva, somente preciso repetir esta srie de
quadros.
Abaixo esto as figuras dos 5 primeiros frames.

Posio inicial

Figura 25 - Frames dos passos do Rob simulado


Rob Bpede na plataforma Lego

pgina 30

Simulador 2
Para a segunda simulao foi aplicado uma harmonizao dos movimentos para que
eles ocorram de forma suave. Para isto acontecer incrementaram-se algumas dezenas de
pequenos passos entre cada estgio, onde a taxa de mudana dos passos e a quantidade dos
mesmos sero definidos pela diferena angular que dever ser aplicada em cada parte da
perna. A diferena angular definida pela subtrao do ngulo correspondente ao estgio
atual e pelo ngulo do prximo estgio a ser alcanado. O mais importante que,
independente da diferena angular de cada parte da perna, as partes tem que chegar ao mesmo
tempo no lugar a ser alcanado.
Abaixo segue uma tabela com a diferena angular entre estgios
Perna Esquerda
Delta Frame DeltaAng

Perna Direita

DeltaAng

DeltaAng

DeltaAng

DeltaAng

DeltaAng

Coxa

Tornozelo

Coxa

Tornozelo

1-2

10

-10

2-3

-10

10

10

-20

3-4

-10

-5

-10

25

30

4-5

-5

-5

-6

-5

-10

5-6

35

-5

-25

6-7

10

10

-20

-10

7-8

-10

25

30

-10

-5

8-9

-5

-10

-5

-5

-6

9-2

-5

-25

35

Depois de feita esta tabela, a definio do nmero de passos e tamanho dos passos
que acrescer em cada ngulo esto definidos abaixo:

Velocidade Mdia= soma dos DeltaAngs/6;

Referencia= Maior Delta Ang

Tamanho do passo mdio= Velocidade mdia/8

Nmero de passos = Referencia/Tamanho do passo mdio

Tamanho do passo para cada Delta ang=Delta Ang/ Nmero de passos.

Rob Bpede na plataforma Lego

pgina 31

Exemplo Delta Frame 3-4


Perna Esquerda

Perna Direita

Delta Frame DeltaAng DeltaAng


Coxa
3-4

-10

DeltaAng

Tornozelo P
-5

DeltaAng

DeltaAng

Coxa

Tornozelo P

-10

DeltaAng

25

30

Velocidade Mdia= (10+5+0+10+25+30)/6=13,33


Tamanho do passo Mdio = Velocidade Mdia*(1/8) = 1,667
Nmero de passos = MaiorDelta/ Tamanho do passo Mdio=30/1,667=18
Tamanho do passo para:

Coxa Esquerda DeltaAng Coxa/ Nmero de passos=10/18=0,555

Tornozelo Esquerdo DeltaAngTornozelo /Nmero de passos =5/18=0,278

P Esquerdo DeltaAng P/Tamanho do passo=0/15=0,00

Coxa Direita DeltaAng Coxa/Tamanho do passo=10/15=0,555

TornozeloDireito DeltaAng Tornozelo /Tamanho do passo=25/15=1,39

P Direito DeltaAng P/Tamanho do passo=30/18=1,67


A velocidade de cada parte da perna definida por um delta de tempo no qual um

passo aplicado e pelo tamanho do mesmo. Como esta uma simulao, foi setado um
valor muito pequeno de delta tempo, correspondente a 100ms =0,1s;
Velocidade Angular= tamanho passo/delta tempo
Aproveitando o exemplo anterior, a Velocidade Angular para cada parte da perna
ser:

Coxa Esquerda 0,555/0,1=5,55 graus/seg;

Tornozelo Esquerdo 0,278/0,1=2,78 graus/seg;

P Esquerdo 0,00/0,1=0 graus/seg;

Coxa Direita 0,555/0,1= 5,55 graus/seg;

Tornozelo Direito 1,39/0,1= 13,9 graus/seg;

P Direito 1,67/0,1= 16,7 graus/seg.

Rob Bpede na plataforma Lego

pgina 32

Juntando todas essas informaes ao Segundo simulador, foi gerado um vdeo de


simulao postado no Site do YouTube com o ttulo de Segunda Simulao do Rob
Bpede para Lego NXT.
Simulador 3
No terceiro simulador, foram acrescidos os deslocamentos em X. Para este
problema, ao invs do Rob se apoiar no cho e o mesmo se deslocar para frente, foi feita
uma adaptao cujo ambiente, o cho, est se deslocando para trs e o rob foi mantido fixo
em sua posio no eixo X.
Para isso foi definido que: se uma das pernas estiver acima do cho em at 3 mm, a
mesma considerada como apoio e seu valor em X se torna fixo. Se considerado que o
primeiro toque ao solo, quando a primeira perna tocar cho no ponto mais distante frente,
for um valor fixo de X, todo o movimento para frente do corpo no ser representativo para o
p desta perna, mas totalmente representativo para as outras partes. Verifica-se que, quando
esta perna de apoio est atrs e outra perna estiver a frente por consequncia do
movimento, o corpo todo obter um grande deslocamento frontal em X, de forma que, quando
a perna a frente tocar o solo e a perna de trs se levantar, ela se tornar um novo valor fixo de
X e todo o processo ser repetido de modo que os deslocamentos sero somados.
No primeiro ciclo, quando o primeiro p toca o cho, anotamos este valor uma
nica vez na varivel chamada Xacumulado enquanto este p servir de apoio. Este valor
somente ir ser atualizado quando o outro p tocar o cho e, tambm, este valor somente ir
ser somado a Xacumulado uma nica vez.
Mas, para isso, precisamos fazer algumas modificaes na cinemtica das posies
das pernas.
Primeiro calculamos a posio das juntas para cada perna usando a funo Clculo
Posio Perna.
[XjuntasEsquerda, YjuntasEsquerda]=CalculoPosicaoPerna(ACE, AJE, APE);
[XjuntasDireita, YjuntasDireita]=CalculoPosicaoPerna(ACD, AJD, APD);

Onde,

Rob Bpede na plataforma Lego

pgina 33

Aps verificado qual perna obteve o menor valor de YP , os Valores de X sero


readaptados da seguinte forma:

Com mais algumas adaptaes o simulador rodou perfeitamente, estimando


tambm o deslocamento em X.
Simulador 4
Neste simulador foi aplicado o modelo Fuzzy para que ele coordene o movimento
com os ngulos descritos acima. Tambm foram simulados os sensores giroscpio para
controlar o equilbrio do rob.

Figura 26 - Sensor giroscpio e sentido de rotao


O giroscpio mede a velocidade angular de rotao com uma resoluo de at
+/- 360 por segundo.
Rob Bpede na plataforma Lego

pgina 34

Para passar os valores dos ngulos que foram estabelecidos com relao
referncia vertical para valores de rotao que cada motor dever fazer, utilizaram-se os
seguintes clculos:

Depois, so estabelecidas as diferenas angulares que consistem na subtrao da


posio futura do odmetro desejada do rob com a posio atual do odmetro.
Os valores das 6 diferenas angulares encontradas so enviadas para as variveis de
entrada do sistema fuzzy montado para controlar a caminhada e do mesmo saem 6 variveis
com os valores das potncias para os motores.
Outro sistema fuzzy foi montado para controlar o equilbrio do rob onde somente
h uma entrada correspondente leitura do giroscpio e saem 6 valores para os motores.
O sistema fuzzy de controle da caminhada constitudo de:

Tela principal

Figura 27 - Toolbox de Lgica Fuzzy

Rob Bpede na plataforma Lego

pgina 35

Entrada Fuzzy
Dentro das variveis de entrada fuzzy esto desenhados os conjuntos fuzzy, onde

aps serem lidos os valores dos sensores, alguns desses conjuntos so ativados e, por
consequncia, ativam as regras de inferncia. Os limites superior e inferior vo de -80 a 80.

Figura 28 - Conjuntos Fuzzy das variveis de entrada

Regras Fuzzy
Aps estas regras ativadas, ativam-se, por consequncia, os conjuntos das variveis

de sada.

Figura 29 - Regras de inferncia Fuzzy


Rob Bpede na plataforma Lego

pgina 36

Sada Fuzzy
Quando os conjuntos das variveis de sada so ativados, para que gerem uma

resposta de sada, os mesmos so defuzzificados pela regra dos centroides. O centroide


analisa toda a rea ativada e extrai da mesma o valor mdio em X da distribuio dessa rea,
sendo este o valor de sada.

Figura 30 - Conjuntos Fuzzy das variveis de sada


Quanto ao sistema fuzzy de equilbrio, as grandes modificaes relevantes
esto no conjunto de entrada e sada e nas regras.

Figura 31 - Entrada e Sada do sistema de equilbrio fuzzy, respectivamente


Os resultados foram promissores na adequao da programao inteligente
para controle do rob bpede simulado. A partir deles, somente colocando os comandos
Rob Bpede na plataforma Lego

pgina 37

especficos para a leitura dos odmetros dos sensores, o simulador poder ser implantado em
modelo real.

9.

Primeiro teste Verificando se a montagem do rob vlida


Os primeiros testes com o antigo modelo foi realizado atravs da montagem de uma

estrutura simples com apenas uma perna, no qual foi aplicado o movimento de caminhada, de
modo que essa perna estivesse suspensa.

Figura 32 Passo a passo do movimento com uma perna suspensa


Rob Bpede na plataforma Lego

pgina 38

O movimento parece bom, porm, quando aplicado ao modelo de duas pernas e o


mesmo encostado no cho, as reaes do rob so muito diferentes, no conseguindo
realizar quase nenhum movimento.
Conforme foi dito anteriormente, o modelo antigo no passou no teste de
validao, pois, mesmo quando os motores estavam travados eletricamente, ocorreram muitas
folgas nas articulaes, no fazendo com o que o rob no suportasse o prprio peso e no se
mantivesse, de forma nenhuma, de p. Outra questo ele no conseguir se manter
equilibrado quando ele estiver apoiado em um s p. Por essas razes, o novo modelo (verso
incio de junho 2012) foi montado.
Os testes realizados previamente j mostraram a grande possibilidade de ele
realizar a caminhada.
Agora, foi efetuado todo o movimento de caminhada com o rob, demonstrando um
grande sucesso deste modelo. Entretanto, o movimento criado foi passo a passo, em que cada
atuador foi ativado separadamente, dando uma deslocao muito dura, robtica. Sendo
assim, h grande possibilidade de instalar o fuzzy e torn-la mais suave.
Esse foi o ltimo passo dado na presente data (31/07/2012), em que esto realizados
mais alguns testes e gravaes de vdeo.

Rob Bpede na plataforma Lego

pgina 39

10.

Propostas futuras

As propostas futuras so de adaptar o sistema que controla o movimento de


caminhada e de equilbrio do corpo do rob bpede simulado, utilizando a lgica Fuzzy e a
medida do sensor de Acelerao (substituto do sensor giroscpio por dar informaes de
desequilbrio nos trs eixos), no novo modelo de rob.
Outra proposta ser substituir o modelo de cinemtica direta por uma Rede Neural.
A funo da mesma, depois de terminado todo o processo de treinamento da Rede, ser de
aps inserido 6 valores de ngulos correspondentes a cada uma das 6 partes das pernas do
humanoide, a Rede Neural retorne o valor da posio do rob. Tambm pode-se criar um
modelo de Rede Neural que faa a cinemtica inversa, que seria a partir da posio em X e Y
das pernas, a Rede retorne os valores dos ngulos. Este processo mais difcil e exige mais
tempo de pesquisa.
Uma proposta a ser feita que: se as duas redes neurais forem bem desenvolvidas,
pode-se utilizar o simulador montado para fabricarem uma programao utilizando a tcnica
do Reinforcement learning (Aprendizado por Reforo), que far o rob aprender a andar
sozinho, sendo este um dos pices deste projeto.
Uma vasta gama de outras propostas pode ser feita, como a de aplicar outras
programaes inteligentes para fazer este rob desviar de obstculos, subir em escadas e
objetos, alm de se localizar e mapear um ambiente. Mas para cada um desses tpicos
necessita-se de um tempo grande de pesquisa, estudo e desenvolvimento.

Rob Bpede na plataforma Lego

pgina 40

11.

Bibliografia

Site da lego mindstorm pgina de suporte


http://mindstorms.lego.com/en-us/support/files/default.aspx
Site do professor Phellipe Hubain LEGO 9V Technic Motors compared characteristics
http://www.philohome.com/motors/motorcomp.htm
Site Complubot Informaes tcnicas do Lego NXT
http://complubot.educa.madrid.org/pruebas/lego_nxt_version_educativa/lego_nxt_version_ed
ucativa_index.php

Site com informaes do Rob Wabian.


http://www.takanishi.mech.waseda.ac.jp/top/research/wabian/index.htm

Site do toolbox - RWTH - Mindstorms NXT Toolbox for MATLAB


http://www.mindstorms.rwth-aachen.de/

Rob Bpede na plataforma Lego

pgina 41

Vous aimerez peut-être aussi