DimOS
Entorno de ejecución de robótica en Python con agentes, SLAM y teleoperación, sin ROS
Licencia
Apache-2.0
Resumen
DimOS es un entorno de ejecución en Python para construir aplicaciones robóticas sin ROS. Los subsistemas son Módulos con flujos tipados In[] y Out[]; los blueprints los conectan mediante autoconnect(), que empareja flujos por nombre y tipo de mensaje y puede componerse, remapearse o cambiar de transporte. Encima se apoyan las capacidades que la mayoría de las pilas ensambla a mano: navegación con SLAM y mapas de coste con planificación A* y exploración de fronteras, percepción con detectores y VLM, una memoria espaciotemporal que localiza objetos a lo largo del tiempo y agentes que corren como módulos nativos suscritos a cualquier flujo. La CLI dimos ejecuta blueprints, sigue registros, envía una orden a un agente y llama a habilidades por MCP. Los modos de repetición y de simulación en MuJoCo hacen que los ejemplos de inicio funcionen sin ningún robot sobre la mesa.
Las entradas de robótica agéntica de este catálogo se apoyan casi todas en ROS 2 — RAI, AgenticROS, ROS-MCP y las demás tratan ROS como sustrato y añaden una capa de lenguaje. DimOS apuesta por lo contrario: reemplaza también el middleware. Módulos, flujos tipados, blueprints y sus propios transportes (LCM, WebRTC, un broker alojado) son una alternativa completa a los nodos, tópicos y archivos de lanzamiento de ROS, escrita en Python con Rust y C++ donde importa la velocidad. Si esa apuesta sale bien es justo la pregunta que conviene sopesar, y el repositorio da lo suficiente para juzgarla: 4.500 estrellas, commits diarios, una docena de colaboradores con nombre y una matriz de hardware franca sobre qué es estable.
Esa matriz es la página más útil del README. El Go2 de Unitree es la única plataforma marcada como estable; el humanoide G1, el xArm y el AgileX Piper están en beta; MAVLink y DJI en alfa; el B1 y la detección de fuerza-par son experimentales. La instalación está igualmente graduada: Ubuntu 22.04 y 24.04 son la vía soportada, NixOS y Linux genérico no pasan por CI, macOS es alfa. Un proyecto que etiqueta con honestidad sus propios niveles de soporte es más fácil de evaluar que uno que enumera todas las plataformas como iguales, y todo el repositorio lleva un cartel de beta previa al lanzamiento.
dimTELE, la mitad de teleoperación, merece nota aparte. El robot marca hacia afuera a un broker alojado, de modo que no hace falta abrir puertos entrantes, y quien opera conduce desde un navegador o unas gafas Quest por WebRTC. Funciona bien y es la demostración más clara de la pila, pero requiere una cuenta y una clave de API de la propia consola de Dimensional. El cliente y el código de transporte están en el repositorio Apache-2.0; el broker del otro extremo no.
Por qué importa
Todos los demás marcos de robótica agéntica que merecen listarse asumen ROS 2 y construyen una capa de lenguaje encima. DimOS es el único que pregunta si no habría que reemplazar el middleware mismo, y está lo bastante avanzado como para juzgarlo en vez de especular: flujos Python tipados en lugar de tópicos, una pila de navegación y memoria que funciona, agentes como módulos de primera clase y datos de repetición para comprobar las afirmaciones sin hardware. Se adopte o no, es hoy el argumento más sólido de que el valor por defecto con forma de ROS es una elección y no una ley.
Qué problema resuelve
Construir una aplicación robótica suele obligar a adoptar ROS 2 y todo lo que trae consigo — el sistema de compilación, las definiciones de mensajes, los archivos de lanzamiento — antes de escribir una sola línea de comportamiento. DimOS ofrece esa misma capa como Python corriente: flujos tipados entre módulos, una CLI para ejecutarlos e inspeccionarlos, y navegación, percepción, memoria e integración de agentes ya construidas encima.
Puntos clave
- Un entorno de ejecución robótico en Python que deliberadamente no usa ROS: Módulos con flujos tipados In[]/Out[] conectados por autoconnect() en blueprints componibles
- Incluye navegación (SLAM, mapas de coste, planificación A*, exploración de fronteras), percepción y una memoria espaciotemporal que registra dónde estuvo cada objeto y cuándo
- Los agentes son módulos nativos con herramientas MCP, así que dimos agent-send "explore the room" y dimos mcp call move_to son verbos de primera clase en la CLI
- Los modos de repetición y simulación en MuJoCo ejecutan los ejemplos destacados sin ningún robot conectado
- La matriz de hardware califica su propio soporte con honestidad: Unitree Go2 estable, G1 y xArm en beta, MAVLink y DJI en alfa, B1 experimental
- dimTELE ofrece teleoperación por navegador y Quest sobre WebRTC marcando hacia un broker, sin puertos entrantes en la red del robot
- Apache-2.0 de Dimensional Inc., con alrededor de una docena de colaboradores habituales y commits que entran a diario
Para quién es
- Desarrolladores de Python que quieren escribir comportamiento robótico sin aprender antes ROS 2
- Equipos que trabajan con cuadrúpedos o humanoides Unitree y buscan una pila por encima del SDK del fabricante
- Quien construya agentes LLM o MCP que necesiten suscribirse a flujos de sensores reales en vez de llamar a un endpoint REST
- Operadores que necesitan teleoperación remota a través de NAT sin abrir puertos entrantes
- Investigadores que comparan diseños de middleware y quieren una referencia seria ajena a ROS con la que discutir
Limitaciones
- El repositorio se declara beta previa al lanzamiento y PyPI sigue en 0.0.x, así que conviene esperar que las interfaces se muevan
- Hay unos 700 issues abiertos: un proyecto activo, pero también un atraso considerable que leer antes de comprometerse
- No usar ROS deja fuera su ecosistema: sin controladores existentes, sin Nav2, sin MoveIt, sin rosbag, y lo que el proyecto no haya construido lo construyes tú
- El soporte de hardware es estrecho y en su mayoría inestable: el Go2 de Unitree es la única plataforma marcada como estable y todo lo demás es beta, alfa o experimental
- El broker de dimTELE es un servicio alojado de Dimensional que exige cuenta y clave de API; el repositorio Apache-2.0 te da el cliente, no el otro extremo
- Ubuntu 22.04/24.04 es la vía probada; macOS es alfa y Linux genérico está explícitamente fuera de CI
- Esto es tanto la hoja de ruta de producto de una empresa como un proyecto comunitario: el repositorio abierto y la consola alojada se desarrollan juntos