Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
LiFePO4 Speicher Test

K
Zeile 188: Zeile 188:
  
 
   
 
   
Bahnsteuerung  
+
=Bahnsteuerung =
CAD-Import  
+
==CAD-Import ==
 
Sind Soll-Koordinaten (z.B. aus einem CAD-Programm) vorhanden vorhanden, so werden sie zunächst mit den Excel-üblichen Befehlen in den Bereich der Sollkoordinaten (Spalten 2 bis 4 / bzw. B bis D) ab Zeile 50 übertragen. Diese Koordinaten werden über den Button 'DS-Schritt' bzw. 'DS-Automatic' gelesen. Das Programm generiert hieraus die Winkelstellung der Knickarme und schreibt diese in das Bewegungsprotokoll des Datenmoduls.
 
Sind Soll-Koordinaten (z.B. aus einem CAD-Programm) vorhanden vorhanden, so werden sie zunächst mit den Excel-üblichen Befehlen in den Bereich der Sollkoordinaten (Spalten 2 bis 4 / bzw. B bis D) ab Zeile 50 übertragen. Diese Koordinaten werden über den Button 'DS-Schritt' bzw. 'DS-Automatic' gelesen. Das Programm generiert hieraus die Winkelstellung der Knickarme und schreibt diese in das Bewegungsprotokoll des Datenmoduls.
  
Bahngenerator  
+
==Bahngenerator ==
 
Sind keine (extern ermittelten) Soll-Koordinaten vorhanden, so müssen sie interaktiv generiert werden (Offline Teach-In). Die TCP-Bahn-Stützpunkte werden wahlweise als XYZ-Wert Absolut oder als Offset eingegeben und per 'DS Neu' bzw. 'DS Korrektur' entsprechend der gewählten Bewegungsstrategie (s.u.) verarbeitet. Der Bahngenerator  
 
Sind keine (extern ermittelten) Soll-Koordinaten vorhanden, so müssen sie interaktiv generiert werden (Offline Teach-In). Die TCP-Bahn-Stützpunkte werden wahlweise als XYZ-Wert Absolut oder als Offset eingegeben und per 'DS Neu' bzw. 'DS Korrektur' entsprechend der gewählten Bewegungsstrategie (s.u.) verarbeitet. Der Bahngenerator  
 
: - erzeugt die Koordinatenliste des TCP sowie das Knickarm-Bewegungsprotokoll  
 
: - erzeugt die Koordinatenliste des TCP sowie das Knickarm-Bewegungsprotokoll  
Zeile 203: Zeile 203:
 
Im Rahmen einer interaktiven Arbeitssitzung erzeugt/speichert das Programm ein Bahnprofil mit Koordinaten und Winkelwerten. Wurden diese mit dem Bahngenerator erzeugt, so kann aus den gewonnenen Ist-Koordinaten eine ähnliche "parallel versetzte" Bahn mit den EXCEL-üblichen Befehlen "recht bequem" generiert werden: Die per Bahngenerator erzeugte Ist-Koordinatenliste wird mit entsprechendem Offset in den Soll-Koordinaten Bereich übertragen und über den Button 'DS-Schritt' bzw. 'DS-Automatic' eingelesen.  
 
Im Rahmen einer interaktiven Arbeitssitzung erzeugt/speichert das Programm ein Bahnprofil mit Koordinaten und Winkelwerten. Wurden diese mit dem Bahngenerator erzeugt, so kann aus den gewonnenen Ist-Koordinaten eine ähnliche "parallel versetzte" Bahn mit den EXCEL-üblichen Befehlen "recht bequem" generiert werden: Die per Bahngenerator erzeugte Ist-Koordinatenliste wird mit entsprechendem Offset in den Soll-Koordinaten Bereich übertragen und über den Button 'DS-Schritt' bzw. 'DS-Automatic' eingelesen.  
  
Stellt sich heraus, daß ein Zielpunkt außerhalb der kinematischen Möglichkeiten liegt und daß das Problem durch verschieben des Roboter 'Schulter bzw. Fußpunktes' zu lösen sei, so muß nicht die bisherige Arbeit erneuert werden: Über den Portal-Offset wird eine neue Basisposition gewählt und über den Button 'DS-Schritt' bzw. 'DS-Automatic' ein neues Bewegungsprofil bei geändertem Fußpunkt erzeugt.  
+
:* Stellt sich heraus, daß ein Zielpunkt außerhalb der kinematischen Möglichkeiten liegt und daß das Problem durch verschieben des Roboter 'Schulter bzw. Fußpunktes' zu lösen sei, so muß nicht die bisherige Arbeit erneuert werden: Über den Portal-Offset wird eine neue Basisposition gewählt und über den Button 'DS-Schritt' bzw. 'DS-Automatic' ein neues Bewegungsprofil bei geändertem Fußpunkt erzeugt.  
  
Der Portal-Offset ist im Masken Bereich der 'direkten Kinematik' korrigierbar.  
+
:* Der Portal-Offset ist im Masken Bereich der 'direkten Kinematik' korrigierbar.  
 
- Der hier eingegebene Wert wird für den aktuellen Datensatz in der Koordinaten-Liste  
 
