đ» Computação Embarcada
đŻ O que vocĂȘ vai aprenderâ
Neste mĂłdulo, vocĂȘ vai entender os computadores dentro dos robĂŽs humanoides: desde microcontroladores que controlam motores atĂ© GPUs que processam visĂŁo computacional e IA.
đ§ A Arquitetura Computacional de um Humanoideâ
Analogia com o CĂ©rebro Humanoâ
CĂłrtex (GPU/CPU Principal)
RaciocĂnio, visĂŁo, planejamento
Exemplo: NVIDIA Jetson Orin
Cerebelo (MCU de Controle)
Coordenação motora, equilĂbrio
Exemplo: STM32, Cortex-M7
Nervos Periféricos (Drivers)
Controle direto de motores
Exemplo: ODrive, SimpleFOC
đïž Arquitetura HierĂĄrquicaâ
Modelo de 3 Camadasâ
âââââââââââââââââââââââââââââââââââââââ
â CAMADA 1: Computação de Alto NĂvel â
â (High-Level Computer) â
â âą VisĂŁo computacional (IA) â
â âą Planejamento de trajetĂłria â
â âą Tomada de decisĂŁo â
â âą Interface com usuĂĄrio â
â â
â Hardware: Jetson Orin, PC embarcado â
â OS: Ubuntu + ROS2 â
â FrequĂȘncia: 10-60 Hz â
ââââââââââââââââŹâââââââââââââââââââââââ
â Ethernet/USB
ââââââââââââââââŒâââââââââââââââââââââââ
â CAMADA 2: Controle de Baixo NĂvel â
â (Real-Time Controller) â
â âą Controle de equilĂbrio â
â âą Geração de torque â
â âą Leitura de sensores (IMU, encoders)â
â âą Segurança (emergency stop) â
â â
â Hardware: MCU ARM Cortex-M7 â
â OS: FreeRTOS ou bare-metal â
â FrequĂȘncia: 1000 Hz (1 kHz) â
ââââââââââââââââŹâââââââââââââââââââââââ
â CANbus/UART
ââââââââââââââââŒâââââââââââââââââââââââ
â CAMADA 3: Drivers de Motor â
â (Motor Controllers) â
â âą PWM para motores â
â âą Leitura de encoder local â
â âą FOC (Field-Oriented Control) â
â â
â Hardware: ESC, ODrive, driver integradoâ
â FrequĂȘncia: 20-50 kHz â
âââââââââââââââââââââââââââââââââââââââ
đȘ Camada 1: Computação de Alto NĂvelâ
OpçÔes de Hardwareâ
- NVIDIA Jetson
- Raspberry Pi
- Mini PC x86
- Custom SoM
NVIDIA Jetson - O PadrĂŁo da IndĂșstriaâ
Por que Jetson domina em robĂłtica:
- â GPU integrada (aceleração de IA)
- â Baixo consumo (10-30W)
- â Compacto (cartĂŁo de crĂ©dito)
- â Ecossistema maduro (JetPack SDK)
Modelos DisponĂveis (2024):
| Modelo | GPU | RAM | Preço | Uso |
|---|---|---|---|---|
| Nano | 128 CUDA | 4 GB | $99 | Hobby, protĂłtipos |
| Xavier NX | 384 CUDA | 8 GB | $399 | Projetos médios |
| Orin Nano | 1024 CUDA | 8 GB | $499 | Entry profissional |
| Orin NX | 1024 CUDA | 16 GB | $799 | Profissional |
| Orin AGX | 2048 CUDA | 64 GB | $1,999 | Top de linha |
Unitree H1 usa: Jetson Orin (NX ou AGX, dependendo da configuração)
Capacidades:
# Performance em tarefas tĂpicas (Orin AGX)
YOLOv8 (detecção de objetos): 120 FPS @ 1080p
Depth estimation: 60 FPS
SLAM (mapeamento): 30 FPS simultĂąneo
Consumo: 15-25W (modo performance)
Raspberry Pi - EconĂŽmicoâ
Vantagens:
- â Muito barato ($35-75)
- â Comunidade gigantesca
- â GPIO para prototipagem
LimitaçÔes:
- â Sem GPU dedicada (IA lenta)
- â CPU ARM fraca
- â NĂŁo Ă© tempo-real
Modelos:
Raspberry Pi 4 (8GB): $75
CPU: Quad-core ARM A72 @ 1.5 GHz
RAM: 8 GB
GPU: VideoCore VI (fraca para IA)
Raspberry Pi 5 (8GB): $80
CPU: Quad-core ARM A76 @ 2.4 GHz
Melhor, mas ainda sem GPU para IA
Uso recomendado:
- â Projetos educacionais pequenos
- â Interface/dashboard
- â NĂO para visĂŁo + IA em tempo real
Mini PC Embarcadoâ
Quando usar:
- Precisa rodar software x86 (nĂŁo ARM)
- Quer mĂĄximo poder computacional
- Peso/tamanho nĂŁo sĂŁo crĂticos
Exemplos:
Intel NUC 13 Pro:
CPU: Core i7-1360P (12 cores)
RAM: 64 GB DDR4
GPU: Iris Xe (iGPU)
Consumo: 28W tĂpico
Preço: $800
+ GPU externa (opcional):
NVIDIA RTX 4060 Mobile (eGPU via Thunderbolt)
Consumo: +80W
Uso: Boston Dynamics Atlas (nova versão elétrica provavelmente usa algo assim)
System-on-Module Customizadoâ
O que empresas fazem:
- Tesla Optimus: SoC custom (mesmo chip FSD dos carros)
- Figure 02: Likely Qualcomm Snapdragon (nĂŁo confirmado)
Vantagens de custom:
- â Otimizado para tarefa especĂfica
- â Integração total (hardware + software)
- â Caro desenvolver ($$$M em P&D)
Tesla FSD Chip:
2x Neural Network Accelerators (72 TOPS cada)
CPU: 12-core ARM A72
GPU: NĂŁo divulgado
Consumo: ~70W
Projetado para: Processamento de 8 cĂąmeras simultĂąneas
⥠Camada 2: Controlador Tempo-Realâ
Por que MCU Separado?â
Problema do Linux:
Linux nĂŁo Ă© tempo-real:
- Pode ter latĂȘncia de 1-10ms imprevisĂvel
- Garbage collector pode pausar programa
- Multitasking nĂŁo garante prioridade
Controle de equilĂbrio precisa:
- Loop de 1 kHz (1ms exato)
- Zero jitter (variação)
- Prioridade absoluta
Solução: Microcontrolador dedicado (MCU)
OpçÔes de MCUâ
- STM32
- Teensy
- ESP32
STM32 - O Mais Popularâ
FamĂlia: ARM Cortex-M (ST Microelectronics)
Modelos Comuns:
STM32F4 (Entry):
CPU: Cortex-M4 @ 168 MHz
RAM: 192 KB
Flash: 1 MB
FPU: Sim (single precision)
Preço: $5-10
STM32H7 (High-performance):
CPU: Cortex-M7 @ 480 MHz
RAM: 1 MB
Flash: 2 MB
FPU: Sim (double precision)
Preço: $15-25
Por que Ă© popular:
- â FPU (cĂĄlculos de ponto flutuante rĂĄpidos)
- â Muitos timers (PWM)
- â CANbus integrado
- â DMA (transferĂȘncia sem CPU)
Exemplo de uso:
// Loop de controle a 1 kHz
void TIM2_IRQHandler() { // Interrupção do timer
// Ler IMU (via SPI)
imu_data_t imu = read_imu();
// Ler encoders (via GPIO)
for (int i = 0; i < 21; i++) {
joint_pos[i] = read_encoder(i);
}
// Calcular torque (controle de equilĂbrio)
compute_balance_control(imu, joint_pos, torque_output);
// Enviar comandos via CANbus
for (int i = 0; i < 21; i++) {
can_send_torque(i, torque_output[i]);
}
}
Teensy - Arduino Turbinadoâ
O que Ă©: Placa ARM com Arduino IDE
Modelo popular:
Teensy 4.1:
CPU: ARM Cortex-M7 @ 600 MHz
RAM: 1 MB
Flash: 8 MB
FPU: Sim
Ethernet: Sim (integrado)
Preço: $30
Vantagens:
- â FĂĄcil de programar (Arduino IDE)
- â RĂĄpido (600 MHz!)
- â Comunidade ativa
LimitaçÔes:
- â ïž Menos perifĂ©ricos que STM32
- â ïž CANbus precisa de mĂłdulo externo
Uso: Projetos DIY, protĂłtipos rĂĄpidos
ESP32 - Com WiFiâ
EspecificaçÔes:
ESP32-S3:
CPU: Dual-core Xtensa @ 240 MHz
RAM: 512 KB
WiFi: 802.11n
Bluetooth: 5.0
Preço: $3-8
Vantagens:
- â BaratĂssimo
- â WiFi integrado (telemetria wireless)
Desvantagens:
- â Sem FPU (cĂĄlculos lentos)
- â NĂŁo Ă© ARM (menos suporte em robĂłtica)
Uso: Sensores auxiliares, telemetria, nĂŁo para controle crĂtico
đ Camada 3: Drivers de Motorâ
Controladores de Motorâ
- ODrive
- VESC
- Drivers Integrados
ODrive - O Favorito Open-Sourceâ
O que Ă©: Driver de motor brushless (BLDC) com FOC
Modelos:
ODrive v3.6 (Original):
Canais: 2 motores
Corrente: 60A contĂnuo por canal
TensĂŁo: 12-56V
Interface: USB, UART, CANbus
Encoder: Incremental, absoluto, Hall
Preço: $120
ODrive Pro:
Canais: 1 motor (mais compacto)
Corrente: 90A contĂnuo
TensĂŁo: 12-56V
CANbus isolado
Preço: $200
Por que Ă© Ăłtimo:
- â Open-source (firmware e hardware)
- â FOC (controle suave e eficiente)
- â Controle de posição/velocidade/torque
- â Documentação excelente
Exemplo de comando:
import odrive
odrv = odrive.find_any()
# Configurar modo torque
odrv.axis0.controller.config.control_mode = 1 # Torque
# Aplicar 2 N·m
odrv.axis0.controller.input_torque = 2.0
VESC - De Skates ElĂ©tricosâ
O que Ă©: Electronic Speed Controller com FOC
EspecificaçÔes:
VESC 6 MkVI:
Corrente: 50A contĂnuo, 240A pico
TensĂŁo: 8-60V
Interface: UART, CANbus
Preço: $150
Vantagens:
- â Open-source
- â Muito robusto
- â Software maduro (VESC Tool)
Limitação:
- â ïž Otimizado para velocidade (skates), nĂŁo torque
Drivers Integrados no Motorâ
Exemplo: Dynamixel, Tmotor AK-series
Conceito:
Motor tradicional:
Motor â Cabo â Driver (separado) â Cabo â MCU
Motor integrado:
Motor + Driver + Encoder (tudo em um)
â
Cabo CANbus â MCU
Vantagens:
- â Menos cabos (mais limpo)
- â Plug-and-play
- â Calibração de fĂĄbrica
Desvantagens:
- â Mais caro
- â Menos flexĂvel
Tmotor AK80-9:
Driver FOC integrado
Interface: CANbus (1 Mbps)
Controle: Posição, Velocidade, Torque
Protocolo: MIT Mini-Cheetah
Preço: $400 (motor + driver)
đ Comunicação Entre Camadasâ
Protocolosâ
| Protocolo | Velocidade | DistĂąncia | Uso | Robustez |
|---|---|---|---|---|
| CANbus | 1 Mbps | 40m | Motores â MCU | âââââ |
| Ethernet | 1 Gbps | 100m | Jetson â MCU | ââââ |
| USB | 480 Mbps | 5m | CĂąmeras, geral | âââ |
| UART/Serial | 115 kbps | 15m | Debug, sensores simples | ââ |
| SPI | 10+ Mbps | 0.3m | IMU, encoder local | âââ |
| I2C | 400 kbps | 1m | Sensores auxiliares | ââ |
CANbus em Detalhesâ
Por que CANbus domina em robĂłtica:
CaracterĂsticas:
â
Diferencial (imune a ruĂdo elĂ©trico)
â
Multi-master (qualquer nĂł pode iniciar)
â
Arbitração (sem colisÔes)
â
CRC integrado (detecção de erro)
â
Cabos longos (até 40m)
Topologia:
MCU ââ Motor1 ââ Motor2 ââ ... ââ Motor21
(Daisy-chain, nĂŁo estrela)
Velocidades tĂpicas:
250 kbps: AplicaçÔes automotivas
500 kbps: RobĂłtica moderada
1 Mbps: RobĂłtica de alta performance (Unitree)
Exemplo de mensagem CAN:
# Enviar comando de torque para motor ID=5
can_message = {
'id': 0x05, # Motor ID
'data': [
0x01, # Comando: Set torque
0x00, 0x64, # Torque: 100 (0x0064) em escala
0x00, 0x00, 0x00, 0x00, 0x00 # Padding
],
'dlc': 8 # Data length
}
can.send(can_message)
đ Arquiteturas Reaisâ
Unitree H1 (Estimado)â
âââââââââââââââââââââââââââââââââââ
â Jetson Orin NX (16GB) â â VisĂŁo, IA, ROS2
â - RealSense D435i (USB) â 30-60 Hz
â - LIDAR (Ethernet) â
ââââââââââââŹâââââââââââââââââââââââ
â Ethernet (UDP)
ââââââââââââŒâââââââââââââââââââââââ
â MCU Cortex-M7 (STM32H7 likely) â â Controle de equilĂbrio
â - IMU (SPI) â 1000 Hz
â - Foot sensors (GPIO/ADC) â
ââââââââââââŹâââââââââââââââââââââââ
â CANbus @ 1 Mbps
âââââââŽââââââŹââââââŹâââââ ... ââŹââââââ
⌠⌠⌠⌠âŒ
[Motor1] [Motor2] ... [Motor21]
Drivers integrados (QDD)
Tesla Optimus (Especulado)â
âââââââââââââââââââââââââââââââââââ
â Tesla FSD Chip (Custom SoC) â â IA, visĂŁo, tudo
â - 8x CĂąmeras â Processamento
â - Ăudio â integrado
ââââââââââââŹâââââââââââââââââââââââ 30-120 Hz
â Ethernet/Custom bus
ââââââââââââŒâââââââââââââââââââââââ
â MCU SecundĂĄrio (backup/safety) â â Emergency stop
ââââââââââââŹâââââââââââââââââââââââ Watchdog
â CANbus
âââââââŽââââââŹâââââ ... ââ
⌠⌠âŒ
[Motor1] [Motor28] [Torque sensors]
Drivers custom Tesla
Diferencial: Chip Ășnico faz tudo (reduz latĂȘncia JetsonâMCU)
đ Consumo de Energiaâ
Budget de PotĂȘnciaâ
| Componente | PotĂȘncia (W) | % do Total |
|---|---|---|
| Motores (movimento) | 200-1000 | 60-80% |
| Jetson Orin | 15-25 | 5-10% |
| MCU + Periféricos | 5-10 | 2-5% |
| Sensores (cĂąmeras, LIDAR) | 10-20 | 3-8% |
| Perdas (conversĂŁo DC/DC) | 20-50 | 5-10% |
| Total | 250-1105 | 100% |
Exemplo - H1 caminhando:
Bateria: 48V Ă 15Ah = 720 Wh
Consumo médio: 350W
Autonomia: 720 Wh / 350W = 2 horas
OtimizaçÔes:
- â Desligar Jetson quando parado (sĂł MCU ativo)
- â Undervolt GPU se IA nĂŁo estĂĄ rodando
- â Power gating de sensores nĂŁo usados
đ ïž Montando Stack Computacional DIYâ
Opção EconĂŽmica ($200)â
Raspberry Pi 4 (8GB): $75
STM32F4 Discovery: $25
CĂąmera USB: $30
IMU MPU-6050: $5
CANbus transceiver MCP2515: $10
Fonte de alimentação 12V: $30
Cabos e proto-board: $25
Total: ~$200
O que dĂĄ para fazer:
â
Controle de 6-10 servos
â
VisĂŁo bĂĄsica (OpenCV)
â
ROS2 no Pi
â IA pesada
Opção Profissional ($1,500)â
Jetson Orin Nano (8GB): $500
STM32H7 Nucleo: $50
RealSense D435i: $300
RpLidar A1: $100
ODrive v3.6 (x2): $240
Bateria 48V 10Ah: $200
Cabos, conectores, case: $110
Total: ~$1,500
O que dĂĄ para fazer:
â
SLAM em tempo real
â
Detecção de objetos (YOLO)
â
Controle de 4 motores BLDC
â
Publicar papers!
đĄ TendĂȘncias Futurasâ
SoCs Integrados
Chips Ășnicos com CPU+GPU+NPU eliminando Jetson separado
Edge AI
Modelos de IA otimizados rodando em MCUs (TinyML)
TSN (Time-Sensitive Networking)
Ethernet determinĂstico substituindo CANbus
Neuromorphic Chips
Intel Loihi, IBM TrueNorth - 1000x mais eficiente
đ Conceitos-Chaveâ
- Hierarquia Ă© essencial: Linux para IA, MCU para controle, driver para PWM
- Tempo-real importa: 1ms de atraso = robĂŽ cai
- CANbus reina: Protocolo padrĂŁo para motores
- Jetson domina: NVIDIA tem ecossistema imbatĂvel em robĂłtica
O Tesla Optimus nĂŁo usa ROS! Eles usam stack prĂłprio (mesma do carro). Mas 90% dos humanoides usam ROS2 por ser open-source e maduro.
đ PrĂłximo MĂłduloâ
Computadores precisam de energia. Vamos aprender sobre baterias e sistemas de potĂȘncia: