DE102016214161B3 - Method for controlling robot systems for simulating satellite movements by means of at least one robot - Google Patents
Method for controlling robot systems for simulating satellite movements by means of at least one robot Download PDFInfo
- Publication number
- DE102016214161B3 DE102016214161B3 DE102016214161.9A DE102016214161A DE102016214161B3 DE 102016214161 B3 DE102016214161 B3 DE 102016214161B3 DE 102016214161 A DE102016214161 A DE 102016214161A DE 102016214161 B3 DE102016214161 B3 DE 102016214161B3
- Authority
- DE
- Germany
- Prior art keywords
- fictitious
- robot
- satellite
- contact
- end part
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40318—Simulation of reaction force and moment, force simulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40319—Simulate contact of object and obstacle, reduce to pairs with only one contact
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45085—Space robot
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Die vorliegende Erfindung betrifft ein Verfahren zur Regelung von Robotersystemen (1) zur Simulation von Satellitenbewegungen mittels mindestens eines Roboters (3). Die Bewegung eines fiktiven Satelliten wird bei Kontakt mit einem fiktiven Umgebungsobjekt simuliert. Das Robotersystem (1) weist den mindestens einen Roboter (3), ein mit dem Roboter (3) verbundenes Endteil (5), der derjenige Teil des Roboters (3) ist, an dem der zu regelnde Kontakt mit einem realen Umgebungsobjekt (7) stattfinden soll, und eine Robotersteuerung mit einer Positionsschnittstelle zur Eingabe von einer Soll-Position xdr auf mit folgenden einen Regelkreis bildenden Schritten: a) Bestimmen der Ist-Position x des Endteils (5) des Roboters (3) b) Berechnung einer simulierten Satellitenbewegung des fiktiven Satelliten mit folgenden Unterschritten: i) Bestimmen einer fiktiven Position xd des fiktiven Satelliten und einer fiktiven Kontaktposition xde mit dem fiktiven Umgebungsobjekt, ii) Berechnen einer fiktiven Kraft fd und eines fiktiven Moments md, die auf den fiktiven Satelliten bei Kontakt mit dem fiktiven Umgebungsobjekt wirken, mittels der fiktiven Position xd des fiktiven Satelliten und der fiktiven Kontaktposition xde mit dem fiktiven Umgebungsobjekt, iii) Berechnung der fiktiven Bewegung des fiktiven Satelliten, die aufgrund der fiktiven Kraft fd und des fiktiven Moments md hervorgerufen wird, iv) Ermitteln einer neuen fiktiven Position xdn des fiktiven Satelliten aus der fiktiven Bewegung c) Vorgeben der neuen fiktive Position xdn als Soll-Position xdr für das Endteil (5) des Roboters (3), d) Wiederholen der Schritte a) bis c), wobei in Unterschritt b i) die neue fiktive Position xdn des vorangegangenen Unterschritts b iv) als fiktive Position xd verwendet wird.The present invention relates to a method for controlling robot systems (1) for simulating satellite movements by means of at least one robot (3). The motion of a fictitious satellite is simulated upon contact with a fictitious environment object. The robot system (1) has the at least one robot (3), an end part (5) connected to the robot (3), which is the part of the robot (3) on which the contact to be controlled with a real environment object (7) and a robot controller with a position interface for inputting from a desired position xdr on with the following loop forming steps: a) determining the actual position x of the end part (5) of the robot (3) b) calculating a simulated satellite movement of the fictitious satellites, comprising the following substeps: i) determining a fictitious position xd of the fictitious satellite and a fictitious contact position xde with the fictitious environment object, ii) calculating a fictitious force fd and a fictitious moment md incident on the fictitious satellite upon contact with the fictitious environment object act, by means of the fictitious position xd of the fictional satellite and the fictitious contact position xde with the fictitious environment object, iii) calculation d he fictitious movement of the fictitious satellite, which is caused by the fictitious force fd and the fictitious moment md, iv) finding a new fictitious position xdn of the fictional satellite from the fictive movement c) specifying the new fictitious position xdn as a target position xdr for d) repeating steps a) to c), wherein in sub-step bi) the new notional position xdn of the previous sub-step b iv) is used as the fictitious position xd.
Description
Zur Reparatur eines defekten Satelliten in einer Umlaufbahn um die Erde oder zum Entfernen des Satelliten aus seiner Umlaufbahn sind Techniken in der Entwicklung, die als so genanntes ”On-Orbit-Servicing” bekannt sind. Dabei nähert sich ein ”Servicer”-Satellit einem beispielsweise defekten Satelliten und stellt zunächst einen kraftschlüssigen Kontakt her, der Voraussetzung für weitere Maßnahmen ist. Zur Vorbereitung solch einer Raumfahrtmission soll die vorzunehmende Aufgabe zunächst am Boden simuliert werden. Bei ersten Ansätzen für eine derartige Simulation werden Roboter, beispielsweise Industrieroboter eingesetzt, die die Bewegung der Satelliten nachbilden, wobei ein Satellit durch einen Roboter simuliert wird.To repair a defective satellite in orbit around the earth or to remove the satellite from its orbit, techniques are under development known as on-orbit servicing. In this case, a "Servicer" satellite approaches an example defective satellite and initially establishes a non-positive contact, which is a prerequisite for further action. To prepare for such a space mission, the task to be performed should first be simulated on the ground. The first approaches to such a simulation use robots, such as industrial robots, which simulate the motion of the satellites simulating a satellite by a robot.
Bei dieser Simulation werden Bewegungsgleichungen verwendet, um die Bewegung des Satelliten zu simulieren. Die nachgebildeten Bewegungsgleichungen sind
Problematisch ist, dass die Kraftregelung beim Kontakt zwischen zwei Robotern instabil werden kann. Dies entsteht dadurch, dass bei der Kraftregelung die Beschleunigung aus der gemessenen Kraft berechnet wird.The problem is that the force control in contact between two robots can become unstable. This is due to the fact that in force control the acceleration is calculated from the measured force.
Aufgrund der verzögerten Bewegung des Roboters ist die Kraft bei dem Roboter länger wirksam, als bei einem Zusammenstoß zwischen zwei Satelliten, die simuliert werden sollen.Due to the delayed movement of the robot, the force is more effective on the robot than on a collision between two satellites to be simulated.
Aufgrund der längeren wirksamen Kraft wird eine längere Beschleunigung berechnet, so dass die Satelliten nach dem Zusammenstoß zu schnell sind. Dadurch wird das System instabil.Due to the longer effective force, a longer acceleration is calculated so that the satellites are too fast after the collision. This will make the system unstable.
Aus M. De Stefano, J. Artigas, W. Rackl, and A. Albu-Schäffer. Passivity of virtual free-floating dynamics rendered on robotic facilities. In Proc. 2015 IEEE Int. Conf. on Robotics and Automation (ICRA), pages 781–788, Seattle, WA, USA, May 2015 ist ein Verfahren zur Stabilisierung der Steuerung der Roboter bekannt, bei dem lediglich auf die Stabilität des Systems geachtet wird, in dem die Bewegung gedämpft wird. Eine Betrachtung, ob eine korrekte Bewegung der simulierten Satelliten erfolgt, findet nicht statt.From M. De Stefano, J. Artigas, W. Rackl, and A. Albu-Schäffer. Passivity of virtual free-floating dynamics rendered on robotic facilities. In Proc. 2015 IEEE Int. Conf. on Robotics and Automation (ICRA), pages 781-788, Seattle, WA, USA, May 2015 discloses a method for stabilizing the control of the robots by paying only attention to the stability of the system in which the movement is damped. A consideration as to whether a correct movement of the simulated satellites takes place does not take place.
Es ist daher Aufgabe der vorliegenden Erfindung, ein Verfahren der eingangsgenannten Art zu schaffen, bei dem die Steuerung mindesten eines Roboters zur Simulation mindestens eines Satelliten verbessert ist, so dass unter Beibehaltung einer stabilen Steuerung die Bewegung des mindestens einen Roboters genauer der Bewegung des zu simulierenden Satelliten entspricht.It is therefore an object of the present invention to provide a method of the type mentioned, in which the control of at least one robot for simulating at least one satellite is improved, so that while maintaining a stable control, the movement of the at least one robot more precisely to the movement of the simulated Satellite corresponds.
Die Erfindung ist definiert durch die Merkmale des Anspruchs 1.The invention is defined by the features of
Der erfindungsgemäße Verfahren zur Regelung von Robotersystemen zur Simulation von Satellitenbewegungen mittels mindestens eines Roboters, sieht vor, dass die Bewegung eines fiktiven Satelliten bei Kontakt mit einem fiktiven Umgebungsobjekt simuliert wird, wobei das Robotersystem den mindesten einen Roboter, ein mit dem Roboter verbundenes Endteil, der derjenige Teil des Roboters ist, an dem der zu regelnde Kontakt mit einem realen Umgebungsobjekt stattfinden soll und eine Robotersteuerung mit einer Positionsschnittstelle zur Eingabe von einer Soll-Position xdr aufweist, sieht folgende einen Regelkreis bildende Schritte vor:
- a) Bestimmen der Ist-Position x des Endteils des Roboters
- b) Berechnung einer simulierten Satellitenbewegung des fiktiven Satelliten mit folgenden Unterschritten:
- i) Bestimmen einer fiktiven Position xd des fiktiven Satelliten und einer fiktiven Kontaktposition xde mit dem fiktiven Umgebungsobjekt,
- ii) Berechnen einer fiktiven Kraft fd und eines fiktiven Moments md, die auf den fiktiven Satelliten bei Kontakt mit dem fiktiven Umgebungsobjekt wirken, mittels der fiktiven Position xd des fiktiven Satelliten und der fiktiven Kontaktposition xde mit dem fiktiven Umgebungsobjekt,
- iii) Berechnung der fiktiven Bewegung des fiktiven Satelliten, die aufgrund der fiktiven Kraft fd und des fiktiven Moments md hervorgerufen wird,
- iv) Ermitteln einer neuen fiktiven Position xdn des fiktiven Satelliten aus der fiktiven Bewegung
- c) Vorgeben der neuen fiktive Position xdn als Soll-Position xdr für das Endteil des Roboters,
- d) Wiederholen der Schritte a) bis c), wobei in Unterschritt b i) die neue fiktive Position xdn des vorangegangenen Unterschritts b iv) als fiktive Position xd verwendet wird.
- a) Determining the actual position x of the end part of the robot
- b) Calculation of a simulated satellite movement of the fictitious satellite with the following substeps:
- i) determining a fictitious position x d of the fictitious satellite and a fictitious contact position x de with the fictitious surrounding object,
- ii) calculating a fictitious force f d and a fictitious moment m d acting on the fictitious satellite in contact with the fictitious environment object, by means of the fictitious position x d of the fictitious satellite and the fictitious contact position x de with the fictitious environment object,
- iii) calculation of the notional motion of the fictional satellite caused by the notional force f d and the notional moment m d ,
- iv) Determining a new fictitious position x dn of the fictional satellite from the fictive movement
- c) predefining the new notional position x dn as the target position x dr for the end part of the robot,
- d) repeating steps a) to c), wherein in sub-step bi) the new notional position x dn of the previous sub-step b iv) is used as a fictitious position x d .
Das erfindungsgemäße Verfahren sieht somit vor, dass zwischen der realen Bewegung des Roboters und der Bewegung des zu simulierenden Satelliten unterschieden wird. Parallel zu der Bewegung des Roboters wird eine fiktive Bewegung des Satelliten berechnet und einzelne Positionen des Satelliten als Soll-Positionen dem Roboter vorgegeben.The inventive method thus provides that between the real movement of the robot and the movement of the simulated Satellites is differentiated. Parallel to the movement of the robot, a fictitious movement of the satellite is calculated and given individual positions of the satellite as target positions to the robot.
Die parallele Simulation eines fiktiven Satelliten gewährleistet, dass stets bekannt ist, wo der fiktive Satellit steht, selbst wenn der Roboter diese Position noch nicht erreicht hat. Dadurch dass die Bewegung des Satelliten berechnet wird und diese als Soll-Positionen des Roboters vorgegeben wird, ist sichergestellt, dass das System stabil ist.The parallel simulation of a fictitious satellite ensures that it is always known where the fictitious satellite is, even if the robot has not yet reached this position. The fact that the movement of the satellite is calculated and this is given as desired positions of the robot, it is ensured that the system is stable.
Mittels des erfindungsgemäßen Verfahrens lassen sich auf besonders vorteilhafter Weise Kopplungsmanöver zwischen Satelliten simulieren oder auch der Zusammenbau von einzelnen Satellitenkomponenten im Weltraum.Coupling maneuvers between satellites or the assembly of individual satellite components in space can be simulated in a particularly advantageous manner by means of the method according to the invention.
Die Ist-Position x des Endteils des Roboters kann über eine Positionsschnittstelle des Roboters ausgegeben werden oder auch beispielsweise über einen externen Sensor bestimmt werden. Die Ist-Position x des Endteils des Roboters wird üblicherweise dazu verwendet, um eine Differenz zu der neu vorgegebenen Soll-Position xdr zu bilden und somit den Roboter anhand dieser Differenz zu steuern.The actual position x of the end part of the robot can be output via a position interface of the robot or can also be determined, for example, via an external sensor. The actual position x of the end part of the robot is usually used to form a difference to the newly specified target position x dr and thus to control the robot based on this difference.
Der Verfahrensschritt a), bei dem die Ist-Position des Endteils bestimmt wird, ist jedoch nicht unbedingt notwendig, um das erfindungsgemäße Verfahren umfasst auch Verfahren, bei denen der Verfahrensschritt a) nicht oder nur zu bestimmten Zeitpunkten durchgeführt wird.However, method step a), in which the actual position of the end part is determined, is not absolutely necessary; the method according to the invention also includes methods in which method step a) is not carried out or only at certain points in time.
Vorzugsweise ist vorgesehen, dass in Schritt b) nach Unterschritt b iii) folgende Unterschritte durchgeführt werden:
- b iii1) Ermitteln einer neuen fiktiven Zwischenposition xdntemp des fiktiven Satelliten aus der fiktiven Bewegung und
- b iii2) n-faches Wiederholen der Unterschritte b i) bis b iii1), wobei n eine vorgegebene ganze Zahl ist und in Unterschritt b i) die neue fiktive Zwischenposition xdntemp des vorangegangenen Unterschritts b iii1) als fiktive Position xd verwendet wird,
- b iii1) determining a new fictitious intermediate position x dntemp of the fictional satellite from the fictive movement and
- b iii2) repeating sub-steps bi) to b iii1) n times, where n is a predetermined integer and in sub-step bi) the new notional intermediate position x dntemp of the preceding sub-step b iii) is used as the fictitious position x d ,
Mit anderen Worten: Bei der Simulation der Bewegung des fiktiven Satelliten werden Positionen des fiktiven Satelliten berechnet, die nicht als Soll-Position für das Endteil des Roboters vorgegeben werden. Erst nach einer vorgegebenen Anzahl von Berechnungsdurchläufen der Soll-Position wird die Position xdn bestimmt, die als Soll-Position für das Endteils des Roboters verwendet wird. Das erfindungsgemäße Verfahren sieht daher vor, dass die Schritte b i), b ii), b iii) und b iii1) n-fach wiederholt werden, bevor anschließend die Unterschritte b i)–b iv) durchgeführt werden, wobei hierbei die Schritte b iii1) und b iiii2) nicht durchgeführt werden.In other words, in simulating the movement of the fictitious satellite, positions of the fictitious satellite are calculated that are not specified as the target position for the end part of the robot. Only after a predetermined number of calculation passes of the target position, the position x dn is determined, which is used as a target position for the end part of the robot. The method according to the invention therefore provides that the steps b1), b2), b3) and b3i) are repeated n times before the substeps bi) -b iv) are subsequently carried out, in which case the steps b iii1) and b iiii2) are not performed.
Ein derartiges Verfahren ist von besonderem Vorteil, da der Roboter zumeist einen Nachlauf und eine gewisse Trägheit besitzt, so dass die Vorgabe von neuen Soll-Positionen für den augenblicklichen Zeitpunkt nachteilhaft ist. Durch das Vorsehen der Unterschritte b iii1) und b iii2) können die Simulationen der fiktiven Satellitenbewegung und die Steuerung des Roboters derart erfolgen, dass Zwischenschritte des Satelliten in Bezug auf die Steuerung des Roboters ausgelassen werden, so dass der Roboter zum augenblicklichen Zeitpunkt eine spätere Position des Satelliten als Soll-Position vorgegeben bekommt, wobei der zeitliche Versatz nach Möglichkeit so gewählt wird, dass in einem eingeschwungenen System gerade der Nachlauf des Roboters ausgeglichen wird.Such a method is of particular advantage, since the robot usually has a tail and a certain inertia, so that the specification of new target positions for the current time is disadvantageous. By providing sub-steps b iii1) and b iii2), the simulations of the fictitious satellite movement and the control of the robot can be done such that intermediate steps of the satellite with respect to the control of the robot are omitted, so that the robot at the current time a later position the satellite is given as a target position, the temporal offset is chosen as far as possible so that in a steady-state system just the wake of the robot is compensated.
Vorzugsweise ist vorgesehen, dass bei einem positionsfesten Umgebungsobjekt vor dem Unterschritt b i) folgender Schritt durchgeführt wird:
- a2) Bestimmen der Ist-Kontaktposition xe mit dem realen Umgebungsobjekt, wobei in Unterschritt b i) für die fiktive Kontaktposition xde mit dem fiktiven Umgebungsobjekt die Ist-Position xe des realen Umgebungsobjekts verwendet wird.
- a2) Determining the actual contact position x e with the real environment object, wherein in step bi) for the fictitious contact position x de with the fictitious environment object, the actual position x e of the real environment object is used.
Ein derartiges Verfahren ist insbesondere geeignet um eine Bewegung eines Satelliten bei Kontakt mit einem Objekt, dessen Maße um ein Vielfaches größer als die des Satelliten sind, zu simulieren. Hierbei wird angenommen, dass das fiktive Umgebungsobjekt durch den Kontakt mit den fiktiven Satelliten nicht bewegt wird. Daher wird bei dem erfindungsgemäßen Verfahren ein reales ortsfestes Umgebungsobjekt verwendet. Da das reale Umgebungsobjekt positionsfest ist, verändert sich die Ist-Kontaktposition xe nicht, so dass für die fiktive Kontaktposition xde mit dem fiktiven Umgebungsobjekt die Ist-Position xe des realen Umgebungsobjekts verwendet werden kann.Such a method is particularly suitable for simulating movement of a satellite upon contact with an object whose dimensions are many times greater than that of the satellite. It is assumed that the fictitious environment object is not moved by the contact with the fictitious satellites. Therefore, in the method according to the invention a real stationary environment object is used. Since the real environment object is fixed in position, the actual contact position x e does not change, so that the actual position x e of the real environment object can be used for the fictitious contact position x de with the fictitious environment object.
Dabei ist vorzugsweise vorgesehen, dass vor dem Schritt a2) ein weiterer Schritt durchgeführt wird:
- a1) Bestimmen der durch Kontakt mit dem realen Umgebungsobjekt auf das Endteil des Roboter einwirkenden Kraft f über mindestens einen am Roboter angeordneten Sensor zur Erfassung von Kräften und/oder Momenten, die auf das Endteil ausgeübt werden,
- a1) determining the force f acting on the end part of the robot by contact with the real environment object via at least one sensor arranged on the robot for detecting forces and / or moments exerted on the end part,
Das erfindungsgemäße Verfahren kann somit vorsehen, dass durch einen am Roboter angeordneten Sensor die Kraft, die auf das Endteil durch Kontakt mit dem realen Umgebungsobjekt ausgeübt wird, erfasst wird und die Ist-Kontaktposition xe mit dem realen Umgebungsobjekt aus der Ist-Position x des Endteils des Roboters und der auf das Endteil des Roboters einwirkenden mittels des Sensors erfassten Kraft bestimmt wird. The method according to the invention can thus provide that the force which is exerted on the end part by contact with the real environment object is detected by a sensor arranged on the robot, and the actual contact position x e with the real environment object is detected from the actual position x of FIG End portion of the robot and the force acting on the end portion of the robot detected by the sensor force is determined.
Vorzugsweise ist vorgesehen, dass in Unterschritt b i) eine fiktive Position xdc eines fiktiven Kontaktpunkts an dem fiktiven Satelliten, an dem der fiktive Satellit mit dem fiktiven Umgebungsobjekt in Kontakt ist, bestimmt wird und in Unterschritt b ii) die fiktive Kraft fd zusätzlich zu oder alternativ zu der fiktiven Position xd mittels der fiktiven Position xdc des fiktiven Kontaktpunkts berechnet wird.It is preferably provided that in sub-step bi) a fictitious position x dc of a fictitious contact point on the fictitious satellite at which the fictitious satellite is in contact with the fictitious environment object is determined and in sub-step b ii) the fictitious force f d in addition to or alternatively to the notional position x d is calculated by means of the notional position x dc of the notional contact point.
Dieser Ausführungsform der Erfindung liegt die Erkenntnis zugrunde, dass bei einem Kontakt zwischen zwei Körpern eine Kraft entsteht, die im einfachsten Fall der Verformung der Körper bzw. deren Oberfläche proportional ist. Bei einem Kontakt zwischen dem fiktiven Satelliten mit einem fiktiven Umgebungsobjekt erfolgt eine Verformung des fiktiven Satelliten und des fiktiven Umgebungsobjektes, so dass die fiktive Position xdc des fiktiven Kontaktpunkts unterschiedlich zu der fiktiven Kontaktposition xde ist. Über die Differenz von xde und xdc lässt sich die fiktive Kraft fd in besonders vorteilhafter Weise berechnen.This embodiment of the invention is based on the finding that, in the event of contact between two bodies, a force is produced which, in the simplest case, is proportional to the deformation of the body or its surface. In a contact between the fictitious satellite with a fictitious environment object, a deformation of the fictitious satellite and the fictitious environment object takes place, so that the fictitious position x dc of the fictitious contact point is different from the fictitious contact position x de . By way of the difference of x de and x dc , the notional force f d can be calculated in a particularly advantageous manner.
Bei der Erfindung kann es vorgesehen sein, dass die Ist-Position x des Endteils des Roboters die Position des Körperschwerpunkts des Endteils ist und/oder dass die fiktive Position xd die fiktive Position des Körperschwerpunkts des fiktiven Satelliten ist.In the invention, it may be provided that the actual position x of the end part of the robot is the position of the body center of gravity of the end part and / or that the notional position x d is the notional position of the center of gravity of the fictitious satellite.
Die Verwendung der Position des Körperschwerpunkts entsprechend für die fiktive Position xd des fiktiven Satelliten bzw. für die Position x des Endteils des Roboters hat den Vorteil, dass dieser Punkt in dem jeweiligen Koordinatensystem des fiktiven Satelliten bzw. des Roboters fest ist, so dass die Simulation bzw. die Steuerung des Roboters auf besonders einfache Art und Weise erfolgen kann.The use of the position of the body center of gravity corresponding to the notional position x d of the fictitious satellite or to the position x of the end part of the robot has the advantage that this point is fixed in the respective coordinate system of the fictitious satellite or the robot, so that the Simulation or the control of the robot can be done in a particularly simple manner.
Beim erfindungsgemäßen Verfahren kann ferner vorgesehen sein, dass in Schritt a) zusätzlich eine Ist-Position xc des Kontaktpunkts an dem Endteil des Roboters, an dem das Endteil des Roboters mit dem realen Umgebungsobjekt in Kontakt ist, bestimmt wird wobei in Schritt a2) zur Bestimmung der Ist-Kontaktposition xe mit dem realen Umgebungsobjekt zusätzlich zu oder alternativ zu der Ist-Position x die Ist-Position xc des Endteils des Roboters verwendet wird.In the method according to the invention, it can further be provided that in step a) additionally an actual position x c of the contact point at the end part of the robot, at which the end part of the robot is in contact with the real environment object, is determined in step a2) Determining the actual contact position x e with the real environment object in addition to or as an alternative to the actual position x the actual position x c of the end part of the robot is used.
Die Kraft f und die fiktive Kraft fd sowie das Moment m, das auf das Endteil des Roboters aufgrund der Kraft f wirkt bzw. das fiktive Moment md, das aufgrund der fiktiven Kraft fd auf den fiktiven Satelliten einwirkt, können anhand der Gleichungen (3)–(6) berechnet werden.
Hierbei bezeichnet K bzw. Kd die Steifigkeitsmatrix des Endteils des Roboters bzw. des fiktiven Satelliten.Here, K or K d denotes the rigidity matrix of the end part of the robot or the fictitious satellite.
Bei einer derartigen Berechnung kann zusätzlich noch eine Dämpfung vorgesehen sein, die dann entsprechend durch das Vorsehen eines zusätzlichen Dämpfungsgleichungsabschnitts in den Gleichungen (3) und (5) berücksichtigt werden kann.In such a calculation, an additional damping can additionally be provided, which can then be taken into account correspondingly by the provision of an additional damping equation section in the equations (3) and (5).
Entsprechend den Gleichungen (1) und (2) kann die fiktive Soll-Bewegung des fiktiven Satelliten mit den Gleichungen (7) und (8) berechnet werden,
Es kann vorzugsweise vorgesehen sein, dass zur Bestimmung der Ist-Position xc des Kontaktpunkts zwischen dem Endteil des Roboters und dem realen Umgebungsobjekt zusätzlich eine Oberflächengleichung des Endteils verwendet wird. Dies hat den Vorteil, dass sofern die Ist-Position xc des Kontaktpunkts des Endteils, an dem der Kontakt mit der realen Umgebung stattfindet, nicht bekannt ist, diese durch die Oberflächengleichung mittels der Kraft f vereinfacht bestimmbar ist. Dies ist insofern von Bedeutung, als das Kreuzprodukt in Gleichung (4) nicht nach xc aufgelöst werden kann und somit xc auch bei Kenntnis von f und m sonst nicht bestimmt werden kann.It can preferably be provided that additionally a surface equation of the end part is used to determine the actual position x c of the contact point between the end part of the robot and the real environment object. This has the advantage that if the actual position x c of the contact point of the end part, at which the contact with the real environment takes place, is not known, this can be determined in a simplified manner by the surface equation by means of the force f. This is important insofar as the cross-product in equation (4) can not be solved for x c and thus x c can not be determined otherwise even if f and m are known.
Für die Herstellung beispielsweise eines kraftschlüssigen Kontaktes zwischen einem Satelliten mit der Umgebung kann beispielsweise ein kegelförmiges Teil des Satelliten vorgesehen sein, das in eine entsprechende Ausnehmung der Umgebung eingeführt werden soll. Bei entsprechender Formung des Endteils des Roboters und des realen Umgebungsobjekts ergibt sich die Gleichung (9) als Oberflächengleichung für einen Kegel mit der Ist-Position x in der Spitze.
Hierbei wird davon ausgegangen, dass die Kraft senkrecht zur Kegelfläche steht.It is assumed that the force is perpendicular to the conical surface.
Grundsätzlich ist es von Vorteil, wenn die Ist-Position x des Endteils, beispielsweise des Körperschwerpunkts des Endteils, und die Ist-Position xc des Kontaktpunkts sowie die entsprechenden fiktiven Positionen des simulierten Satelliten in einem körperfesten Koordinatensystem ausgedrückt werden, da dadurch eine Umrechnung zwischen den entsprechenden Positionen vereinfacht ist, da die Differenz in einem derartigen Koordinatensystem näherungsweise konstant ist. Bei dem Roboter kann beispielsweise das aus den Achspositionen berechnete kartesische Roboterkoordinatensystem verwendet werden, da zu diesem die Positionen x und xc jeweils konstante Relativlagen aufweisen.In principle, it is advantageous if the actual position x of the end part, for example the center of gravity of the end part, and the actual position x c of the contact point and the corresponding fictitious positions of the simulated satellite are expressed in a body-fixed coordinate system, as a result of a conversion between the corresponding positions is simplified because the difference in such a coordinate system is approximately constant. In the case of the robot, for example, the Cartesian robot coordinate system calculated from the axis positions can be used, since for this the positions x and x c each have constant relative positions.
Das erfindungsgemäße Verfahren kann auch vorsehen, dass das reale Umgebungsobjekt ein zweites Endteil eines zweiten Roboters ist, so dass mittels der zwei Roboter die Simulation der Satellitenbewegungen von zwei Satelliten simuliert wird. Somit werden die Bewegungen des fiktiven Satelliten und eines fiktiven zweiten Satelliten bei Kontakt des fiktiven Satelliten mit dem fiktiven zweiten Satelliten simuliert. Der zweite Roboter weist eine Robotersteuerung mit einer Positionsschnittstelle zur Eingabe von einer Soll-Position xdr2 auf. Bei dieser Ausführungsform des erfindungsgemäßen Verfahrens werden folgende einen Regelkreis bildende Schritte durchgeführt:
- aa) Bestimmen der Ist-Position x2 des zweiten Endteils des zweiten Roboters
- bb) Berechnung einer simulierten Satellitenbewegung des fiktiven zweiten Satelliten mit folgenden Unterschritten: i) Bestimmen einer fiktiven Position xd2 des fiktiven zweiten Satelliten, wobei in Unterschritt b i) die fiktive Kontaktposition xde die fiktive Kontaktposition zwischen dem fiktiven und dem zweiten fiktiven Satelliten ist, ii) Berechnen einer zweiten fiktiven Kraft fd2 und eines zweiten fiktiven Moments md2, die auf den zweiten fiktiven Satelliten bei Kontakt mit dem fiktiven Satelliten wirken mittels der fiktiven Position xd2 des fiktiven zweiten Satelliten und der fiktiven Kontaktposition xde, iii) Berechnung der fiktiven Bewegung des fiktiven zweiten Satelliten, die aufgrund der fiktiven Kraft fd2 und des fiktiven Moments md2 hervorgerufen wird, iv) Ermitteln einer neuen fiktiven Position xd2n des fiktiven zweiten Satelliten aus der fiktiven Bewegung cc) Vorgeben der neuen fiktiven Position xd2n als Soll-Position xdr2 für das zweite Endteil des zweiten Roboters, dd) Wiederholen der Schritte aa) bis cc), wobei in Unterschritt bb i) die neue fiktive Position xd2n des vorangegangenen Unterschritts bb iv) als fiktive Position xd2 verwendet wird.
- aa) Determining the actual position x 2 of the second end part of the second robot
- bb) calculating a simulated satellite movement of the fictitious second satellite, comprising the following substeps: i) determining a fictitious position x d2 of the fictitious second satellite, wherein in substep bi) the fictitious contact position x de is the fictitious contact position between the fictitious and the second fictitious satellites, ii) calculating a second notional force f d2 and a second notional moment m d2 acting on the second notional satellite upon contact with the notional satellite by means of the notional position x d2 of the notional second satellite and the notional contact position x de , iii) calculation the fictitious movement of the fictitious second satellite, which is caused by the notional force f d2 and the fictitious moment m d2 , iv) finding a new fictitious position x d2n of the fictitious second satellite from the fictional motion cc) predefining the new fictitious position x d2n as desired position x dr2 for the second end part of the second robo ters, dd) repeating steps aa) to cc), wherein in sub-step bb i) the new notional position x d2n of the previous sub- step bb iv) is used as the notional position x d2 .
Bei dieser Ausführungsform des erfindungsgemäßen Verfahrens ist somit vorgesehen, dass auch die Bewegung des fiktiven zweiten Satelliten simuliert wird und die berechnete fiktive Position des fiktiven zweiten Satelliten als Soll-Position für das zweite Endteil des zweiten Roboters vorgegeben wird. Die Ist-Position x2 des zweiten Endteils des zweiten Roboters kann beispielsweise vergleichbar wie bei dem ersten Roboter über eine Positionsschnittstelle der Robotersteuerung oder einen externen Sensor bestimmt werden. Die Ist-Position x2 des zweiten Endteils des zweiten Roboters wird insbesondere dazu verwendet, um eine Differenz zu der Soll-Position xdr2 zu bilden, um anhand dieser Differenz den Roboter zu steuern. Für Roboter, die eine derartigen Differenzbildung nicht benötigen, ist die Bestimmung der Ist-Position x2 des zweiten Endteils des zweiten Roboters in Schritt aa) nicht unbedingt notwendig, so dass auch erfindungsgemäße Verfahren ohne diesen Schritt möglich und Teil der Erfindung sind.In this embodiment of the inventive method is thus provided that the movement of the fictitious second satellite is simulated and the calculated fictitious position of the fictitious second satellite is set as a target position for the second end portion of the second robot. The actual position x 2 of the second end part of the second robot can be determined, for example, comparable to the first robot via a position interface of the robot controller or an external sensor. The actual position x 2 of the second end portion of the second robot is used, in particular, to form a difference from the desired position x dr2 in order to control the robot based on this difference. For robots that do not need such a difference, the determination of the actual position x 2 of the second end part of the second robot in step aa) is not absolutely necessary, so that inventive method without this step are possible and part of the invention.
Die Schritte aa)–dd) werden vorzugsweise parallel zu den Verfahrensschritten a)–d) durchgeführt.The steps aa) -dd) are preferably carried out in parallel to the method steps a) -d).
Bei dem erfindungsgemäßen Verfahren, bei dem zwei Roboter gesteuert werden, kann vorgesehen sein, dass in Schritt bb) nach Unterschritt bb iii) folgende Unterschritte durchgeführt werden:
- b iii1) Ermitteln einer neuen fiktiven Zwischenposition xdntemp2 des fiktiven zweiten Satelliten aus der fiktiven Bewegung und
- b iii2) z-faches Wiederholen der Unterschritte bb i) bis bb iii1), wobei z eine vorgegebene ganze Zahl ist und in Unterschritt bb i) die neue fiktive Zwischenposition xdntemp2 des vorangegangenen Unterschritts bb iii1) als fiktive Position xd2 verwendet wird,
- b iii1) determining a new fictitious intermediate position x dntemp2 of the fictional second satellite from the fictitious motion and
- b iii2) z-times repeating sub-steps bb i) to bb iii1), where z is a predetermined integer and in sub-step bb i) the new notional intermediate position x dntemp2 of the previous sub-step bb iii1) is used as the fictitious position x d2 ,
Bei dieser Ausführungsform des erfindungsgemäßen Verfahrens kann somit auch bei der Steuerung des zweiten Endteils des zweiten Roboters vorgesehen sein, dass bei der Berechnung der Soll-Bewegung des fiktiven zweiten Satelliten mehrere Zwischenpositionen des fiktiven zweiten Satelliten berechnet werden, die nicht zur Vorgabe als Soll-Position xdr2 dienen. Erst nach einer vorgegebenen Anzahl von Durchläufen der Berechnung der Bewegung des fiktiven zweiten Satelliten wird eine neue fiktive Position xd2n des fiktiven zweiten Satelliten als Soll-Position xdr2 für das zweite Endteil des zweiten Roboters vorgegeben. Die Anzahl z der Wiederholungen bei der Berechnung der Bewegung des fiktiven zweiten Satelliten kann gleich der Anzahl n der Wiederholungen bei der Berechnung der Bewegung des fiktiven Satelliten sein.In this embodiment of the method according to the invention can thus also be provided in the control of the second end portion of the second robot that are calculated in the calculation of the target movement of the fictitious second satellite a plurality of intermediate positions of the fictitious second satellite, which is not for specification as a target position serve x dr2 . Only after a predetermined number of passes of the calculation of the movement of the fictitious second satellite, a new fictitious position x d2n of the fictitious second satellite is set as the desired position x dr2 for the second end portion of the second robot. The number z of repetitions in the calculation of the movement of the fictitious second satellite may be equal to the number n of repetitions in the calculation of the movement of the fictitious satellite.
Bei der Steuerung des zweiten Endteils des zweiten Roboters hat dieses Verfahren ebenfalls den Vorteil, dass die Frequenz der Abtastschritte bei der Berechnung der Bewegung des fiktiven Satelliten und der Steuerung des zweiten Roboters gleich sein kann und dennoch es nicht zu Schwierigkeiten aufgrund von Nachlauf oder Verzögerung des zweiten Roboters kommen kann.In the control of the second end part of the second robot, this method also has the advantage that the frequency of the scanning steps in the calculation of the movement of the fictitious satellite and the control of the second robot may be the same and yet not cause difficulties due to castering or deceleration of the second robot second robot can come.
Das erfindungsgemäße Verfahren sieht in vorteilhafter Weise vor, dass vor dem Schritt bb) folgender Schritt durchgeführt wird:
- aa1) Bestimmen der durch Kontakt mit dem zweiten Endteil des zweiten Roboters auf das Endteil des Roboter einwirkenden Kraft f und/oder der durch Kontakt mit dem Endteil des Roboters auf das zweite Endteil des zweiten Roboter einwirkenden Kraft f2 über mindestens einen am Roboter und/oder am zweiten Roboter angeordneten Sensor zur Erfassung von Kräften und/oder Momenten.
- aa1) determining the force f acting on the end part of the robot by contact with the second end part of the second robot and / or the force f 2 acting on the second end part of the second robot by contact with the end part of the robot via at least one of the robot and / or on the second robot arranged sensor for detecting forces and / or moments.
Das erfindungsgemäße Verfahren sieht somit vor, dass an dem Endteil des Roboters und/oder am zweiten Endteils des zweiten Roboters die jeweils auf den jeweiligen Roboter einwirkende Kraft f bzw. f2 durch Kontakt mit dem jeweils anderen Endteil des anderen Roboters über entsprechende Sensoren zur Erfassung von Kräften und/oder Momenten erfasst werden.The method according to the invention thus provides that at the end part of the robot and / or at the second end part of the second robot, the respective force f or f 2 acting on the respective robot is detected by contact with the respective other end part of the other robot via corresponding sensors be detected by forces and / or moments.
Da die Kontaktposition xe zwischen dem Endteil und dem zweiten Endteil von der jeweiligen Ist-Position x bzw. x2 des Endteils bzw. zweiten Endteils abhängig ist, kann durch die Bestimmung der Kräfte f und f2 die Ist-Kontaktposition xe in vorteilhafter Weise errechnet werden.Since the contact position x e between the end part and the second end part of the respective actual position x and x 2 of the end part and the second end part is dependent, by determining the forces f and f 2, the actual contact position x e in an advantageous Be calculated way.
Dabei kann vorgesehen sein, dass vor dem Unterschritt bb i) folgender Schritt durchgeführt wird:
- aa2) Bestimmen der Ist-Position xc des Kontaktpunktes an dem Endteil des Roboters und der Ist-Position xc2 des Kontaktpunktes an dem zweiten Endteil des zweiten Roboters,
- aa2) determining the actual position x c of the contact point at the end part of the robot and the actual position x c2 of the contact point at the second end part of the second robot,
Durch die Ist-Position xc des Kontaktpunkts an dem Endteil des Roboters und der Ist-Position xc2 des Kontaktpunkts an dem zweiten Endteil des zweiten Roboters lässt sich die Ist-Kontaktposition xe zwischen dem Endteil des Roboters und dem zweiten Endteil des zweiten Roboters in vorteilhafter Weise bestimmen.By the actual position x c of the contact point at the end part of the robot and the actual position x c2 of the contact point at the second end part of the second robot, the actual contact position x e between the end part of the robot and the second end part of the second robot determine in an advantageous manner.
Vorzugsweise ist vorgesehen, dass eine fiktive Position xdc des fiktiven Kontaktpunktes an dem fiktiven Satelliten und eine fiktive Position xdc2 des fiktiven Kontaktpunktes an dem fiktiven zweiten Satelliten bestimmt werden, wobei in Unterschritten b ii) und bb ii) die Position xdc und die Position xdc2 als Position xd und Position xd2 verwendet werden. Dabei kann angenommen werden, dass die fiktiven Kontaktpunkte xdc und xdc2 im jeweiligen körperfesten Koordinatensystem von den jeweiligen Bezugspunkten xd und xd2 den gleichen Abstand haben wie die Ist-Kontaktpunkte xc und xc2 im jeweiligen kartesischen Roboterkoordinatensystem von den Bezugspunkten x und x2. Dies kann zur Bestimmung der fiktiven Kontaktpunkte xdc und xdc2 genutzt werden.Preferably, it is provided that a fictitious position x dc of the fictitious contact point on the fictitious satellite and a fictitious position x dc2 of the fictitious contact point on the fictitious second satellite are determined, wherein in sub- steps b ii) and bb ii) the position x dc and the Position x dc2 can be used as position x d and position x d2 . It can be assumed that the fictitious contact points x dc and x dc2 in the respective body-fixed coordinate system of the respective reference points x d and x d2 have the same distance as the actual contact points x c and x c2 in the respective Cartesian robot coordinate system of the reference points x and x 2 . This can be used to determine the fictitious contact points x dc and x dc2 .
Es kann somit vorgesehen werden, dass in Unterschritt b i) die fiktive Kontaktposition xde zwischen dem fiktiven Satelliten und dem zweiten fiktiven Satelliten mittels der Kraft f und/oder der Kraft f2, der Ist-Position xc und der Ist-Position xc2 sowie der fiktive Position xdc des fiktiven Kontaktpunktes an dem fiktiven Satelliten und der fiktiven Position xdc2 des fiktiven Kontaktpunktes an dem zweiten fiktiven Satelliten bestimmt wird.It can thus be provided that in sub-step bi) the fictitious contact position x de between the fictitious satellite and the second fictitious satellite by means of the force f and / or the force f 2 , the actual position x c and the actual position x c2 and the fictitious position x dc of the fictitious contact point on the fictitious satellite and the fictitious position x dc2 of the fictitious contact point on the second fictitious satellite are determined.
Die Ist-Kontaktposition xe zwischen dem Endteil und dem zweiten Endteil der Roboter ist abhängig von den Positionen der Endteile der Roboter. Entsprechendes gilt für die fiktive Kontaktposition xde der beiden fiktiven Satelliten. xde kann daher in vorteilhafter Weise über die fiktiven Ist-Positionen xdc und xdc2 berechnet werden, oder in besonders vorteilhafter Weise unter zusätzlicher Verwendung der Kraft f und der Ist-Positionen xc und xc2.The actual contact position x e between the end part and the second end part of the robot is dependent on the positions of the end parts of the robots. The same applies to the fictitious contact position x de of the two fictional satellites. x de can therefore be calculated in an advantageous manner via the notional actual positions x dc and x dc2 , or in a particularly advantageous manner with additional use of the force f and the actual positions x c and x c2 .
Zunächst gelten für die Endteile des Roboters die Gleichungen (10) und (11), wobei angenommen wird, dass die Kraft f2 am zweiten Endteil des zweiten Roboters im Wesentlichen der Kraft f am Endteil des Roboters lediglich mit umgekehrten Vorzeichen entspricht.
Für die fiktive Kraft fd und die fiktive zweite Kraft fd2 gelten die Gleichungen (12) und (13).
xc, xc2 und f sind messbar. K, K2, Kd und Kd2, die die Steifigkeitsmatrizen sind, werden als bekannt angenommen. xdc und xdc2 werden berechnet.x c , x c2 and f are measurable. K, K 2 , K d and K d2 , which are the stiffness matrices, are assumed to be known. x dc and x dc2 are calculated.
Unter Verwendung der Gleichungen (12) und (13) ergibt sich für die fiktive Kontaktposition xde zwischen den fiktiven Satelliten die Gleichung (14).
Ein Kontakt und somit auch eine Kontaktkraft besteht sofern sich die beiden in Kontakt stehenden Körper, dass heißt das Endteil des Roboters und das zweite Endteil des zweiten Roboters bzw. der fiktive und der fiktive zweite Satellit, durchdringen.A contact and thus also a contact force exists if the two bodies in contact, that is, the end part of the robot and the second end part of the second robot or the fictitious and the fictional second satellite, penetrate.
Die Koordinatensysteme des Roboters und des zweiten Roboters sind nicht genau zueinander kalibriert, so dass die zwischen den Robotern gemessene Kraft verwendet wird, um einen Bezug zwischen den Koordinatensystemen zu schaffen. Aus der Gleichung (11) und der Gleichung (14), wobei xe durch die Gleichung (10) ersetzt wird, ergibt sich die Gleichung (15), die eine skalare Rechnung ist, so dass statt der Steifigkeitsmatrizen K die skalaren Größen k verwendet werden, da sich die Elemente der Steifigkeitsmatrizen nur in Kraftrichtung bestimmen lassen.
Die Gleichung (15) beschreibt dabei (xde – xc) durch die gemessene Kraft und Positionsdifferenzen (xdc2 – xc2) bzw. (xdc – xc) die jeweils nur einen der Roboter betreffen und eine Differenz zwischen Soll- und Ist-Position beschreiben.The equation (15) describes (x de - x c ) by the measured force and position differences (x dc2 - x c2 ) and (x dc - x c ) which affect only one of the robot and a difference between the desired and Describe actual position.
Für den Roboter werden die Gleichungen (15), (12) sowie (6) bis (8) verwendet.For the robot, equations (15), (12) and (6) to (8) are used.
Für den zweiten Roboter werden die Gleichungen (16), (13) und (6) bis (8) verwendet, wobei dasselbe Koordinatensystem gilt, nämlich das des Roboters
Wie zuvor erwähnt ist die Kraft f2 an dem zweiten Roboter gleich der Kraft an dem Roboter jedoch mit umgekehrten Vorzeichen. Die Momente im Schwerpunkt unterscheiden sich jedoch je nach Kontaktpunkt xc bzw. xc2. As previously mentioned, however, the force f 2 on the second robot is equal to the force on the robot but of opposite sign. However, the moments in the center of gravity differ depending on the contact point x c or x c2 .
Grundsätzlich kann bei der Bestimmung der Ist-Position xc des Kontaktpunktes an dem Endteil des Roboters und der Ist-Position xc2 des Kontaktpunktes an dem zweiten Endteil des zweiten Roboters auch eine Oberflächengleichung des entsprechenden Endteils verwendet werden, beispielsweise eine mit der Gleichung (9) vergleichbare Gleichung.In principle, when determining the actual position x c of the contact point at the end part of the robot and the actual position x c2 of the contact point at the second end part of the second robot, a surface equation of the corresponding end part can also be used, for example one with the equation (9 ) comparable equation.
Bei dem erfindungsgemäßen Verfahren kann der Roboter und/oder der zweite Roboter ein Industrieroboter sein.In the method according to the invention, the robot and / or the second robot may be an industrial robot.
Im Folgenden wird unter Bezugnahme auf die nachfolgenden Figuren eine vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens erläutert.In the following, an advantageous embodiment of the method according to the invention will be explained with reference to the following figures.
Es zeigenShow it
In
Das Robotersystem
An dem Roboter
Das Robotersystem weist ferner eine Robotersteuerung für den Roboter
Der Roboter
Mittels des erfindungsgemäßen Verfahrens zur Regelung des Robotersystems
Auf das Endteil
In
Das erfindungsgemäße Verfahren zur Regelung des Robotersystems beruht darauf, dass parallel zu der Steuerung des Robotersystems eine Bewegung des fiktiven Satelliten bei Kontakt mit einem fiktiven Umgebungsobjekt simuliert wird, so dass eine fiktive Position xd des fiktiven Satelliten bestimmt wird, die dann dem Roboter
Hierzu werden folgende einen Regelkreis bildende Schritte durchgeführt:
- a) Bestimmen der Ist-Position x des Endteils des Roboters über das Auslesen der Positionsschnittstelle der Robotersteuerung,
- a1) Bestimmen der durch den Kontakt mit
dem realen Umgebungsobjekt 7 auf das Endteil 5 desRoboters 3 einwirkenden Kraft füber den Sensor 9 , wobei ferner eine Ist-Position xc des Kontaktpunkts andem Endteil 5 desRoboters 3 , andem das Endteil 5 desRoboters 3 mitdem realen Umgebungsobjekt 7 in Kontakt ist, bestimmt wird, - a2) Bestimmen der Ist-Kontaktposition xe mit
dem realen Umgebungsobjekt 7 aus der Ist-Position x desEndteils 5 desRoboters 3 , der Ist-Position xc des Kontaktpunkts andem Endteil 5 desRoboters 3 sowie der aufdas Endteil 5 desRoboters 3 einwirkenden Kraft f. In diesem Schritt kann beispielsweise die zuvor aufgezeigten Gleichungen (3) und (4) verwendet werden.
- a) Determining the actual position x of the end part of the robot by reading the position interface of the robot controller,
- a1) determining the by contact with the
real environment object 7 on theend part 5 of therobot 3 acting force f over thesensor 9 , further comprising an actual position x c of the contact point at theend part 5 of therobot 3 at which theend part 5 of therobot 3 with thereal environment object 7 is in contact, it is determined - a2) determining the actual contact position x e with the
real environment object 7 from the actual position x of theend part 5 of therobot 3 , the actual position x c of the contact point at theend part 5 of therobot 3 as well as on theend part 5 of therobot 3 acting force f. In this step, for example, the above-mentioned equations (3) and (4) can be used.
Bei der Bestimmung der Ist-Position xc des Kontaktpunkts zwischen dem Endteil
Anschließend wird der Verfahrensschritt b) durchgeführt:
- b) Berechnung einer simulierten Satellitenbewegung des fiktiven Satelliten mit folgenden Unterschritte:
- i) Bestimmen einer fiktiven Position xd des fiktiven Satelliten und einer fiktiven Kontaktposition xde mit dem fiktiven Umgebungsobjekt, wobei für die fiktive Kontaktposition xde mit dem fiktiven Umgebungsobjekt die Ist-Position xe des realen Umgebungsobjekt
7 verwendet wird. Ferner wird eine fiktive Position xdc eines fiktiven Kontaktpunkts an dem fiktiven Satelliten, an dem der fiktive Satellit mit dem fiktiven Umgebungsobjekt in Kontakt ist, bestimmt.
- b) Calculation of a simulated satellite movement of the fictitious satellite with the following substeps:
- i) determining a fictitious position x d of the fictitious satellite and a fictitious contact position x de with the fictitious environment object, wherein for the fictitious contact position x de with the fictitious environment object, the actual position x e of the
real environment object 7 is used. Further, a notional position x dc of a fictitious contact point on the fictitious satellite at which the fictitious satellite is in contact with the fictitious environment object is determined.
Im nächsten Unterschritt ii) wird eine fiktive Kraft fd und ein fiktives Moment md, die auf den fiktiven Satelliten bei Kontakt mit dem fiktiven Umgebungsobjekt wirken, mittels der fiktiven Kontaktposition xde mit dem fiktiven Umgebungsobjekt und der fiktiven Position xdc des fiktiven Kontaktpunkts berechnet. Hierzu dienen die Gleichungen (5) und (6). Anschließend wird im Unterschritt iii) mittels der Gleichungen (7) und (8) die fiktive Bewegung des fiktiven Satelliten, die aufgrund der fiktiven Kraft fd und des fiktiven Moments md hervorgerufen wird, berechnet.In the next sub-step ii), a fictitious force f d and a fictitious moment m d acting on the fictional satellite upon contact with the fictitious environment object, by means of the fictitious contact position x de with the fictitious environment object and the notional position x dc of the fictitious contact point calculated. The equations (5) and (6) serve this purpose. Subsequently, in sub-step iii) the equations (7) and (8) are used to calculate the fictitious movement of the fictitious satellite, which is caused by the notional force f d and the fictitious moment m d .
Nun können die Schritte b i)–b iii) wiederholt werden. Hierzu ist zunächst Schritt b iii1) vorgesehen, in dem eine fiktive Zwischenposition xdntemp des fiktiven Satelliten aus der fiktiven Bewegung ermittelt wird. Anschließend werden in Schritt b iii2) die Unterschritte b i)–b iii1) n-fach wiederholt und in Unterschritt b i) die neue fiktive Zwischenposition xdntemp des vorangegangen Unterschritts b iii1) als fiktive Position xd verwendet, wobei n eine ganze Zahl ist. Nach dem n-fachen Wiederholen werden anschließend die Unterschritte b i)–b iii) ohne die Unterschritte b iii1) und b iii2) durchgeführt und anschließend in Unterschritt b iv) eine neue fiktive Position xdn des fiktiven Satelliten aus der zuletzt bestimmten Bewegung ermittelt.Now steps bi) -b iii) can be repeated. For this purpose, step b iii1) is first provided, in which a fictitious intermediate position x dntemp of the fictional satellite is determined from the fictitious movement. Subsequently, in step b iii2), sub-steps bi) -b iii1) are repeated n times and in sub-step bi) the new notional intermediate position x dntemp of the preceding sub-step b iii) is used as the notional position x d , where n is an integer. After repeating n times, sub-steps bi) -b iii) are then carried out without sub-steps b iii1) and b iii2), and subsequently a new fictitious position x dn of the fictitious satellite from the last determined movement is determined in sub-step b iv).
In Schritt c) wird die neue fiktive Position xdn als Soll-Position xdr für das Endteil
Anschließend werden die Schritte a) bis c) in Schritt d) wiederholt, wobei in Unterschritt b i) die neue fiktive Position xdn des vorangegangenen Unterschritts b iv) als fiktive Position xd wird.Subsequently, steps a) to c) are repeated in step d), wherein in substep bi) the new notional position x dn of the previous substep b iv) becomes a notional position x d .
Das erfindungsgemäße Verfahren hat sich als sehr genau herausgestellt, wobei stets die Stabilität der Robotersteuerung des Robotersystems gewährleistet ist.The inventive method has been found to be very accurate, always ensuring the stability of the robot control of the robot system.
Das reale Umgebungsobjekt
Zur Steuerung des zweiten Roboters sieht das erfindungsgemäße Verfahren die folgenden einen Regelkreis bildenden Schritte vor:
- aa) Bestimmen der Ist-Position x2 des zweiten Endteils des zweiten Roboters durch Auslesen der Positionsschnittstelle des zweiten Roboters
- aa1) Bestimmen der durch den Kontakt mit dem zweiten Endteil
11 des zweiten Roboters aufdas Endteil 5 desRoboters 3 einwirkenden Kraft f und/oder der durch den Kontaktmit dem Endteil 5 desRoboters 3 auf das zweite Endteil11 des zweiten Roboters einwirkenden Kraft f2 über den andem Roboter 3 angeordneten Sensor 9 oder einen an dem zweiten Roboter angeordneten Sensor zur Erfassung von Kräften und/oder Momenten. - aa2) Bestimmen der Ist-Position xc des Kontaktpunkts an
dem Endteil 5 desRoboters 3 und der Ist-Position xc2 des Kontaktpunkts andem zweiten Endteil 11 des zweiten Roboters. Bei einem Kontakt desEndteils 5 und des zweiten Endteils11 durchdringen sich diebeiden Endteile 5 ,11 . Die Lage der Kontaktposition xe und der Ist-Position xc des Kontaktpunkts andem Endteil 5 desRoboters 3 und der Ist-Position xc2 des Kontaktpunkts andem zweiten Endteil 11 des zweiten Roboters ist in3 schematisch dargestellt.
- aa) Determining the actual position x 2 of the second end portion of the second robot by reading the position interface of the second robot
- aa1) determining the by the contact with the
second end part 11 of the second robot on theend part 5 of therobot 3 acting force f and / or by the contact with theend part 5 of therobot 3 on thesecond end part 11 of the second robot acting force f 2 over the on therobot 3 arrangedsensor 9 or a sensor arranged on the second robot for detecting forces and / or moments. - aa2) determining the actual position x c of the contact point at the
end part 5 of therobot 3 and the actual position x c2 of the contact point at thesecond end part 11 of the second robot. At a contact of theend part 5 and thesecond end part 11 penetrate the twoend parts 5 .11 , The position of the contact position x e and the actual position x c of the contact point at theend part 5 of therobot 3 and the actual position x c2 of the contact point at thesecond end part 11 of the second robot is in3 shown schematically.
Anschließend wird in Schritt bb) eine simulierte Satellitenbewegung des fiktiven zweiten Satelliten mit folgenden Unterschritten berechnet:
- i) Bestimmen der fiktiven Position xd2 des fiktiven zweiten Satelliten, wobei in Unterschritt b i) die fiktive Kontaktposition xde die fiktive Kontaktposition zwischen dem ersten und zweiten fiktiven Satelliten ist und mittels der Kraft f und/oder der Kraft f2, der Ist-Position xc und der Ist-Position xc2 bestimmt wird. Hierzu dienen die Gleichungen (15) und (16). Hierfür ist es noch notwendig, eine fiktive Position xdc des fiktiven Kontaktpunkts an dem fiktiven Satelliten und eine fiktive Position xdc2 des fiktiven Kontaktpunkts an den fiktiven zweiten Satelliten zu bestimmen. Dabei kann angenommen werden, dass die fiktiven Kontaktpunkte xdc und xdc2 im jeweiligen körperfesten Koordinatensystem von den jeweiligen Bezugspunkten xd und xd2 den gleichen Abstand haben wie die Ist-Kontaktpunkte xc und xc2 im jeweiligen kartesischen Roboterkoordinatensystem von den Bezugspunkten x und x2. Dies kann zur Bestimmung der fiktiven Kontaktpunkte xdc und xd2c genutzt werden.
- i) determining the notional position x d2 of the fictitious second satellite, wherein in substep bi) the notional contact position x de is the notional contact position between the first and second fictitious satellites and by means of the force f and / or the force f 2 , the actual Position x c and the actual position x c2 is determined. The equations (15) and (16) serve this purpose. For this, it is still necessary to determine a fictitious position x dc of the fictitious contact point on the fictitious satellite and a fictitious position x dc2 of the fictitious contact point on the fictitious second satellite. It can be assumed that the fictitious contact points x dc and x dc2 in the respective body-fixed coordinate system of the respective reference points x d and x d2 have the same distance as the actual contact points x c and x c2 in the respective Cartesian robot coordinate system of the reference points x and x 2 . This can be used to determine the fictitious contact points x dc and x d2c .
In Schritt ii) wird eine zweite fiktive Kraft fd2 und ein zweites fiktives Moment md2 berechnet, die auf den zweiten fiktiven Satelliten beim Kontakt mit dem fiktiven Satelliten wirken. Entsprechend der Gleichung (13) wird hierzu die fiktive Position xdc2 des fiktiven Kontaktpunkts an dem fiktiven zweiten Satelliten verwendet. Entsprechend wird in Schritt b i) die fiktive Position xdc des fiktiven Kontaktpunkts an dem fiktiven Satelliten gemäß Gleichung (12) für die Berechnung der fiktiven Kraft fd verwendet.In step ii), a second fictitious force f d2 and a second fictitious moment m d2 are calculated which act on the second fictitious satellite upon contact with the fictitious satellite. According to the equation (13), the fictitious position x dc2 of the notional contact point on the fictitious second satellite is used for this purpose. Accordingly, in step bi) the notional position x dc of the notional contact point on the notional satellite is used according to equation (12) for the calculation of the notional force f d .
In Schritt iii) wird die fiktive Bewegung des fiktiven zweiten Satelliten, die aufgrund der fiktiven Kraft fd2 und des fiktiven Moments md2 hervorgerufen wird, berechnet. Anhand der fiktiven Bewegung des fiktiven zweiten Satelliten wird eine neue fiktive Zwischenposition xdntemp2 in Schritt bb iii1) ermittelt.In step iii), the notional motion of the fictitious second satellite, which is caused by the notional force f d2 and the notional moment m d2 , is calculated. Based on the fictitious movement of the fictitious second satellite, a new fictitious intermediate position x dntemp2 is determined in step bb iii1).
In Schritt bb iii2) werden die Unterschritte bb i)–bb iii1) z-fach wiederholt, wobei in Unterschritt bb i) die neue fiktive Zwischenposition xdntemp2 des vorangegangenen Unterschritts bb iii1) als fiktive Position xd2 verwendet wird. Die Zahl z ist hierbei eine ganz Zahl und entspricht vorzugsweise n des Schritts b iii2). Nach dem m-fachen Wiederholen werden die Unterschritte bb i)– bb iii) nochmals durchgeführt und anschließend ein Verfahrensschritt bb iv) durchgeführt, in dem eine neue fiktive Position xd2n des fiktiven zweiten Satelliten aus der fiktiven Bewegung ermittelt wird.In step bb iii2), the sub-steps bb i) -bb iii1) are repeated z-fold, wherein in sub-step bb i) the new notional intermediate position x dntemp2 of the previous sub-step bb iii1) is used as the fictitious position x d2 . The number z here is a whole number and preferably corresponds to n of step b iii2). After repeating m times, sub-steps bb i) -bb iii) are carried out again and then a method step bb iv) is carried out, in which a new notional position x d2n of the fictitious second satellite is determined from the fictitious movement.
In Schritt cc) wird die neue fiktive Position xd2n als Soll-Position xdr2 für das zweite Endteil
Anschließend werden in Schritt dd) die Schritte aa)–cc) wiederholt, wobei in Unterschritt bb i) die neue fiktive Position xd2n des vorangegangenen Unterschritts bb iv) als fiktive Position xd2 verwendet wird.Subsequently, steps aa) -cc) are repeated in step dd), wherein in sub-step bb i) the new notional position x d2n of the previous substep bb iv) is used as the fictitious position x d2 .
Die entsprechenden Rechnungen der Bewegungsgleichungen sind nur möglich, wenn zum Zeitpunkt eines Kontakts der beiden Satelliten auch ein Kontakt der beiden Roboter besteht. Daher erfolgt aufgrund der Gleichungen grundsätzlich eine Prädiktion der Kraft, der Momente und der Position der beiden Satelliten über die mittlere Verzögerungszeit der geregelten Roboter und es werden die Achspositionen an die Robotersteuerung übergeben, die die Lage des Satelliten am Ende der Prädiktion beschreiben. Dadurch ergibt sich, dass der Schleppfehler des Roboters möglichst klein gehalten wird. Daher werden stets die prädizierten fiktiven Positionen an die Robotersteuerungen übergeben.The corresponding calculations of the equations of motion are only possible if at the time of contact of the two satellites there is also a contact between the two robots. Therefore, based on the equations, a prediction of the force, moments and position of the two satellites is generally made over the average delay time of the controlled robots and the axis positions are passed to the robot controller describing the position of the satellite at the end of the prediction. This results in that the following error of the robot is kept as small as possible. Therefore, the predicted fictitious positions are always passed to the robot controls.
Zusätzlich kann bei der ersten Messung einer realen Kontaktkraft zurückgerechnet werden, ob in einem der letzten Abtastschritte eine Kontaktkraft zwischen den beiden Endteilen aufgetreten wäre. In diesem Fall wird die Prädiktion ab diesem Zeitpunkt begonnen, um rückwirkend eine korrekte Trajektorie für die fiktiven Bewegungen der Satelliten zu bestimmen.In addition, it can be calculated back in the first measurement of a real contact force, whether in one of the last sampling steps, a contact force between the two end parts would have occurred. In this case, the prediction is started from that point in time to retroactively determine a correct trajectory for the fictional movements of the satellites.
Das erfindungsgemäße Verfahren hat den Vorteil, dass bei einem Kontakt zwischen zwei gleich schweren Satelliten mittels eines direkten und zentralen Stoßes zwischen einem bewegten und einem stillstehenden Satelliten der Impuls vom einen auf den anderen Satelliten übertragen wird. Bei herkömmlichen Steuerungen wird aufgrund der Verzögerung der Bewegung des Roboters eine größere und länger anhaltende Kraft auftreten, die dann durch die Gleichung (1) eine höhere Geschwindigkeit nach dem Stoß hervorrufen würde. Dies würde zu einer Instabilität des Systems führen. Das erfindungsgemäße Verfahren verhindert dies, so dass mittels des erfindungsgemäßen Verfahrens gesteuerten Roboter eine Steuerung der Roboter erfolgen kann, die dem realen Verhalten der Satelliten bei Kontakt sehr nahe kommt.The method according to the invention has the advantage that in the event of contact between two satellites of the same weight, the pulse is transmitted from one satellite to the other by means of a direct and central impact between a moving satellite and a stationary satellite. In conventional controls, due to the deceleration of the robot's motion, a larger and longer lasting force will occur, which would then cause a higher velocity after impact by equation (1). This would lead to instability of the system. The method according to the invention prevents this, so that robots controlled by the method according to the invention can be used to control the robots, which comes very close to the real behavior of the satellites on contact.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016214161.9A DE102016214161B3 (en) | 2016-08-01 | 2016-08-01 | Method for controlling robot systems for simulating satellite movements by means of at least one robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016214161.9A DE102016214161B3 (en) | 2016-08-01 | 2016-08-01 | Method for controlling robot systems for simulating satellite movements by means of at least one robot |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016214161B3 true DE102016214161B3 (en) | 2017-08-24 |
Family
ID=59522703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016214161.9A Active DE102016214161B3 (en) | 2016-08-01 | 2016-08-01 | Method for controlling robot systems for simulating satellite movements by means of at least one robot |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016214161B3 (en) |
-
2016
- 2016-08-01 DE DE102016214161.9A patent/DE102016214161B3/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3285975B1 (en) | Controlling and/or regulating motors of a robot | |
EP0046151B1 (en) | Attitude control device for elastic vehicles | |
EP3605256B1 (en) | System and method for monitoring the condition of an unmanned aerial vehicle | |
DE102009002392A1 (en) | System and method for determining local accelerations, dynamic load distributions and aerodynamic data in an aircraft | |
EP3023205B1 (en) | Method for determining a movement limit | |
DE4129630A1 (en) | MEASURING ARRANGEMENT AND CONTROL SYSTEM FOR THE POSITION CONTROL OF A THREE-AXIS-STABILIZED SATELLITE AND RELATED MEASURING AND CONTROL PROCEDURES | |
EP3725472A1 (en) | Method for determining a trajectory of a robot | |
DE102012208905A1 (en) | Control device of a mobile object and ground surface estimating device | |
EP0856784A2 (en) | Method and device for the on-board determination of a satellite s position | |
EP1980374A2 (en) | Robot control, industrial robot and method for obtaining an absolutely precise model | |
EP2607877A2 (en) | Determination of centre of gravity | |
EP1094002A2 (en) | Satellite control system and method | |
DE112018006219T5 (en) | Use of an assist motor of a power steering system to generate test cycles according to a force detection cycle | |
EP3298377B1 (en) | Test pendulum arrangement and method for operating a test pendulum arrangement | |
DE102019134666B4 (en) | Calibrating a virtual force sensor of a robotic manipulator | |
EP3139221A1 (en) | Autonomous l1-adaptive controller with exact pole placement | |
DE102016214161B3 (en) | Method for controlling robot systems for simulating satellite movements by means of at least one robot | |
DE19645556A1 (en) | Steering signal generating device for target tracking of e.g. military missile | |
DE102012009882A1 (en) | Method for controlling active landing gears of motor car, involves computing optimum control of actuator of active landing gears by removal of linear-quadratic optimization problems in order to influence predetermined property | |
DE102012101705B4 (en) | Gravity determination | |
DE1293040B (en) | Method and system for remote control of a missile rotating about its longitudinal axis | |
EP0999484B1 (en) | Trimming method for aligning a simulation system with a controlled reference system | |
EP4061585B1 (en) | Calibration of an impedance control of a robot manipulator | |
EP4061586B1 (en) | Force measurement and force generation in redundant robot manipulators | |
EP2838700B1 (en) | Movement system state |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |