EP4041503A2 - Method, computer program product and robot controller for configuring a robot-object system environment, and robot - Google Patents

Method, computer program product and robot controller for configuring a robot-object system environment, and robot

Info

Publication number
EP4041503A2
EP4041503A2 EP20828985.0A EP20828985A EP4041503A2 EP 4041503 A2 EP4041503 A2 EP 4041503A2 EP 20828985 A EP20828985 A EP 20828985A EP 4041503 A2 EP4041503 A2 EP 4041503A2
Authority
EP
European Patent Office
Prior art keywords
robot
rosu
drz
twin
digital
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.)
Pending
Application number
EP20828985.0A
Other languages
German (de)
French (fr)
Inventor
Vincent Dietrich
Florian Wirnshofer
Frederik Deroo
Robert Eidenberger
Daniel MEYER-DELIUS DI VASTO
Philipp Sebastian Schmitt
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of EP4041503A2 publication Critical patent/EP4041503A2/en
Pending 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/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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
    • 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/39032Touch probe senses constraint known plane, derive kinematic calibration
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40323Modeling robot environment for sensor based robot system

Definitions

  • the invention relates to a method for configuring a robot object system environment according to the preamble of claim 1, a computer program product for configuring a robot object system environment according to the preamble of claim 12, a robot controller for configuring a robot Object system environment according to the preamble of claim 14 and a robot according to the preamble of claim 15.
  • a robot-object system environment within the meaning of the present invention is the environment of an automated system in which a robot as an automatically controlled, reprogrammable, multi-use handling device (e.g. in industry, in service, in the field or acting autonomously) with several degrees of freedom , whose movements are programmable and, if necessary, sensor-guided and which is used either stationary or movable to carry out handling and / or manufacturing tasks on one or more objects or items.
  • the automated system can, for example, be a production or robot cell in terms of shape and design.
  • the robot-object system environment or the cell must be configured in such a way that discrepancies between the reality of the robot-object system environment and its digital representation as a CAD model with regard to poses of the object and robot do not occur.
  • the pose results from the combination of position and orientation of a free rigid body (e.g. robot with its individual components and object) with 6 degrees of freedom in space. In this case one speaks of a 6D pose of the body. In common parlance, when the spatial The position of a body is to be determined and where, strictly speaking, the pose of the body would have to be determined, imprecisely spoken of the determination of a body position.
  • object position is also used in the context of the present application and in the course of this it is also spoken of object position data, although the more precise use of the terms object position and object position data would actually be popular despite their rare occurrence in common parlance.
  • FIGURE 1 uses a principle diagram to show how the conventional configuration of a robot object system environment ROSU ', which is designed, for example, as a robot cell, to avoid the discrepancies that occur between the reality of the robot object system environment ROSU' and its digital representation
  • the presentation is running or is being carried out by a DRZ 'digital robot twin, also known as a "digital twin" in technical jargon.
  • This configuration is divided into three phases, which are carried out independently of one another by manual measures by people.
  • the digital robot twin DRZ ' is generated, for example by an engineer.
  • the latter creates the draft (the design) of a control program STP 'with the help of a programming tool PGT, eg a "Totally Integrated Automation ⁇ TIA>” portal, and a CADP with the help of a "Computer Aided Design ⁇ CAD>” program Hardware design (a hardware design) of the robot object system environment ROSU '.
  • the control program STP ' which contains a control logic for a robot and movement commands of the robot, becomes a direct, integral part of the digital robot twin DRZ', while the hardware design, in which the geometric data of the robot object System environment ROSU 'are contained in a data memory DSP' of the digital robot twin DRZ '.
  • This is a current state AZ 'of the digital robot twin DRZ'.
  • the robot object system environment ROSU 'or the robot cell is built up, for example by a worker.
  • This structure includes the real local positioning of at least one object and the robot in the robot object system environment ROSU 'and the design of the robot object system environment ROSU' according to the geometric data stored in the data memory DSP.
  • the robot object system environment ROSU 'built in this way must now be synchronized with the digital robot twin DRZ' in the current state AZ '.
  • a manual synchronization of the digital robot twin SYDRZ 'in the current state AZ' is therefore carried out, e.g. by an operator of the robot object system environment ROSU '.
  • the result of this manually performed synchronization is an updated, synchronized state ASZ 'of the digital robot twin DRZ', but by manually bringing about the updated, synchronized state AZ 'of the digital robot twin DRZ' is not necessarily ensures that the identified discrepancies, which should be avoided, are also taken into account retrospectively in the DRZ 'digital robot twin.
  • the commissioning of the robot-object system environment is a crucial task in the automation and robotics environment and if the time for such commissioning can therefore be shortened and automated, this results in a competitive advantage.
  • the object on which the invention is based is to develop a method, computer program product and a robot control tion to configure a robot-object system environment and specify a robot in which or in which discrepancies between the reality of the robot-object system environment and its digital representation as a CAD model occur automatically in the course of the configuration of the robot-object system environment can be eliminated without manual on-site commissioning of the robot object system environment with an adaptation of the CAD model to reality.
  • the object is achieved based on the in the Oberbe handle of claim 14 robot controller by the specified in the characterizing part of claim 14 robot features.
  • the object is based on the robot defined in the preamble of claim 15 by the specified in the Kennzei chen of claim 15 robot features ge solves.
  • the teaching consists in configuring a robot-object system environment with at least one object and a robot for object manipulation and object detection, a digital robot twin that digitally represents the robot-object system environment and controls the robot for object manipulation on the basis of a control program for a targeted use of the robot in the robot object System environment for object manipulation needs-based - in the sense of a first-level accuracy requirement or a first-level accuracy requirement and a second-level accuracy requirement - and to synchronize in one or two stages in this regard.
  • each object in the robot-object system environment is optically detected in relation to an object position in the course of the control program sequence
  • each object in the robot-object system environment is recorded in relation to an object position in the course of the control program by determining an object pose distribution or by determining object pose distribution and robot contact
  • the particular advantages are that due to the need-based synchronization of the digital robot twin each takes place either in one or two stages as required. This reduces the runtime for the synchronization. Furthermore, the control program is simulated for both stages with a current digital robot twin, a first stage digital robot twin and a second stage digital robot twin. This makes it possible to automatically determine the respective accuracy requirement, the first-level accuracy requirement and the second-level accuracy requirement, depending on the current robot object system environment and current deviations.
  • the assessment of the current synchronization is ensured by a comparison step between simulated data and real data as well as a scanning step in which the possible distribution of object positions is estimated.
  • a meaningful assessment is made by simulating the actual robot control program for various samples, which provides a measure of the probability of failure of parts of the control program in relation to sub-process tasks.
  • the quality of the synchronization can be increased compared to the manual synchronization according to the prior art (see FIG. 1). This is shown by the fact that when the robot is operationally used in the robot-object system environment, errors and collisions during object manipulation are avoided.
  • the automatic synchronization of the digital robot twin ensures that the identified discrepancies between the reality of the robot object system environment and its digital representation, which must be avoided in the digital robot twin, also being taken into account by means of a corresponding automatic feedback.
  • FIG. 1 shows:
  • FIG. 2 shows an arrangement of a robot system and a robot-object system environment
  • FIG. 3 shows a flow chart for automatic digital robot twin synchronization
  • FIG. 4 shows an illustration diagram with regard to dedicated instruction steps and loop queries of the flow chart according to FIG. 3.
  • FIG. 2 shows an arrangement of a robot system RBSY and a robot-object system environment ROSU.
  • the robot system RBSY contains a robot RB, which is part of the robot object system environment ROSU and is used there for object manipulation and object detection, as well as a robot controller RBST to control the robot RB in the robot object system environment ROSU.
  • the robot controller RBST contains a digitally representing the robot object system environment ROSU, the robot RB for object manipulation controlling digital robot twin DRZ, a computer program product CPP and a configuration data memory KDSP, which are used in the manner shown Formation of a functional unit for the configuration of the robot object system environment ROSU, hereinafter also referred to as ROSU configuration, and in this case Context to control the robot RB functionally interact and / or are connected to one another.
  • the robot controller RBST can, for example, either - like the robot RB - be part of the robot system RBSY as an independently trained unit that is sold separately on the market, whereby the robot controller RBST and robot RB can be from the same manufacturer, but they do not have to, or the
  • the robot controller RBST forms a structural unit with the robot RB in such a way that it is distributed with the robot RB as a bundle package.
  • the digital robot twin DRZ is, for example, like the digital robot twin DRZ 'in FIG. 1, again generated by an engineer, with a control program STP with a control logic and movement commands for the robot RB, on the basis of which the robot RB is controlled in the robot object system environment ROSU during object manipulation, and a data memory DSP for storing geometric data of the robot object system environment ROSU is contained in the digital robot twin DRZ.
  • a process requirement can be stored in the digital robot twin DRZ, which defines the accuracy requirements for parts of the control program. For example, for a robot movement in which two objects are joined together, an accuracy requirement of 0.5 mm for the objects can be defined. This is expressed as a negative value and means that a maximum penetration depth of 0.5mm between the objects to be joined may be determined during the simulation. A positive value describes a minimum distance, so in this case no object contact is allowed.
  • the computer program product CPP as a further component of the robot controller RBST contains a non-volatile, readable memory SP, in which the processor-readable control program commands of a program module PGM performing the ROSU configuration are stored, and a processor connected to the memory SP PZ that executes the control program commands of the PGM program module for ROSU configuration.
  • the digital robot twin DRZ which represents the robot object system environment ROSU digitally and which controls the robot RB for object manipulation on the basis of the control program STP, is used for targeted use of the robot RB in the robot object System environment ROSU synchronized during object manipulation. How this synchronization takes place in detail is also explained in connection with the description of FIG.
  • the computer program product CPP or, more precisely, the program module PGM performing the ROSU configuration which in each case preferably as APP is designed, procured or trained, or is part of a programming environment or API for the robot controller, is also sold on the market independently and independently of the robot controller as a separate product from manufacturer A and then in any robot controller from manufacturer B can be used.
  • the robot-object system environment ROSU contains two objects, a first object OB and a second object OB ', which are to be manipulated and detected by the robot RB.
  • the robot RB has a gripper GF and a force sensor KS as an end effector and a camera KM and / or a 3D sensor system 3D-SS in the area of the end effector.
  • the force sensor does not necessarily have to be represented as an independent unit, but can also be emulated using other sensor systems available in the robot.
  • RGB-FS red-green-blue ⁇ RGB>" color sensor RGB-FS is attached in the area of the end effector for the ROSU configuration.
  • FIG. 3 shows a flow chart for performing a - in contrast to the manually performed digital robot twin synchronization SYDRZ 'according to FIG. 1 - automatic digital robot twin synchronization SYDRZ, in which the digital robot twin DRZ as required - in the sense of a first-level accuracy requirement or a first-level accuracy requirement and a second-level accuracy requirement - and is synchronized in one or two stages in this regard.
  • This flowchart is carried out in the computer program product by the processor PZ when executing the control program commands of the program module PGM for the ROSU configuration.
  • the starting point for performing the automatic digital robot twin synchronization SYDRZ is a current state AZ of the digital robot twin DRZ with the sequence of the control program STP contained in the digital robot twin DRZ and the sequence stored in the data memory DSP geometric data of the robot object system environment ROSU.
  • the automatic digital robot twin synchronization SYDRZ now begins with each object OB, OB 'in the robot object system environment ROSU in the course of the Sequence of the control program gramms STP is optically detected in relation to an object position until
  • each object OB, OB 'in the robot object system environment ROSU is processed in relation to an object position during the course of the control program STP Determination of an object pose distribution or by determining the object pose distribution and robot contact recorded up to
  • the first-level accuracy requirement ESGB is basically determined by the process and therefore results from simulation. For certain parts of the control program, the first-level accuracy requirement ESGB can still be overwritten by the process requirement.
  • the accuracy requirement results from a robot-object minimum distance, ie, if the robot RB is at least 10 cm away from an object, then it is sufficient to determine the object position, also known as the localization of the object, with an accuracy of up to 10 cm.
  • the first level accuracy requirement ESGB is therefore scalar, ie it is described by a single value, eg 10 cm.
  • the first stage robot-object minimum distance is the shortest simulated robot-object distance over the simulated control program over all time steps and requires the simulation of the control program with the current environmental estimate.
  • the shortest distance is determined with the help of the outer shell of the robot (including attachments, end effector and temporarily added objects) and of the target object in the form of a 3D surface representation.
  • the first level accuracy requirement ESGB can be expanded by a process requirement.
  • the process requirement for parts of the control program overwrites the existing value of the first-level accuracy requirement ESGB for the part of the control program under consideration.
  • the minimum distance value of the first-stage robot-object minimum distance is less than or equal to 0 cm
  • a recording, depositing and / or joining processing process usually takes place.
  • the requirement is overwritten by heuristic values stored in the digital robot twin and / or by user inputs for the process.
  • the joining process requires a positioning accuracy of 0.5mm. This is formulated as a negative value and means that a maximum penetration depth of 0.5mm between the objects to be joined may be determined during the simulation.
  • the two-level accuracy requirement ZSGB is comparable to the first-level accuracy requirement ESGB, but with the difference that a second-level robot-object minimum distance is used:
  • the estimation of the robot-object minimum distance in the second stage is largely determined in the same way as that of the first-stage robot-object minimum distance.
  • the difference is that the robot-object minimum distance is determined several times for different hypotheses. Sampled particles from probabilistic point distributions are typically referred to as hypotheses.
  • the simulation of the control program is carried out several times with highly weighted characteristic pose hypotheses, for example determined as the mean value of the components of a "Mixture of Gaussian Approximation" as an object pose in the digital twin.
  • highly weighted characteristic pose hypotheses for example determined as the mean value of the components of a "Mixture of Gaussian Approximation" as an object pose in the digital twin.
  • the distance between the robot and all hypotheses is calculated.
  • the distance estimate is still formulated as scalar, only the calculation differs.
  • the minimum distance is the shortest distance in the set of all determined distances.
  • Particles with a weighting below a heuristic threshold are discarded for the calculation of the second-stage robot-object minimum distance. This is an approximation that can be done because the commissioning engineer will still observe the first execution of the process. However, in comparison to the "state-of-the-art", ideally only controlled and not adapted.
  • a first query loop AFS1 is run through for each object OB, OB 'in the first level ES and a second query loop AFS2 in the second level ZS.
  • a first-level uncertainty ESU is estimated in a first instruction block AWB1 for each run, in that ambient measurement data UMD are optically recorded and compared with first simulation measurement data SMD1, which are generated with the help of a first-level digital robot twin DRZ- ES are generated.
  • the first-stage digital robot twin DRZ-ES is initialized with the data of the digital robot twin DRZ when it is first executed.
  • the determined ambient measurement data UMD and the first-stage digital robot twin DRZ-ES are - like the digital robot twin DRZ - stored in the configuration data memory KDSP and read out by the processor PZ.
  • the first-level uncertainty ESU describes the uncertainty estimate of a pose estimate in scalar form, e.g. 3 cm.
  • the value is determined by comparing the simulated data, the first simulation measurement data SMD1, with real measurement data of the object, the environmental measurement data UMD.
  • a distance measure for RGB-based detection methods heuristics or measurement models can be used to determine uncertainty.
  • the first interrogation loop AFS1 in a second instruction block AWB2, which is run through after the first instruction block AWB1, the first-level accuracy requirement ESGB is determined for each run.
  • loop pass conditions are checked in a first loop query SAF1. This check of the loop pass conditions is explained below.
  • a first loop condition test SAFl-a checks whether (i) the first-level uncertainty ESU meets the first-level accuracy requirement ESGB and (ii) the precondition for force-based synchronization is met, and that if (i) is not met and (ii) is fulfilled, the first-stage digital robot twin synchronization ES-SYDRZ is continued with a force-based synchronization in the second stage ZS.
  • the transition from the first-stage digital robot twin synchronization ES-SYDRZ to the second-stage digital robot twin synchronization ZS-SYDRZ takes place. Since the force-based synchronization cannot be carried out reliably and quickly in every case, the uncertainty in the object position must satisfy the precondition.
  • a second loop condition test SAFl-b is used to check whether (i) the first-stage uncertainty ESU meets the first-stage accuracy requirement ESGB and (ii) the precondition for force-based synchronization is met, and that if (i) and (ii) are not met, the first-stage uncertainty ESU is reduced with the aid of object pose estimation methods on the optical environmental measurement data UMD in a first instruction correction block AWKB1.
  • a third loop condition check SAFl-c checks whether the first-level uncertainty ESU meets the first-level accuracy requirement ESGB, and that, if this is met, the first-level digital robot twin synchronization ES-SYDRZ for the respective object OB OB 'can be successfully completed after running through the first stage ES, so that both the first stage digital robot twin synchronization ES-SYDRZ and the syn- The synchronization of the digital robot twin SYDZ has ended.
  • a fourth loop condition test SAFl-d is used to check whether (i) there is an improvement in the first-level uncertainty ESU in the first stage ES and (ii) the precondition for force-based synchronization is met in the second stage ZS, and that if (i) no longer takes place and (ii) is not fulfilled, the synchronization of the first-stage digital robot twin ES-SYDZ is aborted and the synchronization of the digital robot twin SYDZ is interrupted for user interaction.
  • a scene of the robot-object system environment ROSU is recorded under the assumption of deviations between reality and the first-stage digital robot twin DRZ-ES.
  • the robot-object system environment ROSU is recorded with the aid of a sensor system on the robot RB.
  • This sensor system can, for example, according to the representation in FIG. 2, the camera KM, the 3D 3D-SS sensors.
  • the RGB color sensor RGB-FS it is also possible for the RGB color sensor RGB-FS to be attached to the robot RB for the optical detection of the robot object system environment ROSU.
  • the ambient measurement data UMD are 3D image data 3D-BD generated by the 3D sensor system 3D-SS and / or sensor data SSD generated by the RGB color sensor RGB-FS.
  • the first-stage uncertainty ESU for each of the object OB, OB ' is estimated by comparing the environmental measurement data UMD determined during the optical ROSU detection with the first simulation measurement data SMD1, which is obtained with the aid of the first-stage digital robot twin DRZ-ES.
  • a fourth instruction step AWS4 the sequence of the control program STP for movements of the robot RB is simulated in accordance with the first-stage digital robot twin DRZ-ES.
  • a first minimum distance value MDW1 of a first robot object minimum distance that occurs in the course of the simulated control program sequence is determined for each object OB, OB '.
  • the first robot-object minimum distance is the shortest robot-object distance over all time steps of the simulated control program. This requires a simulation of the control program with the current first-stage digital robot twin DRZ-ES.
  • the shortest distance is determined with the help of the outer shell of the robot (including attachments, End effector and temporarily attached objects) and determined by the target object in the form of a 3D surface representation.
  • object position estimation methods are applied to the environmental measurement data UMD [cf. the European patent application (application no. 19178454.5) is cited as a reference for such object pose estimation methods].
  • the object position estimate is updated for each object OB, OB 'in the first-stage digital robot twin DRZ-ES.
  • FIG. 4 illustrates in the upper half of the figure the first-stage synchronization of the digital robot twin ES-SYDRZ for the first query loop AFS1 with the third instruction step AWS3 in the first instruction block AWB1, the fifth instruction step AWS5 in the second instruction block AWB2 and the first loop query SFA1.
  • the second uncertainty ZSU is estimated for each run by comparing the second simulation measurement data SMD2 with the environmental measurement data UMD.
  • the uncertainty is not viewed as a scalar, but as a distribution in the form of a list (or set) of individual weighted hypotheses, so-called particles.
  • This is a common representation for the robot RB, in particular in the case of mobile navigation, for example. This is determined by generating and evaluating new hypotheses, referred to as so-called "sampling". To evaluate the hypotheses, simulated depth values (depth images) of the object are compared with real (measured) depth values. The results of optical estimation methods can optionally be taken into account in the weighting.
  • an object pose distribution is determined and this is stored in the second-stage digital robot twin DRZ-ZS.
  • the second stage digital robot twin DRZ-ZS is initialized in the first version with the data of the first stage digital robot twin DRZ-ES and the second simulations are carried out with the aid of the second stage digital robot twin DRZ-ZS onsmessflower SMD2 generated.
  • This second stage digital robot twin DRZ-ZS is - like the first stage digital robot twin DRZ-ES, the digital robot twin DRZ and the environmental measurement data UMD - also stored in the configuration data memory KDSP and from the processor PZ read out.
  • loop cycle conditions are checked in a second loop query SAF2.
  • a first loop condition check SAF2-a checks whether the second-level uncertainty ZSU meets the second-level accuracy requirement ZSGB, and that, if this is met, the second-level digital robot twin synchronization ZS-SYDRZ ends and thus the Synchronization on of the digital robot twin SYDRZ for the viewed object have been successfully completed.
  • a second loop condition test SAF2-b checks whether the second-level uncertainty ZSU meets the second-level accuracy requirement ZSGB, and that, if this is not met, the second-level uncertainty ZSU by scanning the respective object OB, OB 'in the robot contact is reduced in a second instruction correction block AWKB2.
  • a third loop condition test SAF2-C checks whether (i) the second-level uncertainty ZSU meets the second-level accuracy requirement ZSGB and (ii) an improvement in the second-level uncertainty ZSU can still take place, and if (i) not yet is fulfilled and (ii) is answered in the negative, the synchronization of the second-stage digital robot twin ES-SYDZ is aborted and the synchronization of the digital robot twin SYDZ is interrupted for user interaction.
  • object poses hypotheses are generated (sampled), in particular taking into account physical constraints, and - as already mentioned - the ambient measurement data UMD determined during the ROSU acquisition are compared with the second simulation measurement data SMD2.
  • the second simulation measurement data SMD2 are generated by simulating several object pose hypotheses as part of the second-level uncertainty ZSU and as part of the second-level digital robot twin DRZ-ZS.
  • a possible object pose distribution is determined in a ninth instruction step AWS9 for each object OB, OB 'with the help of probable object pose hypotheses, with object poses with a lower deviation between the determined environmental measurement data UMD compared to the second simulation measurement data SMD2 probable are.
  • the sequence of the control program STP for movements of the robot RB is simulated with several probable object pose hypotheses as part of the second-stage uncertainty ZSU and as part of the second-stage digital robot twin DRZ-ZS.
  • a second minimum distance value MDW2 defining the second level accuracy requirement ZSGB of a second level robot object minimum distance is determined, which occurs in the course of the simulated control program flow.
  • the second-level robot-object minimum distance is largely determined in the same way as the first-level robot-object minimum distance. The difference is that the robot object minimum distance is multiple for different object portals. sen hypotheses is determined. The typically sampled particles from probabilistic pose distributions are referred to as object pose hypotheses.
  • object pose hypotheses The typically sampled particles from probabilistic pose distributions are referred to as object pose hypotheses.
  • the simulation of the control program is carried out several times with highly weighted characteristic pose hypotheses, which are determined, for example, as components of a "Mixture of Gaussian Approximation".
  • the distance between the robot and all hypotheses is calculated.
  • the distance estimation continues to be formulated as scalar, only the calculation differs.
  • the minimum distance denotes the shortest in the set of all determined distances. Hypotheses with a weighting below a threshold are discarded for the calculation of the second-stage robot-object minimum distance.
  • the second level accuracy requirement ZSGB is comparable to the first level accuracy requirement ESGB, with the difference that the second level robot-object minimum distance is used:
  • a further dedicated instruction step AWS is also carried out when the second instruction correction block AWKB2 is run through.
  • FIGURE 4 illustrates in the lower half of the figure the second stage synchronization of the digital robot twin ZS-SYDRZ for the second query loop AFS2 with the eighth instruction step AWS8 in the third instruction block AWB3, the eleventh instruction step AWS11 in the fourth instruction block AWB4 and the second Loop query SFA2.
  • the execution of the automatic digital robot twin synchronization SYDRZ ends with the fact that after the synchronization of the digital robot twin SYDRZ carried out - as explained above - in an updated, synchronized state ASZ of the digital robot twin DRZ the digital robot twin DRZ including the control program STP controlling the robot RB for object manipulation or the control program flow, the geometric data of the robot object system environment ROSU and / or uncertainty information for the objects OB, OB stored in the data memory DSP 'is updated in the robot object system environment ROSU.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

Beschreibung description
Verfahren, Computer-Programm-Produkt und Robotersteuerung zum Konfigurieren einer Roboter-Objekt-Systemumgebung sowie Robo ter Process, computer program product and robot controller for configuring a robot-object system environment and robots
Die Erfindung bezieht sich auf Verfahren zum Konfigurieren einer Roboter-Objekt-Systemumgebung gemäß dem Oberbegriff des Patentanspruches 1, ein Computer-Programm-Produkt zum Konfi gurieren einer Roboter-Objekt-Systemumgebung gemäß dem Ober begriff des Patentanspruches 12, eine Robotersteuerung zum Konfigurieren einer Roboter-Objekt-Systemumgebung gemäß dem Oberbegriff des Patentanspruches 14 und einen Roboter gemäß dem Oberbegriff des Patentanspruches 15. The invention relates to a method for configuring a robot object system environment according to the preamble of claim 1, a computer program product for configuring a robot object system environment according to the preamble of claim 12, a robot controller for configuring a robot Object system environment according to the preamble of claim 14 and a robot according to the preamble of claim 15.
Eine Roboter-Objekt-Systemumgebung im Sinne der vorliegenden Erfindung ist die Umgebung eines automatisierten Systems, in der ein Roboter als ein automatisch gesteuertes, wiederpro grammierbares, vielfach einsetzbares Handhabungsgerät (z.B. in Industrie, im Service, im Gelände oder autonom agierend) mit mehreren Freiheitsgraden, dessen Bewegungen programmier bar und gegebenenfalls sensorgeführt sind und das entweder ortsfest oder beweglich zur Ausführung von Handhabungs und/oder Fertigungsaufgaben an einem oder mehreren Objekten oder Gegenständen eingesetzt wird. Das automatisierte System kann dabei z.B. in Form und Gestalt eine Fertigungs- oder Ro boterzelle sein. A robot-object system environment within the meaning of the present invention is the environment of an automated system in which a robot as an automatically controlled, reprogrammable, multi-use handling device (e.g. in industry, in service, in the field or acting autonomously) with several degrees of freedom , whose movements are programmable and, if necessary, sensor-guided and which is used either stationary or movable to carry out handling and / or manufacturing tasks on one or more objects or items. The automated system can, for example, be a production or robot cell in terms of shape and design.
Für diesen Einsatz gilt es die Roboter-Objekt-Systemumgebung bzw. die Zelle so zu konfigurieren, dass auftretende Diskre panzen zwischen Realität der Roboter-Objekt-Systemumgebung und deren Digitaler Repräsentation als CAD-Modell in Bezug auf Posen von Objekt und Roboter nicht auftreten. Die Pose ergibt sich dabei aus der Kombination von Position und Orien tierung eines freien starren Körpers (z.B. Roboter mit seinen Einzelkomponenten und Objekt) mit 6 Freiheitgraden im Raum. Man spricht in diesem Fall auch von einer 6D-Pose des Kör pers. Im allgemeinen Sprachgebrauch wird, wenn die räumliche Lage eines Körpers zu bestimmen ist und wo eigentlich genau genommen die Pose des Körpers zu bestimmen wäre, unpräzise von der Bestimmung einer Körperposition gesprochen. Diesem allgemeinen Sprachgebrauch folgend wird auch im Rahmen der vorliegenden Anmeldung der Begriff einer Objektposition ver wendet und im Zuge dessen auch von Objektpositionsdaten ge sprochen, wenngleich eigentlich die präzisere Verwendung der Begriffe Objektpose und Objektposendaten trotz deren seltenen Vorkommens im allgemeinen Sprachgebrauch angesagt wäre. For this use, the robot-object system environment or the cell must be configured in such a way that discrepancies between the reality of the robot-object system environment and its digital representation as a CAD model with regard to poses of the object and robot do not occur. The pose results from the combination of position and orientation of a free rigid body (e.g. robot with its individual components and object) with 6 degrees of freedom in space. In this case one speaks of a 6D pose of the body. In common parlance, when the spatial The position of a body is to be determined and where, strictly speaking, the pose of the body would have to be determined, imprecisely spoken of the determination of a body position. Following this general usage, the term object position is also used in the context of the present application and in the course of this it is also spoken of object position data, although the more precise use of the terms object position and object position data would actually be popular despite their rare occurrence in common parlance.
FIGUR 1 zeigt anhand eines Prinzip-Schaubildes wie die her kömmliche Konfiguration einer Roboter-Objekt-Systemumgebung ROSU ', die z.B. als Roboterzelle ausgebildet ist, zur Vermei dung der auftretenden Diskrepanzen zwischen Realität der Ro boter-Objekt-Systemumgebung ROSU' und deren Digitaler Reprä sentation durch einen im Fachjargon auch als "digital twin" bezeichneten Digital-Roboter-Zwilling DRZ' abläuft oder durchgeführt wird. Diese Konfiguration gliedert sich in drei Phasen unterteilt, die unabhängig voneinander durch manuelle Maßnahmen von Personen durchgeführt werden. FIGURE 1 uses a principle diagram to show how the conventional configuration of a robot object system environment ROSU ', which is designed, for example, as a robot cell, to avoid the discrepancies that occur between the reality of the robot object system environment ROSU' and its digital representation The presentation is running or is being carried out by a DRZ 'digital robot twin, also known as a "digital twin" in technical jargon. This configuration is divided into three phases, which are carried out independently of one another by manual measures by people.
In einer ersten Phase wird der Digital-Roboter-Zwilling DRZ', z.B. von einem Ingenieur, erzeugt. Dazu erstellt dieser mit Hilfe eines Progammiertools PGT, z.B. eines "Totally In- tegrated Automation <TIA>"-Portals, den Entwurf (das Design) eines Steuerungsprogramms STP' und mit Hilfe eines "Computer Aided Design <CAD>"-Programms CADP einen Hardware-Entwurf (ein Hardware-Design) der Roboter-Objekt-Systemumgebung ROSU '. Das Steuerungsprogramm STP', in dem eine Steuerungslo- gik für ein Roboter und Fahrbefehle des Roboters enthalten sind, wird unmittelbarer, integraler Bestandteil des Digital- Roboter-Zwillings DRZ', während das Hardware-Design, in dem geometrischen Daten der Roboter-Objekt-Systemumgebung ROSU' enthalten sind, in einem Datenspeicher DSP' des Digital- Roboter-Zwillings DRZ' gespeichert werden. Dies ist ein aktu eller Zustand AZ' des Digital-Roboter-Zwillings DRZ'. In einer zweiten Phase wird die Roboter-Objekt-Systemumgebung ROSU ' bzw. die Roboterzelle, z.B. von einem Werker, aufge baut. Dieser Aufbau beinhaltet die reale örtliche Positionie rung von mindestens einem Objekt und des Roboters in der Ro boter-Objekt-Systemumgebung ROSU' und die Gestaltung der Ro boter-Objekt-Systemumgebung ROSU' gemäß der in dem Datenspei cher DSP hinterlegten geometrischen Daten. Die so real aufge baute Roboter-Objekt-Systemumgebung ROSU' muss nun mit dem Digital-Roboter-Zwilling DRZ' in dem aktuellen Zustand AZ' synchronisiert werden. In a first phase, the digital robot twin DRZ 'is generated, for example by an engineer. For this purpose, the latter creates the draft (the design) of a control program STP 'with the help of a programming tool PGT, eg a "Totally Integrated Automation <TIA>" portal, and a CADP with the help of a "Computer Aided Design <CAD>" program Hardware design (a hardware design) of the robot object system environment ROSU '. The control program STP ', which contains a control logic for a robot and movement commands of the robot, becomes a direct, integral part of the digital robot twin DRZ', while the hardware design, in which the geometric data of the robot object System environment ROSU 'are contained in a data memory DSP' of the digital robot twin DRZ '. This is a current state AZ 'of the digital robot twin DRZ'. In a second phase, the robot object system environment ROSU 'or the robot cell is built up, for example by a worker. This structure includes the real local positioning of at least one object and the robot in the robot object system environment ROSU 'and the design of the robot object system environment ROSU' according to the geometric data stored in the data memory DSP. The robot object system environment ROSU 'built in this way must now be synchronized with the digital robot twin DRZ' in the current state AZ '.
In einer dritten Phase wird demzufolge, z.B. von einem Inbe triebnehmer der Roboter-Objekt-Systemumgebung ROSU', eine ma nuelle Synchronisation des Digital-Roboter-Zwillings SYDRZ' in dem aktuellen Zustand AZ' durchgeführt. Das Ergebnis die ser manuell durchgeführten Synchronisation ist zwar ein aktu alisierter, synchronisierter Zustand ASZ' des Digital- Roboter-Zwillings DRZ', aber durch die manuelle Herbeiführung des aktualisierten, synchronisierten Zustands AZ' des Digi tal-Roboter-Zwillings DRZ' ist nicht unbedingt sicherge stellt, dass die identifizierten Diskrepanzen, die es zu ver meiden gilt, in dem Digital-Roboter-Zwilling DRZ' auch nach träglich berücksichtigt werden. In a third phase, a manual synchronization of the digital robot twin SYDRZ 'in the current state AZ' is therefore carried out, e.g. by an operator of the robot object system environment ROSU '. The result of this manually performed synchronization is an updated, synchronized state ASZ 'of the digital robot twin DRZ', but by manually bringing about the updated, synchronized state AZ 'of the digital robot twin DRZ' is not necessarily ensures that the identified discrepancies, which should be avoided, are also taken into account retrospectively in the DRZ 'digital robot twin.
Dies gilt insbesondere bei nachträglichen Änderungen des Pro dukts, die eine Anpassung des Steuerungsprogramms erfordern. Sofern der Digital-Roboter-Zwilling DRZ' nicht synchronisiert ist muss das Steuerungsprogramm aufwendig an der Anlage ange passt werden. This applies in particular to subsequent changes to the product that require an adaptation of the control program. If the digital robot twin DRZ 'is not synchronized, the control program must be laboriously adapted to the system.
Die Inbetriebnahme der Roboter-Objekt-Systemumgebung ist eine entscheidende Aufgabe im Automatisierungs- und Robotik-Umfeld und wenn deshalb die Zeit für eine solche Inbetriebnahme ver kürzt und automatisiert werden kann, so ergibt sich dadurch ein Wettbewerbsvorteil. The commissioning of the robot-object system environment is a crucial task in the automation and robotics environment and if the time for such commissioning can therefore be shortened and automated, this results in a competitive advantage.
Die der Erfindung zugrundeliegende Aufgabe besteht darin, ein Verfahren, Computer-Programm-Produkt und eine Robotersteue- rung zum Konfigurieren einer Roboter-Objekt-Systemumgebung sowie einen Roboter anzugeben, bei dem bzw. bei der im Zuge der Konfiguration der Roboter-Objekt-Systemumgebung auftre tende Diskrepanzen zwischen Realität der Roboter-Objekt- Systemumgebung und deren Digitaler Repräsentation als CAD- Modell automatisch, ohne manuelle Vor-Ort-Inbetriebnahme der Roboter-Objekt-Systemumgebung mit einer Adaption des CAD- Modells an die Realität eliminiert werden. The object on which the invention is based is to develop a method, computer program product and a robot control tion to configure a robot-object system environment and specify a robot in which or in which discrepancies between the reality of the robot-object system environment and its digital representation as a CAD model occur automatically in the course of the configuration of the robot-object system environment can be eliminated without manual on-site commissioning of the robot object system environment with an adaptation of the CAD model to reality.
Diese Aufgabe wird ausgehend von dem im Oberbegriff des Pa tentanspruches 1 definierten Verfahren durch die im Kennzei chen des Patentanspruches 1 angegebenen Verfahrensmerkmale gelöst. This object is achieved on the basis of the method defined in the preamble of Pa tent claims 1 by the method features specified in the characterizing areas of claim 1.
Außerdem wird die Aufgabe ausgehend von dem im Oberbegriff des Patentanspruches 12 definierten Computer-Programm-Produkt durch die im Kennzeichen des Patentanspruches 12 angegebenen Computer-Programm-Produkt-Merkmale gelöst. In addition, based on the computer program product defined in the preamble of patent claim 12, the object is achieved by the computer program product features specified in the characterizing part of patent claim 12.
Darüber hinaus wird die Aufgabe ausgehend von der im Oberbe griff des Patentanspruches 14 definierten Robotersteuerung durch die im Kennzeichen des Patentanspruches 14 angegebenen Roboter-Merkmale gelöst. In addition, the object is achieved based on the in the Oberbe handle of claim 14 robot controller by the specified in the characterizing part of claim 14 robot features.
Ferner wird die Aufgabe ausgehend von dem im Oberbegriff des Patentanspruches 15 definierten Roboter durch die im Kennzei chen des Patentanspruches 15 angegebenen Roboter-Merkmale ge löst. Furthermore, the object is based on the robot defined in the preamble of claim 15 by the specified in the Kennzei chen of claim 15 robot features ge solves.
Die der Erfindung zugrundeliegende Idee gemäß der in den An sprüchen 1, 12, 14 und 15 jeweils angegebenen technischenThe idea underlying the invention according to the technical stated in claims 1, 12, 14 and 15, respectively
Lehre besteht darin, zum Konfigurieren einer Roboter-Objekt- Systemumgebung mit mindestens einem Objekt und einem Roboter zur Objektmanipulation und Objekterfassung einen die Roboter- Objekt-Systemumgebung digital repräsentierenden, den Roboter für die Objektmanipulation auf der Basis eines Steuerungspro gramms steuernden Digital-Roboter-Zwilling für einen zielfüh renden Einsatz des Roboters in der Roboter-Objekt- Systemumgebung bei der Objektmanipulation bedarfsgerecht - im Sinne eines Erststufen-Genauigkeitsbedarfs oder eines Erst stufen-Genauigkeitsbedarfs und eines Zweitstufen- Genauigkeitsbedarfs - und diesbezüglich ein- oder zweistufig zu synchronisieren. The teaching consists in configuring a robot-object system environment with at least one object and a robot for object manipulation and object detection, a digital robot twin that digitally represents the robot-object system environment and controls the robot for object manipulation on the basis of a control program for a targeted use of the robot in the robot object System environment for object manipulation needs-based - in the sense of a first-level accuracy requirement or a first-level accuracy requirement and a second-level accuracy requirement - and to synchronize in one or two stages in this regard.
Dabei wird in einer Erststufe jedes Objekt in der Roboter- Objekt-Systemumgebung im Zuge des Steuerungsprogrammablaufs solange in Bezug auf eine Objektposition optisch erfasst bisIn a first stage, each object in the robot-object system environment is optically detected in relation to an object position in the course of the control program sequence
(i) das Objekt für einen Erststufen-Genauigkeitsbedarf in seiner Position genau genug bestimmt ist, (i) the object is determined in position precisely enough for a first-level accuracy requirement,
(ii) eine Verbesserung der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling in einer Zweitstufe in Bezug auf die Synchronisierung erforderlich und unter gegebenen Bedin gungen der Zweitstufen-Synchronisierung zielführend ist oder(ii) an improvement in the accuracy of the object position in the digital robot twin in a second stage with regard to the synchronization is necessary and is expedient under given conditions of the second stage synchronization or
(iii) die Verbesserung der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling nicht möglich ist. (iii) it is not possible to improve the accuracy of the object position in the digital robot twin.
In der sich daran anschließenden Zweitstufe wird jedes Objekt in der Roboter-Objekt-Systemumgebung im Zuge des Steuerpro grammablaufs solange in Bezug auf eine Objektposition durch Bestimmung einer Objektposenverteilung oder durch Bestimmung von Objektposenverteilung und Roboterkontakt erfasst bisIn the subsequent second stage, each object in the robot-object system environment is recorded in relation to an object position in the course of the control program by determining an object pose distribution or by determining object pose distribution and robot contact
(i) das Objekt für einen Zweitstufen-Genauigkeitsbedarf in seiner Position ausreichend genau bestimmt ist oder (i) the position of the object is determined with sufficient accuracy for a second-level accuracy requirement, or
(ii) die Verbesserung der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling nicht möglich ist. (ii) it is not possible to improve the accuracy of the object position in the digital robot twin.
Als besonders vorteilhaft im Kontext der zweistufig durchge führten Synchronisation des Digital-Roboter-Zwillings erweist es sich, wenn die Synchronisation gemäß den Ansprüchen 2 bis 9 und 13 in zwei Abfrageschleifen (vgl. FIGUR 3), einer ers ten Abfrageschleife für jedes Objekt in der Erststufe und ei ner zweiten Abfrageschleife für jedes Objekt in der Zweistu fe, durchlaufen wird. It has proven to be particularly advantageous in the context of the two-stage synchronization of the digital robot twin carried out when the synchronization according to claims 2 to 9 and 13 in two query loops (see FIG. 3), a first query loop for each object in the First stage and a second query loop for each object in the two stage.
Die besonderen Vorteile liegen darin, dass durch die bedarfs gerechte Synchronisation des Digitalen-Roboter-Zwillings je nach Bedarf entweder einstufig oder zweistufig erfolgt. Dadurch wird die Laufzeit für die Synchronisation reduziert. Weiterhin wird für beide Stufen das Steuerprogramm mit je weils einem aktuellen Digitalen-Roboter-Zwilling, einem Erst stufen-Digitalen-Roboter-Zwilling und einem Zweitstufen- Digitalen-Roboter-Zwilling, simuliert. Dadurch ist eine auto matische Bestimmung des jeweiligen Genauigkeitsbedarfs, dem Erststufen-Genauigkeitsbedarf und dem Zweitstufen- Genauigkeitsbedarf, in Abhängigkeit von der aktuellen Robo ter-Objekt-Systemumgebung und aktuellen Abweichungen möglich. The particular advantages are that due to the need-based synchronization of the digital robot twin each takes place either in one or two stages as required. This reduces the runtime for the synchronization. Furthermore, the control program is simulated for both stages with a current digital robot twin, a first stage digital robot twin and a second stage digital robot twin. This makes it possible to automatically determine the respective accuracy requirement, the first-level accuracy requirement and the second-level accuracy requirement, depending on the current robot object system environment and current deviations.
Als besonders vorteilhaft ist anzusehen, dass die Beurteilung der aktuellen Synchronisation wird durch einen Vergleichs schritt zwischen simulierten Daten und realen Daten sowie ei nem Abtastschritt sichergestellt wird, in dem die mögliche Verteilung von Objektpositionen geschätzt wird. Dabei erfolgt eine sinnvolle Beurteilung durch Simulation des tatsächlichen Robotersteuerungsprogramms für verschiedenen Proben, die ein Maß für eine Ausfallwahrscheinlichkeit von Teilen des Steue rungsprogramms in Bezug auf Teilprozessaufgaben bietet. It is to be regarded as particularly advantageous that the assessment of the current synchronization is ensured by a comparison step between simulated data and real data as well as a scanning step in which the possible distribution of object positions is estimated. A meaningful assessment is made by simulating the actual robot control program for various samples, which provides a measure of the probability of failure of parts of the control program in relation to sub-process tasks.
So kann dadurch die Qualität der Synchronisation gegenüber der manuellen Synchronisation gemäß dem Stand der Technik (vgl. FIGUR 1) erhöht werden. Dies zeigt sich dadurch, dass beim operativen Einsatz des Roboters in der Roboter-Objekt- Systemumgebung Fehler und Kollisionen bei der Objektmanipula tion vermieden werden. In this way, the quality of the synchronization can be increased compared to the manual synchronization according to the prior art (see FIG. 1). This is shown by the fact that when the robot is operationally used in the robot-object system environment, errors and collisions during object manipulation are avoided.
Darüber hinaus lassen sich durch eine derartig automatisch durchgeführte Synchronisation des Digital-Roboter-Zwillings die Inbetriebnahmekosten gegenüber der manuellen Inbetrieb nahme senken. Dies führt letztendlich dazu, dass die Roboter- Objekt-Systemumgebung häufiger als zuvor für verschiedene ro boterunterstützte Handhabungs- und/oder Fertigungsaufgabe verändert werden kann. In addition, such an automatic synchronization of the digital robot twin can reduce the commissioning costs compared to manual commissioning. Ultimately, this means that the robot-object system environment can be changed more frequently than before for various robot-assisted handling and / or manufacturing tasks.
Ferner ist durch die automatisch durchgeführte Synchronisati on des Digital-Roboter-Zwillings sichergestellt, dass die identifizierten Diskrepanzen zwischen der Realität der Robo ter-Objekt-Systemumgebung und deren Digitaler Repräsentation, die es zu vermeiden gilt, in dem Digital-Roboter-Zwilling auch durch eine entsprechende automatische Rückkopplung be rücksichtigt werden. Furthermore, the automatic synchronization of the digital robot twin ensures that the identified discrepancies between the reality of the robot object system environment and its digital representation, which must be avoided in the digital robot twin, also being taken into account by means of a corresponding automatic feedback.
Weitere Vorteile der Erfindung ergeben sich ausgehend von der FIGUR 1 aus der nachfolgenden Beschreibung eines Ausführungs beispiels der Erfindung anhand der FIGUREN 2 bis 4. Dabei zeigen: Further advantages of the invention emerge on the basis of FIG. 1 from the following description of an exemplary embodiment of the invention with reference to FIGS. 2 to 4. They show:
FIGUR 2 eine Anordnung aus Robotersystem und Roboter- Objekt-Systemumgebung, FIG. 2 shows an arrangement of a robot system and a robot-object system environment,
FIGUR 3 ein Ablaufdiagramm zur automatischen Digital- Roboter-Zwilling-Synchronisation, FIG. 3 shows a flow chart for automatic digital robot twin synchronization,
FIGUR 4 ein Illustrationsdiagramm bezüglich dezidierter An weisungsschritte und Schleifenabfragen des Ablauf diagramms nach FIGUR 3. FIG. 4 shows an illustration diagram with regard to dedicated instruction steps and loop queries of the flow chart according to FIG. 3.
FIGUR 2 zeigt eine Anordnung aus einem Robotersystem RBSY und einer Roboter-Objekt-Systemumgebung ROSU. FIG. 2 shows an arrangement of a robot system RBSY and a robot-object system environment ROSU.
Das Robotersystem RBSY enthält einer Roboter RB, der Bestand teil des Roboter-Objekt-Systemumgebung ROSU ist und dort zur Objektmanipulation und Objekterfassung eingesetzt wird, sowie zur Steuerung des Roboters RB in der Roboter-Objekt-Systemum gebung ROSU eine Robotersteuerung RBST. The robot system RBSY contains a robot RB, which is part of the robot object system environment ROSU and is used there for object manipulation and object detection, as well as a robot controller RBST to control the robot RB in the robot object system environment ROSU.
Die Robotersteuerung RBST enthält dazu einen die Roboter- Objekt-Systemumgebung ROSU digital repräsentierender, den Ro boter RB für die Objektmanipulation steuernder Digital- Roboter-Zwilling DRZ, ein Computer-Programm-Produkt CPP und einen Konfigurationsdatenspeicher KDSP, die in der darge stellten Weise zur Bildung einer Funktionseinheit zur Konfi guration der Roboter-Objekt-Systemumgebung ROSU, im Folgenden auch als ROSU-Konfiguration bezeichnet, und dabei, in diesem Kontext, zur Steuerung des Roboters RB funktional Zusammen wirken und/oder miteinander verbunden sind. The robot controller RBST contains a digitally representing the robot object system environment ROSU, the robot RB for object manipulation controlling digital robot twin DRZ, a computer program product CPP and a configuration data memory KDSP, which are used in the manner shown Formation of a functional unit for the configuration of the robot object system environment ROSU, hereinafter also referred to as ROSU configuration, and in this case Context to control the robot RB functionally interact and / or are connected to one another.
Die Robotersteuerung RBST kann z.B. entweder - wie der Robo ter RB - als eigenständig ausgebildete und auf dem Markt se parat vertriebene Einheit Bestandteil des Robotersystems RBSY sein, wobei Robotersteuerung RBST und Roboter RB dabei vom selben Hersteller sein können, aber sie müssen nicht, oder die Robotersteuerung RBST bildet eine bauliche Einheit mit dem Roboter RB derart, dass diese abgestimmt auf den Roboter RB als Bundle-Paket mit diesem vertrieben wird. The robot controller RBST can, for example, either - like the robot RB - be part of the robot system RBSY as an independently trained unit that is sold separately on the market, whereby the robot controller RBST and robot RB can be from the same manufacturer, but they do not have to, or the The robot controller RBST forms a structural unit with the robot RB in such a way that it is distributed with the robot RB as a bundle package.
Der Digital-Roboter-Zwilling DRZ wird z.B., wie der Digital- Roboter-Zwilling DRZ' in der FIGUR 1, erneut von einem Inge nieur, erzeugt, wobei auch hier wieder ein Steuerungsprogramm STP mit einer Steuerungslogik und Fahrbefehlen für den Robo ter RB, auf dessen Basis der Roboter RB in der Roboter- Objekt-Systemumgebung ROSU bei der Objektmanipulation gesteu ert wird, sowie ein Datenspeicher DSP zur Speicherung von ge ometrischen Daten der Roboter-Objekt-Systemumgebung ROSU in dem Digital-Roboter-Zwilling DRZ enthalten sind. The digital robot twin DRZ is, for example, like the digital robot twin DRZ 'in FIG. 1, again generated by an engineer, with a control program STP with a control logic and movement commands for the robot RB, on the basis of which the robot RB is controlled in the robot object system environment ROSU during object manipulation, and a data memory DSP for storing geometric data of the robot object system environment ROSU is contained in the digital robot twin DRZ.
Weiterhin kann im Digital-Roboter-Zwilling DRZ ein Prozessbe darf hinterlegt sein, der Genauigkeitsanforderungen an Teile des Steuerungsprogramms definiert. Beispielsweise kann für eine Roboterbewegung, bei der zwei Objekte zusammengefügt werden, eine Genauigkeitsanforderung für die Objekte von 0.5 mm definiert werden. Diese wird als negativer Wert ausge drückt und bedeutet, dass eine Eindringtiefe zwischen den zu fügenden Objekten von maximal 0,5mm bei der Simulation fest gestellt werden darf. Ein positiver Wert beschreibt einen Mindestabstand, in diesem Fall ist also kein Objektkontakt erlaubt. Furthermore, a process requirement can be stored in the digital robot twin DRZ, which defines the accuracy requirements for parts of the control program. For example, for a robot movement in which two objects are joined together, an accuracy requirement of 0.5 mm for the objects can be defined. This is expressed as a negative value and means that a maximum penetration depth of 0.5mm between the objects to be joined may be determined during the simulation. A positive value describes a minimum distance, so in this case no object contact is allowed.
In dem Konfigurationsdatenspeicher KDSP werden im Kontext der ROSU-Konfiguration bereitgestellte und erzeugte Daten gespei chert. Welche Daten dies sind, wird weiter unten im Zusammen hang mit der Beschreibung von FIGUR 3 erläutert. Das Computer-Programm-Produkt CPP als weiterer Bestandteil der Robotersteuerung RBST enthält einen nicht-flüchtigen, lesbaren Speicher SP, in dem prozessorlesbare Steuerprogramm befehle eines die ROSU-Konfiguration durchführenden Programm- Moduls PGM gespeichert sind, und ein mit dem Speicher SP ver bundener Prozessor PZ, der die Steuerprogrammbefehle des Pro gramm-Moduls PGM zur ROSU-Konfiguration ausführt. Data provided and generated in the context of the ROSU configuration are stored in the configuration data memory KDSP. Which data these are is explained further below in connection with the description of FIG. The computer program product CPP as a further component of the robot controller RBST contains a non-volatile, readable memory SP, in which the processor-readable control program commands of a program module PGM performing the ROSU configuration are stored, and a processor connected to the memory SP PZ that executes the control program commands of the PGM program module for ROSU configuration.
Für die ROSU-Konfiguration wird der die Roboter-Objekt- Systemumgebung ROSU digital repräsentierende, den Roboter RB für die Objektmanipulation auf der Basis des Steuerungspro gramms STP steuernder Digital-Roboter-Zwilling DRZ für einen zielführenden Einsatz des Roboters RB in der Roboter-Objekt- Systemumgebung ROSU bei der Objektmanipulation synchroni siert. Wie diese Synchronisation im Detail abläuft, wird auch im Zusammenhang mit der Beschreibung von FIGUR 3 erläutert. For the ROSU configuration, the digital robot twin DRZ, which represents the robot object system environment ROSU digitally and which controls the robot RB for object manipulation on the basis of the control program STP, is used for targeted use of the robot RB in the robot object System environment ROSU synchronized during object manipulation. How this synchronization takes place in detail is also explained in connection with the description of FIG.
In Analogie zu der vorstehenden Roboter-Robotersteuerung- Betrachtung kann jetzt bei einer Robotersteuerung- "Computer- Programm-Produkt "-Betrachtung das Computer-Programm-Produkt CPP bzw. präziser das die ROSU-Konfiguration durchführende Programm-Modul PGM, das jeweils vorzugsweise als APP ausge staltet, beschaffen oder ausgebildet ist oder aber Bestand teil einer Programmierumgebung oder API für die Robotersteue rung ist, ebenfalls eigenständig und unabhängig von der Robo tersteuerung als separates Produkt eines Herstellers A auf dem Markt vertrieben und dann in einer beliebigen Roboter steuerung eines Herstellers B eingesetzt werden. In analogy to the above robot-robot control consideration, the computer program product CPP or, more precisely, the program module PGM performing the ROSU configuration, which in each case preferably as APP is designed, procured or trained, or is part of a programming environment or API for the robot controller, is also sold on the market independently and independently of the robot controller as a separate product from manufacturer A and then in any robot controller from manufacturer B can be used.
Die Roboter-Objekt-Systemumgebung ROSU enthält zwei Objekte, ein erstes Objekt OB und ein zweites Objekt OB', die von dem Roboter RB zu manipulieren und zu erfassen sind. Hierzu und für die ROSU-Konfiguration weist der Roboter RB einen Greifer GF und einen Kraftsensor KS als Endeffektor sowie eine Kamera KM und/oder eine 3D-Sensorik 3D-SS im Bereich des Endeffek tors auf. Der Kraftsensor muss dabei nicht zwangsläufig als eigenstän dige Einheit repräsentiert sein, sondern kann auch über ande re im Roboter vorhandene Sensoriken emuliert werden. The robot-object system environment ROSU contains two objects, a first object OB and a second object OB ', which are to be manipulated and detected by the robot RB. For this purpose and for the ROSU configuration, the robot RB has a gripper GF and a force sensor KS as an end effector and a camera KM and / or a 3D sensor system 3D-SS in the area of the end effector. The force sensor does not necessarily have to be represented as an independent unit, but can also be emulated using other sensor systems available in the robot.
Optional ist es auch noch möglich, dass im Bereich des Endef fektors für die ROSU-Konfiguration auch noch eine "Rot-Grün- Blau <RGB>"-Farbsensor RGB-FS angebracht ist. Optionally, it is also possible that a "red-green-blue <RGB>" color sensor RGB-FS is attached in the area of the end effector for the ROSU configuration.
Wie diese Endeffektor-Komponenten für die ROSU-Konfiguration eingesetzt werden, wird ebenfalls im Zusammenhang mit der Be schreibung von FIGUR 3 erläutert. How these end effector components are used for the ROSU configuration is also explained in connection with the description of FIG.
FIGUR 3 zeigt ein Ablaufdiagramm zur Durchführung einer - im Gegensatz zu der manuell durchgeführten Digital-Roboter- Zwilling-Synchronisation SYDRZ' gemäß der FIGUR 1 - automati schen Digital-Roboter-Zwilling-Synchronisation SYDRZ, bei der der Digital-Roboter-Zwilling DRZ bedarfsgerecht - im Sinne eines Erststufen-Genauigkeitsbedarfs oder eines Erststufen- Genauigkeitsbedarfs und eines Zweitstufen-Genauigkeitsbedarfs - und diesbezüglich ein- oder zweistufig synchronisiert wird. Dieses Ablaufdiagramm wird in dem Computer-Programm-Produkt von dem Prozessor PZ bei der Ausführung der Steuerprogrammbe fehle des Programm-Moduls PGM zur ROSU-Konfiguration durchge führt. FIG. 3 shows a flow chart for performing a - in contrast to the manually performed digital robot twin synchronization SYDRZ 'according to FIG. 1 - automatic digital robot twin synchronization SYDRZ, in which the digital robot twin DRZ as required - in the sense of a first-level accuracy requirement or a first-level accuracy requirement and a second-level accuracy requirement - and is synchronized in one or two stages in this regard. This flowchart is carried out in the computer program product by the processor PZ when executing the control program commands of the program module PGM for the ROSU configuration.
Ausgangspunkt für die Durchführung der automatischen Digital- Roboter-Zwilling-Synchronisation SYDRZ ist ein aktueller Zu stand AZ des Digital-Roboter-Zwillings DRZ mit dem in dem Di gital-Roboter-Zwilling DRZ enthaltenen Ablauf des Steuerungs programms STP und der in Datenspeicher DSP gespeicherten geo metrischen Daten der Roboter-Objekt-Systemumgebung ROSU. The starting point for performing the automatic digital robot twin synchronization SYDRZ is a current state AZ of the digital robot twin DRZ with the sequence of the control program STP contained in the digital robot twin DRZ and the sequence stored in the data memory DSP geometric data of the robot object system environment ROSU.
Die automatische Digital-Roboter-Zwilling-Synchronisation SYDRZ beginnt nun damit, dass gemäß einer Erststufe ES mit einer Erststufen-Digital-Roboter-Zwilling-Synchronisation ES- SYDRZ jedes Objekt OB, OB' in der Roboter-Objekt- Systemumgebung ROSU im Zuge des Ablaufs des Steuerungspro- gramms STP solange in Bezug auf eine Objektposition optisch erfasst wird bis The automatic digital robot twin synchronization SYDRZ now begins with each object OB, OB 'in the robot object system environment ROSU in the course of the Sequence of the control program gramms STP is optically detected in relation to an object position until
1. das Objekt OB, OB' für einen Erststufen-Genauigkeitsbedarf ESGB in seiner Position genau genug bestimmt ist, 1. the position of the object OB, OB 'is determined precisely enough for a first-level accuracy requirement ESGB,
2. eine Verbesserung der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling DRZ in einer Zweitstufe ZS in Be zug auf die Synchronisierung erforderlich und unter gegebenen Bedingungen der Zweitstufen-Synchronisierung zielführend ist oder 2. an improvement in the accuracy of the object position in the digital robot twin DRZ in a second stage ZS in relation to the synchronization is necessary and is expedient under the given conditions of the second stage synchronization or
3. die Verbesserung der der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling DRZ nicht möglich ist. 3. It is not possible to improve the accuracy of the object position in the digital robot twin DRZ.
Im Anschluss daran wird in einer Zweitstufe ZS mit einer Zweistufen-Digital-Roboter-Zwilling-Synchronisation ZS-SYDRZ jedes Objekt OB, OB' in der Roboter-Objekt-Systemumgebung ROSU im Zuge des Ablaufs des Steuerungsprogramms STP solange in Bezug auf eine Objektposition durch Bestimmung einer Ob jektposenverteilung oder durch Bestimmung von Objektposenver teilung und Roboterkontakt erfasst bis Subsequently, in a second stage ZS with a two-stage digital robot twin synchronization ZS-SYDRZ, each object OB, OB 'in the robot object system environment ROSU is processed in relation to an object position during the course of the control program STP Determination of an object pose distribution or by determining the object pose distribution and robot contact recorded up to
1. das Objekt OB, OB' für einen Zweitstufen-Genauigkeitsbe darf ZSGB in seiner Position ausreichend genau bestimmt ist oder 1. The position of the object OB, OB 'for a second-level accuracy requirement ZSGB is sufficiently precisely determined or
2. die Verbesserung der Genauigkeit der Objektposition im Di gitalen-Roboter-Zwilling DRZ nicht möglich ist. 2. It is not possible to improve the accuracy of the object position in the digital robot twin DRZ.
Der Erststufen-Genauigkeitsbedarf ESGB wird grundsätzlich vom Prozess bestimmt und ergibt sich daher aus Simulation. Für bestimmte Teile des Steuerungsprogramms kann der Erststufen- Genauigkeitsbedarf ESGB weiterhin durch den Prozessbedarf überschrieben werden. The first-level accuracy requirement ESGB is basically determined by the process and therefore results from simulation. For certain parts of the control program, the first-level accuracy requirement ESGB can still be overwritten by the process requirement.
Der Genauigkeitsbedarf ergibt sich aus einer Roboter-Objekt- Minimaldistanz, d.h. z.B., wenn der Roboter RB im Minimum 10cm Abstand zu einem Objekt hat, dann reicht auch eine Be stimmung der Objektposition, auch Lokalisierung des Objektes genannt, auf bis zu 10 cm genau aus. Der Erststufen Genauigkeitsbedarf ESGB ist daher skalar, d.h. er wird durch einen einzigen Wert beschrieben, z.B. 10 cm. The accuracy requirement results from a robot-object minimum distance, ie, if the robot RB is at least 10 cm away from an object, then it is sufficient to determine the object position, also known as the localization of the object, with an accuracy of up to 10 cm. The first level accuracy requirement ESGB is therefore scalar, ie it is described by a single value, eg 10 cm.
Zu manchen Objekten besteht aber im Ablauf des Steuerungspro gramms Kontakt, sodass ein Minimaldistanzwert einer Erststu- fen-Roboter-Objekt-Minimaldistanz kleiner gleich "0 cm" gege ben ist. Negative Werte beschreiben dabei die maximale Ein dringtiefe. However, there is contact with some objects in the course of the control program, so that a minimum distance value of a first-stage robot-object minimum distance is less than or equal to "0 cm". Negative values describe the maximum penetration depth.
Die Erststufen Roboter-Objekt-Minimaldistanz ist die kürzeste simulierte Roboter-Objekt-Distanz über das simulierte Steue rungsprogramm über alle Zeitschritte hinweg und erfordert die Simulation des Steuerungsprogramms mit der aktuellen Umge- bungsSchätzung. The first stage robot-object minimum distance is the shortest simulated robot-object distance over the simulated control program over all time steps and requires the simulation of the control program with the current environmental estimate.
Die simulierte Roboter-Objekt-Distanz ist der kürzester Ab stand zwischen den Oberflächen des Roboters samt Greifer und Werkstück (= end-of-arm tooling) und einem Objekt für einen Zeitpunkt im Ablauf des Steuerungsprogramms. The simulated robot-object distance is the shortest distance between the surfaces of the robot including the gripper and workpiece (= end-of-arm tooling) and an object for a point in time in the sequence of the control program.
Der kürzeste Abstand wird mit Hilfe der äußere Hülle vom Ro boter (samt Anbauten, Endeffektor und temporär beigefügten Objekten) und vom Zielobjekt in Form einer 3D-Oberflächenre- präsentation bestimmt. The shortest distance is determined with the help of the outer shell of the robot (including attachments, end effector and temporarily added objects) and of the target object in the form of a 3D surface representation.
Zusätzlich kann der Erststufen Genauigkeitsbedarf ESGB durch einen Prozessbedarf erweitert werden. In diesem Fall über schreibt der Prozessbedarf für Teile des Steuerungsprogramms den bestehenden Wert des Erststufen-Genauigkeitsbedarfs ESGB für den betrachteten Teil des Steuerungsprogramms. In addition, the first level accuracy requirement ESGB can be expanded by a process requirement. In this case, the process requirement for parts of the control program overwrites the existing value of the first-level accuracy requirement ESGB for the part of the control program under consideration.
Bei Kontakt, d.h. der Minimaldistanzwert der Erststufen- Roboter-Objekt-Minimaldistanz ist kleiner gleich 0 cm, findet in der Regel ein Aufnahme-, Ablage-, und/oder Füge- Bearbeitungsprozess statt. Hier wird der Bedarf durch im Di- gitalen-Roboter-Zwilling gespeicherte heuristischen Werte und/oder durch Nutzereingaben für den Prozess überschrieben. Beispielsweise erfordert der Fügeprozess eine Positionier genauigkeit von 0.5mm. Diese wird als negativer Wert formu liert und bedeutet, dass eine Eindringtiefe zwischen den zu fügenden Objekten von maximal 0.5mm bei der Simulation festgestellt werden darf. In the event of contact, ie the minimum distance value of the first-stage robot-object minimum distance is less than or equal to 0 cm, a recording, depositing and / or joining processing process usually takes place. Here the requirement is overwritten by heuristic values stored in the digital robot twin and / or by user inputs for the process. For example, the joining process requires a positioning accuracy of 0.5mm. This is formulated as a negative value and means that a maximum penetration depth of 0.5mm between the objects to be joined may be determined during the simulation.
Der Zweistufen Genauigkeitsbedarf ZSGB ist vergleichbar mit dem Erststufen Genauigkeitsbedarf ESGB allerdings mit dem Un terschied, dass eine Zweitstufen Roboter-Objekt-Minimal- distanz verwendet wird: The two-level accuracy requirement ZSGB is comparable to the first-level accuracy requirement ESGB, but with the difference that a second-level robot-object minimum distance is used:
* Zweitstufen Roboter-Objekt-Minimaldistanz, wenn kein Pro zessbedarf formuliert ODER * Second level robot-object minimum distance if no process requirement is formulated OR
* Prozessbedarf sofern vorhanden * Process requirements, if any
Bei Roboter-Objekt-Minimaldistanzschätzungen kleiner gleich NULL und keiner Angabe von Prozessbedarfswerten folgt eine vom Prozessbedarf ausgehende Anfrage an einen Bediener zur Konfiguration. In the case of robot-object minimum distance estimates that are less than or equal to ZERO and no specification of process requirement values, a request to an operator for configuration based on the process requirement follows.
Die Schätzung der Roboter-Objekt-Minimaldistanz in der Zweit stufe wird weitestgehend genauso bestimmt wie die der Erst stufen-Roboter-Objekt-Minimaldistanz . Der Unterschied liegt darin, dass die Roboter-Objekt-Minimaldistanz mehrfach für verschiedene Hypothesen ermittelt wird. Als Hypothesen werden typischerweise gesampelte Partikel aus probabilistischen Po- sen-Verteilungen bezeichnet. Hierbei wird die Simulation des Steuerungsprogramms mehrfach mit hoch gewichteten charakte ristischen Posen-Hypothesen, z.B. bestimmt als Mittelwert der Komponenten einer "Mixture of Gaussian Approximation" als Ob jektpose im digitalen Zwilling durchgeführt. Es wird jedoch der Abstand zwischen Roboter und allen Hypothesen berechnet. Die Distanzschätzung wird aber weiterhin skalar formuliert, nur die Berechnung unterscheidet sich. Die Minimaldistanz be zeichnet als die kürzeste Distanz in der Menge aller ermit telten Distanzen. Partikel mit einer Gewichtung unter einer heuristischen Schwelle werden dabei für die Berechnung des Zweitstufen-Roboter-Objekt-Minimaldistanz verworfen. Dies ist eine Annäherung, die deswegen durchgeführt werden kann, weil der Inbetriebnehmer nach wie vor die erste Ausführung des Prozesses beobachten wird. Jedoch im Vergleich zum "State-of- the-Art" im Idealfall nur kontrolliert und nicht anpasst. The estimation of the robot-object minimum distance in the second stage is largely determined in the same way as that of the first-stage robot-object minimum distance. The difference is that the robot-object minimum distance is determined several times for different hypotheses. Sampled particles from probabilistic point distributions are typically referred to as hypotheses. The simulation of the control program is carried out several times with highly weighted characteristic pose hypotheses, for example determined as the mean value of the components of a "Mixture of Gaussian Approximation" as an object pose in the digital twin. However, the distance between the robot and all hypotheses is calculated. The distance estimate is still formulated as scalar, only the calculation differs. The minimum distance is the shortest distance in the set of all determined distances. Particles with a weighting below a heuristic threshold are discarded for the calculation of the second-stage robot-object minimum distance. This is an approximation that can be done because the commissioning engineer will still observe the first execution of the process. However, in comparison to the "state-of-the-art", ideally only controlled and not adapted.
Aufbauend auf diesem Grundprinzip der automatischen Erststu- fen-Digital-Roboter-Zwilling-Synchronisation ES-SYDRZ werden nun für jedes Objekt OB, OB' in der Erststufe ES eine erste Abfrageschleife AFS1 und in der Zweitstufe ZS eine zweite Ab frageschleife AFS2 durchlaufen. Based on this basic principle of the automatic first-level digital robot twin synchronization ES-SYDRZ, a first query loop AFS1 is run through for each object OB, OB 'in the first level ES and a second query loop AFS2 in the second level ZS.
So werden bei der ersten Abfrageschleife AFS1 in einem ersten Anweisungsblock AWB1 für jeden Durchlauf eine Erststufen- Unsicherheit ESU geschätzt, indem Umgebungsmessdaten UMD op tisch erfasst und mit ersten Simulationsmessdaten SMD1 ver glichen werden, die mit Hilfe eines Erststufen-Digitalen- Roboter-Zwillings DRZ-ES erzeugt werden. Der Erststufen- Digitalen-Roboter-Zwilling DRZ-ES wird dazu bei Erst- Ausführung mit den Daten des Digitalen-Roboter-Zwilling DRZ initialisiert. Die ermittelten Umgebungsmessdaten UMD und der Erststufen-Digitalen-Roboter-Zwilling DRZ-ES werden - wie der Digital-Roboter-Zwilling DRZ - in den Konfigurationsdaten speicher KDSP gespeichert und von dem Prozessor PZ ausgele sen. In the first interrogation loop AFS1, a first-level uncertainty ESU is estimated in a first instruction block AWB1 for each run, in that ambient measurement data UMD are optically recorded and compared with first simulation measurement data SMD1, which are generated with the help of a first-level digital robot twin DRZ- ES are generated. For this purpose, the first-stage digital robot twin DRZ-ES is initialized with the data of the digital robot twin DRZ when it is first executed. The determined ambient measurement data UMD and the first-stage digital robot twin DRZ-ES are - like the digital robot twin DRZ - stored in the configuration data memory KDSP and read out by the processor PZ.
Die Erststufen-Unsicherheit ESU bezeichnet die Unsicherheits abschätzung einer Posen-Schätzung in skalarer Form, z.B. 3 cm. Der Wert wird bestimmt durch einen Vergleich der simu lierten Daten, den ersten Simulationsmessdaten SMD1, mit rea len Messdaten des Objekts, den Umgebungsmessdaten UMD. Je nach Erkennungsmethodik können, z.B. für Tiefendaten, ein Ab standsmaß, für RGB-basierte Erkennungsmethoden Heuristiken oder Messmodelle zur Unsicherheitsermittlung verwendet wer den. The first-level uncertainty ESU describes the uncertainty estimate of a pose estimate in scalar form, e.g. 3 cm. The value is determined by comparing the simulated data, the first simulation measurement data SMD1, with real measurement data of the object, the environmental measurement data UMD. Depending on the detection method, e.g. for depth data, a distance measure, for RGB-based detection methods heuristics or measurement models can be used to determine uncertainty.
Weiterhin wird bei der ersten Abfrageschleife AFS1 in einem zweiten Anweisungsblock AWB2, der nach dem ersten Anweisungs block AWB1 durchlaufen wird, für jeden Durchlauf der Erststu- fen-Genauigkeitsbedarf ESGB bestimmt. Zum Abschluss der ersten Abfrageschleife AFS1 wird in einer ersten Schleifenabfrage SAF1 Schleifendurchlaufbedingungen eprüft. Diese Prüfung der Schleifendurchlaufbedingungen wird nachfolgend erläutert. Furthermore, in the first interrogation loop AFS1, in a second instruction block AWB2, which is run through after the first instruction block AWB1, the first-level accuracy requirement ESGB is determined for each run. At the end of the first query loop AFS1, loop pass conditions are checked in a first loop query SAF1. This check of the loop pass conditions is explained below.
Mit einer ersten Schleifendurchlaufbedingungsprüfung SAFl-a wird geprüft, ob (i) die Erststufen-Unsicherheit ESU den Erststufen-Genauigkeitsbedarf ESGB erfüllt und (ii) die Vor bedingung einer kraftbasierten Synchronisation erfüllt ist, und dass dann, wenn (i) nicht erfüllt ist und (ii) erfüllt ist, die Erststufen-Digital-Roboter-Zwilling-Synchronisation ES-SYDRZ mit einer kraftbasierten Synchronisation in der Zweitstufe ZS fortgesetzt wird. Es findet damit der Übergang von der Erststufen-Digital-Roboter-Zwilling-Synchronisation ES-SYDRZ zur Zweitstufen-Digital-Roboter-Zwilling-Synchro- nisation ZS-SYDRZ statt. Da die kraftbasierte Synchronisation nicht in jedem Fall zuverlässig und schnell ausgeführt werden kann, muss die Unsicherheit in der Objektposition der Vorbe dingung genügen. A first loop condition test SAFl-a checks whether (i) the first-level uncertainty ESU meets the first-level accuracy requirement ESGB and (ii) the precondition for force-based synchronization is met, and that if (i) is not met and (ii) is fulfilled, the first-stage digital robot twin synchronization ES-SYDRZ is continued with a force-based synchronization in the second stage ZS. The transition from the first-stage digital robot twin synchronization ES-SYDRZ to the second-stage digital robot twin synchronization ZS-SYDRZ takes place. Since the force-based synchronization cannot be carried out reliably and quickly in every case, the uncertainty in the object position must satisfy the precondition.
Mit einer zweiten Schleifendurchlaufbedingungsprüfung SAFl-b wird geprüft ob (i) die Erststufen-Unsicherheit ESU den Erst stufen-Genauigkeitsbedarf ESGB erfüllt und (ii) die Vorbedin gung der kraftbasierten Synchronisation erfüllt ist, und dass dann, wenn (i) und (ii) nicht erfüllt sind, die Erststufen- Unsicherheit ESU mit Hilfe von Objektposenschätzungsmethoden auf den optischen Umgebungsmessdaten UMD in einem ersten An weisungskorrekturblock AWKB1 reduziert wird. A second loop condition test SAFl-b is used to check whether (i) the first-stage uncertainty ESU meets the first-stage accuracy requirement ESGB and (ii) the precondition for force-based synchronization is met, and that if (i) and (ii) are not met, the first-stage uncertainty ESU is reduced with the aid of object pose estimation methods on the optical environmental measurement data UMD in a first instruction correction block AWKB1.
Mit einer dritten Schleifendurchlaufbedingungsprüfung SAFl-c wird geprüft ob die Erststufen-Unsicherheit ESU den Erststu- fen-Genauigkeitsbedarf ESGB erfüllt, und dass dann, wenn dies erfüllt ist, die Erststufen-Digital-Roboter-Zwilling- Synchronisation ES-SYDRZ für das jeweilige Objekt OB OB' er folgreich nach Durchlaufen der Erststufe ES abgeschlossen werden kann, so dass damit sowohl die Erststufen-Digital- Roboter-Zwilling-Synchronisation ES-SYDRZ als auch die Syn- chronisation des Digitalen-Roboter-Zwillings SYDZ beendet ist. A third loop condition check SAFl-c checks whether the first-level uncertainty ESU meets the first-level accuracy requirement ESGB, and that, if this is met, the first-level digital robot twin synchronization ES-SYDRZ for the respective object OB OB 'can be successfully completed after running through the first stage ES, so that both the first stage digital robot twin synchronization ES-SYDRZ and the syn- The synchronization of the digital robot twin SYDZ has ended.
Mit einer vierten Schleifendurchlaufbedingungsprüfung SAFl-d wird geprüft ob (i) in der Erststufe ES eine Verbesserung der Erststufen-Unsicherheit ESU stattfindet und (ii) die Vorbe dingung der kraftbasierten Synchronisation in der Zweitstufe ZS erfüllt ist, und dass dann, wenn (i) nicht mehr stattfin det und (ii) nicht erfüllt ist, die Synchronisation des Erst stufen-Digitalen-Roboter-Zwillings ES-SYDZ abgebrochen und die Synchronisation des Digitalen-Roboter-Zwillings SYDZ für eine Nutzerinteraktion unterbrochen werden. A fourth loop condition test SAFl-d is used to check whether (i) there is an improvement in the first-level uncertainty ESU in the first stage ES and (ii) the precondition for force-based synchronization is met in the second stage ZS, and that if (i) no longer takes place and (ii) is not fulfilled, the synchronization of the first-stage digital robot twin ES-SYDZ is aborted and the synchronization of the digital robot twin SYDZ is interrupted for user interaction.
An dieser Stelle bekommt der Nutzer z.B. angezeigt, aus wel chem Grund die Interaktion stattfindet und er hat nun folgen de Handlungsmöglichkeiten: At this point, the user is shown, for example, the reason for the interaction and he now has the following options for action:
- Abbruch der Erststufe ES für das Objekt mit oder ohne Si cherung des teilweise aktualisierten Erststufen-Digitalen- Roboter-Zwillings DRZ-ES. Dies führt zu einer Fortführung für den Rest der Roboter-Objekt-Systemumgebung ROSU. - Abortion of the first stage ES for the object with or without securing the partially updated first stage digital robot twin DRZ-ES. This leads to a continuation for the rest of the robot-object system environment ROSU.
- Abbruch der Synchronisation des Digitalen-Roboter-Zwillings SYDZ für das Objekt mit oder ohne Sicherung des teilweise ak tualisierten Erststufen-Digitalen-Roboter-Zwillings DRZ-ES.- Abortion of the synchronization of the digital robot twin SYDZ for the object with or without backup of the partially updated first-stage digital robot twin DRZ-ES.
- Setzen von Prozessbedarf für Teilprozesse. - Setting process requirements for sub-processes.
- Weiterführung der Erststufe ES. - Continuation of the first level ES.
Beim Durchlauf des ersten Anweisungsblocks AWB1 werden dezi dierte Anweisungsschritte AWS durchgeführt. When the first instruction block AWB1 is run through, dedicated instruction steps AWS are carried out.
So wird in einem ersten Anweisungsschritt AWS1 zur Planung einer Robotertrajektorie eine Szene der Roboter-Objekt- Systemumgebung ROSU unter der Annahme von Abweichungen zwi schen Realität und dem Erststufen-Digital-Roboter-Zwilling DRZ-ESerfasst . Hierzu wird in einem zweiten Anweisungsschritt AWS2 die Roboter-Objekt-Systemumgebung ROSU mit Hilfe einer Sensorik am Roboter RB erfasst. Diese Sensorik kann z.B. ge mäß der Darstellung in der FIGUR 2 die Kamera KM, die 3D- Sensorik 3D-SS sein. Optional ist es aber auch möglich, dass für die optische Erfassung der Roboter-Objekt-Systemumgebung ROSU zusätzlich noch der RGB-Farbsensor RGB-FS am Roboter RB angebracht wird. In diesen die Sensorik charakterisierenden Fällen sind die Umgebungsmessdaten UMD von der 3D-Sensorik 3D-SS erzeugte 3D-Bilddaten 3D-BD und/oder von dem RGB- Farbsensor RGB-FS erzeugte Sensordaten SSD. Thus, in a first instruction step AWS1 for planning a robot trajectory, a scene of the robot-object system environment ROSU is recorded under the assumption of deviations between reality and the first-stage digital robot twin DRZ-ES. For this purpose, in a second instruction step AWS2, the robot-object system environment ROSU is recorded with the aid of a sensor system on the robot RB. This sensor system can, for example, according to the representation in FIG. 2, the camera KM, the 3D 3D-SS sensors. Optionally, however, it is also possible for the RGB color sensor RGB-FS to be attached to the robot RB for the optical detection of the robot object system environment ROSU. In these cases which characterize the sensor system, the ambient measurement data UMD are 3D image data 3D-BD generated by the 3D sensor system 3D-SS and / or sensor data SSD generated by the RGB color sensor RGB-FS.
In einem weiteren dritten Anweisungsschritt AWS3 werden nun, wie bereits erwähnt, die Erststufen-Unsicherheit ESU für je des Objekt OB, OB' geschätzt, indem die bei der optischen ROSU-Erfassung ermittelten Umgebungsmessdaten UMD mit den ersten Simulationsmessdaten SMD1 verglichen werden, die mit Hilfe des Erststufen-Digital-Roboter-Zwillings DRZ-ES erzeugt werden. In a further third instruction step AWS3, as already mentioned, the first-stage uncertainty ESU for each of the object OB, OB 'is estimated by comparing the environmental measurement data UMD determined during the optical ROSU detection with the first simulation measurement data SMD1, which is obtained with the aid of the first-stage digital robot twin DRZ-ES.
Beim Durchlauf des zweiten Anweisungsblocks AWB2 werden wie der, wie beim Durchlaufen des ersten Anweisungsblocks AWB1, weitere dezidierte Anweisungsschritte AWS durchgeführt. When running through the second instruction block AWB2, as when running through the first instruction block AWB1, further dedicated instruction steps AWS are carried out.
So wird in einem vierten Anweisungsschritt AWS4 der Ablauf des Steuerungsprogramms STP für Bewegungen des Roboters RB nach Maßgabe des Erststufen-Digital-Roboter-Zwillings DRZ-ES simuliert. In a fourth instruction step AWS4, the sequence of the control program STP for movements of the robot RB is simulated in accordance with the first-stage digital robot twin DRZ-ES.
In einem weiteren fünften Anweisungsschritt AWS5 wird für je des Objekt OB, OB' ein den Erststufen-Genauigkeitsbedarf ESGB definierende, erster Minimaldistanzwert MDW1 einer ersten Ro boter-Objekt-Minimaldistanz , die im Zuge des simulierten Steuerungsprogrammablaufs auftritt, bestimmt. In a further fifth instruction step AWS5, a first minimum distance value MDW1 of a first robot object minimum distance that occurs in the course of the simulated control program sequence is determined for each object OB, OB '.
Die erste Roboter-Objekt-Minimaldistanz ist dabei die kürzes te Roboter-Objekt-Distanz über alle Zeitschritte des simu lierten Steuerungsprogramms hinweg. Dies erfordert eine Simu lation des Steuerungsprogramms mit dem aktuellen Erststufen- Digital-Roboter-Zwilling DRZ-ES. Der kürzeste Abstand wird mit Hilfe der äußeren Hülle vom Roboter (samt Anbauten, Endeffektor und temporär beigefügten Objekten) und vom Zielob jekt in Form einer 3D Oberflächenrepräsentation bestimmt. The first robot-object minimum distance is the shortest robot-object distance over all time steps of the simulated control program. This requires a simulation of the control program with the current first-stage digital robot twin DRZ-ES. The shortest distance is determined with the help of the outer shell of the robot (including attachments, End effector and temporarily attached objects) and determined by the target object in the form of a 3D surface representation.
Im Zuge der ersten Abfrageschleife AFS1 werden abschließend auch beim Durchlaufen des ersten Anweisungskorrekturblocks AWKB1 zusätzlich weitere dezidierte Anweisungsschritte AWS durchgeführt . In the course of the first query loop AFS1, further dedicated instruction steps AWS are also carried out when the first instruction correction block AWKB1 is run through.
So werden in einem sechsten Anweisungsschritt AWS6 Objektpo senschätzungsmethoden auf die Umgebungsmessdaten UMD ange wandt [vgl. als Referenz für solche Objektposenschätzungsme thoden sei z.B. die Europäische Patentanmeldung (Anmeldung- Nr. 19178454.5) angeführt]. In a sixth instruction step AWS6, object position estimation methods are applied to the environmental measurement data UMD [cf. the European patent application (application no. 19178454.5) is cited as a reference for such object pose estimation methods].
In einem weiteren siebten Anweisungsschritt AWS7 wird die Ob jektposenschätzung für jedes Objekt OB, OB' in dem Erststu- fen-Digital-Roboter-Zwilling DRZ-ES aktualisiert. In a further seventh instruction step AWS7, the object position estimate is updated for each object OB, OB 'in the first-stage digital robot twin DRZ-ES.
FIGUR 4 illustriert in der oberen Figurenhälfte die Erststu- fen-Synchronisation des Digital-Roboter-Zwillings ES-SYDRZ für die erste Abfrageschleife AFS1 mit dem dritten Anwei sungsschritt AWS3 in dem ersten Anweisungsblock AWB1, dem fünften Anweisungsschritt AWS5 in dem zweiten Anweisungsblock AWB2 und der ersten Schleifenabfrage SFA1. FIG. 4 illustrates in the upper half of the figure the first-stage synchronization of the digital robot twin ES-SYDRZ for the first query loop AFS1 with the third instruction step AWS3 in the first instruction block AWB1, the fifth instruction step AWS5 in the second instruction block AWB2 and the first loop query SFA1.
In der Zweitstufe ZS der automatischen Zweitsufen-Digital- Roboter-Zwilling-Synchronisation ZS-SYDRZ werden bei der zweiten Abfrageschleife AFS2 in einem dritten Anweisungsblock AWB3 für jedem Durchlauf Zweit-Unsicherheit ZSU geschätzt, indem zweite Simulationsmessdaten SMD2 mit den Umgebungsmess daten UMD verglichen werden. In the second stage ZS of the automatic second stage digital robot twin synchronization ZS-SYDRZ, in the second query loop AFS2 in a third instruction block AWB3, the second uncertainty ZSU is estimated for each run by comparing the second simulation measurement data SMD2 with the environmental measurement data UMD.
In der Zweitstufe ZS wird die Unsicherheit - anders als in der Erststufe ES - nicht als Skalar betrachtet, sondern als Verteilung in Form von einer Liste (oder Menge) von einzelnen gewichteten Hypothesen, sogenannte Partikel. Dies ist eine für den Roboter RB gängige Repräsentation, insbesondere z.B. bei mobiler Navigation. Diese wird bestimmt durch Generieren und Bewerten von neuen Hypothesen, als sogenanntes "sampling" bezeichnet. Zur Bewertung der Hypothesen werden simulierte Tiefenwerte (Tiefenbilder) des Objekts mit realen (gemesse nen) Tiefenwerten verglichen. Optional können die Ergebnisse von Optischen Schätzmethoden hiermit bei der Gewichtung be rücksichtigt werden. In the second level ZS - unlike in the first level ES - the uncertainty is not viewed as a scalar, but as a distribution in the form of a list (or set) of individual weighted hypotheses, so-called particles. This is a common representation for the robot RB, in particular in the case of mobile navigation, for example. This is determined by generating and evaluating new hypotheses, referred to as so-called "sampling". To evaluate the hypotheses, simulated depth values (depth images) of the object are compared with real (measured) depth values. The results of optical estimation methods can optionally be taken into account in the weighting.
Dafür wird eine Objektposenverteilung bestimmt und diese wird im Zweitstufen-Digital-Roboter-Zwilling DRZ-ZS abgelegt. Der Zweitstufen-Digital-Roboter-Zwilling DRZ-ZS wird in der ers ten Ausführung mit den Daten des Erststufen-Digital-Roboter- Zwilling DRZ-ES initialisiert und mit Hilfe des Zweitstufen- Digital-Roboter-Zwillings DRZ-ZS werden die zweiten Simulati onsmessdaten SMD2 generiert. For this purpose, an object pose distribution is determined and this is stored in the second-stage digital robot twin DRZ-ZS. The second stage digital robot twin DRZ-ZS is initialized in the first version with the data of the first stage digital robot twin DRZ-ES and the second simulations are carried out with the aid of the second stage digital robot twin DRZ-ZS onsmessdaten SMD2 generated.
Dieser Zweitstufen-Digital-Roboter-Zwilling DRZ-ZS wird - wie der Erststufen-Digital-Roboter-Zwilling DRZ-ES , der Digital- Roboter-Zwilling DRZ und die Umgebungsmessdaten UMD - eben falls in den Konfigurationsdatenspeicher KDSP gespeichert und von dem Prozessor PZ ausgelesen. This second stage digital robot twin DRZ-ZS is - like the first stage digital robot twin DRZ-ES, the digital robot twin DRZ and the environmental measurement data UMD - also stored in the configuration data memory KDSP and from the processor PZ read out.
Weiterhin wird bei der zweiten Abfrageschleife AFS2 in einem vierten Anweisungsblock AWB4, der nach dem dritten Anwei sungsblock AWB3 durchlaufen wird, für jeden Durchlauf der Zweistufen-Genauigkeitsbedarf ZESGB bestimmt. Furthermore, in the second query loop AFS2, in a fourth instruction block AWB4, which is run through after the third instruction block AWB3, the two-stage accuracy requirement ZESGB is determined for each run.
Zum Abschluss der zweiten Abfrageschleife AFS2 wird in einer zweiten Schleifenabfrage SAF2 Schleifendurchlaufbedingungen geprüft. At the end of the second query loop AFS2, loop cycle conditions are checked in a second loop query SAF2.
Diese Prüfung der Schleifendurchlaufbedingungen wird nachfol gend erläutert. This check of the loop pass conditions is explained below.
Mit einer ersten Schleifendurchlaufbedingungsprüfung SAF2-a wird geprüft, ob die Zweitstufen-Unsicherheit ZSU den Zweit stufen-Genauigkeitsbedarf ZSGB erfüllt, und dass dann, wenn dies erfüllt ist, die Zweitstufen-Digital-Roboter-Zwilling- Synchronisation ZS-SYDRZ beendet und damit die Synchronisati- on des Digital-Roboter-Zwillings SYDRZ für das betrachtete Objekt erfolgreich abgeschlossen sind. A first loop condition check SAF2-a checks whether the second-level uncertainty ZSU meets the second-level accuracy requirement ZSGB, and that, if this is met, the second-level digital robot twin synchronization ZS-SYDRZ ends and thus the Synchronization on of the digital robot twin SYDRZ for the viewed object have been successfully completed.
Mit einer zweiten Schleifendurchlaufbedingungsprüfung SAF2-b wird geprüft ob die Zweitstufen-Unsicherheit ZSU den Zweit stufen-Genauigkeitsbedarf ZSGB erfüllt, und dass dann, wenn dies nicht erfüllt ist, die Zweitstufen-Unsicherheit ZSU durch Abtasten des jeweiligen Objekt OB, OB' im Roboterkon takt in einem zweiten Anweisungskorrekturblock AWKB2 redu ziert wird. A second loop condition test SAF2-b checks whether the second-level uncertainty ZSU meets the second-level accuracy requirement ZSGB, and that, if this is not met, the second-level uncertainty ZSU by scanning the respective object OB, OB 'in the robot contact is reduced in a second instruction correction block AWKB2.
Mit einer dritten Schleifendurchlaufbedingungsprüfung SAF2-C wird geprüft ob (i) die Zweitstufen-Unsicherheit ZSU den Zweitstufen-Genauigkeitsbedarf ZSGB erfüllt und (ii) eine Verbesserung der Zweitstufen-Unsicherheit ZSU noch stattfin den kann, und dass dann, wenn (i) noch nicht erfüllt ist und (ii) verneint wird, die Synchronisation des Zweitstufen- Digitalen-Roboter-Zwillings ES-SYDZ abgebrochen und die Syn chronisation des Digitalen-Roboter-Zwillings SYDZ für eine Nutzerinteraktion unterbrochen werden. A third loop condition test SAF2-C checks whether (i) the second-level uncertainty ZSU meets the second-level accuracy requirement ZSGB and (ii) an improvement in the second-level uncertainty ZSU can still take place, and if (i) not yet is fulfilled and (ii) is answered in the negative, the synchronization of the second-stage digital robot twin ES-SYDZ is aborted and the synchronization of the digital robot twin SYDZ is interrupted for user interaction.
Bei der Nutzerinteraktion wird dem Nutzer angezeigt, aus wel chem Grund die Interaktion stattfindet und es bestehen fol gende Handlungsmöglichkeiten: During user interaction, the user is shown the reason for the interaction and the following options exist:
- Abbruch der Zweitstufe ZS für das Objekt mit oder ohne Si cherung des teilweise aktualisierten Zweitstufen-Digitalen- Roboter-Zwillings DRZ-ZS. Dies führt zu einer Fortführung des Synchronisationsprozesses für die verbleibenden Objekte. - Abortion of the second stage ZS for the object with or without securing the partially updated second stage digital robot twin DRZ-ZS. This leads to a continuation of the synchronization process for the remaining objects.
- Abbruch des Gesamtprozesses mit oder ohne Sicherung des teilweise aktualisierten Zweitstufen-Digitalen-Roboter- Zwillings DRZ-ZS. - Abortion of the entire process with or without backup of the partially updated second-stage digital robot twin DRZ-ZS.
- Anpassung vom Prozessbedarf für Teilprozesse und Weiterfüh rung der aktuellen Synchronisationsstufe - Adaptation of the process requirements for sub-processes and continuation of the current synchronization level
Beim Durchlauf des dritten Anweisungsblocks AWB3 werden wie der weitere dezidierte Anweisungsschritte AWS durchgeführt. So werden in einem achten Anweisungsschritt AWS8 Objektposen hypothesen, insbesondere unter Berücksichtigung von physika lischen Randbedingungen, generiert (gesampelt) und -wie be reits erwähnt - die bei der ROSU-Erfassung ermittelten Umge bungsmessdaten UMD mit den zweiten Simulationsmessdaten SMD2 verglichen. Die zweiten Simulationsmessdaten SMD2 werden durch Simulation mehrerer Objektposenhypothesen als Teil der Zweitstufen-Unsicherheit ZSU und als Teil der Zweitstufen- Digital-Roboter-Zwilling DRZ-ZS erzeugt. When running through the third instruction block AWB3, like the other, dedicated instruction steps AWS are carried out. In an eighth instruction step AWS8, object poses hypotheses are generated (sampled), in particular taking into account physical constraints, and - as already mentioned - the ambient measurement data UMD determined during the ROSU acquisition are compared with the second simulation measurement data SMD2. The second simulation measurement data SMD2 are generated by simulating several object pose hypotheses as part of the second-level uncertainty ZSU and as part of the second-level digital robot twin DRZ-ZS.
Zum Abschluss beim Durchlauf des dritten Anweisungsblocks AWB3 wird in einem neunten Anweisungsschritt AWS9 für jedes Objekt OB, OB' eine mögliche Objektposenverteilung mit Hilfe von wahrscheinlichen Objektposenhypothesen bestimmt, wobei Objektposen mit einer geringeren Abweichung zwischen den er mittelten Umgebungsmessdaten UMD verglichen mit den zweiten Simulationsmessdaten SMD2 wahrscheinlich sind. At the end of the passage through the third instruction block AWB3, a possible object pose distribution is determined in a ninth instruction step AWS9 for each object OB, OB 'with the help of probable object pose hypotheses, with object poses with a lower deviation between the determined environmental measurement data UMD compared to the second simulation measurement data SMD2 probable are.
Beim Durchlauf des vierten Anweisungsblocks AWB4 werden wie der, wie beim Durchlaufen des dritten Anweisungsblocks AWB3, weitere dezidierte Anweisungsschritte AWS durchgeführt. When running through the fourth instruction block AWB4, as when running through the third instruction block AWB3, further dedicated instruction steps AWS are carried out.
So wird in einem zehnten Anweisungsschritt AWS10 der Ablauf des Steuerungsprogramms STP für Bewegungen des Roboters RB mit mehreren wahrscheinlichen Objektposenhypothesen als Teil der Zweitstufen-Unsicherheit ZSU und als Teil der Zweitstu- fen-Digital-Roboter-Zwilling DRZ-ZS simuliert. Thus, in a tenth instruction step AWS10, the sequence of the control program STP for movements of the robot RB is simulated with several probable object pose hypotheses as part of the second-stage uncertainty ZSU and as part of the second-stage digital robot twin DRZ-ZS.
In einem weiteren elften Anweisungsschritt AWS11 wird für je des Objekt OB, OB' eine den Zweitstufen-Genauigkeitsbedarf ZSGB definierende, zweite Mindestdistanzwert MDW2 einer Zweitstufen-Roboter-Objekt-Minimaldistanzbestimmt, die im Zu ge des simulierten Steuerungsprogrammablaufs auftritt. In a further eleventh instruction step AWS11, for each of the object OB, OB ', a second minimum distance value MDW2 defining the second level accuracy requirement ZSGB of a second level robot object minimum distance is determined, which occurs in the course of the simulated control program flow.
Die Zweitstufen-Roboter-Objekt-Minimaldistanz wird weitestge hend genauso bestimmt wie der Erststufen Roboter-Objekt- Minimaldistanz . Der Unterschied liegt darin, dass die Robo ter-Objekt-Minimaldistanz mehrfach für verschiedene Objektpo- senhypothesen ermittelt wird. Als Objektposenhypothesen wer den typischerweise gesampelte Partikel aus probabilistischen Posen-Verteilungen bezeichnet. Hierbei wird die Simulation des Steuerprogramms mehrfach mit hoch gewichteten charakte ristischen Posen-Hypothesen durchgeführt, die z.B. als Kompo nenten einer "Mixture of Gaussian Approximation" bestimmt werden. Es wird jedoch der Abstand zwischen Roboter und allen Hypothesen berechnet. Die Distanzschätzung wird aber weiter hin skalar formuliert, nur die Berechnung unterscheidet sich. Die Minimaldistanz bezeichnet die kürzeste in der Menge aller ermittelten Distanzen. Hypothesen mit einer Gewichtung unter einer Schwelle werden dabei für die Berechnung der Zweitstu- fen-Roboter-Objekt-Minimaldistanz verworfen. The second-level robot-object minimum distance is largely determined in the same way as the first-level robot-object minimum distance. The difference is that the robot object minimum distance is multiple for different object portals. sen hypotheses is determined. The typically sampled particles from probabilistic pose distributions are referred to as object pose hypotheses. Here, the simulation of the control program is carried out several times with highly weighted characteristic pose hypotheses, which are determined, for example, as components of a "Mixture of Gaussian Approximation". However, the distance between the robot and all hypotheses is calculated. The distance estimation continues to be formulated as scalar, only the calculation differs. The minimum distance denotes the shortest in the set of all determined distances. Hypotheses with a weighting below a threshold are discarded for the calculation of the second-stage robot-object minimum distance.
Der Zweitstufen-Genauigkeitsbedarf ZSGB ist vergleichbar mit dem Erststufen-Genauigkeitsbedarf ESGB, mit dem Unterschied, dass die Zweitstufen Roboter-Objekt-Minimaldistanz verwendet wird: The second level accuracy requirement ZSGB is comparable to the first level accuracy requirement ESGB, with the difference that the second level robot-object minimum distance is used:
* Zweitstufen Roboter-Objekt-Minimaldistanz, wenn kein Pro zessbedarf formuliert ODER * Second level robot-object minimum distance, if no process requirement is formulated OR
* Prozessbedarf wenn vorhanden * Process requirements if any
Bei Roboter-Objekt-Minimaldistanzschätzungen die kleiner gleich NULL sind, was einer Kollision zwischen Roboter RB und Objekt OB, OB' entspricht und bei keiner Angabe von Prozess bedarfswerten folgt eine Anfrage an den Nutzer zur Konfigura tion des Prozessbedarfs. In the case of robot-object minimum distance estimates that are less than or equal to ZERO, which corresponds to a collision between robot RB and object OB, OB 'and if no process requirement values are specified, the user is asked to configure the process requirement.
Im Zuge der zweiten Abfrageschleife AFS2 werden abschließend auch beim Durchlaufen des zweiten Anweisungskorrekturblocks AWKB2 zusätzlich noch ein weiterer dezidierter Anweisungs schritt AWS durchgeführt. In the course of the second query loop AFS2, a further dedicated instruction step AWS is also carried out when the second instruction correction block AWKB2 is run through.
So werden in einem zwölften Anweisungsschritt AWS12 Objektpo sen statischer Objekte der Objekte OB, OB' durch Abtasten des jeweiligen statischen Objekts im Roboterkontakt geschätzt. FIGUR 4 illustriert in der unteren Figurenhälfte die Zweit stufen-Synchronisation des Digital-Roboter-Zwillings ZS-SYDRZ für die zweite Abfrageschleife AFS2 mit dem achten Anwei sungsschritt AWS8 in dem dritten Anweisungsblock AWB3, dem elften Anweisungsschritt AWS11 in dem vierten Anweisungsblock AWB4 und der zweiten Schleifenabfrage SFA2. In a twelfth instruction step AWS12, object positions of static objects of the objects OB, OB 'are estimated by scanning the respective static object in the robot contact. FIGURE 4 illustrates in the lower half of the figure the second stage synchronization of the digital robot twin ZS-SYDRZ for the second query loop AFS2 with the eighth instruction step AWS8 in the third instruction block AWB3, the eleventh instruction step AWS11 in the fourth instruction block AWB4 and the second Loop query SFA2.
Die Durchführung der automatischen Digital-Roboter-Zwilling- Synchronisation SYDRZ endet damit, dass nach der - wie vor- stehend erläutert - durchgeführten Synchronisation des Digi- tal-Roboter-Zwilling SYDRZ in einem aktualisierten, synchro nisierten Zustand ASZ des Digital-Roboter-Zwillings DRZ der Digital-Roboter-Zwilling DRZ inklusive des den Roboter RB für die Objektmanipulation steuernden Steuerungsprogramms STP bzw. des Steuerungsprogrammablaufs, der in dem Datenspeicher DSP gespeicherten geometrischen Daten der Roboter-Objekt- Systemumgebung ROSU und/oder Unsicherheitsangaben für die Ob jekte OB, OB' in der Roboter-Objekt-Systemumgebung ROSU aktu alisiert wird. The execution of the automatic digital robot twin synchronization SYDRZ ends with the fact that after the synchronization of the digital robot twin SYDRZ carried out - as explained above - in an updated, synchronized state ASZ of the digital robot twin DRZ the digital robot twin DRZ including the control program STP controlling the robot RB for object manipulation or the control program flow, the geometric data of the robot object system environment ROSU and / or uncertainty information for the objects OB, OB stored in the data memory DSP 'is updated in the robot object system environment ROSU.

Claims

Patentansprüche Claims
1. Verfahren zum Konfigurieren einer Roboter-Objekt-System- umgebung (ROSU, ROSU ') mit mindestens einem Objekt (OB, OB') und einem Roboter (RB) zur Objektmanipulation und Objekter fassung, bei dem ein die Roboter-Objekt-Systemumgebung (ROSU, ROSU') digital repräsentierender, den Roboter (RB) für die Objektmanipulation auf der Basis eines Steuerungsprogramms (STP, STP') steuernder Digital-Roboter-Zwilling (DRZ, DRZ') für einen zielführenden Einsatz des Roboters (RB) in der Ro boter-Objekt-Systemumgebung (ROSU, ROSU') bei der Objektmani pulation synchronisiert wird, dadurch gekennzeichnet, dass der Digital-Roboter-Zwilling (DRZ, DRZ') bedarfsgerecht und diesbezüglich ein- oder zweistufig synchronisiert wird, wobei a) in einer Erststufe (ES) jedes Objekt (OB, OB') in der Ro boter-Objekt-Systemumgebung (ROSU, ROSU') im Zuge des Steue rungsprogrammablaufs solange in Bezug auf eine Objektposition optisch erfasst wird bis (AFS1, SAF1, EAB, SAFl-b) al ) das Objekt (OB, OB') für einen Erststufen- Genauigkeitsbedarf (ESGB) in seiner Position genau genug be stimmt ist (SAFl-c), a2 ) eine Verbesserung der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling (DRZ, DRZ-ES) in einer Zweitstufe (ZS) in Bezug auf die Synchronisierung erforderlich und unter gegebenen Bedingungen der Zweitstufen-Synchronisierung ziel führend ist (SAFl-a) oder a3 ) die Verbesserung der der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling (DRZ, DRZ-ES) nicht möglich ist (SAFl-d), b) in der Zweitstufe (ZS) jedes Objekt (OB, OB') in der Robo ter-Objekt-Systemumgebung (ROSU, ROSU') im Zuge des Steue rungsprogrammablaufs solange in Bezug auf eine Objektposition durch Bestimmung von Objektposenverteilung oder durch Bestim mung von Objektposenverteilung und Roboterkontakt erfasst wird bis (AFS2, SAF2, ZAB, SAF2-b) bl) das Objekt (OB, OB') für einen Zweitstufen- Genauigkeitsbedarf (ZSGB) in seiner Position ausreichend ge nau bestimmt ist (SAFl-a) oder b2) die Verbesserung der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling (DRZ, DRZ-ZS) nicht möglich ist (SAF2-C). 1. Method for configuring a robot object system environment (ROSU, ROSU ') with at least one object (OB, OB') and a robot (RB) for object manipulation and object detection, in which the robot object system environment (ROSU, ROSU ') digitally representing the robot (RB) for object manipulation on the basis of a control program (STP, STP') controlling digital robot twin (DRZ, DRZ ') for a targeted use of the robot (RB) in the robot object system environment (ROSU, ROSU ') is synchronized during object manipulation, characterized in that the digital robot twin (DRZ, DRZ') is synchronized in one or two stages as required and in this regard, with a) in a first stage (ES) each object (OB, OB ') in the robot object system environment (ROSU, ROSU') in the course of the control program sequence is optically detected in relation to an object position until (AFS1, SAF1, EAB, SAFl -b) al) the object (OB, OB ') for a first level en- accuracy requirement (ESGB) is determined precisely enough in its position (SAFl-c), a2) an improvement in the accuracy of the object position in the digital robot twin (DRZ, DRZ-ES) in a second stage (ZS) in relation to the synchronization is necessary and, under the given conditions, the second stage synchronization is effective (SAFl-a) or a3) the improvement of the accuracy of the object position in the digital robot twin (DRZ, DRZ-ES) is not possible (SAFl-d) , b) in the second stage (ZS) each object (OB, OB ') in the robot object system environment (ROSU, ROSU') in the course of the control program flow as long as it relates to an object position by determining object position distribution or by determination is detected by object pose distribution and robot contact until (AFS2, SAF2, ZAB, SAF2-b) bl) the position of the object (OB, OB ') for a second level accuracy requirement (ZSGB) is sufficiently precisely determined (SAFl-a) or b2) the improvement of the accuracy of the object position in the digital robot twin (DRZ, DRZ -ZS) is not possible (SAF2-C).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine erste Abfrageschleife (AFS1) für jedes Objekt (OB, OB') in der Erststufe (ES) durchlaufen wird, bei der a) in einem ersten Anweisungsblock (AWB1) bei jedem Durchlauf eine Erststufen-Unsicherheit (ESU) geschätzt wird, indem bei der optischen Objekterfassung ermittelte Umgebungsmessdaten (UMD) mit ersten Simulationsmessdaten (SMD1) eines Erststu- fen-Digitalen-Roboter-Zwillings (DRZ-ES) verglichen werden, b) in einem zweiten Anweisungsblock (AWB2), der nach dem ers ten Anweisungsblock (AWB1) durchlaufen wird, bei jedem Durch lauf der Erststufen-Genauigkeitsbedarf (ESGB) bestimmt wird, c) in einer Erststufen-Schleifenabfrage (SAF1) Schleifen durchlaufbedingungen (SAFl-a, SAFl-b, SAFl-c, SAFl-d) geprüft werden, wobei 2. The method according to claim 1, characterized in that a first query loop (AFS1) is run through for each object (OB, OB ') in the first stage (ES), in which a) in a first instruction block (AWB1) one for each run First-stage uncertainty (ESU) is estimated by comparing environmental measurement data (UMD) determined during the optical object detection with first simulation measurement data (SMD1) of a first-stage digital robot twin (DRZ-ES), b) in a second instruction block ( AWB2), which is run through after the first instruction block (AWB1), with each run the first-level accuracy requirement (ESGB) is determined, c) in a first-level loop query (SAF1) loop conditions (SAFl-a, SAFl-b, SAFl-c, SAFl-d) are checked, where
- infolge einer ersten Schleifendurchlaufbedingungsprüfung (SAFl-a) der Wechsel von der Erststufe (ES) zur Zweitstufe (ZS) erfolgt, - as a result of a first loop condition test (SAFl-a) the change from the first level (ES) to the second level (ZS) takes place,
- infolge einer zweiten Schleifendurchlaufbedingungsprüfung (SAFl-b) die erste Abfrageschleife (AFS1) durchlaufen wird,- the first query loop (AFS1) is run through as a result of a second loop condition test (SAFl-b),
- infolge einer dritten Schleifendurchlaufbedingungsprüfung (SAFl-c) die Synchronisation des Digital-Roboter-Zwillings (SYDRZ) erfolgreich durchgeführt worden ist und diese somit beendet wird, - as a result of a third loop condition test (SAFl-c) the synchronization of the digital robot twin (SYDRZ) has been carried out successfully and this is thus ended,
- infolge einer vierten Schleifendurchlaufbedingungsprüfung (SAFl-d) die Synchronisation des Digital-Roboter-Zwillings (SYDRZ) nicht erfolgreich durchgeführt werden kann, diese so mit abgebrochen wird und deshalb Nutzeraktionen erforderlich sind, d) beim Durchlaufen der ersten Abfrageschleife (AFS1) in ei nem ersten Anweisungskorrekturblock (AWKB1) Objektpositions- daten des Erststufen-Digitalen-Roboter-Zwillings (DRZ-ES) durch Anwendung von Objektposenschätzungsmethoden auf die Um gebungsmessdaten (UMD) aktualisiert werden, um damit die Erststufen Unsicherheit (ESU) zu reduzieren. - as a result of a fourth loop condition check (SAFl-d) the synchronization of the digital robot twin (SYDRZ) cannot be carried out successfully, this is aborted and therefore user actions are required, d) when running through the first query loop (AFS1) in ei nem first instruction correction block (AWKB1) Object position data of the first-stage digital robot twin (DRZ-ES) can be updated by applying object pose estimation methods to the ambient measurement data (UMD) in order to reduce the first-stage uncertainty (ESU).
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass beim Durchlauf des ersten Anweisungsblocks (AWB1) dezidierte Anweisungsschritte (AWS) durchgeführt werden, so 3. The method according to claim 2, characterized in that when the first instruction block (AWB1) is run through, dedicated instruction steps (AWS) are carried out, see above
- ein erster Anweisungsschritt (AWS1) zur Planung einer Robo- tertrajektorie zum Erfassen einer Szene der Roboter-Objekt- Systemumgebung (ROSU, ROSU ') unter der Annahme von Abweichun gen zwischen dem Digital-Roboter-Zwilling (DRZ, DRZ-ES) und der Roboter-Objekt-Systemumgebung (ROSU), - A first instruction step (AWS1) for planning a robot trajectory for capturing a scene of the robot object system environment (ROSU, ROSU ') assuming deviations between the digital robot twin (DRZ, DRZ-ES) and the robot object system environment (ROSU),
- ein zweiter Anweisungsschritt (AWS2) zum Erfassen und Spei chern der Umgebungsmessdaten (UMD) der Roboter-Objekt- Systemumgebung (ROSU) mit Hilfe einer Optik, z.B. eine 3D- Sensorik, oder mit Hilfe einer Optik, z.B. eine 3D-Sensorik, und eines Sensors, z.B. einen RGB-Farbsensor, am Roboter- A second instruction step (AWS2) for capturing and storing the environmental measurement data (UMD) of the robot object system environment (ROSU) with the help of optics, eg a 3D sensor system, or with the aid of an optics system, eg a 3D sensor system, and a sensor, e.g. an RGB color sensor, on the robot
(RB), (RB),
- ein dritter Anweisungsschritt (AWS3) zum Schätzen der Erst stufen-Unsicherheit (ESU) für jedes Objekt (OB, OB') durch Vergleich der bei der optischen ROSU-Erfassung ermittelten Umgebungsmessdaten (UMD) mit den ersten Simulationsmessdaten- A third instruction step (AWS3) for estimating the first-stage uncertainty (ESU) for each object (OB, OB ') by comparing the environmental measurement data (UMD) determined during the optical ROSU detection with the first simulation measurement data
(SMD1) (SMD1)
4. Verfahren nach Anspruch 2 oder 3, dadurch gekenn zeichnet, dass beim Durchlauf des zweiten Anweisungsblocks (AWB2) weitere der dezidierten Anweisungsschritte (AWS) durchgeführt werden, so 4. The method according to claim 2 or 3, characterized in that when the second instruction block (AWB2) is run through, further of the dedicated instruction steps (AWS) are carried out, see above
- ein vierter Anweisungsschritt (AWS4) zur Simulation des Ab laufs des Steuerungsprogramms (STP, STP') für Bewegungen des Roboters (RB) nach Maßgabe des Digital-Roboter-Zwillings (DRZ, DRZ-ES, DRZ'), - A fourth instruction step (AWS4) to simulate the sequence of the control program (STP, STP ') for movements of the robot (RB) in accordance with the requirements of the digital robot twin (DRZ, DRZ-ES, DRZ'),
- ein fünfter Anweisungsschritt (AWS5) zum Bestimmen eines den Erststufen-Genauigkeitsbedarf (ESGB) für jedes Objekt (OB, OB') definierenden, ersten Minimaldistanzwertes (MDW1) einer Erststufen-Roboter-Objekt-Minimaldistanz, die im Zuge des simulierten Steuerungsprogrammablaufs, insbesondere wenn ein Prozessbedarf für ein Teilprozess gegeben ist, wird die ser als Erststufen-Genauigkeitsbedarf (ESGB) in dem Teilpro zess verwendet, auftritt. - a fifth instruction step (AWS5) for determining one of the first-level accuracy requirements (ESGB) for each object (OB, OB ') defining, first minimum distance value (MDW1) of a first-level robot-object minimum distance, which in the course of the simulated control program flow, in particular if a process requirement is given for a sub-process, is this as first-level accuracy requirement (ESGB) in the sub-process used occurs.
5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass beim Durchlaufen des ersten Anweisungskorrekturblocks (AWKB1) zusätzlich weitere der dezidierten Anweisungsschritte (AWS) durchgeführt werden, so 5. The method according to any one of claims 2 to 4, characterized in that when running through the first instruction correction block (AWKB1) additional of the dedicated instruction steps (AWS) are carried out, see above
- ein sechster Anweisungsschritt (AWS6) zur Anwendung von Ob jektposenschätzungsmethoden auf die erfassten Umgebungsmess daten (UMD), - A sixth instruction step (AWS6) for the application of object position estimation methods to the captured environmental measurement data (UMD),
- ein siebter Anweisungsschritt (AWS7) zur Aktualisierung der Objektposenschätzung für jedes Objekt (OB, OB') im Erststu- fen-Digitalen-Roboter-Zwilling (DRZ-ES). - A seventh instruction step (AWS7) for updating the object position estimate for each object (OB, OB ') in the first-stage digital robot twin (DRZ-ES).
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass eine zweite Abfrageschleife (AFS2) für jedes Objekt (OB, OB') in der Zweitstufe (ZS) durchlaufen wird, bei der a) in einem dritten Anweisungsblock (AWB3) bei jedem Durch lauf eine Zweitstufen-Unsicherheit (ZSU) geschätzt wird, in dem die bereits erfassten Umgebungsmessdaten (UMD) mit zwei ten Simulationsmessdaten (SMD2) eines Zweitstufen-Digitalen- Roboter-Zwillings (DRZ-ZS) verglichen werden, b) in einem vierten Anweisungsblock (AWB4), der nach dem dritten Anweisungsblock (AWB3) durchlaufen wird, bei jedem Durchlauf der Zweitstufen-Genauigkeitsbedarf (ZSGB) bestimmt wird, c) in einer Zweitstufen-Schleifenabfrage (SAF2) Schleifen durchlaufbedingungen (SAF2-a, SAF2-b, SAF2-c) derart über prüft wird, wobei 6. The method according to any one of claims 1 to 5, characterized in that a second query loop (AFS2) is run through for each object (OB, OB ') in the second stage (ZS), in which a) in a third instruction block (AWB3) A second-level uncertainty (ZSU) is estimated for each run by comparing the already recorded environmental measurement data (UMD) with second simulation measurement data (SMD2) of a second-stage digital robot twin (DRZ-ZS), b) in one fourth instruction block (AWB4), which is run through after the third instruction block (AWB3), the second level accuracy requirement (ZSGB) is determined with each run, c) in a second level loop query (SAF2) loop conditions (SAF2-a, SAF2-b , SAF2-c) is checked in such a way, wherein
- infolge einer ersten Schleifendurchlaufbedingungsprüfung (SAF2-a) die Synchronisation des Digital-Roboter-Zwillings (SYDRZ) erfolgreich durchgeführt worden ist und deshalb abge schlossen wird, - As a result of a first loop condition test (SAF2-a), the synchronization of the digital robot twin (SYDRZ) has been carried out successfully and is therefore concluded,
- infolge einer zweiten Schleifendurchlaufbedingungsprüfung (SAF2-b) die zweite Abfrageschleife (AFS2) zur Reduktion der Zweitstufen-Unsicherheit (ZSU) mit taktiler Synchronisation durchlaufen wird, - As a result of a second loop condition test (SAF2-b), the second query loop (AFS2) to reduce the second level uncertainty (ZSU) is run through with tactile synchronization,
- infolge einer dritten Schleifendurchlaufbedingungsprüfung (SAF2-c) die Synchronisation des Digital-Roboter-Zwillings (SYDRZ) nicht erfolgreich durchgeführt werden kann, diese so mit abgebrochen wird und deshalb Nutzeraktionen erforderlich sind, d) beim Durchlaufen der zweiten Abfrageschleife (AFS2) in ei nem zweiten Anweisungskorrekturblock (AWKB2) der Zweitstufen- Digitalen-Roboter-Zwilling (DRZ-ZS) zwecks Reduzierung der der Zweitstufen-Unsicherheit (ZSU) für den Durchlauf durch taktiles Abtasten in dem dritten Anweisungsblock (AWB3) ver ändert werden. - as a result of a third loop condition check (SAF2-c), the synchronization of the digital robot twin (SYDRZ) cannot be carried out successfully, this is aborted and therefore user actions are required, d) when running through the second query loop (AFS2) in ei nem second instruction correction block (AWKB2) of the second-stage digital robot twin (DRZ-ZS) to reduce the second-stage uncertainty (ZSU) for the passage through tactile scanning in the third instruction block (AWB3) are changed.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass beim Durchlauf des dritten Anweisungsblocks (AWB3) dezidierte Anweisungsschritte (AWS) durchgeführt werden, so 7. The method according to claim 6, characterized in that when the third instruction block (AWB3) is run through, dedicated instruction steps (AWS) are carried out, see above
- ein achter Anweisungsschritt (AWS8) zur Generierung von Ob jektposenhypothesen, insbesondere unter Berücksichtigung von physikalischen Randbedingungen, und zum Vergleichen der bei der optischen ROSU-Erfassung ermittelten Umgebungsmessdaten (UMD) mit den zweiten Simulationsmessdaten (SMD2), - an eighth instruction step (AWS8) for generating object pose hypotheses, in particular taking into account physical boundary conditions, and for comparing the environmental measurement data (UMD) determined during the optical ROSU detection with the second simulation measurement data (SMD2),
- ein neunter Anweisungsschritt (AWS9) zur Bestimmung einer möglichen Objektposenverteilung für jedes Objekt (OB, OB') mit Hilfe von wahrscheinlichen Objektposenhypothesen, wobei Objektposen mit einer geringeren Abweichung zwischen den Um gebungsmessdaten (UMD) und den zweiten Simulationsmessdaten (SMD2) wahrscheinlich sind. - A ninth instruction step (AWS9) for determining a possible object pose distribution for each object (OB, OB ') with the help of probable object pose hypotheses, with object poses with a smaller deviation between the ambient measurement data (UMD) and the second simulation measurement data (SMD2) being probable.
8. Verfahren nach Anspruch 6 oder 7, dadurch gekenn zeichnet, dass beim Durchlauf des vierten Anweisungsblocks (AWB4) weitere der dezidierten Anweisungsschritte (AWS) durchgeführt werden, so 8. The method according to claim 6 or 7, characterized in that When the fourth instruction block (AWB4) is run through, further of the dedicated instruction steps (AWS) are carried out, see above
- ein zehnter Anweisungsschritt (AWS10) zur Simulation des Ablaufs des Steuerungsprogramms (STP, STP') für Bewegungen des Roboters (RB) mit mehreren wahrscheinlichen Objektposen hypothesen des Zweitstufen-Digital-Roboter-Zwillings (DRZ- ZS), - a tenth instruction step (AWS10) to simulate the sequence of the control program (STP, STP ') for movements of the robot (RB) with several probable object poses hypotheses of the second-stage digital robot twin (DRZ-ZS),
- ein elfter Anweisungsschritt (AWS11) zum Bestimmen eines den Zweitstufen-Genauigkeitsbedarf (ZSGB) für jedes Objekt (OB, OB') definierenden, zweiten Minimaldistanzwertes (MDW2) einer Zweitstufen-Roboter-Objekt-Minimaldistanz, die im Zuge des simulierten Steuerungsprogrammablaufs, insbesondere wenn ein Prozessbedarf für ein Teilprozess gegeben ist, wird die ser als Erststufen-Genauigkeitsbedarf (ESGB) in dem Teilpro zess verwendet, auftritt. - An eleventh instruction step (AWS11) for determining the second-level accuracy requirement (ZSGB) for each object (OB, OB ') defining, second minimum distance value (MDW2) of a second-level robot-object minimum distance, which in the course of the simulated control program sequence, in particular If there is a process requirement for a sub-process, this is used as the first-level accuracy requirement (ESGB) in the sub-process occurs.
9. Verfahren nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass beim Durchlaufen des zweiten Anweisungskorrekturblocks (AWKB2) zusätzlich ein weiterer der dezidierten Anweisungs schritte (AWS) durchgeführt wird, so 9. The method according to any one of claims 6 to 8, characterized in that when running through the second instruction correction block (AWKB2), a further of the dedicated instruction steps (AWS) is carried out, so
- ein zwölfter Anweisungsschritt (AWS12) zur genauen Abschät zung der Objektposen statischer Objekte der Objekte (OB, OB') durch Abtasten des jeweiligen statischen Objekts im Roboter kontakt. - A twelfth instruction step (AWS12) for the precise estimation of the object poses of static objects of the objects (OB, OB ') by scanning the respective static object in the robot contact.
10. Verfahren nach einem der Ansprüche 2 bis 9, dadurch gekennzeichnet, dass die Umgebungsmessdaten (UMD) zumindest eines von 3D- Bilddaten (3D-BD) und Sensordaten (SSD) enthalten. 10. The method according to any one of claims 2 to 9, characterized in that the environmental measurement data (UMD) contain at least one of 3D image data (3D-BD) and sensor data (SSD).
11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass der Digital-Roboter-Zwilling (DRZ, DRZ') nach der Synchroni sation der Digital-Roboter-Zwilling (DRZ, DRZ') inklusive des den Roboter (RB) für die Objektmanipulation steuernden Steue rungsprogramms (STP, STP'), geometrischer Daten der Roboter- Objekt-Systemumgebung (ROSU, ROSU '), einen Prozessbedarf und/oder Unsicherheitsangaben für die Objekte (OB, OB') in der Roboter-Objekt-Systemumgebung (ROSU, ROSU') aktualisiert wird. 11. The method according to any one of claims 1 to 10, characterized in that the digital robot twin (DRZ, DRZ ') after the synchronization of the digital robot twin (DRZ, DRZ') including the robot (RB) for the object manipulation controlling control program (STP, STP '), geometric data of the robot Object system environment (ROSU, ROSU '), a process requirement and / or uncertainty information for the objects (OB, OB') in the robot object system environment (ROSU, ROSU ') is updated.
12. Computer-Programm-Produkt (CPP) zum Konfigurieren einer Roboter-Objekt-Systemumgebung (ROSU, ROSU'), die mindestens ein Objekt (OB, OB') und einen Roboter (RB) zur Objektmanipu lation und Objekterfassung aufweist, mit einem nicht-flüchti gen, lesbaren Speicher (SP), in dem prozessorlesbare Steuer programmbefehle eines die die ROSU-Konfiguration durchführen den Programm-Moduls (PGM) gespeichert sind, und ein mit dem Speicher (SP) verbundener Prozessor (PZ), der die Steuerpro grammbefehle des Programm-Moduls (PGM) zur ROSU-Konfiguration ausführt und dabei einen die Roboter-Objekt-Systemumgebung (ROSU, ROSU') digital repräsentierenden, den Roboter (RB) für die Objektmanipulation auf der Basis eines Steuerungspro gramms (STP) steuernden Digital-Roboter-Zwilling (DRZ, DRZ') für einen zielführenden Einsatz des Roboters (RB) in der Ro boter-Objekt-Systemumgebung (ROSU, ROSU') bei der Objektmani pulation synchronisiert, dadurch gekennzeichnet, dass das Programm-Moduls (PGM) derart beschaffen und der die Steu erprogrammbefehle des Programm-Moduls (PGM) zur ROSU- Konfiguration ausführende Prozessor (PZ) derart ausgebildet sind, dass der Digital-Roboter-Zwilling (DRZ, DRZ') bedarfs gerecht und diesbezüglich ein- oder zweistufig synchronisiert wird, wobei a) in einer Erststufe (ES) jedes Objekt (OB, OB') in der Ro boter-Objekt-Systemumgebung (ROSU, ROSU') im Zuge des Steue rungsprogrammablaufs solange in Bezug auf eine Objektposition optisch erfasst wird bis (AFS1, SAF1, EAB, SAFl-b) al) das Objekt (OB, OB') für einen Erststufen- Genauigkeitsbedarf (ESGB) in seiner Position genau genug be stimmt ist (SAFl-c), a2) eine Verbesserung der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling (DRZ, DRZ-ES) in einer Zweitstufe (ZS) in Bezug auf die Synchronisierung erforderlich und unter gegebenen Bedingungen der Zweitstufen-Synchronisierung ziel führend ist (SAFl-a) oder a3 ) die Verbesserung der der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling (DRZ, DRZ-ES) nicht möglich ist (SAFl-d), b) in der Zweitstufe (ZS) jedes Objekt (OB, OB') in der Robo ter-Objekt-Systemumgebung (ROSU, ROSU ') im Zuge des Steue rungsprogrammablaufs solange in Bezug auf eine Objektposition durch Bestimmung einer Objektposenverteilung oder durch Be stimmung von Objektposenverteilung und Roboterkontakt erfasst wird bis (AFS2, SAF2, ZAB, SAF2-b) bl) das Objekt (OB, OB') für einen Zweitstufen- Genauigkeitsbedarf (ZSGB) in seiner Position ausreichend ge nau bestimmt ist (SAFl-a) oder b2) die Verbesserung der Genauigkeit der Objektposition im Digitalen-Roboter-Zwilling (DRZ, DRZ-ZS) nicht möglich ist (SAF2-C). 12. Computer program product (CPP) for configuring a robot object system environment (ROSU, ROSU '), which has at least one object (OB, OB') and a robot (RB) for object manipulation and object detection, with a non-volatile, readable memory (SP) in which the processor-readable control program commands of a program module (PGM) that carry out the ROSU configuration are stored, and a processor (PZ) connected to the memory (SP), which controls the control program executes program commands of the program module (PGM) for ROSU configuration and thereby digitally represents the robot object system environment (ROSU, ROSU ') and controls the robot (RB) for object manipulation on the basis of a control program (STP) -Robot twin (DRZ, DRZ ') for targeted use of the robot (RB) in the robot object system environment (ROSU, ROSU') synchronized during object manipulation, characterized in that the program module (PGM) so procured en and the processor (PZ) executing the control program commands of the program module (PGM) for the ROSU configuration are designed in such a way that the digital robot twin (DRZ, DRZ ') is synchronized in one or two stages as required and in this regard, where a) in a first stage (ES) each object (OB, OB ') in the robot object system environment (ROSU, ROSU') in the course of the control program sequence is optically detected in relation to an object position until (AFS1, SAF1 , EAB, SAFl-b) al) the object (OB, OB ') for a first-level accuracy requirement (ESGB) is determined precisely enough in its position (SAFl-c), a2) an improvement in the accuracy of the object position in the digital Robot twin (DRZ, DRZ-ES) in a second stage (ZS) with regard to the synchronization required and under The given conditions of the second stage synchronization lead to the goal (SAFl-a) or a3) the improvement of the accuracy of the object position in the digital robot twin (DRZ, DRZ-ES) is not possible (SAFl-d), b) in the Second level (ZS) each object (OB, OB ') in the robot object system environment (ROSU, ROSU') in the course of the control program sequence as long as recorded in relation to an object position by determining an object pose distribution or by determining the object pose distribution and robot contact is until (AFS2, SAF2, ZAB, SAF2-b) bl) the object (OB, OB ') for a second level accuracy requirement (ZSGB) is sufficiently precisely determined in its position (SAFl-a) or b2) the improvement of the Accuracy of the object position in the digital robot twin (DRZ, DRZ-ZS) is not possible (SAF2-C).
13. Computer-Programm-Produkt (CPP) nach Anspruch 12, dadurch gekennzeichnet, dass das Programm-Moduls (PGM) derart beschaffen und der die Steu erprogrammbefehle des Programm-Moduls (PGM) zur ROSU- Konfiguration ausführende Prozessor (PZ) derart ausgebildet sind, dass die Verfahrensschritte des Verfahrens nach einem der Ansprüche 2 bis 11 durchgeführt werden. 13. Computer program product (CPP) according to claim 12, characterized in that the program module (PGM) is designed in such a way and the processor (PZ) executing the control program commands of the program module (PGM) for the ROSU configuration is designed in this way are that the method steps of the method according to one of claims 2 to 11 are carried out.
14. Robotersteuerung (RBST) zum Konfigurieren einer Roboter- Objekt-Systemumgebung (ROSU, ROSU'), die mindestens ein Ob jekt (OB, OB') und einen Roboter (RB) zur Objektmanipulation und Objekterfassung aufweist, mit einem Digital-Roboter- Zwilling (DRZ, DRZ'), in dem ein den Roboter (RB) in der Ro boter-Objekt-Systemumgebung (ROSU, ROSU') bei der Objektmani pulation steuerndes Steuerungsprogramm (STP, STP') und ein geometrische Daten der Roboter-Objekt-Systemumgebung (ROSU, ROSU') enthaltener Datenspeicher (DSP, DSP') enthalten ist, und mit einem Konfigurationsdatenspeicher (KDSP) gekennzeichnet durch ein Computer-Programm-Produkt (CPP) nach Ansprüche 12 oder 13 zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 11, das mit dem Digital-Roboter-Zwilling (DRZ) und dem Konfigurationsdatenspeicher (KDSP) eine Funktionseinheit zum Konfigurieren der Roboter-Objekt-Systemumgebung (ROSU) bil det. 14. Robot controller (RBST) for configuring a robot object system environment (ROSU, ROSU '), which has at least one object (OB, OB') and a robot (RB) for object manipulation and object detection, with a digital robot Twin (DRZ, DRZ '), in which a control program (STP, STP') controlling the robot (RB) in the robot object system environment (ROSU, ROSU ') during object manipulation and a geometric data of the robot object -System environment (ROSU, ROSU ') containing data memory (DSP, DSP') is included, and with a configuration data memory (KDSP) identified by a computer program product (CPP) according to claims 12 or 13 for performing the method according to one of claims 1 to 11, which with the digital robot twin (DRZ) and the configuration data memory (KDSP) a functional unit for configuring the robot Object system environment (ROSU) forms.
15. Roboter (RB) mit einer Robotersteuerung (RBST) nach An spruch 14. 15. Robot (RB) with a robot controller (RBST) according to claim 14.
EP20828985.0A 2019-12-11 2020-12-11 Method, computer program product and robot controller for configuring a robot-object system environment, and robot Pending EP4041503A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19215346.8A EP3834998A1 (en) 2019-12-11 2019-12-11 Method, computer program product and robot controller for configuring a robot-object system environment and robot
PCT/EP2020/085852 WO2021116459A2 (en) 2019-12-11 2020-12-11 Method, computer program product and robot controller for configuring a robot-object system environment, and robot

Publications (1)

Publication Number Publication Date
EP4041503A2 true EP4041503A2 (en) 2022-08-17

Family

ID=68886905

Family Applications (2)

Application Number Title Priority Date Filing Date
EP19215346.8A Withdrawn EP3834998A1 (en) 2019-12-11 2019-12-11 Method, computer program product and robot controller for configuring a robot-object system environment and robot
EP20828985.0A Pending EP4041503A2 (en) 2019-12-11 2020-12-11 Method, computer program product and robot controller for configuring a robot-object system environment, and robot

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP19215346.8A Withdrawn EP3834998A1 (en) 2019-12-11 2019-12-11 Method, computer program product and robot controller for configuring a robot-object system environment and robot

Country Status (4)

Country Link
US (1) US20220388167A1 (en)
EP (2) EP3834998A1 (en)
CN (1) CN115279557A (en)
WO (1) WO2021116459A2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120290130A1 (en) * 2011-05-10 2012-11-15 Agile Planet, Inc. Method to Model and Program a Robotic Workcell
US9815198B2 (en) * 2015-07-23 2017-11-14 X Development Llc System and method for determining a work offset
JP6450737B2 (en) * 2016-12-08 2019-01-09 ファナック株式会社 Robot system
TWI650626B (en) * 2017-08-15 2019-02-11 由田新技股份有限公司 Robot processing method and system based on 3d image
CN108724190A (en) * 2018-06-27 2018-11-02 西安交通大学 A kind of industrial robot number twinned system emulation mode and device

Also Published As

Publication number Publication date
WO2021116459A2 (en) 2021-06-17
WO2021116459A9 (en) 2021-09-16
EP3834998A1 (en) 2021-06-16
US20220388167A1 (en) 2022-12-08
CN115279557A (en) 2022-11-01

Similar Documents

Publication Publication Date Title
DE102019001948B4 (en) Control and machine learning device
DE112019002310B4 (en) PERFORMING A PEG IN HOLE TASK WITH AN UNKNOWN SLOPE
DE102014108287B4 (en) Quick learning by imitating power torque tasks by robots
EP1602456B1 (en) Method and device for controlling manipulators
DE102020100316B4 (en) DETERMINATION DEVICE
WO2019063196A1 (en) Method, device and computer program for operating a robot control system
DE19930087B4 (en) Method and device for controlling the advance position of a manipulator of a handling device
DE102017003943A1 (en) Cell controller for optimizing movements of a production system comprising industrial machines
DE102015000587B4 (en) A robot programming device for creating a robot program for taking an image of a workpiece
DE102006055917B4 (en) Industrial robot and method for detecting an inaccurately parameterized robot model
EP2216144B1 (en) System and method to check components and/or functional devices with a testing device
EP3725472A1 (en) Method for determining a trajectory of a robot
DE102012009010A1 (en) Method for producing motion of manipulator along motion path for performing mounting of component at holding element of motor vehicle, involves assigning force and/or torque to reference point, which belongs to position of motion path
WO2019192905A1 (en) Method for calibrating a position sensor in a vehicle, computer program, storage means, control device and calibration route
EP3227061A1 (en) Method for motion simulation of a manipulator
DE102012024934B4 (en) Method and programming system for the first generation of a measuring program executable on a measuring robot for the measurement of a new measuring object
EP3760390A1 (en) Performance of a predetermined task using at least one robot
WO2021018552A1 (en) Method and manipulation system for manipulation of an object by a robot
EP3328595A2 (en) Method and system for controlling a robot
WO2017063887A1 (en) Synchronization of multiple robots
DE102006005344A1 (en) Assembly operated simulation method for assembly of attachment to finishing object, involves calculating position of attachment construction model relative to finishing object construction model
EP4041503A2 (en) Method, computer program product and robot controller for configuring a robot-object system environment, and robot
DE102017216093B4 (en) Method for parameterizing a robotic manipulator
DE102018216561A1 (en) Method, device and computer program for determining an agent&#39;s strategy
DE102020006160A1 (en) Method for detecting the position of an object by means of a position detection system, method for processing an object and position detection system

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: 20220513

AK Designated contracting states

Kind code of ref document: A2

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: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20240502