paint-brush
Warum PAUL einen riesigen Datensatz benötigt, um seine Bewegungen zu verbessernvon@escholar
Neue Geschichte

Warum PAUL einen riesigen Datensatz benötigt, um seine Bewegungen zu verbessern

Zu lang; Lesen

Die Bewegung von PAUL wird mithilfe empirischer Datenerfassung modelliert und nicht mithilfe komplexer Methoden wie PCC oder Cosserat Rod Theory. Der Datensatz umfasst Aufblaszeiten (normalisiert 0-100 %), Position/Ausrichtung (Euler-Winkel) und Metadaten (Druck, Temperatur). Um die Einschränkungen des pneumatischen Systems zu berücksichtigen, werden die Entleerungszeiten mit 1,45 multipliziert, das Aufblasen erfolgt sequentiell, um eine ungleichmäßige Füllung zu verhindern, und Hystereseeffekte erfordern eine 1,2-fache Korrektur beim Übergang zwischen den Positionen. Die offene Regelkreissteuerung basiert auf einer Tabellennachschlagemethode, die zwischen gespeicherten Aufblasproben interpoliert, wobei für die Zukunft die Implementierung einer auf neuronalen Netzwerken basierenden Kinematik geplant ist.
featured image - Warum PAUL einen riesigen Datensatz benötigt, um seine Bewegungen zu verbessern
EScholar: Electronic Academic Papers for Scholars HackerNoon profile picture
0-item

Autoren:

(1) Jorge Francisco Garcia-Samartın, Zentrum für Automatisierung und Robotik (UPM-CSIC), Polytechnische Universität Madrid — Hoher Rat für wissenschaftliche Forschung, Jose Gutierrez Abascal 2, 28006 Madrid, Spanien ([email protected]);

(2) Adrian Rieker, Zentrum für Automatisierung und Robotik (UPM-CSIC), Polytechnische Universität Madrid – Hoher Rat für wissenschaftliche Forschung, Jose Gutierrez Abascal 2, 28006 Madrid, Spanien;

(3) Antonio Barrientos, Zentrum für Automatisierung und Robotik (UPM-CSIC), Polytechnische Universität Madrid — Höherer Rat für wissenschaftliche Forschung, Jose Gutierrez Abascal 2, 28006 Madrid, Spanien.

Linktabelle

Zusammenfassung und 1 Einleitung

2 Verwandte Arbeiten

2.1 Pneumatische Betätigung

2.2 Pneumatische Arme

2.3 Steuerung von Softrobotern

3 PAUL: Design und Herstellung

3.1 Roboterdesign

3.2 Materialauswahl

3.3 Herstellung

3.4 Leistungsbank

4 Datenerfassung und Steuerung

4.1 Hardware-Einrichtung

4.2 Bilderfassungssystem

4.3 Datensatzgenerierung: Tabellenbasierte Modelle

4.4 Offene Regelung

5 Ergebnisse

5.1 Endgültige PAUL-Version

5.2 Arbeitsbereichsanalyse

5.3 Leistung der tabellenbasierten Modelle

5.4 Biegeversuche

5.5 Gewichtstrageversuche

6 Schlussfolgerungen

Finanzierungsinformationen

A. Durchgeführte Experimente und Referenzen

4.3 Datensatzgenerierung: Tabellenbasierte Modelle

Aufgrund der Komplexität des Roboters wurden modellbasierte Methoden wie PCC oder solche, die auf der Cosserat-Rod-Theorie basieren, verworfen. Obwohl die Verwendung von FEM ein Weg ist, der in zukünftigen Arbeiten nicht versperrt sein wird, haben wir uns angesichts der großen Anzahl von Parametern, die für jedes Segment experimentell festgelegt werden müssen (Elastizitätsmodul, Trägheitsmoment usw.), angesichts des sehr variablen Herstellungsprozesses in dieser ersten Phase für die Verwendung einer Art PAUL-Modellierung auf Grundlage der Datenerfassung entschieden.


Als Ausgabe des Systems dienen die Position und Ausrichtung, die das letzte Ende erreicht – daher werden in dieser Phase alle Positionen der Zwischensegmente ignoriert – und als Eingabe die Aufblaszeiten der einzelnen Blasen. Da zum Zeitpunkt der Konstruktion des Roboters nicht genügend Drucksensoren zur Verfügung standen, wurde entschieden, die Aufpumpzeit als Eingangsgröße zu verwenden. Da der Arbeitsdruck durch das Druckbegrenzungsventil begrenzt wird und die Durchflussrate in jede Blase als konstant angenommen werden kann, entspricht die Zeit dem in jeden Hohlraum eingeleiteten Luftvolumen.


Allen betrachteten Steuerungsoptionen ist gemeinsam, dass sie eine große Menge empirischer Daten erfordern, was die Entwicklung eines experimentellen Designs zur Systematisierung der Erfassung dieser Daten erforderlich macht. Da die Erfassung dieser Informationen in verschiedenen Phasen erfolgt und die Datensätze das Verhalten des Roboters objektiv darstellen müssen, kommt der Wiederverwendbarkeit des Experiments eine besondere Bedeutung zu.


Die in den Datensätzen gespeicherten Daten waren die Position der Roboterspitze und die Reihe von Aufblaszeiten, die diese Konfiguration erreichen. Die bereits erwähnte Einschränkung, dass nur zwei der drei Blasen im Segment aufgeblasen werden, reduziert Redundanzen. Wie bereits erwähnt, führen mehr als zwei Segmente zu Redundanzen, was bedeutet, dass das inverse kinematische Modell des Roboters mehrere Lösungen haben kann.


Der Datenerfassungsprozess umfasst mehrere aufeinanderfolgende Schritte. Zunächst wird eine bestimmte Anzahl an Proben ermittelt. Für jede Probe senden Matlab-Befehle eine zufällige Kombination aus neun Aufpumpzeiten, die jedem PAUL-Ventil entsprechen, an den Betätigungsprüfstand. Es werden Zeiten unterhalb einer maximalen Zeitgrenze Tmax erzeugt und sichergestellt, dass nur zwei Hohlräume pro Segment aufgeblasen werden. Anschließend werden die Blasen des Roboters entsprechend der gesendeten Zeiten aufgepumpt. Anschließend erfassen die beiden Kameras des Bildverarbeitungssystems Bilder, um die Position und Ausrichtung des Roboterendes zu bestimmen. Dieser gesamte Vorgang wird für die angegebene Anzahl von Iterationen wiederholt, und nach Abschluss werden die gesammelten Daten im Datensatz gespeichert.


Die Informationen zu den Schwellungszeiten werden als Prozentsatz gespeichert, wobei der Wert 0 einer Schwellung von null für dieses Segment und 100 Tmax entspricht, der Schwellung für die für diese Datenerfassungssitzung definierte maximale Anzahl von Millisekunden. Dieser Wert Tmax wird zusammen mit den Werten im Datensatz gespeichert, um verschiedene Datensätze vergleichen zu können. Der Grund für diese Kodierung liegt darin, dass a priori keine Informationen darüber vorliegen, welchem maximalen Druck eine PAUL-Blase standhält. Zwar wurde experimentell festgestellt, dass Aufpumpzeiten von mehr als 1500 ms am Stück zu Reifenpannen führten, doch führte auch die Anwendung kürzerer Zeiten über eine wiederholte Anzahl von Zyklen zu Undichtigkeiten. Auf dieser Grundlage wurde entschieden, kein Ventil in einem oder mehreren Schritten länger als 1000 ms aufzupumpen.


Zusammen mit der Aufblaszeit jeder Blase werden die Position und Ausrichtung, die die Endspitze erreicht, basierend auf den Kammermesswerten gespeichert. Dabei werden insbesondere die Position des grünen Markers und die Ausrichtung des Dreibeins gespeichert. Letzteres wird in Euler-Winkeln ausgedrückt, da es eine viel effizientere Speicherform als eine Rotationsmatrix ist. Darüber hinaus enthält der Datensatz auch Metadaten aus dem Erfassungsprozess, von denen angenommen wird, dass sie die Ergebnisse beeinflussen, wie etwa der pneumatische Leitungsdruck oder die Umgebungstemperatur.


