EP3946827A1 - Ermitteln eines parameters auf einen roboter wirkenden kraft - Google Patents

Ermitteln eines parameters auf einen roboter wirkenden kraft

Info

Publication number
EP3946827A1
EP3946827A1 EP20711903.3A EP20711903A EP3946827A1 EP 3946827 A1 EP3946827 A1 EP 3946827A1 EP 20711903 A EP20711903 A EP 20711903A EP 3946827 A1 EP3946827 A1 EP 3946827A1
Authority
EP
European Patent Office
Prior art keywords
robot
determined
joint
parameter
basis
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.)
Withdrawn
Application number
EP20711903.3A
Other languages
English (en)
French (fr)
Inventor
Ewald LUTSCHER
Dietmar Tscharnuter
Osama Shahin
Zoubir Benali
Karolin FRICK
Florian LOCHNER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Publication of EP3946827A1 publication Critical patent/EP3946827A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37621Inertia, mass of rotating, moving tool, workpiece, element
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39055Correction of end effector attachment, calculated from model and real position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39189Compensate for dead weight of tool as function of inclination tool
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39319Force control, force as reference, active compliance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39321Force control as function of position of tool

Definitions

  • the present invention relates to a method for determining a parameter of a force acting on a robot, in particular for operating the robot on the basis of the determined parameter, as well as a system or computer program product for carrying out the method.
  • the operation of the robots can be improved, the robots in particular can be precisely (r) controlled and / or (sensitively) interact with their environment.
  • a more precise robot model can be used in a model-based control, and the control or the operation of the robot can be improved as a result.
  • One object of an embodiment of the present invention is to improve the determination of a parameter of a force acting on a robot, in particular an operation of the robot. This object is achieved by a method with the features of claim 1 and 10, respectively.
  • Claims 11, 12 provide a system or computer program product for performing a method described here under protection. The subclaims relate to advantageous developments. According to an embodiment of the present invention, a one or
  • the robot has a robot arm with at least three, in particular at least six, in one embodiment at least seven
  • the force acting on the robot can preferably be the weight of the payload or the mass of the payload, in particular since mass and weight are proportional to one another via the gravitational constant when the robot is in a state of rest, i.e. not driving.
  • the direction of the force acting on the robot is advantageously known, namely parallel to the direction of gravity.
  • the robot remains in one or more of the
  • Measuring poses each. In this way, exact (re) and / or meaningful (re) values can be determined in one embodiment.
  • the robot travels through the or one or more of the measurement poses, with a (maximum) speed of its end effector being limited to a maximum of 250 mm / s in a further development. This allows values to be determined and / or more quickly in one embodiment
  • the measuring poses are expediently predetermined in such a way that the force acting on the robot, in particular a weight force, generates a torque on at least one rotary joint of the robot.
  • Torques are preferably generated on two, three, four, five, six, seven or all rotary joints of the robot. This is achieved, for example, in that at least one link of the robot is not vertical, i.e. parallel to the
  • Direction of gravity is oriented.
  • two, three, four, five, six, seven or all of the links of the robot are preferably not oriented vertically.
  • an end effector of the robot has the same orientation in two or more of the, in particular stationary, measuring poses. This can In particular, a parameter of a robot-guided payload with a patient can advantageously be determined.
  • the or one or more of the joint torques, on the basis of which the parameter is determined are determined on the basis of a difference between a drive-side and an output-side position, in particular an angular position, in one or a drive train (s) (for Adjustment) of the (respective) robot joint in which the joint torque (in each case) acts or for which the joint torque (in each case) is determined.
  • a drive-side position of a drive train is a position, in particular an angular position, (within or at one point) of the drive train that is closer to a drive, in particular a motor
  • the drive train is located as a (r) output-side position (s).
  • joint torques or forces acting on the robot can be advantageously determined in one embodiment, in particular precisely and / or with little expenditure on equipment, in particular in comparison to a (pure) determination based on electrical drive variables, which can be insufficient due to friction, especially in stationary poses.
  • Drive train a position of a drive and / or in front of or on one
  • one or the output-side position of the (respective) drive train in one embodiment is a position of a robot link or the joint and / or at or after a transmission output and / or is detected by means of a (second) angle sensor.
  • Joint torques of these parameters can be determined. This allows the parameter of the force acting on the robot in one
  • the present invention can be used with particular advantage for the identification of a robot-guided payload, with very particular advantage for the identification of a robot-guided payload with a patient (transported and / or positioned by the robot).
  • the parameter depends accordingly on a mass and / or center of gravity of a robot-guided payload, in particular one robot-guided payload with a patient (transported and / or positioned by the robot).
  • the parameter only depends on a mass and / or
  • a center of gravity includes in one
  • the mass and center of gravity can be determined (precisely) on the one hand by means of slow (er) robot movements and in particular also stationary or slowly traversing measuring positions and on the other hand in particular for transporting and / or positioning patients sufficient, which in turn should not be moved (er) fast.
  • the present invention can also be used with particular advantage to determine a contact force, in particular its direction, its magnitude and / or point of attack, in a contact with the environment of the robot, in particular its end effector, or the parameters, in particular only, of this contact force, in particular their direction, their amount and / or point of attack depend.
  • the parameter is based on the joint torques of a number of robot joints in the same, in particular stationary, measurement pose of the
  • Robot determined the number being at least two in one embodiment. This is based on the idea that both a mass and a center of gravity or both an amount and an application point, in particular a distance from an axis, in particular a distal (st) joint axis, can be determined by at least two joint torques. Additionally or alternatively, the number is equal to the total number of joints of the robot and / or equal to six. As a result, the parameter (s) can be determined precisely and / or have more components or dimensions in one embodiment. In an alternative embodiment, the number is less than the total number of joints of the robot and / or less than six.
  • the parameter of the force acting on the robot can advantageously be determined in one embodiment, in particular with little (more) expenditure in terms of equipment, using the above-explained idea that two joint torques already have both a mass and a Center of gravity or both an amount and a point of application, in particular a distance from an axis, in particular a distal (st) axis
  • Joint axis can be determined.
  • the parameter is determined on the basis of the joint torques of the same robot joint in two or more, in particular stationary, measuring poses of the robot, the robot or these robot joints in one
  • the parameter is set using a
  • more joint torques are determined than the dimension of the parameter is, that is to say in particular in one position joint torques from more robot joints and / or joint torques in more positions or along a path.
  • the parameter is based on mean values, in particular of the or one or more of the joint torques and / or the differences in the drive train positions and / or measurement and
  • Measurement pose (s), measurement configuration (s) and / or reference configuration (s) are approached several times and the joint torque (s), in particular the difference (s), are determined and the joint torque (s) based on mean values of the differences or the parameters determined in the process are determined on the basis of mean values of the joint torques, in particular those determined.
  • the parameter can (still) be advantageously (more)
  • the measurement configuration and the reference configuration (s) are approached in the same way, in particular by adjusting at least the joints whose joint torques are used in determining the parameter (each or jointly) from or in the same direction. This is based on the idea that backlash and / or friction effects can be advantageously compensated for.
  • the (respective) joint torque is determined on the basis of a difference between a drive-side and an output-side position of the drive train of the (respective) joint and a stiffness of this drive train (between this drive-side and output-side position). This rigidity can be specified in one embodiment, in particular taken from a machine data record.
  • the (respective) stiffness is determined on the basis of a difference between one or more first reference configurations in which (each) a (different, respectively) known, in particular predetermined or measured, first force acts on the robot, in one embodiment (each) a (different) known payload is attached to its end effector, and one or more second reference configurations are determined in which (each) a (different)
  • the stiffness can thus be determined or determined on the basis of one, two or more different known forces acting one after the other on the robot, in particular one, two or more different known payloads attached one after the other to its end effector.
  • different known forces acting one after the other on the robot, in particular payloads attached to its end effector can be determined or predetermined in certain areas.
  • linear, interpolation and / or extrapolation is performed.
  • the robot has (in each case) the same (joint) position in the first and second reference configuration (s).
  • the (respective) rigidity of the drive train is or is determined for a specific position of the robot or its joints, in particular the position of the robot or its joints in the first and second reference configuration (s) . specified.
  • for the measurement pose (s) based on several position-specific stiffnesses in one
  • the rigidity of the drive train between the input and output-side position can be currently (more) and / or precisely determined and then based on this rigidity and the determined difference between the input and output-side position in the (respective) measurement pose current joint torque determined, in particular interpolated or extrapolated.
  • this rigidity can also be determined or be determined in another way.
  • the one or more of the joint torques on the basis of which the parameter is determined are (in each case also) based on an electrical drive variable of a drive, in particular an electric motor, of the corresponding Drive train determined, in one embodiment, a motor current and / or a motor voltage, or this drive variable when determining the
  • Joint torques also taken into account, in particular by averaging or comparing them to one another in some other way.
  • the parameter can (still) be advantageously (more)
  • the robot in particular precisely (r) and / or reliably (more) can be determined.
  • the robot is operated on the basis of the determined parameter, in one embodiment it is controlled, in particular regulated, and / or monitored and / or a path of the robot is planned.
  • the operation of the robot can be improved, the robot can be precisely (r) controlled in one embodiment and / or (sensitively) interact with its environment.
  • a system for determining a parameter of a force acting on a robot on the basis of at least one joint torque of the robot in at least one, in particular stationary, measuring pose of the robot, in particular in hardware and / or software, in particular in programming is for Implementation of a method described here set up and / or has: Means for determining the joint torque on the basis of a difference between a drive-side and an output-side position of a drive train of the joint and / or a difference between a
  • the system or its means has:
  • Robot acting force the parameter being or is determined by means of a method or system or its means described here.
  • a means within the meaning of the present invention can be designed in terms of hardware and / or software, in particular a processing, in particular microprocessor unit (CPU), graphics card (GPU), preferably a data or signal connected to a memory and / or bus system, in particular a digital processing unit ) or the like, and / or one or more programs or program modules.
  • the processing unit can be designed to receive commands that are implemented as one in one
  • a storage system can have one or more,
  • a computer program product can have, in particular a non-volatile, storage medium for storing a program or with a program stored on it, wherein the execution of this program causes a system or a controller, in particular a computer, to create a to carry out the method described here or one or more of its steps.
  • a controller in particular a computer
  • FIG. 1 a system for determining a parameter of a force acting on a robot according to an embodiment of the present invention
  • 2 a drive train of the robot
  • FIG. 3 a method for determining the parameter according to an embodiment of the present invention.
  • Each of the six swivel joints has a drive train shown in FIG adjusting member of the robot is connected.
  • a first angle sensor 1 detects the (position of the electric motor shaft as)
  • a force F acts on an end flange 13 of the robot which is spaced a distance a from the axis of rotation of the end flange (vertically in FIG. 1).
  • it can be the weight m ⁇ g of a robot-guided payload whose center of gravity is at the distance a from the axis of rotation of the end flange 13.
  • a first step S10 see FIG. 3
  • the measuring poses shown in FIG. 1 are approached without an external force acting on the end flange 13.
  • the angle sensors 1, 2 each detect the
  • the repeated approach serves in particular to compensate for any measurement errors, but is not absolutely necessary.
  • the measuring poses shown in FIG. 1 are approached again in the same way, in particular from the same direction, with on
  • End flange 13 is now attacked by a known external force, in particular a payload with known mass and center of gravity is attached to the end flange 13.
  • the measuring poses are approached one after the other with different known external forces, in particular different payloads with different, respectively known masses and / or positions of the center of gravity.
  • the angle sensors 1, 2 each detect the positions on the input and output sides, with the measuring poses (with the respectively known external forces, in particular different payloads) each multiplying in one embodiment approached, while the drive train positions are recorded and mean values are formed from this or from the differences between the positions on the input and output sides and these are further used.
  • the stiffnesses can also be based on the
  • Measurement configuration with this force acting on the robot and a previously approached reference configuration without determining this force acting on the robot, in particular a load-free reference configuration, in particular subtracting the joint torque components from total joint torques determined on the basis of drive train position differences that are not from this force acting on the robot result (t L0 K ⁇ D L0 ), the stiffness of the respective drive train taken into account for this in turn based on the difference between the first reference configuration approached in step S20 with the known external (first) force and the second reference configuration approached in step S10 without the force acting on the robot or a load-free reference configuration is or is.
  • a fourth step S40 the measuring poses shown in FIG.
  • the angle sensors 1, 2 each detect the input and output-side positions, whereby in one embodiment the measuring positions are approached several times, the drive train positions are recorded and averages are formed from this or from the differences between the input and output-side positions and then used will.
  • the difference between the input and output sides is thereby determined
  • Motor currents of the drives of the drive trains can also be used in addition, in particular in an analogous manner by determining the motor currents when the robot is load-free (cf.
  • Step S10 and with payload (see. Step S40), the based on the
  • Measurement data a balancing problem min
  • Fig.1 vertical z-axis and on the
  • h [0, 0, -m ⁇ g, -m ⁇ g ⁇ a, 0, 0] T.
  • the robot is then operated on the basis of the mass and center of gravity of the currently guided payload determined in step S50, for example a path is planned, the robot is monitored and / or controlled, in particular regulated, preferably on the basis of a model of the payload-guiding robot.
  • the steps S10-S30 represent a calibration which is carried out before a
  • Steps S40 - S60 can be carried out, but need not be carried out.
  • one joint and two measuring poses or one measuring pose and two joints can be sufficient or taken into account, as shown below using the method shown in FIG Measuring poses shown and the two joints on the left in FIG. 1 with axes of rotation perpendicular to the plane of the drawing in FIG. It is assumed that the rigidity c 3 and possibly. C 2 as well as the
  • a10 ° C 3 (D 3, N - D 3 L0)
  • robot-guided payload determined what is particularly for a robot-assisted patient positioning or the like due to the limited here
  • Adjustment options for parameter identification is advantageous. Nevertheless, parameters of contact forces that act on the robot can also be determined instead.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Nach einem erfindungsgemäßen Verfahren zum Ermitteln eines Parameters (m, a) einer auf einen Roboter (10) wirkenden Kraft (F) auf Basis wenigstens eines Gelenkmoments (τ2, τ3) des Roboters in wenigstens einer, insbesondere stationären, Messpose des Roboters, wird das Gelenkmoment auf Basis einer Differenz zwischen einer antriebs- und einer abtriebsseitigen Stellung (qab,i - qan,i) eines Antriebsstrangs des Gelenks und/oder einer Differenz zwischen einer Messkonfiguration mit der auf den Roboter wirkenden Kraft und wenigstens einer vorab angefahrenen Referenzkonfiguration ohne diese auf den Roboter wirkenden Kraft ermittelt.

Description

Beschreibung Ermitteln eines Parameters einer auf einen Roboter wirkenden Kraft Die vorliegende Erfindung betrifft ein Verfahren zum Ermitteln eines Parameters einer auf einen Roboter wirkenden Kraft, insbesondere zum Betreiben des Roboters auf Basis des ermittelten Parameters, sowie ein System bzw. Computerprogrammprodukt zur Durchführung des Verfahrens. Durch die Kenntnis bzw. Berücksichtigung von auf Roboter wirkendenden externen Kräften kann der Betrieb der Roboter verbessert werden, die Roboter insbesondere präzise(r) gesteuert werden und/oder (sensitiv) mit ihrer Umgebung interagieren. So kann insbesondere bei bekannter Nutzlast in einer modellgestützten Regelung ein genaue(er)s Robotermodell genutzt und dadurch die Regelung bzw. der Betrieb des Roboters verbessert werden. Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, das Ermitteln eines Parameters einer auf einen Roboter wirkenden Kraft, insbesondere einen Betrieb des Roboters, zu verbessern. Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw.10 gelöst. Ansprüche 11, 12 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen. Nach einer Ausführung der vorliegenden Erfindung wird ein ein- oder
mehrdimensionaler Parameter einer auf einen Roboter wirkenden Kraft auf Basis eines oder mehrerer Gelenkmomente des Roboters in einer oder mehreren, in einer Ausführung (jeweils) stationären, Messposen des Roboters ermittelt. Der Roboter weist in einer Ausführung einen Roboterarm mit wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben
Drehgelenken bzw.–achsen und/oder einen Endflansch, insbesondere Endeffektor, auf. Durch wenigstens drei Drehgelenke kann in einer Ausführung der Endflansch bzw. -effektor vorteilhaft beliebige Positionen anfahren, durch wenigstens sechs Drehgelenke beliebige Posen, durch wenigstens sieben Drehgelenke dieselbe Pose mit verschiedenen (Gelenk- bzw. Roboter)Stellungen. Eine Pose weist in einer Ausführung eine ein-, zwei- oder vorzugsweise dreidimensionale Position und/oder eine ein-, zwei- oder vorzugsweise dreidimensionale Orientierung auf. Die auf den Roboter wirkende Kraft wirkt in einer Ausführung auf den bzw. an dem Endflansch bzw.–effektor. Dadurch kann in einer Ausführung eine Nutzlast oder Bearbeitungskraft berücksichtigt und hierdurch der Betrieb des Roboters verbessert werden. Bevorzugt kann die auf den Roboter wirkende Kraft die Gewichtskraft der Nutzlast sein bzw. die Masse der Nutzlast, insbesondere da Masse und Gewichtskraft über die Gravitationskonstante zueinander proportional sind, wenn der Roboter in einem Ruhezustand ist, also nicht fährt. Vorteilhafterweise ist die Richtung der auf den Roboter wirkenden Kraft bekannt, nämlich parallel zur Gravitationsrichtung. In einer Ausführung verharrt der Roboter in der bzw. einer oder mehrerer der
Messposen (jeweils). Hierdurch können in einer Ausführung genaue(re) und/oder aussagefähige(re) Werte ermittelt werden. In einer Ausführung durchfährt der Roboter die bzw. eine oder mehrere der Messposen, wobei in einer Weiterbildung eine (maximale) Geschwindigkeit seines Endeffektors auf höchstens 250 mm/s beschränkt ist. Hierdurch können in einer Ausführung Werte schneller ermittelt und/oder
Belastungen einer robotergeführten Nutzlast, insbesondere mit einem Patienten, reduziert werden. Es versteht sich, dass die Messposen zweckmäßigerweise derart vorbestimmt sind, dass durch die auf den Roboter wirkende Kraft, insbesondere einer Gewichtskraft, ein Drehmoment an zumindest einem Drehgelenk des Roboters erzeugt wird. Bevorzugt werden Drehmomente an zwei, drei, vier, fünf, sechs, sieben bzw. allen Drehgelenken des Roboters erzeugt. Dies wird beispielsweise dadurch erreicht, das zumindest ein Glied des Roboters nicht vertikal, also parallel zur
Gravitationsrichtung, orientiert ist. Bevorzugt sind jedoch zwei, drei, vier, fünf, sechs, sieben oder alle Glieder des Roboter nicht vertikal orientiert. In einer Ausführung weist ein Endeffektor des Roboters in zwei oder mehr der, insbesondere stationären Messposen dieselbe Orientierung auf. Hierdurch kann insbesondere ein Parameter einer robotergeführten Nutzlast mit einem Patienten vorteilhaft(er) ermittelt werden. Nach einer Ausführung der vorliegenden Erfindung werden das bzw. eines oder mehrere der Gelenkmomente, auf deren Basis der Parameter ermittelt wird, auf Basis einer Differenz zwischen einer antriebsseitigen und einer abtriebsseitigen Stellung, insbesondere Winkellage, in einem bzw. eines Antriebsstrang(s) (zum Verstellen) des (jeweiligen) Robotergelenks ermittelt, in dem das Gelenkmoment (jeweils) wirkt bzw. für das das Gelenkmoment (jeweils) ermittelt wird. Dem liegt die Idee zugrunde, dass Kräfte und Momente, die in einem Antriebsstrang zum Verstellen eines Gelenks abtriebsseitig wirken, aufgrund von Elastizitäten, Spiel und dergleichen, zu einer Differenz gegenüber einer antriebsseitigen Stellung dieses Antriebsstrangs führen, so dass umgekehrt auf Basis einer solchen Differenz im Antriebsstrang bzw. Gelenk abtriebsseitig wirkende Kräfte und/oder Momente ermittelt werden können. Eine antriebsseitige Stellung eines Antriebsstrangs ist in einer Ausführung eine Stellung, insbesondere Winkellage, (innerhalb bzw. an einer Stelle) des Antriebsstrangs, die näher an einem Antrieb, insbesondere Motor, des
Antriebsstrangs liegt als (bei) eine(r) abtriebsseitige(n) Stellung. Hierdurch können Gelenkmomente bzw. auf den Roboter wirkende Kräfte in einer Ausführung vorteilhaft, insbesondere präzise(r) und/oder mit geringe(re)m apparativen Aufwand ermittelt werden, insbesondere im Vergleich zu einer (reinen) Ermittlung auf Basis von elektrischen Antriebsgrößen, die reibungsbedingt insbesondere in stationären Posen unzureichend sein kann. In einer Ausführung ist eine bzw. die antriebsseitige Stellung des (jeweiligen)
Antriebsstrangs eine Stellung eines Antriebs und/oder vor oder an einem
Getriebeeingang und/oder wird mittels eines (ersten) Winkelsensors erfasst.
Zusätzlich oder alternativ ist eine bzw. die abtriebsseitige Stellung des (jeweiligen) Antriebsstrangs in einer Ausführung eine Stellung eines Roboterglieds bzw. des Gelenks und/oder an oder nach einem Getriebeausgang und/oder wird mittels eines (zweiten) Winkelsensors erfasst. Nach einer Ausführung der vorliegenden Erfindung werden das bzw. eines oder mehrere der Gelenkmomente, auf deren Basis der Parameter ermittelt wird, auf Basis einer Differenz zwischen einer Messkonfiguration, in der die Kraft, deren Parameter ermittelt werden soll, auf den Roboter wirkt, und einer oder mehrerer vorab, in einer Ausführung für die Ermittlung des Parameters (gegebenenfalls erneut), angefahrener Referenzkonfigurationen, in denen diese Kraft (jeweils) nicht auf den Roboter wirkt, ermittelt, in einer Ausführung auf Basis einer Differenz zwischen der
Messkonfiguration und einer Referenzkonfiguration, in der der Roboter lastfrei bzw. nicht durch eine externe Kraft beaufschlagt ist, und/oder auf Basis wenigstens einer Differenz zwischen der Messkonfiguration und einer Referenzkonfiguration, in der der Roboter (nur) durch eine bekannte externe Kraft in gleicher Weise beaufschlagt ist wie durch die Kraft, deren Parameter ermittelt werden soll. Dem liegt die Erkenntnis, dass auch das Eigengewicht des Roboters und dergleichen Gelenkmomentanteile bewirkt, die sich zu den Gelenkmomentanteilen hinzuaddieren, die sich durch eine auf den Roboter wirkende externe Kraft ergeben, insbesondere durch die auf den Roboter wirkende Kraft, deren Parameter ermittelt werden soll, und die darauf aufbauende Idee zugrunde, diese aus dem Eigengewicht des Roboters und dergleichen resultierenden bzw. von der auf den Roboter wirkenden Kraft, deren Parameter ermittelt werden soll, unabhängigen Gelenkmomentanteile mittels einer oder mehrerer Referenzkonfigurationen zu ermitteln und dann von den ermittelten Gesamtgelenkmomenten abzuziehen, so dass auf Basis der verbleibenden
Gelenkmomente dieser Parameter ermittelt werden kann. Hierdurch kann der Parameter der auf den Roboter wirkenden Kraft in einer
Ausführung (noch) vorteilhaft(er), insbesondere präzise(r) und/oder mit geringe(re)m, insbesondere apparativen, Aufwand ermittelt werden. Die vorliegende Erfindung kann mit besonderem Vorteil zur Identifikation einer robotergeführten Nutzlast verwendet werden, mit ganz besonderem Vorteil zur Identifikation einer robotergeführten Nutzlast mit einem (durch den Roboter transportierten und/oder positionierten) Patienten. In einer Ausführung hängt der Parameter entsprechend von einer Masse und/oder Schwerpunktlage einer robotergeführten Nutzlast, insbesondere einer robotergeführten Nutzlast mit einem (durch den Roboter transportierten und/oder positionierten) Patienten, ab. In einer Weiterbildung hängt der Parameter nur von einer Masse und/oder
Schwerpunktlage dieser Nutzlast ab. Eine Schwerpunktlage umfasst in einer
Ausführung einen ein- oder zweidimensionalen Abstand von einer Achse,
insbesondere einer distal(st)en Gelenkachse. Dem liegt die Idee zugrunde, dass Masse und Schwerpunktlage im Gegensatz zu Trägheitssensoren einerseits auch mittels langsamer(er) Roboterbewegungen und insbesondere auch stationärer oder langsam durchfahrender Messposen (präzise(r)) ermittelt werden können und andererseits insbesondere zum Transportieren und/oder Positionieren von Patienten ausreichen, die wiederum nicht schnell(er) bewegt werden sollen. Gleichermaßen kann die vorliegende Erfindung auch mit besonderem Vorteil zum Ermitteln einer Kontaktkraft, insbesondere ihrer Richtung, ihres Betrags und/oder Angriffspunktes, in einem Umgebungskontakt des Roboters, insbesondere seines Endeffektors, verwendet werden bzw. der Parameter, insbesondere nur, von dieser Kontaktkraft, insbesondere ihrer Richtung, ihrem Betrag und/oder Angriffspunkt, abhängen. In einer Ausführung wird der Parameter auf Basis der Gelenkmomente einer Anzahl von Robotergelenken in derselben, insbesondere stationären, Messpose des
Roboters ermittelt, wobei die Anzahl in einer Ausführung wenigstens zwei beträgt. Dem liegt die Idee zugrunde, dass durch wenigstens zwei Gelenkmomente sowohl eine Masse als auch eine Schwerpunktlage bzw. sowohl ein Betrag als auch ein Angriffspunkt, insbesondere ein Abstand von einer Achse, insbesondere einer distal(st)en Gelenkachse, ermittelt werden kann. Zusätzlich oder alternativ ist die Anzahl gleich der Gesamtzahl der Gelenke des Roboters und/oder gleich sechs. Hierdurch kann in einer Ausführung der Parameter präzise(r) ermittelt werden und/oder mehr Komponenten bzw. Dimensionen aufweisen. In einer alternativen Ausführung ist die Anzahl kleiner als die Gesamtzahl der Gelenke des Roboters und/oder kleiner als sechs. Hierdurch kann der Parameter der auf den Roboter wirkenden Kraft in einer Ausführung vorteilhaft(er), insbesondere mit geringe(re)m apparativen Aufwand, ermittelt werden, wobei die vorstehend erläuterte Idee genutzt wird, dass bereits durch zwei Gelenkmomente sowohl eine Masse als auch eine Schwerpunktlage bzw. sowohl ein Betrag als auch ein Angriffspunkt, insbesondere ein Abstand von einer Achse, insbesondere einer distal(st)en
Gelenkachse, ermittelt werden kann. In einer Ausführung wird der Parameter auf Basis der Gelenkmomente des- bzw. derselben Robotergelenke in zwei oder mehr, insbesondere stationären, Messposen des Roboters ermittelt, wobei der Roboter bzw. diese Robotergelenke in einer
Ausführung in diesen Messposen unterschiedliche Stellungen aufweisen. Dem liegt die Idee zugrunde, dass dieselbe auf den Roboter wirkende Kraft, insbesondere dieselbe robotergeführte Nutzlast, in unterschiedlichen Messposen bzw. Roboterstellungen unterschiedliche Gelenkmomente in den einzelnen
Robotergelenken bewirken, so dass auf Basis von in bzw. für mehrere(n) Messposen bzw. Roboterstellungen ermittelte Gelenkmomente der Parameter (noch)
vorteilhaft(er), insbesondere präzise(r) und/oder mit geringe(re)m, insbesondere apparativen, Aufwand ermittelt werden kann. In einer Ausführung wird der Parameter mithilfe eines
Ausgleichsproblemlösungsverfahrens ermittelt. Dazu werden in einer Ausführung mehr Gelenkmomente ermittelt als die Dimension des Parameters beträgt, also insbesondere in einer Stellung Gelenkmomente von mehr Robotergelenken und/oder Gelenkmomente in mehr Stellungen oder entlang einer Bahn. Soll beispielsweise die Masse und die ein-, zwei- oder dreidimensionale Schwerpunktlage einer
robotergeführten Nutzlast ermittelt werden (Dimension des Parameters = 2, 3 bzw.4), so werden hierzu in einer Ausführung mehr Gelenkmomente verwendet,
beispielsweise also wenigstens 3, 4 bzw.5, in einer Ausführung also beispielsweise für die Masse und den eindimensionalen Schwerpunktabstand einer robotergeführten Nutzlast zu einer Achse die Gelenkmomente von wenigstens zwei Gelenken in wenigstens zwei Messposen oder die Gelenkmomente von einem Gelenk in wenigstens drei Messposen oder die Gelenkmomente von wenigstens drei Gelenken in wenigstens einer Messpose. Zusätzlich oder alternativ wird der Parameter in einer Ausführung auf Basis von Mittelwerten, insbesondere des bzw. eines oder mehrerer der Gelenkmomente und/oder der Differenzen der Antriebsstrangstellungen und/oder Mess-und
Referenzkonfigurationen, ermittelt. In einer Ausführung werden hierzu die
Messpose(n), Messkonfiguration(en) und/oder Referenzkonfiguration(en jeweils) mehrfach angefahren und dabei bzw. hierfür jeweils das bzw. die Gelenkmomente, insbesondere die Differenz(en), ermittelt und das bzw. die Gelenkmomente auf Basis von Mittelwerten der dabei ermittelten Differenzen bzw. der Parameter auf Basis von Mittelwerten der, insbesondere solcherart, ermittelten Gelenkmomente ermittelt. Hierdurch kann der Parameter in einer Ausführung (noch) vorteilhaft(er),
insbesondere zuverlässig(er), ermittelt werden. In einer Ausführung werden die Messkonfiguration und die Referenzkonfiguration(en) gleichartig angefahren, insbesondere durch Verstellen wenigstens der Gelenke, deren Gelenkmomente bei der Ermittlung des Parameters verwendet werden, (jeweils bzw. gelenkweise) aus bzw. in derselben Richtung. Dem liegt die Idee zugrunde, dass hierdurch Spiel- und/oder Reibungseffekte vorteilhaft kompensiert werden können. In einer Ausführung wird das (jeweilige) Gelenkmoment auf Basis einer Differenz zwischen einer antriebs- und einer abtriebsseitigen Stellung des Antriebsstrangs des (jeweiligen) Gelenks und einer Steifigkeit dieses Antriebsstrangs (zwischen dieser antriebs- und abtriebsseitigen Stellung) ermittelt. Diese Steifigkeit kann in einer Ausführung vorgegeben sein, insbesondere aus einem Maschinendatensatz übernommen werden. In einer Ausführung wird die (jeweilige) Steifigkeit auf Basis einer Differenz zwischen einer oder mehreren ersten Referenzkonfigurationen, in der bzw. denen (jeweils) eine (unterschiedliche, jeweils) bekannte, insbesondere vorgegebene oder gemessene, erste Kraft auf den Roboter wirkt, in einer Ausführung (jeweils) eine (unterschiedliche) bekannte Nutzlast an seinem Endeffektor befestigt ist, und einer oder mehreren zweiten Referenzkonfigurationen ermittelt, in der (jeweils) eine (andere,
gegebenenfalls hierzu unterschiedliche) bekannte, insbesondere vorgegebene oder gemessene, zweite Kraft bzw. Nutzlast oder keine (externe) Kraft auf den Roboter wirkt bzw. der Roboter lastfrei ist, in einer Ausführung keine Nutzlast an seinem Endeffektor befestigt ist. Die Steifigkeit kann in einer Ausführung somit auf Basis von einer, zwei oder mehr unterschiedlichen bekannten, nacheinander auf den Roboter wirkenden Kräften, insbesondere einer, zwei oder mehr unterschiedlichen bekannten, nacheinander an seinem Endeffektor befestigten Nutzlasten, ermittelt bzw.
vorgegeben sein bzw. werden, insbesondere auf Basis von jeweils zwei
unterschiedlichen bekannten, nacheinander auf den Roboter wirkenden Kräften, insbesondere an seinem Endeffektor befestigten, Nutzlasten, bereichsweise ermittelt bzw. vorgegeben sein bzw. werden. In einer Ausführung wird auf Basis der ermittelten bzw. vorgegebenen Steifigkeitswerte, in einer Ausführung linear, inter- und/oder extrapoliert. Der Roboter weist in einer Ausführung in der bzw. den ersten und zweiten Referenzkonfiguration(en) (jeweils) dieselbe (Gelenk)Stellung auf. In einer Ausführung ist bzw. wird die (jeweilige) Steifigkeit des Antriebsstrangs jeweils für eine spezifische Stellung des Roboters bzw. seiner Gelenke, insbesondere die Stellung des Roboters bzw. seiner Gelenke in der bzw. den ersten und zweiten Referenzkonfiguration(en), ermittelt bzw. vorgegeben. In einer Ausführung wird für die Messpose(n) auf Basis mehrerer stellungsspezifischer Steifigkeiten, in einer
Ausführung linear, inter- und/oder extrapoliert. Hierdurch kann in einer Ausführung die Steifigkeit des Antriebsstrangs zwischen an- und abtriebsseitiger Stellung aktuell(er) und/oder präzise(r) ermittelt und dann auf Basis dieser Steifigkeit und der ermittelten Differenz zwischen an- und abtriebsseitiger Stellung in der (jeweiligen) Messpose das aktuelle Gelenkmoment ermittelt, insbesondere inter- bzw. extrapoliert werden. In einer anderen Ausführung kann diese Steifigkeit auch auf andere Weise ermittelt werden bzw. sein. In einer Ausführung werden das bzw. ein oder mehrere der Gelenkmomente, auf deren Basis der Parameter ermittelt wird, (jeweils auch) auf Basis einer elektrischen Antriebsgröße eines Antriebs, insbesondere Elektromotors, des entsprechenden Antriebsstrangs ermittelt, in einer Ausführung eines Motorstroms und/oder einer Motorspannung, bzw. diese Antriebsgröße bei der Ermittlung des bzw. der
Gelenkmomente mitberücksichtigt, insbesondere durch Mittelwertbildung oder Abgleich aufeinander in sonstiger Weise. Hierdurch kann der Parameter in einer Ausführung (noch) vorteilhaft(er),
insbesondere präzise(r) und/oder zuverlässig(er), ermittelt werden. In einer Ausführung wird der Roboter auf Basis des ermittelten Parameters betrieben, in einer Ausführung gesteuert, insbesondere geregelt, und/oder überwacht und/oder eine Bahn des Roboters geplant. Hierdurch kann der Betrieb des Roboters verbessert werden, der Roboter in einer Ausführung präzise(r) gesteuert werden und/oder (sensitiv) mit seiner Umgebung interagieren. Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Ermitteln eines Parameters einer auf einen Roboter wirkenden Kraft auf Basis wenigstens eines Gelenkmoments des Roboters in wenigstens einer, insbesondere stationären, Messpose des Roboters, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf: Mittel zum Ermitteln des Gelenkmoments auf Basis einer Differenz zwischen einer antriebs- und einer abtriebsseitigen Stellung eines Antriebsstrangs des Gelenks und/oder einer Differenz zwischen einer
Messkonfiguration mit der auf den Roboter wirkenden Kraft und wenigstens einer vorab angefahrenen Referenzkonfiguration ohne diese auf den Roboter wirkenden Kraft. In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- Mittel zum Ermitteln des Parameters auf Basis der Gelenkmomente einer Anzahl von Robotergelenken in derselben, insbesondere stationären, Messpose des Roboters, wobei die Anzahl wenigstens zwei beträgt und/oder kleiner oder gleich der Gesamtzahl der Gelenke des Roboters und/oder kleiner oder gleich sechs ist; und/oder - Mittel zum Ermitteln des Parameters auf Basis der Gelenkmomente desselben Robotergelenks in wenigstens zwei, insbesondere stationären, Messposen des Roboters; und/oder
- Mittel zum Ermitteln des Parameters mithilfe eines
Ausgleichsproblemlösungsverfahrens und/oder auf Basis von Mittelwerten;
und/oder
- Mittel zum gleichartigen Anfahren der Messkonfiguration und wenigstens einen Referenzkonfiguration; und/oder
- Mittel zum Ermitteln des Gelenkmoments auf Basis einer Steifigkeit des
Antriebsstrangs, insbesondere zum Ermitteln der Steifigkeit auf Basis einer Differenz zwischen wenigstens einer ersten Referenzkonfiguration mit einer ersten auf den Roboter wirkenden Kraft und wenigstens einer zweiten
Referenzkonfiguration mit keiner oder einer zweiten auf den Roboter wirkenden Kraft; und/oder
- Mittel zum Ermitteln des Gelenkmoments auf Basis einer elektrischen
Antriebsgröße; und/oder
- Mittel zum Betreiben des Roboters auf Basis eines Parameters einer auf den
Roboter wirkenden Kraft, wobei der Parameter mittels eines hier beschriebenen Verfahrens bzw. Systems bzw. dessen Mittel ermittelt wird bzw. ist. Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem
Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten,
Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere,
insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere den Parameter ermitteln bzw. den Roboter betreiben kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen. In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des
Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel. In einer Ausführung weist das System den Roboter auf. Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert: Fig.1: ein System zum Ermitteln eines Parameters einer auf einen Roboter wirkenden Kraft nach einer Ausführung der vorliegenden Erfindung; Fig.2: einen Antriebsstrang des Roboters; und Fig.3: ein Verfahren zum Ermitteln des Parameters nach einer Ausführung der vorliegenden Erfindung. Fig.1 zeigt einen Roboter 10 mit sechs Drehgelenken in einer ersten Messpose (ausgezogen in Fig.1; a=0°) und einer zweiten Messpose (gestrichelt in Fig.1; a¹0°) sowie eine Robotersteuerung 20, die das nachfolgend erläuterte Verfahren durchführt bzw. hierzu eingerichtet ist. Jedes der sechs Drehgelenke weist jeweils einen in Fig.2 gezeigten Antriebsstrang mit einem Elektromotor 11 und einem Getriebeabtrieb 12 auf, der einerseits mit dem Elektromotor bzw. dessen (Ausgangs)Welle und andererseits (dreh)fest mit einem durch den Antriebstrang aktuierten bzw. zu verstellenden Glied des Roboters verbunden ist. Ein erster Winkelsensor 1 erfasst die (Stellung der Elektromotorwelle als)
antriebsseitige Stellung qan, i des i-ten Antriebsstrangs, ein zweiter Winkelsensor 2 die (Stellung des Getriebeabtriebs bzw. Relativstellung des Roboterglieds zum
vorhergehenden Roboterglied als) abtriebsseitige Stellung qab, i des Antriebsstrangs i. An einem Endflansch 13 des Roboters wirkt eine Kraft F, die um einen Abstand a von der Drehachse des Endflanschs (vertikal in Fig.1) beabstandet ist. Sie kann insbesondere die Gewichtskraft m×g einer robotergeführten Nutzlast sein, deren Schwerpunkt den Abstand a von der Drehachse des Endflanschs 13 aufweist. In einem ersten Schritt S10 (vgl. Fig.3) werden die in Fig.1 gezeigten Messposen angefahren, ohne dass am Endflansch 13 eine externe Kraft angreift. In diesen Messposen erfassen die Winkelsensoren 1, 2 jeweils die an- bzw.
abtriebsseitigen Stellungen der Antriebsstränge wenigstens des dritten Gelenks, insbesondere des zweiten und dritten Gelenks, in einer Ausführung auch weiterer Gelenke. In einer Ausführung werden die Messposen jeweils mehrfach angefahren, dabei die Antriebsstrangstellungen erfasst und hieraus bzw. aus den Differenzen Di = (qab, i - qan, i) der an- bzw. abtriebsseitigen Stellungen Mittelwerte gebildet und diese weiter verwendet. Das mehrfache Anfahren dient insbesondere der Kompensierung von etwaigen Messfehlern, ist jedoch nicht zwingend erforderlich. In einem zweiten Schritt S20 werden die in Fig.1 gezeigten Messposen in gleicher Weise, insbesondere aus derselben Richtung, erneut angefahren, wobei am
Endflansch 13 nun eine bekannte externe Kraft angreift, insbesondere eine Nutzlast mit bekannter Masse und Schwerpunktlage am Endflansch 13 befestigt ist. In einer Ausführung werden die Messposen nacheinander mit unterschiedlichen bekannten externen Kräften, insbesondere verschiedenen Nutzlasten mit unterschiedlichen, jeweils bekannten Massen und/oder Schwerpunktlagen angefahren. Wieder erfassen die Winkelsensoren 1, 2 jeweils die an- bzw. abtriebsseitigen Stellungen, wobei in einer Ausführung die Messposen (mit den jeweils bekannten externen Kräften, insbesondere verschiedenen Nutzlasten) jeweils mehrfach angefahren, dabei die Antriebsstrangstellungen erfasst und hieraus bzw. aus den Differenzen der an- bzw. abtriebsseitigen Stellungen Mittelwerte gebildet und diese weiter verwendet werden. Dann werden in einem dritten Schritt S30 Steifigkeiten ci der einzelnen Gelenke auf Basis dieser Differenzen bzw. Mittelwerte ermittelt, in einer Ausführung gemäß JT×h = t = K×(DL1 - DL0) mit der transponierten Jacobimatrix JT, dem Winder h der bekannte externen Kraft und des durch sie bewirkten Drehmoments, dem VektorDL1 der
Antriebsstrangstellungsdifferenzen bei der bekannten externen Kraft aus Schritt S20, dem VektorDL0 der Antriebsstrangstellungsdifferenzen aus Schritt S10 ohne externe Kraft und der Steifigkeitsmatrix K mit den Gelenksteifigkeiten ci. Zusätzlich oder alternativ können die Steifigkeiten in analoger Weise auch auf Basis der
unterschiedlichen bekannten Nutzlasten ermittelt werden. Dem liegt zum Einen die Idee zugrunde, Gelenkmomente auf Basis von
Antriebsstrangstellungsdifferenzen zu ermitteln (t = K×D), zum Anderen, diejenigen Gelenkmomente, die aus einer auf den Roboter wirkenden Kraft resultieren, deren Parameter ermittelt werden soll, auf Basis der Differenz zwischen einer
Messkonfiguration mit dieser auf den Roboter wirkenden Kraft und einer vorab angefahrenen Referenzkonfiguration ohne diese auf den Roboter wirkenden Kraft, insbesondere einer lastfreien Referenzkonfiguration, zu ermitteln, insbesondere von auf Basis von Antriebsstrangstellungsdifferenzen ermittelten Gesamtgelenkmomenten die Gelenkmomentanteile abzuziehen, die nicht aus dieser auf den Roboter wirkenden Kraft resultieren (tL0 = K×DL0), wobei die hierfür berücksichtigte Steifigkeit des jeweiligen Antriebsstrangs ihrerseits auf Basis der Differenz zwischen der in Schritt S20 angefahrenen ersten Referenzkonfiguration mit der bekannten externen (ersten) Kraft und der in Schritt S10 angefahrenen zweiten Referenzkonfiguration ohne auf den Roboter wirkenden Kraft bzw. einer lastfreien Referenzkonfiguration ermittelt wird bzw. ist. In einem vierten Schritt S40 werden die in Fig.1 gezeigten Messposen in gleicher Weise, insbesondere aus derselben Richtung, erneut angefahren, wobei am Endflansch 13 nun die (unbekannte) Nutzlast befestigt ist, deren Masse m und Schwerpunktabstand a ermittelt werden soll. Wieder erfassen die Winkelsensoren 1, 2 jeweils die an- bzw. abtriebsseitigen Stellungen, wobei in einer Ausführung die Messposen jeweils mehrfach angefahren, dabei die Antriebsstrangstellungen erfasst und hieraus bzw. aus den Differenzen der an- bzw. abtriebsseitigen Stellungen Mittelwerte gebildet und diese weiter verwendet werden. Dann wird in Schritt S50 der Winder h der Gewichtskraft der Nutzlast und des durch sie bewirkten Drehmoments auf Basis der Antriebsstrangstellungsdifferenzen DL0 bei lastfreiem Roboter aus Schritt S10 und der Antriebsstrangstellungsdifferenzen DN bei der Nutzlast aus Schritt S40 ermittelt, in einer Ausführung gemäß h = (JT)-1×t = (JT)-1×K×(DN - DL0) Dabei wird somit die Differenz (DN - DL0) zwischen der Messkonfiguration des Schrittes S40, in der die unbekannte Kraft auf den Roboter wirkt, und der vorab angefahrenen Referenzkonfiguration des Schrittes S10, in der diese Kraft nicht auf den lastfreien Roboter wirkt, verwendet. Hierdurch kann sozusagen das Eigengewicht des Roboters ausgeblendet werden. Außerdem wird dabei somit die Differenz zwischen an- und abtriebsseitigen
Antriebsstrangstellungen D = [D1,…, D6]T, Di = (qab, i - qan, i) verwendet und mithilfe der vorab in Schritt S30 ermittelten Steifigkeit(en) ci bzw. K die Gelenkmomente t (die aus der Nutzlast resultieren) ermittelt. In einer Ausführung können hierzu ergänzend auch noch Motorströme der Antriebe der Antriebsstränge verwendet werden, insbesondere in analoger Weise unter Ermittlung der Motorströme bei lastfreiem Roboter (vgl.
Schritt S10) und mit Nutzlast (vgl. Schritt S40), wobei die auf Basis der
Antriebsstrangstellungsdifferenzen ermittelten Gelenkmomente und die auf Basis der Motorströme ermittelten Gelenkmomente miteinander gemittelt oder in sonstiger Weise aufeinander abgeglichen werden können. Dabei kann in einer Ausführung in Schritt S50 bei ausreichender Anzahl von
Messdaten ein Ausgleichsproblem min || JT×h - t || gelöst werden, in einer Ausführung mit der Nebenbedingung C×h = b, durch die die bekannte Richtung der Gewichtskraft und das daraus resultierende Verschwinden wenigstens einer Kraft- und wenigstens einer Drehmomentkomponente des Winders berücksichtigt werden können, beispielsweise in einem Koordinatensystem mit zur Gravitationsrichtung paralleler bzw. in Fig.1 senkrechter z-Achse und auf der
Zeichenebene der Fig.1 senkrecht stehender x-Achse: h = [0, 0, -m×g, -m×g×a,0, 0] T. In einem Schritt S60 wird dann der Roboter auf Basis der in Schritt S50 ermittelten Masse und Schwerpunktlage der aktuell geführten Nutzlast betrieben, beispielsweise eine Bahn geplant, der Roboter überwacht und/oder gesteuert, insbesondere geregelt, vorzugsweise auf Basis eines Modells des nutzlastführenden Roboters. Dabei stellen die Schritte S10 - S30 eine Kalibrierung dar, welche vor einer
Durchführung der Schritte S40– S60 erfolgen kann, aber nicht durchgeführt werden muss. Insbesondere, wenn nur die Masse m der Nutzlast und ihr Abstand a zur Drehachse des Endflanschs 13 ermittelt werden sollen, können hierzu ein Gelenk und zwei Messposen bzw. eine Messpose und zwei Gelenke ausreichen bzw. berücksichtigt werden, wie nachfolgend anhand der in Fig.1 gezeigten Messposen und der beiden in Fig.1 linken Gelenke mit auf der Zeichenebene der Fig.1 senkrecht stehenden Drehachsen erläutert werden soll. Dabei wird davon ausgegangen, dass die Steifigkeit c3 und ggfs. c2 sowie die
Differenz D3,L0 = (qab, 3 - qan, 3)L0 und ggfs. D2,L0 = (qab, 2 - qan, 2)L0 zwischen einer antriebs- und einer abtriebsseitigen Stellung des Antriebsstrangs dieser beiden Gelenke bei unbelastetem Roboter wie vorstehend mit Bezug auf Schritte S10 bis S40 ermittelt worden sind. Soll nur die in Fig.1 ausgezogen dargestellte Messpose verwendet werden (ggfs. unter mehrfachem Anfahren und Mittelwertbildung), so ergibt sich aus t2 = c2×(D2,N - D2,L0) = (l2+a)×m×g
t3 = c3×(D3,N - D3,L0) = (l3+a)×m×g mit der Gravitationskonstanten g und den mit der Nutzlast in der Messpose ermittelten Antriebsstrangstellungsdifferenzen D2,N, D3 N: a = (I2·t3 - I3·t2)/(t2 - t3)
m = t3/[(I3 + a) g]
Soll andererseits nur ein Gelenk verwendet werden (ggfs unter mehrfachem Anfahren und Mittelwertbildung), so ergibt sich für die beiden in Fig. 1 dargestellten Messposen t3,a=0° = C3 (D3, N - D3 L0)a=0° = (l3+a) m g
t3,a¹0° = C3 (D3, N - D3 L0)a¹0° = (cosa l3+a) m g mit den Werten a =0° für die in Fig. 1 ausgezogen dargestellte Messpose und oc^0 ° für die in Fig. 1 gestrichelt dargestellte Messpose: m = (t3,a=0° - t3,a¹0°)/[g l3 (1 - cosa)]
a - t3,a=0°· (m g) - l3
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.
So wurde im Ausführungsbeispiel die Masse und Schwerpunktlage einer
robotergeführten Nutzlast ermittelt, was insbesondere für eine robotergestützte Patientenpositionierung oder dergleichen aufgrund der hierbei begrenzten
Verstellmöglichkeiten zur Parameteridentifikation vorteilhaft ist. Gleichwohl können stattdessen insbesondere auch Parameter von Kontaktkräften ermittelt werden, die auf den Roboter wirken.
Au ßerdem sei darauf hingewiesen, dass es sich bei den exemplarischen
Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die
Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die
Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
Bezuaszeichenliste
1 antriebsseitiger Winkelsensor
2 abtriebsseitiger Winkelsensor
10 Roboter
1 1 Elektromotor
12 Getriebeabtrieb
13 Endflansch
20 Robotersteuerung
qan, i antriebsseitige Stellung des i. Gelenks
qab, i abtriebsseitige Stellung des i. Gelenks
t, Gelenkmoment des i. Gelenks (i=1 ,2,...,6)
l2, l3 Abstände (aus Roboterkinematik bekannt)
a Abstand F zu Achse 6 (Schwerpunktlage Nutzlast)
F auf den Roboter(endflansch) wirkende Kraft (m g)
m Masse der Nutzlast

Claims

Patentansprüche
1. Verfahren zum Ermitteln eines Parameters (m, a) einer auf einen Roboter (10) wirkenden Kraft (F) auf Basis wenigstens eines Gelenkmoments (t2, t3) des Roboters in wenigstens einer, insbesondere stationären, Messpose des Roboters, wobei das Gelenkmoment auf Basis einer Differenz zwischen einer antriebs- und einer abtriebsseitigen Stellung ( qab, i , - qan, i) eines Antriebsstrangs des Gelenks und/oder einer Differenz zwischen einer Messkonfiguration mit der auf den Roboter wirkenden Kraft und wenigstens einer vorab angefahrenen
Referenzkonfiguration ohne diese auf den Roboter wirkenden Kraft ermittelt wird.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass der Parameter,
insbesondere nur, von einer Masse (m) und/oder Schwerpunktlage (a) einer robotergeführten Nutzlast, insbesondere mit einem Patienten, oder einer
Kontaktkraft in einem Umgebungskontakt des Roboters abhängt.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Parameter auf Basis der Gelenkmomente (t2, t3) einer Anzahl von Robotergelenken in derselben, insbesondere stationären, Messpose des Roboters ermittelt wird, wobei die Anzahl wenigstens zwei beträgt und/oder kleiner oder gleich der Gesamtzahl der Gelenke des Roboters und/oder kleiner oder gleich sechs ist.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Parameter auf Basis der Gelenkmomente (t3) desselben Robotergelenks in wenigstens zwei, insbesondere stationären, Messposen des Roboters ermittelt wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Parameter mithilfe eines Ausgleichsproblemlösungsverfahrens und/oder auf Basis von Mittelwerten ermittelt wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Gelenkmoment auf Basis einer Steifigkeit des Antriebsstrangs ermittelt wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Steifigkeit auf Basis einer Differenz zwischen wenigstens einer ersten Referenzkonfiguration mit einer ersten auf den Roboter wirkenden Kraft und wenigstens einer zweiten Referenzkonfiguration mit keiner oder einer zweiten auf den Roboter wirkenden Kraft ermittelt wird.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Messkonfiguration und wenigstens eine Referenzkonfiguration gleichartig angefahren werden.
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Gelenkmoment auf Basis einer elektrischen Antriebsgröße ermittelt wird.
10. Verfahren zum Betreiben (S60) eines Roboters (10) auf Basis eines Parameters einer auf den Roboter wirkenden Kraft, dadurch gekennzeichnet, dass der Parameter mittels eines Verfahrens nach einem der vorhergehenden Ansprüche ermittelt wird (S10 - S50).
1 1. System zum Ermitteln eines Parameters (m, a) einer auf einen Roboter (10)
wirkenden Kraft (F) auf Basis wenigstens eines Gelenkmoments (t2, t3) des Roboters in wenigstens einer, insbesondere stationären, Messpose des Roboters, wobei das System zur Durchführung eines Verfahrens nach einem der
vorhergehenden Ansprüche eingerichtet ist und/oder aufweist: Mittel zum Ermitteln des Gelenkmoments auf Basis einer Differenz zwischen einer antriebs- und einer abtriebsseitigen Stellung ( qab, i , - qan, i) eines Antriebsstrangs des Gelenks und/oder einer Differenz zwischen einer Messkonfiguration mit der auf den Roboter wirkenden Kraft und wenigstens einer vorab angefahrenen Referenzkonfiguration ohne diese auf den Roboter wirkenden Kraft.
12. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.
EP20711903.3A 2019-04-01 2020-03-16 Ermitteln eines parameters auf einen roboter wirkenden kraft Withdrawn EP3946827A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019204564.2A DE102019204564A1 (de) 2019-04-01 2019-04-01 Ermitteln eines Parameters einer auf einen Roboter wirkenden Kraft
PCT/EP2020/057047 WO2020200717A1 (de) 2019-04-01 2020-03-16 Ermitteln eines parameters auf einen roboter wirkenden kraft

Publications (1)

Publication Number Publication Date
EP3946827A1 true EP3946827A1 (de) 2022-02-09

Family

ID=69845417

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20711903.3A Withdrawn EP3946827A1 (de) 2019-04-01 2020-03-16 Ermitteln eines parameters auf einen roboter wirkenden kraft

Country Status (3)

Country Link
EP (1) EP3946827A1 (de)
DE (1) DE102019204564A1 (de)
WO (1) WO2020200717A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021212128B8 (de) 2021-10-27 2023-04-06 Kuka Deutschland Gmbh Verfahren und System zum Steuern eines lasttragenden Roboters sowie zum Ermitteln eines Parameters der Last des Roboters
DE102021214721B3 (de) 2021-12-20 2023-05-04 Kuka Deutschland Gmbh Verfahren und System zum Betreiben eines Roboters
DE102022123243B3 (de) 2022-09-13 2024-03-14 Schaeffler Technologies AG & Co. KG Künstliche Intelligenz zur präzisen Bestimmung von Ausgangsdrehmomenten kollaborativer Roboter

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04233602A (ja) * 1990-12-28 1992-08-21 Fanuc Ltd ロボットのたわみ補正方法及びたわみ認識方法
JP3927454B2 (ja) * 2002-06-27 2007-06-06 株式会社不二越 多関節ロボットの負荷重量及び負荷重心位置の自動算出方法
WO2009088828A1 (en) * 2007-12-31 2009-07-16 Abb Research Ltd. Method and apparatus using a force sensor to provide load compensation for a robot
JP5383760B2 (ja) * 2011-09-09 2014-01-08 ファナック株式会社 ワーク質量測定機能を備えたロボット
JP5938954B2 (ja) * 2012-03-06 2016-06-22 株式会社ジェイテクト ロボットのキャリブレーション方法及びキャリブレーション装置
DE102013010290A1 (de) * 2013-06-19 2014-12-24 Kuka Laboratories Gmbh Überwachen eines kinematisch redundanten Roboters
DE102015008144B4 (de) * 2015-06-24 2024-01-18 Kuka Roboter Gmbh Umschalten einer Steuerung eines Roboters in einen Handführ-Betriebsmodus
JP6816495B2 (ja) * 2016-12-19 2021-01-20 株式会社デンソーウェーブ ロボットのたわみ補正方法、ロボットの制御装置
JP7003985B2 (ja) * 2017-02-28 2022-01-21 ソニーグループ株式会社 医療用支持アームシステムおよび制御装置

Also Published As

Publication number Publication date
DE102019204564A1 (de) 2020-10-01
WO2020200717A1 (de) 2020-10-08

Similar Documents

Publication Publication Date Title
WO2020200717A1 (de) Ermitteln eines parameters auf einen roboter wirkenden kraft
EP2954986B1 (de) Vorrichtung und Verfahren zum Steuern und Regeln eines Mehrkörpersystems
EP3402632B1 (de) Bestimmung einer orientierung eines roboters relativ zur gravitationsrichtung
DE102010044644B4 (de) Verfahren zur Kollisionserkennung für eine Antriebseinheit
DE112013003209B4 (de) Robotersteuerungsvorrichtung und Robotersteuerungsverfahren
DE3881903T2 (de) Nichtlineare Steureungseinheit für einen Manipulator mit mehreren Freiheitsgraden.
EP1445075B1 (de) Verfahren zum Überwachen eines Roboters und Roboter mit einer Überwachungseinrichtung
DE102018209594B4 (de) Verfahren und System für Lastschätzung und Schwerkraftausgleich auf einem Roboterarm
EP2628575A2 (de) Verfahren zum Ermitteln eines Drehmoments und Industrieroboter
DE102006055917B4 (de) Industrieroboter und Verfahren zum Erkennen eines ungenau parametrierten Robotermodells
DE102018210864B3 (de) Verfahren und System zum Regeln eines Roboters
DE102018114445B4 (de) Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters
DE102011007083B4 (de) Verfahren zum Steuern des Positionierens eines Aktuators mit einem Wellgetriebe
WO2019068686A1 (de) Kalibrierung eines gelenklastsensors eines roboters
WO2020200804A1 (de) Kalibrieren von drehmomentsensoren eines robotermanipulators
EP3802013B1 (de) Kraftregelung eines roboters
DE102018112370A1 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
EP0985989A2 (de) Verfahren und Einrichtung zum Verbessern des dynamischen Verhaltens eines Roboters
EP3535097B1 (de) Kalibrieren eines modells eines prozess-roboters und betreiben eines prozess-roboters
WO2016096123A1 (de) Verfahren und vorrichtung zum steuern einer antriebsanordnung zum bewegen eines, insbesondere robotergeführten, werkzeugs
DE102020209866B3 (de) Verfahren und System zum Betreiben eines Roboters
DE102021212128B3 (de) 16Verfahren und System zum Steuern eines lasttragenden Roboters sowie zum Ermitteln eines Parameters der Last des Roboters
EP3589456B1 (de) Parallelkinematik
EP3253540B1 (de) Verfahren zum justieren eines drehmomentsensors eines roboterarms und roboter mit einem roboterarm und einer steuervorrichtung
EP4084937B1 (de) Bewegen einer roboterfesten referenz

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20211018

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20220608

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230528