WO2024104586A1 - Verfahren zum aufnehmen eines objekts mittels eines roboters - Google Patents

Verfahren zum aufnehmen eines objekts mittels eines roboters Download PDF

Info

Publication number
WO2024104586A1
WO2024104586A1 PCT/EP2022/082285 EP2022082285W WO2024104586A1 WO 2024104586 A1 WO2024104586 A1 WO 2024104586A1 EP 2022082285 W EP2022082285 W EP 2022082285W WO 2024104586 A1 WO2024104586 A1 WO 2024104586A1
Authority
WO
WIPO (PCT)
Prior art keywords
gripper
image
picking
location
footprint
Prior art date
Application number
PCT/EP2022/082285
Other languages
English (en)
French (fr)
Inventor
Anh Vien Ngo
Zohar Feldman
Philipp Christian Schillinger
Miroslav Gabriel
Alexander Kuss
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to PCT/EP2022/082285 priority Critical patent/WO2024104586A1/de
Publication of WO2024104586A1 publication Critical patent/WO2024104586A1/de

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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/39536Planning of hand motion, grasping
    • 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/40155Purpose is grasping objects

Definitions

  • the present disclosure relates to methods for picking up an object using a robot.
  • the robot be able to pick up (i.e. grasp) an object regardless of the position in which the object is placed in the robot's workspace and also be able to pick up variants of the object that have not yet been seen.
  • Training these neural networks typically requires a large amount of training data, usually manually labeled or simulation-generated training datasets with images and expected target outcomes (i.e. with ground truth labels for supervised training).
  • the creation of these training datasets is expensive and time-consuming, yet the Generalization capabilities of a neural network trained in this way beyond the training examples of the training dataset typically increase the effort.
  • neural networks are still specific to the type of training data.
  • object picking i.e., detecting where to grasp objects (which also involves suction)
  • the suitability of certain parts of an object for grasping depends heavily on the type of gripper the robot uses.
  • a suction gripper may have different sizes or different arrangements of suction cups. Therefore, it is typically necessary to create training datasets for each gripper type and train separate neural networks, one for each gripper type, to predict the grip quality for that specific gripper.
  • a method for picking up an object by means of a robot comprising obtaining at least one image of the object, determining, from the image of the object, a pickup quality image of the object that indicates, per pixel, a quality with which the object can be picked up at a location of the object corresponding to the pixel, generating a gripper-specific pickup quality image by convolving the pickup quality image with a footprint image showing the footprint of a gripper, determining a location for picking up the object from the gripper-specific pickup quality image, and controlling the robot to pick up the object using the determined location.
  • the method described above makes it possible to determine locations on objects for picking up using a gripper of a specific gripper type without having to For this gripper type, a detector for the gripping quality must be provided (e.g. a neural network must be trained). When using multiple gripper types, it is therefore not necessary to train multiple neural networks (or to provide multiple detectors). Only an image of the respective gripper footprint needs to be provided for each gripper type. This is particularly advantageous when using advanced suction grippers, where a suction gripper has multiple suction cups arranged in a specific pattern, whereby different combinations (ie subsets) of the suction cups can be activated and thus different gripper types (with different footprints) can be easily implemented.
  • the processing performed is used to detect locations or areas or even poses for picking up objects and possibly also a suitable (e.g. the optimal) gripper type.
  • This is done model-free, i.e. solely by assessing the pickability for locations of the object from the input images (e.g. RGB and depth input or just from depth) instead of comparing with a target object model.
  • the determination of the pick-up pose is, for example, relevant for applications where a robot picks up objects from a container in order to plan the actions for picking up accordingly.
  • the detection and determination of locations or areas (or ultimately the pose) for picking up can also be relevant for other robotic applications, e.g. for assembly where a robot has to grip objects.
  • Embodiment 1 is the method for picking up an object by means of a robot as described above.
  • Embodiment 2 is the method according to embodiment 1, comprising generating the gripper-specific recording quality image by channel-wise convolving the recording quality image with footprint images for several gripper types, so that the gripper-specific recording quality image has a channel for each combination of a gripper type, several gripper types and orientation of one or more orientations, which indicates a quality per pixel with which the object at a pixel corresponding point on the object can be picked up with a gripper of the respective gripper type with the respective orientation.
  • Embodiment 3 is the method according to embodiment 2, comprising determining a location for picking up the object and selecting a combination of gripper type and orientation from the gripper-specific pickup quality image and controlling the robot to pick up the object using the determined location by means of a gripper of the gripper type of the selected combination, which is oriented according to the orientation of the selected combination.
  • gripper type best suited to picking up the respective object can be used from among several gripper types.
  • Embodiment 4 is the method according to embodiment 3, comprising determining the location for picking up the object and selecting the combination of gripper type and orientation by comparing the picking qualities for different locations of the object and different combinations of gripper types and orientations.
  • a multidimensional search is carried out that covers object locations, gripper types and gripper orientations. This means that even objects that are difficult to pick up can be picked up reliably, provided they have at least one location where they can be picked up with a suitable gripper with a suitable orientation.
  • Embodiment 5 is the method according to embodiment 4, comprising determining the location for picking up the object and selecting the combination of gripper type and orientation by determining for which combination of gripper type, orientation and location for picking up the picking quality assumes a maximum. This makes use of the best combination of available options and ensures the best hold.
  • Embodiment 6 is the method according to any one of embodiments 1 to 5, wherein the capture quality image is determined by feeding the image of the object to a neural network trained to map object images to capture quality images.
  • Neural networks can be effectively trained for such a task.
  • the method provided enables particularly effective training because the neural network only needs to be trained generally and not multiple times for different gripper types. For example, it can be trained with a training data set (supervised) that contains training examples for different gripper types, so that it is trained to determine a "general" pickup quality.
  • Embodiment 7 is the method according to one of embodiments 1 to 6, further comprising obtaining depth information of the object, determining a normal vector image of the object that indicates a surface normal vector of the object per pixel, convolving the normal vector image with the footprint image, and determining the location for picking up the object from the gripper-specific pickup quality image and the result of convolving the normal vector image with the footprint image.
  • Embodiment 8 is the method according to embodiment 7, comprising determining, from the result of the convolution of the normal vector image with the footprint image, a normal vector similarity image which indicates per pixel a similarity of the normal vectors within the footprint shown by the footprint image when it is arranged at the location of the pixel, and determining the location for recording the object by searching, across the pixels, a maximum of a weighted combination of the image quality image and the normal vector similarity image.
  • Embodiment 9 is a control device that is configured to carry out a method according to one of the embodiments 1 to 8.
  • Embodiment 10 is a computer program having instructions that, when executed by a processor, cause the processor to perform a method according to any of embodiments 1 to 8.
  • Embodiment 11 is a computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform a method according to any of embodiments 1 to 8.
  • Figure 1 shows a robot
  • Figure 2 illustrates data processing for picking up an object by a robot according to an embodiment.
  • Figure 3 shows a flowchart illustrating a method for picking up an object by a robot according to an embodiment.
  • Figure 1 shows a robot 100.
  • the robot 100 includes a robot arm 101, for example an industrial robot arm for handling or assembling a workpiece (or one or more other objects).
  • the robot arm 101 includes manipulators 102, 103, 104 and a base (or support) 105 by means of which the manipulators 102, 103, 104 are supported.
  • manipulator refers to the movable components of the robot arm 101, the actuation of which enables physical interaction with the environment, e.g. to perform a task.
  • the robot 100 includes a (robot) controller 106, which is designed to implement the interaction with the environment according to a control program.
  • the last component 104 (the one furthest from the support 105) of the manipulators 102, 103, 104 is also referred to as the end effector 104 and may include one or more tools, such as a welding torch, a gripping instrument, an applicator or the like.
  • the other manipulators 102, 103 may form a positioning device so that, together with the end effector 104, the robot arm 101 is provided with the end effector 104 at its end.
  • the robot arm 101 is a mechanical arm that can provide similar functions to a human arm (possibly with a tool at its end).
  • the robot arm 101 may include joint elements 107, 108, 109 that connect the manipulators 102, 103, 104 to each other and to the support 105.
  • a joint element 107, 108, 109 may have one or more joints, each of which may provide a rotatable motion (i.e., rotational motion) and/or a translatory motion (i.e., displacement) for associated manipulators relative to each other.
  • the motion of the manipulators 102, 103, 104 may be initiated by means of actuators controlled by the controller 106.
  • the term "actuator" can be understood as a component that is configured to effect a mechanism or process in response to its drive.
  • the actuator can implement instructions created by the controller 106 (the so-called activation) into mechanical movements.
  • the actuator e.g. an electromechanical transducer, can be configured to convert electrical energy into mechanical energy in response to its drive.
  • controller may be understood as any type of logic-implementing entity, which may include, for example, a circuit and/or a processor capable of executing software, firmware, or a combination thereof stored in a storage medium, and which may issue instructions, e.g., to an actuator in the present example.
  • the controller may be configured, for example, by program code (e.g., software) to control the operation of a system, a robot in the present example.
  • the controller 106 includes one or more processors 110 and a memory 111 that stores code and data based on which the processor 110 controls the robot arm 101. According to various embodiments, the controller 106 controls the robot arm 101 based on a machine learning model 112 stored in the memory 111.
  • the machine learning model 112 is configured and trained to enable the robot 100 to recognize locations on an object 113 where the robot 100 can pick up the object 113 (or otherwise interact with it, e.g., paint it).
  • the robot 100 may be equipped with one or more cameras 114 that allow it to take pictures of its workspace.
  • the camera 114 is, for example, attached to the robot arm 101 so that the robot can take pictures of the object 113 from different perspectives by moving the robot arm 101 around.
  • the machine learning model 112 is a neural network 112 and the controller 106 performs Input data based on the one or more digital images (color images, depth images, or both) of an object 113 and the neural network 112 is configured to indicate locations (or areas) of the object 113 that are suitable for capturing the object 113.
  • the neural network can segment an input image showing the object 113 accordingly, e.g. assigning a value (“capture quality value”) to each pixel that indicates how well the pixel is suited for capturing.
  • the neural network 112 may have only a single input channel for the standard deviations of the normal vectors, or a multi-channel input containing the standard deviation of the normal vectors as data from one channel in addition to others (e.g., color image data and/or depth image data).
  • Examples are fully convolutional networks (e.g., UNet, ResNet) that assign a capture quality value (indicating the suitability of the location for capturing the object shown) to each pixel of an input image to form an output image of the same size as the input image. This allows further processing of the output to determine a capture pose, e.g., by selecting a global maximum in the output image.
  • the controller 106 may thus select a region of sufficient size as a capture location where these values are sufficiently high (e.g., above a threshold, maximum on average, etc.).
  • the neural network 112 is trained using a single, general training data set to output pixel-by-pixel pickup quality values (e.g. for a suction gripper).
  • Post-processing is then provided that enables generalization to different gripper types, e.g. to any size or arrangement of suction cups.
  • an image of the "footprint" of the gripper type is provided for each gripper type, which indicates the contact area between the suction cup(s) of a gripper with the gripper type and the surface of the picked up (i.e. sucked) object.
  • the control device 106 can calculate a gripper-specific pickup quality from the general gripping quality output by the neural network 112. Since a gripper that has multiple suction cups cannot is necessarily symmetrical, the control device 106 can also determine a suitable gripper orientation during this post-processing. Several footprint images can be provided for different gripper types (eg stored in the memory 111) so that the control device 106 can determine the most suitable one.
  • the end effector 104 can be designed in such a way that it can implement or use different gripper types. This can be done by exchanging or by activating different suction cups for gripping.
  • the post-processing can be used together with any existing detector where a pixel-by-pixel estimation of a recording quality is performed to identify areas of objects suitable for recording the objects. In the following an embodiment is described where (as also described above) this is done by a neural network.
  • Figure 2 illustrates data processing for picking up an object by a robot 201 (corresponding to the robot 100).
  • One or more cameras 202 for example corresponding to camera 114, provides an image 203 of an object 113 that robot 201 is to capture.
  • the image 203 is fed to a neural network 204 (which corresponds, for example, to the neural network 112).
  • the neural network 204 is trained (e.g., using appropriate training inputs and associated target outputs, i.e., ground truth labels for supervised learning) to determine a capture quality for the object for each pixel of the input image 203.
  • the neural network 204 outputs this in the form of a capture quality image 205.
  • the input image 203 may also show a scene with multiple objects. In this case, the capture quality image 205 output by the neural network 204 shows capture qualities for all objects.
  • the neural network 204 provides a general recording quality, ie not for a specific gripper type.
  • the control device 106 determines one or more gripper-specific pixel-by-pixel recording qualities, if necessary for several gripper types.
  • the control device 106 has a footprint image 207 of the footprint of the respective gripper for each gripper type.
  • the footprint images 207 are, for example, bitmaps of the footprint, ie they have a one where the gripper is in contact with the object surface, and zero otherwise.
  • the controller loads the associated footprint image 207 or the associated footprint images 207. From this, the controller 106 forms a convolution core 208. To output capture qualities for multiple rotations for non-symmetric grippers and for multiple gripper types, the convolution core 208 has a corresponding number of channels (i.e., one channel per combination of gripper type and rotation angle, e.g., in steps of 10 degrees).
  • the controller then convolves the capture quality image 205 output by the neural network 204 with the convolution kernel (independently for each channel of the convolution kernel).
  • the result is a gripper-specific (and possibly also orientation-specific) capture quality image 209 with multiple channels, where each channel indicates the capture quality pixel by pixel for a combination of gripper type and orientation.
  • the controller 106 determines the optimal gripper type and the optimal orientation for each pixel and thus generates an optimized capture quality image 210 (with only one channel) that contains the value of the maximum across the channels of the gripper-specific capture quality image for each pixel.
  • the controller determines a capture pose for capturing the object (or capture poses for multiple objects). This can be implemented in different ways depending on the application. In addition to simply converting the pixel-by-pixel capture quality (from the gripper-specific capture quality image 209) into a gripper pose (by determining a location for capturing, e.g. by finding a pixel with maximum capture quality or by clustering or segmenting), the controller 106 determines the pose with the gripper type and orientation that it needs for the respective pixel (the the selected location for picking up).
  • the gripper type corresponds to a gripper configuration, e.g. a pattern of suction cups that are activated.
  • control device 106 may determine suboptimal or even unsuitable pickup points during post-processing if it only takes into account the output 205 of the neural network 204. This is the case, for example, with objects such as cubes, which can be easily sucked on their sides (and therefore receive high values for the pickup quality on their sides in the output 205 of the neural network 204) but cannot be sucked around an edge.
  • the control device 106 determines pixel-by-pixel normal vectors for the object or objects (e.g. from a depth channel of the input image 203) and convolves the resulting normal vector image 210 (which indicates a normal vector per pixel) also per gripper type and per orientation with a respective footprint image 207. From the result of the convolution, the control device 106 then determines a measure of the similarity of the normal vectors over the respective footprint for the respective pixel (e.g. simply the length of the vector resulting from the convolution or also a standard deviation or mean deviation). When searching for the maximum (i.e. the Argmax operation), both the recording quality and the value of this similarity measure can then be taken into account. For example, the two values (if necessary weighted) can be added and the maximum across the pixels can be searched for for the result of this addition.
  • a measure of the similarity of the normal vectors over the respective footprint for the respective pixel e.g. simply the length of the vector resulting from the convolution or also a standard deviation
  • Convolution of a footprint image 207 with the output image 205 of the neural network or the normal vector image 210 can be very complex for large output images 205 and especially for large footprint images 207.
  • the convolution operation can be modified so that it uses a strided convolution or a dilated convolution.
  • strided convolution the convolution is not performed for every pixel of the output image 205.
  • pixel values can be supplemented by means of interpolation.
  • the footprint image 207 is thinned out so that only a portion of the pixels that are in the footprint are included in the convolution result.
  • Another possibility is to first perform object detection (before convolution) and mask out parts of the output image 205 that do not belong to any object, so that only the remaining pixels are considered as input to the convolution instead of the entire image and irrelevant areas are omitted. Convolution is then only performed for the remaining areas.
  • dimensions of the gripper in metric units may be converted to pixel units, taking into account information about the intrinsic parameters of the camera 202, which may be obtained, for example, during camera calibration, assuming that the depth range during operation (i.e., the distance of the objects from the camera) remains roughly the same.
  • Figure 3 shows a flowchart 300 illustrating a method for picking up an object using a robot according to an embodiment.
  • At least one image of the object is obtained.
  • a recording quality image of the object is determined from the image of the object, which indicates a quality per pixel with which the object can be recorded at a location on the object corresponding to the pixel.
  • a gripper-specific pickup quality image is generated by convolving the pickup quality image with a footprint image showing the footprint of a gripper.
  • a location for picking up the object is determined from the gripper-specific pickup quality image.
  • the robot is controlled to pick up the object using the determined location.
  • the method of Figure 3 may be performed by one or more data processing units.
  • the term “data processing unit” may be defined as any type of entity that enables the processing of data or signals.
  • the data or signals can, for example, be treated according to at least one (ie, one or more than one) special function performed by the data processing unit.
  • a data processing unit can comprise or be formed from an analog circuit, a digital circuit, a logic circuit, a microprocessor, a microcontroller, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an integrated circuit of a programmable gate array (FPGA), or any combination thereof. Any other way of implementing the respective functions described in more detail herein can also be understood as a data processing unit or logic circuit arrangement.
  • One or more of the method steps described in detail here can be carried out (e.g. implemented) by a data processing unit through one or more special functions performed by the data processing unit.
  • Robot 3 may be used to generate a control signal for a robotic device.
  • the term "robotic device” may be understood to refer to any physical system (having a mechanical part whose motion is controlled), such as a computer-controlled machine, a household appliance, a personal assistant, a power tool, or a manufacturing machine.
  • Color and depth images serve as input data for the neural network.
  • sensor signals from other sensors such as radar, LiDAR, ultrasound, motion, thermal images, etc.
  • the neural network classifies the input data and detects, for example, the presence of objects and performs semantic segmentation based on the sensor data with regard to locations or areas where the objects can be detected.
  • Embodiments may be used to train a machine learning system and control a robot, e.g., autonomously from robot manipulators, to achieve various manipulation tasks under different scenarios.
  • embodiments are applicable to the control and monitoring of the execution of manipulation tasks, e.g. in assembly lines.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Aufnehmen eines Objekts mittels eines Roboters beschrieben, das das Beschaffen mindestens eines Bilds des Objekts, das Ermitteln, aus dem Bild des Objekts, eines Aufnehmqualitätsbilds des Objekts, das pro Pixel eine Qualität angibt, mit der das Objekt an einer dem Pixel entsprechenden Stelle des Objekts aufgenommen werden kann, das Erzeugen eines Greifer-spezifischen Aufnehmqualitätsbilds durch Falten des Aufnehmqualitätsbilds mit einem Fußabdruckbild, das den Fußabdruck eines Greifers zeigt, das Ermitteln einer Stelle zum Aufnehmen des Objekts aus dem Greifer-spezifischen Aufnehmqualitätsbild und das Steuern des Roboters zum Aufnehmen des Objekts unter Verwendung der ermittelten Stelle, aufweist.

Description

Beschreibung
Titel
Verfahren zum Aufhehmen eines Objekts mitels eines Roboters
Stand der Technik
Die vorliegende Offenbarung bezieht sich auf Verfahren zum Aufhehmen eines Objekts mitels eines Roboters.
Um eine flexible Herstellung oder Bearbeitung von Objekten durch einen Roboter zu ermöglichen, ist es wünschenswert, dass der Roboter fähig ist, ein Objekt ungeachtet der Lage, mit der das Objekt in den Arbeitsraum des Roboters platziert wird, aufzunehmen (d.h. zu greifen) und auch in der Lage ist, noch nicht gesehene Varianten des Objekts aufzunehmen.
Es gibt mehrere Verfahren, um beispielsweise bei der Entnahme von Gegenständen durch einen Roboter aus einem Behälter (engl. bin picking) die vielversprechendsten Stellen für das Greifen für eine erfolgreiche Entnahme eines Gegenstands aus dem Behälter zu erkennen. Diese Verfahren arbeiten typischerweise mit Farb(z.B. RGB)- und Tiefenbildem des jeweiligen Szenarios, wobei in einigen Fällen auch entweder Färb- oder Tiefenbilder ausreichen. Darüber hinaus stützen sich die meisten dieser Ansätze auf KI(künstliche Intelligenzj-Methoden, z. B. die Verwendung neuronaler Netze zum Erlernen einer Zuordnung zwischen Eingabedaten und vielversprechenden Greifpunkten.
Für das Training dieser neuronalen Netze ist typischerweise eine große Menge an Trainingsdaten erforderlich, meist manuell gekennzeichnete oder durch Simulation erzeugte Trainingsdatensätze mit Bildern und erwarteten Zielergebnissen (d.h. mit Ground-Truth-Labels für überwachtes Training). Die Erstellung dieser Trainingsdatensätze ist teuer und zeitaufwändig, dennoch rechtfertigen die Generalisierungsfähigkeiten eines so trainierten neuronalen Netzes über die Trainingsbeispiele des Trainingsdatensatzes hinaus typischerweise den Aufwand.
Die Generalisierung bezieht sich jedoch nur auf die Eingabedaten, die dem neuronalen Netz gegeben werden. Was die erwarteten Eigenschaften der Ausgabe betrifft, so sind neuronale Netze immer noch spezifisch für die Art der Trainingsdaten. Bei der Anwendung des Aufhehmens von Gegenständen, d.h. bei der Erkennung, wo Objekte gegriffen (was auch ein Ansaugen beinhaltet) werden sollen, hängt die Eignung bestimmter Teile eines Objekts zum Greifen stark von dem Typ des Greifers ab, den der Roboter verwendet. Ein Sauggreifer kann zum Beispiel unterschiedliche Größen oder unterschiedliche Anordnungen von Saugnäpfen haben. Deshalb ist es typischerweise erforderlich, Trainingsdatensätze für jeden Greifertyp zu erstellen und separate neuronale Netze zu trainieren, eines für jeden Greifertyp, um die Greifqualität für diesen speziellen Greifer vorherzusagen.
Es sind deshalb Ansätze zum Erkennen von Stellen eines Objekts, die sich zum Aufhehmen durch einen Roboter eignen, wünschenswert, die für verschiedene Greifertypen zuverlässige Ergebnisse liefern, aber dennoch keinen hohen Trainingsaufwand erfordern.
Offenbarung der Erfindung
Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Aufhehmen eines Objekts mittels eines Roboters bereitgestellt, das das Beschaffen mindestens eines Bilds des Objekts, das Ermitteln, aus dem Bild des Objekts, eines Aufnehmqualitätsbilds des Objekts, das pro Pixel eine Qualität angibt, mit der das Objekt an einer dem Pixel entsprechenden Stelle des Objekts aufgenommen werden kann, das Erzeugen eines Greifer-spezifischen Aufhehmqualitätsbilds durch Falten des Aufhehmqualitätsbilds mit einem Fußabdruckbild, das den Fußabdruck eines Greifers zeigt, das Ermitteln einer Stelle zum Aufhehmen des Objekts aus dem Greifer-spezifischen Aufhehmqualitätsbild und das Steuern des Roboters zum Aufnehmen des Objekts unter Verwendung der ermittelten Stelle, aufweist.
Das oben beschriebene Verfahren ermöglicht es, Stellen auf Objekten zum Aufhehmen mittels eines Greifers eines bestimmten Greifertyp zu ermitteln, ohne dass speziell für diesen Greifertyp ein Detektor für die Aufhahmequalität bereitgestellt werden muss (z.B. ein neuronales Netz trainiert werden muss). Bei Verwendung mehrere Greifertypen ist es also nicht erforderlich, mehrere neuronale Netze zu trainieren (oder mehrere Detektoren bereitzustellen). Es braucht nur für jeden Greifertyp ein Bild des jeweiligen Greifer- Fußabdrucks bereitgestellt werden. Dies ist besonders bei der Anwendung von fortgeschrittenen Sauggreifem von Vorteil, bei dem ein Sauggreifer mehrere in einem bestimmten Muster angeordnete Saugnäpfe aufweist, wobei unterschiedliche Kombinationen (d.h. Teilmengen) der Saugnäpfe aktiviert werden können und somit unterschiedliche Greifertypen (mit unterschiedlichen Fußabdrücken) einfach realisiert werden können.
Die durchgeführte Verarbeitung, insbesondere die von dem neuronalen Netz durchgeführte Inferenz, wird zur Detektion von Stellen oder Bereichen oder auch Posen zum Aufnehmen von Objekten sowie möglicherweise auch eines geeigneten (z.B. des optimalen) Greifertyps verwendet. Dies geschieht modellfrei, d.h. allein durch die Beurteilung der Aufnehmbarkeit für Stellen des Objekts aus den Eingabebildem (z.B. RGB- und Tiefeneingabe oder nur aus der Tiefe) anstelle des Abgleichs mit einem Zielobjektmodell. Die Bestimmung der Aufnehmpose ist beispielsweise für Anwendungen relevant, bei der ein Roboter Gegenstände aus einem Behälter entnimmt, um die Aktionen für das Aufhehmen entsprechend zu planen. Die Erkennung von Bestimmung von Stellen oder Bereichen (oder letztlich der Pose) zum Aufhehmen kann auch für weitere Roboteranwendungen relevant sein, z. B. für die Montage, wo ein Roboter Objekte greifen muss.
Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
Ausführungsbeispiel 1 ist das Verfahren zum Aufhehmen eines Objekts mittels eines Roboters, wie oben beschrieben.
Ausführungsbeispiel 2 ist das Verfahren nach Ausführungsbeispiel 1, aufweisend erzeugen des Greifer-spezifischen Aufhehmqualitätsbild durch kanalweises Falten des Aufhehmqualitätsbilds mit Fußabdruckbildem für mehrere Greifertypen, sodass das Greifer-spezifische Aufnehmqualitätsbild pro Kombination aus einem Greifertyp mehrerer Greifertypen und Orientierung ein oder mehrerer Orientierungen einen Kanal aufweist, der pro Pixel eine Qualität angibt, mit der das Objekt an einer dem Pixel entsprechenden Stelle des Objekts mit einem Greifer des jeweiligen Greifertyps mit der jeweiligen Orientierung aufgenommen werden kann.
Dies ermöglicht einen Vergleich der Aufnehmqualitäten für unterschiedliche Greifertypen und Greifer-Orientierungen und letztendlich die Bestimmung eines optimalen Greifers mit geeigneter Orientierung.
Ausfuhrungsbeispiel 3 ist das Verfahren nach Ausfuhrungsbeispiel 2, aufweisend Ermitteln einer Stelle zum Aufhehmen des Objekts sowie Auswählen einer Kombination aus Greifertyp und Orientierung aus dem Greifer-spezifischen Aufhehmqualitätsbild und Steuern des Roboters zum Aufnehmen des Objekts unter Verwendung der ermittelten Stelle mittels eines Greifers des Greifertyps der ausgewählten Kombination, der gemäß der Orientierung der ausgewählten Kombination orientiert ist.
Damit kann unter mehreren Greifertypen der am besten zum Aufhehmen des jeweiligen Objekts geeignete Greifertyp verwendet werden.
Ausfuhrungsbeispiel 4 ist das Verfahren nach Ausfuhrungsbeispiel 3, aufweisend Ermitteln der Stelle zum Aufhehmen des Objekts sowie Auswählen der Kombination aus Greifertyp und Orientierung durch Vergleichen der Aufnehmqualitäten für verschiedene Stellen des Objekts und verschiedene Kombinationen aus Greifertypen und Orientierungen.
In anderen Worten wird eine mehrdimensionale Suche durchgefiührt, die sich über Objektstellen, Greifertypen und Greiferorientierungen erstreckt. Damit können auch schwer aufzunehmende Objekte zuverlässig aufgenommen werden, sofern sie zumindest eine Stelle aufweisen, an der sie mit einem geeigneten Greifer mit geeigneter Orientierung aufgenommen werden können.
Ausfuhrungsbeispiel 5 ist das Verfahren nach Ausfuhrungsbeispiel 4, aufweisend Ermitteln der Stelle zum Aufnehmen des Objekts sowie Auswählen der Kombination aus Greifertyp und Orientierung durch Ermitteln, für welche Kombination aus Greifertyp, Orientierung und Stelle zum Aufhehmen die Aufhehmqualität ein Maximum annimmt. Damit wird die beste Kombination der zur Verfügung stehenden Möglichkeiten genutzt und der beste Halt gewährleistet.
Ausführungsbeispiel 6 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 5, wobei das Aufnehmqualitätsbild durch das Zuführen des Bilds des Objekts zu einem neuronalen Netz ermittelt wird, das trainiert ist, Objektbilder auf Aufhehmqualitätsbilder abzubilden.
Neuronale Netze können effektiv für eine solche Aufgabe trainiert werden. Das bereitgestellte Verfahren ermöglicht ein besonders effektives Training, weil das neuronale Netz lediglich allgemein und nicht mehrmals für unterschiedliche Greifertypen trainiert zu werden braucht. Beispielsweise kann es mit einem Trainingsdatensatz (überwacht) trainiert werden, der Trainingsbeispiele für verschiedene Greifertypen enthält, sodass es trainiert wird, eine „allgemeine“ Aufhehmqualität zu ermitteln.
Ausführungsbeispiel 7 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 6, ferner aufweisend das Beschaffen von Tiefeninformation des Objekts, das Ermitteln eines Normalenvektorbilds des Objekts, das pro Pixel einen Oberflächen-Normalenvektor des Objekts angibt, das Falten des Normalenvektorbilds mit dem Fußabdruckbild und das Ermitteln der Stelle zum Aufnehmen des Objekts aus dem Greifer-spezifischen Aufhehmqualitätsbild und dem Ergebnis der Faltung des Normalenvektorbilds mit dem Fußabdruckbild.
Auf diese Weise wird sichergestellt, dass das Verfahren auch für „trügerische“ Objekte, wie z.B. Würfel, die zwar überall punktweise eine gute Aufhehmqualität aufweisen, aber mit einem Sauggreifer nicht über Kanten hinweg aufgenommen werden können, gute Ergebnisse liefert.
Ausführungsbeispiel 8 ist das Verfahren nach Ausführungsbeispiel 7, aufweisend das Ermitteln, aus dem Ergebnis der Faltung des Normalenvektorbilds mit dem Fußabdruckbild eines Normalenvektor-Ähnlichkeitsbilds, das pro Pixel eine Ähnlichkeit der Normalenvektoren innerhalb des durch das Fußabdruckbild gezeigten Fußabdrucks, wenn dieser an der Stelle des Pixels angeordnet ist, angibt und das Ermitteln der Stelle zum Aufhehmen des Objekts durch Suchen, über die Pixel, eines Maximums einer gewichteten Kombination des Aufhehmqualitätsbilds und des Normalenvektor- Ähnlichkeitsbilds .
Damit kann gewährleistet werden, dass für Sauggreifer, die eine glatte Oberfläche erfordern, eine sichere Stelle zum Aufhehmen ausgewählt wird.
Ausführungsbeispiel 9 ist eine Steuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ausführungsbeispiele 1 bis 8 durchzuführen.
Ausführungsbeispiel 10 ist ein Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 8 durchführt.
Ausführungsbeispiel 11 ist ein Computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 8 durchführt.
In den Zeichnungen beziehen sich ähnliche Bezugszeichen im Allgemeinen auf dieselben Teile in den ganzen verschiedenen Ansichten. Die Zeichnungen sind nicht notwendigerweise maßstäblich, wobei die Betonung stattdessen im Allgemeinen auf die Darstellung der Prinzipien der Erfindung gelegt wird. In der folgenden Beschreibung werden verschiedene Aspekte mit Bezug auf die folgenden Zeichnungen beschrieben.
Figur 1 zeigt einen Roboter.
Figur 2 veranschaulicht eine Datenverarbeitung zum Aufhehmen eines Objekts durch einen Roboter gemäß einer Ausführungsform.
Figur 3 zeigt ein Ablaufdiagramm, das ein Verfahren zum Aufhehmen eines Objekts mittels eines Roboters gemäß einer Ausführungsform veranschaulicht.
Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen, die zur Erläuterung spezielle Details und Aspekte dieser Offenbarung zeigen, in denen die Erfindung ausgeführt werden kann. Andere Aspekte können verwendet werden und strukturelle, logische und elektrische Änderungen können durchgeführt werden, ohne vom Schutzbereich der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht notwendigerweise gegenseitig aus, da einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
Im Folgenden werden verschiedene Beispiele genauer beschrieben.
Figur 1 zeigt einen Roboter 100.
Der Roboter 100 beinhaltet einen Roboterarm 101, zum Beispiel einen Industrieroboterarm zum Handhaben oder Montieren eines Arbeitsstücks (oder eines oder mehrerer anderer Objekte). Der Roboterarm 101 beinhaltet Manipulatoren 102, 103, 104 und eine Basis (oder Stütze) 105, mittels der die Manipulatoren 102, 103, 104 gestützt werden. Der Ausdruck „Manipulator“ bezieht sich auf die bewegbaren Bauteile des Roboterarms 101, deren Betätigung eine physische Interaktion mit der Umgebung ermöglicht, um z. B. eine Aufgabe auszuführen. Zur Steuerung beinhaltet der Roboter 100 eine (Roboter-) Steuereinrichtung 106, die zum Implementieren der Interaktion mit der Umgebung gemäß einem Steuerprogramm ausgelegt ist. Das letzte Bauteil 104 (das am weitesten von der Stütze 105 entfernt ist) der Manipulatoren 102, 103, 104 wird auch als der Endeffektor 104 bezeichnet und kann ein oder mehrere Werkzeuge beinhalten, wie etwa einen Schweißbrenner, ein Greifmstrument, ein Eackiergerät oder dergleichen.
Die anderen Manipulatoren 102, 103 (die sich näher an der Stütze 105 befinden) können eine Positionierungsvorrichtung bilden, sodass, zusammen mit dem Endeffektor 104, der Roboterarm 101 mit dem Endeffektor 104 an seinem Ende bereitgestellt ist. Der Roboterarm 101 ist ein mechanischer Arm, der ähnliche Funktionen wie ein menschlicher Arm bereitstellen kann (möglicherweise mit einem Werkzeug an seinem Ende).
Der Roboterarm 101 kann Gelenkelemente 107, 108, 109 beinhalten, die die Manipulatoren 102, 103, 104 miteinander und mit der Stütze 105 verbinden. Ein Gelenkelement 107, 108, 109 kann ein oder mehrere Gelenke aufweisen, die jeweils eine drehbare Bewegung (d. h. Drehbewegung) und/oder translatorische Bewegung (d. h. Verlagerung) für assoziierte Manipulatoren relativ zueinander bereitstellen können. Die Bewegung der Manipulatoren 102, 103, 104 kann mittels Aktoren initiiert werden, die durch die Steuereinrichtung 106 gesteuert werden. Der Ausdruck „Aktor“ kann als eine Komponente verstanden werden, die als Reaktion auf ihren Antrieb zum Bewirken eines Mechanismus oder Prozesses ausgebildet ist. Der Aktor kann durch die Steuereinrichtung 106 erstellte Anweisungen (die sogenannte Aktivierung) in mechanische Bewegungen implementieren. Der Aktor, z. B. ein elektromechanischer Wandler, kann dazu ausgelegt sein, als Reaktion auf seinen Antrieb elektrische Energie in mechanische Energie umzuwandeln.
Der Ausdruck „Steuereinrichtung“ kann als ein beliebiger Typ von logikimplementierender Entität verstanden werden, die zum Beispiel eine Schaltung und/oder einen Prozessor beinhalten kann, die/der in der Lage ist, in einem Speicherungsmedium gespeicherte Software, Firmware oder eine Kombination davon auszuführen, und die/der Anweisungen, z. B. zu einem Aktor im vorliegenden Beispiel, ausstellen kann. Die Steuereinrichtung kann zum Beispiel durch Programmcode (z. B. Software) konfiguriert werden, um den Betrieb eines Systems, eines Roboters im vorliegenden Beispiel, zu steuern.
Im vorliegenden Beispiel beinhaltet die Steuereinrichtung 106 einen oder mehrere Prozessoren 110 und einen Speicher 111, der Code und Daten speichert, basierend auf denen der Prozessor 110 den Roboterarm 101 steuert. Gemäß verschiedenen Ausfiihrungsformen steuert die Steuereinrichtung 106 den Roboterarm 101 auf Basis eines maschinellen Lemmodells 112, das im Speicher 111 gespeichert ist.
Gemäß verschiedenen Ausführungsformen ist das maschinelle Lemmodell 112 dazu ausgelegt und trainiert, dem Roboter 100 zu ermöglichen, eine Stellen eines Objekts 113 zu erkennen, an denen der Roboter 100 das Objekt 113 aufhehmen kann (oder auf andere Weise damit interagieren kann, z.B. lackieren).
Der Roboter 100 kann zum Beispiel mit einer oder mehreren Kameras 114 ausgestattet sein, die es ihm ermöglichen, Bilder seines Arbeitsraums aufzunehmen. Die Kamera 114 ist zum Beispiel an dem Roboterarm 101 befestigt, sodass der Roboter Bilder des Objekts 113 von verschiedenen Perspektiven aus machen kann, indem er den Roboterarm 101 herumbewegt.
Gemäß verschiedenen Ausführungsformen ist das maschinelle Lemmodell 112 ein neuronales Netz 112 und die Steuereinrichtung 106 führt dem neuronalen Netz 112 Eingabedaten basierend auf den ein oder mehreren digitalen Bildern (Farbbilder, Tiefenbilder oder beides) eines Objekts 113 zu und das neuronale Netz 112 ist dazu eingerichtet, Stellen (bzw. Bereiche) des Objekts 113 anzugeben, die für das Aufhehmen des Objekts 113 geeignet sind. Beispielsweise kann das neuronale Netz ein Eingabebild, das das Objekt 113 zeigt, entsprechend segmentieren, z.B. jedem Pixel einen Wert („Aufhehmqualitätswert“) zuordnen, der anzeigt, wie gut der Pixel zum Aufhehmen geeignet ist.
Verschiedene Architekturen können für das neuronale Netz 112 verwendet werden. Das neuronale Netz 112 kann lediglich einen einzelnen Eingangskanal für die Standardabweichungen der Normalenvektoren oder eine Mehrkanaleingabe aufweisen, die die Standardabweichung der Normalenvektoren als Daten eines Kanals zusätzlich zu anderen (z.B. Farbbilddaten und/oder Tiefenbilddaten) enthält. Beispiele sind volle Konvolutionsnetze (engl. fully convolutional networks z. B. UNet, ResNet), die jedem Pixel eines Eingangsbildes einen Aufhehmqualitätswert (der die Eignung der jeweiligen Stelle zum Aufnehmen des gezeigten Objekts anzeigt) zuordnen, um ein Ausgangsbild von der gleichen Größe wie das Eingangsbild zu bilden. Dies ermöglicht eine weitere Verarbeitung der Ausgabe zur Bestimmung einer Aufhehmpose, z. B. durch Auswahl eines globalen Maximums im Ausgangsbild. Die Steuereinrichtung 106 kann also einen Bereich ausreichender Größe zum als Stelle zum Aufhehmen wählen, in dem diese Werte ausreichend hoch sind (z.B. über einem Schwellwert liegen, im Mittel maximal sind, etc.).
Gemäß verschiedenen Ausführungsformen wird, um den Aufwand des Trainings verschiedener neuronaler Netze für verschiedene Greifertypen zu vermeiden, dass das neuronalen Netz 112 mittels eines einzigen, allgemeinen Trainingsdatensatzes trainiert wird, pixelweise Aufhehmqualitätswerte (z.B. für einen Sauggreifer) auszugeben. Es wird dann eine Nachbearbeitung vorgesehen, die eine Verallgemeinerung auf verschiedene Greifertypen ermöglicht, z.B. auf beliebige Größen oder Anordnungen von Saugnäpfen. Dazu wird für jeden Greifertyp ein Bild des „Fußabdrucks“ des Greifertyps bereitgestellt, das die Kontaktfläche zwischen der oder den Saugnäpfen eines Greifers mit dem Greifertyp und der Oberfläche des aufgenommenen (d.h. angesaugten) Objekts angibt. Unter Verwendung dieses Fußabdrucks kann die Steuereinrichtung 106 eine Greiferspezifische Aufhehmqualität aus der von neuronalen Netz 112 ausgegebenen allgemeinen Greifqualität berechnen. Da ein Greifer, der mehrere Saugnäpfe hat, nicht notwendigerweise symmetrisch ist, kann die Steuereinrichtung 106 bei dieser Nachbearbeitung auch eine geeignete Greiferorientierung bestimmen. Es können mehrere Fußabdruck-Bilder für unterschiedliche Greifertypen vorgesehen sein (z.B. im Speicher 111 gespeichert sein), sodass die Steuereinrichtung 106 den am besten geeigneten ermitteln kann. Der Endeffektor 104 kann so ausgestaltet sein, dass er unterschiedliche Greifertypen implementieren bzw. verwenden kann. Dies kann durch Auswechseln oder auch durch Aktivierung unterschiedliche Saugnäpfe zum Greifen geschehen.
Die Nachbearbeitung kann zusammen mit jeglichem vorhandenen Detektor verwendet werden, bei dem eine pixelweise Schätzung einer Aufhehmqualität zur Identifikation von Bereichen von Objekten, die zum Aufhehmen der Objekte geeignet sind, durchgeführt wird. Im Folgenden wird ein Ausführungsbeispiel beschrieben, wo (wie auch oben beschrieben) dies durch ein neuronales Netz erfolgt.
Figur 2 veranschaulicht eine Datenverarbeitung zum Aufhehmen eines Objekts durch einen Roboter 201 (entsprechend dem Roboter 100).
Eine oder mehrere Kameras 202, beispielsweise entsprechend der Kamera 114, liefert ein Bild 203 eines Objekts 113, das der Roboter 201 aufhehmen soll.
Das Bild 203 wird einem neuronalen Netz 204 (das z.B. dem neuronalen Netz 112 entspricht) zugeführt. Das neuronale Netz 204 ist darauf trainiert (z.B. mittels entsprechender Trainings-Eingaben und zugehöriger Ziel-Ausgaben, d.h. Ground-Truth- Labels für überwachtes Lernen), für jedes Pixel des zugeführten Bilds 203 eine Aufhehmqualität für das Objekt zu ermitteln. Das neuronalen Netz 204 gibt dies in Form eines Aufhehmqualitätsbilds 205 auszugeben. Das Eingabebild 203 kann auch eine Szene mit mehreren Objekten zeigen. In diesem Fall zeigt das von dem neuronalen Netz 204 ausgegebene Aufhehmqualitätsbild 205 Aufhehmqualitäten für alle Objekte.
Das neuronale Netz 204 liefert eine allgemeine Aufhahmequalität, d.h. nicht für einen bestimmten Greifertyp. Mittels einer Nachbearbeitung 206 ermittelt daraus die Steuereinrichtung 106, ggf. für mehrere Greifertypen, eine oder mehrere Greiferspezifische pixelweise Aufhahmequalitäten. Die Steuereinrichtung 106 verfugt dazu für jeden Greifertyp über ein Fußabdruck-Bild 207 des Fußabdrucks des jeweiligen Greifers. Die Fußabdruck-Bilder 207 sind beispielsweise Bitmaps des Fußabdrucks, d.h. haben z.B. eine Eins, wo der Greifer mit der Objektoberfläche in Kontakt steht, und Null sonst.
Um die Aufhehmqualität für ein oder mehrere Greifertypen zu berechnen, lädt die Steuereinrichtung das zugehörige Fußabdruck-Bild 207 oder die zugehörigen Fußabdruck-Bilder 207. Daraus bildet die Steuereinrichtung 106 einen Faltungskem 208. Um Aufnehmqualitäten für mehrere Rotationen für nicht-symmetrische Greifer und für mehrere Greifertypen auszugeben, hat der Faltungskem 208 eine entsprechende Anzahl von Kanälen (d.h. einen Kanal pro Kombination aus Greifertyp und Rotationswinkel, z.B. in Schritten von 10 Grad).
Die Steuereinrichtung faltet dann das von dem neuronalen Netz 204 ausgegebene Aufhahmequalitäts-Bild 205 mit dem Faltungskem (für jeden Kanal des Faltungskems unabhängig). Das Ergebnis ist ein Greifer-spezifisches (und ggf. auch Orientierungsspezifischen) Aufhehmqualitätsbild 209 mit mehreren Kanälen, wobei jeder Kanal die pixelweise die Aufhehmqualität für eine Kombination aus Greifertyp und Orientierung angibt.
Durch Bestimmen, für welchen Greifertyp und welche Orientierung das Maximum über alle Kanäle angenommen wird (d.h. mittels einer „argmax“-Operation über die Kanäle) ermittelt die Steuereinrichtung 106 für jedes Pixel den optimalen Greiferyp und die dafür optimale Orientierung und erzeugt so ein Optimierte-Aufhehmqualität-Bild 210 (mit nur einem Kanal), das für jeden Pixel den Wert des Maximums über die Kanäle des Greiferspezifischen Aufnehmqualitätsbilds enthält.
Aus dem Optimierte-Aufhehmqualität-Bild 210 ermittelt die Steuereinrichtung dann eine Aufhehmpose zur Aufnahme des Objekts (oder Aufhehmposen für mehrere Objekte). Dies kann je nach Anwendung auf unterschiedliche Arten implementiert werden. Zusätzlich dazu, die pixelweise Aufhehmqualität (aus dem Greifer-spezifischen Aufhehmqualitätsbild 209) einfach in eine Greiferpose zu konvertieren (durch Ermitteln einer Stelle zum Aufnehmen, z.B. durch Suchen eines Pixels mit maximaler Aufhehmqualität oder auch Clustern oder Segmentierung) ermittelt die Steuereinrichtung 106 die Pose mit dem Greifertyp und der Orientierung, die sie für das jeweilige Pixel (das der ausgewählten Stelle zum Aufhehmen entspricht) ermittelt hat. Der Greifertyp entspricht dabei z.B. einer Greiferkonfiguration, z.B. einem Muster von Saugnäpfen, die aktiviert werden.
Es sollte beachtet werden, dass je nach Objekten die Steuereinrichtung 106 bei der Nachbearbeitung suboptimale oder sogar ungeeignete Aufhehmstellen ermitteln kann, wenn sie nur die Ausgabe 205 des neuronalen Netzes 204 berücksichtigt. Dies ist beispielsweise bei Objekten wie Würfeln der Fall, die zwar gut an ihren Seiten angesaugt werden können (und deshalb an ihren Seiten hohe Werte für die Aufhehmqualität in der Ausgabe 205 des neuronalen Netzes 204 erhalten) aber nicht um eine Kante herum angesaugt werden können.
Deshalb ermittelt die Steuereinrichtung 106 gemäß einer Ausführungsform pixelweise Normalenvektoren für das Objekt oder die Objekte (z.B. aus einem Tiefenkanal des Eingabebilds 203) und faltet das resultierende Normalvektorbild 210 (das pro Pixel einen Normalvektor angibt) ebenfalls pro Greifertyp und pro Orientierung mit einem jeweiligen Fußabdruck-Bild 207. Aus dem Ergebnis der Faltung ermittelt die Steuereinrichtung 106 dann ein Maß für die Ähnlichkeit der Normalenvektoren über den jeweiligen Fußabdruck für das jeweilige Pixel (z.B. einfach die Länge des aus der Faltung entstehenden Vektors oder auch eine Standardabweichung oder mittlere Abweichung). Bei der Suche des Maximums (d.h. der Argmax-Operation) können dann sowohl die Aufhehmqualität als auch der Wert dieses Ähnlichkeitsmaßes berücksichtigt werden. Beispielsweise können die beiden Werte (ggf. gewichtet) addiert werden und das Maximum über die Pixel für das Ergebnis dieser Addition gesucht werden.
Die Faltung eines Fußabdruck-Bilds 207 mit dem Ausgabebild 205 des neuronalen Netzes oder dem Normalvektorbild 210 kann für große Ausgabebilder 205 und besonders für große Fußabdruck-Bilder 207 sehr aufwändig sein. Um diesen Effekt abzuschwächen, kann die Konvolutionsoperation modifiziert werden, sodass sie eine Faltung mit größerer Schrittweite (engl. strided convolution) oder eine dilatierte Faltung (engl. dilated convolution) verwendet. Bei der Faltung mit größerer Schrittweite wird die Faltung nicht für jedes Pixel des Ausgabebilds 205 durchgeführt. Für Pixel, für die die Faltung nicht durchgeführt wird, können Pixelwerte mittels Interpolation ergänzt werden. Für die dilatierte Faltung wird das Fußabdruck-Bild 207 ausgedünnt, sodass nur ein Teil der Pixel, die sich im Fußabdruck befinden, in das Faltungsergebnis eingehen. Eine andere Möglichkeit ist es, zunächst (vor der Faltung) eine Objektdetektion durchzufuhren und Teile des Ausgabebilds 205, die zu keinem Objekt gehören, auszumaskieren, sodass nur die verbleibenden Pixel als Eingabe der Faltung an Stelle des Gesamtbildes berücksichtigt werden und irrelevante Bereiche ausgelassen werden. Das Falten wird dann nur für die verbleibenden Bereiche durchgeführt.
Um ein genaues Fußabdruck-Bild 207 für einen Greifertyp bereitzustellen, können Abmessungen des Greifers in metrische Einheiten in Pixeleinheiten umgerechnet werden, wobei Information über die intrinsischen Parameter der Kamera 202 berücksichtigt werden kann, die beispielsweise bei der Kamerakalibrierung gewonnen werden kann, wobei angenommen wird, dass der Tiefenbereich während des Betriebs (d.h. die Entfernung der Objekte von der Kamera) grob gleich bleibt.
Figur 3 zeigt ein Ablaufdiagramm 300, das ein Verfahren zum Aufhehmen eines Objekts mittels eines Roboters gemäß einer Ausführungsform veranschaulicht.
In 301 wird mindestens ein Bilds des Objekts beschafft.
In 302 wird aus dem Bild des Objekts ein Aufnehmqualitätsbild des Objekts ermittelt, das pro Pixel eine Qualität angibt, mit der das Objekt an einer dem Pixel entsprechenden Stelle des Objekts aufgenommen werden kann.
In 303 wird ein Greifer-spezifisches Aufhehmqualitätsbild durch Falten des Aufhehmqualitätsbilds mit einem Fußabdruckbild, das den Fußabdruck eines Greifers zeigt, erzeugt.
In 304 wird eine Stelle zum Aufnehmen des Objekts aus dem Greifer-spezifischen Aufhehmqualitätsbild ermittelt.
In 305 wird der Roboter zum Aufhehmen des Objekts unter Verwendung der ermittelten Stelle gesteuert.
Das Verfahren von Figur 3 kann durch ein oder mehrere Datenverarbeitungseinheiten durchgeführt werden. Der Begriff „Datenverarbeitungseinheit“ kann als irgendein Typ von Entität verstanden werden, die die Verarbeitung von Daten oder Signalen ermöglicht. Die Daten oder Signale können beispielsweise gemäß mindestens einer (d.h. einer oder mehr als einer) speziellen Funktion behandelt werden, die durch die Datenverarbeitungseinheit durchgefuhrt wird. Eine Datenverarbeitungseinheit kann eine analoge Schaltung, eine digitale Schaltung, eine Logikschaltung, einen Mikroprozessor, einen Mikrocontroller, eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), einen Digitalsignalprozessor (DSP), eine integrierte Schaltung einer programmierbaren Gatteranordnung (FPGA) oder irgendeine Kombination davon umfassen oder aus dieser ausgebildet sein. Irgendeine andere Weise zum Implementieren der jeweiligen Funktionen, die hierin genauer beschrieben werden, kann auch als Datenverarbeitungseinheit oder Logikschaltungsanordnung verstanden werden. Es können ein oder mehrere der im Einzelnen hier beschriebenen Verfahrensschritte durch eine Datenverarbeitungseinheit durch eine oder mehrere spezielle Funktionen ausgefuhrt (z. B. implementiert) werden, die durch die Datenverarbeitungseinheit durchgefuhrt werden.
Die Herangehensweise von Figur 3 kann zum Erzeugen eines Steuersignals für eine Robotervorrichtung dienen. Der Begriff „Robotervorrichtung“ kann als sich auf irgendein physikalisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird) beziehend verstanden werden, wie z. B. eine computergesteuerte Maschine, ein Haushaltsgerät, ein persönlicher Assistent, ein Elektrowerkzeug oder eine Fertigungsmaschine .
Als Eingabedaten für das neuronale Netzwerk dienen beispielsweise Färb- und Tiefenbilder. Diese können aber auch durch Sensorsignale von anderen Sensoren wie z. B. Radar, LiDAR, Ultraschall, Bewegung, Wärmebilder etc. ergänzt werden.
Das neuronale Netzwerk klassifiziert die Eingabedaten und detektiert beispielsweise die Präsenz von Objekten und fuhrt eine semantische Segmentierung auf der Grundlage der Sensordaten durch in Hinblick auf Stellen oder Bereiche, an denen die Objekte aufgenommen werden können.
Ausfuhrungsformen können zum Trainieren eines Maschinelles-Lemen-Systems und Steuern eines Roboters, z. B. autonom von Robotermanipulatoren, um verschiedene Manipulationsaufgaben unter verschiedenen Szenarios zu erreichen, verwendet werden. Insbesondere sind Ausführungsformen auf die Steuerung und Überwachung der Ausführung von Manipulationsaufgaben anwendbar, z. B. in Montagelinien.
Obwohl spezielle Ausführungsformen hier dargestellt und beschrieben wurden, wird vom Fachmann auf dem Gebiet erkannt, dass die speziellen Ausführungsformen, die gezeigt und beschrieben sind, gegen eine Vielfalt von alternativen und/oder äquivalenten Implementierungen ausgetauscht werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll irgendwelche Anpassungen oder Variationen der speziellen Ausführungsformen abdecken, die hier erörtert sind. Daher ist beabsichtigt, dass diese Erfindung nur durch die Ansprüche und die
Äquivalente davon begrenzt ist.