Einige Aspekte des pneumatischen Systems verdienen Aufmerksamkeit. Das Aufblasen und Entleeren der Blase sind zunächst keine symmetrischen Prozesse. Geometrische Einschränkungen der pneumatischen Komponenten führen zu einer geringeren Entleerungsrate im Vergleich zur Aufblasrate. Wenn PAUL also eine Entleerungszeit erhält, multipliziert er diese mit einem empirisch ermittelten Faktor, ungefähr 1,45 bei einem Arbeitsdruck von 1,2 Bar. Dieser Multiplikator gleicht die Diskrepanz zwischen den Aufblas- und Entleerungszeiten einer einzelnen Gruppe von Blasen aus und stellt sicher, dass die Entleerungszeit mit der Zeit übereinstimmt, die zum Erreichen desselben Aufblaspunkts erforderlich ist.


Obwohl es physikalisch möglich ist, mehrere Ventile gleichzeitig aufzublasen, hat sich gezeigt, dass diese parallele Strömungsverteilung dazu führt, dass die effektive Füllung jedes Ventils nicht die gleiche ist, als wenn sie einzeln aufgeblasen würden. Um dieses Phänomen zu verhindern, wurde beschlossen, jede Blase sowohl während des Datenerfassungsprozesses als auch plötzlich, als PAUL aufgefordert wurde, bestimmte Positionen zu erreichen, einzeln aufzublasen.


Schließlich gibt es Hysteresephänomene im Silikon, die dazu führen, dass die durch Aufblasen für eine Zeit t erreichte Position sich von der Position unterscheidet, die durch Aufblasen zuerst für eine Zeit t1 und dann für eine Zeit t2 = t − t1 erreicht wird. Die zur Lösung dieses Problems angewandte Strategie bestand darin, den Datensatz zu erfassen und PAUL zwischen jeder Probe auf seine Nullposition zurückzusetzen. Bei der Steuerung des Roboters im offenen Regelkreis ist dies jedoch nicht möglich oder zumindest nicht wünschenswert, da man möglicherweise Bahnen folgen oder durch eine Abfolge von Punkten fahren möchte. Daher ist für den Übergang von der Position x1 zur Position x2 ein zusätzlicher Faktor von 1,2 erforderlich, der ebenfalls experimentell ermittelt wurde, um Hystereseeffekte zu berücksichtigen.

4.4 Offene Regelung

Sobald der Datensatz generiert ist, kann er zur Modellierung des Verhaltens von PAUL bei der offenen Regelkreissteuerung verwendet werden. Als zukünftige Maßnahme ist vorgesehen, ein neuronales Netzwerk für die direkte Kinematik und ein weiteres für die inverse Kinematik zu trainieren. Angesichts der großen Datenmenge, die erforderlich sein kann (in [62] werden 24389 Proben für einen Drei-Segment-Roboter wie diesen verwendet), wurde für diese Arbeit eine Tabellensuchmethode verwendet.


Die Methode der direkten Kinematik – mit der sich aus den Aufblaszeiten der neun Blasen die Position und Ausrichtung des Endstücks des Roboters ermitteln lässt – besteht darin, im im vorigen Schritt generierten Datensatz nach den drei Aufblaszeitwerten zu suchen, die sich in einem geringeren Abstand von der als Referenz angegebenen Aufblaszeit befinden. Wenn die gesuchten Aufpumpzeiten in der Tabelle enthalten wären, würde der diesen Zeiten zugeordnete Wert offensichtlich als Ergebnis des direkten kinematischen Modells zurückgegeben. Andernfalls wird der Durchschnitt der Positions- und Orientierungswerte, die den drei nächstgelegenen Aufblaszeiten zugeordnet sind, gewichtet mit der Distanz (euklidische Norm), die zwischen jedem von ihnen und den Werten der Referenzaufblaszeiten besteht, als Positions- und Orientierungswert des Roboters zurückgegeben.





Mit ihnen ist es möglich, die vom direkten kinematischen Modell zurückgegebene Position mithilfe des folgenden Ausdrucks zu berechnen: