đŠŸ Atuadores e Controle
đŻ O que vocĂȘ vai aprenderâ
Neste mĂłdulo, vocĂȘ vai descobrir os "mĂșsculos" dos robĂŽs humanoides: servomotores, atuadores hidrĂĄulicos, quasi-direct drive e como sistemas de controle coordenam dezenas de juntas simultaneamente.
đȘ Atuadores: Os MĂșsculos do RobĂŽâ
O que Ă© um Atuador?â
Definição: Dispositivo que converte energia em movimento mecùnico
Entrada
Energia elétrica, hidråulica ou pneumåtica
Processamento
Controlador define força/velocidade
SaĂda
Movimento rotacional ou linear
Analogia Humana:
- Atuador = MĂșsculo
- Encoder = Propriocepção (sentir posição)
- Controlador = Cerebelo (coordenação motora)
âïž Tipos de Atuadoresâ
1. Servomotores (Servo Motors)â
đŻ O Mais Comum em RobĂłticaâ
O que é: Motor elétrico + caixa de redução + encoder + controlador integrado
Como funciona:
- VocĂȘ envia comando: "Mover para 90°"
- Controlador lĂȘ encoder: "Estou em 45°"
- Motor gira até atingir 90°
- MantĂ©m posição com feedback contĂnuo
Componentes:
ââââââââââââââââââââââââââââ
â Servo Motor â
â â
â âââââââ âââââââ â
â âMotorââ âCaixaâ â Eixoâ
â â DC â âRedu-â SaĂda
â âââââââ âção â â
â âââââââ â
â â â
â ââââââââââ â
â âEncoder â â
â ââââââââââ â
â â â
â ââââââââââââââââ â
â âControlador â â
â â(PID) â â
â ââââââââââââââââ â
ââââââââââââââââââââââââââââ
Tipos de Servos:
- Hobby/RC
- Servos Industriais
- Quasi-Direct Drive
Servos RC (Radio Control)â
CaracterĂsticas:
- TensĂŁo: 4.8V - 7.4V
- Torque: 1 - 30 kg·cm
- Ăngulo: 180° (limitado)
- Interface: PWM (1-2ms)
- Preço: $5 - $100
Modelos Populares:
- SG90: 1.8 kg·cm, $2 (micro)
- MG996R: 11 kg·cm, $8 (metal gear)
- Dynamixel AX-12A: 15 kg·cm, $45 (robotics)
Uso em Humanoides: â NĂŁo recomendado - Torque insuficiente para peso do robĂŽ
Servos de Alta Performanceâ
CaracterĂsticas:
- TensĂŁo: 24V - 48V
- Torque: 50 - 500 kg·cm
- Ăngulo: 360° contĂnuo
- Interface: CANbus, EtherCAT
- Preço: $500 - $5,000
Modelos em Humanoides:
- Dynamixel Pro H54-200: 200 kg·cm, $1,500
- Maxon EC-4pole: 300 kg·cm, $2,000
- Kollmorgen AKM: 500 kg·cm, $3,500
Uso: â Atlas (versĂ”es antigas), humanoides de pesquisa
Vantagens:
- â Controle preciso de posição
- â Feedback em tempo real
- â FĂĄcil de programar
Desvantagens:
- â Pesado (caixa de redução grande)
- â Backdrivability ruim (difĂcil mover manualmente)
- â LatĂȘncia em controle de força
QDD - A Revolução Modernaâ
O que Ă©: Motor de alto torque + redução mĂnima (5:1 a 10:1)
Diferença Fundamental:
- Servo tradicional: Redução 50:1 a 300:1
- QDD: Redução 6:1 tĂpica
Por que isso importa:
Redução alta (100:1):
+ Torque alto com motor pequeno
- Lento
- Não "sente" forças externas (ruim para contato)
Redução baixa (6:1):
+ RĂĄpido e responsivo
+ Backdrivable (pode mover manualmente)
+ Sente colisÔes instantaneamente
- Motor precisa ser mais potente
Exemplos de QDD:
- MIT Cheetah Motor: Usado no Unitree H1
- Tmotor AK80-9: 9 N·m, $400, open-source
- RoboDrive ILM: 360 N·m (quadril)
EspecificaçÔes TĂpicas:
Tmotor AK80-9:
Torque: 9 N·m (continuo), 27 N·m (pico)
Velocidade: 360 RPM (sem carga)
Peso: 485g
TensĂŁo: 24V
Controle: Posição, Velocidade, Torque
Interface: CANbus
Por que Unitree H1 usa QDD:
- â Locomoção dinĂąmica (saltos, corrida)
- â Reação rĂĄpida a perturbaçÔes
- â Controle de impedĂąncia (compliance)
2. Atuadores HidrĂĄulicosâ
đ§ Força MĂĄximaâ
O que Ă©: PistĂŁo movido por fluido pressurizado
Como funciona:
- Bomba hidrĂĄulica gera pressĂŁo (3000 PSI tĂpico)
- VĂĄlvula direciona fluido para pistĂŁo
- Pistão empurra com força enorme
Vantagens:
- â Relação potĂȘncia/peso imbatĂvel
- â Torque altĂssimo (10,000+ N·m)
- â Durabilidade em ambientes extremos
Desvantagens:
- â Barulhento (bomba hidrĂĄulica)
- â Pesado (fluido + bomba + bateria)
- â Manutenção complexa (vazamentos)
- â EficiĂȘncia energĂ©tica baixa (~30%)
Exemplo ClĂĄssico: Boston Dynamics Atlas (2013-2023)
EspecificaçÔes:
28 juntas hidrĂĄulicas
PressĂŁo: 3000 PSI
Peso: 89 kg (incluindo bomba)
Autonomia: 20 minutos (bomba consome muito)
Barulho: 80 dB (como liquidificador)
Por que Atlas migrou para elétrico (2024):
- HidrĂĄulica era excelente para DARPA Challenge (terreno extremo)
- AplicaçÔes industriais preferem elétrico (silencioso, limpo)
3. Atuadores PneumĂĄticosâ
đš MĂșsculos de Arâ
O que Ă©: PistĂŁo ou mĂșsculo artificial inflado com ar comprimido
Tipos:
PistĂ”es PneumĂĄticosâ
- Cilindros que expandem/contraem
- Força: Moderada
- Uso: Grippers simples
MĂșsculos PneumĂĄticos (PAM)â
- Tubos que encolhem quando inflados
- Imitam mĂșsculos biolĂłgicos
- Compliance natural
Vantagens:
- â Leve
- â Seguro (compliance natural)
- â Barato
Desvantagens:
- â Controle impreciso
- â Precisa de compressor
- â Lento
Uso em Humanoides: â ïž Raro - Usado em protĂłtipos de pesquisa (ex: ECCEROBOT)
4. Atuadores Lineares ElĂ©tricosâ
đ Movimento em Linha Retaâ
O que é: Motor que converte rotação em movimento linear
Mecanismo:
- Fuso de esfera (ball screw)
- Motor gira â Porca se move linearmente
AplicaçÔes:
- â ExtensĂŁo de coluna vertebral
- â Grippers paralelos
- â ïž Raramente usado em pernas (rotacional Ă© melhor)
đïž Modos de Controleâ
PirĂąmide de Controleâ
ââââââââââââââââ
â Controle de â â Mais difĂcil, mais Ăștil
â ImpedĂąncia â
ââââââââââââââââ€
â Controle de â
â Torque â
ââââââââââââââââ€
â Controle de â
â Velocidade â
ââââââââââââââââ€
â Controle de â â Mais fĂĄcil, menos flexĂvel
â Posição â
ââââââââââââââââ
- Posição
- Velocidade
- Torque
- ImpedĂąncia
Controle de Posiçãoâ
Comando: "VĂĄ para Ăąngulo X"
Exemplo:
servo.set_position(joint_id=3, angle=90) # Joelho a 90°
Algoritmo PID (Proporcional-Integral-Derivativo):
def pid_control(target, current, dt):
error = target - current
# Proporcional: Quanto mais longe, mais força
P = Kp * error
# Integral: Corrige erro acumulado
integral += error * dt
I = Ki * integral
# Derivativo: Amortece oscilação
D = Kd * (error - last_error) / dt
output = P + I + D
return output
# Exemplo de ganhos
Kp = 10.0 # Força proporcional
Ki = 0.1 # Correção lenta
Kd = 2.0 # Amortecimento
Uso:
- â Poses estĂĄticas (ficar em pĂ© parado)
- â Movimentos planejados (dança, tai-chi)
- â Interação com ambiente (empurrar caixa)
Controle de Velocidadeâ
Comando: "Gire a X rad/s"
Exemplo:
servo.set_velocity(joint_id=5, velocity=3.14) # Ï rad/s
Uso:
- â Rodinhas (continuous rotation)
- â ïž Raramente usado em humanoides
Controle de Torqueâ
Comando: "Aplique X N·m de força"
Exemplo:
servo.set_torque(joint_id=8, torque=50.0) # 50 N·m no quadril
Por que Ă© poderoso:
- â Controle fino de força
- â Reação a perturbaçÔes
- â Locomoção dinĂąmica
Exemplo - Subir Escada:
# Sensor detecta degrau Ă frente
if terrain == "stair":
# Aplicar torque extra no joelho para levantar perna
knee_torque = 80 # N·m
else:
# Terreno plano, torque normal
knee_torque = 40
motor.set_torque(knee_joint, knee_torque)
Requisito: Atuador precisa ter sensor de torque
Controle de ImpedĂąncia (Compliance)â
O que Ă©: Controlar rigidez da junta
Analogia:
- Rigidez alta = Braço de ferro (não cede)
- Rigidez baixa = Braço relaxado (cede facilmente)
Equação:
Torque = K_stiffness Ă (Ξ_target - Ξ_atual) + D_damping Ă (Ï_target - Ï_atual)
Onde:
K_stiffness: Rigidez (N·m/rad)
D_damping: Amortecimento (N·m·s/rad)
Exemplo PrĂĄtico:
# Braço segurando bandeja
def impedance_control(target_pos, current_pos, velocity):
# Rigidez moderada: Resiste a movimento mas cede se forçado
K = 50 # N·m/rad
D = 10 # N·m·s/rad
error_pos = target_pos - current_pos
error_vel = 0 - velocity # Queremos velocidade zero
torque = K * error_pos + D * error_vel
return torque
# Se humano empurrar bandeja:
# - Braço cede (não quebra)
# - Depois volta à posição original
AplicaçÔes:
- â Interação segura com humanos
- â Manipulação de objetos frĂĄgeis
- â Andar em terreno irregular
Unitree H1: Controle de impedùncia em todas as juntas (graças a QDD)
đčïž Arquitetura de Controleâ
NĂveis de Controle em Humanoideâ
ââââââââââââââââââââââââââââââââââââââ
â NĂvel Alto: Planejamento â â "Ande atĂ© a porta"
â (Computador principal) â
ââââââââââââââââââŹââââââââââââââââââââ
â
ââââââââââââââââââââââââââââââââââââââ
â NĂvel MĂ©dio: Geração de TrajetĂłriaâ â "Mova perna 30cm, 2s"
â (ROS2, Python) â
ââââââââââââââââââŹââââââââââââââââââââ
â
ââââââââââââââââââââââââââââââââââââââ
â NĂvel Baixo: Controle de Motor â â "Joelho: 90°â110° em 0.1s"
â (Controlador embarcado, 1kHz) â
ââââââââââââââââââŹââââââââââââââââââââ
â
[ Motor ]
Exemplo Real - Unitree H1â
Hardware:
Computador Principal (opcional):
- NVIDIA Jetson Orin
- Executa: IA, visĂŁo, planejamento
- FrequĂȘncia: 30 Hz
Controlador Embarcado:
- MCU ARM (Cortex-M7 ou similar)
- Executa: Controle de balanço, torque
- FrequĂȘncia: 1000 Hz (1 ms loop)
Drivers de Motor (um por junta):
- FOC (Field-Oriented Control)
- LĂȘ encoder, aplica PWM
- FrequĂȘncia: 20 kHz
Comunicação:
Jetson â[Ethernet]â MCU â[CANbus]â Motores (21 nĂłs)
LatĂȘncia total:
Comando do Jetson â Movimento do motor: ~3-5 ms
⥠EspecificaçÔes por Juntaâ
Torque NecessĂĄrio por RegiĂŁoâ
| Junta | Torque (N·m) | Por quĂȘ? | Tipo de Atuador |
|---|---|---|---|
| Tornozelo | 80-150 | Equilibra corpo inteiro | QDD / Servo industrial |
| Joelho | 150-250 | Levanta corpo ao subir | QDD / HidrĂĄulico |
| Quadril (pitch) | 200-360 | Move perna inteira | QDD potente |
| Quadril (roll) | 100-150 | Estabilização lateral | QDD |
| Quadril (yaw) | 50-100 | Rotação da perna | Servo industrial |
| Coluna | 100-200 | Inclinar tronco | QDD / Linear |
| Ombro | 50-100 | Levantar braço | Servo industrial |
| Cotovelo | 30-60 | Dobrar braço | Servo |
| Punho | 10-30 | Rotação da mão | Servo pequeno |
| Dedos | 1-5 | Aperto | Micro servo |
CĂĄlculo de Torque - Exemplo Joelho:
Torque = Força à Distùncia
CenĂĄrio: Levantar de agachamento
Massa acima do joelho: 40 kg
DistĂąncia do centro de massa ao joelho: 0.3 m
Aceleração: 2 m/sÂČ (movimento rĂĄpido)
Torque = 40 kg Ă (9.81 + 2) m/sÂČ Ă 0.3 m
= 141.6 N·m
Adicionar margem de segurança: 150-200 N·m
đ EficiĂȘncia EnergĂ©ticaâ
Consumo por Tipoâ
- Elétrico
- HidrĂĄulico
Servos / QDD Elétricos
EficiĂȘncia: 70-90%
Consumo tĂpico - Unitree H1:
Em pé parado: 50W (mantém torque)
Caminhando: 200-400W
Correndo: 800-1200W
Bateria: 48V, 15Ah = 720 Wh
Autonomia caminhando: ~2 horas
Fatores que afetam:
- â Caixa de redução eficiente
- â Controle otimizado (nĂŁo força contra gravidade desnecessariamente)
- â Peso do robĂŽ
Atuadores HidrĂĄulicos
EficiĂȘncia: 20-40% (muito baixa!)
Por que tĂŁo ruim:
Energia da bateria (100%)
â Bomba hidrĂĄulica (perde 40%)
â VĂĄlvulas (perde 20%)
â PistĂŁo (perde 10%)
= 30% chega ao movimento
Além disso: Bomba sempre ligada (consumo constante)
Consumo tĂpico - Atlas HidrĂĄulico:
Bomba sempre ligada: 2-3 kW
Autonomia: 20 minutos
Por isso Atlas mudou para elétrico!
đ ïž Construindo um Sistema de Atuação DIYâ
Opção 1: Hobby (Pequeno Humanoide, <50cm)â
Componentes:
16 Servos MG996R: $8 Ă 16 = $128
Controlador PCA9685: $12
Bateria 7.4V 3000mAh: $25
Total: ~$165
O que vocĂȘ pode fazer:
- â Poses estĂĄticas
- â Caminhada lenta
- â Saltos ou corrida
Opção 2: Semi-Profissional (Humanoide 1m)â
Componentes:
6x Dynamixel MX-64: $200 Ă 6 = $1,200 (pernas)
6x Dynamixel MX-28: $150 à 6 = $900 (braços)
4x Dynamixel AX-12: $45 Ă 4 = $180 (mĂŁos)
Controlador OpenCM9.04: $50
Bateria 12V 20Ah LiPo: $200
Total: ~$2,530
O que vocĂȘ pode fazer:
- â Caminhada estĂĄvel
- â Manipulação de objetos
- â ïž Locomoção dinĂąmica limitada
Opção 3: Profissional (QDD, pesquisa)â
Componentes:
10x Tmotor AK80-9: $400 Ă 10 = $4,000 (core joints)
6x Tmotor AK70-10: $350 Ă 6 = $2,100 (outros)
Controlador ODrive Pro: $200 Ă 8 = $1,600
Bateria 48V 30Ah: $800
Total: ~$8,500
O que vocĂȘ pode fazer:
- â Locomoção dinĂąmica
- â Controle de força
- â Publicar papers!
đĄ TendĂȘncias Futurasâ
Motores Mais Densos
Torque density de 10 N·m/kg â 20 N·m/kg nos prĂłximos 5 anos
EletrĂŽnica Integrada
Driver + motor + encoder em um Ășnico pacote
Controle por IA
Redes neurais substituindo PID tradicional
Custo Caindo
QDD open-source (Tmotor) democratizando acesso
đ Conceitos-Chaveâ
- QDD Ă© o padrĂŁo ouro atual para humanoides de alta performance
- Controle de torque > controle de posição para locomoção dinùmica
- HidrĂĄulica estĂĄ morrendo (muito barulho, pouca eficiĂȘncia)
- Backdrivability (poder mover manualmente) Ă© crĂtico para segurança
O MIT Cheetah Motor (usado no H1) foi open-sourced em 2020! Qualquer pessoa pode construir um QDD seguindo os planos. Isso democratizou humanoides de alta performance.
đ PrĂłximo MĂłduloâ
Motores precisam de cérebros para coordenar. Vamos aprender sobre computação embarcada: