Es ist ein bliebter Anfänger-Aberglaube zu denken, dass man sich das Leben leicht macht, wenn man statt eines µC einen Computer nimmt. Klingt es doch erst mal verführerisch sich nicht mit der neuen Materie: "µC" beschäftigen zu müssen und heimischen Gefilden zu bleiben die sich da PC nennen.

Was dabei immer vergessen wird, ein PC ist nicht für die Steuerung von Robotern ausgelegt, sondern für lustige andere Dinge. D.h. der PC ansich stellt schon mal keine I/O Ports zur Verfügung sondern als höchstes der Gefühle eine RS232 Schnittstelle, wenn es ein älteres Modell ist.

Ich möchte kurz noch ein wenig mehr auf die Problematik eingehen die man sich mit einem "Computer" erkauft:
1) Kein direkte Anbindung zur Hardware
2) Keine Echtzeit
3) Hoher Stromverbrauch
4) Hohes Gewicht

Zudem muss man sich erst mal darüber im klaren sein wie man real den PC dazu bringt eine RS232 Schnittstelle anzusteuern (auslesen und senden) und das ganze noch unter JAVA. Gerade unter Windwos ist es kein Vergnügen Ports anzusprechen, wenn es keine Module dafür gibt (unter Linux genauso kompliziert, wenn man sich nicht auskennt).

Die Anbindung zur Hardware: "schnickschnack mach ich über RS232 oder noch moderner über USB" ist ein schöner Trugschluss. Das RS232 Protokoll ist limitiert in seinen Funktionen und kann nur einen Empfänger ansprechen oder von einem Daten empfangen. Abgesehen davon müssen die Daten übertragen werden was Zeit kostet. Nehmen wir folgendes Beispiel:

Ein Roboter steht und wird über RS232 gesteuert wie von dir beschrieben (die - in meinen Augen - noch unsigere Idee über USB oder Ethernet lass ich gleich weg).
1. Befehl: Fahr gerade aus mit Geschwindigkeit v
2. Befehl: Fahr eine Kurve mit Radius/Winkel alpha
3. Befehl: Fahr gerade aus mit Geschwindigkeit v
usw.
Klingt erst mal prima solange man überhaupt einen Motortreiber auftut der RS232 kann. Ich kenn keinen. Für meinen Wall-E hab ich einen µC gebaut der RS232 kann und einen L298 steuert. Damit hab ich mir selbst die Funktion gestrickt die du haben willst. Was aber nur geht wenn man sich gut mit µC auskennt (kleines Zuckerl über I2C nimmt mein Motorcontroller auch gerne Bestellungen entgegen). Betrachten wir das Beispiel mit folgender Modifikation. Zwischen 1) und 2) will der Controller zurück senden: "ich seh ne Wand" nur leider darf er gerade nicht senden und deswegen wird diese Information nicht an den PC übertragen oder er sendet die Information und bekommt leider nicht mehr den Befehl: "Fahr eine Kurve" das Ergebnis ist das selbe.

Nach alle der Erfahrung die ich hab stell ich fest, es ist eigentlich sehr simpel einen Roboter mit nem µC zu steuern. Zwischen 10 und 50 Zeilen Code den man sich zusammenkopiert und modifiziert und schon läufts. Fehler lassen sich mit dem Oszi oder Multimeter noch recht leicht finden und das System ist nicht besonders komplex. Und weils so einfach ist, gibt es auch so wenig User hier die nen PC als Gehirn verwenden. Für den Anfänger sollte der µC die erste Wahl sein, gerade wenn man später komplexer werden will. Es gibt unglaublich viele Beispiele und Tutorials, es gibt genügend User die sowas so oder ähnlich schon gemacht haben, bis hin zu Büchern.


Die Motoren sind für das Gewicht übrigens auch zu schwach.

Ausblick:
Hat man seine ersten Geh-Versuche mit µC hinter sich und stellt fest, dass deren Möglichkeiten nun endgültig limitierend sind, dann kann man sich überlegen einen "Computer" dahinter zu hängen, der als Gehirn arbeitet. Ein solches System sollte dann aber wie folgt aussehen:
Embedded System (entweder Linux oder Windows o.ä.) welches zumindest weiche Echtzeit kann und ein paar i/o Ports zur Verfügung stellt
µC die die Hardware ansteuern und auswerten (Aktoren & Sensoren) und nur die Ergebnisse an das Embedded System liefern.

Ich beschäftige mich jetzt schon etwas länger mit genau dem Punkt. Ich versuch gerade ein funktionierendes Embedded System aufzubauen und dessen Schnittstellen anzusteuern. Leider wird die Luft bei der Materie sehr dünn und man findet keine Tutorials und Anleitungen mehr, sondern wird gezwungen die Arbeit allein und selbst zu machen.