noch vergessen: ist schön, dass du über VB nicht lachst
Stimmt schon, optimal sind die Programme damit nicht. Da aber die Prozessortaktgeschwindigkeiten schon jenseits von gut und böse sind, kriegt man ja eigentlich immer schnelle Programme hin.
Bei Roborealm kann man entweder durch Scriptmodule auf alle internen Variablen zu greifen. Welche das sind , wird in einem Fenster angezeigt. Das können solche Dinge sein wie "COG", "highest middle" uvam.
Die ruft man mit einer Get-Methode im script auf und kann die dann verarbeiten. Definiert man im script eigene Variablen, lassen die sich in der RR-Pipeline weiter verwenden, z.B. eine errechnete Servodrehzahl uä.
Eine andere Variante ist, Roborealm von einer anderen Entwicklungsumgebung zu starten, connecten und Variablen abzurufen oder zu übergeben.
Ich mach das mit VB (mit C geht das sicher auch), da man hier komplexere Steuerungen, dateiverarbeitungen usw. realisieren kann. außerdem ist Roborealm ziemlich spartanisch, was Module zusammenlinken oder ausdrucken angeht.
Wenn man sich mal mit RR befasst, merkt man ziemlich schnell, das erstmal schnell was zusammengeschossen werden kann, was geht, und wo man besser Programmlogik in C oder VB auslagert.
noch vergessen: ist schön, dass du über VB nicht lachst
Stimmt schon, optimal sind die Programme damit nicht. Da aber die Prozessortaktgeschwindigkeiten schon jenseits von gut und böse sind, kriegt man ja eigentlich immer schnelle Programme hin.
Warum sollte man über VB lachen. Das ist eine Programmiersprache wie jede andere auch, auch wenn diese nicht so schnell ist wie C o.Ä. Es gibt ja auch z.B. Bascom (Basic für µC), und da hat u.A. Willa sehr eindrucksvoll gezeigt was man damit machen kann.
MfG Hannes
... der Aufbau ist soweit abgeschlossen
Hier mal die ersten Bilder meines AU.ROB´s mit Kinect- und Notebook-Aufbau.
![]()
![]()
Weiters habe ich meiner Kinect einen Weitwinkelaufsatz spendiert, der Unterschiede ist hier zu sehen.
![]()
Nächster Schritt wird der saubere Einbau der gesamten Elektronik, parallel geht´s mit der Wegerkennung weiter.
LG, Arno
____________________________________________
Mehr Infos zu meinem Projekt unter: http://www.aurob.com
mal paar Fragen:
wieso 2 GPSse? Willst du wirklich einen Sick verbauen (Preis)? 2 Kompasse? Einer magnetisch und der andere GPS-Kompass?
ansonsten ein sehr engagiertes Projekt, Respekt!
Du bist schon weiter als ich. Ich krebse noch beim besten Wegerkenner rum und muß endlich ***seufz*** die Schnittstelle COM->Robosteuerung realisieren. Dann kann ich das Notebook auf den Robo schnallen.
Hi Thoralf!
Ich verbau praktisch alles was ich so rumliegen habe
Von den zwei GPS Empfänger - die zwar sehr nahe beieinander liegen (werden über die Kinect auf einem Querträger montiert) nehme ich den Mittelwert bzw. wenn ein Empfänger einen Aussetzer hat (kommt immer wieder vor) nehme ich den Wert von dem jeweils anderen.
Kompass kommt nur mehr einer drauf – mit dem HDMM01 komme ich nicht zusammen. Der CMPS10 ist wesentlich besser und hat eine rel. gute Autokorrektur.
Vorgesehen ist auch eine Anbindung entweder von meinem Handy oder meines Pad´s - beide Android. Und die Sensoren auch noch mal mit allen anderen abzugleichen. Das wird aber sicher einer der letzten Schritte.
Sick-Laserscanner hab ich auf E-Bay wirklich sehr günstig bekommen – der PLS100-112 ist zwar schon alt, liefert aber für meine Zwecke brauchbare Werte. Mit dem Sick bekomm ich halt wirklich sehr genau Ergebnisse wo sich Hindernisse befinden.
Natürlich reichen Ultraschallsensoren auch aus (von denen ich auch nochmal 12 Stück auf meinem Bot verbaut habe) – die Entscheidung zum Sick Scanner war wirklich nur der Preis. Hätt ich den „normalen“ preis zahlen müssen hätt ich sicher keinen
Wie geht’s Dir mit der Wegerkennung – hast schon was zum herzeigen, würde mich wirklich sehr interessieren? Auch wie Dein Bot aussieht.
LG, Arno
____________________________________________
Mehr Infos zu meinem Projekt unter: http://www.aurob.com
so nun ist das erste Video fertig:
http://www.myvideo.de/watch/8739752/..._mit_roborealm
wie schon mal geschrieben, gehe ich hier einen Weg im Dorf mit meinem Bauchladen ab, eigentlich "nur" mit einem Camcorder. Da ich mit Roborealm auch avi-Files laden und in der Pipeline nach Herzenslust verarbeiten kann, stört mich weder Wetter noch Reflexe auf dem Notebook-Display.
Dadurch ist ein Optimieren der Auswertung total easy.
Hier arbeite ich mit einem Floor-erkenner, der zu Füßen in einem Auswahlviereck die Helligkeit, den Farbwert und die Textur bestimmt und im Bild sucht. Was er findet ist, im Video das bräunliche Overlay. Von dem wird Streifen für Streifen der COG-Wert bestimmt und die Trajektorie im Display angezeigt. So findet man ziemlich leicht den optimalen Istwert in der Trajektorie. Bei zu starker Abweichung vom Soll ergibt das eine einfache Rechts-Links-Steuerinformation, die mit dem grünen Pfeil angezeigt wird. Wahrscheinlich muß ich aber bei einer realen Steuerung mit dem Analogwert arbeiten und eine PID-Steuerung realisieren.
In der nächsten Zeit nehm ich mal eine ganze Latte von Videos zur Analyse unterschiedlicher Bedingungen auf:
- versch. Lichtverhältnisse (tags, früh, abends, pralle Sonne und Schattenwurf)
- versch. Straßenbeläge wie Asphalt mit und ohne Schlaglöcher, Pflaster, Beton, Kies und Erde
Übrigens hab ich in meinen versch. Videos gesehen, daß der Kamerawinkel optimal ist, wenn die unter Bildkante direkt vor die Füße oder max. 1m entfernt davon gelegt wird und die obere Bildkante der Strassenhorizont ist (kann auch etwas kürzer sein).
Bilder vom Robbi kommen auch noch.
Die Stunde der Wahrheit kommt noch, wenn alles im Freien spielen soll. Aber es sit schon schön, daß der Erkenner überhaupt ersteinmal brauchbar ist.
LG Thoralf
Lesezeichen