WO2018219673A1 - Steuern einer roboteranordnung - Google Patents

Steuern einer roboteranordnung Download PDF

Info

Publication number
WO2018219673A1
WO2018219673A1 PCT/EP2018/062937 EP2018062937W WO2018219673A1 WO 2018219673 A1 WO2018219673 A1 WO 2018219673A1 EP 2018062937 W EP2018062937 W EP 2018062937W WO 2018219673 A1 WO2018219673 A1 WO 2018219673A1
Authority
WO
WIPO (PCT)
Prior art keywords
position data
robot
modified
arrangement
time interval
Prior art date
Application number
PCT/EP2018/062937
Other languages
English (en)
French (fr)
Inventor
Felix Allmendinger
Jan Bandouch
Günter Schreiber
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=62235940&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2018219673(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Kuka Deutschland Gmbh filed Critical Kuka Deutschland Gmbh
Priority to EP18726763.8A priority Critical patent/EP3630418A1/de
Priority to CN201880035502.4A priority patent/CN110891741A/zh
Priority to US16/617,790 priority patent/US11839985B2/en
Publication of WO2018219673A1 publication Critical patent/WO2018219673A1/de

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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • 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/37017Calibration of vision system, set correct attidude of sensor to workpiece
    • 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/39391Visual servoing, track end effector with camera image feedback

Definitions

  • the present invention relates to a method and system for controlling a robot assembly having at least one robot and to an arrangement with the system and a computer program product for carrying out the method.
  • the object of the present invention is to improve a control of a robot arrangement with at least one robot.
  • Claims 12-14 provide a system or computer program product
  • a robot arrangement has one or more robots, one or more of which, in one development, has at least three, in particular at least six, in particular at least seven, in particular motor, actuated axes or joints, in particular rotation axes or joints, have.
  • a method for controlling the robot arrangement comprises, in particular cyclically repeated and / or
  • first position data from an object arrangement with one or more objects, the detected position data having a first, in particular minimum, maximum and / or average or averaged, time interval, in particular by means of at least one (first) sensor;
  • Time interval is, based on or in dependence on, in particular, the acquired (first) position data
  • Controlling the robot arrangement in particular determining, commanding and / or starting, of nominal positions of the robot arrangement, in particular of the one or more of its robots, on the basis of the modified (first)
  • Posen Scheme in particular for following, recording and / or escape of the or one or more object (s) by the robot assembly, wherein for more compact representation, a regulation of the or one or more robots of the robot assembly is referred to as taxes.
  • a regulation of the or one or more robots of the robot assembly is referred to as taxes.
  • controlling the robot arrangement on the basis of modified position data comprises a superimposition of modified position data with manipulation instructions, in particular webs or the like, which are predetermined, in particular defined, relative to the object arrangement, in particular the traversing of webs on or relative to objects whose poses are determined by the modified position data.
  • robotic setpoint positions are no longer first determined on the basis of detected position data and only (or finely) interpolated between these or in the axial or joint space of the robot arrangement, but already modified position data with a higher (sampling ) Rate provided or used for tax purposes.
  • a second time interval which is smaller than the first time interval, corresponds to a fine interpolation or extrapolation in the narrower sense.
  • a slower sampling rate of the (acquisition of or respectively acquired) position data can advantageously be combined with a shorter control or regulating clock.
  • a first time interval of about 20 ms of a 50 Hz half-image camera can be combined with a control reference clock cycle of 1 ms.
  • Speed determination and / or advance calculation can also be used in case of parcel failure.
  • a faster sample rate of the (acquired) position data may be combined with a slower control clock.
  • a quotient of the first time interval of the detected position data divided by the second time interval of the modified position data is at least 0.9, preferably at least 1, in particular at least 1, 1, and / or at most 120, which in the present case is also generalized as (fine). Interpolation is called. Accordingly, in a preferred
  • the method comprises the steps:
  • the further detected position data having a further, in particular the same or another, in particular minimum, maximum and / or average or averaged, first time interval;
  • the another, in particular the same or another, in particular minimum, maximum and / or average or averaged, second time interval, which is smaller or larger than this further first time interval or equal to this further first time interval is, have, based on or in dependence on, in particular from, the further acquired position data;
  • Controlling the robot arrangement in particular determining, commanding and / or starting, of nominal positions of the robot arrangement, in particular of the same or the same and / or other robot of the robot arrangement, on the basis (also) of the further modified position data, the same in a development or a different clock rate and / or phase storage than the (first) modified position data.
  • Time interval of the further detected position data divided by the further second time interval of the further modified position data at least 0.9, preferably at least 1, in particular at least 1, 1, and / or at most 120. Accordingly, in a preferred embodiment, the further second time interval is less than or equal to further first time interval or at most as large as the further first time interval, in a development (real) smaller than the further first time interval.
  • Three-dimensional, position and / or orientation, in particular angular position, of the corresponding object, in particular relative to the robot assembly and / or an environment or in (Cartesian) space from, in particular, the position and / or orientation describe or specify, in particular ,
  • the (first and / or further) detected position data and / or the (first and / or further) modified position data depend, in particular or only, on one, in particular Cartesian and / or one, two or three-dimensional, Position and / or orientation of the object arrangement, in particular of the or one or more of their objects, in particular relative to the robot arrangement and / or an environment or in (Cartesian) space from, they can describe or specify, in particular.
  • Rail (long) s are minimized or are on large circles such a ball or puncture points of a fixed object coordinate system by a ball around the center to move on large circles of the ball.
  • an unexpected behavior in particular an undesirable staggering, which reduces based on the (first or further modified) position data controlled robot arrangement, preferably be avoided.
  • the (first and / or further) detected position data and / or the (first and / or further) modified position data can comprise quaternions, in particular be.
  • the (first and / or further) modified position data are (selected) such that their, in particular first,
  • Object arrangement in particular of one or more of the objects, describes or indicates, in particular directly or directly, as is the case in particular with quaternions, in contrast, for example, to time derivatives of EULER or KARDAN angles.
  • Quaternionendarou be present, they are in an embodiment for or in the determination of the (first or further) modified position data in
  • Quaternionendarwolf transformed, in one embodiment, for example, from a representation with EULER or KARDAN angles, as is common in sensors for detecting orientations.
  • the (first and / or further) modified position data are determined in such a way or with the proviso that they satisfy a function, in particular piecewise defined polynomials, in particular third order, or
  • the modified position data can be determined particularly advantageously in one embodiment, in particular by scanning or evaluating the
  • the function at support points predetermined, especially by successive detected position data, in particular by linear
  • Execution translational and / or rotational speeds specify the object arrangement. Additionally or alternatively, in a further development, the piecewise defined polynomials have the same derivative at their transition points.
  • particularly advantageous modified position data can be determined, these in particular have a course (at least C 1 continuous) and / or, in particular as a result, an undesired driving drone can be reduced and / or an evaluation can be improved.
  • the (first and / or further) modified position data are used by means of one or more filters or filter stages, in particular
  • Low-pass filtering or stages in particular the (first or further) detected modified position data determined.
  • advantageous modified position data can be determined in one embodiment, in particular, these are smoothed and / or measurement errors, in particular noise, are reduced.
  • a failure (s) (first and / or further) acquired position data for one, in particular predetermined in the case of or due to a failure (s) (first and / or further) acquired position data for one, in particular predetermined.
  • the modified or further modified position data such or determined with the proviso that one, in particular translational and / or rotational speed, in particular (absolute) angular velocity, the
  • Object arrangement in particular relative to the robot assembly and / or an environment or in the (Cartesian) space between these modified position data is constant or is held.
  • a time delay in the detection of position data and / or their transmission can be advantageously compensated.
  • control of the robot arrangement is based on modified or further modified
  • the (first and / or further) modified position data in a further development via a network, in particular the Internet and / or a LAN, in particular WLAN, and / or a cloud, are transmitted to a controller which controls the Robot arrangement or the or one or more of their robots controls, in particular of desired positions of the robot assembly, in particular of the or one or more of their robots, based on the (first and / or further) modified position data determined, commanded and / or anatom, in particular for following, recording and / or escape from the or one or more object (s) by the robot assembly, or for this purpose, in particular hardware and / or software -, in particular programmatically, is set up or used.
  • the (first and / or further) modified position data can also be at least partially distributed or on several computers and / or in the
  • Robot controller can be determined.
  • the position data in one embodiment can be detected particularly advantageously, in particular interference-free, precise and / or fast, and / or the at least partial displacement of the (fine) interpolation into the space of the poses of the objects and / or the superposition of first and further modified position data be carried out particularly advantageous.
  • controlling the robot arrangement on the basis of the modified position data and / or the further modified position data can combine, in particular superpose, these position data
  • Manipulation regulations in particular webs or the like, include, in particular, those which are predetermined, in particular defined, relative to the object order, in particular the one or more of their objects
  • Order-related manipulation regulations for example, a departure of paths, which are given on or relative to the object order, by the robot arrangement.
  • the present invention is a system for controlling the robot assembly, in particular hardware and / or software, in particular
  • Time interval based on or in accordance with detected (first) position data of the object arrangement, wherein the second time interval is smaller or is greater than a first time interval or equal to a first time interval of the detected position data, for controlling the robot assembly.
  • the system has:
  • the detected position data having the first, in particular minimum, maximum and / or mean or averaged, time interval;
  • Means for controlling the robot arrangement in particular determining
  • modified (first) position data in particular for following, recording and / or withdrawing from the one or more object (s) by the robot arrangement.
  • system or its (e) means comprises in one embodiment: means for detecting further position data from the object arrangement having a further first time interval, temporally parallel to the detection of the (first) position data, in particular by means of at least one additional sensor; and / or means for determining further modified position data from the object arrangement which have a further second time interval which is smaller or larger than the further first time interval or equal to the further first time interval on the basis of the further acquired position data; and or
  • Means for controlling the robot arrangement on the basis of this further modified position data are provided.
  • Position data such that it satisfies a function, in particular piecewise defined polynomials, in particular third order, which approximates the detected position data, in particular runs through detected position data and / or support points between successive acquired position data; and or
  • Object arrangement in the space between modified position data is constant; and / or means for stopping the control of the robot assembly based on the modified position data and / or issuing a warning in the event of missing detected position data for a termination time; and or
  • a means in the sense of the present invention may be designed in terms of hardware and / or software, in particular a data or signal-connected, preferably digital, processing, in particular microprocessor unit (CPU) and / or a memory and / or bus system or multiple programs or program modules.
  • the CPU may be configured to execute instructions implemented as a program stored in a memory system, to capture input signals from a data bus, and / or
  • a storage system may comprise one or more, in particular different, storage media, in particular optical, magnetic, solid state and / or other non-volatile media.
  • the program may be such that it is capable of embodying or executing the methods described herein so that the CPU may perform the steps of such methods and thereby control, in particular, the robot arrangement.
  • a computer program product may have, in particular, a storage medium for storing a program or a program stored thereon, in particular non-volatile memory, wherein execution of this program causes a system or a controller, in particular a computer, to perform a described here Execute method or one or more of its steps.
  • Fig. 1 an arrangement with a robot and a system for controlling the robot according to an embodiment of the present invention
  • FIG. 2 detected and modified position data
  • FIG 3 shows a method for controlling the robot according to an embodiment of the present invention.
  • Fig. 1 shows an arrangement with a robot 1 and a system for controlling the robot 1 according to an embodiment of the present invention.
  • the system comprises a robot controller 2 and a detection and processing device 30 communicating therewith for detecting position data of objects 4 which has a camera 31.
  • the detection and processing device 30 acquires (first) position data x s at specific times ti, t 5 , t, the three-dimensional Cartesian position and orientation of the objects 4, of which only one is shown by way of example in FIG 9 describe and which are indicated in Fig. 2 by filled rectangles.
  • these first position data x s have a first time interval ⁇ , which is constant in the exemplary embodiment and the sampling or evaluation rate of the
  • the acquired position data describe the orientation of the object 4, possibly after appropriate transformation, in quaternions.
  • the camera 31 detects poses of the object 4 in a step S90 (see Fig. 3).
  • the detection and processing device 30 checks in a step S100 whether a predetermined abort time has already passed since the last detected pose was received by the camera 31. If this is the case (S100: "Y"), this means that (new) values remain recorded for the abort time
  • Position data control of the robot 1 based on the position data is stopped and a warning is issued in a step S1.
  • the acquiring and processing device 30 checks, in a step S120, whether a predetermined follow-up time has elapsed since the last detected pose was received from the camera 31.
  • Position data are determined in a manner explained below with reference to FIG. 2 in a step S130 modified position data y (t) such that a
  • a step S160 the acquiring and processing device 30 determines a third-order polynomial of a function f defined piecewise by third-order polynomials such that it adjoins the preceding polynomial C 1 continuously or has the same (time) derivative at the transition point, as well as by the new support point x d extends, where the determined speed v d (t 7).
  • This function f or this polynomial (piece) is evaluated in a control clock cycle of the robot controller 2, ie with a shorter time interval T 2 in a step S 170, and results in the modified position data y, which is indicated by filled circles in FIG. 2 and for the times t 4 , t 5 , t 6 , tu and ti 2 are designated by way of example.
  • the robot controller 2 controls the robot 1 in step S170, for example, to grasp the object 4 or the like.
  • a modified pose data y a
  • Object-related manipulation rule for example, a B (earbeitungsb) Ahn defined relative to the object 4, superimposed and the robot 1 based on the
  • step S130 the function f is activated in step S130 (see FIG the corresponding point tu linearly continued with the slope there f '(tn), as indicated by dashed lines in Fig. 2, so that the translational and rotational speed of the object 4 in the space between modified
  • Pos data from tu is constant.
  • this function is evaluated in the regular cycle of the robot controller 2 or with the shorter time interval T 2, and results in the modified position data y (ti 2 ).
  • the method is advantageously stopped in the described method, the rotation of the object 4 in the space between modified position data y is minimal, in particular due to the polynomial interpolation of the quaternions that in particular a staggering
  • further modified position data can also be determined for further position data recorded in parallel by a camera 32 in an analogous manner described here, and the robot 1 can also be controlled on the basis of this further modified position data.
  • the robot controller 2 can be provided with the modified clock data of camera 31 and the other modified position data from camera 32 with the same clock by the modified position data and the other modified position data with the same second time interval T 2 are determined or the same second time interval exhibit.
  • the modified position data and the further modified position data may also have different clock rates and / or phase positions. It can be seen in FIG. 2 that the modified position data y "lag" with the detected position data x s by 1 ⁇ 2, since the corresponding interpolation point (eg x d (eg x d (eg) only after receipt of the new detected pose (eg x s (t 9 )).

Abstract

Ein erfindungsgemäßes Verfahren zum Steuern einer Roboteranordnung mit wenigstens einem Roboter (1) umfasst die Schritte: Erfassen von Posendaten (Xs) von einer Objektanordnung mit wenigstens einem Objekt (4), die einen ersten Zeitabstand (T1) aufweisen; Ermitteln von modifizierten Posendaten (y) von der Objektanordnung, die einen zweiten Zeitabstand (T2) aufweisen, der kleiner oder größer als der erste Zeitabstand oder gleich dem erste Zeitabstand ist, auf Basis der erfassten Posendaten; und Steuern der Roboteranordnung auf Basis dieser modifizierten Posendaten.

Description

Beschreibung
Steuern einer Roboteranordnung
Die vorliegende Erfindung betrifft ein Verfahren und System zum Steuern einer Roboteranordnung mit wenigstens einem Roboter sowie eine Anordnung mit dem System und ein Computerprogrammprodukt zur Durchführung des Verfahrens.
Aus betriebsinterner Praxis ist es bekannt, Positionen von Objekten, beispielsweise mithilfe von Kameras, zu erfassen und Roboter auf Basis dieser erfassten Positionen zu steuern, beispielsweise den Objekten zu folgen, ihnen auszuweichen, sie aufzunehmen oder dergleichen. Dabei sind die Zeitabstände, in denen die erfassten Positionen vorliegen, häufig größer als ein Regeltakt zum Steuern der Roboter.
Entsprechend werden nach betriebsinterner Praxis für das Steuern der Roboter auf Basis der erfassten Positionen der Objekte zunächst auf Basis dieser Roboter-Soll- Stellungen ermittelt (beispielsweise durch entsprechende Rückwärtskinematik oder dergleichen) und dann zwischen diesen Roboter-Soll-Stellungen auf den Regeltakt der Robotersteuerung (fein)interpoliert.
Aufgabe der vorliegenden Erfindung ist es, ein Steuern einer Roboteranordnung mit wenigstens einem Roboter zu verbessern.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 12 - 14 stellen ein System bzw. Computerprogrammprodukt zur
Durchführung eines hier beschriebenen Verfahrens bzw. eine Anlage mit einer Roboteranordnung und einem hier beschriebenen System zum Steuern der
Roboteranordnung nach einem hier beschriebenen Verfahren unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen. Nach einem Ausführung der vorliegenden Erfindung weist eine Roboteranordnung einen oder mehrere Roboter auf, der bzw. von denen einer oder mehrere in einer Weiterbildung (jeweils) wenigstens drei, insbesondere wenigstens sechs, insbesondere wenigstens sieben, insbesondere motorisch, aktuierte Achsen bzw. Gelenke, insbesondere Drehachsen bzw. -gelenke, aufweisen.
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Steuern der Roboteranordnung die, insbesondere zyklisch wiederholten und/oder
sequentiellen bzw. aufeinanderfolgenden, Schritte auf:
- Erfassen von (ersten) Posendaten von einer Objektanordnung mit einem oder mehreren Objekten, wobei die erfassten Posendaten einen ersten, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, Zeitabstand aufweisen, insbesondere mithilfe wenigstens eines (ersten) Sensors;
- Ermitteln von modifizierten (ersten) Posendaten von der Objektanordnung, die einen zweiten, insbesondere minimalen, maximalen und/oder mittleren bzw.
gemittelten, Zeitabstand aufweisen, der kleiner oder größer, in einer Ausführung höchstens um den Faktor 20, insbesondere höchstens um den Faktor 2, größer, in einer Ausführung um wenigstens den Faktor 2, insbesondere um wenigstens den Faktor 10, und/oder um höchstens den Faktor 200, insbesondere um höchstens den Faktor 120, kleiner, als der erste Zeitabstand oder gleich dem ersten
Zeitabstand ist, auf Basis bzw. in Abhängigkeit von, insbesondere aus, den erfassten (ersten) Posendaten; und
- Steuern der Roboteranordnung, insbesondere Ermitteln, Kommandieren und/oder Anfahren, von Soll-Stellungen der Roboteranordnung, insbesondere des bzw. eines oder mehrerer ihrer Roboter, auf Basis der modifizierten (ersten)
Posendaten, insbesondere zum Folgen, Aufnehmen und/oder Auszuweichen von dem bzw. einem oder mehreren Objekt(en) durch die Roboteranordnung, wobei zur kompakteren Darstellung auch ein Regeln des bzw. eines oder mehrerer Roboter der Roboteranordnung als Steuern bezeichnet wird. In einer
Weiterbildung umfasst das Steuern der Roboteranordnung auf Basis von modifizierten Posendaten eine Überlagerung von modifizierten Posendaten mit Manipulationsvorschriften, insbesondere Bahnen oder dergleichen, die relativ zu der Objektanordnung vorgegeben, insbesondere definiert, sind, insbesondere das Abfahren von Bahnen auf bzw. relativ zu Objekten, deren Posen durch die modifizierten Posendaten bestimmt sind bzw. werden. In einer Ausführung werden somit nicht mehr zuerst Roboter-Soll-Stellungen auf Basis erfasster Posendaten ermittelt und erst bzw. nur anschließend zwischen diesen bzw. im Achs- bzw. Gelenkraum der Roboteranordnung (fein)interpoliert, sondern bereits modifizierte Posendaten mit einer höheren (Abtast) Rate zur Verfügung gestellt bzw. zum Steuern genutzt.
Hierdurch können in einer Ausführung ein oder mehrere Nachteile, die sich infolge einer solchen späten bzw. verzögerten Feininterpolation erst bzw. nur im Achsraum der Roboter ergeben, zum Beispiel Rauschen, Unstetigkeiten, Achsbrummen, Jitter, Latenz oder dergleichen, reduziert, vorzugsweise vermieden werden. Ein zweiter Zeitabstand, der kleiner als der erste Zeitabstand ist, entspricht einer Feininter- bzw. -extrapolation im engeren Sinne. Hierdurch kann insbesondere eine langsameren Abtastrate der (Erfassung der bzw. erfassten) Posendaten vorteilhaft mit einem kürzeren Steuer- bzw. Regeltakt kombiniert werden. So kann etwa vorteilhaft ein erster Zeitabstand von etwa 20 ms einer 50 Hz Kamera mit Halb-Bildverfahren mit einer Steuer- bzw. Regel-Bezugstaktung von 1 ms kombiniert werden. Durch einen zweiter Zeitabstand, der gleich dem ersten Zeitabstand ist, kann in einer Ausführung vorteilhaft ein glatte(re)s Signal realisiert, insbesondere eine vorteilhafte
Geschwindigkeitsbestimmung und/oder Vorausrechnung auch bei Paketausfällen genutzt werden. Durch einen zweiten Zeitabstand, der größer als der erste
Zeitabstand ist, kann in einer Ausführung eine schnellere Abtastrate der (Erfassung der bzw. erfassten) Posendaten mit einem langsameren Steuer- bzw. Regeltakt kombiniert werden. In einer bevorzugten Ausführung beträgt ein Quotient des ersten Zeitabstands der erfassten Posendaten dividiert durch den zweiten Zeitabstand der modifizierten Posendaten wenigstens 0,9, vorzugsweise wenigstens 1 , insbesondere wenigstens 1 ,1 , und/oder höchstens 120, was vorliegend verallgemeinernd ebenfalls als (Fein)lnterpolation bezeichnet wird. Entsprechend ist in einer bevorzugten
Ausführung der zweite Zeitabstand kleiner oder gleich dem ersten Zeitabstand bzw. höchstens so groß wie der erste Zeitabstand, in einer Weiterbildung (echt) kleiner als der erste Zeitabstand. Durch die erfindungsgemäße wenigstens teilweise Verlagerung der (Fein)lnterpolation in den Raum der Posen der Objekte können in einer Ausführung besonders vorteilhaft verschiedene zeitgleich erfasste Posendaten, insbesondere durch unterschiedliche Sensoren, insbesondere mit unterschiedlichen Zeitabständen, erfasste Posendaten, zum Steuern der Roboteranordnung genutzt, insbesondere zusammengeführt, insbesondere überlagert, und/oder an eine Steuerung zum Steuern der
Roboteranordnung übermittelt werden. Entsprechend weist das Verfahren in einer Ausführung die Schritte auf:
- Erfassen von weiteren Posendaten von der Objektanordnung, in einer Ausführung dem- bzw. denselben und/oder anderen Objekten der Objektanordnung, zeitlich parallel zu bzw. zusammen mit dem Erfassen der (ersten) Posendaten,
insbesondere mithilfe wenigstens eines zusätzlichen Sensors, wobei die weiteren erfassten Posendaten einen weiteren, insbesondere denselben oder einem anderen, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, ersten Zeitabstand aufweisen;
- Ermitteln von weiteren modifizierten Posendaten von der Objektanordnung, die einen weiteren, insbesondere denselben oder einem anderen, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, zweiten Zeitabstand, der kleiner oder größer als dieser weitere erste Zeitabstand oder gleich diesem weiteren ersten Zeitabstand ist, aufweisen, auf Basis bzw. in Abhängigkeit von, insbesondere aus, den weiteren erfassten Posendaten; und
- Steuern der Roboteranordnung, insbesondere Ermitteln, Kommandieren und/oder Anfahren, von Soll-Stellungen der Roboteranordnung, insbesondere des- bzw. derselben und/oder anderer Roboter der Roboteranordnung, auf Basis (auch) der weiteren modifizierten Posendaten, die in einer Weiterbildung dieselbe oder eine andere Taktrate und/oder Phasenlager aufweise (können) als die (ersten) modifizierten Posendaten. In einer bevorzugten Ausführung beträgt ein Quotient des weiteren ersten
Zeitabstands der weiteren erfassten Posendaten dividiert durch den weiteren zweiten Zeitabstand der weiteren modifizierten Posendaten wenigstens 0,9, vorzugsweise wenigstens 1 , insbesondere wenigstens 1 ,1 , und/oder höchstens 120. Entsprechend ist in einer bevorzugten Ausführung der weitere zweite Zeitabstand kleiner oder gleich dem weiteren ersten Zeitabstand bzw. höchstens so groß wie der weitere erste Zeitabstand, in einer Weiterbildung (echt) kleiner als der weitere erste Zeitabstand. Eine Pose eines Objekts im Sinne der vorliegenden Erfindung hängt in einer
Ausführung von einer, insbesondere kartesischen und/oder ein-, zwei- oder
dreidimensionalen, Position und/oder Orientierung, insbesondere Winkelstellung, des entsprechenden Objekts, insbesondere relativ zu der Roboteranordnung und/oder einer Umgebung bzw. im (kartesischen) Raum ab, sie kann insbesondere die Position und/oder Orientierung beschreiben bzw. angeben, insbesondere sein.
Entsprechend hängen in einer Ausführung die (ersten und/oder weiteren) erfassten Posendaten und/oder die (ersten und/oder weiteren) modifizierten Posendaten, insbesondere auch oder nur, von einer, insbesondere kartesischen und/oder ein-, zwei- oder dreidimensionalen, Position und/oder Orientierung der Objektanordnung, insbesondere des bzw. einer oder mehrerer ihrer Objekte, insbesondere relativ zu der Roboteranordnung und/oder einer Umgebung bzw. im (kartesischen) Raum ab, sie können diese insbesondere beschreiben bzw. angeben, insbesondere sein.
Es hat sich überraschend herausgestellt, dass die wenigstens teilweise
(Fein)lnterpolation bereits im Raum (auch) der Orientierung bzw. Winkellage bzw. -Stellung von erfassten Objekten ein besonders vorteilhaftes Steuern von
Robotern ermöglicht.
In einer Weiterbildung werden die (ersten und/oder weiteren) modifizierten
Posendaten derart bzw. mit der Maßgabe ermittelt, dass eine, insbesondere (absolute) Drehung der Objektanordnung bzw. des bzw. eines oder mehrerer Objekte der
Objektanordnung im Raum zwischen (ersten bzw. weiteren) modifizierten Posendaten, die aufeinanderfolgen oder zwischen denen ein oder mehrere Posendaten liegen, (jeweils) minimal ist bzw. wird.
Betrachtet man, wie in Fig. 1 exemplarisch dargestellt, ein objektfestes
Koordinatensystem K und eine, in Fig. 1 strich-doppelpunktierte, Kugel um dessen Mittelpunkt, so beschreiben bei einer Drehung des entsprechenden Objekts 4 die Durchstoßpunkte des Koordinatensystems bzw. seiner Achsen durch die Kugel Bahnen b auf der Kugel, deren Längen ein Maß für die Drehung des Objekts darstellen. Entsprechend werden in einer Weiterbildung die (ersten und/oder weiteren) modifizierten Posendaten derart bzw. mit der Maßgabe ermittelt, dass diese
Bahn(läng)en minimiert sind bzw. werden bzw. auf Großkreisen einer solchen Kugel liegen bzw. Durchstoßpunkte eines objektfesten Koordinatensystems durch eine Kugel um dessen Mittelpunkt sich auf Großkreisen der Kugel bewegen.
Hierdurch kann in einer Ausführung ein unerwartetes Verhalten, insbesondere ein unerwünschtes Torkeln, der auf Basis der (ersten bzw. weiteren modifizierten) Posendaten gesteuerten Roboteranordnung reduziert, vorzugsweise vermieden werden. Insbesondere hierzu können die (ersten und/oder weiteren) erfassten Posendaten und/oder die (ersten und/oder weiteren) modifizierten Posendaten Quaternionen aufweisen, insbesondere sein.
Zusätzlich oder alternativ sind in einer Ausführung die (ersten und/oder weiteren) modifizierten Posendaten derart (gewählt), dass ihre, insbesondere erste,
Zeitableitung eine, insbesondere absolute, Winkelgeschwindigkeit der
Objektanordnung, insbesondere des bzw. eines oder mehrerer der Objekte, beschreibt bzw. angibt, insbesondere direkt bzw. unmittelbar, wie dies insbesondere bei Quaternionen der Fall ist, im Gegensatz beispielsweise zu Zeitableitungen von EULER- oder KARDAN-Winkeln. Hierdurch können in einer Ausführung die vorstehen erläuterten minimalen
Drehungen bzw. minimale Bahnen bzw. Großkreise realisiert und/oder eine
Rechenzeit vorteilhaft verkürzt werden.
Quaternionen sind dem Fachmann zur Beschreibung von Orientierungen bzw.
Orientierungsänderungen bzw. Drehungen bekannt, so dass auf diese nicht weiter einzugehen ist. Sofern die (ersten bzw. weiteren) erfassten Posendaten nicht in
Quaternionendarstellung vorliegen, werden sie in einer Ausführung zur bzw. bei der Ermittlung der (ersten bzw. weiteren) modifizierten Posendaten in
Quaternionendarstellung transformiert, in einer Ausführung beispielsweise aus einer Darstellung mit EULER- oder KARDAN-Winkeln, wie sie bei Sensoren zur Erfassung von Orientierungen üblich ist. In einer Ausführung werden die (ersten und/oder weiteren) modifizierten Posendaten derart bzw. mit der Maßgabe ermittelt, dass sie einer Funktion, insbesondere stückweise definierten Polynomen, insbesondere dritter Ordnung, genügen bzw.
durch diese beschrieben werden, die (erste bzw. weitere) erfasste Posendaten approximiert, insbesondere durch (erste bzw. weitere) erfasste Posendaten und/oder, insbesondere durch lineare Interpolation bestimmte, Stützstellen zwischen
aufeinanderfolgenden (ersten bzw. weiteren) erfassten Posendaten verläuft.
Hierdurch können die modifizierten Posendaten in einer Ausführung besonders vorteilhaft ermittelt werden, insbesondere durch Abtasten bzw. Auswerten der
Funktion in dem (jeweiligen) zweiten Zeitabstand.
In einer Weiterbildung weist die Funktion an Stützstellen vorgegebene, insbesondere durch aufeinanderfolgende erfasste Posendaten, insbesondere durch lineare
Interpolation zwischen diesen, bestimmte, (Zeit)Ableitungen auf, die in einer
Ausführung translatorische und/oder rotatorische Geschwindigkeiten, insbesondere (absoluten) Winkelgeschwindigkeiten, der Objektanordnung angeben. Zusätzlich oder alternativ weisen in einer Weiterbildung die stückweise definierten Polynome an ihren Übergangsstellen dieselbe Ableitung auf.
Hierdurch können in einer Ausführung besonders vorteilhafte modifizierte Posendaten ermittelt werden, diese insbesondere einen (wenigstens C1-stetigen) Verlauf aufweisen und/oder, insbesondere hierdurch, ein unerwünschtes Antriebsbrummen reduziert und/oder eine Auswertung verbessert werden.
In einer Ausführung werden die (ersten und/oder weiteren) modifizierten Posendaten mithilfe einer oder mehrerer Filterungen bzw. Filterstufen, insbesondere
Tiefpassfilterungen bzw. -stufen, insbesondere der (ersten bzw. weiteren) erfassten modifizierten Posendaten ermittelt.
Hierdurch können in einer Ausführung vorteilhafte modifizierte Posendaten ermittelt, insbesondere diese geglättet und/oder Messfehler, insbesondere -rauschen reduziert, werden. In einer Ausführung werden bei einem bzw. infolge eines Ausbleiben(s) (erster und/oder weiterer) erfasster Posendaten für eine, insbesondere vorgegebene,
Nachlaufzeit die modifizierten bzw. weiteren modifizierten Posendaten derart bzw. mit der Maßgabe ermittelt, dass eine, insbesondere translatorische und/oder rotatorische, Geschwindigkeit, insbesondere (absolute) Winkelgeschwindigkeit, der
Objektanordnung, insbesondere relativ zu der Roboteranordnung und/oder einer Umgebung bzw. im (kartesischen) Raum, zwischen diesen modifizierten Posendaten konstant ist bzw. gehalten wird.
Hierdurch kann in einer Ausführung eine Zeitverzögerung bei der Erfassung von Posendaten und/oder deren Übermittlung vorteilhaft kompensiert werden.
Zusätzlich oder alternativ wird in einer Ausführung bei bzw. infolge eines Ausbleiben(s) (erster und/oder weiterer) erfasster Posendaten für eine, insbesondere vorgegebene, Abbruchzeit, die in einer Weiterbildung größer als die Nachlaufzeit ist, das Steuern der Roboteranordnung auf Basis der modifizierten bzw. weiteren modifizierten
Posendaten gestoppt und/oder eine Warnung ausgegeben.
Hierdurch kann in einer Ausführung vorteilhaft auf eine übermäßige Zeitverzögerung bei der Erfassung von Posendaten und/oder deren Übermittlung reagiert und/oder die Gefahr eines dadurch bedingten inkorrekten Steuerns der Roboteranordnung reduziert werden. In einer Ausführung werden die (ersten und/oder weiteren) Posendaten der
Objektanordnung mithilfe eines oder mehrerer, insbesondere berührungsloser und/oder optischer, (ersten bzw. zusätzlichen) Sensoren, insbesondere (jeweils) einer oder mehrerer, insbesondere umgebungs- oder roboterfester, Kameras, insbesondere mithilfe einer Bildverarbeitung, erfasst. Zusätzlich oder alternativ werden in einer Ausführung die (ersten und/oder weiteren) modifizierten Posendaten, in einer Weiterbildung über ein Netzwerk, insbesondere das Internet und/oder ein LAN, insbesondere WLAN, und/oder eine Cloud, an eine Steuerung übermittelt, die die Roboteranordnung bzw. den oder einen oder mehrere ihrer Roboter steuert, insbesondere von Soll-Stellungen der Roboteranordnung, insbesondere des bzw. eines oder mehrerer ihrer Roboter, auf Basis der (ersten und/oder weiteren) modifizierten Posendaten ermittelt, kommandiert und/oder anfährt, insbesondere zum Folgen, Aufnehmen und/oder Auszuweichen von dem bzw. einem oder mehreren Objekt(en) durch die Roboteranordnung, bzw. hierzu, insbesondere hard- und/oder Software-, insbesondere programmtechnisch, eingerichtet ist bzw. verwendet wird.
Gleichermaßen können die (ersten und/oder weiteren) modifizierten Posendaten auch wenigstens teilweise verteilt bzw. auf mehreren Rechnern und/oder in der
Robotersteuerung ermittelt werden.
Hierdurch können die Posendaten in einer Ausführung besonders vorteilhaft, insbesondere störungsfrei, präzise und/oder schnell, erfasst und/oder die wenigstens teilweise Verlagerung der (Fein)lnterpolation in den Raum der Posen der Objekte und/oder die Überlagerung von ersten und weiteren modifizierten Posendaten besonders vorteilhaft durchgeführt werden.
Wie bereits erwähnt, kann in einer Ausführung das Steuern der Roboteranordnung auf Basis der modifizierten Posendaten und/oder der weiteren modifizierten Posendaten ein Kombinieren, insbesondere Überlagern, dieser Posendaten mit
Manipulationsvorschriften, insbesondere Bahnen oder dergleichen, umfassen, insbesondere sein, die relativ zu der Objektordnung, insbesondere dem bzw. einem oder mehreren ihrer Objekte, vorgegeben, insbesondere definiert, sind
(„objektordnungsbezogene Manipulationsvorschriften"), beispielsweise ein Abfahren von Bahnen, die auf bzw. relativ zu der Objektordnung vorgegeben sind, durch die Roboteranordnung.
Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Steuern der Roboteranordnung, insbesondere hard- und/oder Software-, insbesondere
programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist (wenigstens) auf:
- Mittel zum Ermitteln von modifizierten (ersten) Posendaten von einer
Objektanordnung mit einem oder mehreren Objekten, die einen zweiten, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten,
Zeitabstand aufweisen, auf Basis bzw. in Abhängigkeit von erfassten (ersten) Posendaten der Objektanordnung, wobei der zweite Zeitabstand kleiner oder größer als ein erster Zeitabstand oder gleich einem ersten Zeitabstand der erfassten Posendaten ist, zum Steuern der Roboteranordnung.
In einer Ausführung weist das System auf:
- Mittel zum Erfassen von den (ersten) Posendaten von der Objektanordnung,
wobei die erfassten Posendaten den ersten, insbesondere minimalen, maximalen und/oder mittleren bzw. gemittelten, Zeitabstand aufweisen; und/oder
- Mittel zum Steuern der Roboteranordnung, insbesondere Ermitteln,
Kommandieren und/oder Anfahren, von Soll-Stellungen der Roboteranordnung, insbesondere des bzw. eines oder mehrerer ihrer Roboter, auf Basis der
modifizierten (ersten) Posendaten, insbesondere zum Folgen, Aufnehmen und/oder Auszuweichen von dem bzw. einem oder mehreren Objekt(en) durch die Roboteranordnung.
Zusätzlich oder alternativ weist das System bzw. sein(e) Mittel in einer Ausführung auf: Mittel zum Erfassen von weiteren Posendaten von der Objektanordnung, die einen weiteren ersten Zeitabstand aufweisen, zeitlich parallel zu dem Erfassen der (ersten) Posendaten, insbesondere mithilfe wenigstens eines zusätzlichen Sensors; und/oder Mittel zum Ermitteln von weiteren modifizierten Posendaten von der Objektanordnung, die einen weiteren zweiten Zeitabstand aufweisen, der kleiner oder größer als der weitere erste Zeitabstand oder gleich dem weiteren ersten Zeitabstand ist, auf Basis der weiteren erfassten Posendaten; und/oder
Mittel zum Steuern der Roboteranordnung auf Basis dieser weiteren modifizierten Posendaten.
Mittel zum Ermitteln der modifizierten Posendaten und/oder weiteren modifizierten Posendaten derart, dass eine Drehung der Objektanordnung im Raum zwischen modifizierten Posendaten minimal ist; und/oder
Mittel zum Ermitteln modifizierten Posendaten und/oder weiteren modifizierten
Posendaten derart, dass sie einer Funktion, insbesondere stückweise definierten Polynomen, insbesondere dritter Ordnung, genügen, die erfasste Posendaten approximiert, insbesondere durch erfasste Posendaten und/oder Stützstellen zwischen aufeinanderfolgenden erfassten Posendaten verläuft; und/oder
Mittel zum Ermitteln der modifizierten Posendaten und/oder die weiteren modifizierten Posendaten mithilfe wenigstens einer Filterung; und/oder Mittel zum Ermitteln der modifizierten Posendaten bei Ausbleiben erfasster
Posendaten für eine Nachlaufzeit derart, dass eine Geschwindigkeit der
Objektanordnung im Raum zwischen modifizierten Posendaten konstant ist; und/oder Mittel zum Stoppen des Steuerns der Roboteranordnung auf Basis der modifizierten Posendaten und/oder Ausgeben einer Warnung bei Ausbleiben erfasster Posendaten für eine Abbruchzeit; und/oder
Mittel zum Erfassen der (ersten und/oder weiteren) Posendaten der Objektanordnung mithilfe wenigstens eines, insbesondere berührungslosen und/oder optischen, Sensors; und/oder
Mittel zum Übermittelt der (ersten und/oder weiteren) modifizierten Posendaten an eine Steuerung zum Steuern der Roboteranordnung; und/oder
Mittel zum Kombinieren, insbesondere Überlagern, der modifizierten Posendaten und/oder der weiteren modifizierten Posendaten mit objektordnungsbezogenen Manipulationsvorschriften zum Steuern der Roboteranordnung. 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) und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die CPU 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 CPU die Schritte solcher Verfahren ausführen kann und damit insbesondere die Roboteranordnung steuern kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nichtflü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.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert,:
Fig. 1 : eine Anordnung mit einem Roboter und einem System zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung;
Fig. 2: erfasste und modifizierte Posendaten; und
Fig. 3: ein Verfahren zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung.
Fig. 1 zeigt eine Anordnung mit einem Roboter 1 und einem System zum Steuern des Roboters 1 nach einer Ausführung der vorliegenden Erfindung.
Das System umfasst eine Robotersteuerung 2 und eine damit kommunizierende Erfassungs- und Verarbeitungseinrichtung 30 zum Erfassen von Posendaten von Objekten 4, die eine Kamera 31 aufweist.
Mithilfe der Kamera 31 erfasst die Erfassungs- und Verarbeitungseinrichtung 30 (erste) Posendaten xs, welche die dreidimensionale kartesische Position und Orientierung der Objekte 4, von denen in Fig. 1 exemplarisch nur eines dargestellt ist, zu bestimmten Zeiten ti , t5, t9 beschreiben und die in Fig. 2 durch ausgefüllte Rechtecke angedeutet sind.
Entsprechend weisen diese ersten Posendaten xs einen ersten Zeitabstand ΤΊ auf, der im Ausführungsbeispiel konstant ist und der Abtast- bzw. Auswerterate der
Kamera 31 bzw. Erfassungs- und Verarbeitungseinrichtung 30 entspricht. Die erfassten Posendaten beschreiben die Orientierung des Objekts 4, gegebenenfalls nach entsprechender Transformation, in Quaternionen. Die Kamera 31 erfasst in einem Schritt S90 Posen des Objekts 4 (vgl. Fig. 3). Die Erfassungs- und Verarbeitungseinrichtung 30 prüft in einem Schritt S100, ob bereits eine vorgegebene Abbruchzeit vergangen ist, seit die letzte erfasste Pose von der Kamera 31 empfangen wurde. Ist dies der Fall (S100:„Y"), d.h. bleiben für die Abbruchzeit (neue) erfasste
Posendaten aus, wird in einem Schritt S1 10 ein Steuern des Roboters 1 auf Basis der Posendaten gestoppt und eine Warnung ausgegeben.
Andernfalls (S100:„N") prüft die Erfassungs- und Verarbeitungseinrichtung 30 in einem Schritt S120, ob eine vorgegebene Nachlaufzeit vergangen ist, seit die letzte erfasste Pose von der Kamera 31 empfangen wurde.
Ist dies der Fall (S120:„Y"), d.h. bleiben für die Nachlaufzeit (neue) erfasste
Posendaten aus, werden in nachfolgend mit Bezug auf Fig. 2 erläuterter Weise in einem Schritt S130 modifizierte Posendaten y(t) derart ermittelt, dass eine
translatorische und rotatorische Geschwindigkeit des Objekts 4 im Raum zwischen modifizierten Posendaten bzw. die zeitliche Ableitung der ermittelten modifzierten Posendaten konstant ist, und der Roboter 1 in einem Schritt S140 auf Basis dieser modifizierten Posendaten gesteuert, bis entweder die Abbruchzeit vergangen ist oder inzwischen doch noch ein neue erfasste Pose von der Kamera 31 empfangen wurde (S90). Mit anderen Worten wird bei einer Verzögerung neuer erfasster Posen angenommen, dass das Objekt 4 sich von einem letzten Stützpunkt aus mit konstanter kartesischer und (absoluter) Winkelgeschwindigkeit weiterbewegt, und der Roboter 1 auf Basis dieser Annahme gesteuert, bis entweder neue Posen erfasst oder die Abbruchzeit erreicht ist. Falls rechtzeitig bzw. innerhalb der Nachlaufzeit neue erfasste Posen von der Kamera 31 empfangen wurde (S120:„N"), fährt die Erfassungs- und Verarbeitungseinrichtung 30 mit einem Schritt S150 fort.
In diesem ermittelt sie durch lineare Interpolation eine in Fig. 2 durch ein leeres Rechteck angedeutet Stützstelle xd in der Mitte zwischen der neuen und der vorhergehenden erfassten Pose sowie eine Geschwindigkeit vd an dieser Stützstelle, die sich ebenfalls aus der lineare Interpolation ergibt bzw. dem Quotienten aus dem Abstand von der Stützstelle zu der neuen Pose dividiert durch die entsprechende Zeit entspricht. Exemplarisch ist in Fig. 2 eine solche Stützstelle xd(t7), die sich durch lineare
Interpolation zwischen den Posendaten xs(t5) und xs(t9) ergibt, wie in Fig. 2 gestrichelt angedeutet, sowie die entsprechende Geschwindigkeit vd(t7) an dieser Stützstelle bezeichnet, die sich aus [xs(t9) - xd(t7)]/ (t9 - 17) ergibt.
Dann ermittelt die Erfassungs- und Verarbeitungseinrichtung 30 in einem Schritt S160 ein Polynom dritter Ordnung einer stückweise durch Polynome dritter Ordnung definierten Funktion f derart, dass es an das vorhergehende Polynom C1-stetig anschließt bzw. an der Übergangsstelle dieselbe (Zeit)Ableitung aufweist, sowie durch die neue Stützstelle xd verläuft und dort die ermittelte Geschwindigkeit vd(t7) aufweist.
Diese Funktion f bzw. dieses Polynom(stück) wird in einem Schritt S170 im Regeltakt der Robotersteuerung 2, d.h. mit einem kürzeren Zeitabstand T2 ausgewertet und ergibt die modifizierten Posendaten y, die in Fig. 2 durch ausgefüllte Kreise angedeutet und für die Zeitpunkte t4, t5, t6, tu und ti2 exemplarisch bezeichnet sind.
Auf Basis dieser modifizierten Posendaten y steuert die Robotersteuerung 2 in Schritt S170 den Roboter 1 , beispielsweise zum Greifen des Objekts 4 oder dergleichen. In einer Ausführung kann zum Steuern den modifizierten Posendaten y eine
objektbezogene Manipulationsvorschrift, beispielsweise eine relativ zum Objekt 4 definierte B(earbeitungsb)ahn, überlagert und der Roboter 1 auf Basis der
modifizierten Posendaten y und der objektbezogenen Manipulationsvorschrift gesteuert werden. Man erkennt in Fig. 2, dass für den Zeitpunkt ti3 = ti9 + Ti eine neue erfasste Pose vorliegen müsste, um in der beschriebenen Weise eine neue Stützstelle für tu und so das nächste Polynomstück ermitteln zu können.
Da jedoch im Ausführungsbeispiel innerhalb der Nachlaufzeit eine solche neue erfasste Pose noch nicht vorliegt, wird in Schritt S130 (vgl. Fig. 3) die Funktion f an der entsprechenden Stelle tu mit der dort vorliegenden Steigung f'(tn) linear fortgesetzt, wie in Fig. 2 gestrichelt angedeutet, so dass die translatorische und rotatorische Geschwindigkeit des Objekts 4 im Raum zwischen modifizierten
Posendaten ab tu konstant ist. In Schritt S140 wird dann analog zu Schritt S170 diese Funktion im Regeltakt der Robotersteuerung 2 bzw. mit dem kürzeren Zeitabstand T2 ausgewertet und ergibt die modifizierten Posendaten y(ti2).
Sofern auch nach der Abbruchzeit noch keine neue erfasste Pose vorliegt (S100:„Y"), wird das Verfahren abgebrochen. Bei dem beschriebenen Verfahren ist die Drehung des Objekts 4 im Raum zwischen modifizierten Posendaten y insbesondere aufgrund der Polynominterpolation der Quaternionen vorteilhafterweise minimal, so dass insbesondere ein Torkeln
vermieden wird.
Parallel können auch für durch eine Kamera 32 zeitlich parallel erfassten weitere Posendaten in analoger, hier beschriebener Weise weitere modifzierte Posendaten ermittelt und der Roboter 1 auch auf Basis dieser weiteren modifzierten Posendaten gesteuert werden.
Vorteilhafterweise können dabei der Robotersteuerung 2 die modifzierten Posendaten von Kamera 31 und die weiteren modifzierten Posendaten von Kamera 32 mit demselben Takt zur Verfügung gestellt werden, indem die modifzierten Posendaten und die weiteren modifzierten Posendaten mit demselben zweiten Zeitabstand T2 ermittelt werden bzw. denselben zweiten Zeitabstand aufweisen. Gleichermaßen können die modifizierten Posendaten und die weiteren modifizierten Posendaten auch unterschiedliche Taktraten und/oder Phasenlagen aufweisen. Man erkennt in Fig. 2, dass die modifzierten Posendaten y den erfassten Posendaten xs um 1 Ι2 zeitversetzt„nachlaufen", da erst nach Erhalt der neuen erfassten Pose (z.B. xs(t9)) die entsprechende Stützstelle (z.B. xd(t7)) und die dort vorgegebene Geschwindigkeit bzw. Zeitableitung (z.B. vd(t7)) ermittelt und zur Approximation durch die Funktion f bzw. (Fein)lnterpolation verwendet wird, sofern nicht die erwartete nächste bzw. neue erfasste Pose ausbleibt (z.B. xs(t13)).
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. 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.
Bezuqszeichenliste
1 Roboter(anordnung)
2 Robotersteuerung
30 Erfassungs- und Verarbeitungseinrichtung 31 , 32 Kamera
4 Objekt(anordnung)
F Funktion
ΪΊ erster Zeitabstand
T2 zweiter Zeitabstand
vd Geschwindigkeit
xs erfasste Pose(ndaten)
xd Stützstellen
y modifzierte Posendaten

Claims

Patentansprüche
Verfahren zum Steuern einer Roboteranordnung mit wenigstens einem Roboter (1 ), mit den Schritten:
- Erfassen von Posendaten (xs) von einer Objektanordnung mit wenigstens
einem Objekt
(4), die einen ersten Zeitabstand (ΤΊ) aufweisen;
- Ermitteln von modifizierten Posendaten (y) von der Objektanordnung, die einen zweiten Zeitabstand (T2) aufweisen, der kleiner oder größer als der erste Zeitabstand oder gleich dem ersten Zeitabstand ist, auf Basis der erfassten Posendaten; und
- Steuern der Roboteranordnung auf Basis dieser modifizierten Posendaten.
Verfahren nach Anspruch 1 , gekennzeichnet durch die Schritte:
- Erfassen von weiteren Posendaten von der Objektanordnung, die einen
weiteren ersten Zeitabstand aufweisen, zeitlich parallel zu dem Erfassen der Posendaten, insbesondere mithilfe wenigstens eines zusätzlichen Sensors (32);
- Ermitteln von weiteren modifizierten Posendaten von der Objektanordnung, die einen weiteren zweiten Zeitabstand aufweisen, der kleiner oder größer als der weitere erste Zeitabstand oder gleich dem weiteren ersten Zeitabstand ist, auf Basis der weiteren erfassten Posendaten; und
- Steuern der Roboteranordnung auf Basis dieser weiteren modifizierten
Posendaten.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die erfassten und/oder modifizierten Posendaten und/oder die weiteren erfassten und/oder weiteren modifizierten Posendaten von einer Orientierung der Objektanordnung abhängen, insbesondere die Posendaten Quaternionen aufweisen und/oder eine Zeitableitung der Posendaten eine
Winkelgeschwindigkeit der Objektanordnung beschreibt.
Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die modifizierten Posendaten und/oder die weiteren modifizierten Posendaten derart ermittelt werden, dass eine Drehung der Objektanordnung im Raum zwischen modifizierten bzw. weiteren modifizierten Posendaten minimal ist.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die modifizierten Posendaten und/oder die weiteren modifizierten
Posendaten derart ermittelt werden, dass sie einer Funktion (f), insbesondere stückweise definierten Polynomen, insbesondere dritter Ordnung, genügen, die die erfassten bzw. weiteren erfassten Posendaten approximiert, insbesondere durch erfasste bzw. weitere erfasste Posendaten und/oder Stützstellen (xd) zwischen aufeinanderfolgenden erfassten bzw. weiteren erfassten Posendaten verläuft.
6. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Funktion an Stützstellen (xd) vorgegebene, insbesondere durch
aufeinanderfolgende erfasste Posendaten bestimmte, Ableitungen (vd) aufweist und/oder die stückweise definierten Polynome an ihren Übergangsstellen dieselbe Ableitung aufweisen.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die modifizierten Posendaten und/oder die weiteren modifizierten
Posendaten mithilfe wenigstens einer Filterung ermittelt werden.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei Ausbleiben erfasster Posendaten für eine Nachlaufzeit die modifizierten Posendaten derart ermittelt werden, dass eine Geschwindigkeit der
Objektanordnung im Raum zwischen modifizierten Posendaten konstant ist.
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei Ausbleiben erfasster Posendaten für eine Abbruchzeit das Steuern der Roboteranordnung auf Basis der modifizierten Posendaten gestoppt und/oder eine Warnung ausgegeben wird.
10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Posendaten der Objektanordnung mithilfe wenigstens eines,
insbesondere berührungslosen und/oder optischen, Sensors (31 ) erfasst und/oder die modifizierten Posendaten und/oder die weiteren modifizierten Posendaten an eine Steuerung (2) zum Steuern der Roboteranordnung übermittelt werden.
1 1 . Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Steuern der Roboteranordnung auf Basis der modifizierten Posendaten und/oder der weiteren modifizierten Posendaten deren Kombination mit objektordnungsbezogenen Manipulationsvorschriften umfasst.
12. System zum Steuern einer Roboteranordnung mit wenigstens einem Roboter (1 ), das zur Durchführung eines Verfahrens nach einem der vorhergehenden
Ansprüche eingerichtet ist und/oder aufweist: Mittel (30) zum Ermitteln von modifizierten Posendaten (y) von einer Objektanordnung mit wenigstens einem Objekt (4), die einen zweiten Zeitabstand (T2) aufweisen, auf Basis von erfassten Posendaten (xs) der Objektanordnung, wobei der zweite Zeitabstand kleiner oder größer als ein erster Zeitabstand (ΤΊ) oder gleich einem ersten Zeitabstand (ΤΊ) der erfassten Posendaten ist, zum Steuern der Roboteranordnung.
13. Anordnung mit einer Roboteranordnung mit wenigstens einem Roboter (1 ) und einem System zum Steuern der Roboteranordnung nach einem der
vorhergehenden Ansprüche.
14. 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.
PCT/EP2018/062937 2017-05-31 2018-05-17 Steuern einer roboteranordnung WO2018219673A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18726763.8A EP3630418A1 (de) 2017-05-31 2018-05-17 Steuern einer roboteranordnung
CN201880035502.4A CN110891741A (zh) 2017-05-31 2018-05-17 对机器人单元的控制
US16/617,790 US11839985B2 (en) 2017-05-31 2018-05-17 Control of a robot assembly

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102017005194.1 2017-05-31
DE102017005194.1A DE102017005194C5 (de) 2017-05-31 2017-05-31 Steuern einer Roboteranordnung

Publications (1)

Publication Number Publication Date
WO2018219673A1 true WO2018219673A1 (de) 2018-12-06

Family

ID=62235940

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/062937 WO2018219673A1 (de) 2017-05-31 2018-05-17 Steuern einer roboteranordnung

Country Status (5)

Country Link
US (1) US11839985B2 (de)
EP (1) EP3630418A1 (de)
CN (1) CN110891741A (de)
DE (1) DE102017005194C5 (de)
WO (1) WO2018219673A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019206010A1 (de) * 2019-04-26 2020-10-29 Kuka Aktiengesellschaft Verfahren und System zur Überwachung einer Roboteranordnung
EP4094135A4 (de) * 2020-01-22 2023-09-20 Abb Schweiz Ag System und verfahren zur steuerung eines roboters, elektronisches gerät und computerlesbares medium
CN116100562B (zh) * 2023-04-11 2023-06-09 四川大学 多机器人协同上下料的视觉引导方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160318187A1 (en) * 2015-05-01 2016-11-03 General Electric Company Systems and methods for control of robotic manipulation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4021330C2 (de) 1990-07-03 1996-10-24 Bayerische Motoren Werke Ag Verfahren zum Betrieb eines Roboters und eine Vorrichtung dazu
DE4238938C2 (de) 1992-11-19 2003-10-30 Bosch Gmbh Robert Verfahren zur Interpolation eines Lageführungssignals
CA2369845A1 (en) 2002-01-31 2003-07-31 Braintech, Inc. Method and apparatus for single camera 3d vision guided robotics
DE10251600A1 (de) 2002-11-06 2004-05-27 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Bewegungen bei Handhabungsgeräten
JP2007011978A (ja) * 2005-07-04 2007-01-18 Toyota Motor Corp ロボットの運動制御装置
DE102005060967B4 (de) 2005-12-20 2007-10-25 Technische Universität München Verfahren und Vorrichtung zum Einrichten einer Bahnkurve einer Robotervorrichtung
DE102010017857B4 (de) 2010-04-22 2019-08-08 Sick Ag 3D-Sicherheitsvorrichtung und Verfahren zur Absicherung und Bedienung mindestens einer Maschine
JP5306313B2 (ja) * 2010-12-20 2013-10-02 株式会社東芝 ロボット制御装置
CN103517789B (zh) * 2011-05-12 2015-11-25 株式会社Ihi 运动预测控制装置和方法
JP6000579B2 (ja) * 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
JP6021533B2 (ja) * 2012-09-03 2016-11-09 キヤノン株式会社 情報処理システム、装置、方法及びプログラム
DE202013104860U1 (de) 2013-10-30 2015-02-02 Daimler Ag Arbeitsvorrichtung
US9914222B2 (en) * 2015-02-05 2018-03-13 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and computer readable storage medium that calculate an accuracy of correspondence between a model feature and a measurement data feature and collate, based on the accuracy, a geometric model and an object in an image

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160318187A1 (en) * 2015-05-01 2016-11-03 General Electric Company Systems and methods for control of robotic manipulation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HASHIMOTO K ET AL: "Manipulator control with image-based visual servo", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION SACRAMENTO, APR. 9 - 11, 19; [PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION], LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. CONF. 7, 9 April 1991 (1991-04-09), pages 2267 - 2271, XP010024085, ISBN: 978-0-8186-2163-5, DOI: 10.1109/ROBOT.1991.131968 *

Also Published As

Publication number Publication date
US11839985B2 (en) 2023-12-12
CN110891741A (zh) 2020-03-17
EP3630418A1 (de) 2020-04-08
US20200114518A1 (en) 2020-04-16
DE102017005194C5 (de) 2022-05-19
DE102017005194B3 (de) 2018-09-13

Similar Documents

Publication Publication Date Title
EP1366867B1 (de) Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten
EP3630418A1 (de) Steuern einer roboteranordnung
DE102010023736B4 (de) Robotersystem mit Problemerkennungsfunktion
DE69838934T2 (de) Roboterkontrolleinrichtung
EP1836681B1 (de) Verfahren zur bestimmung der eigenbewegung eines fahrzeugs
DE19703517C2 (de) Verfahren zur Anzeige der Steuereingriffe zum Parken eines Kraftfahrzeuges bzw. Verfahren zur Durchführung der Steuereingriffe zum Parken eines Kraftfahrzeuges sowie Vorrichtung zur Durchführung des Verfahrens
DE102007059480B4 (de) Verfahren und Vorrichtung zur Posenüberwachung eines Manipulators
WO2010060506A1 (de) Verfahren und vorrichtung zur sicheren erfassung einer kinematischen grösse eines manipulators
DE102017208383B4 (de) Dynamisches Einparken mittels Parkassistenzsystem
DE2735632A1 (de) Verfahren und anordnung zum steuern eines industrie-roboters
WO2014040855A1 (de) Verfahren zum betreiben eines fahrerassistenzsystems eines fahrzeugs
EP1600833A2 (de) Verfahren und Vorrichtung zum Betreiben einer Maschine, wie eines Mehrachs-Industrieroboters
DE102004027944A1 (de) Verfahren und Vorrichtung zum Schützen eines Roboters gegen Kollisionen
EP3056322B1 (de) Verfahren und system zum betreiben einer mehrachsigen maschine, insbesondere eines roboters
EP3725472A1 (de) Verfahren zum ermitteln einer trajektorie eines roboters
DE102007059481A1 (de) Verfahren und Vorrichtung zur Bereichsüberwachung eines Manipulators
WO2021186068A1 (de) Ermittlung von sicherheitsbereichen um eine automatisiert arbeitende maschine
WO2019081132A1 (de) System zum nachverfolgen einer position eines zielobjekts
EP1675709A2 (de) VERFAHREN ZUR EINRICHTUNG EINER BEWEGUNG EINES HANDHABUNGSGERÄTS UND BILDVERARBEITUNG
DE102010008240B4 (de) Verfahren zum Betrieb eines mehrachsigen, vorzugsweise sechsachsigen, Roboters
DE102015008188B3 (de) Abfahren einer vorgegebenen Bahn mit einem Roboter
WO2018060060A1 (de) Verfahren zum betreiben von sich autonom bewegenden plattformen und hindernisschutzsensor
EP3720663A1 (de) Betreiben eines roboters
WO2019219795A1 (de) Steuern eines roboters
DE102015101190A1 (de) Verfahren zum Bestimmen eines Bildtiefenwerts abhängig von einem Bildbereich, Kamerasystem und Kraftfahrzeug

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18726763

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2018726763

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2018726763

Country of ref document: EP

Effective date: 20200102