Hallo,
ich wollte nochmal das Thema hier anstoßen, da ich zufällig bei meinen Recherchen hierher gestoßen bin; es ist erstaunlich wie wenig "ROS vs. RDS" vergleiche es bei Google gibt xD. Ich hab für ein Semesterprojekt mal RDS austesten können, und ich muss sagen das es wirklich nicht schlecht ist. Grade für Einsteiger die eher Interesse an der Softwareentwicklung haben, kann ich RDS wärmstens empfehlen. Leider hatte ich noch keinen Kontakt mit ROS gehabt, aber dafür mit anderen ähnlichen Open Source Systemen wie Player/Stage. und im Vergleich dazu war RDS ... angenehmer xD.
Eine direkte Gegenüberstellung zwischen RDS und ROS ist eher schwer möglich, da beide Systeme eigentlich auf unterschiedliche Bereiche abzielen.
ROS wurde aus der Notwendigkeit heraus entwickelt von Entwicklern für Entwicklern, dem entsprechend sind dort auch mehr libraries und driver vorhanden, wenn nicht direkt als ROS stack dann auf jeden Fall irgendwo als OpenSource und man kann andere Robotics Frameworks wie Player/Stage/Gazebo bedenkenlos mit ROS zusammen nutzen. Das ist halt der Vorteil von OpenSource und der Kommunity von Entwicklern.
Dem gegenüber steht RDS vom großen M, ursprünglich war es eine propritäre Lösung und daher nicht sonderlich attraktiv für Entwickler. Big M hat dies scheinbar auch mitbekommen, und stellt nun alle Features von RDS frei. Und die Features sind sehr nett, das muss man sagen. Also abgesehen von der 3D Simulationsumgebung mit PhysikEgine ähnlich zu Gazebo, wird das Framework noch mit zahlreichen Beispielen & Tutorials mit geliefert, mit denen man sich gut selber bilden kann (zusätzliche Doku in MDSN sollte man aber auf jeden Fall nutzen).
Bei RDS sind Programme praktisch webservices, die für die einzelnen Kompenenten des Roboters stehen: also Service-Instancen für zahlreiche Sensoren, Motoren etc. und die werden dann meisten über einen oder mehrere andere Services zusammen gesteuert (Service Komposition). Die Programm-Dienste können dann mit den mitgelieferten Tool auf auf Netzwerkknoten deployed werden, sprich den Roboter, der dann halt auch eine entsprechende Netzwerk-Infrastruktur haben sollte. Sonst geht es aber auch das er nur auf Dienste von sich selbst als Localhost zugreift.
.... Ja, am sonsten was uns bei der Entwicklung sehr gut gefallen hat ist die DSS und CCR Laufzeitumgebung, die einem vieles beim Implementieren abnehmen. Wir hatten noch das 2008 R3 benutzt, aber ich würde das neue Paket mit Kinect SDK empfehlen. Die Library zur Anbindung der Kinectkamera funktioniert auf jeden Fall besser als andere OpenSource libraries wie OpenNi (zumindest zusammen mit Kinect und RDS).
Achso eines sei noch zu erwähnen RDS is in C#, wer sich nen wenig mit .Net auskennt ist auf jeden Fall im Vorteil. Für Java Leute wie uns war es aber auch recht einfach los zulegen, nach kurzer Einarbeitungszeit.
Ich würde mich freuen, wenn auch auch andere Entwickler hier ihre Erfahurngen mit vergleichbaren Systemen präsentieren würden
Cya
Lesezeichen