Dieses Projekt ermöglicht es Ihnen, mit Python, ROS2 und der Cerebra-Weboberfläche aus dem Docker-Container heraus im Browser zu arbeiten. Der Container basiert auf Ubuntu 24.04 LTS und enthält ROS2 Jazzy, Python 3.11, Jupyter Lab für interaktive Entwicklung und das Cerebra Angular Frontend für die Roboter-Benutzeroberfläche.
- Docker Desktop (empfohlen: neueste Version)
- Mindestens 12 GB freier Festplattenplatz
- Arbeitsspeicher: 8 GB RAM empfohlen für optimale Performance
- Ubuntu 24.04 LTS als Base Image
- ROS2 Jazzy Jalopy (neueste LTS-Version)
- Python 3.11 (kompatibel mit PIB-SDK <3.12 Requirement)
- PIB-SDK PR-978 mit Speech-Modul Support
- Robotics Toolbox mit scipy.randn Kompatibilitäts-Patches
🚀
Im Terminal eingeben im Projektpfad, also in dem Ordner, in dem die Dateien docker-compose.yml und Dockerfile liegen:
docker-compose buildoder
docker build -t pib-sdk-lab:latest .docker-compose up -d oder
docker run -d --name pib-sdk-container -p 8888:8888 -p 4200:4200 -p 8000:8000 -p 8080:8080 -p 11311:11311 pib-sdk-lab:latestDanach kann über das Dashboard geschaut werden, ob die Dienste laufen und man kann diese direkt im Browser starten
# Öffnen Sie dashboard.html in Ihrem Browser
# Speichern Sie es als Lesezeichen für einfachen Zugriff!
start .\dashboard.html- Jupyter Lab: http://localhost:8888 ⭐ Hauptzugang
- Cerebra Frontend: http://localhost:4200 🧠 Roboter-UI
- Cerebra Digi-Twin: http://localhost:4201 🤖 Webots Integration
- Digi-Twin Proxy: http://localhost:3001 🔗 API Gateway
- Dashboard: Öffnen Sie
dashboard.htmlim Browser
# Alle Services starten
docker-compose up
# Nur bestimmten Service starten
docker-compose up pib-sdk
# Im Hintergrund starten
docker-compose up -d
# Services stoppen
docker-compose down
# Container neu bauen
docker-compose build
# Cerebra Services starten
docker-compose --profile cerebra-dev up # Development Mode
docker-compose --profile cerebra-prod up # Production Build# In laufenden Container einsteigen
docker exec -it pib-sdk-container /bin/bash
# Development-Container mit Shell starten
docker-compose --profile dev run pib-dev /bin/bash# Im Container:
./start_jupyter.sh
# Oder direkt:
jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root# ROS2 Environment aktivieren
source /opt/ros/jazzy/setup.bash
# PIB Python Environment aktivieren
source /opt/pib-venv/bin/activate
# ROSBridge für WebSocket-Kommunikation starten
ros2 launch rosbridge_server rosbridge_websocket_launch.xml
# ROS2 Topics anzeigen
ros2 topic list
# ROS2 Services anzeigen
ros2 service list
# PIB-SDK im Container testen
python3 -c "from pib_sdk import control; print('PIB-SDK OK')"# Cerebra Digi-Twin Service starten
docker-compose --profile cerebra-digi-twin up
# Nur Proxy Server (für Webots/Onshape Integration)
cd /app/cerebra-digi-twin && npm run proxy
# Frontend separat starten
cd /app/cerebra-digi-twin && npm start
# Webots Status prüfen
curl http://localhost:3001/webots/status- NumPy, SciPy, Matplotlib
- OpenCV für Computer Vision
- Pillow für Bildverarbeitung
- ROS2 Jazzy Jalopy (Robot Operating System 2 - LTS Version)
- Python 3.11 Virtual Environment (/opt/pib-venv)
- PIB SDK PR-978 mit Speech-Modul Integration
- Robotics Toolbox Python mit scipy.randn Kompatibilitäts-Patch
- Spatial Math Python für 3D-Transformationen
- ROS2 Python Libraries (rclpy, geometry_msgs, sensor_msgs, etc.)
- ROSBridge Suite für WebSocket-Kommunikation
- Jupyter Lab/Notebook
- IPython Widgets
- Plotly (interaktive Plots)
- Bokeh (Datenvisualisierung)
- Angular 18 Frontend für PIB-Roboter
- Material Design Benutzeroberfläche
- ROS2 Integration über roslibjs und ROSBridge
- Live-Development mit Hot-Reload
- Service Monitoring Dashboard mit Auto-Refresh
- Webots Integration - Direkte Verbindung zu Webots Simulator (Windows)
- Onshape CAD API - Import von 3D-Modellen und Assemblies
- CORS Proxy Server - Überbrückt Browser-Sicherheitsbeschränkungen
- PIB-Webots Bridge - Steuert PIB-Roboter in Webots-Simulation
- Real-time WebSocket - Bidirektionale Kommunikation Container ↔ Webots
- WebSockets für Echtzeit-Kommunikation
- ROSLibPy für Python-ROS2 Integration
- ROS2 Topics, Services & Actions vollständig unterstützt
- PIB Speech Module für Voice Assistant Integration
- Zero-ROS SDK - PIB-SDK funktioniert ohne ROS-Environment
- PIB-SDK benötigt Python ≥3.9, <3.12
- Python 3.14 ist NICHT kompatibel (automatische Installation in neuen Raspberry Pi OS)
- Container verwendet Python 3.11 für optimale Kompatibilität
- Zero-ROS SDK: PIB-SDK funktioniert ohne ROS2-Environment-Setup
- ROSBridge WebSockets für Browser-Integration auf Port 9090
- Service Discovery: Dashboard überwacht automatisch alle Services
- Kein Token/Passwort: Jupyter ist für lokale Entwicklung ohne Authentifizierung konfiguriert
- Live-Reload: Ihr Code-Verzeichnis ist als Volume gemountet - Änderungen werden sofort übernommen
- Port-Konflikte: Falls ein Port belegt ist, können Sie ihn in
docker-compose.ymländern - GPU-Unterstützung: Uncommentieren Sie die GPU-Konfiguration in
docker-compose.ymlfalls benötigt - PIB Notebook: Verwenden Sie
test_notebook.ipynbfür vollständige PIB-SDK Funktionsreferenz
Python PIB-SDK ←→ ROS2 ←→ WebSocket ←→ Webots Simulator
# Logs anschauen
docker-compose logs pib-sdk
# Container neu starten
docker-compose restart pib-sdk# Andere Ports in docker-compose.yml verwenden, z.B.:
ports:
- "9999:8888" # Dann http://localhost:9999# In den Container einsteigen und installieren
docker exec -it pib-sdk-container pip install paket-name
# Oder requirements.txt erweitern und neu bauen
docker-compose build