Claims

Ansprüche
1. Verfahren zum Aufnehmen eines Objekts mittels eines Roboters, aufweisend Beschaffen mindestens eines Bilds des Objekts;
Ermitteln, aus dem Bild des Objekts, eines Aufhehmqualitätsbilds des Objekts, das pro Pixel eine Qualität angibt, mit der das Objekt an einer dem Pixel entsprechenden Stelle des Objekts aufgenommen werden kann;
Erzeugen eines Greifer-spezifischen Aufhehmqualitätsbilds durch Falten des Aufhehmqualitätsbilds mit einem Fußabdruckbild, das den Fußabdruck eines Greifers zeigt;
Ermitteln einer Stelle zum Aufhehmen des Objekts aus dem Greifer-spezifischen Aufnehmqualitätsbild; und
Steuern des Roboters zum Aufhehmen des Objekts unter Verwendung der ermittelten Stelle.
2. Verfahren nach Anspruch 1, aufweisend Erzeugen des Greifer-spezifischen Aufhehmqualitätsbild durch kanalweises Falten des Aufhehmqualitätsbilds mit Fußabdruckbildem für mehrere Greifertypen, sodass das Greifer-spezifische Aufhehmqualitätsbild pro Kombination aus einem Greifertyp mehrerer Greifertypen und Orientierung ein oder mehrerer Orientierungen einen Kanal aufweist, der pro Pixel eine Qualität angibt, mit der das Objekt an einer dem Pixel entsprechenden Stelle des Objekts mit einem Greifer des jeweiligen Greifertyps mit der jeweiligen Orientierung aufgenommen werden kann.
3. Verfahren nach Anspruch 2, aufweisend Ermitteln einer Stelle zum Aufnehmen des Objekts sowie Auswählen einer Kombination aus Greifertyp und Orientierung aus dem Greifer-spezifischen Aufhehmqualitätsbild und Steuern des Roboters zum Aufhehmen des Objekts unter Verwendung der ermittelten Stelle mittels eines Greifers des Greifertyps der ausgewählten Kombination, der gemäß der Orientierung der ausgewählten Kombination orientiert ist. Verfahren nach Anspruch 3, aufweisend Ermiteln der Stelle zum Aufnehmen des Objekts sowie Auswählen der Kombination aus Greifertyp und Orientierung durch Vergleichen der Aufnehmqualitäten für verschiedene Stellen des Objekts und verschiedene Kombinationen aus Greifertypen und Orientierungen. Verfahren nach Anspruch 4, aufweisend Ermiteln der Stelle zum Aufhehmen des Objekts sowie Auswählen der Kombination aus Greifertyp und Orientierung durch Ermiteln, für welche Kombination aus Greifertyp, Orientierung und Stelle zum Aufhehmen die Aufhehmqualität ein Maximum annimmt. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Aufhehmqualitätsbild durch das Zufuhren des Bilds des Objekts zu einem neuronalen Netz ermitelt wird, das trainiert ist, Objektbilder auf Aufhehmqualitätsbilder abzubilden. Verfahren nach einem der Ansprüche 1 bis 6, ferner aufweisend: Beschaffen von Tiefeninformation des Objekts;
Ermiteln eines Normalenvektorbilds des Objekts, das pro Pixel einen Oberflächen- Normalenvektor des Objekts angibt;
Falten des Normalenvektorbilds mit dem Fußabdruckbild; und Ermiteln der Stelle zum Aufhehmen des Objekts aus dem Greifer-spezifischen Aufhehmqualitätsbild und dem Ergebnis der Faltung des Normalenvektorbilds mit dem Fußabdruckbild. Verfahren nach Anspruch 7, aufweisend:
Ermiteln, aus dem Ergebnis der Faltung des Normalenvektorbilds mit dem Fußabdruckbild eines Normalenvektor-Ähnlichkeitsbilds, das pro Pixel eine Ähnlichkeit der Normalenvektoren innerhalb des durch das Fußabdruckbild gezeigten Fußabdrucks, wenn dieser an der Stelle des Pixels angeordnet ist, angibt; und Ermiteln der Stelle zum Aufhehmen des Objekts durch Suchen, über die Pixel, eines Maximums einer gewichteten Kombination des Aufhehmqualitätsbilds und des Normalenvektor-Ähnlichkeitsbilds . Steuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ansprüche
1 bis 8 durchzufiühren. 10. Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 8 durchführt. 11. Computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen
Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 8 durchführt.
PCT/EP2022/082285 2022-11-17 2022-11-17 Verfahren zum aufnehmen eines objekts mittels eines roboters WO2024104586A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2022/082285 WO2024104586A1 (de) 2022-11-17 2022-11-17 Verfahren zum aufnehmen eines objekts mittels eines roboters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2022/082285 WO2024104586A1 (de) 2022-11-17 2022-11-17 Verfahren zum aufnehmen eines objekts mittels eines roboters

