estudo do controle de postura de um robÔ … · na atualidade os robôs são empregados em...

8
ESTUDO DO CONTROLE DE POSTURA DE UM ROBÔ QUADRÚPEDE THALES L. DIAS, LUIS E. M. LIMA Coordenadoria do Curso Superior de Engenharia Elétrica, Instituto Federal do Espírito Santo IFES Avenida Vitória, 1729, 29040-780, Vitória, ES E-mails: [email protected], [email protected] Abstract This article presents a proposal for the control of a quadruped robot pose that must respond to angular variations diving and rolling on its platform support. This work is simulated using the classic digital position control PI (Proportional-Integral) applied to the joints of the robot, and try to maintain the robot's body always on horizontal pose with reactive behavior. Keywords Quadruped robot, pose correction, reactive behavior, classic control, position control. Resumo Este artigo apresenta uma proposta para o controle de postura de um robô quadrúpede que deve reagir às variações angulares de mergulho e rolagem em sua plataforma de apoio. Essa proposta utiliza o controle clássico de posição PI (Proporcional- Integral) digital aplicado aos servomotores das juntas do robô e tendo como objetivo manter o corpo do robô sempre na postura horizontal. Palavras-chave Robô quadrúpede, correção de postura, comportamento reativo, controle clássico, controle de posição. 1 Introdução Na atualidade os robôs são empregados em diversas tarefas e ambientes, a citar: industriais, resi- denciais, acadêmicos, hospitalares e outros. Muitos destes robôs apresentam um nível de automação que dispensa a intervenção humana para a realização das tarefas e possuem elevado nível de precisão e velocidade de processamento, atendendo a um universo de aplicações com a eficiência necessária. Com o objetivo de exploração de ambientes não estruturados, incluindo ambientes abertos (ambi- entes naturais) o uso de robôs a pernas vem aumen- tando nas últimas décadas e, consequentemente, tam- bém tem aumentado o esforço de pesquisas para a solução de problemas relativos ao equilíbrio destes robôs (Yazdani, 2012)(Kinoshita, 2011). Uma abordagem destas pesquisas é o controle do equilíbrio estático para robôs quadrúpedes, sendo esta abordagem relevante tanto para proporcionar o equilíbrio do próprio robô, como para manter estáveis cargas que o robô possa estar sustentando. É com este enfoque que a pesquisa apresentada neste trabalho foi estruturada, tendo como objetivo manter a postura horizontal do corpo de um robô quadrúpede apoiado a uma superfície submetida a inclinações transversais (rolagem) e longitudinais (mergulho) em relação ao corpo do robô. Nesta mesma linha de pesquisa (Lima, 2008) propôs um controlador nebuloso para manutenção do equilíbrio estático de um robô quadrúpede com 16 graus de liberdade, sendo 4 por perna, assim como (Parasuraman, 2011) apresentou um método de uso da margem de estabilidade estática para modelagem e planejamento de passos e movimentos de um robô quadrúpede, considerando a estrutura de locomoção de alguns animais. O uso de um controlador nebuloso proporciona um comportamento reativo suficiente a manutenção do equilíbrio do robô, porém sem a garantia de alto grau de precisão. Assim como, a mensuração e modelagem a partir da margem de estabilidade permite controle satisfatório para o equi- líbrio do robô em movimentos de locomoção, porém não suficiente para proporcionar o equilíbrio necessário à sustentação de cargas a serem transportadas. Com o objetivo de implementar uma solução que permita o controle de postura com precisão suficiente para sustentação de cargas, neste trabalho foi realizado o estudo do modelo geométrico de um robô quadrúpede com 12 graus de liberdade (sendo 3 por perna) e a simulação do controle clássico Proporcional-Integral de posição para cada uma das juntas rotativas das pernas com o objetivo de manter a postura horizontal do corpo do robô submetido a inclinações de mergulho e rolagem, considerando a condição de equilíbrio estático e robô em repouso. 2 Desenvolvimento 2.1 Material Utilizado Sendo este trabalho uma etapa de estudos para o desenvolvimento de um sistema de controle a ser aplicado a um robô quadrúpede, todo o estudo foi realizado por meio de simulações computacionais, sendo utilizado o MATLAB versão 2012b da MathWorks. O MATLAB foi utilizado para a simulação do modelo geométrico do robô, com qual tornou-se possível relacionar os ângulos de inclinação da superfície de apoio (em mergulho e rolagem) e os ângulos de junta necessários para a correção da postura, assim como, com o MATLAB foi possível simular as malhas de controle PI para posições angulares das juntas. Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 1560

