Forças Estáticas e Torques nas Juntas

Published on 2026-11-04·v1.0

Objetivos de Aprendizagem

  • Enunciar τ=JT(q)F\tau=J^T(q)F junto com suas hipóteses: equilíbrio estático, juntas sem atrito, elos rígidos, gravidade tratada à parte e um Jacobiano e uma força que se referem ao mesmo ponto e ao mesmo referencial.
  • Deduzir a relação pelo princípio do trabalho virtual e conferi-la numericamente com deslocamentos finitos das juntas e com braços de alavanca.
  • Somar os torques de gravidade aos torques de contato e reconhecer a própria gravidade como JTJ^T aplicado aos pesos dos elos.
  • Explicar o que acontece numa singularidade e perto dela: forças sustentadas pela estrutura, torques que nenhuma força na ponta equilibra e erros de torque que viram erros grandes de força.

Contexto e Motivação

velocity-kinematics-and-the-jacobian constrói o Jacobiano, a matriz que transforma velocidades das juntas em velocidade do efetuador final, e singularities-and-manipulability estuda as configurações em que ele perde posto. Esta lição usa a mesma matriz, transposta, no sentido contrário: de uma força no efetuador final para os torques nas juntas que a sustentam.

A pergunta aparece sempre que um robô toca alguma coisa. Um braço de polimento aperta uma almofada contra uma superfície com uma força definida. Um robô de montagem empurra um pino num furo. Um robô sem sensor de força pode estimar a força de contato a partir dos torques nas juntas. Cada caso precisa do mapa entre torques nas juntas e força no efetuador final, e cada caso precisa saber quando esse mapa deixa de ser confiável.

Teoria Central

O braço e suas convenções

O exemplo condutor é um braço planar de dois elos com juntas de rotação. O referencial da base tem xx horizontal e yy vertical, para cima. O ângulo q1q_1 é medido do eixo xx até o elo 1, positivo no sentido anti-horário; q2q_2 é o ângulo do elo 2 em relação ao elo 1. Vetores são colunas. Os comprimentos são valores supostos: L1=0,5L_1=0{,}5 m e L2=0,4L_2=0{,}4 m. Com s1=sin⁡q1s_1=\sin q_1, c12=cos⁡(q1+q2)c_{12}=\cos(q_1+q_2) e assim por diante, a posição da ponta e o Jacobiano da velocidade linear da ponta são

p(q)=(L1c1+L2c12L1s1+L2s12),J(q)=∂p∂q=(−L1s1−L2s12−L2s12L1c1+L2c12L2c12).p(q)=\begin{pmatrix}L_1c_1+L_2c_{12}\\L_1s_1+L_2s_{12}\end{pmatrix},\qquad J(q)=\frac{\partial p}{\partial q}=\begin{pmatrix}-L_1s_1-L_2s_{12}&-L_2s_{12}\\L_1c_1+L_2c_{12}&L_2c_{12}\end{pmatrix}.

Trabalho virtual

Seja o braço parado em qq. Torques τ\tau agem nas juntas, e o efetuador final aperta o ambiente com uma força FF; pela terceira lei de Newton, o ambiente devolve −F-F. Um deslocamento virtual δq\delta q é uma mudança infinitesimal de configuração que respeita as juntas; ele move a ponta de δp=J(q) δq\delta p=J(q)\,\delta q. O princípio do trabalho virtual diz que um mecanismo sem atrito está em equilíbrio exatamente quando o trabalho virtual total das forças aplicadas se anula para todo deslocamento admissível. As forças de vínculo dentro das juntas não realizam trabalho, porque uma junta sem atrito só resiste ao movimento que ela não permite. Então

δW=τTδq−FTδp=(τ−JTF)Tδq=0para todo δq⟹τ=JT(q) F.\delta W=\tau^T\delta q-F^T\delta p=\big(\tau-J^T F\big)^T\delta q=0\quad\text{para todo }\delta q\quad\Longrightarrow\quad\tau=J^T(q)\,F.

