Forum: PC-Programmierung Roboterprogrammierung via Windows CE


von Marco L. (chro-nos)


Lesenswert?

Hallo!

Als Berufsvorbereitung möchte ich mich ein wenig auf Robotik und 
Messtechnik konzentrieren.
Daher plane ich mittels Windows CE ein Entwicklungsboard für einen 
Messroboter aufzubauen, der einfache Messaufgaben übernimmt.
Windows CE habe ich desshalb ausgewählt, weil der Roboter ja allerhand 
an Informationen verarbeiten und vorallem auch Speichern muss.
Unter Windows CE scheint mir die Verwaltung etwas einfacher als mit 
einem Einfachen Atmel Board, welches meiner Meinung nach zu 
Leistungsschwach wäre.

Soweit richtig?

Gedacht hatte ich an ein Starter Kit wie dieses: 
http://www.emtrion.de/hicoarm9adk_ce500_de.php

Da ist das Betriebssystem schon vorinstalliert und ich müsste nur noch 
eine Applikation auf Basis von Windows CE entwickeln und mit eventueller 
Hardware (sprich Fahrantriebe und Sensoren zur Orientierung) 
verheiraten.

Ist das so möglich?

Welche Software benötige ich denn da? Ein Microsoft Visual Studio zur C 
Programmierung, dass ich auf das Windows CE draufmache oder erfolgt das 
Programmieren extern und ein fertiges Programm wird einfach dann auf dem 
Embedded Board ausgeführt.

Viele Fragen, ich hoffe ich werde nicht geschlagen wenn die 
Gedankengänge zu doof waren ;)

von Zwie B. (zwieblum)


Lesenswert?

Damit wirst du nicht glücklich, nimm lieber so was: 
http://www.rn-wissen.de/index.php/RN-MiniControl

von Mark .. (mork)


Lesenswert?

Mit einem Linux würdest Du wahrscheinlich besser fahren, weil es dafür 
bereits eine Menge an Opensource Software existiert und vieles, was auf 
einem PC läuft, auch auf dem Board ohne Anpassungen laufen kann. Bei 
WinCE ist es anders, dort muss man die Anwendugen, die für ein normales 
Windows geschrieben sind, immer umschreiben, da die API anders ist. 
Außerdem werden Dir mit Linux  sehr viel mehr Leute helfen können als 
mit Win CE.

MfG Mark

von JojoS (Gast)


Lesenswert?

Mit dem Board und WinCE geht das schon, vor allem wenn das OS schon 
fertig angepasst ist für die Hardware. Sonst braucht man den Platform 
Builder und der kostet 1.000 US$.
Die Entwicklungsumgebung läuft auf deinem PC und die Programme werden 
über eine Schnittstelle (seriel, USB, Netzwerk) auf die Zielhardware 
runtergeladen. 'Cross Plattform Development' nennt man sowas. Auch das 
Debuggen läuft über diese Nabelschnur und ist mit dem VisualStudio 
normalerweise sehr angenehm.
Nur wenn etwas nicht auf Anhieb klappt kann die Fehlersuche bei 
'exotischen' Plattformen sehr langwierig werden. GUI Entwicklung wird 
mit C# auch einfach gehen, aber wie performant das auf so einer 
Plattform läuft weiss ich nicht. Immerhin ist CE echzeittauglich 
(zumindest im ms Bereich) und kennt Prioritäten.

von Arc N. (arc)


Lesenswert?

Es gibt von MS auch noch das Robotics Studio
http://www.microsoft.com/robotics/
Von den auf der Seite gelisteten Robotern laufen etliche unter CE...

von Zwie B. (zwieblum)


Lesenswert?

bis auf den punkt, dass das board keine gpios hat ...

von Marco L. (chro-nos)


Lesenswert?

Erst einmal danke für die Meinungen und Ratschläge.

Mit dem RN Mini hatte ich auch schon sehr lange geliebäugelt, vorallem 
auch weil man einfach I/Os nutzen kann und mir das Board am besten 
geeignet schien.

Als ich dann mit meinem befreundetem Professor aus der Studienzeit 
einmal drüber schwätzte meinte er nur, solche ATMEL Boards wären für 
mein Vorhaben zu leistungsschwach und auch die Speicheranbindung zur 
Sicherung der Messdaten wäre relativ kompliziert.

Grund wäre einfach auch das sich Messsysteme die am Markt sind kaum 
portieren lassen auf einem einfachen µC.

Ich glaube auch da ist etwas dran.

Also werde ich wohl oder übel bei Windows Platformen bleiben müssen.
Oder eben Linux, ich bin da relativ offen.

von JojoS (Gast)


Lesenswert?

'Messsysteme am Markt' arbeiten ja meist als Einsteckkarte am PC oder 
per USB, das wird mit CE auch nicht einfach wg. fehlender Treiber. Für 
die Hardwareanbindung muss man schon tiefer einsteigen.
An die AVRs kriegt man relativ einfach SD Flash Speicher angeschlossen, 
reicht das evtl. schon für die Datensammlung?

von Marco L. (chro-nos)


Lesenswert?

Ich hätte ja auch lieber AVRs weils einfacher ist aber bei meinen 
überlegungen komm ich immer wieder bei einem Betriebssystem raus.

Messtechnik soll früher oder später mal ran, kann aber erstmal in den 
Hintergrund damits überhaupt läuft.
Schön wäre wenn ichs in zwei-drei Monaten hinbekomme das ich das Board 
habe, am besten auf ein Brett geschraubt, und dieses dann mittels 
angeschlossenen Motoren durch die Gegend braust (erstmal nur geradeaus) 
und die Wegstrecke aufzeichnet.

Eventuell zum Test mal noch die aktuelle Wegmarke mit zugeordneter Zeit 
speichern.

von Thomas B. (escamoteur)


Lesenswert?

Ich hbe in einem früheren Proekt viel mit Win CE gearbeitet und kann 
eigentlich nur positives darüber berichten.

Man kann CE-Programme übrigens ohne großen Aufwand auf dem PC entwickeln 
und testen solange man nur die Win32 APIs verwendet, die auch unter CE 
verfügbar sind. Klappt eigentlich problemlos und erleichtert das 
Entwickeln erheblich.

Mein Grund für CE war damals ein einziger, aber auch wichtiger: Ich 
kannte mich mit der programmierung von Windows gut aus, Linux wäre 
Neuland gewesen.

Gruß
Tom

von Karl H. (kbuchegg)


Lesenswert?

Marco L. schrieb:

> Als ich dann mit meinem befreundetem Professor aus der Studienzeit
> einmal drüber schwätzte meinte er nur, solche ATMEL Boards wären für
> mein Vorhaben zu leistungsschwach und auch die Speicheranbindung zur
> Sicherung der Messdaten wäre relativ kompliziert.

Dann rück doch mal mit etwas Information raus.

leistungsschwach:
  Was genau willst du machen.
  OK, du willst natürlich ein vollständig autonomes System, welche
  sich in unbekanntem Terrain dank GPS, Barometer und Temperaturfühler
  zurechtfindet.
  Aber was konkret davon willst du machen.

  leistungsschwach ist immer so ein Begriff. Viele können sich
  überhaupt nicht mehr vorstellen, dass es durchaus möglich ist
  auch mit Prozessoren unter 3Ghz Textverarbeitung zu machen.

  Wenn Videoauswertung ins Spiel kommt, dann wirds mit einem AVR
  tatsächlich eng. Aber ansonsten kann man vieles damit erreichen.

Speicherung der Messdaten:
  Eine SD-Karte ist ziemlich simpel an einen AVR angeflanscht.
  Das wird ja doch reichen, dass dein Robbi 2 Wochen autonom
  unterwegs sein kann, und dabei ein wenig mitprotokolliert.

von Marco L. (chro-nos)


Lesenswert?

Also gut, was will ich machen...

Zusammengefasst wie du schon erwähnt hast einen mobilen autarken 
Roboter, der umherfährt und diverse Messungen durchführen, u.a. auch mit 
Videomessung (weil der eventuelle Arbeitgeber damit auch was am Hut hat) 
aber das ist erstmal uninteressant.
Es soll halt Navigieren, Fahren und Messen und Daten natürlich 
Speichern. Funkübertragung ist nicht notwendig, die Daten werden nach 
der Messung per Hand geschlossen übertragen.
Das gröbste wurde schon richtig erkannt.

Wenn ich also absehen kann das Videomessung mal zum Einsatz kommen wird, 
sollte dich eine AVR-Basis nicht sonderlich lohnen?!

Weitere Überlegung ist die Tatsache, das in diesem Programm relativ viel 
parallel ablaufen sollte, sprich Fortbewegung, Navigation, überprüfung 
ob ein interessanter Messbereich vorliegt usw.
Ist denn das RN-Mini z.B. in der Lage so viele Aufgaben gleichzeitig zu 
verarbeiten/auszuführen?

Nicht das am Ende nur 2cm gefahren werden muss, dann stoppen, umschauen, 
Positionsdaten abgleichen und weiter fahren und so weiter.

Oder habe ich da eine falsche Vorstellung? Ich lasse mich gerne 
berichtigen.

Vielleicht ist es ja jetzt etwas verständlicher, was ich vorhabe.

von Karl H. (kbuchegg)


Lesenswert?

Marco L. schrieb:

> Es soll halt Navigieren, Fahren und Messen und Daten natürlich
> Speichern.

....
> Wenn ich also absehen kann das Videomessung mal zum Einsatz kommen wird,
> sollte dich eine AVR-Basis nicht sonderlich lohnen?!

Das würde ich so erst mal nicht sagen.
Gerade in Fahrzeugen kann man den Ansatz 'viele Prozessoren teilen sich 
die einzelnen Aufgaben untereinander auf' wunderbar umsetzen, weil sich 
die Aufgaben super parallel erledigen lassen ohne im Kommunikationschaos 
unterzugehen.

Ein µC ist dafür zuständig zu fahren.
Er bekommt das Kommando "Fahre 100 Einheiten geradeaus" und genau das 
macht er dann auch und überwacht es auch (zb mit Odometriesensoren).

Das Kommando kriegt er wieder von einem Navigations-µC, der aus seiner 
gespeicherten Karte und irgendwelchen Vorgaben den Kurs ermittelt hat, 
wie er zu einem Ziel kommen kann.

Das Ziel hat er wieder von einem Oberaufseher, der die Planung auf 
höherer Ebene durchführt und dem Navigationsrechner die Aufgabe gibt: 
Bring uns in die Küche. Der Navi Recher legt den Weg fest, den er fahren 
will und versorgt den Motorrechner mit den Informationen wie gefahren 
werden muss (2 Meter gerade aus, 5° nach links drehen, 10 Meter 
geradeaus, ...) und der Motorrechner schlägt sich dann damit herum, den 
Radschlupf, den er über seine Sensoren feststellt durch 
Drehzahlunterschiede der Motoren auszugleichen um so auch mit einem Rad 
am Teppich und dem anderen Rad am Parkett noch geradeaus zu kommen.

Während der Motorrechner noch mit dem Untergrund kämpft, beobachtet der 
Navirechner über seine Sensoren und gibt dem Motorrechner erst mal einen 
Notstop vor, wenn die Katze auftaucht und er einen Weg um die Katze rum 
suchen muss.

etc. etc.

> Ist denn das RN-Mini z.B. in der Lage so viele Aufgaben gleichzeitig zu
> verarbeiten/auszuführen?

Eine wahrscheinlich nicht.
Aber für das Geld was dir deine Windows-Entwicklungsumgebung kostet, 
kannst du dir mit Sicherheit mehr als eine RN-mini zulegen.
Man kann auch mit AVR der Mega Serie ziemlich kostengünstig selbst die 
Einzelrechner aufbauen. Oder kriegst du für ~20 Euro einen Windows-CE 
Rechner?

> Nicht das am Ende nur 2cm gefahren werden muss, dann stoppen, umschauen,
> Positionsdaten abgleichen und weiter fahren und so weiter.

Das wird sowieso im wesentlichen so ablaufen.

> Oder habe ich da eine falsche Vorstellung? Ich lasse mich gerne
> berichtigen.