- Der hier eingegebene Wert wird für den aktuellen Datensatz in der Koordinaten-Liste  
 
   gespeichert. Clicken Sie hierzu den Button 'DS Korrektur' bzw. 'DS Neu'.  
 
   gespeichert. Clicken Sie hierzu den Button 'DS Korrektur' bzw. 'DS Neu'.  
Zeile 214: Zeile 214:
 
Bewegungsstrategien
 
Bewegungsstrategien
 
Um trotz Überbestimmung (vgl. Tutorial) aus theoretisch unendlich vielen Winkel-Kombinationen möglichst geeignete Vektorlagen der Roboterarme zu berechnen verfolgt der RoBo-mac Gelenkbaukasten mehrere, frei wählbare Bewegungsstrategien:
 
Um trotz Überbestimmung (vgl. Tutorial) aus theoretisch unendlich vielen Winkel-Kombinationen möglichst geeignete Vektorlagen der Roboterarme zu berechnen verfolgt der RoBo-mac Gelenkbaukasten mehrere, frei wählbare Bewegungsstrategien:
Semi-Automatic   präzisiert manuelle Winkel-Vorwahl "in ähnlicher Silhouette"
+
:* Semi-Automatic   präzisiert manuelle Winkel-Vorwahl "in ähnlicher Silhouette"
Konvex:   Das mittlere Arm-Element liegt oberhalb des Zielpunktes  
+
:* Konvex:   Das mittlere Arm-Element liegt oberhalb des Zielpunktes  
Konkav   arbeitet vice versa zu Konvex  
+
:* Konkav   arbeitet vice versa zu Konvex  
Zickzack:   Die Arm-Elemente bilden eine Zickzack Silhouette  
+
:* Zickzack:   Die Arm-Elemente bilden eine Zickzack Silhouette  
Parallel,   bewegt den Übergangspunkt "Arm/Handgelenk" parallel  
+
:* Parallel,   bewegt den Übergangspunkt "Arm/Handgelenk" parallel  
Teleskope     bewegt Knickarme transversal wie Teleskoparme.   
+
:* Teleskope     bewegt Knickarme transversal wie Teleskoparme.   
  
 
Zwischen den Strategien kann beliebig gewechselt werden.  
 
Zwischen den Strategien kann beliebig gewechselt werden.  
Zeile 231: Zeile 231:
  
 
Innerhalb jeder einzelnen Bewegungsstrategie verlaufen die Armbewegungen konsistent und erwartungsgemäß.  
 
Innerhalb jeder einzelnen Bewegungsstrategie verlaufen die Armbewegungen konsistent und erwartungsgemäß.  
Ein Strategiewechsel ist jederzeit möglich, führt jedoch über eine im Detail undefinierte Streck-Bewegung des Armes. In dieser Bewegungsphase besteht erhöhte Kollisionsgefahr.
+
:* Ein Strategiewechsel ist jederzeit möglich, führt jedoch über eine im Detail undefinierte Streck-Bewegung des Armes. In dieser Bewegungsphase besteht erhöhte Kollisionsgefahr.
  
 
Parallel & Teleskope
 
Parallel & Teleskope
 
ähneln o.g. Voll-Automatic Funktionen. Der "Unter-Arm" mit dem Übergangspunkt "Arm/Handgelenk" wird parallel zu sich selbst, bzw. in der Vektororientierung seiner eigenen Achse bewegt; die Winkelorientierung aller kaskadisch folgenden Achsen bleibt erhalten. Der Arbeitsbereich ist kleiner als der anderer Strategien.
 
ähneln o.g. Voll-Automatic Funktionen. Der "Unter-Arm" mit dem Übergangspunkt "Arm/Handgelenk" wird parallel zu sich selbst, bzw. in der Vektororientierung seiner eigenen Achse bewegt; die Winkelorientierung aller kaskadisch folgenden Achsen bleibt erhalten. Der Arbeitsbereich ist kleiner als der anderer Strategien.
Ein Strategiewechsel ist jederzeit ohne erhöhte Kollisionsgefahr möglich.
+
:* Ein Strategiewechsel ist jederzeit ohne erhöhte Kollisionsgefahr möglich.
  
 
Die Bewegungsstrategie 'teleskopisch' verwendet hierbei nicht den XYZ-Wert, sondern einen Vektor-Hub. Die Ist-Vektorlage des "TCP Trag-Armes" wird um diesen Hub verschoben. Im Ergebnis führt dies zu einer teleskopartigen Bewegung.  
 
Die Bewegungsstrategie 'teleskopisch' verwendet hierbei nicht den XYZ-Wert, sondern einen Vektor-Hub. Die Ist-Vektorlage des "TCP Trag-Armes" wird um diesen Hub verschoben. Im Ergebnis führt dies zu einer teleskopartigen Bewegung.  
  
  
Kombinierte Portal & Knickarm Robotik  
+
==Kombinierte Portal & Knickarm Robotik ==
 
Ist ein Knickarm Roboter auf Portal verfahrbar, so überlagern sich beide Bewegungskomponenten. Dies erhöht die Anzahl der Freiheitsgrade enorm. Um trotzdem gezielt Einfluß auf die Kinematik nehmen zu können, referenziert die Berechnung der Knickarm-Winkel auf die aktuelle Fußpunkt Position. Wählen Sie eine Fußpunktposition in  direkter Kinematik  und im Maskenbereich der  inversen Kinematik  die XYZ-Zielkoordinate des TCP. Beide Bewegungskomponenten lassen sich so zu einer komplexen Gesamtbewegung kombinieren – und bestimmen die Orientierung des TCP.  
 
