Ist denn eine hohe Update Rate so wichtig? Ich würde naiv sagen, dass mir 20 oder 30 Takte pro Sekunde reichen sollten.Zitat von the_muck
Ich habe mir das empfohlene RN-VN2 DualMotor Fertigmodul bestellt, mal schauen wann es ankommt.Zitat von the_muck
Ist ein µC, der die Motoren regelt bzw. das Hardware PWM, wie du es beschrieben hast, dem AdvancedServoBoard überlegen? Zeitkritisch ist meine Anwendung ja nicht. Ein Modul, dass die Drehzahl selbstständig hält - das wäre was. Aber dann ja auch schon eine "komplette" Regelung.
Zum Vorankommen der letzten Tage:
Nun ist endlich der größte Brocken der Softwareumstellung getan.
Wobei ich ja nicht weiß was noch kommt also bleiben wir bei "einem großen Brocken".![]()
Die Architektur ist grob in die Punkte
- GrandCentral, der zentralen Klasse, die alle Teilbereiche miteinander verbindet
- Kartenverwaltung, Umrechnung der Sensordaten mit lokaler und globaler Karte (Punktwolken)
- BotThreadverwaltung steuert Verhaltensmuster (als Threads)
- Eventverwaltung umfasst Ereignisempfänger, Ereignisquellen (Sensoren, Servos usw.)
- SensorAktorKomponenten ist die Gruppe von Objekten, die Hardwarekombinationen abbilden (z.B. ServoTower besteht aus Servo0, Servo1 und IR80cm)
- GUI mit 2D Swing und 3D OpenGL Darstellung
zu unterteilen.
Lokal lassen sich weiterhin direkt 2D und 3D Darstellung starten. Bisher habe ich den Roboter per VNC direkt über seine GUI gesteuert und Messwerte darüber anzeigen lassen.
Ich habe mich die letzten Wochen mit Sockets genauer auseinandergesetzt und Testprojekte geschrieben. Das ist etwas aufwändig und letztlich ja nicht mein Fokus. Ein eigenes Protokoll hätte beschrieben werden müssen.. ich habe nun eine komfortablere Lösung per Java Remote Method Invocation (RMI) umgesetzt.
Bild hier
Bild hier
Der Roboter kann nun von mehreren Clients gleichzeitig über eine GUI-Anwendung angesteuert werden. Auf dem Bot läuft quasi ein Server, bei dem sich Clients anmelden können und z.B. bei Änderungen des Kartenmaterials benachrichtigt werden. Die komplette Funktionalität, wie Fahrkommandos absetzen, BotThreads starten und die Punktwolkendarstellung ist damit von OS X, Windows und Ubuntu aus möglich. Die Prozessorlast des Bots ist, trotz des Starts aus Eclipse auf unter 3% gesunken. Die Visualisierung der Punktwolken ist komplett Sache der Clients und soll später flexibler werden.
Für Freunde der bewegten Bilder die Aufnahme des Testlaufs:
http://www.youtube.com/watch?v=8GpwtBVU4IE







Zitieren

Lesezeichen