Un Cerebro, cualquier Robot.
Nota: La versión en inglés es la documentación oficial y más actualizada. Esta traducción puede no reflejar los últimos cambios.
BotBrain es una colección modular de componentes de software y hardware de código abierto que te permite conducir, ver, mapear, navegar (manualmente o de forma autónoma), monitorear y gestionar robots con patas (cuadrúpedos, bípedos y humanoides) o robots con ruedas ROS2 desde una interfaz web simple pero potente. El hardware proporciona soportes imprimibles en 3D y una carcasa externa para que puedas instalar BotBrain en tu robot sin complicaciones.
- Diseñado alrededor del Intel RealSense D435i y la línea NVIDIA Jetson
- Placas oficialmente soportadas: Jetson Nano, Jetson Orin Nano (soporte para AGX y Thor próximamente)
- Todo es modular - no necesitas ejecutar todos los módulos (algunos módulos pesados de IA requieren Orin AGX)
Rápido de imprimir en 3D, fácil de ensamblar y diseñado para encajar en cualquier robot. Pon tu robot funcionando con BotBrain en menos de 30 minutos.
📹 Mira a BotBrain completar 1 hora de patrullas autónomas en nuestra oficina
- Unitree Go2 & Go2-W - Robots cuadrúpedos con interfaz de hardware y control completos
- Unitree G1 - Humanoide con control de postura del cuerpo superior y transiciones FSM
- DirectDrive Tita - Bípedo con control completo
- Robots personalizados - Framework extensible para agregar cualquier plataforma compatible con ROS2
- Con patas y ruedas - La arquitectura soporta ambos tipos de locomoción
- Carcasa imprimible en 3D - Diseño de encaje con adaptadores de montaje específicos para cada robot (Go2, G1 y Direct drive Tita)
- Intel RealSense D435i - Soporte de doble cámara para visualización y SLAM/Navegación
- IMU y odometría - Estimación de pose en tiempo real de todas las plataformas soportadas
- Monitoreo de batería - Estado de batería por robot con estimación de autonomía
- Detección de objetos YOLOv8/v11 - Más de 80 clases, optimizado con TensorRT, seguimiento en tiempo real en BotBrain
- Moondream AI - Comprensión de visión multimodal y análisis de escena
- Control por lenguaje natural ROSA - Comandos conversacionales para el robot vía LLM
- Historial de detecciones - Registro buscable con imagen e información/descripción
- RTABMap SLAM - Mapeo visual con una o dos cámaras RealSense D435i
- Integración Nav2 - Planificación de trayectorias, evasión de obstáculos dinámicos, comportamientos de recuperación
- Planificación de misiones - Crea y ejecuta patrullas autónomas con múltiples waypoints
- Navegación por clic - Define destinos directamente en la interfaz del mapa
- Gestión de mapas - Guarda, carga, cambia y define posiciones iniciales
- Gestión del ciclo de vida - Inicio/apagado coordinado de nodos con ordenamiento de dependencias
- Máquina de estados - Estados del sistema con encendido/apagado automático
- Control de velocidad por prioridad - Arbitraje de comandos en 6 niveles (joystick > nav > IA)
- Interruptor de seguridad - Bloqueo de seguridad de hardware/software para todos los comandos de movimiento
- Parada de emergencia - Secuencia completa de e-stop
- CockPit - Página de control preconfigurada con cámaras, modelo 3D, mapa y acciones rápidas
- Mi Interfaz - Panel personalizable con arrastrar y soltar y widgets redimensionables
- Joysticks virtuales - Control de doble stick táctil/ratón con ajuste de velocidad
- Soporte de gamepad - PS5, Xbox o joystick genérico con mapeo de botones personalizado y cambio de modo
- Control por teclado - Controles WASD
- Perfiles de velocidad - Múltiples preajustes de velocidad para diferentes modos operacionales (Principiante, Normal y modo Extremo)
- Acciones del robot - Levantarse/sentarse, bloquear/desbloquear, selección de marcha, luces, transiciones de modo
- Streaming multi-cámara - Descubrimiento dinámico para topics de cámara frontal, trasera y personalizados
- Códecs H.264/H.265 - Escalado de resolución, control de tasa de fotogramas, optimización de ancho de banda
- Grabación en el navegador - Graba video de las cámaras y guárdalo en tu carpeta de descargas
- Visualización 3D - Modelo de robot basado en URDF con superposición de escaneo láser y ruta de navegación
- Estadísticas Jetson - Modelo de placa, versión de JetPack, modo de energía, tiempo de actividad
- Monitoreo de CPU/GPU - Uso por núcleo, frecuencia, memoria, limitación térmica
- Seguimiento de energía - Voltaje, corriente y potencia por canal con detección de picos
- Temperaturas y ventiladores - Temperaturas de CPU/GPU/SOC con control de velocidad del ventilador
- Almacenamiento y memoria - Alertas de uso de disco, monitoreo de RAM/swap
- Panel de control WiFi - Escaneo de redes, cambio y monitoreo de señal
- Modos de conexión - WiFi, Ethernet, 4G, hotspot con seguimiento de latencia
- Flota multi-robot - Conexiones simultáneas, comandos para toda la flota, panel de estado
- Diagnósticos - Salud de nodos, registros de error/advertencia, visualización de la máquina de estados
- Temas claro/oscuro - Colores de acento personalizados, preferencias persistentes
- Diseños responsivos - Móvil, tablet y escritorio con soporte táctil
- Perfiles de usuario - Avatar, nombre para mostrar, color del tema vía Supabase Auth
- Multi-idioma - Inglés y Portugués con formatos regionales
- Registro de auditoría - Historial de eventos buscable en más de 10 categorías con exportación CSV
- Análisis de actividad - Mapas de calor de uso y seguimiento de utilización del robot
- Descripción General
- Estructura del Proyecto
- Requisitos
- Instalación
- Desarrollo Frontend
- Características
- Configuración
- Robots Personalizados
- Solución de Problemas
- Contribuir
- Licencia
BotBrain consiste en tres componentes principales:
Una carcasa imprimible en 3D con soportes internos diseñados para alojar una placa NVIDIA Jetson y dos cámaras Intel RealSense D435i. El diseño modular te permite conectar BotBrain a varias plataformas de robots sin fabricación personalizada.
Un panel web Next.js 15 construido con React 19 y TypeScript. Proporciona control del robot en tiempo real, streaming de cámaras, visualización de mapas, planificación de misiones, monitoreo del sistema y gestión de flotas—todo accesible desde cualquier navegador en tu red.
Una colección de paquetes ROS2 Humble que gestionan:
- Bringup y Orquestación (
bot_bringup) - Lanzamiento y coordinación del sistema - Localización (
bot_localization) - SLAM basado en RTABMap para mapeo y posicionamiento - Navegación (
bot_navigation) - Integración Nav2 para movimiento autónomo - Percepción (
bot_yolo) - Detección de objetos YOLOv8/v11 - Drivers de Robot - Paquetes específicos de plataforma para Unitree Go2/G1, DirectDrive Tita y robots personalizados
BotBrain/
├── frontend/ # Panel web Next.js 15 (React 19, TypeScript)
├── botbrain_ws/ # Workspace ROS 2 Humble
│ └── src/
│ ├── bot_bringup/ # Lanzamiento principal y orquestación del sistema
│ ├── bot_custom_interfaces/# Mensajes, servicios y acciones ROS 2 personalizados
│ ├── bot_description/ # Modelos URDF/XACRO y robot_state_publisher
│ ├── bot_jetson_stats/ # Monitoreo de hardware Jetson
│ ├── bot_localization/ # SLAM RTABMap
│ ├── bot_navigation/ # Navegación autónoma Nav2
│ ├── bot_rosa/ # Control por lenguaje natural ROSA AI
│ ├── bot_state_machine/ # Gestión del ciclo de vida y estados
│ ├── bot_yolo/ # Detección de objetos YOLOv8/v11
│ ├── g1_pkg/ # Soporte Unitree G1
│ ├── go2_pkg/ # Soporte Unitree Go2
│ ├── joystick-bot/ # Interfaz de controlador de juego
│ └── tita_pkg/ # Soporte DirectDrive Tita
├── hardware/ # Carcasa imprimible en 3D (STL/STEP/3MF)
└── docs/ # Documentación
| Componente | Requisito |
|---|---|
| Cómputo | NVIDIA Jetson (Nano, Orin Nano o serie AGX) |
| Cámaras | 2x Intel RealSense D435i |
| Robot | Robot ROS2 Humble o Unitree Go2 y Go2-W, Unitree G1, Direct Drive Tita, o robot personalizado |
| Red | Conexión Ethernet o WiFi |
| Componente | Requisito |
|---|---|
| SO | JetPack 6.2 (Ubuntu 22.04) recomendado |
| Contenedor | Docker & Docker Compose |
| Node.js | v20+ (solo para desarrollo frontend local) |
BotBrain tiene dos componentes principales: hardware (carcasa impresa en 3D y componentes internos) y software (aplicación web frontend y workspace ROS2).
Imprime la carcasa en 3D y ensambla los componentes electrónicos.
Partes Principales: Impresora 3D, filamento PLA, NVIDIA Jetson, 2x RealSense D435i, convertidor de voltaje.
Guía de Ensamblaje de Hardware - Instrucciones detalladas sobre cómo construir tu BotBrain
Video Completo de Ensamblaje - Tutorial completo en video paso a paso del proceso de ensamblaje de BotBrain
El panel web requiere Supabase para autenticación y almacenamiento de datos. Necesitarás crear tu propio proyecto Supabase gratuito.
Guía de Configuración de Supabase - Instrucciones completas con esquema de base de datos
Resumen rápido:
- Crea un proyecto en supabase.com
- Ejecuta las migraciones SQL de la guía de configuración
- Copia tus claves API para el siguiente paso
Sistema Operativo:
- NVIDIA JetPack 6.2 (recomendado)
- Otras distribuciones Linux pueden funcionar pero no están oficialmente soportadas
Docker & Docker Compose:
Requerido para despliegue containerizado:
- Instala Docker:
# Agrega la clave GPG oficial de Docker:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Agrega el repositorio a las fuentes de Apt:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Instala los paquetes de Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginConsulta la guía oficial de instalación de Docker para más detalles.
- Habilita Docker sin sudo:
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp dockerConsulta los pasos post-instalación para más detalles.
Paso 1: Clona el Repositorio
git clone https://github.com/botbotrobotics/BotBrain.git
cd BotBrainPaso 2: Ejecuta el Script de Instalación
El script de instalación automatizado configurará tu robot y establecerá el servicio de autoarranque:
sudo ./install.shMás detalles sobre la información solicitada en el instalador se pueden encontrar aquí
Paso 3: Reinicia el Sistema
sudo rebootUna vez reiniciado, el sistema iniciará automáticamente los contenedores Docker para todos los nodos ROS2 y el servidor web.
Paso 4: Accede a la Interfaz Web
| Método de Acceso | URL |
|---|---|
| Misma computadora | http://localhost |
| Acceso por red | http://<IP_DEL_JETSON> |
Encuentra la dirección IP de tu Jetson:
hostname -INota: Asegúrate de que ambos dispositivos estén en la misma red y que el puerto 80 no esté bloqueado por un firewall.
Para desarrollo frontend local (sin la stack completa del robot):
cd frontend
# Copia la plantilla de entorno
cp .env.example .env.local
# Edita con tus credenciales de Supabase
nano .env.local| Variable | Requerida | Descripción |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL |
Sí | URL de tu proyecto Supabase |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Sí | Clave anon/pública de tu Supabase |
NEXT_PUBLIC_ROS_IP |
No | IP por defecto del robot (default: 192.168.1.95) |
NEXT_PUBLIC_ROS_PORT |
No | Puerto del ROS bridge (default: 9090) |
# Instala dependencias
npm install
# Servidor de desarrollo (características completas)
npm run dev
# Servidor de desarrollo (edición open source)
npm run dev:oss
# Build de producción
npm run build
npm startEdita botbrain_ws/robot_config.yaml:
robot_configuration:
robot_name: "mi_robot" # Namespace para todos los topics
robot_model: "go2" # go2, tita, g1, o personalizado
network_interface: "eth0" # Interfaz de red para ROS2
openai_api_key: "" # Para características de IA (opcional)Los números de serie de las cámaras y las transformaciones se configuran por robot en:
botbrain_ws/src/go2_pkg/config/camera_config.yamlbotbrain_ws/src/g1_pkg/config/camera_config.yamlbotbrain_ws/src/tita_pkg/config/camera_config.yaml
Encuentra los números de serie de tus cámaras:
rs-enumerate-devices | grep "Serial Number"Para agregar soporte para una nueva plataforma de robot a BotBrain:
- Backend/Stack ROS2: Sigue la guía completa Creando un Paquete de Robot Personalizado
- Frontend: Agrega un perfil de robot en la configuración de la interfaz web
- Verifica que rosbridge esté ejecutándose:
ros2 node list | grep rosbridge - Verifica que el firewall permita el puerto 9090:
sudo ufw allow 9090 - Asegúrate de que la IP sea correcta en la configuración de conexión del robot en la UI
- Lista las cámaras conectadas:
rs-enumerate-devices - Verifica las conexiones USB y asegúrate de que las cámaras tengan energía
- Verifica que los números de serie en
camera_config.yamlcoincidan con tus cámaras - Verifica los permisos USB:
sudo usermod -a -G video $USER
- Asegúrate de que Docker se ejecute sin sudo (ver instrucciones de instalación)
- Verifica el acceso a GPU:
docker run --gpus all nvidia/cuda:11.0-base nvidia-smi - Ve los logs del contenedor:
docker compose logs -f bringup
- Verifica las credenciales de Supabase en
.env.local - Revisa la consola del navegador para errores
- Asegúrate de que Node.js v20+ esté instalado:
node --version
- Verifica que twist_mux esté ejecutándose:
ros2 topic echo /cmd_vel_out - Verifica que la interfaz de hardware del robot esté activa:
ros2 lifecycle get /robot_write_node - Verifica si la parada de emergencia está activada en la UI
Únete a nuestra comunidad de Discord para soporte en tiempo real y discusiones con la comunidad BotBrain.
Consulta docs/DEPENDENCIES.md para una lista completa de los paquetes frontend y ROS utilizados.
¡Aceptamos contribuciones! Ya sea que estés corrigiendo bugs, agregando características, mejorando documentación o agregando soporte para nuevos robots, tu ayuda es apreciada. Si puedes hacer BotBrain mejor o más rápido, trae tu contribución.
Únete a nuestro servidor de Discord para discutir ideas, obtener ayuda o coordinarte con otros contribuidores.
-
Haz Fork del Repositorio
# Haz fork vía la interfaz de GitHub, luego clona tu fork git clone https://github.com/botbotrobotics/BotBrain.git cd BotBrain
-
Crea una Rama de Característica
git checkout -b feature/tu-caracteristica-increible
-
Realiza Tus Cambios
- Agrega tests para nuevas funcionalidades
- Actualiza los archivos README relevantes
- Asegúrate de que todos los paquetes compilen exitosamente
- Sigue los estándares de codificación de ROS 2
-
Prueba Completamente
-
Haz Commit de Tus Cambios
git add . git commit -m "Add feature: breve descripción de los cambios"
-
Empuja a Tu Fork
git push origin feature/tu-caracteristica-increible
-
Envía un Pull Request
- Proporciona una descripción clara de tus cambios
- Referencia cualquier issue relacionado
- Incluye capturas de pantalla o videos para cambios de UI/comportamiento
Versión Profesional / Enterprise de BotBrain con protección IP67, cargas útiles personalizadas como CamCam (Cámara Térmica + Infrarroja), ZoomZoom (cámara RGB de largo alcance 30x), modelos de IA avanzados, integración IoT (LoRA), conectividad de datos 3-5g, servicio y mantenimiento, integraciones avanzadas con cargas útiles personalizadas, y mucho más. Aprende más aquí o reserva tu prueba de manejo ahora.
Los robots pueden lastimar a personas y a sí mismos cuando se operan incorrectamente o durante el desarrollo. Por favor, observa estas prácticas de seguridad:
- Usa un E-stop físico - Nunca confíes únicamente en paradas por software
- Rota las claves API si se filtran
- Prueba los cambios en simulación antes de ejecutarlos en hardware físico
- Mantén distancia del robot durante las pruebas iniciales
Aviso: BotBot no es responsable de ninguna falla, accidente o daño resultante del uso de este software o hardware. El usuario asume toda la responsabilidad por la operación segura, pruebas y despliegue de robots usando BotBrain.
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
Hecho con 💜 en Brasil