Ist ein Knickarm Roboter auf Portal verfahrbar, so überlagern sich beide Bewegungskomponenten. Dies erhöht die Anzahl der Freiheitsgrade enorm. Um trotzdem gezielt Einfluß auf die Kinematik nehmen zu können, referenziert die Berechnung der Knickarm-Winkel auf die aktuelle Fußpunkt Position. Wählen Sie eine Fußpunktposition in  direkter Kinematik  und im Maskenbereich der  inversen Kinematik  die XYZ-Zielkoordinate des TCP. Beide Bewegungskomponenten lassen sich so zu einer komplexen Gesamtbewegung kombinieren – und bestimmen die Orientierung des TCP.  
  
Zeile 250: Zeile 250:
 
Diese Orientierungsänderung bei gleicher XYZ-Position führt in eine "Biege-Bewegung".  
 
Diese Orientierungsänderung bei gleicher XYZ-Position führt in eine "Biege-Bewegung".  
  
Positionierfehler & Watchdog
+
==Positionierfehler & Watchdog ==
 
Unabhängig davon, wie die Soll-Werte erzeugt wurden, werden die Datensatz Ist-Werte in inverser Kinematik entsprechend der gewählten Bewegungsstrategie berechnet und als korrespondierende Knickarm-Winkel gespeichert. In direkter Kinematik wird aus diesen Knickarm-Winkeln der XYZ-Wert des TCP errechnet. Das Verfahren mag umständlich sein, ermöglicht jedoch einen Soll/Ist Vergleich. Die absoluten Positionierfehler Soll/Ist des TCP liegen unter 1/10.000 mm, meist in einer Größenordnung von 10-5 bis 10-6 mm.  
 
Unabhängig davon, wie die Soll-Werte erzeugt wurden, werden die Datensatz Ist-Werte in inverser Kinematik entsprechend der gewählten Bewegungsstrategie berechnet und als korrespondierende Knickarm-Winkel gespeichert. In direkter Kinematik wird aus diesen Knickarm-Winkeln der XYZ-Wert des TCP errechnet. Das Verfahren mag umständlich sein, ermöglicht jedoch einen Soll/Ist Vergleich. Die absoluten Positionierfehler Soll/Ist des TCP liegen unter 1/10.000 mm, meist in einer Größenordnung von 10-5 bis 10-6 mm.  
  

Version vom 3. Januar 2016, 18:15 Uhr


Dieser Artikel wird z.Z. formatiert


Irgendwie hatte sich aus Diskussionen zur Knickarm-Robotermechanik die Frage ergeben, …"und wie berechnen Sie das?" Meine Antwort war, "Mit EXCEL ® ist das recht einfach." Ganz so einfach war es dann doch nicht; entstanden ist ein Mathematischer 3D Gelenk-Baukasten. Eine kostenlose Test und Demo-Version Sie erhalten im Download.

Vorwort

Im Internet findet sich einiges zum Thema, aber wenig Zusammenhängendes im Focus Robotic. Mit einigen Links verweise ich auf diejenigen, von denen ich "Honig gesaugt" habe. Alle externen Links sind offen mit ihrer URL im Kontext des Tutorials ausgewiesen und nicht hinter einem Pseudonym versteckt. – Clicken muß man sie nur, um in die Tiefe zu gehen!

  • Hier, im Teil 2 finden Sie Praxis orientierte Problemlösungen. Besprochen werden ein 3D Bahngenerator und die aus der "Sollbahn" berechneten Winkel der Knickarme.
Hierzu sollten Sie die kostenlose Test und Demo-Version downloaden.
  • Teil 1 dieses Artikels gibt theoretischen Back-Ground. Hier finden Sie Hintergrundinformation zu Problemen der Kinematik, theoretische Lösungsansätze und die Mathematik der Winkeltransformation. Für die Nutzung des Gelenkbaukastens ist es nicht unbedingt erforderlich, dieses zu lesen – es kann aber hilfreich sein!

Mathematischer 3D Gelenk-Baukasten

Sie finden hier einen produkt-neutralen Handbuch–Auszug.

Systemüberblick

Der Baukasten ist aus der Aufgabe entstanden, anwenderorientiert und Hardware neutral

  • Rotations- und Teleskopachsen für Knickarm-Robotersysteme beliebiger Bauart & Geometrie - ggf. auf Portal verfahrbar - mathematisch zusammenzustellen,
  • Gelenk-Winkel und XYZ-Koordinaten wahlweise direkt oder invers zu berechnen und
  • das Roboter-System im 3D-Raum zu visualisieren.
  • In Anlehnung an die 8-Achsen Bahnsteuerung RoBo-mac's berechnet der Gelenk-Baukasten 8 Achsen mit jeweils 2 Freiheitsgraden (Teleskop-Dreh-Achse). Der Algorithmus ermöglicht beliebig viele kaskadierbare Achsen und ist somit erweiterbar.
  • Das Ergebnis steht numerisch (16-stellig / Fließkomma 15 Ziffern) zur Verfügung und wird ergänzend als 3D Grafik visualisiert.

Direkte Kinematik

Die kinematischen Grenzen werden durch Parametrierung der Achs-Längen, ihrer XYZ-Grundorientierung und der max. Achs-Drehwinkel definiert. An- und Abtrieb jedes Gelenkes kann unter beliebigem Winkel im Raum stehen. Die Werte werden über Schieber verändert und Real-Time visualisiert.

Inverse Kinematik

Um trotz Überbestimmung aus theoretisch unendlich vielen Winkel-Kombinationen möglichst geeignete Vektorlagen der Roboterarme zu berechnen verfolgt RoBo-mac mehrere, frei wählbare Bewegungsstrategien. Der Algorithmus basiert auf trigonometrischen und iterativen Elementen. Er arbeitet unabhängig von der Vorwärts Kinematik und nutzt diese für die Ergebnis-Visualisierung sowie die Positionskontrolle.

  • Die absoluten Positionierfehler Soll/Ist des TCP liegen unter 1/10.000 mm, meist in einer Größenordnung von 10-5 bis 10-6 mm.

3D-Kinematik & 2D-Perspektive

Foto fehlt noch


..

Die ersten Schritte

Wenn Sie sich in die Thematik einarbeiten, werden Sie recht schnell zu dem Schluß kommen:

  • Der Gelenkbaukasten bietet kinematische Bewegungsmöglichkeiten die zu beherrschen einige Erfahrung erfordert. Es ist wie beim Klavierspielen: Das Instrument wird vom Pianisten zum Leben erweckt! Und hier macht Übung den Meister.

Üben Sie, Sie können nichts kaputt machen, der Baukasten ist sehr bedien-tolerant. Ich habe bei der Entwicklung hohen Wert auf "Bediener-Komfort" und darauf gelegt, "Bedienungsfehler" (grausame Ausrede inkompetenter Entwickler) automatisch abzufangen. Vieles von dem was Sie tun überprüfet ein Algorithmus im Hintergrund auf Plausibilität – und meldet sich! Stöbern Sie!

Für Ungeduldige

  • Die Datei "Demo-Arm" zeigt (nach Initialisierung der kostenlosen Test- und Demo Version) einen Bewegungsablauf. Clicken Sie in der Grafik (oben links) "Control-Center"; eine Maske erscheint; clicken Sie (Maske mitte unten) "Simulation Bewegung / vorwärts"; der Arm fährt eine Bewegungsbahn. Weitere Info ab Seite 7.
  • Die Datei "Demo-Arm_schief" ist Beispiel einer komplexen Inversen Kinematik mit in sich gedrehtem Arm (vgl. Manual S. 15 sowie Tutorial).
  • Strategie-Demo
Unabhängig von der Bedien-Maske finden Sie im Makro-Bereich einige Demo-Beispiele möglicher Bewegungs-Strategien – und zugleich einen Einblick in die Problematik kinematischer Überbestimmung. Der Gelenkbaukaten ermöglicht mehrere frei wählbare Bewegungsstrategien. Rufen Sie aus dem Excel-Makro-Menü die Makros: "Strategie-Demo …" auf.

Für Lernwillige

führt dieses Handbuch Schritt für Schritt durch die Möglichkeiten des 3D Gelenk-Baukastens. Sie finden eine Vielzahl von Möglichkeiten eine Bewegungsbahn selbst zu generieren oder aus einem CAD-System zu importieren. Die Lernschritte sind (hoffentlich) praxisorientiert, zu den Maskenfunktionen finden Sie ein "wie, warum und wozu"!

Über die "normale" Knickarm-Robotik hinaus beherrscht der Programm-Algorithmus

- in der Länge veränderbare Teleskop-Achsen sowie
- kombinierte Portal & Knickarm Robotik


Parametrierung

Die Roboter-Mathematik dieses Baukastens ist entsprechend der mechanischen Roboter-Hardware individuell parametrierbar; mehr hierzu im orig. Handbuch / Kapitel Supervisor-Information.


Bildschirm- und Maskenaufbau

Nahezu alle kinematischen Funktionen und Befehle sind über die Maske 'Robotic' zugänglich, Sprachumschaltung Maske 'Start' (derzeit Deutsch / English, weitere Sprachen möglich). Basis-Parametrierungen entsprechend der Roboter-Geometrie sind ergänzend "geführt" mit den EXCEL üblichen Befehlen möglich, rufen Sie hierzu das Makro 'Reset' auf.

  • Bildschirm oben links
Grafik: Stilisierte Armstellung im 3D-Raum.
Der 3D-Raum ist kontinuierlich zwischen Maus & Vogelperspektive einstellbar. Die Einstellung hat keinen Einfluß auf die Berechnung.
- In der Grafik oben links der Button 'Control-Center', der die Maske aufruft.
  • Bildschirm oben rechts
ganz oben Perspektiv-Schieber, darunter die aktuellen XYZ Koordinaten aller Gelenke.
  • Bildschirm unten links / rechts
Kinematische Bewegungsdaten

Maske 'Robotic'

Bedienerhinweise

Die Maske mag zunächst "erschlagend" wirken, ermöglicht jedoch ohne Maskenwechsel nahezu alle kinematischen Funktionen und Befehle:

  • Direkte (vorwärts) Kinematik,
- Berechnung der XYZ-Koordinaten des TCP aus Winkelstellung der Knickarme
  • Inverse (rückwärts) Kinematik

- Berechnung der Knickarm-Winkelstellung aus vorgegeben XYZ-Koordinaten des TCP

  • freie, interaktive Off-line Entwicklung einer Bewegungsbahn
  • automatische Transformation einer extern vorgegeben Bewegungsbahn
  • 8 frei wählbare Bewegungsstrategien der Knickarme
  • sowie die Möglichkeit, Knickarm Roboter zusätzlich auf XYZ-Portal zu verfahren.

Last not lease

  • 3D-Visualisierung der Roboter Knickarme und einer Bewegungsspur des TCP

aus frei wählbarer Maus- bis Adler-Perspektive.


Auch dieses Leistungsspektrum mag "erschlagen"; wir betrachten es schrittweise. Zunächst den Maskenaufbau. Grundsätzlich gilt: Sie können nichts kaputt machen – probieren Sie!

Die Maske zeigt 3 Säulen, links: inverse Kinematik & Bahngenerator, rechts: direkte Kinematik, mitte: Zusatzfunktionen o Links oben: Kinematik invers einen Block Kinematik invers, alle Werte beziehen sich auf den TCP, ganz oben: - die aktuelle Ist-Position wird im XYZ-Koordinatenfenster angezeigt, darunter

- Ziel Position (absolut). Der Wert wird im XYZ-Koordinatenfenster eingegeben. Falls sinnvoll, kann der Ist-Wert zuvor kopiert und danach geändert werden. Diese Ziel Position kann als Neuer Datensatz (DS-Neu) hinzugefügt werden oder den gewählten korrigieren (DS-Korrektur).

- Ziel Position (Offset). Der Offset bewegt den TCP - bezogen auf seine aktuelle Position - stets um den gleichen Wert mit den Doppel-Pfeiltasten wahlweise vorwärts / rückwärts. Er ist als fester Zielwert (XYZ) definierbar oder wird automatisch als Vektor aus der Armlage des TCP errechnet. Dies führt in eine Teleskop-Bewegung.

- Bezier Diese Funktion ist in Vorbereitung; sie verbindet Teleskop-Bewegungen am Anfang und Ende einer Positionierbahn mit den "weichen Übergängen" einer Bezier-Kurve.

o Links (nicht ganz) unten: Datensatz wählen Sie den zu bearbeitenden Datensatz mit seiner Ordnungs-Nr. oder den Pfeiltasten. Falls bereits mehrere Datensätze vorhandenen sind und Sie den letzten einer Liste aufrufen wollen, clicken Sie 'Anschluß DS (suchen)'. So Sie einen vorhandenen aus der Liste löschen oder einen zusätzlichen einfügen wollen, clicken Sie: 'DS-Neu' / 'DS-Löschen'. Es kann sinnvoll sein, die Anfahr-Koordinaten eines Zieles vom Ziel aus gesehen "rückwärts" zu entwickeln. In der Praxis können hierbei zunächst 2 getrennte Bewegungsfragmente (Start-Fragment / Ziel-Fragment) entstehen, die es zu schließen gilt. Die Rast-Taste 'vorwärts / rückwärts' wählt in Zusammenarbeit mit 'Anschluß DS (suchen)' das entsprechende Fragment und dreht die Suchrichtung im 'Ziel-Fragment' um.

o Links (ganz) unten: 3D-Perspektive & Zoom wählen Sie mit den Doppel-Pfeiltasten die 3D-Perspektive. Der Knopf 'Reset' führt aus "unglücklichen" Perspektiven zurück in eine klassische 3D-Perspektive.

o Mitte oben Bewegungsstrategie /Silhouette Mehreren Bewegungsstrategien stehen zur Auswahl. Beispiele, wie diese Strategien arbeiten, finden Sie im Makro-Menü unter "Strategie-Demo…". Die gewählte Bewegungsstrategie bestimmt den Algorithmus der inversen Kinematik. - Clicken Sie eine Strategie Ihrer Wahl. Im oberen Fenster-Bereich erscheint eine Info, ob

 diese für Parallel Kinematik, Schief Kinematik oder beide geeignet ist (vgl. Tutorial).

- Ein Wechsel zwischen den Bewegungsstrategien ist jederzeit möglich. - Die Strategien 6 und 7 erzeugen ab Handgelenk-Punkt lineare Bewegungen und somit

 konstante Orientierung der Abtriebs-Achse.

o Mitte 'mittig' Koordinaten Liste Die Liste extern erzeugter XYZ Koordinaten des TCP wird - entsprechend der Bewegungsstrategie - in die Winkel der Knickarme transferiert; schrittweise oder automatisch für die gesamte Liste.

o Mitte (nicht ganz) unten Simulation Bewegung Die Bewegungssimulation visualisiert im zügigen Durchlauf die einzelnen Datensätze. Die bereits bekannte Rasttaste 'vorwärts / rückwärts' bestimmt die Laufrichtung: Vorwärts: Start-Punkt bis zum aktuellen Datensatz / aktueller Datensatz bis Zielpunkt Rückwärts: In umgekehrter Richtung.

o Mitte (ganz) unten Spur Die Bewegungsspur des TCP läßt sich per Rasttaste zu/abschalten. Angezeigt wird die Spur zwischen Startpunkt und dem (beim Clicken der Taste) aktuellen Datensatz. Sobald die Spur gezeichnet wurde, kann Sie über die Befehlsgruppe 'Datensatz' mit den Doppel-Pfeiltasten erneut durchlaufen und ein gesuchter Datensatz visuell gefunden werden.