Mein ehrlicher Eindruck:
Da ist wieder mal wer, der zuviel Fernsehen gesehen hat und sich im 
Geiste schon sieht, wie er zu seinem Robbi sagt: "Hubert, geh in die 
Küche und koch mir ein Schnitzel"

Die Realität sieht ganz anders aus. Du hast noch einen langen Weg vor 
dir. Schon alleine das dein Robbi auf jeglichem Untergrund geradeaus 
fährt, wird dich eine zeitlang beschäftigen :-)

von Marco L. (chro-nos)


Lesenswert?

1A

Super erklärt vielen Dank.

Und nein ich habe nicht mit einem Hubert gerechnet, bin ja nicht blöd. 
Ich frage ja so dämlich eben weil ich es richtig machen möchte.

Wenn ich das also richtig verstehe...
Du meinst ich sollte für den Anfang 2-3 RN-Mini Boards nehmen, diese mit 
einander verkoppeln (z.B. über die I/O - Ports) und jedes Board eine 
Aufgabe übernehmen lassen.

Klingt gut und an sich schon ein bischen weniger kompliziert als auf 
Windows CE aufzubauen. Vorallem weil mir die Minis ja als 
Bastel-Robotik-Experimentierboards ausgelegt sind, die auch mal schnell 
einen Motor ansteuern können.

von Karl H. (kbuchegg)


Lesenswert?

Marco L. schrieb:

> Ich frage ja so dämlich eben weil ich es richtig machen möchte.

Schmink dir das gleich wieder ab.
Ich meine die Sache mit dem 'richtig machen'.
Niemand macht so etwas aus dem Stand heraus 'richtig'. Denn richtig 
machen bedeutet auch, dass es kompliziert wird. Und wenn man anfängt 
versteht man nicht, warum das so kompliziert sein muss.

Selbst gesammelte Erfahrung kann durch nichts ersetzt werden. Dazu 
gehört auch, mal den falschen Weg einschlagen und zu erkennen warum es 
so nicht geht.

> Wenn ich das also richtig verstehe...
> Du meinst ich sollte für den Anfang 2-3 RN-Mini Boards nehmen, diese mit
> einander verkoppeln (z.B. über die I/O - Ports) und jedes Board eine
> Aufgabe übernehmen lassen.

Ich würde mir am Anfang einen billigen Rechner besorgen, egal ob das 
eine RN-mini oder etwas anderes ist. Und dann mit der Erfahrung sammeln! 
Wenn dann irgendwann der Punkt erreicht ist, dass der eine Rechner 
nicht mehr mitkommt, kommt ein zweiter dazu und dann werden die Themen 
'Kommunikation' und 'Aufgabenteilung' interessant. Bis dorthin hast du 
aber deine erste Baustelle schon erfolgreich abgeschlossen.

Nichts führt so zielsicher ins Chaos, wie wenn man sich am Anfang zu 
viel auf einmal vornimmt.


> Windows CE aufzubauen. Vorallem weil mir die Minis ja als
> Bastel-Robotik-Experimentierboards ausgelegt sind, die auch mal schnell
> einen Motor ansteuern können.

Es gibt auch relativ günstige Roboter-Kits, mit denen man für relativ 
wenig Geld seine ersten Erfahrungen sammeln kann.

Nur interesse halber:
Was kostet eigentlich dieses
http://www.emtrion.de/hicoarm9adk_ce500_de.php

von Marco L. (chro-nos)


Lesenswert?

Preis auf Anfrage ;)

Und das sicherlich nicht ohne Grund.

von JojoS (Gast)


Lesenswert?

die c't hatte auch mal ein Einstiegsprojekt, den c't Bot:
http://www.heise.de/ct/projekte/c-t-Bot-und-c-t-Sim-284119.html

von Chris S. (cri)


Lesenswert?

Gibt es einen günstigen PNA mit serieller Schnittstelle, welche man 
anlöten
kann sowie SD-Karte für das Wlan ? Mich würde sowas zwecks
Roboter-GPS-Navigation interessieren.

Mfg
Chris

von g0nz00 (Gast)