O último passo exige componentes de δq\delta q independentes, e elas são, numa cadeia aberta, porque os ângulos das juntas são coordenadas generalizadas. Essa é a prova dada como Teorema 6.1 nas notas de Asada para o MIT 2.12. Lynch e Park chegam à mesma equação em Modern Robotics por um balanço de potência, τTq˙=FTV\tau^T\dot q=F^T V, tomado no limite de velocidade nula.

As hipóteses fazem parte do resultado:

  1. Equilíbrio estático. Sem aceleração e, no limite, sem velocidade. Quando o braço se move, entram os termos de inércia e de velocidade de lagrangian-dynamics-of-an-open-chain-robot.
  2. Juntas sem atrito. Com atrito estático, uma junta segura qualquer torque até o seu limite de atrito sem se mover, e o torque que sustenta uma dada FF deixa de ser único.
  3. Elos rígidos. Um elo que flexiona acrescenta coordenadas que qq não descreve.
  4. Gravidade à parte. JTFJ^TF é só a parcela que equilibra a força de contato. Asada a chama de equivalent joint torques e diz que ela não inclui gravidade nem atrito.
  5. Mesmo ponto, mesmo referencial. JJ precisa dar a velocidade do ponto onde FF age, no referencial em que FF está escrita. Nesta lição, FF é a força que o robô aplica no ambiente. Alguns textos usam a força que o ambiente aplica no robô, o que troca o sinal.

Momentos e a chave (wrench)

Se o efetuador final também aplica um momento mzm_z em torno do eixo normal ao plano, a velocidade angular do elo 2, q˙1+q˙2\dot q_1+\dot q_2, entra no balanço de potência com a linha Jω=(1, 1)J_\omega=(1,\ 1), e τ=JvTf+JωTmz\tau=J_v^Tf+J_\omega^Tm_z. No espaço, força e momento são empilhados num wrench de seis componentes, e Modern Robotics escreve τ=JbT(θ) Fb\tau=J_b^T(\theta)\,\mathcal F_b, com o Jacobiano do corpo e o wrench no referencial do efetuador final, ou τ=JsT(θ) Fs\tau=J_s^T(\theta)\,\mathcal F_s, com ambos no referencial espacial. O livro ordena o twist como velocidade angular e depois linear, e o wrench como momento e depois força, de modo que as linhas casam. Um Jacobiano cujas linhas são derivadas de ângulos de Euler (Jacobiano analítico) se pareia com a grandeza que faz potência com as taxas dos ângulos de Euler. Essa grandeza não é o momento físico, então momentos físicos exigem o Jacobiano geométrico.

A gravidade é a mesma lei

O peso de cada elo é uma força no seu centro de massa. Aplicar o argumento do trabalho virtual aos pesos dá os torques que mantêm o braço parado contra a gravidade:

g(q)=−∑iJciT(q)(0−mig0)=∂P∂q,g(q)=-\sum_i J_{c_i}^T(q)\begin{pmatrix}0\\-m_ig_0\end{pmatrix}=\frac{\partial P}{\partial q},

em que JciJ_{c_i} é o Jacobiano do centro de massa do elo ii, g0g_0 é a aceleração da gravidade e PP é a energia potencial. O torque total de sustentação é τ=g(q)+JT(q)F\tau=g(q)+J^T(q)F. As massas supostas para este braço são m1=3,0m_1=3{,}0 kg e m2=2,0m_2=2{,}0 kg, com centros de massa a lc1=0,25l_{c1}=0{,}25 m e lc2=0,20l_{c2}=0{,}20 m das respectivas juntas, e g0=9,81 m/s2g_0=9{,}81\ \text{m/s}^2. Assim,

g(q)=((m1lc1+m2L1) g0 c1+m2lc2 g0 c12m2lc2 g0 c12).g(q)=\begin{pmatrix}(m_1l_{c1}+m_2L_1)\,g_0\,c_1+m_2l_{c2}\,g_0\,c_{12}\\ m_2l_{c2}\,g_0\,c_{12}\end{pmatrix}.