o Mitte (ebenfalls ganz) unten Stop eine 'Stop-Taste' erscheint, sobald Simulation Bewegung oder Koordinaten Liste automatic gewählt ist. Die Funktion bricht ab, der Datensatz wird zum aktuellen Datensatz.

o Rechts oben: Kinematik direkt Dieses Feld zeigt Winkelschieber für 12 Achsen (A/B bis L/M) sowie den aktuell eingestellten Winkelwert, wahlweise im 0-360° oder -180° / +180° System. Nur die Schieber, die im Rahmen der Parametrierung aktiviert wurden, sind aktiv. Die direkte Kinematik dient in erster Linie dazu, eine "vernünftige Startposition", die Orientierung des TCP-Trägerarmes als Ausgangspunkt der inversen Kinematik oder auch Stützpunkte zur Umfahrung eines Hindernisses manuell zu bestimmen. Man braucht sie selten, aber man braucht sie. Vieles ist hier Sisyphus & Try and Error.

Hat nach dem Gesetz der größten Gemeinheit Murphy zugeschlagen und die Knickarme stehen völlig daneben, so können die Schieber mit den Doppel-Pfeiltasten des Bereiches Datensatz auf die Werte des List-Datensatzes synchronisiert werden.

Ist in direkter Kinematik eine Winkelposition gefunden, so kann sie der Datensatz Liste über den Button 'Teach-In / Aktuelle Koordinaten' direkt zugeführt werden. Auch Kreisbewegungen sind so einfach erzeugbar.

o Rechts unten: Basiskoordinate Portal Koordinaten und Winkel-Berechnungen referenzieren auf den Achs-Fußpunkt XYZ. Komplexe Robotersysteme arbeiten mit verfahrbarem Fußpunkt auf XYZ-Portal. Der Algorithmus inverser Kinematik berücksichtigt bei der Knickarm Berechnung die in direkter Kinematik vorgewählte Portal-Kordinate.

Die Verschiebung der Basiskoordinaten ermöglicht es auch, eine feste Fußpunkt Position entsprechend den kinematischen Möglichkeiten der Roboter-Mechanik zu optimieren.


o Button 'DS Neu' & 'DS Korrektur' Sie finden diese Funktionen in den Bereichen inverse sowie direkte Kinematik. Per 'DS Korrektur' ändern Sie den aktuellen Datensatz, 'DS Neu' generiert einen zusätzlichen Datensatz am aktiven Ende eines Datensatz-Blocks.

Unter Sicherheitsgesichtspunkten ist 'DS Neu' de-aktiviert, sobald der aktuell gewählte Datensatz sich nicht am Block-Ende befindet; gleichsinniges gilt für die Offset Doppel-Pfeiltasten. Wollen Sie größere Änderungen vornehmen, so sollten Sie (im Feld 'Datensatz')

  • per 'DS Einfügen' einen Datensatz an aktueller Stelle einfügen,
  • per 'Anschluß DS suchen' das aktive Ende des Blockes (vorwärts/rückwärts) aufsuchen.

Die Taste 'DS Neu' wird aktiviert.


Koordinaten & Datensatz-Liste Im unteren Teil des Bildschirmes werden (ab Zeile 51) die Kinematischen Bewegungsdaten zeilenweise gespeichert; links die XYZ-Koordinaten, rechts deren korrespondierende Winkel. Über die Maske haben Sie direkten Zugriff auf bereits erstellte oder entstehende Datensätze sowie deren Korrektur. Die in der Maske angezeigte Ordnungs-Nr. des Datensatzes wird mit dem Cursor ergänzend markiert. Sie finden:

Spaltenbereich 1 / (A) Ordnungs-Nr. der Bewegungsstrategie Spaltenbereich 2 bis 4 / (B bis D) Soll-Koordinate XYZ des TCP (absolut) Spaltenbereich 5 / (E) Soll-Vektor-Offset des TCP (relativ) Spaltenbereich 7 bis 9 / (G bis I) Ist-Koordinate XYZ Portal / Fußpunkt *) Spaltenbereich 13 bis 15 / (M bis O) Ist-Koordinate XYZ des TCP (absolut) Spaltenbereich 29 bis 40 / (AC bis AN) Winkelwerte Achsen (A/B bis L/M)

  • ) Portal / Fußpunkt Ist-Koordinate
  • Sind in der Liste keine Fußpunkt-Koordinaten vorhanden, so arbeitet der Algorithmus "mit 0-Wert". Arbeiten Sie mit dem Bahn-Generator, so werden Portal Koordinaten in der Koordinatenliste nur ausgewiesen, wenn sie von 0 abweichen.
  • Sind Fußpunkt-Koordinaten in der Liste vorhanden, so werden sie als Offset berücksichtigt.


Bahnsteuerung

CAD-Import

Sind Soll-Koordinaten (z.B. aus einem CAD-Programm) vorhanden vorhanden, so werden sie zunächst mit den Excel-üblichen Befehlen in den Bereich der Sollkoordinaten (Spalten 2 bis 4 / bzw. B bis D) ab Zeile 50 übertragen. Diese Koordinaten werden über den Button 'DS-Schritt' bzw. 'DS-Automatic' gelesen. Das Programm generiert hieraus die Winkelstellung der Knickarme und schreibt diese in das Bewegungsprotokoll des Datenmoduls.

