Grafisches ROBO Pro Coding
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Grafisches ROBO Pro Coding
Ich möchte die einfache grafische Programmierung des 4 Wheel Roboters im Tutorial ROBOTICS Hightech nachvollziehen. Bis zum Funktionstest bin ich gekommen. Das funktioniert. Der nächste Schritt ist die Programmierung der einzelnen 4 Motoren. Den ersten Motor habe ich entsprechend der Anweisung in das grafische Menu eingefügt. Die erste Unstimmigkeit besteht darin, dass das Programmierelement bei mir die Bezeichnung
TXT_E2_M1
trägt, während im Tutorial
TXT_M_M1
steht
Ich habe keine Chance, meine Bezeichnung zu ändern.
Nun sollte ein Teststart diesen Motor entsprechend den Parametern laufen lassen. Es kommt aber ein Fehler
Exception: Extension for index 1 does not exist
und das Programm bricht ab.
Wo liegt der Fehler?
Sollte man direkt über ein geschriebenes Python Programm die machen?
TXT_E2_M1
trägt, während im Tutorial
TXT_M_M1
steht
Ich habe keine Chance, meine Bezeichnung zu ändern.
Nun sollte ein Teststart diesen Motor entsprechend den Parametern laufen lassen. Es kommt aber ein Fehler
Exception: Extension for index 1 does not exist
und das Programm bricht ab.
Wo liegt der Fehler?
Sollte man direkt über ein geschriebenes Python Programm die machen?
Re: Grafisches ROBO Pro Coding
Geh in Controllerkonfiguration und stelle oben Mode auf Master. Bei dir steht wahrscheinlich Ext2 drin.
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects
https://git.fischertechnik-cloud.com/users/i2c/projects
- fishfriend
- Beiträge: 2587
- Registriert: 26 Nov 2010, 11:45
Re: Grafisches ROBO Pro Coding
Hallo...
Ich vermute mal, dass in der Controllerkonfiguration was falsch ist.
-E- ist normalerweise ein Eingang, zumindest war das früher so.
Ich kann deinen Fehler aber nicht nachvollziehen.
Zeig mal ein Bild der Controllerkonfiguration.
Das Problem für mich ist, dass es drei verschiedene Möglichkeiten gibt, einen Motor an den TXT 4.0 anzuschließen.
1. über Ausgang Output O1 Motor kann nur ein eine Richtung drehen.
2. Motor über Motor, normalerweise einfacher Motor M der in beide Richtungen drehen kann
3. Motor über Encodermotor. Motor M dreht in beide Richtungen und man hat einen schnellen Zähler "Schrittzähler/Counter"C1 für diesen Motor .
Da ist kein E.
Mit freundlichen Grüßen
Holger
ja, ja Master und Extension...
Ich vermute mal, dass in der Controllerkonfiguration was falsch ist.
-E- ist normalerweise ein Eingang, zumindest war das früher so.
Ich kann deinen Fehler aber nicht nachvollziehen.
Zeig mal ein Bild der Controllerkonfiguration.
Das Problem für mich ist, dass es drei verschiedene Möglichkeiten gibt, einen Motor an den TXT 4.0 anzuschließen.
1. über Ausgang Output O1 Motor kann nur ein eine Richtung drehen.
2. Motor über Motor, normalerweise einfacher Motor M der in beide Richtungen drehen kann
3. Motor über Encodermotor. Motor M dreht in beide Richtungen und man hat einen schnellen Zähler "Schrittzähler/Counter"C1 für diesen Motor .
Da ist kein E.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
Re: Grafisches ROBO Pro Coding
Selbst gelöst. Es war 8m9ein Problem der Controller Konfiguration
Re: Grafisches ROBO Pro Coding
Vielen Dank für die Hinweise! Es lag tatsächlich an einer falschen Controller Konfiguration. Ich habe zwar einige Erfahrung in der Programmierung, aber keine mit der praktischen Verschaltung der zu steuernden Elementen mit einem Controller. Da ist mir der Fehler mit Master und Extension unterlaufen, ohne dass ich ihn erst bemerkte. Erst nach einer längeren Suche im Netz bin ich auf die Idee gekommen, dass da etwas schief gelaufen war. Nun läuft der Roboter so, wie geplant! Schön, dass da eine Reaktion von Euch kam!
Re: Grafisches ROBO Pro Coding
Eine andere Frage:
diese grafische Programmierung ist für mich relativ ungewohnt und damit auch irgendwie umständlich. Ich würde lieber auf die Standardprogrammierung mit Python zurückgreifen. Wo gibt es da Beispiele zum Herunterladen?
diese grafische Programmierung ist für mich relativ ungewohnt und damit auch irgendwie umständlich. Ich würde lieber auf die Standardprogrammierung mit Python zurückgreifen. Wo gibt es da Beispiele zum Herunterladen?
- fishfriend
- Beiträge: 2587
- Registriert: 26 Nov 2010, 11:45
Re: Grafisches ROBO Pro Coding
Hallo...
Ehrlich gesagt, kaum bis keine.
Ich würde ein Grundgerüst von Robo Pro Coding machen lassen und dann weitermachen.
Es gibt in der ft STEM Suite die Möglichkeit in Python was zu machen. Ich gebe zu ich hab nur kurz reingeschaut.
Ich hatte auch schon mal vor alle Infos dazu zu sammeln, bin aber noch nicht dazu gekommen.
Man kann in Robo Pro Programmen eigene Pythonblöcke einfügen. Das ist aber vermutlich für dich unbefriedigend.
Das was ich vermisse sind Infos über die Libs. Funktionen, Variablen usw.
Ich kenne zumindes keine davon.
Es gibt teilweise Infos in manchen Beispielen von ft selbst. Beispiele Uhrzeit, Dateinamen, wo auf das OS zugegriffen wird.
Die Uhrzeit hat inzwischen einen eigenene Block bekommen.
I2C hat so 2 Jahre gedauert bis ich es zum laufen bekommen habe und hat nur mit Hilfe von ft funktioniert.
Nun sind aber einige Beispiele dazu online.
Beispiele hab ich häufig erst in Robo Pro Coding gemacht und dann den Pythoncode analysiert.
Man kann den ganzen Pythoncode auch in ein eigenes Pythonprojekt kopieren. Es gibt dann manchmal ein paar Einstellungen mehr an denen man drehen kann
Was man wissen sollte ist, dass -alle- Variablen global sind. Es spielt keine Rolle ob nun in einem Robo Pro Coding Block oder in dem Pythonblock genutzt werden.
Es gibt auch einige Beispiele von ft selbst, wo nur Python genutzt wird.
Mit freundlichen Grüßen
Holger
Ehrlich gesagt, kaum bis keine.
Ich würde ein Grundgerüst von Robo Pro Coding machen lassen und dann weitermachen.
Es gibt in der ft STEM Suite die Möglichkeit in Python was zu machen. Ich gebe zu ich hab nur kurz reingeschaut.
Ich hatte auch schon mal vor alle Infos dazu zu sammeln, bin aber noch nicht dazu gekommen.
Man kann in Robo Pro Programmen eigene Pythonblöcke einfügen. Das ist aber vermutlich für dich unbefriedigend.
Das was ich vermisse sind Infos über die Libs. Funktionen, Variablen usw.
Ich kenne zumindes keine davon.
Es gibt teilweise Infos in manchen Beispielen von ft selbst. Beispiele Uhrzeit, Dateinamen, wo auf das OS zugegriffen wird.
Die Uhrzeit hat inzwischen einen eigenene Block bekommen.
I2C hat so 2 Jahre gedauert bis ich es zum laufen bekommen habe und hat nur mit Hilfe von ft funktioniert.
Nun sind aber einige Beispiele dazu online.
Beispiele hab ich häufig erst in Robo Pro Coding gemacht und dann den Pythoncode analysiert.
Man kann den ganzen Pythoncode auch in ein eigenes Pythonprojekt kopieren. Es gibt dann manchmal ein paar Einstellungen mehr an denen man drehen kann
Was man wissen sollte ist, dass -alle- Variablen global sind. Es spielt keine Rolle ob nun in einem Robo Pro Coding Block oder in dem Pythonblock genutzt werden.
Es gibt auch einige Beispiele von ft selbst, wo nur Python genutzt wird.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
Re: Grafisches ROBO Pro Coding
Ich kam neu zu fischertechnik, als es ROBO Pro Coding und die 3 aktuellen Controller schon gab. Ich brauchte Jahre, um die aktuellen von den alten Controllern zu unterscheiden und die aktuelle von der alten Software zu unterscheiden. Der Grund ist, dass die alle fast genau gleich heißen.
Dann erwartete ich Hilfe vom Forum:
Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software Computing using original ft hard- and software
Ich musste erst mal begreifen, dass alles war in der Überschrift steht veraltet ist und das Forum Archiv oder Museum heißen müsste.
aktuell ist: TXT 4.0 / alt ist: TXT TX und viel mehr
aktuell ist: ROBO Pro Coding / alt ist: ROBO Pro und alles was im Software Archiv erwähnt ist: https://www.fischertechnik.de/de-de/app ... controller
Im Forum steht viel - was mir nichts nutzt, weil ich auf dem aktuellen Stand bin.
Das wollte ich mal erwähnen, um anderen, die sich einen aktuellen Baukasten kaufen, die Irrtümer zu ersparen.
Jetzt zum aktuellen ROBO Pro Coding:
Ohne die Blöcke käme ich damit nicht klar. Es ist möglich in den Projekteinstellungen Ansicht auf 'Python-Programmierung' zu stellen. Dann sind die Blöcke verschwunden. Dann kannst du im Texteditor Python schreiben. Ohne Intellisense und ohne Syntaxprüfung. Du musst dann aber die Namen und Syntax der Controller Objekte kennen z.B. um Eingänge und Ausgänge zu steuern. Ich glaube das hat noch niemand gemacht.
Wenn du fertige Beispiele suchst: Jedes Beispiel mit Blöcken lässt sich so in (editierbares) Python konvertieren.
Wenn du nur den Python Code sehen willst, den die Blöcke gemacht haben, den rechten Teil vom Fenster einblenden. Dort steht der komplette Code drin. Ist dort aber nicht zu ändern. Aber man kann verstehen warum manches anders als erwartet funktioniert. Z.B. Index bei Listen in Blöcken ab 1 im Code ab 0.
Bei Util gibt es den Block Python-Code. Dort kannst du eigenes Python rein schreiben und den Block an jeder Stelle zwischen anderen Blöcken einfügen.
Du musst nur die Funktionen als Blöcke anlegen und kannst den kompletten Inhalt in den Python-Code Block schreiben.
Das einzige was nicht geht, ist Python-Code außerhalb von Funktionen (Blöcken). Also eigene Funktionen ohne Block oder globalen Variablen Werte zuweisen. Das Feature habe ich mir schon gewünscht.
Wenn man verschiedene Controller hat, kann man in Projektkonfiguration einfach konvertieren zwischen:
- TXT 4.0 Controller
- RX Controller
- BT Smart Controller
ROBO Pro Coding speichert also einen Pseudocode in den Blöcken und erzeugt je nach Projektkonfiguration verschiedenen Programmcode.
Das funktioniert fehlerfrei, ich habe es mehrfach getestet und bin beeindruckt.
Es ist also kein Problem mit Blöcken nach Bedarf so viel Python zu programmieren wie gewünscht.
TXT 4.0 ist ein Linux PC und mit Python zwischen den Blöcken ist alles möglich, was keine Blöcke hat: Dateisystem, I²C, USB, Internet Protokolle, Echtzeituhr, ... und auch Linux-Prozesse aus Python 'fernsteuern'.
User können ihre Projekte im fischertechnik GitLab veröffentlichen. Die findet man in ROBO Pro Coding unter Laden. Das Token leer lassen und auf der nächsten Seite einen Suchbegriff eingeben. Meine Projekte über den Link unten.
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects
https://git.fischertechnik-cloud.com/users/i2c/projects