Publications (1)

Publication Number Publication Date
WO2024104586A1 true WO2024104586A1 (de) 2024-05-23

Family

ID=84389028

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/082285 WO2024104586A1 (de) 2022-11-17 2022-11-17 Verfahren zum aufnehmen eines objekts mittels eines roboters

Country Status (1)

Country Link
WO (1) WO2024104586A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2658691B1 (de) * 2010-12-30 2017-09-13 Zenrobotics OY Vorrichtung, computerprogramm und verfahren zur festlegung einer greifposition
US20210138655A1 (en) * 2019-11-13 2021-05-13 Nvidia Corporation Grasp determination for an object in clutter
WO2022119962A1 (en) * 2020-12-02 2022-06-09 Kindred Systems Inc. Pixelwise predictions for grasp generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2658691B1 (de) * 2010-12-30 2017-09-13 Zenrobotics OY Vorrichtung, computerprogramm und verfahren zur festlegung einer greifposition
US20210138655A1 (en) * 2019-11-13 2021-05-13 Nvidia Corporation Grasp determination for an object in clutter
WO2022119962A1 (en) * 2020-12-02 2022-06-09 Kindred Systems Inc. Pixelwise predictions for grasp generation

Similar Documents

Publication Publication Date Title
DE102015111080B4 (de) Robotervorrichtung mit maschinellem Sehen
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102010053002B4 (de) Systeme und Verfahren, die der Handhabung eines Ojekts mit einem Greifer zugeordnet sind
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102013203381B4 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE69516733T2 (de) Verfahren und System mit neuronalem Netzwerk zur Bestimmung der Lage und der Orientierung
DE202017106506U1 (de) Einrichtung für tiefes Maschinenlernen zum Robotergreifen
DE102020000964A1 (de) Objekterkennungsvorrichtung, Steuervorrichtung und Objekterkennungscomputerprogramm
DE102017108727A1 (de) Verfahren zur Erstellung einer Datenbank mit Greiferposen, Verfahren zum Steuern eines Roboters, computerlesbares Speichermedium und Handhabungssystem
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102021102643A1 (de) Verfahren zum Schätzen einer Pose eines Objektes, Computerprogramm und System
DE102022130652A1 (de) Anlernen eines roboters durch vorführen mit visualservoing
DE102021212859A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten
DE102017007737A1 (de) Verfahren und Vorrichtung zum Erfassen einer Abbildung einer Pflanze mit einer Sensoreinrichtung
DE102021109036A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte
DE102021212860B4 (de) Verfahren zum Aufnehmen eines Objekts mittels eines Roboters
DE102021209646B4 (de) Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102021210993A1 (de) Verfahren zum Erzeugen von Trainingsdaten für überwachtes Lernen zum Trainieren eines neuronalen Netzes
WO2024104586A1 (de) Verfahren zum aufnehmen eines objekts mittels eines roboters
DE102020209080A1 (de) Bildverarbeitungssystem
DE102022201719A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten
DE102022205883A1 (de) Erhöhung der Greifrate
DE102021202570A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte
DE102022206274A1 (de) Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102021201880A1 (de) Vorrichtung und Verfahren zum Ermitteln der Pose eines Objekts

Legal Events

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

Ref document number: 22818051

Country of ref document: EP

Kind code of ref document: A1