Upload: leanh

Post on 13-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

ESTUDO DO CONTROLE DE POSTURA DE UM ROBÔ QUADRÚPEDE

THALES L. DIAS, LUIS E. M. LIMA

Coordenadoria do Curso Superior de Engenharia Elétrica, Instituto Federal do Espírito Santo – IFES

Avenida Vitória, 1729, 29040-780, Vitória, ES

E-mails: [email protected], [email protected]

Abstract This article presents a proposal for the control of a quadruped robot pose that must respond to angular variations diving

and rolling on its platform support. This work is simulated using the classic digital position control PI (Proportional-Integral) applied to the joints of the robot, and try to maintain the robot's body always on horizontal pose with reactive behavior.

Keywords Quadruped robot, pose correction, reactive behavior, classic control, position control.

Resumo Este artigo apresenta uma proposta para o controle de postura de um robô quadrúpede que deve reagir às variações angulares de mergulho e rolagem em sua plataforma de apoio. Essa proposta utiliza o controle clássico de posição PI (Proporcional-

Integral) digital aplicado aos servomotores das juntas do robô e tendo como objetivo manter o corpo do robô sempre na postura

horizontal.

Palavras-chave Robô quadrúpede, correção de postura, comportamento reativo, controle clássico, controle de posição.

1 Introdução

Na atualidade os robôs são empregados em

diversas tarefas e ambientes, a citar: industriais, resi-

denciais, acadêmicos, hospitalares e outros. Muitos

destes robôs apresentam um nível de automação que

dispensa a intervenção humana para a realização das

tarefas e possuem elevado nível de precisão e

velocidade de processamento, atendendo a um

universo de aplicações com a eficiência necessária.

Com o objetivo de exploração de ambientes

não estruturados, incluindo ambientes abertos (ambi-

entes naturais) o uso de robôs a pernas vem aumen-

tando nas últimas décadas e, consequentemente, tam-

bém tem aumentado o esforço de pesquisas para a

solução de problemas relativos ao equilíbrio destes

robôs (Yazdani, 2012)(Kinoshita, 2011). Uma

abordagem destas pesquisas é o controle do equilíbrio

estático para robôs quadrúpedes, sendo esta

abordagem relevante tanto para proporcionar o

equilíbrio do próprio robô, como para manter estáveis

cargas que o robô possa estar sustentando. É com este

enfoque que a pesquisa apresentada neste trabalho foi

estruturada, tendo como objetivo manter a postura

horizontal do corpo de um robô quadrúpede apoiado a

uma superfície submetida a inclinações transversais

(rolagem) e longitudinais (mergulho) em relação ao

corpo do robô.

Nesta mesma linha de pesquisa (Lima, 2008)

propôs um controlador nebuloso para manutenção do

equilíbrio estático de um robô quadrúpede com 16

graus de liberdade, sendo 4 por perna, assim como

(Parasuraman, 2011) apresentou um método de uso da

margem de estabilidade estática para modelagem e

planejamento de passos e movimentos de um robô

quadrúpede, considerando a estrutura de locomoção

de alguns animais. O uso de um controlador nebuloso

proporciona um comportamento reativo suficiente a

manutenção do equilíbrio do robô, porém sem a

garantia de alto grau de precisão. Assim como, a

mensuração e modelagem a partir da margem de

estabilidade permite controle satisfatório para o equi-

líbrio do robô em movimentos de locomoção, porém

não suficiente para proporcionar o equilíbrio

necessário à sustentação de cargas a serem

transportadas. Com o objetivo de implementar uma

solução que permita o controle de postura com

precisão suficiente para sustentação de cargas, neste

trabalho foi realizado o estudo do modelo geométrico

de um robô quadrúpede com 12 graus de liberdade

(sendo 3 por perna) e a simulação do controle clássico

Proporcional-Integral de posição para cada uma das

juntas rotativas das pernas com o objetivo de manter a

postura horizontal do corpo do robô submetido a

inclinações de mergulho e rolagem, considerando a

condição de equilíbrio estático e robô em repouso.

2 Desenvolvimento

2.1 Material Utilizado

Sendo este trabalho uma etapa de estudos

