-
Notifications
You must be signed in to change notification settings - Fork 0
ROS2
ROS 2 (Robot Operating System 2) ist kein Betriebssystem, sondern ein Framework – eine Sammlung von Bibliotheken, Tools und Standards, die dir helfen, Roboter-Software modular, verteilt und zuverlässig zu entwickeln.
💡 Kernprinzip von ROS 2:
- Modularität: Komplexe Systeme werden in kleine, klar definierte Komponenten zerlegt.
- Standardisierte Kommunikation: Komponenten tauschen Daten über standardisierte Nachrichten aus.
- Plattformunabhängig: Läuft auf Linux, macOS, Windows und dem Raspberry Pi.
ROS 2 nutzt DDS (Data Distribution Service) für Echtzeit-Kommunikation – selbst über verschiedene Rechner hinweg.
| Feature | Beschreibung |
|---|---|
| Modulare Architektur | Roboter-Software wird in unabhängige Nodes aufgeteilt. |
| Echtzeit-Datenverteilung | Dank DDS können Daten in Echtzeit zwischen Nodes ausgetauscht werden. |
| Plattformunabhängigkeit | Läuft auf verschiedenen Betriebssystemen und Hardware-Plattformen. |
💬 Beispiel:
- Vernetzte Roboter-Schwärme steuern.
- Einzelne Roboterarme oder IoT-Geräte kontrollieren.
ROS 2 ist ein ideales Lehr- und Experimentierfeld für Lernende und Bildungseinrichtungen:
| Lernziel | Beispiel |
|---|---|
| Softwarearchitektur | Verstehen, wie komplexe Systeme in modulare Komponenten zerlegt werden. |
| Vernetztes Systemdesign | Lernen, wie Roboter miteinander kommunizieren. |
| Sensorintegration | Sensordaten auswerten und verarbeiten. |
| Autonome Navigation | Algorithmen für selbstständige Roboter entwickeln. |
Entwickler:innen profitieren von der Automatisierbarkeit von ROS 2:
| Vorteil | Beispiel |
|---|---|
| DevOps-Integration | ROS 2 lässt sich automatisieren (z. B. mit Docker, GitLab CI oder DOITPi). |
| Wiederverwendbarkeit | Module können in verschiedenen Projekten genutzt werden. |
| Skalierbarkeit | Von einzelnen Robotern bis zu vernetzten Schwärmen. |
ROS 2 und DOITPi sind eine perfekte Kombination für Robotik-Projekte:
| Feature | Nutzen mit DOITPi |
|---|---|
| Vorkonfigurierte Umgebung | ROS 2 ist auf DOITPi bereits vorbereitet – kein kompliziertes Setup nötig. |
| IoT-Integration | Kombiniere ROS 2 mit Sensoren, Aktoren und IoT-Geräten. |
| DevOps-Workflows | Nutze Docker, GitLab CI und Ansible für automatisierte Robotik-Projekte. |
💬 Beispielprojekt mit DOITPi:
- ROS 2 installieren (vorbereitet auf DOITPi).
- Roboter-Steuerung mit Python-Nodes programmieren.
- Sensoren anbinden (z. B. Kamera, Ultraschall).
- Daten visualisieren (z. B. mit RViz oder Grafana).
# ROS 2 Humble auf DOITPi installieren
sudo apt update
sudo apt install ros-humble-desktopErstelle einen Python-Node, der eine Nachricht veröffentlicht:
import rclpy
from rclpy.node import Node
from std_msgs.msg import String
class SimplePublisher(Node):
def __init__(self):
super().__init__('simple_publisher')
self.publisher = self.create_publisher(String, 'robot_command', 10)
timer_period = 0.5 # Sekunden
self.timer = self.create_timer(timer_period, self.timer_callback)
def timer_callback(self):
msg = String()
msg.data = 'Vorwärts'
self.publisher.publish(msg)
self.get_logger().info(f'Gesendet: "{msg.data}"')
def main(args=None):
rclpy.init(args=args)
node = SimplePublisher()
rclpy.spin(node)
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()| Frage | Antwort |
|---|---|
| Was ist der Unterschied zu ROS 1? | ROS 2 ist moderner, plattformunabhängig und nutzt DDS für Echtzeit-Kommunikation. |
| Kann ich ROS 2 auf dem Raspberry Pi nutzen? | Ja! ROS 2 läuft auf dem Raspberry Pi performant (z. B. mit ROS 2 Humble). |
| Wie starte ich mit ROS 2? | DOITPi bietet eine vorkonfigurierte Umgebung für schnelle Projekte. |
| Wofür eignet sich ROS 2? | Robotik, autonome Systeme, IoT, verteilte Systeme und vieles mehr. |
- ROS 2 installieren: ROS 2 auf dem Raspberry Pi einrichten.
- ROS 2-Grundlagen: Nodes, Topics und Services verstehen.
- ROS 2 und IoT: ROS 2 mit Sensoren und Aktoren verbinden.
- ROS 2 und Docker: Containerisierte ROS 2-Anwendungen nutzen.
💡 Warum ROS 2 mit DOITPi?
- Praktisch lernen: ROS 2 hands-on für Robotik und IoT nutzen.
- Flexibel: Von einfachen Robotern bis zu komplexen verteilten Systemen.
- Zukunftssicher: ROS 2 ist der Standard für moderne Robotik!
Hier zu Home
DOITPi ist Open Source und steht unter der MIT-LICENSE.
- Code: GitHub Repository
- Dokumentation: Wiki
- Releases: Aktuelles Image herunterladen
Hinweis: DOITPi nutzt Tools und Bibliotheken Dritter. Die jeweiligen Lizenzen finden Sie in den Danksagungen.
DOITPi steht auf den Schultern von Riesen. Besonderer Dank gilt:
- Raspberry Pi OS (Basis-System)
- CustomPiOS (Image-Erstellung)
- NetworkManager (Auto-Hotspot-Funktion)
- ROS2 & Node-RED (Robotik & IoT)
- Ansible (Automatisierung)
- Allen Mitwirkenden (GitHub Contributors)!
💙 Möchtest du hier auftauchen? Trage bei und sende einen Pull Request!
DOITPi © 2023–2025 DevOps & IoT für alle – einfach, offen, leistungsstark.
Für Eilige:
Du willst sofort loslegen? Hier ist der direkte Weg zur 01_Installation
Was du brauchst:
- Raspberry Pi (Modell 3/4/5 oder Zero 2 W)
- microSD-Karte (mind. 32 GB)
- Kartenleser o.Ä
- Netzteil
- 15 Minuten Zeit
Los geht’s! 🎉
Jetzt zur 01_Installation
⚡ DOITPi 01a_Autohotspot
Immer verbunden – automatisch!
- Aktiviert sich selbst, wenn kein WLAN verfügbar ist.
-
SSID:
AP_<Hostname>| Passwort:123456789 -
Zugriff per Browser/SSH – ideal für Headless-Betrieb.
- Codeserver (für webbasiertes Code-Editing)
- NodeRed (für visuelles IoT- ROS2-Programmieren)
- Automatische Umschaltung alle 60 Sekunden.
🔒 Passwort anpassen! 🔧
Kurz, klar, direkt zum Ziel – perfekt für alle, die keine Zeit verlieren wollen! 😊