Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Microduck

O robô pato que anda de $399 da Pollen Robotics: software de código aberto, hardware fechado

Licença

  • software (pollen-robotics/microduck) and training code (microduck_rl): Apache 2.0
  • 3D model files (microduck_rl STL meshes, also used by community replicas; credit Pollen Robotics): CC BY-NC-SA 4.0

Licenciamento dividido. O software do Microduck e seu código de treinamento são Apache-2.0. Desde 9 de outubro de 2026, a Pollen Robotics licencia os arquivos do modelo 3D do robô (as malhas STL do microduck_rl) sob a CC BY-NC-SA 4.0: uso não comercial, com crédito à Pollen Robotics, e alterações compartilhadas mantêm a mesma licença. Isso também vale para réplicas impressas a partir dessas malhas. A Pollen não publica CAD, placas de circuito nem lista de materiais do próprio robô. Verificado em 5 de novembro de 2026.

Visão geral

O Microduck é um robô pato que anda, com 25 cm e 800 g, feito pela Pollen Robotics, parte da Hugging Face, vendido montado por US$ 399 antes de impostos e frete e em pré-venda na loja da Pollen. Seu software é de código aberto e seu hardware não: este repositório é a pilha embarcada do robô, um workspace Rust, Apache-2.0, que roda uma malha de controle de 50 Hz acionando quinze servos a partir de políticas de redes neurais exportadas para ONNX. O repositório contém tudo o que um robô precisa para funcionar: robotd para a malha de controle e o barramento de motores, updaterd para releases assinados com rollback condicionado à saúde do sistema, configd para Wi-Fi e identidade, btd para o caminho Bluetooth que um celular usa, padd para o gamepad, mediad para streaming de câmera via WebRTC e tofd para o sensor de profundidade, todos falando um único contrato JSON-RPC sobre sockets Unix, de modo que o aplicativo, o console, o gamepad e um script do usuário enviam as mesmas chamadas. As políticas de locomoção e recuperação são treinadas separadamente no microduck_rl com MuJoCo e PPO. O robô em si é vendido pela Pollen Robotics, uma empresa da Hugging Face.

A pilha é deliberadamente simples: Rust, sem framework, um único workspace Cargo e um conjunto de pequenos daemons, cada um responsável por uma coisa só. O robotd é dono do laço de controle e do barramento de motores; o updaterd instala versões assinadas e as reverte quando um robô sobe sem saúde; o configd cuida do wi-fi e da identidade; o btd é o caminho Bluetooth que um celular usa; o padd lê o controle; o mediad transmite a câmera por WebRTC; o tofd serve o sensor de profundidade. Tudo roda em um Rockchip RK3566, e cada cliente conversa com o mesmo contrato JSON-RPC em sockets Unix, em vez de um canal privado. Comportamentos chegam como políticas, não como código: andar, levantar-se após uma queda, rolar sobre rodas e pegar um objeto do chão com o bico são redes distintas, treinadas no microduck_rl sob MuJoCo com PPO e randomização de domínio, exportadas para ONNX e carregadas pelo robotd. As notas de projeto em docs/design são incomumente francas, e docs/project registra o que deu errado e o que resolveria.

Por que importa

Robôs com pernas de baixo custo costumam ser vendidos com firmware fechado, então a parte interessante — como uma política de fato chega a quinze servos a 50 Hz num SoC barato, e como se entrega uma atualização sem inutilizar o robô — permanece escondida. O Microduck publica toda essa camada sob Apache-2.0, incluindo a maquinaria de atualização, o contrato de IPC e o pipeline de simulação para o real ao lado, no microduck_rl. Para quem constrói um bípede pequeno movido por aprendizado por reforço, é uma referência completa e funcional, e não uma demonstração; a 399 dólares, o hardware para exercitá-la cabe no orçamento de uma sala de aula.

Problema que resolve

Robôs com pernas baratos saem de fábrica com firmware fechado, de modo que a camada entre uma política treinada e os servos — controle em tempo real, IPC, mídia e atualizações remotas seguras — é justamente a que ninguém fora do fabricante pode ler. O Microduck abre exatamente essa camada para um robô que as pessoas podem comprar.

Pontos principais

  • Pilha embarcada completa para um bípede de 25 cm e 800 g: laço de controle a 50 Hz acionando quinze servos a partir de políticas ONNX num Rockchip RK3566
  • Workspace em Rust feito de daemons de propósito único — robotd, updaterd, configd, btd, padd, mediad, tofd — sobre um único contrato JSON-RPC em sockets Unix
  • Atualizações assinadas e condicionadas à saúde, que se revertem sozinhas quando um robô sobe com problema
  • Comportamentos são políticas treinadas, não scripts: andar, levantar-se sozinho, rolar sobre rodas e pegar objetos com o bico
  • As políticas vêm do microduck_rl — MuJoCo, PPO e randomização de domínio, exportadas para ONNX
  • Apache-2.0, com decisões de projeto e problemas em aberto registrados em docs/design e docs/project

Para quem é

  • Engenheiros que constroem robôs com pernas guiados por aprendizado por reforço em Linux embarcado
  • Pesquisadores de simulação para o real em busca de um alvo físico barato para políticas treinadas no MuJoCo
  • Educadores que ensinam arquitetura de software robótico com hardware acessível aos alunos
  • Donos de Microduck que queiram escrever seus próprios comportamentos sobre a API JSON-RPC

Limitações

  • O software é aberto, mas o hardware não: a Pollen não publica CAD nem lista de materiais, e as malhas STL no microduck_rl estão sob uma licença não comercial, então o robô foi feito para ser comprado, não construído
  • A pilha é voltada a uma placa e a um robô, Rockchip RK3566 e o barramento de servos do Microduck, em vez de ser um framework geral
  • O repositório é apenas o cérebro do robô; o pipeline de treinamento e a receita sim2real ficam separados no microduck_rl
  • Projeto jovem: o repositório foi criado em julho de 2026, e os daemons, o contrato de IPC e o caminho de atualização ainda estão mudando
  • Os plugins GStreamer para o codificador de hardware da Rockchip vêm de um repositório aarch64 pré-compilado separado, em vez de serem compilados na própria árvore
  • Desde a versão 0.18.3 do daemon, o robô envia dados de uso anônimos para o PostHog EU, ativado por padrão: início do daemon, resultados de atualização, um heartbeat diário e quais políticas públicas estão carregadas, sob um ID aleatório do robô. Isso pode ser desativado; a página de telemetria do projeto original explica como.

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.