Unitree IPO: como devs podem entrar em robótica humanoide

Unitree IPO: como devs podem entrar em robótica humanoide

Quando uma fabricante de robôs humanoides estreia na bolsa com alta de 460%, o burburinho financeiro domina os portais. Mas como desenvolvedor, eu olho para outra coisa: o que isso significa para o ecossistema de software de robótica, e por que o seu próximo _projeto_ pode se beneficiar mais do que a sua carteira. Segundo o Olhardigital.com.br, a Unitree levantou cerca de US$ 900 milhões para acelerar uma indústria que até pouco tempo atrás vivia de investimento privado e grants acadêmicos. Para quem programa, isso se traduz em mais SDKs públicos, mais dados de sensores vazando para o GitHub e mais braços dispostos a integrar hardware chinês em pipelines de IA. Vamos por partes.

Por que a Unitree importa para quem escreve código

A Unitree não é só uma empresa que faz robôs bonitos para vídeos de TikTok. Ela é a única fabricante do mundo entregando humanoides com preços abaixo de US$ 20 mil (o G1 começa em torno de US$ 16 mil). Isso muda completamente a conta de quem quer prototipar — antes, um robô completo de uso geral custava o preço de um carro. Hoje, custa o preço de um MacBook Pro bem configurado. Quando isso cruza com uma IPO bilionária, o resultado é simples: dinheiro novo despejado em P&D, e inevitavelmente, mais software aberto.

Na minha experiência integrando hardware de fabricantes chinesas, percebo que o padrão se repete: a empresa fecha uma rodada, abre os repositórios oficiais, publica datasets de demonstração e, seis meses depois, lança um SDK melhor. Foi assim com a XPeng, com a DJI e, mais recentemente, com a própria Unitree, que já mantém o unitree_sdk2 e o unitree_ros2 ativos no GitHub.

O que está por trás do salto de 460% nas ações

Analistas chineses atribuem a valorização a três fatores: 1) escassez de opções de investimento em robótica humanoide na China continental, 2) o apoio explícito de Pequim ao setor como “indústria estratégica nacional” e 3) a precificação inicial conservadora (US$ 9 bilhões), que deixou espaço para especulação. Para o desenvolvedor, o número gordo importa menos do que o seguinte fato: a empresa finalizou o dia com cerca de R$ 264,7 bilhões de capitalização, o que garante fôlego para contratação e expansão do suporte a desenvolvedores.

O stack técnico por trás de um robô humanoide

Se você nunca trabalhou com robótica humanoide, vale entender o que roda dentro dessas máquinas. O cérebro geralmente é um NVIDIA Jetson Orin (para os modelos mais novos) ou um Intel NUC com GPU dedicada. O sistema operacional quase sempre é Linux (Ubuntu 22.04 LTS é o padrão de fato), e o middleware é o ROS 2 Humble ou Jazzy. Sobre isso, rodam:

  • Percepção: redes neurais para detecção de objetos (YOLO, RT-DETR), estimativa de pose (RTMPose, MediaPipe) e segmentação.
  • Localização e mapeamento: SLAM com LiDAR + câmeras (FAST-LIO, ORB-SLAM3).
  • Planejamento de movimento: algoritmos de locomoção bimestral (Model Predictive Control, controle de equilíbrio com ZMP).
  • Manipulação: políticas de imitation learning e, mais recentemente, modelos VLA (Vision-Language-Action) como o π0 e o OpenVLA.

É uma stack multidisciplinar. Não dá pra ser especialista em tudo, mas dá pra entrar por um dos lados — e é aí que mora a oportunidade.

Na Prática: simulando um humanoide no MuJoCo + ROS 2

Você não precisa ter um G1 na sua mesa para começar. O caminho mais rápido é trabalhar com o MuJoCo (simulador do Google DeepMind, agora open-source) integrado ao ROS 2. Vou te mostrar o esqueleto de um _launch file_ que carrega o modelo URDF do Unitree G1 e expõe os tópicos de关节 (joint states) para você testar scripts de controle.

