estudo do controle de postura de um robÔ … · na atualidade os robôs são empregados em...
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.
0º
10º
Postura com correção.
0º
0º
Postura inicial.
Vista Traseira
0º
Postura inicial. 0º
Postura sem correção.
20º
20º
Postura com correção.
20º
0º
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
1567