Archiv verlassen und diese Seite im Standarddesign anzeigen : Der Robby und LabView
Hi Allerseits :D
Hab grade nen LabView-Kurs und wollte im Zuge dessen den RP6 mit LabView ansteuern.
Im Grunde wollte ich das Programm von Fabian E. und Bluetooth (COM-Port 8 ) verwenden, später dann ein eigenes schreiben oder das von Fabian E. um die restlichen I/Os und ADCs erweitern. Ich habe allerdings noch ein paar fragen:
Kann mir jemand sagen, wie man den nun am besten ansteuert?
Läuft das dann über Strings oder über Numerische Werte?
Hat vielleicht jemand ein LabView-Vi für mich, das schon mit dem RP6 kommunizieren kann (mit dem dazugehörigen Code). Wär super, da könnte man denke ich am meisten lernen. Ich habs heute mehrfach mit den VI`s aus der VISA-Sparte versucht, aber nix, nix, nix.
Danke Euch!
Fabian
Also, wann immer ich in LabView eine Verbindung herstele, geht der RP6 aus.
Schaltet sich komplett ab! Hier wird wohl ein "falscher" Pin geschaltet, oder?
Hat da jemand eine Idee?
Hat jemand zufällig eine Ahnung, welche Befehle der RP6 in Fabian E.`s Programm vom PC erwartet?
Es müsste etwas sein wie: 1:60:60:0:22 für vorwärts mit Geschwindigkeit links und rechts 60.
Grüße
Fabian
Du musst den RTS pin vom UART Interface richtig setzen (high pegel) sonst wird der Controller auf dem Roboter im Reset gehalten (nein der Roboter kann sich nicht selbst abschalten aber aus Stromspargründen wird die Power LED zusammen mit den Sensoren abgeschaltet)
MfG,
SlyD
Danke, das Problem wäre damit behoben :D
Danke dir!
Aber ich habe immer noch nicht ganz raus, wie die Befehle vom PC gesendet werden sollen. Und Fabian E. erreiche ich grad nicht :(
Vielleicht sonst noch Ideen zu den Befehlen?
radbruch
23.09.2011, 11:12
Hallo
Vielleicht sonst noch Ideen zu den Befehlen?
Wenn auf dem RP6 ein einfaches Echoprogramm laufen würde, dann könnte er dir zurücksenden was er vom Fernsteuertool empfängt. Ich hab das allerdings noch nicht selbst ausprobiert.
Gruß
mic
Haha!
Habs in der Lib gefunden, danke Euch!
Ich hoffe, ich bekomme es jetzt in LabView hin.
Wer es wissen will:
Die Befehle beginnen mit #, enden mit * oder einer \0.
z.B. vorwärts: #1:60:60:0:2*
die 1 ist für die Motoren zuständig, die beiden 60er sind die Geschwindigkeit links/rechts, die 0 bedeutet vorwärts (1 ist rückwärts, 2 und 3 sind auf der Stelle drehen). die letzte Ziffer ist die Befehlsnummer und muss nach jedem Befehl um wenigstens 1 erhöht werden.
Grüße!
Biohazardry
26.09.2011, 18:19
Hi wie ich sehe komme ich zu spät... hatte das gleiche schon durchgemacht wie du jetzt. Btw im Fabian E. sein Programm gibt es etwas schönen was man Terminal nennt und da kannst du empirisch die einzelnen Befehle mit ihren gesendeten Code einsehen. auch das empfangene Datenmaterial kannst du sehen... Ich hab dir eine PN gesendet schau sie dir bei zeiten an ;-)
Gruß
Biohazard
Vielen Dank Euch allen!
Das LabView-Projekt war ein kleiner Erfolg für mich, es hat nun zuletzt alles geklappt. Blutoothsteuerung der Motoren und Servos, abfragen aller (der meisten) Sensoren. Vor allem dank Biohazardrys Terminal-Vi und dank Fabian E.s RP6-Programmen.
Momentan funzen zwar noch nicht alle details (momentan nur 3 Servos möglich, Temperatur, Mikrofon, weitere I/Os und ADCs der einzelnen Teile - Base, M32 und M128 noch nicht abfragbar), aber ich werde natürlich weiter daran feilen.
Und ich möchte noch einige Routinen hinzufügen (Lichtquelle suchen, Wärmequelle mit Snakevision suchen, einfach rumfahren, etc) und meine Kamera einbinden.
Es gibt also noch viel zu tun!
Werde weiter berichten.
Grüße!
Fabian
AsuroPhilip
01.10.2011, 15:55
hm... sieht gut aus ;->
Kannste mal ne Video machen ?
mfG
Philip ;->
Hier mal die ersten Videos:
Es gibt ein Problem: Mein Bot ist grade schon so schwer, dass er ziemlich viel Strom frisst. Gestern neue Batterien eingelegt, heute: 5,7 Volt :(
Und die M128 ist immer die erste, die bei niedriger Spannung hopps geht.
http://www.youtube.com/watch?v=4YuWwxII6zk
http://www.youtube.com/watch?v=Y4HyA5b8O-0
http://www.youtube.com/watch?v=T5t2rh85nwI
Wie gesagt, es ist schon noch einiges zu tun.
Vor allem die Servos mögen manchmal nicht.
Die Steuerung erfolgt über das Numpad für die Motoren (1-9, 5 und Leertaste bedeuten Stop ) , die Beleuchtung ( * und / ) und die Geschwindigkeit ( + und - ).
Außerdem können die beiden Servos über WASD angesteuert werden, müssen aber zunächst mit Enter aktiviert werden, was gerne auch mal nicht geht.
Grüße!
Mal ne Frage:
Als ich nur die Base und die M32 verwendet habe, konnte ich mit meinem Programm den RP6 starten durch den Befehl "\s". Neu booten konnte ich ihn, indem ich die Schnittstelle neu öffnete, was ich bei jedem Programmstart am PC ohnehin mache.
Das war klasse so, da dann sowohl PC-Programm wie auch RP6-Programm wieder bei Null beginnen konnten. Jetzt geht das nicht mehr, seit ich die M128 verwende...
Gibts auch hier Start- und/oder Boot-Befehle?
Danke Euch
Hallo,
der Bootloader in der CCPRO Unit startet das Programm automatisch.
Es wird hier um es mit den anderen RP6 Komponenten kompatibel zu halten im Anwendungsprogramm gewartet bis entweder der Start Taster auf der M128 Platine oder ein Startsignal über den I2C Bus kommt.
Wenn Du noch über die serielle Schnittstelle starten willst, ändere einfach die start Funktion in der RP6CCLib entsprechend ab.
> Neu booten konnte ich ihn, indem ich die Schnittstelle neu öffnete
Der RTS Pin ist mit Reset verbunden. Kann durchaus sein das Labview den beim öffnen auf Low setzt.
MfG,
SlyD
Danke Dir.
Bin zwar mal kurz die nächsten zwei Wochen ned da, werd mich aber danach gleich wieder hinhocken.
LabView klappt auch noch nicht ganz so gut, wie es soll.
mfg
Biohazardry
02.10.2011, 20:07
Sieht doch schon super aus... hast du auch schon was mit dem Bildempfang/ Bildverarbeitung gemacht... würde mich sehr über deine Lösungswege freuen :-)
Gruß Biohazard
Nene nix mit Video derzeit.
Ist aber fest eingeplant, nur fehlten bisher die Treiber. Konnte leider auch deine Laserverfolgung nicht ganz testen, da mir IMAQ-USB-Treiber fehlten.
Wird aber nachgerüstet und einbezogen.
Des Weiteren muss ich mir erst ne neue, kleine, billige, Verbrauchsarme Funk-USB-kamera holen. Meine jetzige zieht Batterien leer wie nix...
Außerdem sendet meine auf 2,4GHz, was scheiße ist mit meinem Bluetooth-Sender... und dem WLAN, der Mikrowelle, ...
Grüße
@ Arigocan (https://www.roboternetz.de/community/members/52708-Arigocan):
So was hatte ich auch mla im Kleinen.
1.) Wo und wie öffnest du deinen COM-Port?
Das darf nur einmal geschehen, wenn du es in jedem While-Durchgang neu machst, gehen Daten verloren und die Zeiger "wackeln".
2.) Wie bröselst du deinen String auf? Wie werden die einzelnen Werte getrennt?
Ich hab dir das mal unten als Bilder angehängt. Wichtig ist eben, die VISA sauber zu öffnen und auszulesen. Außerdem ist wichtig, die Daten ordentlich zu trennen und darzustellen.
Im ersten Bild wird die VISA konfiguriert, und zwar nur ein einziges Mal zu Beginn. Wichtig ist auch die Baudrate. Dann geht das ganze in mein VI, das ich dir ja schon schickte.
Weiter gehts im Zweiten Bild, wo - bei mir jedenfalls - nach ":" gesucht wird, alles was dann davor steht geht in den Case-Selektor. Alles was nach ":" steht geht in die Case und wird dargestellt in Messinstrumenten. Wichtig am Ende, nach der While: VISA wieder Schließen. Das, was da noch am VISA-Schließen dranhängt mit der "#7:" und dem "+1" kannste vergessen, das ist nur, um meinen RP6 am Ende anzuhalten.
Ich hoffe, ich konnte dir helfen!
Vg
Sieht ganz schön spannend aus, was du da machst, fabqu!
mal sehen, ob ich dann in einem Jahr auch mitreden kann =) dann sollte ich auch einen LabView kurs gemacht haben.
Viel erfolg auf jeden Fall!
Jo, danke :D
Aber mein Rat: Fang schon mal a bissl an, mit LabView zu arbeiten.
Der Kurs hat zumindest bei mir einiges neues gezeigt, aber nix wirklich wichtiges, was ich für dieses Projekt hier brauchen konnte. Da muss man dann alleine ran.
Und LabView ist echt zu großen Teilen selbsterklärend, v.a. wenn man schon C kann. Und es gibt tolle Tutorials und Foren!
Das einzige, was mich manchmal genervt hat, ist: Manche sachen brauch in C-Code vielleicht vier Codezeilen, und in LabView drehst du dich ne Stunde im Kreis und bekommst es nicht gescheit hin. z.B. einfach if-Beziehungen, die gibts nicht in LabView. Nur Case-Strukturen!
Aber das wirst du dann sehen, vielleicht stelle ich mich auch einfach a bissl blöd an ;)
Wenn Interesse besteht, kann ich ja mal wieder die Fortschritte posten.
Grüße!
Arigocan
13.12.2011, 18:10
Hi,
also mein RP6 LabView Programm ist auch fast fertig, aber im Moment ist es noch eine Basis-Version und Bluetooth fehlt noch (bis das Modul endlich da ist).
Es kann:
- Bewegungskommandos über Button im GUI senden
- Schubkontrolle
- Sensordaten anzeigen (Batterie, Speed, ACS, usw..)
- Evade-Programm: wenn das ACS ein Hindernis meldet, wird auf Knopfdruck durch Drehen ein Weg gesucht, der laut ACS frei ist
- stellt die Umgebung vor dem RP6 virtuell dar (Hindernisse)
- Webcamübertragung
Was noch kommt:
- Steuerung per Joystick
- Drehen der Webcam durch Servos
- Ultraschall- oder Laserentfernungsmessung
- usw...
Anbei mal ein Bild des GUIs in LabView.
Gruß
Ari
Wow, sehr nette Sache!
Färbt sich dein "Virtual Front Surrounding auch links/rechts unterschiedlich ein?
Ich überlege gerade, etwas wie im Bild unten einzubauen. Weiß nur noch nicht genau, wie.
Und hast du das Einbinden deiner Cam schon mal versucht? Ist das ne Funk-Cam?
Grüße
Arigocan
13.12.2011, 23:00
Ja, bei dem Virtual Frontal Surrouding ändern sich Farbe und Positon. Im Anhang ist ein Bild. Das mittlere rote Objekt wird angezeigt, wenn beide ACS ein Hindernis erkennen und die linken und rechten roten Objekte werden je nachdem angezeigt, welche ACS-Seite ein Hindernis erkennt. Wobei die Entfernung und Position natürlich nur grob geschätzt sind ;) Wenn das ACS kein Hindernis erkennt, wird das grüne Objekt "Freie Bahn" angezeigt.
Das weiße Ding in der Mitte ist normalerweise das Bild von meiner Cam (aber das VI läuft ja gerade nich). Bisher ist es eine USB Cam, aber ab morgen dann hoffentlich eine Funk-Cam. Das ganze geht mit der Vision Acquisition Software (VAS) von LabView sehr einfach. Allerdings sollte man darauf achten, zwei parallele While-Schleifen (eine für Cam, eine für RP6 Control) zu haben, da es ansonsten zu heftigen Verzögerungen beim Senden/Empfangen von Daten gibt.
Gruß
Ari
Cool. Wie machst du das, dass sich der Schriftzug ändert?
Ich schätze mal, der Hintergrund besteht aus "normalen" boolschen LEDs, oder?
Und ich hoffe, du hast nicht auch die Funk-Cam vom Pollin geholt, ist ziemlicher Misst.
Geht nicht mal auf 2 Meter halbwegs :(
Arigocan
13.12.2011, 23:15
Alle 4 Objekte sind Boolesche LEDs. Mit Eigentschaftsknoten im Blockdiagramm und den Bool-Werten des ACS wird dann die Sichtbarkeit gesteuert.
Ich habe mir eine Mini-Funk-Cam mit extra Empfänger geholt, deren Reichweite selbst mit Akku 16m sein soll. Der Empfänger ist ein richtige Empfänger für 2,4GHz Kameras und liefert ein Video-Out-Signal, welches dann über einen USB Video-Grabber an den PC geschickt wird. So zumindest in der Theorie. Ich hoffe, dass ich morgen das in der Realität testen kann. Der Video-Grabber wird auf jeden Fall schon mal erkannt in LabView...
Hmmm... und wie machst dus, dass die eine LED hinter der anderen LED verschwindet?
Bin schon gespannt, ob das mit deiner Cam besser geht, als mit meiner.
Wenn ja: Wo gibts die, was kostet die, was braucht die Strom??? :D
Grüße
Arigocan
14.12.2011, 15:16
Das geht über den Eigentschaftsknoten, wie oben beschrieben. Dadurch sind die LEDs wirklich nur sichtbar, wenn ich es will.
Kamera ist da und wird nun getestet...
EDIT: So Kamera geht. Allerdings ist das eine 2.4GHz Kamera und man merkt deutlich die WLANs hier in der Umgebung :) Immerhin 3 Zimmer weiter war der Empfang noch da, aber mit etwas Rauschen. Dafür ist die Cam mit 2x2cm sehr schön klein (aber die Antenne leider auch). Getestet war das mit einer 9V Block Batterie. Mit Netzteil ist es evtl. besser.
EDIT2: Kamera am RP6 angebracht, Joystick-Steuerung integriert...alles funzt :)
Ist sehr lustig mit dem Joystick zu steuern (und dessen Schubregler), hab aber noch massig ungenutzte Joystick Tasten, dafür muss ich mir noch was überlegen. Der Coolie Hat soll später die Kamera drehen und schwenken.
Jetzt fehlt nur noch das Bluetooth-Modul, das sollte eigentlich heute ankommen...
PS: Die Justierung der Encoder am RP6 ist leider nicht so optimal. Meiner fährt immer leicht im Kreis, aber bekomme das irgendwie nicht besser eingestellt (bin froh wenn der überhaupt Drehungen misst).
Klingt toll ;)
Vielleicht gibts ja mal ein Video?
Oder so was :D
Grüße
Arigocan
15.12.2011, 23:12
Jo, mal schauen. Morgen kommt wohl endlich mein Bluetooth-Modul und wenn das dann eingebaut ist, ist ja soweit erstmal alles fertig.
So, nach viel, viel Arbeit bin ich schon ganz gut vorangekommen mit dem Programm.
Nun habe ich aber folgendes Problem: Ich sende einen Befehl an meine M128 "Setze ACS auf (aus, low, mid, high)", je nachdem.
Der Befehl kommt bei der M128 an und wird verarbeitet.
Jedoch nicht in der Base, und ich weiß nicht, woran das liegen kann. Hier mal ein Auszug aus dem Slave auf der Base, vielleicht könnt ihr mir helfen. Oder ihr sagt, dort muss alles in Ordnung sein, es muss vielleicht doch an der M128 liegen.
Alle anderen Befehle werden jedoch immer auch ausgeführt, nur eben das ACS nicht.
Danke euch!
/************************************************** ***************************/
// Command Registers - these can be written by the Master.
// The other registers (read registers) can NOT be written to. The only way to
// communicate with the Robot is via specific commands.
// Of course you can also add more registers if you like...
// ----------------------
#define I2C_REGW_CMD 0
#define I2C_REGW_CMD_PARAM1 1
#define I2C_REGW_CMD_PARAM2 2
#define I2C_REGW_CMD_PARAM3 3
#define I2C_REGW_CMD_PARAM4 4
#define I2C_REGW_CMD_PARAM5 5
#define I2C_REGW_CMD_PARAM6 6
// ----------------------
uint8_t cmd;
uint8_t param1;
uint8_t param2;
uint8_t param3;
uint8_t param4;
uint8_t param5;
uint8_t param6;
/**
* Checks if a new Command has been received and also reads all
* paramters associated with this command.
* It returns true if a new command has been received.
*/
uint8_t getI2CCommand(void)
{
if(I2CTWI_writeRegisters[I2C_REGW_CMD] && !I2CTWI_writeBusy)
{
cmd = I2CTWI_writeRegisters[I2C_REGW_CMD]; // store command register
I2CTWI_writeRegisters[I2C_REGW_CMD] = 0; // clear command register (!!!)
param1 = I2CTWI_writeRegisters[I2C_REGW_CMD_PARAM1]; // parameters 1-6...
param2 = I2CTWI_writeRegisters[I2C_REGW_CMD_PARAM2];
param3 = I2CTWI_writeRegisters[I2C_REGW_CMD_PARAM3];
param4 = I2CTWI_writeRegisters[I2C_REGW_CMD_PARAM4];
param5 = I2CTWI_writeRegisters[I2C_REGW_CMD_PARAM5];
param6 = I2CTWI_writeRegisters[I2C_REGW_CMD_PARAM6];
return true;
}
return false;
}
/************************************************** ***************************/
// Command processor:
uint8_t leds = 1;
// Commands:
#define CMD_POWER_OFF 0
#define CMD_POWER_ON 1
#define CMD_CONFIG 2
#define CMD_RP6_SETLEDS 3
#define CMD_RP6_STOP 4
#define CMD_MOVE_AT_SPEED 5
#define CMD_CHANGE_DIR 6
#define CMD_MOVE 7
#define CMD_ROTATE 8
#define CMD_RP6_SET_ACS_POWER 9
#define CMD_SEND_RC5 10
#define CMD_SET_WDT 11
#define CMD_SET_WDT_RQ 12
/**
* This function checks if commands have been received and processes them.
*/
void task_commandProcessor(void)
{
if(getI2CCommand())
{
switch(cmd)
{
case CMD_POWER_OFF: powerOFF(); status.powerOn = false; break;
case CMD_POWER_ON: powerON(); status.powerOn = true; break;
case CMD_CONFIG: break;
case CMD_RP6_SETLEDS: setLEDs(param1); break;
case CMD_RP6_STOP: stop(); break;
case CMD_MOVE_AT_SPEED: moveAtSpeed(param1, param2); break;
case CMD_CHANGE_DIR: changeDirection(param1); break;
case CMD_MOVE: move(param1, param2, ((param3<<8)+param4), false); break;
case CMD_ROTATE: rotate(param1, param2, ((param3<<8)+param4), false); break;
case CMD_RP6_SET_ACS_POWER:
switch(param1)
{
case ACS_POWER_OFF:
disableACS(); setACSPwrOff(); status.ACSactive = false;
setLEDs(0b000000); //Die LEDS sollen nur anzeigen, ob der Befehl ausgeführt wurde
break;
case ACS_POWER_LOW:
enableACS(); setACSPwrLow(); status.ACSactive = true;
setLEDs(0b100100); //Die LEDS sollen nur anzeigen, ob der Befehl ausgeführt wurde
break;
case ACS_POWER_MED:
enableACS(); setACSPwrMed(); status.ACSactive = true;
setLEDs(0b010010); //Die LEDS sollen nur anzeigen, ob der Befehl ausgeführt wurde
break;
case ACS_POWER_HIGH:
enableACS(); setACSPwrHigh(); status.ACSactive = true;
setLEDs(0b111111); //Die LEDS sollen nur anzeigen, ob der Befehl ausgeführt wurde
break;
}
break;
case CMD_SEND_RC5: IRCOMM_sendRC5(param1, param2); break;
case CMD_SET_WDT: status.watchDogTimer = param1 ? true : false; break;
case CMD_SET_WDT_RQ: status.wdtRequestEnable = param1 ? true : false; break;
}
}
}
____________
EDIT: Hat sich erledigt, ich hab zweimal denselben Funktionsnamen verwendet.
So gehts:
case CMD_SET_NEW_ACS_POWER:
RP6_writeCMD_1param(RP6_BASE_ADR, CMD_SET_ACS_POWER, params[1]);
und oben eben noch das "#define CMD_SET_ACS_POWER..." in "#define CMD_SET_NEW_ACS_POWER..." ändern.
EDIT2:
Wenn ich fertig bin mit dem Programm, kann ich gern mal ein paar Bilder/Videos zeigen.
Der RP6 kann bisher ferngesteuert werden, alle ADCs, LEDs, Bumper und Taster-Werte werden dargestellt. LEDs sind allesamt schaltbar, an einigen Hängen auch andere Verbraucher dran: Kamera, Snakevision, 2x ACS hinten, 2x Bumper hinten, Scheinwerfer. Außerdem wurde eine Funkkamera eingebunden, die momentan immerhin 2-Euro-Münzen erkennen und anzeigen kann. Und man kann den RP6 entweder mit der Tastatur fernsteuern, oder mit einer TV-Remote. Oder er kann eine Lichtquelle suchen oder aber eine Wärmequelle (Mit SnakeVision). Auch das herumfahren und auf Gegenstände achten geht.
:D
Danke an euch alle, habt mir schon viel geholfen. Vor allem FabianE. mit seinen Programmen für die drei Plattformen! Danke euch!!!
Grüße!!!
paulimaulwurf
17.01.2012, 00:06
hallo zusammen, bin heute per Zufall über den RP6 gestolpert und war total begeistert. Obwohl ich mich gerne mit der C-Programmiersprache auseinandersetzen würde arbeite ich zurzeit mit LabVIEW.
Nun hätte ich aber noch 2 oder 3 Fragen welche ich hoffe dass ihr sie mir beantworten könnt. Steuert ihr den RP6 ausschliesslich über Bluetooth wen ihr das labview benutzt, oder gibt es eine Möglichkeit das Programm auf den RP6 zu laden. Ist der RP6 schon standartmässig mit Bluetooth ausgestattet? Habe leider in der Auflistung keine Angabe darüber gefunden.
Vielen Dank für eure Hilfe
021aet04
17.01.2012, 00:26
Der RP5 bzw der Nachfolger RP6 kann kein Labview Programm ausführen. Dafür sind diese zu schwach. Du kannst nur ein Programm (in C, Bascom, teilweise Java o.Ä.) auf den Robby laden der die Daten vom Labview auswertet. Du kannst in beide Richtungen übertragen. Als Beispiel kannst du vom PC (Labview) das Kommando "Fahre geradeaus" an den Robby senden. Du kannst aber auch Daten vom Robby zum PC senden wie z.B. den Akkustand.
Das Programm musst du, soweit ich weiß, mit einem eigenem Programmer übertragen. Es gibt auch eigene Programme dafür (nicht Labview).
Standartmäßig ist der RP5 bzw RP6 nicht mit Bluetooth ausgestattet.
Hier die Seite des Herstellers http://www.arexx.com/rp6/html/de/docs.htm
MfG Hannes
Beim RP6 wird auch ein USB-Programmer mitgeliefert, den du wie eine serielle Schnittstelle verwenden kannst. Dadurch kannst du also via Kabel mit dem RP6 kommunizieren, ganz ohne Bluetooth.
Wenn das dann klappt, kann man über eine Wireless-Verbindung nachdenken, Bluetooth ist auch da nur eine Möglichkeit.
WLAN ist eine andere, die gut funktioniert, die aber viele wegen der etwas höheren Kosten und den höheren Akkuansprüchen nicht nehmen.
Andere Funksysteme sind auch drin, ich habe z.B. auch irgendwo ein sehr billiges (<5Euro) Funkset hier liegen, das kann aber nur one-way.
Zu den Programmen auf dem RP6:
Anfangs fand ich es schon schwer, mich in die C-Sprache reinzufinden. Aber mittlerweile klappt das.
Außerdem schwirren hier im Roboternettz für den RP6 und alle seine Erweiterungsboards schon fertige Programme rum, die alle Sensorwerte zur Seriellen Schnittstelle transportieren, und die Befehle für alle gängigen Systeme (Motoren, LEDs, etc) vom PC erwarten.
Das würde es dir enorm vereinfachen, wenn du erst mal bei LabView bleiben willst. Denn dort gehts dann "nur" noch darum, erhaltene Strings zu zerlegen und auf Instrumenten darzustellen, und Befehls-Strings zusammenzusetzen und zu senden...
Grüße und viel Spass!
Arigocan
17.01.2012, 09:07
Wie fabqu schon sagte, ist das Einarbeiten in C eigentlich nicht so schwer ;) Am Besten ist es, sich die mitgelieferten Programm-Beispiele anzuschauen und nachzuvollziehen, da man so ein Verständnis für die Befehle der Bibliothek erhält und man dann auf diese zurückgreifen kann, ohne viel neu programmieren zu müssen. Die Kommunikation erfolgt über die serielle Schnittstelle und ist wirklich nur ein Hin- und Hersenden von Strings. Da kann man sich sehr schnell eigene Lösungen ausdenken (wie ist der String aufgebaut, wie oft wird er gesendet, usw.). Wenn ich demnächst wieder mehr Zeit habe, werde ich ein Video meines RP6 mit Labview machen (hat mittlerweile eine IP-Cam eingebaut) und dieses mit den VIs hochladen.
Gruß
Ari
paulimaulwurf
01.02.2012, 18:52
einbisschen spätes danke schön für eure Hilfe. habe mir den roboter nach euren guten antworten bestellt, muss aber noch bis ca freitag warten bsi ich in dann wirklich in meinen Händen halten kann.
@arigocan, es würde mich noch echt interesieren dein video zu sehen.
freundliche grüsse
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.