para o desenvolvimento de um sistema de controle a

ser aplicado a um robô quadrúpede, todo o estudo foi

realizado por meio de simulações computacionais,

sendo utilizado o MATLAB versão 2012b da

MathWorks. O MATLAB foi utilizado para a

simulação do modelo geométrico do robô, com qual

tornou-se possível relacionar os ângulos de inclinação

da superfície de apoio (em mergulho e rolagem) e os

ângulos de junta necessários para a correção da

postura, assim como, com o MATLAB foi possível

simular as malhas de controle PI para posições

angulares das juntas.

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1560

A

B

C

M D

r

2.2 Etapas do Desenvolvimento

O trabalho foi dividido nas seguintes etapas:

• Modelagem geométrica da postura do robô;

• Algoritmo para correção da postura do robô;

• Controle da postura do robô;

• Simulação do controle da postura do robô.

A obtenção do modelo geométrico do robô em

estudo permitiu o conhecimento das relações entre as

inclinações em mergulho e rolagem da superfície de

apoio do robô e os ângulos de junta das pernas de

modo a manter a postura com corpo do robô na

posição horizontal. De posse das relações acima

citadas, tornou-se possível a elaboração de um

algoritmo para correção dos ângulos de junta a ser

utilizado para definir as referências das malhas de

controle.

2.2.1 Modelagem Geométrica da Postura do Robô

O robô quadrúpede em estudo possui corpo

retangular, com cada perna possuindo 3 graus de

liberdade (juntas de rotação), sendo dois graus na

fixação da perna ao corpo e um grau na articulação da

mesma (joelho) (Figura 1 e 2). Steinbruch demonstra

em seu livro conceitos geométricos e manipulação de

vetores utilizados na construção desse modelo do robô

(Steinbruch, 1987).

Figura 1. Modelo esquemático do robô (pernas P1 a P4).

Figura 2. Graus de liberdade de uma perna.

A Figura 2 permite visualizar a disposição

dos graus de liberdades das pernas. Portanto há dois

graus de liberdade no ponto A, e um no ponto B, o que

permite a cada perna a execução de movimentos que

alterem a distância entre o ponto A (conexão da perna

com o corpo do robô) e o ponto C (ponto de apoio da

pata sobre plataforma).

Na concepção desse modelo geométrico

foram necessárias algumas considerações. Considerar

que o ponto C (Figura 2) seja fixo à plataforma, ou

seja, ele acompanha o movimento da plataforma

independente do corpo do robô, e que o ponto A

(Figura 2) permaneça fixo ao corpo independente do

movimento da plataforma e os comprimentos dos

segmentos de pernas (definidos como L) são iguais.

Também foi considerado que a distância entre o centro

do corpo e o centro da plataforma se mantenha fixa

durante a análise. Se os segmentos das pernas fossem

analisado separadamente e considerando a existência

de 3 graus de liberdade ortogonais nos pontos A e C,

o espaço de movimentação para estes seguimentos

seria definido como calotas semi-esféricas de centros

A e C, conforme ilustra a Figura 3.

Figura 3. Análise do workspace de uma perna.

É possível perceber que a interseção das duas

esferas gera uma circunferência centrada em M e de

raio r, porém, em função da configuração de graus de

liberdade e restrições de movimento já descritas e

consideradas neste estudo, o joelho do robô poderá

somente estar situado nos pontos D ou B, tendo sido

escolhido o ponto B.

O ponto B é solução, pois, a distância dele

até A e C é a mesma e de valor L. Se outro ponto fora

da circunferência for testado, resultaria em distâncias

distintas para L, gerando inconsistência por separação

dos segmentos de perna. É importante ressaltar que o

centro da circunferência (Ponto M) está contido em

uma reta que passa pelos pontos A e C, e θ

corresponde ao ângulo entre esta reta e a reta AB.

Figura 4. Análise geométrica de uma perna (P1 ou P2).

A

Corpo

L

B

L

C Plataforma

Corpo

A

B

L

θ

r d M

L

Plataforma

C

Corpo

Plataforma

Frente

x y

z

P1 P2

P3 P4

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1561

2.2.2 Algoritmo para Correção da Postura do Robô

Com base na modelagem geométrica do robô

é possível definir um algoritmo para a correção de

postura, de modo a manter o corpo do robô na posição

horizontal mesmo após uma inclinação na sua

plataforma de apoio, o que pode ser obtido com a

correção dos ângulos de junta das pernas.

Analisando a Figura 4 e considerando o

problema em estudo, é possível afirmar que, inclinar a

plataforma gera uma alteração da posição do ponto C,

porém o mesmo comportamento é indesejável para o

ponto A. Razão pela qual se deve calcular para um

ponto C qualquer, qual seria o ponto B possível de

modo a manter a posição do ponto A (para cada

perna), e assim manter o corpo do robô na postura

horizontal. Esse algoritmo está descrito no fluxograma

da Figura 5.

Figura 5. Fluxograma para cálculo da posição do joelho.

Inicialmente o programa recebe os seguintes

dados do robô:

• Comprimento do corpo (Lc);

• largura do corpo (Dc);

• tamanho do segmento de perna (L);

• altura do corpo em relação à plataforma (H);

• ângulo de mergulho da plataforma (αp);

• ângulo de rolagem da plataforma (βp).

A partir desses parâmetros é possível

calcular a posição no espaço dos pontos A e C. Para

simplificar a análise foi definido o centro do corpo

como ponto de fixação do sistema de referência. Então

é possível definir a posição do ponto C aplicando as

matrizes de rotação, em função dos ângulos de

rolagem e mergulho, representadas por Rrol e Rmer

respectivamente nas relações 1, 2 e 3.

𝑅𝑟𝑜𝑙 = [

1 0 0

0 cos 𝛽𝑝

− sin 𝛽𝑝

0 sin 𝛽𝑝

cos 𝛽𝑝

]

(1)

𝑅𝑚𝑒𝑟 = [

cos 𝛼𝑝 0 sin 𝛼𝑝

0 1 0

− sin 𝛼𝑝 0 cos 𝛼𝑝

]

(2)

𝐶 = [−𝐿𝑐

2 ,

−𝐷𝑐

2, −𝐻 ] 𝑅𝑟𝑜𝑙𝑅𝑚𝑒𝑟

(3)

A Figura 4 mostra que o vetor 𝐴𝐶⃗⃗⃗⃗⃗⃗ e os dois

segmentos de perna constituem um triângulo

isósceles, e a partir do comprimento dos segmentos é

possível obter o ângulo θ pela lei dos cossenos, de

acordo com a equação 4.

cos 𝜃 =𝑑

2𝐿 (4)

Com o cosseno de θ calculado, obtem-se o

seno de θ pelo teorema fundamental da trigonometria

(equação 5):

sin 𝜃 = √1 − cos2 𝜃 (5)

Então é possivel definir o ponto M fazendo a

projeção ortogonal de 𝐴𝐵⃗⃗⃗⃗ ⃗⃗ em 𝐴𝐶⃗⃗⃗⃗⃗⃗ , e de acordo com o

triângulo AMB é válida a relação 6:

𝐿 sin 𝜃 = 𝑟 (6)

Logo, o ponto B é obtido pela soma ao ponto

M de um vetor ortogonal a 𝐴𝐶⃗⃗⃗⃗⃗⃗ e de magnitude r. Uma

vez definidos os pontos A, B e C, é possível calcular

os ângulos de junta pela equação 7, substituindo os

vetores �⃗⃗⃗� e �⃗⃗⃗� de acordo com o ângulo a ser obtido.

Este passo é importante, pois, a partir das condições

iniciais e dos ângulos de mergulho e rolagem, é

possível calcular os ângulos referências para as juntas

para estalibizar o corpo. Por exemplo, para obter o

ângulo da junta do joelho da situação da Figura 4, �⃗⃗⃗�

seria 𝐵𝐴⃗⃗⃗⃗ ⃗⃗ e �⃗⃗� seria 𝐵𝐶⃗⃗⃗⃗⃗⃗ .

𝛼 = cos−1�⃗⃗⃗�. �⃗⃗�

|�⃗⃗⃗�||�⃗⃗�| (7)

2.2.3 Controle da Postura do Robô

Com uso do MATLAB foram obtidos os

resultados com a aplicação do algoritmo descrito,

tornando-se possível a análise de validade do

algoritmo com uso de uma simulação tridimensional.

Figura 6. Representação tridimensional no MATLAB.

Nesse caso, onde o robô está estabilizado, os

ângulos foram 90º, 30º e 60º (Figura 1 e 6). Sendo