# launch/g1_simulation.launch.py
from launch import LaunchDescription
from launch_ros.actions import Node
from launch.actions import ExecuteProcess
import os

def generate_launch_description():
    pkg_dir = os.path.dirname(os.path.abspath(__file__))
    urdf_path = os.path.join(pkg_dir, '..', 'urdf', 'g1.urdf')

    spawn_robot = Node(
        package='ros_gz_sim',
        executable='create',
        arguments=['-file', urdf_path, '-name', 'g1', '-z', '1.0'],
        output='screen'
    )

    joint_state_publisher = Node(
        package='joint_state_publisher_gui',
        executable='joint_state_publisher_gui',
        arguments=[urdf_path],
        output='screen'
    )

    robot_state_publisher = Node(
        package='robot_state_publisher',
        executable='robot_state_publisher',
        arguments=[urdf_path],
        output='screen'
    )

    return LaunchDescription([
        spawn_robot,
        joint_state_publisher,
        robot_state_publisher,
    ])

Com isso rodando, você recebe tópicos como /joint_states e /imu no ROS 2 e pode escrever um nó em Python que calcula torques usando PID. É o mesmo fluxo que engenheiros da Unitree usam no ciclo de desenvolvimento — a diferença é que eles validam em hardware real no final, e você valida puramente em simulação, acelerando o ciclo de iteração.

Publicando comandos via SDK oficial

Quando você colocar as mãos no hardware (ou alugar um via rede local), o unitree_sdk2 expõe uma API de DDS (CycloneDDS por padrão). O exemplo abaixo cria um publisher de ângulos para uma das pernas:

// Exemplo C++ usando unitree_sdk2
#include <unitree/robot/g1/g1.hpp>
#include <unitree/common/thread/thread.hpp>

using namespace unitree::robot;

int main() {
    g1::G1Robot robot;
    robot.Init();

    std::cout << "Conectado ao humanoide G1" << std::endl;

    // Posição alvo para o joelho esquerdo (rad)
    std::vector<float> target_positions = {0.0f, 0.0f, 0.0f, 0.5f, 0.0f, 0.0f};

    while (true) {
        robot.SetJointPosition(target_positions, 1.0f); // em 1 segundo
        sleep(1);
    }
    return 0;
}

Repare que o ganho de tempo é absurdo: em vez de montar o seu próprio protocolo de comunicação, você herda um barramento DDS com QoS configurável. Cuidado, porém: o controle de equilíbrio precisa rodar em RT ou quase-RT. Não tente rodar isso dentro de um loop Python puro sem rt_patch ou PREEMPT_RT no kernel — o G1 cai.

Erros comuns que devs cometem ao entrar em robótica

Depois de revisar código de vários projetos, esses são os tropeços mais frequentes. Anota aí:

  1. Tratar o robô como se fosse um servidor web. Latências de 50 ms destruem o equilíbrio. Se o seu nó de controle não tem tempo determinístico, o robô cai. Priorize Linux com kernel RT ou use um MCU separado para a malha de controle de baixa latência.
  2. Ignorar a calibração de IMU. A fusão sensorial depende de bias bem calibrados. Muitos devs pulam essa etapa e passam semanas achando que o SLAM está com bug. Execute imu_calibration.yaml antes de cada sessão de testes.
  3. Esquecer do espaço de configuração. Robôs humanoides têm 23 a 43 graus de liberdade. Planejar trajetória no espaço de juntas sem considerar cinemática inversa leva a movimentos fisicamente impossíveis. Use bibliotecas como pinocchio ou drake.
  4. Rodar ROS 1. Se você está começando agora, vá direto para ROS 2 Humble ou Jazzy. ROS 1 Noetic perdeu suporte em 2025. Manter projeto em ROS 1 em 2026 é dívida técnica imediata.
  5. Subestimar o consumo de GPU. Inferência de modelos VLA em Jetson precisa de TensorRT. Rodar PyTorch puro no Orin entrega 1 FPS e mata a bateria em 20 minutos. Converta para FP16 ou INT8 antes de colocar em produção.

Comparativa rápida: Unitree vs. concorrentes

Fabricante Modelo humanoide Preço aproximado SDK oficial Ponto forte
Unitree G1 / H1 US$ 16k / US$ 90k unitree_sdk2 (open) Preço agressivo, comunidade ativa
Boston Dynamics Atlas Não comercializado Restrito (parcerias) Hardware de ponta, software fechado
Figure AI Figure 02 Não divulgado Interno Integração com OpenAI para VLA
Tesla Optimus Não vendido Não disponível Integração com FSD stack

O que me chama a atenção é a assimetria de abertura. A Unitree é, hoje, a única que entrega um humanoide comercial com SDK aberto e comunidade em torno. Se você quer entrar no jogo sem assinar NDA, a resposta é ela.

Por que esse IPO muda a curva de adoção para devs

Três implicações práticas que eu observo:

  • Mais vagas de emprego em robotics engineering. Empresas chinesas contratando após IPO geralmente expandem times internacionais. Se você fala inglês técnico e conhece ROS 2, fica mais fácil entrar.
  • Mais datasets públicos. Cada rodada bilionária pressiona o mercado a acelerar lançamentos. Espere ver o Unitree soltar gravações de locomoção em terrenos acidentados, manipulação bimestral e teleoperação.
  • Benchmarking padronizado. Com capitalização desse porte, a empresa tem incentivo para criar e promover benchmarks de referência — o que facilita a vida de quem publica paper ou valida modelo próprio.

FAQ — perguntas que devs realmente fazem

1. Preciso comprar um robô humanoide para aprender?

Não. MuJoCo, Isaac Sim da NVIDIA e Gazebo oferecem modelos URDF do G1 e do H1 prontos. Estude em simulação, valide o pipeline, e só então considere hardware.

2. Qual linguagem é melhor para programar robôs humanoides?

C++ para a malha de controle de baixa latência (baixo overhead, determinístico). Python para orquestração de alto nível, scripts de ML e prototipagem rápida. A maioria dos projetos mistura os dois via ROS 2.

3. ROS 2 ou middleware proprietário?

ROS 2 com DDS (CycloneDDS ou Fast DDS) é o padrão. A Unitree, a Boston Dynamics e a Figure usam ROS 2 internamente. Aprender DDS é investimento seguro.

4. Vale a pena entrar em visão computacional para esse mercado?

Muito. A maior parte das falhas em humanoides hoje vem de percepção, não de locomoção. Dominar YOLO, transformers de pose e fusão sensorial multi-câmera te coloca na fila de contratação.

5. O que muda depois da IPO?

Expectativa de suporte mais maduro, mais integrações com LLMs (a Unitree já demonstrou o H1 com um VLA rodando) e pressão competitiva para baixar preço. Para o dev, é um ciclo virtuoso.

Na minha visão, o que separa quem vai surfar essa onda de quem vai assistir de fora é uma decisão: parar de tratar robótica como “coisa de engenheiro mecatrônico” e começar a tratá-la como engenharia de software com hardware acoplado. Quem programa IaC, microservices e pipelines de ETL tem 70% das habilidades necessárias. Os outros 30% vêm de cinemática, controle e sensores — e isso se aprende em projeto, não em curso.

A Unitree entrou na bolsa. O dinheiro está na mesa. A maior parte dele vai virar software. Quem estiver pronto, vai codar sobre isso.

Gostou? Me segue no GitHub e deixa um comentário se quiser que eu aprofunde algum ponto — ROS 2, MuJoCo, VLA, o que você preferir.

Y

Yuri Sousa

Front-End Developer / Designer

Desenvolvedor apaixonado por criar experiências digitais acessíveis e visualmente perfeitas. Escrevo sobre desenvolvimento web, design e tecnologia.