[EM CONSTRUÇÃO/REVISÃO] Modelagem Matemática, Cinemática e Controle do Robô Otto#
Objetivos da aula#
Descrever matematicamente a posição de uma perna articulada a partir dos ângulos das juntas (cinemática direta).
Modelar o movimento oscilatório das juntas por funções senoidais.
Calcular velocidade e aceleração angular e relacioná-las ao torque dos atuadores.
Compreender a estrutura de um sistema de controle em malha fechada com controlador PID.
Implementar e simular os modelos em software de computação numérica, tais como no MATLAB (ou Octave).
Note
Relação com problemas de engenharia civil
Os princípios desta aula têm análogos diretos em estruturas e dinâmica:
Conceito — robótica |
Análogo — engenharia civil |
|---|---|
Cinemática de perna articulada |
Geometria de treliça com barras rotacionadas |
Oscilação senoidal da junta |
Vibração livre sob carga harmônica |
Centro de massa do bípede |
Centróide e condição de tombamento |
Torque gravitacional sobre segmento |
Momento fletor por carga excêntrica |
Controlador PID em malha fechada |
Amortecedor ativo sob ação sísmica |
A matemática subjacente é a mesma; o sistema físico é diferente.
1. Cinemática direta de segmentos articulados#
Ao montar o robô Otto, você construiu um sistema físico com múltiplos atuadores, segmentos rígidos e restrições geométricas. Quando o Otto dá um passo, três fenômenos ocorrem simultaneamente: a geometria da estrutura se altera conforme os servos mudam de ângulo; a física impõe restrições de inércia e gravidade; e o controle reage continuamente, corrigindo desvios entre posição desejada e real.
Esta aula conecta esses três domínios para permitir compreender e diagnosticar quantitativamente o comportamento do robô.
1.1 Formulação do problema#
Cinemática descreve o movimento de corpos em termos de posição, velocidade e aceleração, sem considerar as forças causadoras. A cinemática direta resolve um problema específico: dados os ângulos de cada junta, qual é a posição do atuador final?
Note
Em robôs bípedes como o Otto, o atuador final é o pé. O problema é análogo a determinar a posição dos nós de uma treliça a partir das dimensões e orientações das barras.
1.2 Um segmento rotacionando#
Considere um segmento rígido de comprimento \(L\) fixado na origem. Quando forma um ângulo \(\theta\) com o eixo horizontal, as coordenadas de sua extremidade livre são:
O seno e o cosseno emergem da decomposição de um vetor rotacionado sobre dois eixos ortogonais — fundamento de toda a cinemática de sistemas articulados em cadeia aberta.
1.2.1 Implementacao no MATLAB#
O arquivo Ex1_2_1_CinPerna.m plota a extremidade de um segmento rotacionando conforme o angulo varia – verificacao direta de \(x = L\cos\theta\), \(y = L\sin\theta\).
O código seguinte inicia o MATLAB pelo Python e adiciona automaticamente ao path do MATLAB toda a pasta matlab do repositório (incluindo subpastas), permitindo executar qualquer arquivo .m do projeto a partir deste notebook.
O código seguinte executa o arquivo disponível no GitHub desta aula, diretamente neste notebook tendo o software Matlab integrado. Se preferir, clique para download do exemplo Ex1_2_1_CinPerna.m
1.3 Dois segmentos em série — modelo de quadril e joelho#
A perna de um membro de robô (perna, braço) pode ser modelada como dois segmentos rígidos em série (comprimentos \(L_1\) e \(L_2\)). O primeiro gira com ângulo \(\theta_1\) em relação ao referencial global; o segundo gira com \(\theta_2\) em relação ao primeiro.
Posição da junta intermediária:
Posição do atuador final (pé), por acumulação de rotações:
O ângulo acumulado \((\theta_1 + \theta_2)\) é a orientação absoluta do segundo segmento. Para uma cadeia de \(n\) segmentos, o ângulo absoluto da \(i\)-ésima junta generaliza-se para \(\Theta_i = \sum_{k=1}^{i} \theta_k\).
Simulador — Cinemática direta de dois segmentos
Calculando...
1.3.1 Implementacao no MATLAB – cinematica estatica#
O arquivo Ex1_3_1_DoisSegm.m calcula e plota a configuracao da perna para angulos fixos. Altere theta1 e theta2 e observe o deslocamento do pe.
Baixar Ex1_3_1_DoisSegm.m no GitHub
1.4 Modelo cinemático simplificado do Otto bípede#
O Otto difere de um manipulador planar clássico: seus movimentos distribuem‑se em dois planos independentes, controlados por dois pares de servos.
Robô Otto Bípede: estrutura bípede com 4 servomotores
Servos do quadril (superiores, posição S1 e S2): cada servo gira a perna correspondente lateralmente em torno do eixo longitudinal do corpo (eixo frente–trás), fazendo o corpo inclinar para um dos lados.
Servos dos pés (inferiores, posição S3 e S4): cada servo inclina a plataforma do pé no plano frontal, levantando ou abaixando o respectivo lado do corpo.
A animação abaixo ilustra o padrão de caminhada resultante desses dois movimentos combinados:
Exemplo de locomoção bípede com movimentos laterais sincronizados
Movimento lateral do quadril#
O servo do quadril gira a perna em torno de um eixo vertical imaginário alinhado ao corpo. Para pequenos ângulos, o deslocamento lateral \(x\) da extremidade inferior da perna (comprimento \(L\)) é:
Durante a caminhada, esse ângulo oscila senoidalmente com amplitude \(A\) e frequência angular \(\omega\):
A oscilação transfere o centro de massa lateralmente de uma perna para a outra — condição necessária para que a perna oposta seja liberada do solo e avance.
Parâmetros típicos do Otto: \(L \approx 60\,\text{mm}\), \(A \approx 20°\), \(\omega = 2\pi f\) com \(f \approx 0{,}5\,\text{Hz}\).
Movimento de inclinação dos pés#
Os servos dos pés levantam fisicamente um lado do corpo, complementando o deslocamento lateral do quadril. A altura efetiva do corpo \(y\) em função do ângulo do servo do pé \(\theta_f\) é modelada como:
onde \(h\) é a distância entre o eixo do servo do pé e o chão, e \(r\) é o raio geométrico efetivo do mecanismo (distância do eixo do servo à extremidade do pé que toca o solo). Quando \(\theta_f = 0\) (pé horizontal), \(y = h - r\) é mínimo (pé totalmente apoiado); quando \(\theta_f > 0\), o lado correspondente do corpo sobe.
Nota sobre a fórmula \(y = h + r\sin(\theta_f)\): essa forma alternativa é equivalente quando a origem de \(\theta_f\) é definida na posição vertical (\(\theta_f = 0\) corresponde ao pé erguido), o que varia conforme a convenção de montagem. Adotamos aqui a convenção de que \(\theta_f = 0\) é a posição neutra (pé horizontal).
Os dois pés oscilam em oposição de fase (\(\Delta\phi = \pi\)):
Quando o pé esquerdo levanta o corpo, o pé direito o abaixa, produzindo uma inclinação controlada que se sincroniza com o movimento lateral do quadril.