Bahngenerator

Sind keine (extern ermittelten) Soll-Koordinaten vorhanden, so müssen sie interaktiv generiert werden (Offline Teach-In). Die TCP-Bahn-Stützpunkte werden wahlweise als XYZ-Wert Absolut oder als Offset eingegeben und per 'DS Neu' bzw. 'DS Korrektur' entsprechend der gewählten Bewegungsstrategie (s.u.) verarbeitet. Der Bahngenerator

- erzeugt die Koordinatenliste des TCP sowie das Knickarm-Bewegungsprotokoll
- visualisiert die Bewegung im 3D-Raum
- ermöglicht schrittweise oder kontinuierliche Kontrollfahrt
- und erlaubt beliebig "Try & Error".

Beide Automatic-Funktionen greifen auf die gewählte Bewegungsstrategie (s.u.) zurück und generieren eine entsprechende Winkelstellung der Knickarme. Bestimmen Sie ggf. in direkter Kinematik eine "vernünftige" Startpositionierung.

Im Rahmen einer interaktiven Arbeitssitzung erzeugt/speichert das Programm ein Bahnprofil mit Koordinaten und Winkelwerten. Wurden diese mit dem Bahngenerator erzeugt, so kann aus den gewonnenen Ist-Koordinaten eine ähnliche "parallel versetzte" Bahn mit den EXCEL-üblichen Befehlen "recht bequem" generiert werden: Die per Bahngenerator erzeugte Ist-Koordinatenliste wird mit entsprechendem Offset in den Soll-Koordinaten Bereich übertragen und über den Button 'DS-Schritt' bzw. 'DS-Automatic' eingelesen.

  • Stellt sich heraus, daß ein Zielpunkt außerhalb der kinematischen Möglichkeiten liegt und daß das Problem durch verschieben des Roboter 'Schulter bzw. Fußpunktes' zu lösen sei, so muß nicht die bisherige Arbeit erneuert werden: Über den Portal-Offset wird eine neue Basisposition gewählt und über den Button 'DS-Schritt' bzw. 'DS-Automatic' ein neues Bewegungsprofil bei geändertem Fußpunkt erzeugt.
  • Der Portal-Offset ist im Masken Bereich der 'direkten Kinematik' korrigierbar.

- Der hier eingegebene Wert wird für den aktuellen Datensatz in der Koordinaten-Liste

 gespeichert. Clicken Sie hierzu den Button 'DS Korrektur' bzw. 'DS Neu'. 

- Um den bisherigen Portal-Offset beizubehalten, clicken sie den 'Doppelpfeil'

 "rauf/runter" (im Feld Datensatz) je einmal, der bisherige Offset wird synchronisiert. 


Bewegungsstrategien Um trotz Überbestimmung (vgl. Tutorial) aus theoretisch unendlich vielen Winkel-Kombinationen möglichst geeignete Vektorlagen der Roboterarme zu berechnen verfolgt der RoBo-mac Gelenkbaukasten mehrere, frei wählbare Bewegungsstrategien:

  • Semi-Automatic präzisiert manuelle Winkel-Vorwahl "in ähnlicher Silhouette"
  • Konvex: Das mittlere Arm-Element liegt oberhalb des Zielpunktes
  • Konkav arbeitet vice versa zu Konvex
  • Zickzack: Die Arm-Elemente bilden eine Zickzack Silhouette
  • Parallel, bewegt den Übergangspunkt "Arm/Handgelenk" parallel
  • Teleskope bewegt Knickarme transversal wie Teleskoparme.

Zwischen den Strategien kann beliebig gewechselt werden.

Semi-Automatic orientiert sich an der Ist-Position der Gelenke und erreicht die neue Zielposition "in ähnlicher Silhouette". Wird die Arm-Position mit den Schiebern "in etwa" vorgewählt, so ermittelt der Algorithmus die Vektorlagen der Arme mit o.g. Präzision, ein Hindernis kann mit der Halb-Automatic so umfahren werden. Die Stützpunkt-Schrittweite beeinflußt die "Ähnlichkeit" der Silhouette; liegen die Stützpunkte weit auseinander, so geht die Ähnlichkeit verloren. Die Bahnen der Gelenkpunkte sind bei Hin- und Herbewegung selten kongruent.

Konvex, Konkav & Zickzack sind Voll-Automatic Funktionen, sie generieren die Bahn mit reproduzierbarer Winkelstellung der Gelenke - unabhängig von deren Ausgangs-Position; diese Bewegungsstrategien ermitteln für alle Gelenkpunkte stets die gleiche Bahn. Der Algorithmus eignet sich für Bewegungen, denen genügend Arbeitsraum zur Verfügung steht, er benötigt wenige Stützpunkte.

Innerhalb jeder einzelnen Bewegungsstrategie verlaufen die Armbewegungen konsistent und erwartungsgemäß.

  • Ein Strategiewechsel ist jederzeit möglich, führt jedoch über eine im Detail undefinierte Streck-Bewegung des Armes. In dieser Bewegungsphase besteht erhöhte Kollisionsgefahr.

