http://channel9.msdn.com/wiki/defaul...RoboticsStudio
ein Wiki gibts auch ;-)
Druckbare Version
http://channel9.msdn.com/wiki/defaul...RoboticsStudio
ein Wiki gibts auch ;-)
Nochmal:
Was muss ein Board enthalten, damit man ein in MSRS entwickeltes Programm auf selbiges aufspielen kann?
Stichwort: Crosscompiler!? (Mach aus X ein Programm für Y im hex-Format).
Gruß
Lisbeth
Moin,
habe mir die halbe Nacht um die Ohren geschlagen und fast alle Hersteller der bereits unter MSRS (man entschuldige mir das o.g. MSRN :-) ) laufenden Boards nach Informationen abgesucht. It improved my english... Folgende Essenz kann ich nun von mir geben:
Ein Board muss / kann folgendes haben:
Bootloader - haben die meisten schon
Serializer - Softwareinterface das alle Events des Boards standardisiert und über beliebiges Hardwareinterface zum PC übertragen kann, sowie Kommandos des MSRS zum Programm des Bot bringt.
Programm im Robot nach belieben. Dieses muss die vollautonomen Dinge erledigen können und auch über den Serializer kommunizieren können. Diese Programm enthält z.B. Stoproutinen bei Bumperevents, PID-Regler für den Antrieb, Wegmesser, Kompassfunktion, I²C-Bussroutinen, etc. Ausserdem braucht eine Softwareumschaltung zwischen Vollautonom / MSRS-gesteuert.
Somit kann der Bot sein eigenes Verhalten haben, ODER über das Interface die Verhaltensprogramme des MSRS benutzen.
Es gibt keinen Weg, die MSRS-produzierten Verhalten direkt in den Bot zu schießen und dort laufen zu lassen :-( Das hatte ich eigentlich erwartet. Alle Board-Hersteller schreiben mehr oder weniger direct: Der Bot bleibt zur Vorsicht stehen, wenn die Kommunikation mehr als eine Sekunde unterbrochen ist. Ein Hersteller sagt dann klar: jetzt kann der Bot autonom mit seiner Firmware erkennen ob er anstößt - weitere autonomen Verhalten werden in der nächsten Firmwareversion vorhanden sein. Poor!
@Lisbeth. Wird wohl nicht einfach werden mit Crosscompiler. Ich weiß was Du im Hinterkopf hast: Die riesigen Steuerdateien des MSRS compilieren...
Ich sehe z.Z. keine Lösung. Auch ist mir das Studio noch nicht so geläufig. Ich stehe davor und habe das Gefühl ich sollte ein Atomkraftwerk, ohne Anleitung, sauber hochfahren.
Betrachtung zum Hardwareteil der Anbindung:
Wenn man sich Gedanken über die Anbindung an das MSRS von RN-Boards oder Asuros, beispielsweise über die RS232, macht, muss man meines Erachtens ein paar Grundlegende Sachen im Auge behalten.
Die Art, wie die Daten übertragen werden sollen, also das Protokoll.
Mann kann das als Text übertragen oder transparent.
Eine Sache die wir schon mal Meilenlang durchgekaut haben.
Ergebnis: Transparent mit Byte Stuffing.
Die Adressierung
Jeder Port oder AD-Wandler auf einem Board hat eine Adresse, zum Teil erst über das interne I2C Interface zu erreichen.
Ergebnis: Klassen und ID Einteilung.
Auch alles schon Ellenlang durchgekaut.
im properitären Open Source Projekt nachzulesen ;-)
Das muss der kleine Robi leisten ohne das im MSRS dabei hilft.
Wenn man das Roboternetz mit seiner Hardware gemeinsam an der Sache teilhaben lassen will ist hier eine einheitliche Lösung sinnvoll.
Netter Gruß
Ps. Prima Links, Danke
Edit: Ah da war jemand schneller und besser. Ja, so schaut es aus
@Lisbeth
Vielleicht liegt es ja doch eher im Trend, dss Robotergehirn auszulagern. Immerhin ist es wesentlich einfacher, auf dem PC zu programmieren, als Bytes im Microcontroller zu zählen. Beim ASURO könnte man das hiermit machen.Zitat:
Wie sollte das weitere Vorgehen sein?
Wenn klar wird das auf der Mikrokontrollerseite nix zu holen ist mit MSRS wird man wohl oder übel in die Niederungen der Kleinen abtauchen müssen.
Das ganze läuft auf ein Mikrokontroller Programm hinaus was einiges leisten muss.
Wir haben mit so was schon vor einiger Zeit angefangen und mal ein Beispiel in Bascom zur Verfügung gestellt.
Das Programm ist Open Source und soll am Ende exakt das von Opus beschriebene leisten und ist deshalb auch Multithread fähig ausgelegt.
Die Einzelfähigkeiten werden dabei von fertigen Libs erledigt weil nicht jeder die Tiefen der Controller kennen wird.
Damit das im Beitrag davor von mir gesagte auch etwas Substanz gewinnt hier die Dokus dazu:
Von hier aus erreicht man die verschiedenen Aspekte der Seriellen und anderer Kommunikation:
http://www.marvins-lab.roboterbastle...ntationen.html
Hier der spezielle Link zur RS232 aus der obigen Seite:
https://www.roboternetz.de/wissen/in...ller/PC_Praxis
Weitere Programme in der Richtung wären sicher Interessant und bereichernd.
Die Autonomie Fähigkeiten von Mikrokontrollern wird man wie Opus bereits sagte nur als Logik übertragen können wenn man das am PC als gut befunden hat. Also in z.B. Bascom oder ähnlichem neu schreiben.
Netter Gruß
Bislang haben wir einiges zusammengetragen, was die Verbindung eines uC mit einem PC angeht. Auf Seiten des uC ist eigentlich immer ein UART vorhanden, mit dem man über Kabel Anschluss an einen PC bekommt. Andere Lösungen setzen zusätzliche HW voraus.
@robo.fr: Die Bluetooth-Lösung für Asuro sieht gut aus! Wo gib es sowas? Hier im RN? Passt die Lösung auch für andere Boards?
Mein Ansatz war aber anders: Ich teste in der Simulation einen oder mehrere autonome Roboter. Wenn die Simulation zufriedenstellend verläuft, compiliere ich dieses Programm dann für den uC und flashe es auf.
Ich dachte, dass diese "lightweight" CCR eventuell mitgeladen werden muss oder ähnlich, halt eine runtime mit zugegeben einigem overhead.
(Asuro hat nur 8k, ist vielleicht zuwenig. Aber Atmel hat ja auch den ATmega128 mit 128k, der im Nibo eigesetzt wird.)
Gruß
Lisbeth
Hallo, hier noch ein nützlicher Link:
http://www.fischertechnik.de/de/msrspp/index.html
In dem PDF-File steht ein bisschen was.
Wie schreibt man so ein "Fischertechnik-Interface"-Modul?
Gruß
Lisbeth
Schon drei Seiten langer Thread, aber ausser Klarstellungen und Eindenken in die Sache nichts konkretes.
Wollen wir nicht das MSRS Projekt starten? (Es kommt so , oder so)
___________________________________
@Marvin
Wen brauchen wir, um das RN-COM Projekt auf MSRS zu adaptieren? Würdest Du Dein Wissen zur Verfügung stellen und dich einbringen?
@Alle
Wer würde sich das für den Asuro und andere antun?
Wer ist willens, die MSRS- Services dazu zu schreiben?
Wer würde die rote Mütze aufsetzen wollen?
Spontan würde ich die Simulation eines RN-basierenden Bots angehen.
Wir sind alles keine Fachleute. Der Lerneffekt steht bei mir im Vordergrund. Wenn dabei zwei Welten miteinander verbunden werden können haben alle was davon. Also - Freiwillige vor!
Die Bluetooth Lösung ist von mir, ich habe noch 5 Leerplatinen, falls jeman eine benötigt. Ansonsten wird hier auch das Sparkfun-Moudul vorgeschlagen.Zitat:
@robo.fr: Die Bluetooth-Lösung für Asuro sieht gut aus! Wo gib es sowas?
Wenn auf dem Board eine 28 pol. Sockel für einen ATmega8, 88, oder 168 vorhanden ist und die serielle Schnittstelle vom Bluetooth-Modem benutzt werden darf, dann ja.Zitat:
Passt die Lösung auch für andere Boards?
Eine kleine Anmerkung hätte ich noch:
Warum MSRS verwenden, wo es doch mittlereweile schon so viele Ansätze für Open Source Robotik Softwareumgebungen gibt?
http://marie.sourceforge.net/mediawi....php/Main_Page
http://www.ibm.com/developerworks/li...y/l-robotools/
Gruß,
robo
@Opus:
Ich würde es schön finden wenn hier ein MSRS Projekt entstehen würde.
RN-COM kann dazu einen guten Beitrag leisten da es einen Teil der Aufgabe sowieso in seinem Pflichtenheft hat.
Da ist auch in den Optionen enthalten einen Teil des Unterbaus für MSRS zu liefern
Ich kann auf jeden Fall in dieser Sache Vorschläge und Lösungen anbieten. Da viele Aspekte der Kommunikation schon von Fachleuten durchdiskutiert worden sind und daraus konkrete Lösungen entstanden sind.
Es ist also in jedem Falle ein Miteinander was die Gebiete angeht.
Was und wen wir im Einzelnen brauchen müssen wir zusammentragen.
Da werde ich mal etwas nachdenken und dann was zu sagen.
Netter Gruß
"Warum MSRS verwenden, wo es doch mittlereweile schon so viele Ansätze für Open Source Robotik Softwareumgebungen gibt? "
Ich habe Hochachtung vor den Open Source Projekten, aber:
Ich benutze kein Linux ,
Manch einer wird beruflich mit MSRS konfrontiert werden (siehe Kuka)
Der Verbreitungsgrad und damit die Community ist schon sehr groß Microsoft schafft es hier über einen Ansatz hinaus zu einem Standard zu werden. Hier das Für und Wider MS zu diskutieren ist müßig.
Ich finde es schon Interessant als ich hier angefangen habe zu schreiben und gesagt habe in meinen Bot kommt ein "ganzer PC" bin ich als verrückt abgestemplet worden. Und jetzt das.
Ich bin gerade am Downloaden von dem Teil mal sehen vielleicht finde ich zeit mal ein Versuch mit MSRS und RN-Com zu machen. Auf den ersten blick sieht das ja nicht so schwer aus.
Was mich stört ist das .Net framework aber der grund ist auch klar nur so erreich MS die Pattform unabhängigkeit.
Habt ihr mal gesehen was das kostet ?
Gruß
"Habt ihr mal gesehen was das kostet ?"
Bisher habe ich alles kostenlos heruntergeladen. ?!
Micha
@marvin42x: Wann ist genug nachgedacht? Gruß Lisbeth
:-$ der Maischter denkt O:)
:-) ich habe ja schon fertig gedacht.
Als Resultat hat sich NumberFive das schon mal angesehen.
Und UlrichC ist ja wohl auch nicht weit :-) , Netter Gruß
Da freue ich mich schon, dass wir hier mehrere sind.
Netter Gruß
Hier noch mal aus meiner Sicht der zentralen Gedanken:
//Send data that your robot understands
Sende Daten die der Roboter versteht
So steht es im Tutorial 6 . http://msdn2.microsoft.com/en-us/lib...43.aspx#1-ORCI
Auf der anderen Seite soll Der Roboter was senden von dem der Brick Service weis was es ist.
Damit die Roboter Message zugeordnet werden kann.
Der Roboter muss also kommunizieren.
Selbst wenn jemand einen Brick Service schreibt nutzt der erstmal niemandem was.
Es sei denn er hat einen Roboter der die richtige Messageform für den Service beherrscht.
Das bedeutet wir brauchen eine einheitliche Messageform und, soweit es geht eine einheitliche Adressierung. Also beispielsweise: Motor rechts hat die Adresse 55/1 Motor links hat die Adresse 55/2 oder so ähnlich.
Ohne das oben gesagte kann man das MSRS als Robotererweiterung m.E. nicht betreiben.
Was es schon gibt:
Ein brauchbares Messageformat kann ich vorschlagen.
Einiges an Adressen kann ich auch vorschlagen.
Ein ausgeschlafenes Protokoll für die Serielle Schnittstelle kann ich ebenfalls vorschlagen.
Damit wäre auch das RnCom Projekt mit angebunden.
Das Programm welches auf dem Roboter läuft ist in diesem Zusammenhang egal.
Solange es die Anforderungen an die Kommunikation erfüllt.
Leider bin ich ein miserabler Programmierer und in C# nicht bewandert. Darum kann ich beim Brick Service keinen Beitrag leisten.
Vielleicht sollte damit begonnen werden einige Punkte festzulegen in der Hoffnung, dass sich das zu einem Projekt ausweitet.
Netter Gruß
Gebt mir mal noch die Woche meine Frau ist jetzt drei Tage nicht da.
Update:
der erste Service ist in Arbeit die erste log Einträge gibt es schon.
Feine Sache, dass hier das Projekt ins Rollen kommt!
Bin etwas durch intensive Schulungsmaßnahmen unter Druck geraten und kann erst später was beitragen.
Hallo
weis einer von euch wie ich eine Blender 3D Projekt in die MSRS Simulatiosumgebung bringen kann ?
Angenommen ich will mir einen sensor aus dem Realen in MSRS nachbauen wie mache ich das?(sowas wie den LRF)
Update:
Habe jetzt ein Dienst/Dll die man in die Visual Language ein Binden kann.
Funktion Connet dich per TCP wo hin und empfange daten. Zur Zeit fehlt noch das man das Teil Konfiguriren kann wenn ich das habe kann ich die Version raus geben sofern es hier noch jemanden Interessiert.
Gruß
Na aber sicher, hier lesen einige interessiert mit.
Das ist lieb, das Du dich dem mal Testweise angenommen hast.
Wenn ich richtig verstanden habe kann man dann einen Service laufen lassen der die Fähigkeit hat über TCP zu Senden und zu Empfangen.
Was ich noch nicht im Blick habe ist die Schnittstelle Richtung Mikro Kontroller.
Sehr spannende Geschichte.
Netter Gruß
Wenn ich den Fortschritt dieses threads verfolge, scheint die Einbindung der RN-Boards in MSRS doch recht zeitaufwänding zu sein. Wer einen PC gestützten Roboter mit MSRS in Deutschland betreiben möchte und die benötigten Services und Manifeste nicht selbst schreiben kann, bleibt hardwareseitig auf Lego NXT, fischertechnik und vielleicht noch Graupner angewiesen. Eine gute Möglichkeit für den schnellen Einstieg in MSRS stellt das Serializer-Board von RoboticsConnection dar, weil dazu die MSRS-Services für die Ansteuerung der Motoren, Servos und der gängigsten Sensoren unter MSRS 1.5 schon heruntergeladen werden können.
http://www.roboticsconnection.com/pc...ontroller.aspx
Einen Anwenderbericht über einen Roboter auf dem ein kleiner PC mit Windows Embedded CE 6.0 und einem Serializer-Board läuft findet man hier:
http://www.learningce.com/821.aspx
Da das Serializer-Board nun auch in Deutschland bei Krause-Robotik ( http://krause-robotik.de/ ) zu beziehen ist und man sich so den ganzen Aufwand einer Bestellung in den USA sparen kann, habe ich mir dort gerade so ein Teil mit USB-Anschluss-Modul bestellt.
Wenn es geliefert ist und ich erste Erfahrungen damit gesammelt habe, werde ich hier darüber berichten.
Gruß, Günter
Naja der auf hält sich in grenzen oder fast ist eher der Zeit faktor von meiner Seite und das ein arbeiten in eine für mich neue Programmiersprache. Programmiere lieber hardware na (windows ddk, windows lovel Api) aber das funktion dort nicht.
Gruß
Das habe ich in diesem Thread am 11.9.2007 geschrieben. Deswegen mal einen kurzen Zwischenbericht. Um es gleich zu sagen, mit MSRS habe ich das Serializer-Board immer noch nicht programmiert. Erst dauerte es ziemlich lange bis das Teil geliefert wurde, danach hatte ich wenig Zeit fürs Hobby. Mittlerweile kann ich einfache Windowsprogramme für den Serializer in C# schreiben. Da ich keine Erfahrung mit objektorienten Programmiersprachen hatte, ist mir das nicht leicht gefallen. Es hat ich richtig Überwindung gekostet, mich auf diesen OOP-Jargon einzulassen, weil ich immer das Gefühl hatte, mit meinem geliebten VB6 hätte ich eine einfache Sensorabfrage drei mal schneller gelöst. Die für den Serializer zur Verfügung gestellte .Net Library funktioniert gut, und für erfahrene C#-Programmierer ist sie auch einfach zu handhaben. Die Dokumentation ist hinreichend und mittlerweile funktionieren die mitgelieferten Beispielprogramme auch. Die Unterstützung durch das RoboticsConnection Userforum ist ausgezeichnet.Zitat:
Wenn es geliefert ist und ich erste Erfahrungen damit gesammelt habe, werde ich hier darüber berichten.
C# ist das eine, MSRS ist aber noch ein ganz anderer Brocken. Obwohl RoboticsConnection auch MSRS-Services für den Serializer bereit stellt, sieht der Firmeninhaber von RoboticsConnection die Nutzung von MSRS wegen seiner Komplexität eher skeptisch. (Ist wirklich nichts mit „klicki bunti“ wie batti112 zu Beginn dieses Threads mal angemerkt hat.) Wen es interessiert: die Einschätzung von Jason Summerour findet man hier:
http://www.roboticsconnection.com/us...ic277-7-1.aspx
Noch bin ich nicht ganz ohne Hoffnung. Heute habe ich das Buch von Sara Morgan „ Programming Microsoft Robotics Studio“ erhalten, das Ende März erschienen ist. Vielleicht gelingt es mir ja damit in die Geheimnisse von MSRS einzusteigen. Bei Erfolg werde ich hier berichten.:)
Gruß, Günter
hallo,
falls noch wer dabei ist für das RN board ein service zu schreiben, seht euch die quellen zum kondo khr-1 an (sind bei MSRS 1.5 dabei, im samples ordner glaub ich). die klasse RCBPacket sollte sich (nahezu?) komplett für euer vorhaben übernehmen lassen. und der rest des projektes ist auch nicht weit von dem entfernt was ihr braucht (abgesehen halt von der RN board firmware).
mir jedenfalls hat dieser quellcode die MSRS philosophie klarer verdeutlicht als es die tutorials konnten. ich bin dabei MSRS treiber für das devantech SD84 (usb servo/IO board) zu basteln. sonst verwende ich noch den USB-I2C adapter derselben firma, für welchen es bereits MSRS treiber gibt. mein bot hat einen pc onboard. der SD84 soweit fertig, dass ich über VPL servos ansteuern kann. die restlichen funktionen wie servo-speed und IO werden keine grossen probleme mehr bei der implementierung bereiten, hab das projekt aber ein wenig auf eis gelegt da ich mich zur zeit mit der firmware für einen I2C beschleunigungssensor beschäftige.
ach ja, seit ein paar tagen ist 'Microsoft Robotics Developer Studio 2008 CTP April' erhältlich
http://www.microsoft.com/downloads/d...displaylang=en
habs mir aber noch nicht angeschaut.
lg
Im Rahmen der RoboChamps-Wettbewerbe des MS Robotics Developer Studio läuft gerade ein Urban Challenge Simulationswettbewerb. Die "Entry Period" endet am 30.11.2008.
Mit 10000$ ist selbst der zweite Preis ganz ansehnlich.
http://www.robochamps.com/rc/Common/....aspx?id=Urban
Gruß Günter
Falls sich hier doch jemand für das MSRDS interessiert, habe ich hier eine ganz interessante Seite mit Tutorials und Software (besonders für die Simulation) gefunden:
http://www.helloapps.com/
Gruß, Günter