PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Um welche Art der Programmierung handelt es sich?



Martin_G
25.01.2016, 19:49
Hallo!

Ich habe eine Frage zur Roboterprogrammierung.

Folgendes Szenario:
Ich programmiere in einer Hochsprache ein Programm, was ich in die Steuerung des Roboters hochlade.(z.B. Fahre von Punkt A zu Punkt B zu Punkt C und wieder zurück.
Meines Erachtens ist das Offline-Programmierung; textuelle.
Die Punkte A, B, C bringe ich dem Roboter aber bei, indem ich per Touchpanel zu den Punkten fahre und in der Robotersteuerung sage "hier ist Punkt A". Er speichert diese dann in Koordinaten.
--> ist das dann Teach-In??

Habe ich dann den Roboter gemischt programmiert, textuell und via Teach- In? Die Absolutgenauigkeit spielt dann hier auch eine Rolle da das Programm offline programmiert ist oder?

Danke für eure Hilfe!!

Liebe Grüße

Rabenauge
25.01.2016, 22:14
Ich verstehe nicht wirklich, worauf die Frage hin zielt, aber generell bevorzuge ich deutsch als Sprache- im Gespräch. Beim programmieren auch, in den Kommentaren. :)

Im Ernst: dein "teach-in" find ich Humbug-letzten Endes tust du ja nix weiter, als irgendwelche, vorher programmieren Variablen mit nem Wert zu füllen.
Das macht der Roboter selber auch, in dem er an passenden Stellen Sensorresultate in Variablen einsetzt. Programmiert er sich deswegen selber? Eher nicht, denn was er mit diesen, nun gefüllten, Variablen anfängt, wurde bereits "offline" einprogrammiert.
Er lernt also nix, er bekommt auch nix gelehrt, sondern im werden einfach irgendwelche Parameter übergeben.

Auich "textuell" ist eigentlich Quatsch: meist läuft _kein_ Interpreter auf der Zielhardware. Die Programme werden gewöhnlich (hier gibts natürlich Ausnahmen, wie die Java-Pest oder auch Raspberry-Pi-Roboter, die z.B. Python-Programme ausführen könnten) auf nem normalen PC geschrieben, dann in Hexcode compiliert und nur auf den Roboter übertragen.
Dort landet vom ursprünglichen "Text"- gar nichts.

i_make_it
26.01.2016, 00:24
Von was für einem Roboter reden wir den hier?
Denn bei den Industrierobotern mit denen ich gearbeitet habe, läd man keine Hochsprachendprogramme hoch.
Da gibt die Steuerung des Herstellers die Sprache vor.
Als Schnittstelle gibt es da dann meist IR-Data bzw. den Nachfolger.
Beim Teach in fährt man Posen des Arms an und gibt über das Teachpanael an was da passieren soll.
Wegpunkt auf einer Bahn oder Anfangs/Endpunkt einer Bahn.
Oder soll über mehrere Punkte eine Kreisbahn anstelle von Graden gefahren werden.
Verhalten des Werkzeuges An/Aus, Auf Zu (Greifer, Schweißpistole, Klebstoffextruder, Spritzpistole, etc).
Und ob bestimmte Signale Ausgegeben werdne sollen oder auf Signale gewartet werden soll (Handshake mit anderen Anlagenkomponenten)
Bei der Offline Programmierung Erstellt man eine 3D- Simulation der Roboterzelle und programmiert das selbe dort in der Simulation.
Da hat man dann noch die Möglichkeit Raumkoordinaten anzugeben und per Inverser Kinematik diese dann in die Armposen umrechnen zu lassen.

Das gilt für den klassischen Industrieroboter der dumm, stark, (meist nicht) wasserdicht ist.

Bei Forschungsrobotern und mobilen Autonomen Systemen sieht das anders aus, da wird ja meist das "Roboterbetriebssystem" aufgabenangepasst in Hochsprachen programmiert und A, B, C sind dann Positionen/Objekte die zur Laufzeit von den Sensoren erfasst und verarbeitet werden.

Also präzisier doch bitte mal die Fragestellung.

Martin_G
26.01.2016, 20:52
Oh entschuldigt, da habe ich mich wohl etwas ungeschickt und unwissend ausgedrückt.

Ich habe in der Theorie mal von Offline-Programmierung mit z.B. textueller Programmierung
und von Online- Programmierung mit z.B. Teach-In und Playback gehört.
Bei Offline- Programmierung bin ich bisher auch immer von 3D- Simulation ausgegangen bis ich gelesen habe, dass dazu auch die hochsprachenähnliche Programmierung mittels problemorientierter Sprache gehört. (Ich dachte, das trifft auf meine Beschreibung zu)

Ich habe mich gefragt, wie der Industrieroboter unserer Firma programmiert wird, zu welcher Art die Programmierung zählt um mir ein Bild machen zu können.
Der Gelenkarmroboter wird bei uns über Notepad programmiert (herstellerspezifische Programmiersprache; ähnlich C). Dieses Programm wird über die robotereigene Software des Roboters in dessen Steuerung hochgeladen und mit "Start"-Befehl ausgeführt.

In dem geschriebenen Programm in Notepad habe ich geschrieben, dass er z.B. zu "Punkt A" fahren soll. Dies kann er aber so nicht, da er die Parameter des Punktes nicht kennt.
Ich muss ihm vorher diese Parameter übergeben. Dies mache ich indem ich ihn per Handbediengerät an die gewünschte Position fahre und dann in der Robotersoftware den Befehl zum Speichern der Parameter gebe. ("Hier ist Punkt A").
Somit kennt er die Parameter.
Wenn ich das Programm dann lade und ausführe fährt er diesen Punkt auch an .

Ich kann nur leider keine genaue Aussage treffen, wie sich diese Art der Programmierung nennt. Online- oder Offlineprogrammierung? Oder eine Mischung?
Rein auf die Theorie bezogen-> Ist das Parameter übergeben nicht eine Form des Teach-In?

Liebe Grüße

i_make_it
26.01.2016, 22:28
In dem Fall liegt tatsächlich eine Art Mischprogramierung vor.
Das Entscheidungsgerüst des Steuerprogramms inklusive der Ablauflogik wird offline programmiert.
Die eigentliche Programmierung des Bewegungsprogramms erfolgt per Teach-in.
Diese Technik hatte ich das letzte mal 1989 benutzt.
Das wurde oft bei Robotern für die Maschinenbeladung so gemacht, da man oft mit einem bis 3 Programmgerüsten pro Anlage auskommt und dann die Positionen für die Varianten teacht.

shedepe
27.01.2016, 10:20
Man könnte das auch (je nach Komplexität deines Programms) als reines Teach In Bezeichnen. Du bringst dem Roboter einer Abfolge von Punken bei. Sollte dein Programm jedoch auch auf Sensoreingaben reagieren würde man hier von einer adaptiven Steuerung sprechen. Das wäre dann wie i_make_it schon gesagt hat eine Art der Mischprogrammierung.

@Rabenauge. Doch man kann das durchaus als eine Art der Selbstprogrammierung sehen. Der Roboter plant selber aufgrund von Sensorwerten wo er hinfährt.
Allgemein sind die Einteilungen in Textuell, Teach In und was es sonst noch so gibt eher ein Versuch, etwas Ordnung in den Wirr Warr der vorhandenen Techniken zu bringen.

Martin_G
29.01.2016, 20:31
Vielen Dank, ihr habt mir sehr weitergeholfen!!!!


Lg und ein schönes Wochenende!