Lesenswert?

Hi,

ich würde ein board für die Motoren und sensoren die zum Fahren wichtig 
sind zum starten nehmen. Dann würde ich mir ein Intel Atom Mini Board 
zulegen und ein Linux draufspielen. Dann die Motorsteuerung an einen Com 
Port anschließen und versuchen das der Rechner befehle zum fahren an die 
Motorsteuerung schicken kann.

Mit dem Atom Mainboard haste erstmal eine hohe rechneleistung und 
ausreichende Dokumentation im Internet.

und so weiter ..... bis Nr.5 lebt

;)

von Zwie B. (zwieblum)


Lesenswert?

mini-2440 würd' ich empfehlen, wenns wirklich so fett sein muss.

von Marco L. (chro-nos)


Lesenswert?

Nunja sehr gute Ideen, vorallem die Sache mit der Schrittweisen 
realisierung.

Würde versuchen entweder mit Starterkit oder selbst gebaut einen 
einfachen fahrbaren Grundaufbau hinzupfuschen.
Wenn dieser iiirgendwann mal fährt  und halbwegs weiß wie weit er schon 
gefahren ist würde ich versuchen die besagten Mini-PC zu nehmen und mit 
diesen dann das Board für die Fortbewegung anzusteuern.

Gut, was heißt "wenns so fett sein muss"
Der eventuelle Arbeitgeber hat ein Projekt im Kopf was auf dieser 
Grundidee aufbauen soll.
Da habe ich eher weniger Lust alles zweimal zweimal zu machen weil ich 
für meinen kleinen Grundaufbau eine zu primitive Basis ausgewählt habe.

Mit dem Mini-PC und dem angeschlossenen Fortbewegungsboard könnte ich 
doch dann im Falle des Falles einfacher noch mehr Funktionen und 
ansteuerbare Hardware hinzufügen.
Will sagen, die eigentlichen Denkaufgaben und Funktionen übernehmen 
kleine AVR Boards und die Verwaltung dieser kleinen Teile übernimmt der 
Mini-PC.
Ähnlich wie ich es schon beschrieben hatte.

ICH WEIß, es ist zukunftsmusik für mich und noch weit weg.

Baustelle Nr. 1 wird also sein:

Starterkit mit Antrieb irgendwie zum Laufen bekommen und anschließend 
kontrolliert zum laufen bringen.

Meinungen?

von JojoS (Gast)


Lesenswert?

habe mir das emtrion Board auch mal näher angesehen, die Schwachstelle 
dürfte die Schnittstelle sein. Um Standards verwenden zu können braucht 
man noch das Carrier Board und dann kann man PC104 Boards für I/O 
benutzen. Damit wird das ein recht grosses Gebilde, da kann man gleich 
eine PC104 CPU nehmen (mit Atom CPU) und hatte ne Menge Auswahl an 
Standard (RT)OS. Wenn der Prof unbedingt das emtrion haben möchte dann 
am Besten da anrufen und beraten lassen.

von Marco L. (chro-nos)


Lesenswert?

Das Board war nur eine Idee, ist aber schon wieder aus dem Fokus. ;) 
Trotzdem Danke für die Mühe.

von Zwie B. (zwieblum)


Lesenswert?

Du wirst da Ding öfter als 2 mal entwickeln dürfen. Und es gibt das sehr 
gute Konzept von "Teile und herrsche". Für deinen fahrbaren Untersatz 
reicht ein 8bit AVR allemal, und für alles andere hast du keine 
Spezifikation.

Auf deinen "eventuellen" Arbeitgeber würd' ich mal bei der 
Hardwareauswahl nicht rechnen. In erster Linie geht's ja darum dass du 
was lernst.

von Marco L. (chro-nos)


Lesenswert?

er hat mir ja auch freiräume gelassen. Die Windows CE Sache hatte mir 
mein Professor empfohlen, davon bin ich aber weg.

Ich werde erstmal bei Null anfangen und mich auf was fahrbares zum 
Anfassen konzentrieren.

Hatte den Asuro ins Auge gefasst.

von Karl H. (kbuchegg)


Lesenswert?

Marco L. schrieb:

> Hatte den Asuro ins Auge gefasst.

Das ist jetzt aber von einem Extrem ins andere zu fallen.

Nichts gegen den Asuro. Ist ein lieber kleiner Robbi.
Das Problem: Mit Erweiterungen, wie zusätzlichen Sensoren, ist erst mal 
Essig. Da muss gröbere Umbauten machen. Schon ein zusätzliches LCD geht 
nicht mehr so einfach.

Das Konzept, die Hauptplatine als mechanische Trägerplatform zu nehmen, 
ist zwar schön einfach, macht allerdings Ärger, wenn eine andere 
Elektronik mit derselben Hardware klar kommen soll.

von Marco L. (chro-nos)


Lesenswert?

Meinste man kann den nicht von außen "anstoßen" über I/O Trigger und 
Status Ausgänge abfragen?

Was wäre denn die nächst mögliche Stufe?

Das ganze selbst basteln am RN-Control?
Da kann man ja mit Servo und I/O-Boards vielleicht mehr bewerkstelligen.

Andererseits würde der Asuro die Anfangsanforderungen eventuell 
erfüllen...
Ala "such dir ein hübsches fleckel und bleib stehen" dann kommt die 
andere hardware und übernimmt die Messung.

von Karl H. (kbuchegg)


Lesenswert?

Marco L. schrieb:

> Was wäre denn die nächst mögliche Stufe?

Ich würde nach einer Basis suchen, bei der die Mechanik eine getrennte 
selbst tragende Einheit ist.

> Andererseits würde der Asuro die Anfangsanforderungen eventuell
> erfüllen...

Wie gsagt:
Mit dem Asuro in der Basisausstattung ist man recht schnell am Ende der 
Fahnenstange. Nicht weil die Rechenleistung nicht ausreicht, sondern 
weil keine Erweiterungsports vorgesehen sind, an die man einfach 
rankommt. Sicher kann man die standardmässigen Sensoren (Taster etc) 
ausbauen und an die so frei werdenden Pins mit Schieberegister sich 
Port-Erweiterungen bauen. Wenn ich aber professionell einsteigen wollte, 
würde ich mir da mehr Flexibilität 'out of the Box' wünschen.

Daher: mechanisches Grundchassis und dann Elektronik drauf was immer 
gebraucht wird. Dadurch bleiben die mechanischen Parameter über lange 
Zeit erst mal identisch.

Abgesehen davon ist der Asuro sicherlich ein nettes Teil, mit dem man 
viel lernen kann. Der Nibobee gehört auch in diese Kategorie, hat 
allerdings ein paar Anschlüsse zur freien Verwendung frei.

von Marco L. (chro-nos)


Lesenswert?

Ach Karl Heinz... ich liebe dich!

Danke das du  / ihr so eine geduld mit mir hattet. Jetzt weiß ich 
erstmal wo ich ungefähr stehe und noch wichtiger, wo ich hin muss.
Ich werde wohl jetzt erstmal mch in Recherchen wälzen und mit sicherheit 
in kurzer Zeit wieder da sein um euch mit neuen Erkenntnissen zu 
löchern.

Danke nochmal!

von Yalu X. (yalu) (Moderator)


Lesenswert?

Noch ein paar Aspekte:

Es ist auf jeden Fall sinnvoll, sich erst einmal über die eingesetzte
Roboterplattform klar zu werden. Dann kann, je nach den zur Verfügung
stehenden Hardware- und Softwareschnittstellen, das/die optimale(n)
Prozessor-/Controllerboard(s) ausgewählt werden.

Was exisitiert eigentlich schon von der Roboterplattform, auf der die
Sensoren montiert werden sollen? Konstruierst du sie selber, oder kaufst
du sie ein? Falls du sie einkaufst, ist oft die Lowlevel-Steuerung
(Antriebsregelung, Odometrie, Kollisionsschutzsensordatenverarbeitung
usw.) schon vorhanden, evtl. sogar schon ein Mini-PC mit Betriebssystem
für die rechenaufwendigen, aber nicht so zeitkritischen Aufgaben.

