So, nun teil zwei ...

Zitat Zitat von Klingon77
... Wenn ich das richtig verstehe möchtest Du ein modulares Robotersystem entwickeln, welches sich entsprechend der jeweiligen Bedürfnisse rasch "zusammenstecken" lässt und dann entsprechend der jeweiligen Anforderung eine funktionsfähige Einheit bildet.
Ja, ich versuche einen Baukasten zu entwickeln, der möglichst viele Gestaltungsalternativen zulässt. (siehe auch Roboterzellen). Was damit erstellt wird? Das kann ich leider noch nicht näher spezifizieren (sonst wäre es ja einfach ... ). Also sollte man sich an geringen Kosten, geringem Gewicht und eine für Standardfälle ausreichende Stabilität bzw. Stärke (Motoren) orientiern.

Zitat Zitat von Klingon77
... Ein Problem sehe ich aber in der Einbindung der Software der jeweiligen Module ...
Derzeit grüble ich über eine besondere Programmierart nach. Man steckt den Roboter mechanisch (und elektrisch) aus Roboterzellen zusammen. Prinzipiell hat jede Roboterzelle einen eigenen Controller (die sind ja nicht mehr so teuer) und kann sich über I2C mit den anderen Roboterzellen unterhalten. Roboterzellen mit Funktionen sind bereits so vorprogrammiert, dass die Funktionen auf Speicherstellen in dem Controller abgebildet sind: z.B. hat eine Radzelle mit Motor eine Speicherstelle, die Drehrichtung und Geschwindigkeit für den Motor vorgibt (Soll). (-100 rückwärts fahren, 0 stehen bleiben, + 50 halbe Kraft voraus, +100 schnell vorwärts). Beim Bau der Radzelle macht man sich darüber Gedanken.

Die Kommunikation zwischen den Controllern erfolgt über die Zuordnung von Speicherstellen zu zwei benachbarte Controller: das Betriebssystem sorgt dafür, dass lesen und schreiben auf diese Speicherstelle so erfolgt, als würde sie in einem Controller liegen. Der Anwender gibt nur vor, welche Speicherstelle es sein soll.

Die eigentliche Programmierung erfolgt nun zwischen diesen Speicherstellen. Man gibt "Regeln" an, mit den die Beziehungen zwischen den Speicherstellen aufgezeigt werden. Hier bin ich gerade dabei, ein Beispiel zusammenzustellen. Kommt demnächst.

Danke für die Tipps.

Zitat Zitat von Klingon77
... Ein Hexa benötigt z.B: eine andere Grundplatte, als ein robustes Panzermodell. Wenn Du nun beide Möglichkeiten mit einem Baukastensystem erreichen möchtest dann wird Dein Hexa mit der stabilen Auslegung eines Raupenfahrzeuges laufen.

Alternative:
Drei Grundtypen: Beine; Räder; Ketten ...
Eine Grundplatte wird es nicht geben. Die Grundplatte wird über mehrer Zellen je nach Anforderung zusammengesteckt. Das hat aber auch die Konsequenz, dass man keine guten Modelle im Sinn von Nachbildungen bauen kann. Dafür aber Roboter.

Gedacht hatte ich an Beine (Knickgelenke) und Räder. Ketten machen wegen der variablen Länge eher Probleme. Aber warum nicht auch dafür einen Zelltyp entwickeln? Das Ganze funktioniert nach dem Prinzip: Es gibt klar definierte mechanische, elektrische und logische (Programmierung) Schnittstellen. Solange man sich daran hält, kann die Zelle machen was sie will ..