Parallel & Teleskope ähneln o.g. Voll-Automatic Funktionen. Der "Unter-Arm" mit dem Übergangspunkt "Arm/Handgelenk" wird parallel zu sich selbst, bzw. in der Vektororientierung seiner eigenen Achse bewegt; die Winkelorientierung aller kaskadisch folgenden Achsen bleibt erhalten. Der Arbeitsbereich ist kleiner als der anderer Strategien.

  • Ein Strategiewechsel ist jederzeit ohne erhöhte Kollisionsgefahr möglich.

Die Bewegungsstrategie 'teleskopisch' verwendet hierbei nicht den XYZ-Wert, sondern einen Vektor-Hub. Die Ist-Vektorlage des "TCP Trag-Armes" wird um diesen Hub verschoben. Im Ergebnis führt dies zu einer teleskopartigen Bewegung.


Kombinierte Portal & Knickarm Robotik

Ist ein Knickarm Roboter auf Portal verfahrbar, so überlagern sich beide Bewegungskomponenten. Dies erhöht die Anzahl der Freiheitsgrade enorm. Um trotzdem gezielt Einfluß auf die Kinematik nehmen zu können, referenziert die Berechnung der Knickarm-Winkel auf die aktuelle Fußpunkt Position. Wählen Sie eine Fußpunktposition in direkter Kinematik und im Maskenbereich der inversen Kinematik die XYZ-Zielkoordinate des TCP. Beide Bewegungskomponenten lassen sich so zu einer komplexen Gesamtbewegung kombinieren – und bestimmen die Orientierung des TCP.

Soll die TCP Position bei geänderter Fußpunkt Koordinate beibehalten werden, so - clicken Sie zunächst den Button 'Übernahme Ist-Position' (Feld 'Zielposition absolut'), - korrigieren Sie die Fußpunkt Koordinate, - clicken Sie 'DS Neu' (Bereich direkte Kinematik) - clicken Sie 'DS Korrektur' (im Feld 'Zielposition absolut'). Diese Orientierungsänderung bei gleicher XYZ-Position führt in eine "Biege-Bewegung".

Positionierfehler & Watchdog

Unabhängig davon, wie die Soll-Werte erzeugt wurden, werden die Datensatz Ist-Werte in inverser Kinematik entsprechend der gewählten Bewegungsstrategie berechnet und als korrespondierende Knickarm-Winkel gespeichert. In direkter Kinematik wird aus diesen Knickarm-Winkeln der XYZ-Wert des TCP errechnet. Das Verfahren mag umständlich sein, ermöglicht jedoch einen Soll/Ist Vergleich. Die absoluten Positionierfehler Soll/Ist des TCP liegen unter 1/10.000 mm, meist in einer Größenordnung von 10-5 bis 10-6 mm.

Ein Watchdog-Algorithmus überwacht intern die Soll/Ist-Abweichung und schlägt ggf. Alarm. Falls der Zielpunkt nicht berechenbar oder kinematisch nicht erreichbar ist, wird eine Fehlermeldung generiert.



Inverse Parallel- & Schief Kinematik Die Algorithmen der bisher besprochenen Bewegungsstrategien erwarten, daß sich die Schwenkachsen zwischen Schulterpunkt und Ellbogen bzw. dem Übergangspunkt "Arm/Handgelenk" in parallelen Ebenen bewegen. Die An- und Abtriebsachsen A/B bzw. G/H dürfen Drehachsen sein. Diese Parallel-Kinematik (vgl. Tutorial) erreicht jeden beliebigen Raumpunkt (XYZ).

• Schiefe Bewegungsebenen Die zusätzliche Drehmöglichkeit einer Schwenkachse zwischen Schulterpunkt und Handgelenk erhöht die Bewegungsvielfalt enorm. Dieser Vorteil wird mit einer komplexen Mechanik sowie einer nochmals gesteigerten kinematischer Überbestimmung erkauft; der Rechenaufwand steigt extrem – und führt in wahrnehmbare Rechenzeit. Es müssen 3D- Näherungsalgorithmen verwendet werden (vgl. Tutorial).

Näherungsalgorithmen haben stets einen Gültigkeitsbereich, der hier von Start- & Zielposition sowie der Bewegungsstrategie abhängt. Nicht jede Zielposition ist aus jeder Startposition erreichbar, ggf. muß die Bewegungsstrategie geändert bzw. die Startposition im Rahmen der Bahnoptimierung (Interaktiver Prozeß) zuvor korrigiert werden.

Der Gültigkeitsbereich bildet sich aus Schnittmengen vorgenannter Parameter. Ein Watchdog-Algorithmus überwacht, daß sich die Näherungsalgorithmen im Gültigkeitsbereich bewegen; er generiert ggf. eine Fehlermeldung & Korrekturempfehlung. Die Standardabweichung der absoluten Positionierfehler Soll/Ist liegt in der Größenordnung "einiger Hundertstel".

Als Bewegungsstrategie sind empfohlen, Strategie 6 (bevorzugt) Strategie 8 ermöglicht höhere Drehwinkel der Armachsen bei kleinerem Arbeitsbereich.

Das Programm prüft selbstständig, ob der rechenintensive Schief-Algorithmus erforderlich wird oder der schnellere & präzisere Parallel-Algorithmus geeignet ist.


LiFePO4 Speicher Test