Nur mal so ein Beispiel:

  http://www.mobilerobots.com/ResearchRobots/ResearchRobots/PioneerP3DX.aspx

Optional wird ein passendes PC-Board mitgeliefert. Es gibt natürlich
auch größere und kleinere Robotermodelle, je nach Anforderungen.

Wenn du den Roboter komplett selber entwickeln möchtest, würde ich für
die Steuerungsaufgaben auf einen Mikrocontroller mit seinen vielfältigen
Hardwareschnittstellen und einen leistungsfähigeren Rechner mit viel
Speicher verteilen.

Als Mikrocontroller passt einer der neueren All-Inclusive-Controller
(AVR, PIC, MSP430 o.ä.). Schon auf einem einzigen davon lassen sich
i.Allg. alle der o.g. Lowlevel-Funktionen realisieren, denn so schwach-
brüstig sind diese Controller gar nicht. Die Firmware ist relativ
schnell programmiert und kaum anwendungsspezifisch, so dass sie im
weiteren Entwicklungsprozess nur noch selten geändert werden muss.

Der leistungsfähigere Rechner übernimmt die Highlevel-Funktionen (Navi-
gation und Anwendungsfunktionen). Er sollte mit ordentlich Speicher,
Betriebssystem, USB-Host und WLAN ausgestattet sein, ähnlich dem Board,
das du bereits ausgesucht hast. Bei der Auswahl würde ich insbesondere
auch darauf achten, dass bereits eine größere Community dafür existiert,
da eine solche nicht nur einen sehr guten, sondern auch kostengünstigen
Support bietet ;-)

Diesen Rechner verbindest du über einen USB-Seriell-Konverterbaustein
mit dem Mikrocontroller und hast damit eine leicht zu programmierende,
zuverlässige und schnelle Kommunikation zwischen den beiden Rechnern,
nicht nur für die Steuerungssoftware während des Betriebs, sondern auch
für den Firmwareupload auf den Mikrocontroller.

Das WLAN dient vor allem dazu, den Entwicklungsprozess zu beschleunigen:
Du kannst von einem stationären Entwicklungs-PC ohne Kabelgestöpsel
Software auf den Roboter hochladen, diese während der Fahrt debuggen und
anschließend Logdateien u.ä. wieder herunterladen, um sie auf dem
Entwicklungs-PC in Ruhe analysieren zu können. Zusätzlich kannst du über
das WLAN eine einfache Fernsteuerfunktion realisieren, um den Roboter
auch manuell verfahren zu können.

Das Betriebssystem (Linux oder Windows CE) ermöglicht ohne Anstrengungen
Multithreading, die WLAN-Verbindung, den Zugriff auf Dateisysteme (lokal
oder im Netzwerk) und ggf. die Kameraanbindung. Wegen der größeren bzw.
kooperativeren Community (Support) und der besseren Interaktionsmöglich-
keiten über Netzwerk (Debugging) würde ich Linux gegenüber Windows CE
den Vorzug geben. Wenn du dich allerdings mit CE schon gut auskennst,
ist das natürlich ebenfalls eine Option.

Mit dieser Aufteilung in zwei unterschiedliche Rechner laufen alle stark
echtzeitkritischen (<1ms) Funktionen auf dem Mikrocontroller ab, dessen
Firmware nur selten geändert wird. Du wirst dich deswegen nur wenig mit
Echtzeitproblemen herumschlagen müssen. Da der größte Teil der Software
auf dem leistungfähigeren Rechner läuft und dort während der Entwicklung
die meisten Änderungen stattfinden, werden dort auch die meisten Fehler
auftreten. Durch den drahtlosen Remotezugriff auf den Rechner ist das
Testen und Debuggen aber überhaupt keine Qual.

von ..,- (Gast)


Lesenswert?

Gäbe auch noch den RP6 der ist nicht so schnell und wendig wie der ASURO 
hat aber mehr Platz für Erweiterungen und der Prozessor ist größer.

Im Roboternetz Forum hat da mal jemand ne Kamera dran gebastelt und 
damit Linien auf dem Boden verfolgen können.
War nur irgendwas in der Region von 16x16 Pixeln aber immerhin ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.