Dualidade e singularidades

τ=JTF\tau=J^TF está definida para toda FF: o mapa de força para torque nunca falha. A pergunta inversa, que força na ponta um dado τ\tau produz ou mede, é onde mora o problema. Para JJ quadrada e não singular, F=J−TτF=J^{-T}\tau. Se J=UΣVTJ=U\Sigma V^T é uma decomposição em valores singulares, então J−T=UΣ−1VTJ^{-T}=U\Sigma^{-1}V^T: as direções lentas para velocidade (σi\sigma_i pequeno) são as direções em que um dado torque compra uma força grande. Asada chama isso de dualidade entre cinemática diferencial e estática e enuncia a versão com subespaços: o espaço nulo de JTJ^T é o conjunto das forças na ponta que não pedem torque nas juntas, porque a estrutura as sustenta, e essas são exatamente as direções em que a ponta não consegue se mover. A imagem de JTJ^T é o conjunto dos torques que alguma força na ponta equilibra; um torque com componente fora dela não pode ser mantido estaticamente, e o braço se move.

Num braço redundante (nn juntas, nn maior que a dimensão da tarefa), JTJ^T é alta, então nem todo torque está na sua imagem. Modern Robotics observa que um braço assim não fica imobilizado mesmo com o efetuador final preso, e que aí é preciso a dinâmica para saber o que acontece.

Exemplos Resolvidos

Exemplo 1: empurrando uma parede

Em q=(30∘,60∘)q=(30^\circ,60^\circ) o elo 2 aponta para cima, o cotovelo está em (0,433; 0,25)(0{,}433;\ 0{,}25) m e a ponta em (0,433; 0,65)(0{,}433;\ 0{,}65) m. O braço empurra uma parede à sua direita com F=(10, 0)F=(10,\ 0) N, e por enquanto a gravidade fica de fora.

J=(−0,65−0,40,4330),τ=JTF=(−6,5−4,0) N m.J=\begin{pmatrix}-0{,}65&-0{,}4\\0{,}433&0\end{pmatrix},\qquad \tau=J^TF=\begin{pmatrix}-6{,}5\\-4{,}0\end{pmatrix}\ \text{N m}.

Os braços de alavanca confirmam. Uma força horizontal a 0,650{,}65 m de altura acima da junta 1 produz momento −0,65⋅10-0{,}65\cdot10 em torno dela, e a ponta está 0,40{,}4 m acima da junta 2, o que dá −0,4⋅10-0{,}4\cdot10. Os dois são horários, então os dois torques são negativos: girar no sentido horário um elo 2 vertical leva sua ponta para a direita, contra a parede.

Agora confira o trabalho virtual com deslocamentos finitos. Tome uma direção uu no espaço das juntas (u=(0,6894; −0,7244)u=(0{,}6894;\ -0{,}7244), o vetor numpy.random.default_rng(0).standard_normal(2) normalizado para comprimento 1), leve qq a q+εuq+\varepsilon u com a cinemática direta exata e compare o trabalho τT(εu)\tau^T(\varepsilon u) com FT(p(q+εu)−p(q))F^T\big(p(q+\varepsilon u)-p(q)\big):

text
epsilon trabalho juntas trabalho ponta diferenca relativa 1e-1 -1.5837e-01 -1.6852e-01 -6.4e-02 1e-2 -1.5837e-02 -1.5940e-02 -6.5e-03 1e-3 -1.5837e-03 -1.5847e-03 -6.5e-04 1e-4 -1.5837e-04 -1.5838e-04 -6.5e-05

A diferença cai em proporção a ε\varepsilon, que é o que "igual em primeira ordem" quer dizer: o deslocamento finito acrescenta um termo de segunda ordem vindo da curvatura de p(q)p(q), e o deslocamento virtual o deixa de fora. Uma diferença central de FTp(q)F^Tp(q) em cada direção de junta, com passo 10−610^{-6}, dá (−6,5; −4,0)(-6{,}5;\ -4{,}0) na precisão impressa, o mesmo vetor que JTFJ^TF.