aplicado na plataforma de apoio um mergulho de 10º

(sentido anti-horário em relação ao eixo Mergulho na

Entrada de parâmetros físicos

Obtenção dos ângulos de junta

Cálculo de A, C e o vetor 𝐴𝐶⃗⃗⃗⃗⃗⃗

Cálculo de M e determinação de θ

Determinação de r e cálculo de B

Centro

Rolagem

Mergulho

x y

z

A

B

C

60º

30º • P1

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1562

Figura 6), o algoritmo e os cálculos definem como os

segmentos de perna devem se dispor (por correção dos

ângulos de junta) para que o corpo do robô permaneça

inalterado. Para relacionar as pernas com seus ângulos

será utilizada a seguinte notação: αn a é o ângulo da

junta superior da perna n e αn b o ângulo da junta do

joelho da perna n. Desta forma, na Figura 7 α1a

representa a junta superior da perna 1, neste caso, o

ângulo entre o vetor 𝐴𝐵⃗⃗⃗⃗ ⃗⃗ e o corpo do robô, e α1b o

ângulo entre 𝐵𝐴⃗⃗⃗⃗ ⃗⃗ e 𝐵𝐶⃗⃗⃗⃗⃗⃗ .

Figura 7. Vista lateral do mergulho de 10º

É visível que ao mergulhar a plataforma em

10º é necessária uma correção nos ângulos de junta das

pernas para manter o corpo na postura horizontal. O

objetivo é obter essa relação entre os ângulos de perna

com a inclinação da plataforma, podendo ser de

mergulho ou rolagem. Esse procedimento é aplicado

às quatro pernas, e a Figura 8 mostra o resultado

gráfico para o robô como um todo.

Figura 8. Reação do robô ao mergulho de 10º.

É possível observar qualitativamente que

para compensar esse mergulho da plataforma, o robô

teve que reagir esticando suas pernas traseiras e

retraindo as dianteiras. Como só houve um mergulho

puro, ou seja, sem rolagem, as duas pernas traseiras

(P1 e P3) se esticam da mesma forma enquanto as duas

dianteiras (P2 e P4) se retraem igualmente.

Agora é apresentado um exemplo de rolagem

pura de -25º (sentido horário em relação ao eixo

Rolagem na Figura 6), o movimento de rolagem

causa, devido a fixação dos pontos na plataforma, um

movimento angular no primeiro grau de liberdade

situado no ponto A e nos seus correspondentes. A

Figura 9 ilustra melhor essa situação, onde os pontos

Fi e Ci representam a posição inicial antes da rolagem,

e os pontos Ff e Cf a posição final depois da rolagem.

Figura 9. Vista frontal do robô sob rolagem de -25º

É possível perceber na Figura 9 que em

função da rolagem as pernas devem se inclinar a fim

de compensar esse deslocamento dos pontos Ci e Pi.

Para um ângulo de rolagem de -25º além dessa

correção é necessário que as pernas se estiquem ou se

encolham para também compensar o movimento

angular da plataforma. É possível visualizar melhor

este efeito com a ilustração tridimensional

apresentada na Figura 10.

Figura 10. Reação do robô a rolagem de -25º

Ou seja, as pernas P1 e P2 se esticam

enquanto as pernas P3 e P4 se encolhem para manter o

a postura horizontal do corpo do robô. Para essa

rolagem o algoritmo nos retorna para as pernas da P1

e P2 os ângulos de junta 87.79º, 37.31º e 74.62º, e para

as pernas P3 e P4 os ângulos 86.60º, 23.26º e 46.54º,

que podem ser visualizados nas Figuras 9 e 10.

A Tabela 1 mostra o comportamento de duas

juntas da perna 1 (aquelas evidenciadas na Figura 7)

quando a plataforma de apoio está sofrendo apenas

mergulho.

Tabela 1. Ângulos de duas juntas da perna 1 no mergulho.

Ângulo de

Mergulho(αp)( º )

Ângulo da junta

superior (α1a) ( º )

Ângulo da junta

do joelho (α1b) (º)

0º 30,00º 60,00º

5º 32,73º 65,85º

10º 35,19º 71,87º

15º 37,47º 78,05º

É constatado que de fato a perna 1 se estica

para compensar a inclinação da plataforma. Agora o

comportamento da perna 2 (P2 na Figura 8) é analisado

na Tabela 2.

x y z

-25º

A

B

C

74.62º

37.31º 46.54º

23.26º

A

B

C

x y

z

10 º

P1

P2 P3

P4

87.79º 86.60º

Plataforma

25º

A

Cf Ci

Fi

z y

Ff

10º

z

x Corpo

α1a=35.1º

α1b=71.87º

Plataforma

A

B

C

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1563

Tabela 2. Ângulos de duas juntas da perna 2 no mergulho.

Ângulo de Mergulho(αp)( º )

Ângulo da junta

superior (α2a) ( º )

Ângulo da junta

do joelho (α2b) (º)

0º 150,00º 60,00º

5º 152,60º 54,31º

10º 154,54º 48,82º

15º 155,59º 43,55º

Conclui-se pelos resultados obtidos que o

ângulo de junta α2a aumenta e o ângulo α2b diminui, o

que resulta na contração da perna para compensar a

subida da plataforma sob as patas do robô. Também

será apresentado o resultado para o movimento de

rolagem da plataforma. Para isso analisa-se os ângulos

das principais juntas das pernas P3 e P2 (Figura 8) na

Tabela 3.

Tabela 3. Ângulos de duas juntas da perna 2 na rolagem .

Ângulo de Rolgem(βp)( º )

Ângulo da junta

superior (α2a) ( º )

Ângulo da junta

do joelho (α2b) (º)

0º 150,00º 60,00º

-5º 148,55º 62,90º

-10º 147,08º 65,83º

-15º 145,62º 68,77º

Tabela 4. Ângulos de duas juntas da perna 3 na rolagem .

Ângulo de Rolagem(βp)( º )

Ângulo da junta

superior (α3a) ( º )

Ângulo da junta

do joelho (α3b) (º)

0º 30,00º 60,00º

-5º 28,57º 57,13º

-10º 27,17º 54,34º

-15º 25,80º 51,62º

Os movimentos de puro mergulho ou pura

rolagem irão sempre obter resultados homogêneos

para um par específico de pernas, já que as mesmas

estão sofrendo o mesmo esforço e variação da

plataforma. Isso pode ser observado nas pernas

dianteiras (P4 e P2) durante o mergulho, bem como as

traseiras (P3 e P1) no mesmo movimento. Já na

rolagem esse fenômeno acontece com as pernas da

esquerda (P4 e P3) e as da direita (P1 e P2). Entretanto,

quando há um movimento composto por rolagem e

mergulho simultâneos para o qual o comportamento

de reação será outro, já que nesse caso cada perna deve

compensar o movimento da plataforma de maneira

distinta para manter a postura horizontal do corpo do

robô.

É possível visualizar melhor esse fenômeno

na Figura 11, onde é aplicado um mergulho de -10º e

rolagem de -25º.

Figura 11. Situação com mergulho e rolagem simultâneos

A Tabela 5 apresenta os resultados obtidos

para a junta superior de cada uma das 4 pernas.

Tabela 5. Ângulos da junta superior das pernas no movimento

composto de mergulho e rolagem.

αp (º) /βp (º) P1 ( º ) P2 ( º ) P3 ( º ) P4 ( º )

0º / 0º 30,0º 150,0º 30,0º 150,0º

-5º / -5º 28,6º 145,2º 25,3º 148,5º

-10º / -10º 27,1º 139,6º 19,4º 147,0º

-10º / -25º 32,4º 134,1º 13,3º 152,4º

Tabela 6. Ângulos da junta do joelho das pernas no movimento

composto de mergulho e rolagem.

αp ( º )/βp (º) P1 ( º ) P2 ( º ) P3 ( º ) P4 ( º )

0º / 0º 60,0º 60,0º 60,0º 60,0º

-5º / -5º 57,1º 68,8º 51,5º 62,9º

-10º / -10º 54,2º 78,1º 43,5º 65,9º

-10º / -25º 62,4º 87,5º 36,2º 57,8º

É possível perceber nas Tabelas 5 e 6, que

cada perna reage de uma forma para compensar o

efeito da rolagem e mergulho simultâneos da

plataforma de apoio. No caso ilustrado na Figura 11

(valores da última linha das tabelas 5 e 6) verifica-se

que a perna 1 se estica levemente, a perna 2 se estica

acentuadamente, a perna 3 se encolhe acentuadamente

e a perna 4 também se estica levemente.

Com esses resultados foi possível plotar

gráficos que apresentam o comportamento das juntas

de forma contínua e permitindo a verificação do

transiente em um mergulho de -20º. Para

simplificação, serão plotados nas Figuras 12 e 13

apenas os ângulos das juntas do joelho das pernas P1 e

P2, já que seus pares se comportarão da mesma forma.

x y

z

-25º

Rolagem

-10º

Mergulho

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1564

Figura 12. Gráfico relacionando junta do joelho da perna 1 com mergulho

Figura 13. Gráfico relacionando junta do joelho da perna 2 com

mergulho

Agora verifica-se o comportamento contínuo

das juntas do joelho das pernas P1 e P3 para uma pura

rolagem de -25º nas Figuras 14 e 15.

Figura 14. Gráfico relacionando junta do joelho da perna 1 com

rolagem

Figura 15. Gráfico relacionando junta do joelho da perna 3 com rolagem

A partir do resultados obtidos conclui-se que

quando há somente mergulho ou rolagem, as juntas

em análise (joelhos) reagem com um comportamento

aproximadamente linear.

2.2.4 Simulação do Controle da Postura do Robô

O controle do robô quadrúpede em estudo

torna-se possível com o uso de 12 servomotores de

corrente contínua, sendo utilizado um para cada grau

de liberdade de cada perna. É possível visualizar a

disposição de todas as juntas e os referenciais fixados

na Figura 16, tendo sido utilizada a convenção

Denavit–Hartenberg (Craig, 1986).

Figura 16. Referenciais da convenção Denavit-Hartenberg

Para o controle a ser simulado será

necessário considerar comportamento dinâmico do

servomotores que serão os atuadores em cada junta

das pernas. Este comportamento pode ser

representado em simulação pelo uso do modelo

matemático equivalente, modelo este que na

atualidade é descrito em diversas referências, dentre

estas o livro do Ogata (Ogata, 2001).

A partir de um servomotor disponível para

uso nos laboratórios de Controle e Instrumentação do

Ifes (Instituto Federal de Educação do ES) foi possível

a realização de ensaios para levantamento suas

características, e utilização destas nas simulações dos

estudos realizados neste artigo. O modelo

esquemático do servomotor pode ser representado

como ilustra a Figura 17.

Y

X

X X

X

X X X

X X

Y

Y

Y

Y

Y Y

Y Y

Y

X

Z

Z

Z

Z Z

Z

Z

Z Z

Z

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1565

Figura 17. Modelo do servomotor

Os parâmetros em questão são: tensão de armadura

(Va), corrente de armadura (Ia), resistência de

armadura (Ra), indutância de armadura (La), constante

te tensão (Kbω), velocidade angular (ω), torque motor

(Tm), momento de inércia do motor (Jm), torque

resistente (Tr), rendimento (η), relação de redução

(N1:N2), tensão de realimentação do potenciômetro

(Vpos) e tensão de alimentação (Vcc).

Com os parâmetros eletromecânicos do

servomotor considerado neste estudo obteve-se a

seguinte função de transferência (equação 8):

𝜃(𝑠)

𝑉𝑎(𝑠)=

511.46

𝑠2 + 23.88𝑠 (8)

Utilizando este modelo para definir o

comportamento de cada junta das pernas do robô será

aplicado um controle PI (proporcional-integral) para

controlar a posição angular destas juntas. Como o

problema é a manutenção da postura do corpo do robô,

espera-se do controle de posição uma resposta rápida

e com o menor de overshoot possível. A Figura 18

apresenta o diagrama de blocos do sistema de controle

de posição angular do servomotor, e na Figura 19 seu

comportamento para um degrau de 60º.

Figura 18. Malha de controle digital de posição

Figura 19. Resposta ao degrau de 60º de amplitude

Como se pode observar, o servomotor entra

em regime em apenas 0.45 segundos e possui um

overshoot de 7.8%, o que é aceitável para os objetivos

deste estudo.

No pacote de simulação SIMULINK do

MATLAB programa-se todas as etapas de controle

(Figura 20) pelo uso de blocos que definem a partir da

inclinação da plataforma (em mergulho e rolagem) e

também a partir das dimensões do robô as referências

para as juntas. Estas referências em ângulos são

convertidas para valores de tensão a serem utilizadas

como referências das malhas de controle de posição

dos servomotores. O controle PI de posição, dos doze

