Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zu Mehrdeutigkeiten bei Industrierobotern
Hallo erstmal und guten Tag :)
ich hoffe ich bin hier im richtigen Unterforum für meine Frage und ihr könnt mir helfen.
Also es geht um Mehrdeutigkeiten bei Industrierobotern.
Grundsätzlich weiß ich ja, dass wenn ein Raumpunkt durch mehrere Achsstellungen erreicht werden kann, dann nennt man dies "Mehrdeutigkeit".
So nun zu den Fragen:
1. diese Mehrdeutigkeiten sind bei der Vorwärtstransformation nicht relevant, sondern die Mehrdeutigkeiten entstehen durch die Rücktransformation (vom Effektor-KS zum achsenspezifischen-KS), ist das soweit richtig? Oder wodurch können noch diese Mehrdeutigkeiten entstehen?
2. hab mich zwar bisschen eingelesen, aber ich werd aus keiner Quelle so richtig schlau: wie wird dieses Problem der Mehrdeutigkeiten nun gelöst?
Hoffe jemand kann mir das relativ leicht verständlich erklären, muss keine große wissenschaftliche Arbeit daraus werden :D
Hallo!
Also vorweg: ich bin kein Fachmann in diesen Dingen! Aber klar ist doch eines: bei einer Vorwärtskinematik möchtest du aus den aktuell vorliegenden Stellungen der Freiheitsgrade bestimmen, wo dein Werkzeug (was auch immer da am Ende des Armes ist) landet. Und soweit du überhaupt einen konsistenten Satz an Gelenkstellungen hast, gibt es nur einen Punkt den das Werkzeug bei diesen Gelenkstellungen einnimmt. Bei einer inversen Kinematik gibst du umgekehrt den Zielpunkt vor und versucht dann zu berechnen, welche Gelenkstellungen dazu führen, dass dein Werkzeug an diesem Punkt landet. Und hier gilt dann u. U. der Grundsatz: es führen viele Wege nach Rom. Wenn du z. B. mit dem Zeigefinger deine Nase berührst, kannst du dabei immer noch deinen Arm bewegen, also die Gelenkstellungen in Schulter- und Ellenbogengelenk deutlich verändern. Das heißt ja nun nichts anderes, also dass verschiedene Gelenkstellungen zu dem gleichen Endpunkt führen - in diesem Sinne tritt hier also eine Mehrdeutigkeit auf. Dazu, welche Verfahren es gibt, mit diesen Mehrdeutigkeiten umzugehen, sollen sich lieber die Fachleute auf diesem Gebiet äußern, im einfachsten Falle könnte man ja aber z. B. ein Kriterium verwenden wie: wähle diejenige Lösung, die die geringsten Differenzen zur vorherigen Gelenkstellung aufweist. Damit würde man z. B. die geringsten Verfahrwege und -zeiten herbeiführen. Aber wie gesagt, da gibt es mit Sicherheit eine Menge sehr ausgeklügelten Kram ;-)
Gruß
Malte
Vielen Dank Malte für deine Erklärung, hat mir zum Verständnis einiges gebracht, dein Beispiel mit dem Kriterium ist auch passend.
Hab vielleicht zusätzlich für ein Lösungsansatz nochwas über die Denavit Hartenberg Konvention gelesen, aber muss erst dahinter steigen :D
Vielleicht sieht zusätzlich ja doch noch jemand hier rein und kennt vielleicht noch andere Möglichkeiten für Lösungen :)
Wenn du z. B. mit dem Zeigefinger deine Nase berührst, kannst du dabei immer noch deinen Arm bewegen, also die Gelenkstellungen in Schulter- und Ellenbogengelenk deutlich verändern. Das heißt ja nun nichts anderes, also dass verschiedene Gelenkstellungen zu dem gleichen Endpunkt führen - in diesem Sinne tritt hier also eine Mehrdeutigkeit auf.
Dies gilt nicht bei jedem System. Nimm z.B. eine typische Fräse mit drei Achsen. Da gibt es nur eine Möglichkeit, einen Punkt zu erreichen. Ich will das mal so formulieren:
wenn das System mehr Freiheitsgrade hat als der Raum in dem es sich bewegt Dimensionen hat, gibt es Mehrdeutigkeiten, hat es gleichviele, ist es eindeutig, und hat es weniger Freiheitsgrade, kann nicht jeder Punkt erreicht werden.
So richtig gefällt mir die Formulierung nicht, ich hoffe aber der Sinn ist rübergekommen.
MfG Klebwax
oberallgeier
20.09.2011, 10:09
... Mehrdeutigkeiten entstehen durch die Rücktransformation ...Mehrdeutigkeiten - siehe unten. Mir ist Dein Problem nicht klar. Mal etwas einfach ausgedrückt überlege ich:
Voraussetzung zur Erfassung der aktuellen Gelenkstellung aus einer konkreten Roboterstellung:
1) Jedes verstellbare Glied - Gelenk oder längenverstellbarer Arm - hat eine Messeinrichtung für den Verstellgrad - Winkel oder Länge
2) Position des TCP ist nach Lage und Anstellwinkel(n) nicht bekannt
3) Die Lage des letzen Gliedes gegen den Fixpunkt am Boden ist bekannt
4) Es sind beliebig viele verstellbare Glieder verbaut
5) Das Glied am Fixpunkt hat den Verstellwert v1
6) Der TCP hat gegen seinen Vorgänger den Verstellwert Vl (letztes Glied)
7) Gesucht sind die Werte von Punkt 2)
Jetzt rechne ich vom TCP weg mit den bekannten Verstellgraden die relative Lage des Gliedes n gegen den TCP. Diese Rechnung ist möglich in Polar-, kartesischen oder irgendwelchen exotischen Koordinaten. Zum Schluss weiß ich daher, wie der Fixpunkt relativ zum TCP steht. Ne Transformation dieser Koordinate in das Fixpunktkoordinatensystem ergibt mir die Position aus Punkt 2).
Vermutete Verwirrungsmöglichkeit bei der Ausgangsfrage anhand eines sehr simplen Beispiels (soweit ich es beurteile, morgens, nach dem Kaffee, ist das Beispiel ohne Beschränkung der Allgemeinheit).
Wir nehmen eine Fräse ähnlich der die Klebwax genannt hat. Diese (Fehl-) Konstruktion hat vier Achsen und kann Löcher bohren, aber nicht in einer Fläche sondern nur entlang einer bestimmten Linie. Es gibt also (lustigerweise) ne x1, x2 und x3 und eine z, Achsen in den üblich definierten orthogonalen Koordinaten. Zur Verdeutlichung: auf dem Schlitten x1 sitzt ein Schlitten x2 der in die gleiche Richtung wie x1 verfahren kann. Da drauf der x3 - der wiederum NUR in x verfahren kann. Erst der Schlitten z trägt den (höhen-) verstellbaren Bohrer oder was auch immer.
Was bringts? (Abgesehen von der Un-Sinnigkeit der Achsenansammlung)
Jede konkrete Bohrungsposition an der Linie kann durch beliebig viele (fast beliebig, begrenzt durch die digitale Auflösung, sprich Anzahl der digitalen Koordinatenwerte) verschiedene Stellungen der xi angefahren werden. Aus der Kenntnis der drei Xi ist die aktuelle Stellung eindeutig (ich würde fast gerne schreiben: sie ist aber eindeutig *ggg*).
Jetzt kommen wir zu Deiner Problematik: Da verschiedene xi möglich sind, brauchen wir eine Strategie, nach der diese TriplX-Fräse ihren Achsvorschub selbständig errechnet. Und da ist Dein eigentliches Problem.
Jetzt nehmen wir malthy´s Zeigefinger, mit dem er nach Rom - ähhhh - nach der Nase greift. Normalerweise ist diese Bewegung frei wählbar - auch als kürzester Weg von der aktuellen Lage der Hand zur Nase. Was aber, wenn er grad abends vorm Fernseher seinen Arm um seine Freundin gelegt hat - dann ist der direkte Weg zu seiner Nase versperrt. Oder - er hat beim Arbeiten zu Schweissen und hat ein Schweißvisier am Kopf. Wenn das Visier nicht hochgeklappt werden darf, muss er mit seinem Finger unter dem Visier zu seiner Nase fahre. In beiden Fällen sind NICHT mehr beliebige, insbesondere gradlinige Zustellwege möglich. Es sind dann spezielle Zufahrtspfade vorgegeben oder vorzugeben.
Dieses Dilemma tritt bei komplexen Bewegungen nicht nur des Roboters, sondern auch des Menschen auf. Dazu habe ich hier mal (https://www.roboternetz.de/community/threads/54056-Humanoider-(Fußball-)-Roboter?p=518399&viewfull=1#post518399) kurz etwas erwähnt, etwas besser ist das hier ausgeführt, (https://www.roboternetz.de/community/threads/53472-Programmierung-zweibeiniger-Roboter?p=514041&viewfull=1#post514041) aber deutlich wirds dann in Katja Mombaur´s Arbeit siehe aaO.
Vielachsige Bearbeitungszentren oder vielachsige Roboter müssen manchmal bestimmte Zufahrstrategien einhalten - so wie malthy eben mit seinem Finger. Daher muss man z.B. beim Bohren eines Loches in ein Werkstück wissen, ob der Roboter a) um bestehende Struktur herumgreifen kann und b) beim Erreichen des Bohrbeginns überhaupt noch in der Lage ist, das Loch in der gewünschten Richtung zu bohren. Es sind also auch hier spezielle Zufahrtspfade vorgegeben oder vorzugeben. Und das hängt vom jeweiligen Fall ab; es ist für den allgemeinen Fall meist automatisierbar (geradewegs mit geringsten Wegen, Drehmomenten oder so zur Nase greifen).
Lieber triple3 - ist das so klar(er) geworden? Du sprichst von Mehrdeutigkeiten - aber es sind vermutlich Mehrfachmöglichkeiten die Du meinst und die gibts "vorwärts" und "rückwärts". Und diese vielfachen Möglichkeiten müssen der aktuellen Aufgabe angepasst sein (oder angepasst werden können) sonst nutzt dieses Feature gar nix. Dafür sind verschiedene Anpassungsstrategien nötig: PTP (mit entsprechendem Teachen) oder eine im kritischen Bereich besonders ausführliche Stützpunktvorgabe bei Bahnvorgabe etc.
Sorry, dass das so ein langer Artikel wurde. Mathematisch gehts einfacher zu formulieren (ist aber dann nur noch für Adepten verständlich - und ich kanns morgens nach dem Kaffee nicht).
Ui, danke für deine ausführliche Antwort oberallgeier :) steckt bei dir bestimmt viel knowhow hinter. Denke nun seh ich einiges klarer, muss mich sowieso besonders nochmal genauer mit den ganzen Transformationen einlesen und dann denke ich ist mein Problem auch schon abgehackt :D
Also nochmals vielen Dank für Hilfe ;)
denke ich ist mein Problem auch schon abgehackt
abgehackt oder abgehakt? ;-)
reiner jakob
28.09.2011, 10:43
ein Optimierungsalgorythmus , der Kürzeste Weg ist schon genannt
wer viel Zeit hat und Optimierungen durchspielen kann, kann neben örtlicher Machbarkeit auch nach Beschleunigungsfähigkeiten einzelner Gelenke, Federwege der entsprechenden Durchlaufpositionen, Kräfte und Verschleiß, und Energieverbrauch optimieren.
oberallgeier
02.10.2011, 11:52
ein Optimierungsalgorythmus ... auch nach Beschleunigungsfähigkeiten einzelner Gelenke ...Wenn bei der Koordinatentransformation für die Gelenkstellungen NICHT auf mechanische Betriebsgrenzen wie Beschleunigung, Geschwindigkeit, Winkelstellung u.Ä. geachtet wird, dann wird die Bewegung u.U. unausgewogen, eckig sein. Die saubere Abarbeitung von Stützpunkten oder Bahnvorgaben ist dann nicht wirklich gesichert. Evtl. wird man auch Strukturschäden bekommen. Daher sehe ich das jetzt weniger als Optimierungsmöglichkeit (bzw. Optimierungsalgorithmus) an, das ist einfach notwendig.
wenn das System mehr Freiheitsgrade hat als der Raum in dem es sich bewegt Dimensionen hat, gibt es Mehrdeutigkeiten, hat es gleichviele, ist es eindeutig, und hat es weniger Freiheitsgrade, kann nicht jeder Punkt erreicht werden.
Gleichviele Freiheitsgrade wie Dimensionen bedeutet nicht zwangsläuftig, dass es eindeutig ist.
Bsp: Bei zwei seriellen Drehgelenken gibt es zwei Möglichkeiten, einen bestimmten Punkt in der Ebene anzufahren ("Knick nach oben" & "Knick nach unten").
Gruß Matze
heinzchr
15.11.2011, 14:57
Was hounter gesagt hat ist richtig und sollte bei der Umsetzung auf jeden Fall beachtet werden.
Ich kann auchnoch ein bissl Senf dazu geben der (glaube ich) noch nciht genannt wurde. Hier wird ja schon fleißig von Vorwärts und Rückwärtskinematik gesprochen. Du Antwortest immer, dass du dich da noch durchlesen musst. Deshalb: Der Überbegriff für den ganzen Mathekrämpel der dahinter steckt lautet MKS (Mehrkörpersysteme). Darunter solltest du einiges an Input finden können. Falls Softwareseitig Probleme bei der Umsetzung deines Projektes bestehen schau dir mal Orocos an. Ist nen OpenSource KinematikToolChain Lib.
http://www.orocos.org/
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.