Exemplo 2: somando a gravidade

Na mesma configuração, c12=cos⁡90∘=0c_{12}=\cos 90^\circ=0, então o peso do elo 2 passa pela junta 2 e g2=0g_2=0. A junta 1 carrega os dois elos:

g(q)=((3,0⋅0,25+2,0⋅0,5)⋅9,81⋅cos⁡30∘0)=(14,870) N m,τ=g(q)+JTF=(8,37−4,00) N m.g(q)=\begin{pmatrix}(3{,}0\cdot0{,}25+2{,}0\cdot0{,}5)\cdot9{,}81\cdot\cos30^\circ\\0\end{pmatrix}=\begin{pmatrix}14{,}87\\0\end{pmatrix}\ \text{N m},\qquad \tau=g(q)+J^TF=\begin{pmatrix}8{,}37\\-4{,}00\end{pmatrix}\ \text{N m}.

Dois cálculos independentes dão o mesmo g(q)g(q): a soma −∑iJciT(0,−mig0)-\sum_iJ_{c_i}^T(0,-m_ig_0) e um gradiente por diferença central de P(q)=m1g0lc1s1+m2g0(L1s1+lc2s12)P(q)=m_1g_0l_{c1}s_1+m_2g_0(L_1s_1+l_{c2}s_{12}) devolvem (14,8675; 0)(14{,}8675;\ 0). Gravidade e parede se cancelam em parte na junta 1. Um motor dimensionado só pela força de contato, ou só pela gravidade, sairia errado.

Exemplo 3: entrando na singularidade do braço esticado

Fixe q1=0q_1=0 e leve o cotovelo em direção a q2=0q_2=0, onde o braço fica reto ao longo de xx e J=(000,90,4)J=\begin{pmatrix}0&0\\0{,}9&0{,}4\end{pmatrix} tem posto 1. A tabela traz os valores singulares de JJ, os torques para um empurrão de 10 N ao longo de xx (ao longo do braço) e ao longo de yy (atravessado), a maior FxF_x permitida por um limite de torque ∣τi∣≤20\lvert\tau_i\rvert\le20 N m e o pior erro de força causado por uma incerteza de ±0,5\pm0{,}5 N m em cada junta (de atrito estático ou de um sensor de torque), calculado como o maior ∥J−Tδτ∥\lVert J^{-T}\delta\tau\rVert nos vértices dessa caixa:

text
q2 sigma_1 sigma_2 tau p/ Fx=10 N tau p/ Fy=10 N Fx max (N) erro de forca (N) 0 grau 0.9849 0 (0, 0) (9.0, 4.0) ilimitada ilimitado 1 grau 0.9848 0.0035 (-0.07, -0.07) (9.0, 4.0) 2865 186 5 graus 0.9840 0.0177 (-0.35, -0.35) (8.98, 3.98) 574 37 30 graus 0.9515 0.1051 (-2.0, -2.0) (8.46, 3.46) 100 6.3 90 graus 0.6986 0.2863 (-4.0, -4.0) (5.0, 0.0) 50 2.4

Quatro coisas acontecem quando σ2→0\sigma_2\to0.

A estrutura assume a carga. Em q2=0q_2=0, um empurrão ao longo do braço pede torque zero: (10,0)(10,0) está no espaço nulo de JTJ^T. Os elos trabalham em compressão, como uma coluna, e as juntas não sentem nada em torno dos seus eixos.

Alguns torques não têm equilíbrio. A imagem de JTJ^T em q2=0q_2=0 é a reta gerada por (0,9; 0,4)(0{,}9;\ 0{,}4). O torque (1, 0)(1,\ 0) não está nela; a força na ponta por mínimos quadrados deixa um resíduo de torque de (−0,16; 0,37)(-0{,}16;\ 0{,}37) N m que nada equilibra, então o braço não fica parado.

Força sai barata na direção perdida. Em q2=1∘q_2=1^\circ, um limite de 20 N m permite empurrar com 2865 N ao longo do braço, 57 vezes mais que em q2=90∘q_2=90^\circ. É a vantagem mecânica de uma articulação quase reta. O torque necessário também troca de sinal ao atravessar a singularidade: em q2=−1∘q_2=-1^\circ o mesmo empurrão pede (+0,07; +0,07)(+0{,}07;\ +0{,}07) N m, então um controlador que segura uma força axial grande perto de q2=0q_2=0 precisa saber de que lado está o cotovelo.

Estimativas de força quebram. Ler a força de contato pelos torques usa J−TJ^{-T}, cujo maior ganho é 1/σ21/\sigma_2: 3,5 em q2=90∘q_2=90^\circ e 282 em q2=1∘q_2=1^\circ. Uma incerteza de ±0,5\pm0{,}5 N m no torque, inofensiva em 90∘90^\circ (2,4 N de erro de força), vira 186 N em 1∘1^\circ. Uma força estimada pelos torques nas juntas é, portanto, menos confiável justamente nas direções em que o braço é mais forte.

Equívocos Comuns e Armadilhas

  • "JTFJ^TF é o torque do motor." É a parcela que equilibra a força de contato. Gravidade, atrito e, em movimento, os termos dinâmicos se somam; no Exemplo 2 a gravidade foi maior que o termo de contato na junta 1.
  • "Perto de uma singularidade o braço fica fraco." Ele fica fraco para movimento atravessado à direção perdida e muito forte em força ao longo dela: 2865 N contra 50 N no Exemplo 3. O que falha é a capacidade de escolher a força livremente e de medi-la.
  • "F=J−TτF=J^{-T}\tau sempre funciona." Exige JJ quadrada e não singular. Na singularidade, alguns torques não têm força que os equilibre, e num braço redundante JTJ^T não é quadrada.
  • "O sinal se resolve sozinho." Aqui FF é a força sobre o ambiente. Usar a força sobre o robô sem trocar o sinal dá torques que empurram para o lado errado.
  • "Qualquer Jacobiano serve." JJ tem de ser do ponto onde a força age e estar escrito no referencial de FF. Um Jacobiano analítico, feito com taxas de ângulos de Euler, não mapeia momentos físicos.
  • "Estático quer dizer que a fórmula é exata." Com atrito estático, o torque de sustentação fica numa faixa ∣τ−JTF∣≤τf\lvert\tau-J^TF\rvert\le\tau_f por junta, e o Exemplo 3 mostra até onde essa faixa chega no espaço de forças perto de uma singularidade.

Resumo

Em equilíbrio estático, com juntas sem atrito e elos rígidos, os torques que equilibram uma força no efetuador final são τ=JT(q)F\tau=J^T(q)F, em que JJ é o Jacobiano do ponto de contato no referencial de FF e FF é a força que o robô aplica. O trabalho virtual dá o resultado numa linha, e deslocamentos finitos o confirmam em primeira ordem: a diferença relativa caiu de 6,4×10−26{,}4\times10^{-2} para 6,5×10−56{,}5\times10^{-5} quando ε\varepsilon foi de 10−110^{-1} a 10−410^{-4}. A gravidade é a mesma lei aplicada aos pesos, g(q)=∂P/∂qg(q)=\partial P/\partial q, e se soma aos torques de contato. O mapa de força para torque está sempre definido; o mapa de volta, J−TJ^{-T}, tem ganho 1/σmin⁡1/\sigma_{\min}. Na singularidade do braço esticado, uma força ao longo do braço não pede torque, alguns torques não têm força que os equilibre, um limite de 20 N m compra milhares de newtons ao longo do braço e um erro de ±0,5\pm0{,}5 N m no torque vira 186 N de erro de força a um grau dali.

Documentation Links