PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : irOS - independent robot operating system



robotxy
22.05.2006, 14:00
Hi,
nachdem wir mit diesem Thema am Wochenende bei Jugendforscht am
Bundeswettbewerb teilgenommen haben und den Sonderpreis für das beste
Robotikprojekt gewonnen haben, möchte wir(Jan(im RN bekannt als MJA)
und ich) das Projekt hier nochmal vorstellen, da wir uns sehr freuen
würden, wenn unser System irgendwo eingesetzt werden würde, oder ein
neues Plugin programmiert wird.

Unser Projekt:

In der heutigen Industrie werden immer häufiger Roboter verschiedener
Art eingesetzt. Unser Ziel ist die Entwicklung eines
Standardbetriebssystems für Roboter, welches es ermöglicht, jeden
Roboter und nahezu beliebig viele Roboter gleichzeitig von fast jedem Ort
der Welt aus zu steuern. So können Kosten und Arbeitsaufwand bei der
Programmierung und Steuerung automatisierter Prozesse minimiert und
gleichzeitig die Steuerung vereinfacht und vereinheitlicht werden.
Außerdem setzt das System auf die Unabhängigkeit des Roboters von der
direkten Steuerung des Benutzers. Vielmehr bekommt der Roboter einen
Auftrag vom Benutzer und führt diesen eigenständig aus. So entstand auch
die Namensgebung: „independent robot operating system“ (kurz irOS),
also „unabhängiges Roboterbetriebssystem“.

Um die Anwendung unseres Systems praktisch zu demonstrieren und es
realitätsnah zu testen haben wir einen mobilen Roboter selbst gebaut und
auf der Basis von irOS programmiert. Die Steuerung erfolgt ebenfalls über
die von irOS definierten Funktionen. Wir gaben ihm in Bezug auf unser
System den Namen „iBot“, was für „independent robot“, also „unabhängiger
Roboter“ steht.

Das Kernstück des Systems bildet die sogenannte „iControl“ (iC). Sie
übernimmt jedoch keine aktive Steuerungsfunktion am Roboter. Dafür sind
die sogenannten „Plugins“ (Bausteine) zuständig. Die Steuerungsbereiche
des Roboters werden aufgeteilt und jedes Plugin übernimmt einen
definierten, eingegrenzten Aufgabenbereich, z.B. Motorsteuerung,
Sensorauswertung oder Wegberechnung. Die Plugins kommunizieren und
kooperieren über die iC. Das System ist so konzipiert, dass die Plugins
möglichst große Unabhängigkeit voneinander besitzen.

Möchte man nun einen beliebigen Roboter über unser System steuern,
muss man im Regelfall nur wenige oder gar keine Plugins ersetzen. Hat der
Roboter beispielsweise andere Sensoren, so muss lediglich ein neues
Sensorauswertungs-Plugin programmiert werden, die restlichen Bausteine –
z.B. Motorsteuerung oder Wegberechnung – lassen sich jedoch
weiterverwenden.

Die Plugins können auf verschiedene Computer verteilt und in jeder
gängigen Programmiersprache geschrieben werden. Darüber hinaus ist es
möglich, praktisch beliebig viele Roboter mit dem System zu steuern.
Plugins können mehrfach genutzt werden und die Roboter können
miteinander kooperieren.

Wir haben erfolgreich ein standardisiertes Roboterbetriebsystem entwickelt,
welches die von uns erwünschten Kriterien erfüllt. Ähnliche
Betriebssysteme gibt es in der Industrie bereits, allerdings werden bei
diesen Systemen umfangreiche Kenntnisse in der
Hardwareprogrammierung der Roboter verlangt. Mit unserem System ist es
auch Programmierern ohne solche Kenntnisse möglich, einen Roboter zu
programmieren. So wäre auch ein Einsatz in der Schule möglich, bei dem
die Schüler einen leichten Einstieg in die Roboterprogrammierung
bekommen können.

