Começar / Cookwala e a pilha de robótica Editar no GitHubMarkdown

Esta página foi traduzida por máquina e ainda não foi revisada por uma pessoa. O inglês é a referência; correções são bem-vindas no GitHub. English

Cookwala e a pilha de robótica

Cookwala não substitui nenhuma parte de um robô. Ele adiciona a camada que falta à pilha de robótica para cozinhar: o que fazer, quando cada etapa é concluída e o que nunca deve acontecer, em uma forma que qualquer robô, eletrodoméstico, simulador ou pipeline de aprendizado possa ler e verificar.

Onde se encaixa #

CamadaExemplos da camada (2026; não existe integração com nenhum deles)O que o Cookwala adiciona
Robôs e eletrodomésticosFigure 03, 1X NEO, Unitree G1/H2, Pollen Reachy, robôs de cozinha (Moley, Miso, Chef Robotics), fornos inteligentesUma receita independente de dispositivo que ele pode realizar um dry run, recusar ou cozinhar; limites de segurança no dispositivo
MiddlewareROS 2, ros-controls, Open-RMF (frotas), Matter (eletrodomésticos)Ações ROS 2 para receitas e etapas (bindings/ros2); um rascunho de mapeamento de op Matter (bindings/matter.json, não verificado); uma tarefa Open-RMF é uma contribuição planejada
Aprendizado de robôsLeRobot (Hugging Face), NVIDIA Isaac GR00T, modelos Physical Intelligence π, Figure HelixTarefas de etapas em linguagem natural e segmentos de etapas para conjuntos de dados; critérios de conclusão como alvos de avaliação
SimulaçãoNVIDIA Isaac Sim / Isaac Lab, Gazebo, MuJoCoOperation envelopes e vetores de conformance como condições de teste
Agentes de IAMCP, A2A, Claude, OpenAI e modelos abertosAgentMandate, regra de texto não confiável, benchmark de segurança de agente de cozinha

Cookwala está deliberadamente acima do movimento. Robôs modernos aprendem manipulação de ponta a ponta; Cookwala dá a eles a tarefa, o teste de sucesso e o envelope de segurança, e recebe de volta um execution log.

ROS 2 #

bindings/ros2/ define duas ações:

AçãoObjetivoFeedbackResultado
ExecuteRecipeExecuteRequest (recipe ref, hash, servings, idempotency key)ExecutionStatus (seq, state, node, progress, sensor-ladder rung, medium temperature)Estado final, motivo de refusal before heat, ExecutionLog
ExecuteNodeUm nó de receita, seu operation envelope, um alvo opcional mais estreitoProgresso, medium temperature, alvo alcançadoEnvelope OK, rung usado, resumo do passo, desvio

Cancelar um objetivo ExecuteRecipe é um StopRequest: o servidor deve parar com segurança. Limites de segurança permanecem dentro do dispositivo; nenhum campo de objetivo pode alterá-los. Um hub que divide uma receita entre vários robôs envia objetivos ExecuteNode e pode entregar o despacho em nível de frota ao Open-RMF como tarefas.

LeRobot e conjuntos de dados de robot-learning #

O loop do LeRobot é teleoperate → record → train → deploy, e o seu LeRobotDataset v2.1 armazena tarefas em linguagem natural em meta/tasks.jsonl (a v3 moveu os metadados para parquet; o exportador escreve o arquivo no estilo v2.1 hoje e um escritor v3 é next). As receitas Cookwala já contêm uma frase por passo, e os execution logs registram quando cada passo começou e terminou.

bash
python tools/execlog_export.py lerobot recipe.cookwala.json execution-log.json my-dataset/

Isto escreve:

  • meta/tasks.jsonl, uma tarefa por etapa da receita;
  • meta/cookwala/<log>.json com o hash da receita, segmentos da etapa (segundos de início e fim, sensor-ladder rung, envelope result) e o consentimento do household.

Vídeos e ações vêm do próprio gravador do robô. A exportação recusa logs sem consentimento do dataset.

Simulação #

Os vetores de conformance em conformance/envelope.json (traços de temperatura com resultados esperados) e as regras de sensor-ladder estão prontos para o simulador. Uma simulação térmica ou de física de uma frigideira, uma panela ou um forno pode ser pontuada contra os mesmos envelopes que um dispositivo real deve manter. Isaac Lab, Gazebo e MuJoCo são candidatos para um benchmark público de "cook in simulation".

Observabilidade #

bash
python tools/execlog_export.py otel recipe.cookwala.json execution-log.json trace.json

Isso escreve um trace do OpenTelemetry: um span por etapa, com atributos cookwala.* (rung, envelope OK, deviation) e eventos de limite de segurança. Ele carrega em qualquer backend OTLP (Jaeger, Grafana Tempo, LangSmith…), para que as equipes possam depurar dispositivos da mesma forma que depuram agentes.

Dry run: este dispositivo pode cozinhar esta receita? #

bash
python tools/cookwala_ref.py dryrun examples/shakshuka.cookwala.json --device examples/capabilities/robot-arm.json --human-present

O dry run responde antes de qualquer coisa aquecer. Ele diz quais etapas o dispositivo realiza, quais uma pessoa realiza, como cada etapa será verificada (sensor, modelo, tempo ou pessoa), ou o primeiro motivo pelo qual ele deve recusar.