servomotores das juntas das quatro pernas, define o

correto ângulo para cada junta com o desempenho

(velocidade de resposta e overshoot) já apresentado. É

possível então representar o sistema completo, desde

a entrada pelos inclinômetros até a saída do controle

de posição angular, em um diagrama de blocos

conforme ilustrado na Figura 20.

Figura 20. Diagrama de blocos do sistema

Para a visualização de uma possível

aplicação da solução de controle apresentada neste

artigo, pode-se observar as ilustrações das Figuras 21

e 22, nas quais o robô sustenta uma carga sobre seu

corpo. Inclinações de mergulho e rolagem, impostas

pela plataforma de apoio, definem a necessidade do

controle de postura para a manutenção da posição da

carga sobre o corpo do robô, impedindo possível

queda. Vale a ressalva de que as inclinações definidas

neste estudo não são suficientes para que a margem de

+

-

Va

Ra La

Ia

Vcc

Jm ω Tm

Kb.ω

N1:N2

η Tr

Vpos

Compensador Servomotor Va Hold N1:N2

Relação Posição/Tensão

Posição VPos

Dimensões

físicas

Inclinômetro

θ 1

Bloco-

função

Conv. θ / Va

Va12 θ 12

Va1

Controle de

Posição

α1

α12

Realimentação

do controle

V/α

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1566

estabilidade para equilíbrio estático seja superada,

com consequente tombamento do robô.

Figura 21. Resposta a um mergulho de 10º com e sem controle.

Figura 22. Resposta a uma rolagem de 20º com e sem controle.

3 Conclusão

O estudo realizado permitiu a comprovação

da validade do modelo geométrico obtido, através da

simulação das relações entre os ângulos de mergulho

e rolagem da plataforma e os ângulos de junta das

pernas do robô, com consequente viabilidade de

aplicação de uma estratégia de controle para correção

da postura do robô.

Entretanto, ao se considerar o modelo dos

servomotores atuadores de cada junta, e a ação de

controlador proporcional-integral, verifica-se que o

regime transitório na resposta da posição angular de

cada junta a uma referência estabelecida impõe

restrições às aplicações que considerem a sustentação

de cargas com alta velocidade de movimentação

(cargas esféricas, cargas muito leves e outras). Nesse

contexto, o sistema demanda um dimensionamento

desses efeitos transitórios compatível com a inércia da

possível carga sob o corpo do robô, para que não haja

o efeito indesejável de queda da carga ou mesmo o

tombamento do robô.

Considerando que o estudo apresentado neste

artigo está em sua fase inicial, propõe-se como etapa

futura o uso da realimentação da posição da carga

como mais uma informação a ser utilizada no controle

de correção da postura.

Agradecimentos

Gostaria de agradecer a Companhia de

Desenvolvimento de Vitória(CDV) pela bolsa desse

projeto de iniciação científica.

Referências Bibliográficas

Craig, John J. (1986). Introduction to Robotics,

Mechanics and Control, third edition.

Steinbruch, Alfredo; Winterle, Paulo (1987).

Geometria Analítica.

Ogata, Katsuhiko (2001). Modern Control Engineer-

ing, Fourth Edition.

Yazdani, R.; Majd, V.J.; Oftadeh, R., May 2012,

"Dynamically stable trajectory planning for a

quadruped robot," Electrical Engineering (ICEE),

2012 20th Iranian Conference on , pp.845,850.

Kinoshita, T.; Kurihara, Y.; Kobayashi, K.; Watanabe,

K., Sept. 2011 "Control of four-legged

robot," SICE Annual Conference (SICE), 2011

Proceedings of , pp.571,575.

Parasuraman, S.; Foo Jin Hang, May 2011, "Statically

balanced walking of a crawler

robot," Instrumentation and Measurement

Technology Conference (I2MTC), 2011 IEEE ,

pp.1,6.

Lima, L.E.M.; Amaral, P.F.S.; Filho, A.B., Oct. 2008,

"Reflexive Behavior for a Four-Legged Mobile

Robot Using Fuzzy Logic," Robotic Symposium,

2008. LARS '08. IEEE Latin American ,

pp.123,128

Vista Lateral

10º

10º

Postura sem correção.

10º

Postura com correção.

Postura inicial.

Vista Traseira

Postura inicial. 0º

Postura sem correção.

20º

20º

Postura com correção.

20º

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1567