In der Zukunft könnte das System universell in Industrie, Forschung und
Dienstleistung eingesetzt werden. Durch den modularen Aufbau bietet es
große Flexibilität. Man könnte beispielsweise alle automatisierten Prozesse
in einer Firma über eine oder mehrere iCs verwalten, vom Licht über die
Klimaanlage bis zum Schweißroboter. Das Ganze kann dann über Internet
bequem von zu Hause aus bedient werden. Natürlich müsste das System
noch weiterentwickelt werden, um derart anspruchsvolle Vorgänge zu
steuern, doch der Grundstein ist gelegt.

Auf unserer Website, www.ir-os.de werden wir in den nächsten
Tagen weitere Informationen bereitstellen. Vor den Sommerferien kommt
dann noch Version 1 unsere Software inkl. Plugins heraus.

Systemaufbau:
http://ir-os.de/fileadmin/images/BuWe/irOS%20Systemaufbau.jpg

Beispielkonfiguration:
http://ir-os.de/fileadmin/images/BuWe/irOS%20Beispielkonfiguration.jpg

Bild vom Bundeswettbewerb:
http://ir-os.de/fileadmin/images/BuWe/ir-OS%20BuWe.jpg

Unsere schrifftliche Arbeit:
http://docs.ir-os.de/irOS_-_Schriftliche_Jugend_forscht_Arbeit.pdf


Wir freuen uns über Feedback!

Gruß,
Jan und Rasmus

avatar
23.05.2006, 11:17
Herzlichen Glückwunsch!
Super Arbeit! :)

Weiter so! O:)

Sommer
23.05.2006, 12:38
Hi,

Erst mal herzlichen Glückwunsch du euren gelungen Projekt!

Jedoch bei der PDF bringt mein Acrobat ungültige Wörterbuchverschlüsselung!
Bitte mal prüfen, Danke

Bye Ulli

robotxy
23.05.2006, 13:21
Also bei mir gehts.
Welche Version hast du denn?
Gruß,
Rasmus

Florian
23.05.2006, 13:37
Auch von mir einen herzlichen Glückwunsch! :o)
Der iBot hat sich doch noch ganz schön weiterentwickelt, seit ich ihn das letzte mal auf der CeBit gesehen habe!


Also bei mir gehts.Bei mir auch!

Viele Grüße
Florian

maze2k
23.05.2006, 13:50
Von mir auch herzlichen Glückwunsch!

Ich finde euer Projekt sehr interessant und eure Arbeit (das PDF) sehr gelungen und interessant.

Habe ich es richtig verstanden, dass die Software eines Roboters dann nur eure Plugin-Schnittstelle implementieren und dafür nur Methoden für die Bewegung und Sensor-Abfrage implementieren muss?

Voraussetzung für euer Betriebssystem ist aber - vorausgesetzt auf dem Roboter ist kein PC/Laptop verbaut - dass der Roboter über Funk o.ä. mit einem "Server" verbunden ist? Dann wäre irOS ja "nur" eine intelligente Fernsteuerung. Richtig autonome Roboter, die keine ständige Funk- oder sonstige Verbindung zu einem Server haben, könnten damit dann nicht gesteuert werden? Versteht das bitte nicht als Angriff auf eurer Betriebssystem, ich versuche nur, es richtig zu verstehen!

Oder gibt es auch die Möglichkeit, euer irOS auf einem MicroController laufen zu lassen?

In welchem Format versendet ihr die Nachrichten? XML? Oder habt ihr ein eigenes Format entworfen?

Wie groß (in KB) ist die iControl (und die Plugins)?

Wird euer Projekt irgendwann als Open Source verfügbar sein?

robotxy
23.05.2006, 14:14
Habe ich es richtig verstanden, dass die Software eines Roboters dann nur eure Plugin-Schnittstelle implementieren und dafür nur Methoden für die Bewegung und Sensor-Abfrage implementieren muss?

Der Anwender kann selbst ein Schnittstellen Plugin schreiben (oder unser standard RS232 verwenden). Danach kann er von anderen Plugins aus, Funktionen des Roboters aufrufen.


Voraussetzung für euer Betriebssystem ist aber - vorausgesetzt auf dem Roboter ist kein PC/Laptop verbaut - dass der Roboter über Funk o.ä. mit einem "Server" verbunden ist? Dann wäre irOS ja "nur" eine intelligente Fernsteuerung. Richtig autonome Roboter, die keine ständige Funk- oder sonstige Verbindung zu einem Server haben, könnten damit dann nicht gesteuert werden?

Ich sehe dazwischen keinen großen Unterschied, solange kein Mensch eingreift. Aber selbst wenn-irOS ist in Java geschrieben und könnte von daher auch zb. auf einem PDA, oder ARM direkt auf dem Roboter laufen.




In welchem Format versendet ihr die Nachrichten? XML? Oder habt ihr ein eigenes Format entworfen?

Ein eigenes Format --> http://docs.ir-os.de (Die ist aber lange noch nicht komplett

Gruß,
Rasmus

Madgyver
23.05.2006, 20:07
Voraussetzung für euer Betriebssystem ist aber - vorausgesetzt auf dem Roboter ist kein PC/Laptop verbaut - dass der Roboter über Funk o.ä. mit einem "Server" verbunden ist? Dann wäre irOS ja "nur" eine intelligente Fernsteuerung. Richtig autonome Roboter, die keine ständige Funk- oder sonstige Verbindung zu einem Server haben, könnten damit dann nicht gesteuert werden?

Ich sehe dazwischen keinen großen Unterschied, solange kein Mensch eingreift. Aber selbst wenn-irOS ist in Java geschrieben und könnte von daher auch zb. auf einem PDA, oder ARM direkt auf dem Roboter laufen.


Seh ich ähnlich, das Projekt wurde ja als Steuerung von Robotern in der Industrie definiert und da sind die wenigsten Roboter im freie Sinne autonom.

robotxy
23.05.2006, 20:17
Ja!
Wobei unser System auch für den Hobbyrobotikbereich geneignet ist da es auch auf allen Embedded-Plattformen funktioniert, sobald ein Linux/Windows ähnliches Betriebssystem vorhanden ist.
Außerdem ist es auch möglich dann das ganze aus dem Internet/ via WLAN zu steuern oder rechenintensive Prozesse (wie Wegberechnung, etc) auszulagern auf nem "Richtigen" Rechner. Und durch die Abkapselung der einzelnen Plugins, muss man sich nie wieder mit lästiger Hardwareprogrammierung abtun wenn man einmal die Schnittstellen des Microcontroller/Relais/etc definiert hat.
Gruß,
Rasmus

Sommer
23.05.2006, 20:54
Hi,

also ich weiß noch nicht wieso auf jedenfall gehts auf keinen Rechner mit Acrobat Prof. 6.0. Auch wenn ich Acrobat Reader 7 drüber laufen lasse kommt immer der selbe fehler. Hm...

maze2k
23.05.2006, 22:39
Wegen dem PDF:
www.foxitsoftware.com super PDF Reader, viel kleiner und viel viel schneller als Adobe. Viel weniger Probleme :)

Meint ihr irOS würde auf einem Sun SPOT laufen?

Andy1988
24.05.2006, 01:09
Mein kPDF will n Passwort von mir ^^

MJA
13.06.2006, 23:59
So, dann will ich mich als zweites Mitglied des Projekts auch melden. ;)

Zuerst wollte ich noch etwas zum weiteren Entwicklungsprozess erzählen:
Noch vor den Sommerferien soll die Version 1.0 herausgegeben werden. Diese wird als Freeware erhältlich sein.
Wir programmiern auch schon an der Version 2.0.
Neue Features in irOS 2.0:
Neue Syntax + Eigene Befehle (eventuell auch eigene Syntax)
Beliebige Benutzeroberflächen an den Kern andocken (nicht nur Webinterface)
Mehrsprachige Benutzeroberflächen
Erweiterte Datenverwaltung (Unterstützung beliebiger Datenbanken und Speichersysteme zur Abspeicherung der Systemdaten)
Verbesserte Performance
Multi-iC-Betrieb (Vernetzung mehrerer iCs zur besseren Verteilung der Datenlast)
"Hardwired-Plugins" (Unterstützung von Java-Plugins, welche sich nicht über TCP sondern direkt an das Programm andocken)
Graphische Plugin-Benutzeroberflächen für jeden Plugin-Typen
Verbessertes mitgeliefertes Webinterface
Selbstverständlich kann sich an den Features aber noch etwas ändern.
Mit der Veröffentlichung der 2. Generation wird das ganze Projekt Open-Source werden.

Zur Beantwortung einiger Fragen:


Voraussetzung für euer Betriebssystem ist aber - vorausgesetzt auf dem Roboter ist kein PC/Laptop verbaut - dass der Roboter über Funk o.ä. mit einem "Server" verbunden ist? Dann wäre irOS ja "nur" eine intelligente Fernsteuerung. Richtig autonome Roboter, die keine ständige Funk- oder sonstige Verbindung zu einem Server haben, könnten damit dann nicht gesteuert werden?
Man kann die iC auch direkt auf den Roboter legen, wie oben bereits erwähnt.
Ich verstehe unter autonom nicht, dass der Roboter keine Kommunikation mit anderen automatisierten Einheiten haben darf, solange keine menschliche Steuerung im Spiel ist. Allerdings muss man sich bei einem Roboter, der ganz alleine, autonom für sich handelt natürlich die Frage stellen, ob es Sinn macht dafür standardisierte Schnittstellen zu schreiben und unser System zu nutzen. Denn soll dieser wirklich keinen Kommunikations mit der Außenwelt haben, kann man die Aufgabe sicherlich viel kompakter und effizienter programmieren indem man ein spezifisches Programm nur für diesen Roboter schreibt.


Wie groß (in KB) ist die iControl (und die Plugins)?
Gute Frage. ;) Die Coresoftware (ohne Plugins, ansonsten alles dabei) selbst ist kleiner als 1MB. Allerdings wird ja zusätzlich eine Java Laufzeitumgebung und einen Servlet Container (z.B. Tomcat (http://tomcat.apache.org)) benötigt, welche zusammengerechnet etwa 320MB fressen (bei meiner Konfiguration zumindest: JDK 1.5.0_07 + Apache Tomcat 5.5.17)! Da der Core aber sowieso auf einem leistungsstarken Rechner laufen sollte (er stellt schließlich eine Art Server dar) sollte das kein Problem sein. Ich würde aber behaupten, dass man dafür auch wesentlich platzsparendere Lösungen finden kann (macht bei mir keinen Sinn, da ich alle Tools des JDK brauche um auch andere Sachen in Java zu entwickeln). Generell braucht man halt eine Laufzeitumgebung mit Compiler und einen Servlet Container.
Was die Plugins angeht muss robotxy was dazu sagen.


Oder gibt es auch die Möglichkeit, euer irOS auf einem MicroController laufen zu lassen?
Auf einem herkömmlichen µC z.B. von Atmel wohl nicht, da die kein Java können.


Meint ihr irOS würde auf einem Sun SPOT laufen?
Ich denke man könnte auch eine lauffähige Version der iC für der J2ME schreiben, allerdings fällt das Webinterface dann vermutlich flach. Da die iC aber wie gesagt im Prinzip einen Server darstellt würde ich eine solche Verwendung nicht unbedingt empfehlen.



also ich weiß noch nicht wieso auf jedenfall gehts auf keinen Rechner mit Acrobat Prof. 6.0. Auch wenn ich Acrobat Reader 7 drüber laufen lasse kommt immer der selbe fehler.
Also mit meinem 7er funktioniert es. Für alle die Probleme mit dem Anzeigen haben könnte ich aber auch ein Dokument in anderem Format bereitstellen, falls dies nötig sein sollte.