WO2011161304A1 - Method for the selection of physical objects in a robot system - Google Patents

Method for the selection of physical objects in a robot system Download PDF

Info

Publication number
WO2011161304A1
WO2011161304A1 PCT/FI2011/050414 FI2011050414W WO2011161304A1 WO 2011161304 A1 WO2011161304 A1 WO 2011161304A1 FI 2011050414 W FI2011050414 W FI 2011050414W WO 2011161304 A1 WO2011161304 A1 WO 2011161304A1
Authority
WO
WIPO (PCT)
Prior art keywords
gripper
sensor
sensor data
robot arm
determining
Prior art date
Application number
PCT/FI2011/050414
Other languages
French (fr)
Inventor
Harri Valpola
Tuomas Lukka
Original Assignee
Zenrobotics Oy
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 Zenrobotics Oy filed Critical Zenrobotics Oy
Priority to JP2013515935A priority Critical patent/JP5806301B2/en
Priority to EP11797656.3A priority patent/EP2585256B1/en
Priority to US13/806,426 priority patent/US9050719B2/en
Priority to CN201180031364.0A priority patent/CN103068535B/en
Priority to RU2013102960/02A priority patent/RU2566226C2/en
Publication of WO2011161304A1 publication Critical patent/WO2011161304A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • 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
    • 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
    • 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/085Force or torque sensors
    • 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/39528Measuring, gripping force sensor build into hand
    • 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/40053Pick 3-D object from pile of objects
    • 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/40571Camera, vision combined with force sensor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Definitions

  • the present invention relates to systems and methods used for manipulating physical objects.
  • the present invention relates to a method for the selection of physical objects in a robot sys ⁇ tem.
  • Robot systems have widely been used in many industries to perform repetitive tasks that require little capability to actually model visually or cogni- tively physical objects being manipulated or that re ⁇ quire little skill to take a hold on and to move.
  • Ro ⁇ bots can also be built to work in environments hostile to human floor workers or to be able to work with ma ⁇ terial hazardous to humans such as toxic or radioac ⁇ tive materials, waste or massive objects. It is desir ⁇ able to make such robot systems as autonomous as pos ⁇ sible to minimize the amount of human involvement needed.
  • the robot arm When the aim is to have the robot arm to ma ⁇ nipulate objects, the robot arm is commonly equipped with a device suitable for gripping the objects of in ⁇ terest. Such a device can, for example, resemble a hand, a claw or a clamp. While programming the robot to perform repetitive tasks is relatively easy, there are difficult problems in automatically manipulating objects, especially related to recognizing the objects from a varying environment or an environment crowded with other objects, and manipulating an object which resides among other objects.
  • other objects may cover the object partially or in whole, thus making it difficult to pin down the exact location of the object to instruct the robot arm to move to, or the other ob ⁇ jects can obstruct the movements of a robot hand thereby making pre-programmed movements unsuitable for the task.
  • pattern recognition algorithms which search for objects in sensory data such as digi- tal camera images. Such algorithms are an actively studied field. While there are many algorithms which can even recognize objects against an uneven back ⁇ ground, pattern recognition algorithms generally work best when the background is both uniform and predeter- mined.
  • objects of predetermined type have been searched from a clear operating area and they been selected from the operating area as recognized objects.
  • Sets of actions can be performed on a select ⁇ ed object of a known type. The set of actions can be chosen based on the type of the object, for example placing different kinds of objects in different bins.
  • the invention relates a method comprising: receiving first sensor data from at least one first sensor; determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; receiving force feedback sensor data from at least one of the at least one first sensor and at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to determine a failure in carrying out the at least one instruction; receiving second sensor data from the at least one first sensor; determining a suc- cessful gripping of an object from the second sensor data; receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and issuing at least one se ⁇ cond instruction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper.
  • the invention relates also to an apparatus, comprising: means for receiving first sensor data from at least one first sensor; means for determining a target position from the first sensor data, said tar ⁇ get position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; means for starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; means for receiving force feedback sensor data from at least one of the at least one first sensor and at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to determine a failure in carrying out the at least one instruction; means for receiving second sen- sor data from the at least one first sensor; means for determining a successful gripping of an object from the second sensor data; means for receiving verification ⁇ tion sensor data from at least one second sensor, in response to the determining of the successful grip- ping; and means for issuing at least one second in ⁇ struction to the robot arm in order to move the arm
  • the invention relates also to a computer pro- gram embodied on a computer readable medium, the computer program comprising code for controlling a processor to execute a method comprising: receiving first sensor data from at least one first sensor; determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; receiving force feedback sensor data from at least one of the at least one first sensor and at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to deter ⁇ mine a failure in carrying out the at least one in- struction; receiving second sensor data from the at least one first sensor; determining a successful grip ⁇ ping of an object from the second sensor data; receiving verification sensor data from at least one second sensor, in response to the determining of the success- ful gripping; and issuing at least one second instru
  • the invention relates also to a method com ⁇ prising receiving first sensor data from at least one first sensor; determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; receiving force feedback sensor data from the at least one first sensor or at least one force feedback sensor, associated with at least one of the robot arm and the grip- per, to determine a failure in carrying out the at least one instruction; receiving second sensor data from the at least one first sensor; determining a suc ⁇ cessful gripping of an object from the second sensor data; receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and issuing at least one se ⁇ cond instruction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper.
  • the invention relates also to an apparatus, comprising: means for receiving first sensor data from at least one first sensor; means for determining a target position from the first sensor data, said tar ⁇ get position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; means for starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; means for receiving force feedback sensor data from the at least one first sensor or at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to deter- mine a failure in carrying out the at least one in ⁇ struction; means for receiving second sensor data from the at least one first sensor; means for determining a successful gripping of an object from the second sen- sor data; means for receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and means for issuing at least one second instruction to the robot arm in order to move the arm to a predetermined posi
  • the invention relates also to a computer pro ⁇ gram embodied on a computer readable medium, the computer program comprising code for controlling a processor to execute a method comprising: receiving first sensor data from at least one first sensor; determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; receiving force feedback sensor data from the at least one first sensor or at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to determine a failure in carrying out the at least one instruction; receiving second sensor data from the at least one first sensor; determining a successful gripping of an object from the second sensor data; receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and issu ⁇ ing at least one second instruction to the robot arm in order to move the arm to a
  • the invention relates also to an apparatus comprising a memory and at least one processor configured to receive first sensor data from at least one first sensor, to determine a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm, to start to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position, to receive force feedback sensor data from at least one of the at least one first sensor and at least one force feedback sensor, associated with at least one of the robot arm and the gripper, in order to determine a failure in carrying out the at least one instruction, to receive second sensor data from the at least one first sensor, to determine a successful gripping of an object from the second sensor data, to receive verification sensor data from at least one second sensor, in response to the determining of the successful gripping, and to is ⁇ sue at least one second instruction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper.
  • the at least one instruction comprises a signal indicating at least one move for the robot arm and/or the gripper.
  • the at least one instruction is a simple driving voltage applied for controlling at least one of rotation, elevation and gripping .
  • a first learning entity within the apparatus registers the successful gripping and the first sensor data.
  • a first learning entity within the apparatus registers an un ⁇ successful gripping and the first sensor data, in re ⁇ sponse to a determined failure in carrying out at least one of the at least one instruction.
  • an arm movement control entity or the first learning entity within the apparatus predicts likelihood for the suc ⁇ cessful gripping from the first sensor data using the information registered in the first learning entity.
  • the arm movement control entity issues the at least one first instruction to the robot arm in response to the likelihood.
  • the arm movement control entity issues at least one third in ⁇ struction to the robot arm to move the gripper to a verification position.
  • the veri ⁇ fication position corresponds to a verification environment where the at least one second sensor provide may be applied to the object without interfering ob- jects.
  • the verifi ⁇ cation environment has a constant background.
  • the appa ⁇ ratus is configured to determine a type of the object from the verification sensor data from the at least one second sensor.
  • the step of starting to issue the at least one first instruc ⁇ tion to the robot arm or the method generally further comprises: providing first coordinates to the robot arm; receiving first intermediate sensor data from the at least one first sensor; and determining an actual position of the gripper in a sensor coordinate system using the first intermediate sensor data. These steps may be carried out by the arm movement control entity within the apparatus.
  • the step of starting to issue the at least one first instruc ⁇ tion to the robot arm or the method generally further comprises: determining an error between the actual po- sition of the gripper and the first coordinates; providing second coordinates to the robot arm; receiv ⁇ ing second intermediate sensor data from the at least one first sensor; determining a second actual position of the gripper in a sensor coordinate system using the second intermediate sensor data; and checking whether the error is smaller than a predetermined threshold. If the error is larger than the threshold the method may continue with the steps of determining the error again, providing the second coordinates, receiving se ⁇ cond intermediate sensor data and determining the se ⁇ cond actual position.
  • the step of starting to issue the at least one first instruc ⁇ tion to the robot arm or the method generally further comprises: registering an association between coordinates of the robot arm and the position of the gripper as determined in the sensor coordinate system in a se ⁇ cond learning entity.
  • the step of starting issue the at least one first instruction to the robot arm or the method generally further com- prises: constructing a conversion function between coordinates of the robot arm and coordinates in the sen ⁇ sor coordinates system, using the association registered .
  • the step of determining a target position from the first sensor data further comprises: determining an initial target position in the sensor coordinate system; and computing the target position from the initial target posi ⁇ tion using the conversion function.
  • the con ⁇ version function is a conversion matrix computed using at least the association registered between coordi ⁇ nates of the robot arm and the position of the gripper as determined in the sensor coordinate system. Simi- larly, other similar associations may be used to com ⁇ pute the conversion matrix.
  • the ob ⁇ ject of interest is located in an unstructured arena, that is, an environment or generally a three- dimensional space, which is not predetermined in one or several of its characteristics, such as background color or geometry, and which can include, in addition to the objects of interest, other objects of unknown characteristics.
  • a pile of trash could constitute an unstructured arena, that is, an operat- ing space of a robot.
  • An unstructured arena can also change as time progresses. For example, as pieces of trash are removed from the pile, the pieces of trash can shuffle, move or collapse. New trash can also get added to the pile.
  • the in ⁇ vention includes a robot arm controlled by a control ⁇ ling unit and installed so that it can reach objects which reside in an unstructured arena.
  • the sys- tern furthermore includes a gripper attached to the ro ⁇ bot arm and controlled by the controlling unit.
  • the gripper can, for example, be a device which grips ob ⁇ jects by enclosing them, in a way resembling a hand or a claw.
  • the sys ⁇ tem furthermore includes at least one sensor device which can be used to produce sensory data about the unstructured arena.
  • One such sensor device can be, for example, a digital camera oriented to view the un- structured arena.
  • the grip ⁇ per includes sensors which can be used to measure whether the gripper is in contact with objects in the unstructured arena, for example when the gripper is moved and it collides against an object, or when an object is gripped.
  • the sys ⁇ tem furthermore includes a predetermined verification position for the robot arm, located and oriented in such way that the robot arm, gripping an object, can be moved and oriented in such way that at least one sensor can then view the object against this arena.
  • Such arena can, for example, comprise a flat surface of known and constant color, such that the gripped ob ⁇ ject can be placed by the robot in this background and thus more accurately viewed by sensors, or it can con ⁇ sist of other kind of setup suitable for verification of the object type by the sensors used.
  • the sys ⁇ tem includes a first learning system configured to re- ceive data from the sensors and to output a location in the unstructured arena, where the likelihood of a successful gripping operation is suitably high, to the controller unit.
  • the sys- tern includes a second learning system configured to receive data from the sensors and output the likeli ⁇ hood that a gripping operation performed at this loca ⁇ tion will result in gripping an object of desired type .
  • the con ⁇ troller unit is configured to move the robot arm so that the gripper is located at a previously determined location in the unstructured arena, and then to grip an object at this location.
  • the suc ⁇ cess of the gripping operation is then determined us ⁇ ing data from sensors. If the grip is not successful, the robot arm is then moved to different location for another attempt. Upon a successful gripping operation the controller unit is configured to then move the ob ⁇ ject to a predefined verification position, and the type of the object is determined by performing a veri- fication operation. The verification operation receives as its input sensor data and outputs the deter ⁇ mined type of the object.
  • the sys- tern is further improved by utilizing learning systems, which may run in the apparatus.
  • a learning system which may be referred to as a first learning system or a first learning entity.
  • the first learning system is configured to calculate a location in the unstructured arena where a successful gripping operation is likely, thus improv ⁇ ing the operation of the system as new attempts at gripping objects are made.
  • a learning system which may be referred to as a se- cond learning system or a second learning entity.
  • the sensor data preceding the movement of the arm and po ⁇ sition and orientation of the robot arm before and af ⁇ ter the moving of the robot arm are also applied to the second learning system, which is configured to calculate an efficient way to move the robot arm to the determined target location, thus speeding up the operation of the robot system as new movements of the robot arm are made.
  • the com- puter program is stored on a computer readable medium.
  • the computer readable medium may be a removable memory card, a removable memory module, a magnetic disk, an optical disk, a holographic memory or a magnetic tape.
  • a removable memory module may be, for example, a USB memory stick, a PCMCIA card or a smart memory card.
  • a method, a system, an apparatus, a computer program or a computer program product to which the invention is related may comprise at least one of the embodi ⁇ ments of the invention described hereinbefore.
  • the benefits of the invention are related to improved quality in the selection of objects from an operating space of a robot.
  • Fig. 1 is a block diagram illustrating a robot system for the selection of physical objects in one embodiment of the invention
  • Fig. 2 is flow chart illustrating for the selection of physical objects in a robot system
  • Fig. 3 is a block diagram illustrating a computer comprising two learning systems in one embodi- ment of the invention.
  • Figure 1 is a block diagram illustrating a robot system for the selection of physical objects in one embodiment of the invention.
  • a data processing apparatus 100 in short an apparatus, com- prises a central processing unit (CP) 110 and memory 150.
  • CP central processing unit
  • Some embodiments of the invention employ multiple processors CP1 through CPn, plus a load distribution unit for distributing load among the multiple proces ⁇ sors.
  • the one or more processors control the robot arm by executing programs 152 stored in one or more memo- ries 150.
  • the programs 152 set up and update various parameters and variables 154 in the memory 150.
  • Some parameters may be represented, for example, as tables, arrays, lists, sparse or dense ma ⁇ trixes or other data structures.
  • the 100 comprises or utilizes external input-output cir ⁇ cuitry 120 which constitutes a user interface of the data processing apparatus.
  • the input-output circuitry 120 comprises an input circuitry 122 and an output circuitry 124.
  • a keyboard interface and a display in ⁇ terface are illustrative but non-restrictive examples of such input circuitry 122 and an output circuitry 124.
  • the data processing apparatus 100 In order to communicate with external devic- es, the data processing apparatus 100 typically com ⁇ prises or utilizes external reception/transmission circuitry 130 which comprises a transmission circuitry ("TXn") 132, reception circuitry (“RXn”) 134 and an internal or external antenna 136.
  • TXn transmission circuitry
  • RXn reception circuitry
  • the suffix "n" in connection with the TXn and RXn indicates that the da ⁇ ta processing apparatus may utilize several different interfacing technologies for communicating with the physical world, which in the present example includes the robot arm and, optionally, a separate verification environment.
  • Wireless local-area networks and short-range wireless interfaces, such as infrared, ra ⁇ dio or Bluetooth, are illustrative but non-restrictive examples of such wireless reception/transmission cir- cuitry.
  • the data processing apparatus may utilize wired connections 138, such as a USB (Universal Serial Bus) , any parallel or serial in ⁇ terface, or other types of industry-standard interfac ⁇ es or proprietary interfaces.
  • wired connections 138 such as a USB (Universal Serial Bus) , any parallel or serial in ⁇ terface, or other types of industry-standard interfac ⁇ es or proprietary interfaces.
  • USB Universal Serial Bus
  • the memory 150 of the data processing apparatus 100 con ⁇ tains a collection of programs 152 for implementing the inventive user entry method.
  • the programs 152 uti- lize various data structures, variables and parame ⁇ ters, collectively denoted by reference numeral 154.
  • Reference numeral 160 generally denotes a ro ⁇ bot system from which at least some portions are con ⁇ trolled by the data processing apparatus 100.
  • the ro- bot system 160 comprises at least one robot, denoted by reference numeral 170, but it can comprise addi ⁇ tional robots, one or more conveyors, such as conveyor belts, stationary sensors, illumination devices, ana ⁇ lyzers, or the like.
  • the ro- bot 170 is shown in a schematic illustration which resembles an arm with rotating members, but other types of implementations are equally possible.
  • the robot arm 170 comprises a gripper 171 which is somewhat analogous to a hand or claw.
  • the ro- bot arm 170 is capable of moving the gripper 171 within an operating area 172.
  • Various movements of the ro ⁇ bot arm 170 and gripper 171 are effected by actuators, collectively denoted by reference numeral 173.
  • the actuators can be electric, pneumatic or hydraulic, or any combination of these.
  • the actua ⁇ tors may move or rotate various elements of the robot arm 170, as indicated by the straight and curved dou ⁇ ble-headed arrows in Figure 1.
  • the operating area 172 of the robot includes a portion called unstructured arena 180.
  • the unstruc ⁇ tured arena 180 comprises various objects, collective ⁇ ly denoted by reference numeral 181.
  • the unstructured arena 180 is a conveyor belt, or the portion of the conveyor belt that intersects the robot's operating area 172.
  • the data processing apparatus has little or no a priori information on the objects 181 within the unstructured arena 180, such as the size, shape and/or color of the objects of interest.
  • the data processing apparatus 100 may have some a priori information on the objects of interest, or it may have gained information on the ob ⁇ jects by learning, but at least the background (other objects), the position and orientation of the objects of interest are typically unknown a priori. That is, the objects 181 may be in random positions and orien- tations in the unstructured arena 180, and the objects 181 may overlap each other. Therefore, it is benefi ⁇ cial to dedicate a portion of the robot's operating area 172 to a structured arena 182, in which the grip- per 171 can be observed the gripper 171 and any ob- jects gripped by it under relatively constant condi ⁇ tions and against a known background. As used herein, the term relatively constant conditions and background mean that any changes in the structured arena 182 oc ⁇ cur so slowly that they can be compensated for by mak- ing and storing periodic observations of it.
  • struc ⁇ tured arena 182 may also be inspected using at least one second sensor among sensors 176 or using at least one second separate sensor device 176d, which is ap- plicable particularly in structured arena 182.
  • Struc ⁇ tured arena may simply be a specific position of robot arm 170 and/or gripper 171, which enables the at least one second sensor to be used without disturbing ele ⁇ ments of unstructured arena 181.
  • Separate verification may involve inspecting or analyzing the contents of the gripper with additional equipment, that is, the at least one second sensor 176d.
  • An illustrative but non- exhaustive list of such additional equipment includes 1) an additional imaging device which observes the gripper contents from a different direction and/or at different wavelengths and/or at higher resolution than the collocated camera does; 2) an additional illumina ⁇ tion device which illuminates or irradiates the con ⁇ tents of the gripper at different wavelengths and/or energy levels from those present in the unstructured arena; 3) a gas analyzer; and 4) a laser scanner.
  • a set of electrical drivers 174 converts data processing signals, in other words, instructions from the data processing apparatus 100 to appropriate volt ⁇ age and power levels for controlling the actuators.
  • the actuators perform various mechanical functions including but not necessarily limited to: positioning the gripper 171 over a specific location within the operating area 172, lowering or raising the gripper, and closing and opening of the gripper.
  • the actuators comprise an actuator for tilting the gripper 171 and the collocated camera 176c such that the camera monitors the grip ⁇ per against a known background.
  • a structured arena 182 can be implemented by tilting the gripper 171 and camera 176c, and no move ⁇ ment to a different position is needed.
  • the data processing apparatus 100 may utilize wireless connections via interface 136 and/or wired connections via interface 138 in order to communicate with the robot system 160.
  • the robot system 160 in general and the robot 170 in particular comprise various sensors, collec ⁇ tively denoted by reference numeral 176.
  • the sensors 176 comprise various position sen- sors 176a which indicate the position of the robot arm 170 and gripper 171, as well as the open/close status of the gripper 171.
  • the open/close status of the grip- per is not restricted to a simple yes/no bit.
  • the gripper 171 may indi ⁇ cate a multi-bit open/close status in respect of each of its fingers, whereby an indication of the size and/or shape of the object (s) in the gripper may be obtained .
  • the set of sensors may comprise strain sensors 176b, also known as strain gauges or force feedback sensors, which indicate strain experienced by various elements of the robot arm 170 and gripper 171.
  • the strain sensors comprise variable resistances whose re ⁇ sistance varies depending on the tension of compres- sion applied to them. Because the changes in re ⁇ sistance are small compared to the absolute value of the resistance, the variable resistances are typically measured in a Wheatstone bridge configuration.
  • the strain sensors 176b act as force feedback sensors which indicate a possible failure of a gripping opera ⁇ tion. Failure may be indicated by a force exerted on an outer side of gripper 171, which reveals that the gripper may not be opened to a fully open position on the indicated target location of the arm, or a force in any side that exceeds a preset threshold.
  • the set of sensors may comprise at least one image sensor or camera 176c collocated with the robot arm.
  • a collo- cated camera 176c means that the camera 176c constant ⁇ ly monitors an area under the gripper 171.
  • Position data signals from the various sen ⁇ sors 176 are converted to appropriate levels and for ⁇ mats by drivers, collectively denoted by reference nu- meral 177.
  • the converted data signals are transmitted to the data processing apparatus 100 as input signals 178.
  • the software or set of programs 152 within the memory 150 of the data processing system 100 comprise various programs.
  • a "program” means a set of computer program instructions whose ex- ecution by one or more processors CP1 ... CPn has the effect that the data processing system 100 instructs the robot system 160 to perform a well-defined high- level operation.
  • An example of a high-level operation is moving the robot arm to a specified position.
  • the corresponding program may utilize various software drivers, routines or dynamic link libraries to convert the high-level operation to a series of low-level op ⁇ erations, such as outputting an appropriate sequence of output signals 175 via the electrical drivers 174 to the actuators 173 of the robot system 160.
  • some or all of the programs 152 may receive sensor data 178 from the robot system 160 and perform one or more analyzes on the sensor da ⁇ ta .
  • the set of programs 152 com ⁇ prise programs for arm movement, denoted by reference sign AM, which instructs the robot arm 170 to move to a specified position and, optionally, to tilt the gripper 171 such that its contents can be observed against a known background.
  • the set of programs 152 also comprise a gripping sequence control program GSC and gripping sequence evaluation program GSE . Execution of the gripping sequence control program GSC causes the data processing apparatus 100 to instruct the robot arm 170 and gripper 171 to attempt a grip ⁇ ping operation, which includes approaching, by the gripper 171, a position that includes a candidate ob ⁇ ject to be gripped, and closing the gripper 171.
  • a partial object of the invention is to provide a meth- od, data processing system and program product capable of determining whether or not the attempted gripping operation was successful. This determination is per- formed by the gripping sequence evaluation program GSE.
  • the gripping sequence evaluation program GSE utilizes the po- sition sensors 176a and/or the strain sensors 176b of the gripper 171 to determine whether or not the gripper 171 actually gripped something. In other words, the determination may be based on sensing whether or not the gripper becomes fully closed when instructed to do so, or whether the gripper holds something which prevents the gripper from becoming fully closed.
  • the gripping sequence control program GSC may utilize the strain sensors 176b to set an upper limit on the ap ⁇ plied gripping force, so as not to damage the gripped object and/or the gripper itself.
  • the gripping sequence evaluation program GSE may alternatively or ad ⁇ ditionally utilize the collocated camera 176c to moni ⁇ tor if the camera' s field of vision includes something that moves along with the gripper and, consequently, remains essentially constant even if the movement of the gripper changes the background of the view of the camera 176c.
  • the arm movement program AM may move and/or tilt the gripper 171, the contents of the gripper and the collocated camera 176c to the structured arena 182.
  • the collocated camera may form an image of the gripper and its contents. This current image of the gripper and its contents is then compared with a known, previously-stored image of the gripper.
  • any differences between the current and pre-stored images may be caused by the contents of the gripper, dirt in the gripper or changes in background or illumination.
  • it may be ben ⁇ eficial to periodically update the pre-stored image of the gripper when it is known to be empty, whereby any dirt or changes in background or illumination can be compensated for.
  • the robot arm may comprise a strain gauge configured to weigh the gripper 171 and its contents. By subtracting a known net weight of the gripper from its current weight, the weight of the gripper contents can be obtained. This information, either on its own or in combination of the other two pieces of information can contribute to the determination as to whether the gripping operation was successful. All such techniques can be summarized by saying that the success of the gripping operation can be determined by comparing current status infor ⁇ mation from the gripper with known status information from the gripper.
  • known status information means that the gripper was known to be empty or its contents were known when the known status information was obtained.
  • programs AM, OR, GSC, GSE, VO, LI and L2 may be implemented as separate software entities such as, for example, sub ⁇ routines, processes, threads, modules and program code sequences.
  • Figure 2 is flow chart illustrating a method for the selection of physical objects in a robot sys ⁇ tem.
  • the robot system comprises a control apparatus.
  • first sensor data is received from at least one first sensor to the apparatus.
  • a target position is determined from the first sensor data by the apparatus.
  • the apparatus starts to issue at least one first instruction to a robot arm in order to move a gripper within the robot arm to the target po ⁇ sition.
  • the at least one first instruction may be is- sued in parallel with the step 206 where the apparatus receives force feedback sensor data.
  • the apparatus receives force feedback sensor data from at least one force feedback sensor associated with at least one of the robot arm and the gripper in order to determine a failure in carrying out the at least one instruction.
  • the apparatus receives second sensor data from the at least one first sensor.
  • the apparatus determines a suc ⁇ cessful gripping of an object from the second sensor data .
  • the apparatus receives verification ⁇ tion sensor data from at least one second sensor, in response to the determining of the successful grip ⁇ ping .
  • the apparatus issues at least one second instruction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper. Thereupon, the method is finished .
  • a data processing apparatus such as data processing apparatus 100 illustrated in Figure 1, receives input data from the sensors at least one sensor, for example, a collo ⁇ cated camera.
  • the data processing apparatus extracts a subset of sensor data for object recognition by an ob ⁇ ject recognition program.
  • the object recognition program is used for extracting from the sensor data fea- tures corresponding to objects of interest, said fea ⁇ tures then forming a data set that is used as the in ⁇ put of a learning system.
  • the present invention allows for virtually any kind of object recognition system to be used, and such system can therefore be well matched to the conditions of the unstructured arena and the specific application of the invention.
  • an example of an object recognition system configured for recognizing red objects by utilizing the collocated camera is now de ⁇ scribed .
  • input da- ta received from the collocated camera is a digital image which consists of a 2-dimensional array of pix ⁇ els, each pixel having a numerical value for the red, green and blue color component, hereinafter designated as the R-, G- and B-values, respectively.
  • R-, G- and B-values a numerical value for the red, green and blue color component
  • the number of pixels in data corresponds to the resolution of the camera.
  • the image data received from the cam ⁇ era is down-sampled to a resolution determined suita ⁇ ble for analysis.
  • the suitable down-sampling resolu ⁇ tion can be determined empirically.
  • the resulting down-sampled image is then nor- malized to account for changes in lightning condi ⁇ tions.
  • the normalization may be done separately for each pixel in the down-sampled image.
  • a set of features is calculated from the image, such as the location and orientation of the ob- ject of interest, and these features are used as the input for the first learning system.
  • x and y are coordinate values in the coordinate system of the image
  • the cal ⁇ culation of the location (x, y) of the object of inter ⁇ est proceeds in the following manner. First the pixels which correspond to the object of interest in the down-sampled normalized image are determined. Many suitable algorithms for this task are known from lit ⁇ erature. In this example, the pixels corresponding to the object are recognized based on the color values, that is, the object is presumed to be red, meaning that red pixels in the image correspond to an object of interest in the image. Once the pixels correspond ⁇ ing to the object of interest have thus been deter- mined, the location (x,y) of the object can be deter ⁇ mined by calculating a centroid of the area where the determined pixels are located.
  • an arm movement program of the data pro- cessing apparatus instructs the robot arm to move to a location in world coordinates corresponding to the lo ⁇ cation (x,y) in image coordinates of the recognized object.
  • this arm movement program per ⁇ forms a conversion from the image coordinate system to the world coordinate system, a known method for which is to multiply the coordinate vector (x,y) with a 2x2 conversion matrix M, M having been chosen so that it performs this conversion with an acceptable accuracy and such choice depending on the camera setup.
  • a gripping sequence control program performs a gripping attempt, which includes instructing the robot arm to lower a gripper to the recognized object and to close the gripper.
  • sensor data from the robot arm is received by the data processing apparatus.
  • the sensor data may indicate that the gripper has collided with an object. More particularly, the sensor data may indicate that the robot arm or gripper fails to move in response to an instruction to move, or that the instruction to move causes an abnormal level of strain in some elements of the robot system, as measured by the strain gauges. In such cases the gripping attempt is aborted. An aborted gripping at- tempt will be considered a failure in a subsequent evaluation step.
  • the gripping se ⁇ quence evaluation program extracts sensor data, par- ticularly sensor data that reflects the contents of the gripper.
  • the success of the gripping attempt is determined from this extracted data.
  • the success of the gripping at ⁇ tempt can be determined on the basis of any of the following: 1) an indication that the gripper has closed around an object of a minimum size; 2) a com ⁇ parison of a current image of the gripper plus con ⁇ tents with a pre-stored image of the gripper with known contents; and 3) the difference between the weight of the gripper plus current contents and the weight of the gripper plus known contents.
  • the data processing apparatus instructs the robot arm to perform a set of predetermined operations on the gripped object.
  • Such operations can be chosen to de ⁇ pend on the type of the object, for example if the system is used for sorting different kinds of objects in different bins. Since the location of the object was determined based on the sensor data, the type of the object is known or regarded as known at this point, and the known type can be used for choosing the set of operations to be performed on the object.
  • the various object types can correspond to recycling channels: re- usable bottles, recyclable plastics, metals, burnable matter, compostable matter, hazardous waste, and so on .
  • the type of the ob ⁇ ject may be determined erroneously.
  • Some more ambi- tious embodiments of the inventive method comprise a separate verification for additional verification of the type of the object or objects in the gripper. If the gripping attempt was deemed successful, a verifi ⁇ cation operation program calls the arm movement pro- gram such that the robot arm, and particularly the gripper, is instructed to move to a predetermined ver ⁇ ifying position. A separate verification is performed in this verifying position. In some implementations the separate verification involves inspecting the con- tents of the gripper in the structured arena. In other implementations the separate verification may involve inspecting or analyzing the contents of the gripper with additional equipment.
  • An illustrative but non- exhaustive list of such additional equipment includes 1) an additional imaging device which observes the gripper contents from a different direction and/or at different wavelengths and/or at higher resolution than the collocated camera does; 2) an additional illumina ⁇ tion device which illuminates or irradiates the con ⁇ tents of the gripper at different wavelengths and/or energy levels from those present in the unstructured arena; 3) a gas analyzer.
  • a benefit of the separate verification is that the type of the object is known with an improved confidence level, which increases the likelihood of selecting an appropriate operation on the gripped ob- ject.
  • the exem ⁇ plary embodiment described above is further improved by the present invention by utilizing at least one ma ⁇ chine learning system at different steps of the opera- tion.
  • the oper ⁇ ation of the system posits two learning problems, which relate to calculating various parameters from sensor data. This could be achieved using a set of predetermined calculations, but such system would be inflexible and specific to a set of operating condi ⁇ tions and hence likely not optimal for operation in an unstructured arena, the conditions of which can not by definition be known at the time the predetermined cal- culations would be defined.
  • a first learning problem relates to determining from a data set received form the system a set of parameters for a gripping operation to be attempted.
  • a second learning problem relates to determining the parameters for moving the robot arm to grip an object of interest.
  • FIG. 2 A method, a system, an ap ⁇ paratus, a computer program or a computer program product to which the invention is related may comprise at least one of the embodiments of the invention de- scribed hereinbefore.
  • Figure 3 is a block diagram illustrating a computer comprising two learning systems in one embodiment of the invention.
  • a computer 300 which comprises a random access memory, at least one processor and a secondary memory (not shown) .
  • the internal functions within computer 300 are illustrated with box 302.
  • Computer 300 executes a first learning entity 314, a second learning entity 312, a verifier entity 310, an arm movement control entity 320, a gripping sequence control entity 318 and an object recognizer 322.
  • First learning entity 314 and second learning entity 312 both are examples of a learning system.
  • First learning entity 314 takes as input fea ⁇ tures extracted from the sensor data obtained from a plurality of sensors such as a sensor 304 and a sensor 306. The features are extracted by an object recogniz- er entity 322 from sensor data illustrated with arrow 342. First learning entity 314 calculates a set of pa ⁇ rameters 332 for arm movement control entity 320, us- ing features illustrated with arrow 330 to be used for performing a gripping operation, the goal being that that the likelihood of a successful gripping operation using these parameters is relatively high.
  • Such param- eters can include, for example, the location of the target object or the orientation the gripper before a gripping operation is attempted.
  • first learning entity 314 for calculating the likely location of the object of interest in an unstructured arena is now given as an example of the operation of first learning entity 314.
  • the example only presents the calculation of the likely location (x,y) and the invention is not restricted to this.
  • the coordinates (x,y) received by first learning entity 314 from object recognizer entity 322 correspond to the location of a recognised object in the coordinate system of a camera.
  • the camera is pref ⁇ erably fixed to the robot arm, so the camera image at any moment corresponds to the location and orientation of the robot arm.
  • the ro ⁇ bot arm In order to grip the object, the ro ⁇ bot arm needs to be moved to a location and orienta ⁇ tion where the gripper is in a good position to grip the object, said position likely depending on the properties of the object, the gripper and other ob- jects in the arena where the robot arm operates and other possible factors.
  • First learning entity 314 is used to calculate, based on previous gripping at ⁇ tempts, a location in the image coordinate system from where a successful gripping operation is most likely.
  • First learning entity 314 takes as input data items 338 which comprise the parameters of previous attempts from a success evaluator entity 316, which determines success of gripping sequence information 340 obtained from gripping sequence control entity 318.
  • the data items 338 consist of co ⁇ ordinates (x,y) corresponding to a gripping attempt with the centroid of the recognised object at (x,y), and the corresponding evaluation of the gripping attempt at (x,y) regarding whether it was successful or failure. These data items are then used to calculate the output 332 of first learning entity 314.
  • Output 332 from first learning entity 314 to arm movement control entity 320 is preferably not a single point but instead a distribution of points.
  • the output 332 could be, for example, a bivariate nor ⁇ mal distribution parameterised by the centre ( xo / Yo ) and standard deviations o x and o x for both coordinates x and y, which are calculated using the well known maximum likelihood method.
  • Using the described learning system in learning entity 314 provides several benefits compared to simply using an object recognition system to determine the location of an object. As the output is not merely one point but a distribution, it is possible during the operation to either use the optimal point, which in this example would be the centre ( xo / Yo ) of the dis ⁇ tribution, or to select different points from the dis- tribution according to their likelihood. This allows the system to continuously learn by having data of new gripping attempts applied to the learning system and thus adapt to the conditions of the unstructured are ⁇ na. Even if insufficient data of the operating envi- ronment was gathered before installing the system, the system can learn while in operation and new data can improve the results further.
  • Another benefit is that if the conditions change, e.g. a collision deforms the gripper or moves the camera mount, and as a result the optimal gripping position relative to the object's po ⁇ sition in the camera image changes, the system learns to compensate for these changes.
  • the arm movement control entity 320 then moves the robot arm to the determined gripping loca ⁇ tion.
  • To move the robot arm towards an object the difference of the object's location as determined by object recognizer entity 322 and the location of most likely successful gripping position determined by first learning entity 314 is calculated.
  • This differ ⁇ ence is then converted into a difference in physical world coordinates used to control the robot arm. The conversion cannot be assumed to be perfect, and thus the algorithm must compensate for it in real time dur ⁇ ing the approach.
  • the location of the object in the image is computed as described above and compared to the most likely successful gripping posi- tion.
  • the difference between the two which is a vec ⁇ tor of coordinates in the camera coordinate system, is converted into world coordinates by multiplying the coordinate vector by a conversion matrix M, and the robot arm is moved accordingly.
  • a slight low-pass filter is preferably applied in the conver ⁇ sion phase to make the movement smoother. The effect of this algorithm is that even for a conversion matrix M which corresponds to only a roughly correct trans ⁇ formation between the coordinate systems, each step moves the robot arm closer to the intended position.
  • the direction may not be exactly towards the object, and thus at the next step when a new location of the object is available, extracted by object recognizer entity 322 from the camera image corresponding to a new gripper position, the direction of the movement is changed. This results in a spiral shape for the ap ⁇ proach path, which will eventually converge so that the object's location as seen by the camera coincides with the most likely gripping position.
  • Second learning entity 312 is used to deter ⁇ mine a more efficient way of moving the robot arm to a determined gripping location. Second learning entity 312 receives information on position of the robot arm and/or the gripper from the robot arm 308, as illus ⁇ trated with arrow 344. Second learning entity 312 also takes as its input data on past gripping sequences. To illustrate the operation of the second learning sys ⁇ tem, a simple example with only the coordinates (x,y) is now given, which corresponds to the previous exam ⁇ ple.
  • the data applied to the second learning system comprises a difference (x c , y c ) , in camera coordinates, between the location of the object and the most likely gripping position at the beginning of a gripping sequence, and the difference (x d , y d ) be ⁇ tween the world coordinates of the robot arm at the beginning of the gripping sequence and after the grip- ping sequence has been terminated.
  • second learning entity 312 calculates a conversion matrix ML such that when ML is multiplied by a vector (x c , y c , 1), a good approximation of the corresponding difference (Xd,y ⁇ i) is obtained.
  • ML can be calculated from the past gripping attempt data using e.g. a method known in literature as ridge regression, but other suitable methods are equally possible within the scope of the invention.
  • second learning entity 312 is benefi ⁇ cial as the output matrix ML can be used to shortcut the movement algorithm of the robot arm by using it as the matrix M to calculate the target for the robot arm movement in one movement, and after that correcting the remaining error with the movement algorithm described before.
  • a grip ⁇ ping operation is performed, and the evaluation step is performed to determine if the gripping was success ⁇ ful. If the evaluation result indicates that the grip- ping did not succeed, the execution returns to moving the arm to another location. If the result indicates a success, the type of the object is verified by verifi ⁇ er entity 310, as illustrated with arrow 336.
  • a memory comprises entities such as success evaluator entity 316, learning system entity 314, learning system entity 312, verifier entity 310, arm movement con ⁇ trol entity 320 and gripping sequence control 318.
  • the functional entities within computer 300 illustrated in Figure 3 may be implemented in a variety of ways . They may be implemented as processes executed under the na ⁇ tive operating system of the network node. The enti ⁇ ties may be implemented as separate processes or threads or so that a number of different entities are implemented by means of one process or thread. A pro ⁇ cess or a thread may be the instance of a program block comprising a number of routines, that is, for example, procedures and functions.
  • the functional en- tities may be implemented as separate computer pro ⁇ grams or as a single computer program comprising several routines or functions implementing the entities.
  • the program blocks are stored on at least one computer readable medium such as, for example, a memory cir- cuit, memory card, magnetic or optic disk.
  • Some func ⁇ tional entities may be implemented as program modules linked to another functional entity.
  • the functional entities in Figure 3 may also be stored in separate memories and executed by separate processors, which communicate, for example, via a message bus or an in ⁇ ternal network within the network node.
  • An example of such a message bus is the Peripheral Component Inter ⁇ connect (PCI) bus.
  • PCI Peripheral Component Inter ⁇ connect
  • the exemplary embodiments of the invention can be included within any suitable device, for exam- pie, including any suitable servers, workstations, PCs, laptop computers, PDAs, Internet appliances, handheld devices, cellular telephones, wireless devic ⁇ es, other devices, and the like, capable of performing the processes of the exemplary embodiments, and which can communicate via one or more interface mechanisms, including, for example, Internet access, telecommunications in any suitable form (for instance, voice, mo ⁇ dem, and the like) , wireless communications media, one or more wireless communications networks, cellular communications networks, 3G communications networks, 4G communications networks, Public Switched Telephone Network (PSTNs) , Packet Data Networks (PDNs) , the In ⁇ ternet, intranets, a combination thereof, and the like .
  • PSTNs Public Switched Telephone Network
  • PDNs Packet Data Networks
  • the exemplary em ⁇ bodiments are for exemplary purposes, as many varia ⁇ tions of the specific hardware used to implement the exemplary embodiments are possible, as will be appre ⁇ ciated by those skilled in the hardware art(s) .
  • the functionality of one or more of the com ⁇ ponents of the exemplary embodiments can be implement ⁇ ed via one or more hardware devices.
  • the exemplary embodiments can store infor ⁇ mation relating to various processes described herein.
  • This information can be stored in one or more memo ⁇ ries, such as a hard disk, optical disk, magneto- optical disk, RAM, and the like.
  • One or more data ⁇ bases can store the information used to implement the exemplary embodiments of the present inventions.
  • the databases can be organized using data structures (e.g., records, tables, arrays, fields, graphs, trees, lists, and the like) included in one or more memories or storage devices listed herein.
  • the processes de ⁇ scribed with respect to the exemplary embodiments can include appropriate data structures for storing data collected and/or generated by the processes of the de- vices and subsystems of the exemplary embodiments in one or more databases.
  • All or a portion of the exemplary embodiments can be implemented by the preparation of application- specific integrated circuits or by interconnecting an appropriate network of conventional component cir ⁇ cuits, as will be appreciated by those skilled in the electrical art(s).
  • the components of the exem ⁇ plary embodiments can include computer readable medium or memories according to the teachings of the present inventions and for holding data structures, tables, records, and/or other data described herein.
  • Computer readable medium can include any suitable medium that participates in providing instructions to a processor for execution. Such a medium can take many forms, including but not limited to, non-volatile media, vola ⁇ tile media, transmission media, and the like.
  • Non ⁇ volatile media can include, for example, optical or magnetic disks, magneto-optical disks, and the like.
  • Volatile media can include dynamic memories, and the like.
  • Transmission media can include coaxial cables, copper wire, fiber optics, and the like.
  • Transmission media also can take the form of acoustic, optical, electromagnetic waves, and the like, such as those generated during radio frequency (RF) communications, infrared (IR) data communications, and the like.
  • Com ⁇ mon forms of computer-readable media can include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other suitable magnetic medium, a CD-ROM, CDRW, DVD, any other suitable optical medium, punch cards, paper tape, optical mark sheets, any oth ⁇ er suitable physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other suitable memory chip or cartridge, a carrier wave or any other suitable medium from which a computer can read.

Landscapes

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

Abstract

The invention relates to a method in which an apparatus receives first sensor data from first sensors and determines a target position from the data, the target position may be a position in space or an orientation of a gripper in a robot arm First instructions are issued to the robot arm or the gripper in order to move a gripper to the target position. Force feedback sensor data is received from force feedback sensors associated with either the robot arm or the gripper or from the first sensors. A failure in carrying out the first instructions is determined. Second sensor data is received from the at least one first sensor. Successful gripping of an object is determined from the second sensor data. Verification sensor data is received from at least one second sensor, in response to the determining of the successful gripping, second instructions are issued to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper.

Description

TITLE OF THE INVENTION
METHOD FOR THE SELECTION OF PHYSICAL OBJECTS IN A ROBOT SYSTEM
BACKGROUND OF THE INVENTION
Field of the invention:
The present invention relates to systems and methods used for manipulating physical objects. In particular, the present invention relates to a method for the selection of physical objects in a robot sys¬ tem.
Description of the Related Art:
Robot systems have widely been used in many industries to perform repetitive tasks that require little capability to actually model visually or cogni- tively physical objects being manipulated or that re¬ quire little skill to take a hold on and to move. Ro¬ bots can also be built to work in environments hostile to human floor workers or to be able to work with ma¬ terial hazardous to humans such as toxic or radioac¬ tive materials, waste or massive objects. It is desir¬ able to make such robot systems as autonomous as pos¬ sible to minimize the amount of human involvement needed.
When the aim is to have the robot arm to ma¬ nipulate objects, the robot arm is commonly equipped with a device suitable for gripping the objects of in¬ terest. Such a device can, for example, resemble a hand, a claw or a clamp. While programming the robot to perform repetitive tasks is relatively easy, there are difficult problems in automatically manipulating objects, especially related to recognizing the objects from a varying environment or an environment crowded with other objects, and manipulating an object which resides among other objects. Namely, other objects may cover the object partially or in whole, thus making it difficult to pin down the exact location of the object to instruct the robot arm to move to, or the other ob¬ jects can obstruct the movements of a robot hand thereby making pre-programmed movements unsuitable for the task.
The problem of recognizing objects is commonly dealt with using pattern recognition algorithms, which search for objects in sensory data such as digi- tal camera images. Such algorithms are an actively studied field. While there are many algorithms which can even recognize objects against an uneven back¬ ground, pattern recognition algorithms generally work best when the background is both uniform and predeter- mined. Previously, objects of predetermined type have been searched from a clear operating area and they been selected from the operating area as recognized objects. Sets of actions can be performed on a select¬ ed object of a known type. The set of actions can be chosen based on the type of the object, for example placing different kinds of objects in different bins.
However, there are possibilities for error in determining of the type of an object. For example, im¬ age recognition algorithms can produce false results, identifying an object as that of a wrong type. Fur¬ ther, even if the object has been correctly recog¬ nized, the gripper could fail to grip the intended ob¬ ject, for example, if the intended object is obscured by another object which could get gripped instead, or if the gripper is not moved to the right position be¬ fore gripping as a result of inaccuracies in control¬ ling the robot arm. There is also the possibility that several objects are inadvertently gripped at the same time, for example, if the objects are located close together or they are stuck together. In applications such as recycling and waste management, it is im¬ portant that the purity of a sorted group of objects is high, namely, that as few as possible objects of a wrong type end up in the sorted groups of objects.
SUMMARY OF THE INVENTION:
The invention relates a method comprising: receiving first sensor data from at least one first sensor; determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; receiving force feedback sensor data from at least one of the at least one first sensor and at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to determine a failure in carrying out the at least one instruction; receiving second sensor data from the at least one first sensor; determining a suc- cessful gripping of an object from the second sensor data; receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and issuing at least one se¬ cond instruction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper.
The invention relates also to an apparatus, comprising: means for receiving first sensor data from at least one first sensor; means for determining a target position from the first sensor data, said tar¬ get position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; means for starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; means for receiving force feedback sensor data from at least one of the at least one first sensor and at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to determine a failure in carrying out the at least one instruction; means for receiving second sen- sor data from the at least one first sensor; means for determining a successful gripping of an object from the second sensor data; means for receiving verifica¬ tion sensor data from at least one second sensor, in response to the determining of the successful grip- ping; and means for issuing at least one second in¬ struction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper .
The invention relates also to a computer pro- gram embodied on a computer readable medium, the computer program comprising code for controlling a processor to execute a method comprising: receiving first sensor data from at least one first sensor; determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; receiving force feedback sensor data from at least one of the at least one first sensor and at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to deter¬ mine a failure in carrying out the at least one in- struction; receiving second sensor data from the at least one first sensor; determining a successful grip¬ ping of an object from the second sensor data; receiving verification sensor data from at least one second sensor, in response to the determining of the success- ful gripping; and issuing at least one second instruc¬ tion to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper .
The invention relates also to a method com¬ prising receiving first sensor data from at least one first sensor; determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; receiving force feedback sensor data from the at least one first sensor or at least one force feedback sensor, associated with at least one of the robot arm and the grip- per, to determine a failure in carrying out the at least one instruction; receiving second sensor data from the at least one first sensor; determining a suc¬ cessful gripping of an object from the second sensor data; receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and issuing at least one se¬ cond instruction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper.
The invention relates also to an apparatus, comprising: means for receiving first sensor data from at least one first sensor; means for determining a target position from the first sensor data, said tar¬ get position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; means for starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; means for receiving force feedback sensor data from the at least one first sensor or at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to deter- mine a failure in carrying out the at least one in¬ struction; means for receiving second sensor data from the at least one first sensor; means for determining a successful gripping of an object from the second sen- sor data; means for receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and means for issuing at least one second instruction to the robot arm in order to move the arm to a predetermined posi- tion to release the grip of the gripper.
The invention relates also to a computer pro¬ gram embodied on a computer readable medium, the computer program comprising code for controlling a processor to execute a method comprising: receiving first sensor data from at least one first sensor; determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position; receiving force feedback sensor data from the at least one first sensor or at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to determine a failure in carrying out the at least one instruction; receiving second sensor data from the at least one first sensor; determining a successful gripping of an object from the second sensor data; receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and issu¬ ing at least one second instruction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper.
The invention relates also to an apparatus comprising a memory and at least one processor configured to receive first sensor data from at least one first sensor, to determine a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm, to start to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position, to receive force feedback sensor data from at least one of the at least one first sensor and at least one force feedback sensor, associated with at least one of the robot arm and the gripper, in order to determine a failure in carrying out the at least one instruction, to receive second sensor data from the at least one first sensor, to determine a successful gripping of an object from the second sensor data, to receive verification sensor data from at least one second sensor, in response to the determining of the successful gripping, and to is¬ sue at least one second instruction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper.
In one embodiment of the invention, the at least one instruction comprises a signal indicating at least one move for the robot arm and/or the gripper. In one embodiment of the invention, the at least one instruction is a simple driving voltage applied for controlling at least one of rotation, elevation and gripping .
In one embodiment of the invention, a first learning entity within the apparatus registers the successful gripping and the first sensor data.
In one embodiment of the invention, a first learning entity within the apparatus registers an un¬ successful gripping and the first sensor data, in re¬ sponse to a determined failure in carrying out at least one of the at least one instruction.
In one embodiment of the invention, an arm movement control entity or the first learning entity within the apparatus predicts likelihood for the suc¬ cessful gripping from the first sensor data using the information registered in the first learning entity. The arm movement control entity issues the at least one first instruction to the robot arm in response to the likelihood.
In one embodiment of the invention, the arm movement control entity issues at least one third in¬ struction to the robot arm to move the gripper to a verification position.
In one embodiment of the invention, the veri¬ fication position corresponds to a verification environment where the at least one second sensor provide may be applied to the object without interfering ob- jects. In one embodiment of the invention, the verifi¬ cation environment has a constant background.
In one embodiment of the invention, the appa¬ ratus is configured to determine a type of the object from the verification sensor data from the at least one second sensor.
In one embodiment of the invention, the step of starting to issue the at least one first instruc¬ tion to the robot arm or the method generally further comprises: providing first coordinates to the robot arm; receiving first intermediate sensor data from the at least one first sensor; and determining an actual position of the gripper in a sensor coordinate system using the first intermediate sensor data. These steps may be carried out by the arm movement control entity within the apparatus.
In one embodiment of the invention, the step of starting to issue the at least one first instruc¬ tion to the robot arm or the method generally further comprises: determining an error between the actual po- sition of the gripper and the first coordinates; providing second coordinates to the robot arm; receiv¬ ing second intermediate sensor data from the at least one first sensor; determining a second actual position of the gripper in a sensor coordinate system using the second intermediate sensor data; and checking whether the error is smaller than a predetermined threshold. If the error is larger than the threshold the method may continue with the steps of determining the error again, providing the second coordinates, receiving se¬ cond intermediate sensor data and determining the se¬ cond actual position.
In one embodiment of the invention, the step of starting to issue the at least one first instruc¬ tion to the robot arm or the method generally further comprises: registering an association between coordinates of the robot arm and the position of the gripper as determined in the sensor coordinate system in a se¬ cond learning entity.
In one embodiment of the invention, the step of starting issue the at least one first instruction to the robot arm or the method generally further com- prises: constructing a conversion function between coordinates of the robot arm and coordinates in the sen¬ sor coordinates system, using the association registered .
In one embodiment of the invention, the step of determining a target position from the first sensor data further comprises: determining an initial target position in the sensor coordinate system; and computing the target position from the initial target posi¬ tion using the conversion function.
In one embodiment of the invention, the con¬ version function is a conversion matrix computed using at least the association registered between coordi¬ nates of the robot arm and the position of the gripper as determined in the sensor coordinate system. Simi- larly, other similar associations may be used to com¬ pute the conversion matrix. In one embodiment of the invention, the ob¬ ject of interest is located in an unstructured arena, that is, an environment or generally a three- dimensional space, which is not predetermined in one or several of its characteristics, such as background color or geometry, and which can include, in addition to the objects of interest, other objects of unknown characteristics. For example, a pile of trash could constitute an unstructured arena, that is, an operat- ing space of a robot. An unstructured arena can also change as time progresses. For example, as pieces of trash are removed from the pile, the pieces of trash can shuffle, move or collapse. New trash can also get added to the pile.
In one embodiment of the invention, the in¬ vention includes a robot arm controlled by a control¬ ling unit and installed so that it can reach objects which reside in an unstructured arena.
In one embodiment of the invention, the sys- tern furthermore includes a gripper attached to the ro¬ bot arm and controlled by the controlling unit. The gripper can, for example, be a device which grips ob¬ jects by enclosing them, in a way resembling a hand or a claw.
In one embodiment of the invention, the sys¬ tem furthermore includes at least one sensor device which can be used to produce sensory data about the unstructured arena. One such sensor device can be, for example, a digital camera oriented to view the un- structured arena.
In one embodiment of the invention, the grip¬ per includes sensors which can be used to measure whether the gripper is in contact with objects in the unstructured arena, for example when the gripper is moved and it collides against an object, or when an object is gripped. In one embodiment of the invention, the sys¬ tem furthermore includes a predetermined verification position for the robot arm, located and oriented in such way that the robot arm, gripping an object, can be moved and oriented in such way that at least one sensor can then view the object against this arena. Such arena can, for example, comprise a flat surface of known and constant color, such that the gripped ob¬ ject can be placed by the robot in this background and thus more accurately viewed by sensors, or it can con¬ sist of other kind of setup suitable for verification of the object type by the sensors used.
In one embodiment of the invention, the sys¬ tem includes a first learning system configured to re- ceive data from the sensors and to output a location in the unstructured arena, where the likelihood of a successful gripping operation is suitably high, to the controller unit.
In one embodiment of the invention, the sys- tern includes a second learning system configured to receive data from the sensors and output the likeli¬ hood that a gripping operation performed at this loca¬ tion will result in gripping an object of desired type .
In one embodiment of the invention, the con¬ troller unit is configured to move the robot arm so that the gripper is located at a previously determined location in the unstructured arena, and then to grip an object at this location.
In one embodiment of the invention, the suc¬ cess of the gripping operation is then determined us¬ ing data from sensors. If the grip is not successful, the robot arm is then moved to different location for another attempt. Upon a successful gripping operation the controller unit is configured to then move the ob¬ ject to a predefined verification position, and the type of the object is determined by performing a veri- fication operation. The verification operation receives as its input sensor data and outputs the deter¬ mined type of the object.
In one embodiment of the invention, the sys- tern is further improved by utilizing learning systems, which may run in the apparatus.
In one embodiment of the invention, there is a learning system, which may be referred to as a first learning system or a first learning entity. For each gripping attempt, the sensor data preceding the move¬ ment of the arm and the result of the evaluation of the gripping operation are applied to the first learn¬ ing system. The first learning system is configured to calculate a location in the unstructured arena where a successful gripping operation is likely, thus improv¬ ing the operation of the system as new attempts at gripping objects are made.
In one embodiment of the invention, there is a learning system, which may be referred to as a se- cond learning system or a second learning entity. The sensor data preceding the movement of the arm and po¬ sition and orientation of the robot arm before and af¬ ter the moving of the robot arm are also applied to the second learning system, which is configured to calculate an efficient way to move the robot arm to the determined target location, thus speeding up the operation of the robot system as new movements of the robot arm are made.
In one embodiment of the invention, the com- puter program is stored on a computer readable medium. The computer readable medium may be a removable memory card, a removable memory module, a magnetic disk, an optical disk, a holographic memory or a magnetic tape. A removable memory module may be, for example, a USB memory stick, a PCMCIA card or a smart memory card.
The embodiments of the invention described hereinbefore may be used in any combination with each other. Several of the embodiments may be combined to¬ gether to form a further embodiment of the invention. A method, a system, an apparatus, a computer program or a computer program product to which the invention is related may comprise at least one of the embodi¬ ments of the invention described hereinbefore.
The benefits of the invention are related to improved quality in the selection of objects from an operating space of a robot.
BRIEF DESCRIPTION OF THE DRAWINGS:
The accompanying drawings, which are included to provide a further understanding of the invention and constitute a part of this specification, illus- trate embodiments of the invention and together with the description help to explain the principles of the invention. In the drawings:
Fig. 1 is a block diagram illustrating a robot system for the selection of physical objects in one embodiment of the invention;
Fig. 2 is flow chart illustrating for the selection of physical objects in a robot system; and
Fig. 3 is a block diagram illustrating a computer comprising two learning systems in one embodi- ment of the invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS:
Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
Figure 1 is a block diagram illustrating a robot system for the selection of physical objects in one embodiment of the invention. In Figure 1 a data processing apparatus 100, in short an apparatus, com- prises a central processing unit (CP) 110 and memory 150. Some embodiments of the invention employ multiple processors CP1 through CPn, plus a load distribution unit for distributing load among the multiple proces¬ sors. The one or more processors control the robot arm by executing programs 152 stored in one or more memo- ries 150. During execution, the programs 152 set up and update various parameters and variables 154 in the memory 150. Some parameters may be represented, for example, as tables, arrays, lists, sparse or dense ma¬ trixes or other data structures.
In addition, the data processing apparatus
100 comprises or utilizes external input-output cir¬ cuitry 120 which constitutes a user interface of the data processing apparatus. The input-output circuitry 120 comprises an input circuitry 122 and an output circuitry 124. A keyboard interface and a display in¬ terface are illustrative but non-restrictive examples of such input circuitry 122 and an output circuitry 124.
In order to communicate with external devic- es, the data processing apparatus 100 typically com¬ prises or utilizes external reception/transmission circuitry 130 which comprises a transmission circuitry ("TXn") 132, reception circuitry ("RXn") 134 and an internal or external antenna 136. The suffix "n" in connection with the TXn and RXn indicates that the da¬ ta processing apparatus may utilize several different interfacing technologies for communicating with the physical world, which in the present example includes the robot arm and, optionally, a separate verification environment.
Wireless local-area networks (WLAN) and short-range wireless interfaces, such as infrared, ra¬ dio or Bluetooth, are illustrative but non-restrictive examples of such wireless reception/transmission cir- cuitry. Instead of such wireless communication technologies or in addition to them, the data processing apparatus may utilize wired connections 138, such as a USB (Universal Serial Bus) , any parallel or serial in¬ terface, or other types of industry-standard interfac¬ es or proprietary interfaces. At the preceding level of generalization, all elements 110 through 138 can be conventional as used in the relevant art.
In addition to the conventional sections, the memory 150 of the data processing apparatus 100 con¬ tains a collection of programs 152 for implementing the inventive user entry method. The programs 152 uti- lize various data structures, variables and parame¬ ters, collectively denoted by reference numeral 154.
Reference numeral 160 generally denotes a ro¬ bot system from which at least some portions are con¬ trolled by the data processing apparatus 100. The ro- bot system 160 comprises at least one robot, denoted by reference numeral 170, but it can comprise addi¬ tional robots, one or more conveyors, such as conveyor belts, stationary sensors, illumination devices, ana¬ lyzers, or the like. In the present example, the ro- bot 170 is shown in a schematic illustration which resembles an arm with rotating members, but other types of implementations are equally possible. As shown in Figure 1, the robot arm 170 comprises a gripper 171 which is somewhat analogous to a hand or claw. The ro- bot arm 170 is capable of moving the gripper 171 within an operating area 172. Various movements of the ro¬ bot arm 170 and gripper 171 are effected by actuators, collectively denoted by reference numeral 173. By way of example, the actuators can be electric, pneumatic or hydraulic, or any combination of these. The actua¬ tors may move or rotate various elements of the robot arm 170, as indicated by the straight and curved dou¬ ble-headed arrows in Figure 1.
The operating area 172 of the robot includes a portion called unstructured arena 180. The unstruc¬ tured arena 180 comprises various objects, collective¬ ly denoted by reference numeral 181. In an illustra- tive but non-restrictive example, the unstructured arena 180 is a conveyor belt, or the portion of the conveyor belt that intersects the robot's operating area 172. The data processing apparatus has little or no a priori information on the objects 181 within the unstructured arena 180, such as the size, shape and/or color of the objects of interest. In some embodiments of the invention, the data processing apparatus 100 may have some a priori information on the objects of interest, or it may have gained information on the ob¬ jects by learning, but at least the background (other objects), the position and orientation of the objects of interest are typically unknown a priori. That is, the objects 181 may be in random positions and orien- tations in the unstructured arena 180, and the objects 181 may overlap each other. Therefore, it is benefi¬ cial to dedicate a portion of the robot's operating area 172 to a structured arena 182, in which the grip- per 171 can be observed the gripper 171 and any ob- jects gripped by it under relatively constant condi¬ tions and against a known background. As used herein, the term relatively constant conditions and background mean that any changes in the structured arena 182 oc¬ cur so slowly that they can be compensated for by mak- ing and storing periodic observations of it.
In one embodiment of the invention, struc¬ tured arena 182 may also be inspected using at least one second sensor among sensors 176 or using at least one second separate sensor device 176d, which is ap- plicable particularly in structured arena 182. Struc¬ tured arena may simply be a specific position of robot arm 170 and/or gripper 171, which enables the at least one second sensor to be used without disturbing ele¬ ments of unstructured arena 181. Separate verification may involve inspecting or analyzing the contents of the gripper with additional equipment, that is, the at least one second sensor 176d. An illustrative but non- exhaustive list of such additional equipment includes 1) an additional imaging device which observes the gripper contents from a different direction and/or at different wavelengths and/or at higher resolution than the collocated camera does; 2) an additional illumina¬ tion device which illuminates or irradiates the con¬ tents of the gripper at different wavelengths and/or energy levels from those present in the unstructured arena; 3) a gas analyzer; and 4) a laser scanner.
A set of electrical drivers 174 converts data processing signals, in other words, instructions from the data processing apparatus 100 to appropriate volt¬ age and power levels for controlling the actuators. In response to control signals 175 from the data pro- cessing apparatus 100, the actuators perform various mechanical functions including but not necessarily limited to: positioning the gripper 171 over a specific location within the operating area 172, lowering or raising the gripper, and closing and opening of the gripper. In some embodiments the actuators comprise an actuator for tilting the gripper 171 and the collocated camera 176c such that the camera monitors the grip¬ per against a known background. Thus in such embodi¬ ments a structured arena 182 can be implemented by tilting the gripper 171 and camera 176c, and no move¬ ment to a different position is needed.
The data processing apparatus 100 may utilize wireless connections via interface 136 and/or wired connections via interface 138 in order to communicate with the robot system 160.
The robot system 160 in general and the robot 170 in particular comprise various sensors, collec¬ tively denoted by reference numeral 176. By way of ex¬ ample, the sensors 176 comprise various position sen- sors 176a which indicate the position of the robot arm 170 and gripper 171, as well as the open/close status of the gripper 171. The open/close status of the grip- per is not restricted to a simple yes/no bit. In one embodiment of the invention, the gripper 171 may indi¬ cate a multi-bit open/close status in respect of each of its fingers, whereby an indication of the size and/or shape of the object (s) in the gripper may be obtained .
In addition to the position sensors, the set of sensors may comprise strain sensors 176b, also known as strain gauges or force feedback sensors, which indicate strain experienced by various elements of the robot arm 170 and gripper 171. In an illustra¬ tive but non-restrictive implementation example, the strain sensors comprise variable resistances whose re¬ sistance varies depending on the tension of compres- sion applied to them. Because the changes in re¬ sistance are small compared to the absolute value of the resistance, the variable resistances are typically measured in a Wheatstone bridge configuration.
In one embodiment of the invention, the strain sensors 176b act as force feedback sensors which indicate a possible failure of a gripping opera¬ tion. Failure may be indicated by a force exerted on an outer side of gripper 171, which reveals that the gripper may not be opened to a fully open position on the indicated target location of the arm, or a force in any side that exceeds a preset threshold.
Furthermore the set of sensors may comprise at least one image sensor or camera 176c collocated with the robot arm. In the present context, a collo- cated camera 176c means that the camera 176c constant¬ ly monitors an area under the gripper 171.
Position data signals from the various sen¬ sors 176 are converted to appropriate levels and for¬ mats by drivers, collectively denoted by reference nu- meral 177. The converted data signals are transmitted to the data processing apparatus 100 as input signals 178. The software or set of programs 152 within the memory 150 of the data processing system 100 comprise various programs. As used herein, a "program" means a set of computer program instructions whose ex- ecution by one or more processors CP1 ... CPn has the effect that the data processing system 100 instructs the robot system 160 to perform a well-defined high- level operation. An example of a high-level operation is moving the robot arm to a specified position. The corresponding program may utilize various software drivers, routines or dynamic link libraries to convert the high-level operation to a series of low-level op¬ erations, such as outputting an appropriate sequence of output signals 175 via the electrical drivers 174 to the actuators 173 of the robot system 160. Alterna¬ tively or additionally, some or all of the programs 152 may receive sensor data 178 from the robot system 160 and perform one or more analyzes on the sensor da¬ ta .
At a minimum, the set of programs 152 com¬ prise programs for arm movement, denoted by reference sign AM, which instructs the robot arm 170 to move to a specified position and, optionally, to tilt the gripper 171 such that its contents can be observed against a known background. The set of programs 152 also comprise a gripping sequence control program GSC and gripping sequence evaluation program GSE . Execution of the gripping sequence control program GSC causes the data processing apparatus 100 to instruct the robot arm 170 and gripper 171 to attempt a grip¬ ping operation, which includes approaching, by the gripper 171, a position that includes a candidate ob¬ ject to be gripped, and closing the gripper 171. A partial object of the invention is to provide a meth- od, data processing system and program product capable of determining whether or not the attempted gripping operation was successful. This determination is per- formed by the gripping sequence evaluation program GSE.
In one particular implementation, the gripping sequence evaluation program GSE utilizes the po- sition sensors 176a and/or the strain sensors 176b of the gripper 171 to determine whether or not the gripper 171 actually gripped something. In other words, the determination may be based on sensing whether or not the gripper becomes fully closed when instructed to do so, or whether the gripper holds something which prevents the gripper from becoming fully closed. The gripping sequence control program GSC may utilize the strain sensors 176b to set an upper limit on the ap¬ plied gripping force, so as not to damage the gripped object and/or the gripper itself.
In another implementation, the gripping sequence evaluation program GSE may alternatively or ad¬ ditionally utilize the collocated camera 176c to moni¬ tor if the camera' s field of vision includes something that moves along with the gripper and, consequently, remains essentially constant even if the movement of the gripper changes the background of the view of the camera 176c. For instance, the arm movement program AM may move and/or tilt the gripper 171, the contents of the gripper and the collocated camera 176c to the structured arena 182. The collocated camera may form an image of the gripper and its contents. This current image of the gripper and its contents is then compared with a known, previously-stored image of the gripper. In the comparison, any differences between the current and pre-stored images may be caused by the contents of the gripper, dirt in the gripper or changes in background or illumination. In order to ensure that any differences between the current and pre-stored images reflect actual contents of the gripper, it may be ben¬ eficial to periodically update the pre-stored image of the gripper when it is known to be empty, whereby any dirt or changes in background or illumination can be compensated for.
Instead of mechanically sensing whether the gripper becomes fully closed or visually inspecting it, or in addition to such techniques, the robot arm may comprise a strain gauge configured to weigh the gripper 171 and its contents. By subtracting a known net weight of the gripper from its current weight, the weight of the gripper contents can be obtained. This information, either on its own or in combination of the other two pieces of information can contribute to the determination as to whether the gripping operation was successful. All such techniques can be summarized by saying that the success of the gripping operation can be determined by comparing current status infor¬ mation from the gripper with known status information from the gripper. The term "known status information" means that the gripper was known to be empty or its contents were known when the known status information was obtained.
In one embodiment of the invention, programs AM, OR, GSC, GSE, VO, LI and L2 may be implemented as separate software entities such as, for example, sub¬ routines, processes, threads, modules and program code sequences.
Figure 2 is flow chart illustrating a method for the selection of physical objects in a robot sys¬ tem. The robot system comprises a control apparatus.
At step 200 first sensor data is received from at least one first sensor to the apparatus.
At step 202 a target position is determined from the first sensor data by the apparatus.
At step 204 the apparatus starts to issue at least one first instruction to a robot arm in order to move a gripper within the robot arm to the target po¬ sition. The at least one first instruction may be is- sued in parallel with the step 206 where the apparatus receives force feedback sensor data.
At step 206 the apparatus receives force feedback sensor data from at least one force feedback sensor associated with at least one of the robot arm and the gripper in order to determine a failure in carrying out the at least one instruction.
At step 208 the apparatus receives second sensor data from the at least one first sensor.
At step 210 the apparatus determines a suc¬ cessful gripping of an object from the second sensor data .
At step 212 the apparatus receives verifica¬ tion sensor data from at least one second sensor, in response to the determining of the successful grip¬ ping .
At step 214 the apparatus issues at least one second instruction to the robot arm in order to move the arm to a predetermined position to release the grip of the gripper. Thereupon, the method is finished .
In one embodiment of the invention, a data processing apparatus such as data processing apparatus 100 illustrated in Figure 1, receives input data from the sensors at least one sensor, for example, a collo¬ cated camera. The data processing apparatus extracts a subset of sensor data for object recognition by an ob¬ ject recognition program. The object recognition program is used for extracting from the sensor data fea- tures corresponding to objects of interest, said fea¬ tures then forming a data set that is used as the in¬ put of a learning system. The present invention allows for virtually any kind of object recognition system to be used, and such system can therefore be well matched to the conditions of the unstructured arena and the specific application of the invention. To help better understand the invention, an example of an object recognition system configured for recognizing red objects by utilizing the collocated camera is now de¬ scribed .
In one embodiment of the invention, input da- ta received from the collocated camera is a digital image which consists of a 2-dimensional array of pix¬ els, each pixel having a numerical value for the red, green and blue color component, hereinafter designated as the R-, G- and B-values, respectively. For the pur- poses of this example, we now assume that the image produced by the camera includes exactly one object of interest .
The number of pixels in data corresponds to the resolution of the camera. To decrease the amount of computations the image data received from the cam¬ era is down-sampled to a resolution determined suita¬ ble for analysis. The suitable down-sampling resolu¬ tion can be determined empirically.
The resulting down-sampled image is then nor- malized to account for changes in lightning condi¬ tions. The normalization may be done separately for each pixel in the down-sampled image. After the nor¬ malization, a set of features is calculated from the image, such as the location and orientation of the ob- ject of interest, and these features are used as the input for the first learning system. For brevity, only the calculation of the location (x,y) of the object of interest, where x and y are coordinate values in the coordinate system of the image, is now considered as an example of such feature, although the invention is not restricted to only this feature and benefit can be gained from having several different features availa¬ ble to be used as the input for the learning system LI .
In one embodiment of the invention, the cal¬ culation of the location (x, y) of the object of inter¬ est proceeds in the following manner. First the pixels which correspond to the object of interest in the down-sampled normalized image are determined. Many suitable algorithms for this task are known from lit¬ erature. In this example, the pixels corresponding to the object are recognized based on the color values, that is, the object is presumed to be red, meaning that red pixels in the image correspond to an object of interest in the image. Once the pixels correspond¬ ing to the object of interest have thus been deter- mined, the location (x,y) of the object can be deter¬ mined by calculating a centroid of the area where the determined pixels are located. Good and free implemen¬ tations of many suitable algorithms are available, and it is easily achieved for example by using the cvFind- Contours () function in the OpenCV Library to determine the set of points (xi, yi) which form a curve enclos¬ ing the pixels, and then calculating the mean value of the curve point coordinates, which corresponds to the coordinates of the centroid of the object in the im- age.
In one embodiment of the invention, when the object recognition program has determined the data set, in this example the location (x, y) of the object of interest, an arm movement program of the data pro- cessing apparatus instructs the robot arm to move to a location in world coordinates corresponding to the lo¬ cation (x,y) in image coordinates of the recognized object. To facilitate this arm movement program per¬ forms a conversion from the image coordinate system to the world coordinate system, a known method for which is to multiply the coordinate vector (x,y) with a 2x2 conversion matrix M, M having been chosen so that it performs this conversion with an acceptable accuracy and such choice depending on the camera setup. When the robot arm has been moved to the determined loca¬ tion, a gripping sequence control program performs a gripping attempt, which includes instructing the robot arm to lower a gripper to the recognized object and to close the gripper.
In one embodiment of the invention, during the gripping attempt, sensor data from the robot arm, particularly, from the gripper is received by the data processing apparatus. In one embodiment of the inven¬ tion, the sensor data may indicate that the gripper has collided with an object. More particularly, the sensor data may indicate that the robot arm or gripper fails to move in response to an instruction to move, or that the instruction to move causes an abnormal level of strain in some elements of the robot system, as measured by the strain gauges. In such cases the gripping attempt is aborted. An aborted gripping at- tempt will be considered a failure in a subsequent evaluation step.
In one embodiment of the invention, after the gripping attempt has been performed, the gripping se¬ quence evaluation program extracts sensor data, par- ticularly sensor data that reflects the contents of the gripper. The success of the gripping attempt is determined from this extracted data. As stated in con¬ nection with Figure 1, the success of the gripping at¬ tempt can be determined on the basis of any of the following: 1) an indication that the gripper has closed around an object of a minimum size; 2) a com¬ parison of a current image of the gripper plus con¬ tents with a pre-stored image of the gripper with known contents; and 3) the difference between the weight of the gripper plus current contents and the weight of the gripper plus known contents.
In one embodiment of the invention, if the collision detection or any combination of the analysis of the gripper contents indicates that the gripping attempt resulted in a failure, another gripping at¬ tempt is performed involving the moving of the robot arm. In one embodiment of the invention, following a determination of a successful gripping attempt the data processing apparatus instructs the robot arm to perform a set of predetermined operations on the gripped object. Such operations can be chosen to de¬ pend on the type of the object, for example if the system is used for sorting different kinds of objects in different bins. Since the location of the object was determined based on the sensor data, the type of the object is known or regarded as known at this point, and the known type can be used for choosing the set of operations to be performed on the object. For instance, in a trash-sorting application, the various object types can correspond to recycling channels: re- usable bottles, recyclable plastics, metals, burnable matter, compostable matter, hazardous waste, and so on .
However, at this phase, the type of the ob¬ ject may be determined erroneously. Some more ambi- tious embodiments of the inventive method comprise a separate verification for additional verification of the type of the object or objects in the gripper. If the gripping attempt was deemed successful, a verifi¬ cation operation program calls the arm movement pro- gram such that the robot arm, and particularly the gripper, is instructed to move to a predetermined ver¬ ifying position. A separate verification is performed in this verifying position. In some implementations the separate verification involves inspecting the con- tents of the gripper in the structured arena. In other implementations the separate verification may involve inspecting or analyzing the contents of the gripper with additional equipment. An illustrative but non- exhaustive list of such additional equipment includes 1) an additional imaging device which observes the gripper contents from a different direction and/or at different wavelengths and/or at higher resolution than the collocated camera does; 2) an additional illumina¬ tion device which illuminates or irradiates the con¬ tents of the gripper at different wavelengths and/or energy levels from those present in the unstructured arena; 3) a gas analyzer.
A benefit of the separate verification is that the type of the object is known with an improved confidence level, which increases the likelihood of selecting an appropriate operation on the gripped ob- ject.
In one embodiment of the invention, the exem¬ plary embodiment described above is further improved by the present invention by utilizing at least one ma¬ chine learning system at different steps of the opera- tion.
In one embodiment of the invention, the oper¬ ation of the system posits two learning problems, which relate to calculating various parameters from sensor data. This could be achieved using a set of predetermined calculations, but such system would be inflexible and specific to a set of operating condi¬ tions and hence likely not optimal for operation in an unstructured arena, the conditions of which can not by definition be known at the time the predetermined cal- culations would be defined.
In one embodiment of the invention, a first learning problem relates to determining from a data set received form the system a set of parameters for a gripping operation to be attempted.
In one embodiment of the invention, a second learning problem relates to determining the parameters for moving the robot arm to grip an object of interest.
The embodiments of the invention described hereinbefore regarding Figure 2 may be used in any combination with each other. Several of the embodiments may be combined together to form a further em- bodiment of the invention. A method, a system, an ap¬ paratus, a computer program or a computer program product to which the invention is related may comprise at least one of the embodiments of the invention de- scribed hereinbefore.
Figure 3 is a block diagram illustrating a computer comprising two learning systems in one embodiment of the invention. In Figure 3 there is show a computer 300, which comprises a random access memory, at least one processor and a secondary memory (not shown) . The internal functions within computer 300 are illustrated with box 302. Computer 300 executes a first learning entity 314, a second learning entity 312, a verifier entity 310, an arm movement control entity 320, a gripping sequence control entity 318 and an object recognizer 322. First learning entity 314 and second learning entity 312 both are examples of a learning system. It should be understood that although the system in Figure 3 is illustrated as comprising of separate parts labelled 310, 312, 314, 316, 318, 320 and 322, this division into these parts serves as an explanation of the present invention and the number of parts can be different depending on the method of im¬ plementation. The different parts can be implemented as the parts of a computer program executed on a sin¬ gle computer system. In this description the controlling unit is taken to include the parts in Figure 3. In one embodiment of the invention, computer 300 corresponding to data processing apparatus 100 illustrat- ed in Figure 1.
First learning entity 314 takes as input fea¬ tures extracted from the sensor data obtained from a plurality of sensors such as a sensor 304 and a sensor 306. The features are extracted by an object recogniz- er entity 322 from sensor data illustrated with arrow 342. First learning entity 314 calculates a set of pa¬ rameters 332 for arm movement control entity 320, us- ing features illustrated with arrow 330 to be used for performing a gripping operation, the goal being that that the likelihood of a successful gripping operation using these parameters is relatively high. Such param- eters can include, for example, the location of the target object or the orientation the gripper before a gripping operation is attempted. An example of using first learning entity 314 for calculating the likely location of the object of interest in an unstructured arena is now given as an example of the operation of first learning entity 314. For brevity, the example only presents the calculation of the likely location (x,y) and the invention is not restricted to this.
The coordinates (x,y) received by first learning entity 314 from object recognizer entity 322 correspond to the location of a recognised object in the coordinate system of a camera. The camera is pref¬ erably fixed to the robot arm, so the camera image at any moment corresponds to the location and orientation of the robot arm. In order to grip the object, the ro¬ bot arm needs to be moved to a location and orienta¬ tion where the gripper is in a good position to grip the object, said position likely depending on the properties of the object, the gripper and other ob- jects in the arena where the robot arm operates and other possible factors. First learning entity 314 is used to calculate, based on previous gripping at¬ tempts, a location in the image coordinate system from where a successful gripping operation is most likely.
First learning entity 314 takes as input data items 338 which comprise the parameters of previous attempts from a success evaluator entity 316, which determines success of gripping sequence information 340 obtained from gripping sequence control entity 318. In this example the data items 338 consist of co¬ ordinates (x,y) corresponding to a gripping attempt with the centroid of the recognised object at (x,y), and the corresponding evaluation of the gripping attempt at (x,y) regarding whether it was successful or failure. These data items are then used to calculate the output 332 of first learning entity 314. Output 332 from first learning entity 314 to arm movement control entity 320 is preferably not a single point but instead a distribution of points. Many regression or classification algorithms suitable for calculating the distribution are known from literature, for exam- pie, the maximum likelihood method or support vector machines can be used to achieve this. In this example, the output 332 could be, for example, a bivariate nor¬ mal distribution parameterised by the centre ( xo / Yo ) and standard deviations ox and ox for both coordinates x and y, which are calculated using the well known maximum likelihood method.
Using the described learning system in learning entity 314 provides several benefits compared to simply using an object recognition system to determine the location of an object. As the output is not merely one point but a distribution, it is possible during the operation to either use the optimal point, which in this example would be the centre ( xo / Yo ) of the dis¬ tribution, or to select different points from the dis- tribution according to their likelihood. This allows the system to continuously learn by having data of new gripping attempts applied to the learning system and thus adapt to the conditions of the unstructured are¬ na. Even if insufficient data of the operating envi- ronment was gathered before installing the system, the system can learn while in operation and new data can improve the results further. Another benefit is that if the conditions change, e.g. a collision deforms the gripper or moves the camera mount, and as a result the optimal gripping position relative to the object's po¬ sition in the camera image changes, the system learns to compensate for these changes. The arm movement control entity 320 then moves the robot arm to the determined gripping loca¬ tion. To move the robot arm towards an object, the difference of the object's location as determined by object recognizer entity 322 and the location of most likely successful gripping position determined by first learning entity 314 is calculated. This differ¬ ence is then converted into a difference in physical world coordinates used to control the robot arm. The conversion cannot be assumed to be perfect, and thus the algorithm must compensate for it in real time dur¬ ing the approach. At each step, the location of the object in the image is computed as described above and compared to the most likely successful gripping posi- tion. The difference between the two, which is a vec¬ tor of coordinates in the camera coordinate system, is converted into world coordinates by multiplying the coordinate vector by a conversion matrix M, and the robot arm is moved accordingly. In addition, a slight low-pass filter is preferably applied in the conver¬ sion phase to make the movement smoother. The effect of this algorithm is that even for a conversion matrix M which corresponds to only a roughly correct trans¬ formation between the coordinate systems, each step moves the robot arm closer to the intended position. The direction may not be exactly towards the object, and thus at the next step when a new location of the object is available, extracted by object recognizer entity 322 from the camera image corresponding to a new gripper position, the direction of the movement is changed. This results in a spiral shape for the ap¬ proach path, which will eventually converge so that the object's location as seen by the camera coincides with the most likely gripping position.
Second learning entity 312 is used to deter¬ mine a more efficient way of moving the robot arm to a determined gripping location. Second learning entity 312 receives information on position of the robot arm and/or the gripper from the robot arm 308, as illus¬ trated with arrow 344. Second learning entity 312 also takes as its input data on past gripping sequences. To illustrate the operation of the second learning sys¬ tem, a simple example with only the coordinates (x,y) is now given, which corresponds to the previous exam¬ ple. In this example, the data applied to the second learning system comprises a difference (xc, yc) , in camera coordinates, between the location of the object and the most likely gripping position at the beginning of a gripping sequence, and the difference (xd, yd) be¬ tween the world coordinates of the robot arm at the beginning of the gripping sequence and after the grip- ping sequence has been terminated.
As its output 334 to gripping sequence con¬ trol entity 318, second learning entity 312 calculates a conversion matrix ML such that when ML is multiplied by a vector (xc, yc, 1), a good approximation of the corresponding difference (Xd,y<i) is obtained. ML can be calculated from the past gripping attempt data using e.g. a method known in literature as ridge regression, but other suitable methods are equally possible within the scope of the invention. It should also be noted that although the calculation in this example involves only coordinates in two-dimensional space, the de¬ scribed method is equally applicable to more compli¬ cated movements of the robot arm, for example movement including a third dimension in space or rotations of different parts of the robot arm.
Using second learning entity 312 is benefi¬ cial as the output matrix ML can be used to shortcut the movement algorithm of the robot arm by using it as the matrix M to calculate the target for the robot arm movement in one movement, and after that correcting the remaining error with the movement algorithm described before. After the robot arm has been moved, a grip¬ ping operation is performed, and the evaluation step is performed to determine if the gripping was success¬ ful. If the evaluation result indicates that the grip- ping did not succeed, the execution returns to moving the arm to another location. If the result indicates a success, the type of the object is verified by verifi¬ er entity 310, as illustrated with arrow 336.
When at least one processor executes func- tional entities associated with the invention, a memory comprises entities such as success evaluator entity 316, learning system entity 314, learning system entity 312, verifier entity 310, arm movement con¬ trol entity 320 and gripping sequence control 318. The functional entities within computer 300 illustrated in Figure 3 may be implemented in a variety of ways . They may be implemented as processes executed under the na¬ tive operating system of the network node. The enti¬ ties may be implemented as separate processes or threads or so that a number of different entities are implemented by means of one process or thread. A pro¬ cess or a thread may be the instance of a program block comprising a number of routines, that is, for example, procedures and functions. The functional en- tities may be implemented as separate computer pro¬ grams or as a single computer program comprising several routines or functions implementing the entities. The program blocks are stored on at least one computer readable medium such as, for example, a memory cir- cuit, memory card, magnetic or optic disk. Some func¬ tional entities may be implemented as program modules linked to another functional entity. The functional entities in Figure 3 may also be stored in separate memories and executed by separate processors, which communicate, for example, via a message bus or an in¬ ternal network within the network node. An example of such a message bus is the Peripheral Component Inter¬ connect (PCI) bus.
The exemplary embodiments of the invention can be included within any suitable device, for exam- pie, including any suitable servers, workstations, PCs, laptop computers, PDAs, Internet appliances, handheld devices, cellular telephones, wireless devic¬ es, other devices, and the like, capable of performing the processes of the exemplary embodiments, and which can communicate via one or more interface mechanisms, including, for example, Internet access, telecommunications in any suitable form (for instance, voice, mo¬ dem, and the like) , wireless communications media, one or more wireless communications networks, cellular communications networks, 3G communications networks, 4G communications networks, Public Switched Telephone Network (PSTNs) , Packet Data Networks (PDNs) , the In¬ ternet, intranets, a combination thereof, and the like .
It is to be understood that the exemplary em¬ bodiments are for exemplary purposes, as many varia¬ tions of the specific hardware used to implement the exemplary embodiments are possible, as will be appre¬ ciated by those skilled in the hardware art(s) . For example, the functionality of one or more of the com¬ ponents of the exemplary embodiments can be implement¬ ed via one or more hardware devices.
The exemplary embodiments can store infor¬ mation relating to various processes described herein. This information can be stored in one or more memo¬ ries, such as a hard disk, optical disk, magneto- optical disk, RAM, and the like. One or more data¬ bases can store the information used to implement the exemplary embodiments of the present inventions. The databases can be organized using data structures (e.g., records, tables, arrays, fields, graphs, trees, lists, and the like) included in one or more memories or storage devices listed herein. The processes de¬ scribed with respect to the exemplary embodiments can include appropriate data structures for storing data collected and/or generated by the processes of the de- vices and subsystems of the exemplary embodiments in one or more databases.
All or a portion of the exemplary embodiments can be implemented by the preparation of application- specific integrated circuits or by interconnecting an appropriate network of conventional component cir¬ cuits, as will be appreciated by those skilled in the electrical art(s).
As stated above, the components of the exem¬ plary embodiments can include computer readable medium or memories according to the teachings of the present inventions and for holding data structures, tables, records, and/or other data described herein. Computer readable medium can include any suitable medium that participates in providing instructions to a processor for execution. Such a medium can take many forms, including but not limited to, non-volatile media, vola¬ tile media, transmission media, and the like. Non¬ volatile media can include, for example, optical or magnetic disks, magneto-optical disks, and the like. Volatile media can include dynamic memories, and the like. Transmission media can include coaxial cables, copper wire, fiber optics, and the like. Transmission media also can take the form of acoustic, optical, electromagnetic waves, and the like, such as those generated during radio frequency (RF) communications, infrared (IR) data communications, and the like. Com¬ mon forms of computer-readable media can include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other suitable magnetic medium, a CD-ROM, CDRW, DVD, any other suitable optical medium, punch cards, paper tape, optical mark sheets, any oth¬ er suitable physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other suitable memory chip or cartridge, a carrier wave or any other suitable medium from which a computer can read.
While the present inventions have been de¬ scribed in connection with a number of exemplary embodiments, and implementations, the present inventions are not so limited, but rather cover various modifica¬ tions, and equivalent arrangements, which fall within the purview of prospective claims.
It is obvious to a person skilled in the art that with the advancement of technology, the basic idea of the invention may be implemented in various ways. The invention and its embodiments are thus not limited to the examples described above; instead they may vary within the scope of the claims.

Claims

CLAIMS :
1. A method, comprising:
receiving first sensor data from at least one first sensor;
determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a grip- per in association with a robot arm;
starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position;
receiving force feedback sensor data from at least one of the at least one first sensor and at least one force feedback sensor, associated with at least one of the robot arm and the gripper, to determine a failure in carrying out the at least one instruction;
receiving second sensor data from the at least one first sensor;
determining a successful gripping of an object from the second sensor data;
receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and
issuing at least one second instruction to the ro- bot arm in order to move the arm to a predetermined position to release the grip of the gripper.
2. The method according to claim 1, the method further comprising:
registering the successful gripping and the first sensor data to a first learning entity.
3. The method according to claim 2, the method further comprising:
registering an unsuccessful gripping and the first sensor data to the first learning entity, in response to a determined failure in carrying out at least one of the at least one instruction.
4. The method according to claim 2 or claim 3, the method further comprising:
predicting a likelihood for the successful grip¬ ping from the first sensor data using the information registered in the first learning entity; and
issuing the at least one first instruction to the robot arm in response to the likelihood.
5. The method according to claim 3, the method further comprising:
issuing at least one third instruction to the ro¬ bot arm to move the gripper to a verification position.
6. The method according to claim 5, wherein the verification position corresponds to a verifica- tion environment where the at least one second sensor provide may be applied to the object without interfer¬ ing objects.
7. The method according to claim 6, wherein the verification environment has a constant back- ground.
8. The method according to claim 5, the method further comprising:
determining a type of the object from the verification sensor data from the at least one second sen- sor.
9. The method according to claim 1, wherein the step of starting to issue the at least one first instruction to the robot arm further comprises:
providing first coordinates to the robot arm;
receiving first intermediate sensor data from the at least one first sensor; and
determining an actual position of the gripper in a sensor coordinate system using the first intermediate sensor data.
10. The method according to claim 9, wherein the step of starting to issue the at least one first instruction to the robot arm further comprises: determining an error between the actual position of the gripper and the first coordinates;
providing second coordinates to the robot arm;
receiving second intermediate sensor data from the at least one first sensor;
determining a second actual position of the gripper in a sensor coordinate system using the second intermediate sensor data; and
checking whether the error is smaller than a pre- determined threshold.
11. The method according to claim 9, wherein the step of starting to issue the at least one first instruction to the robot arm further comprises:
registering an association between coordinates of the robot arm and the position of the gripper as de¬ termined in the sensor coordinate system in a second learning entity.
12. The method according to claim 11, wherein the step of starting issue the at least one first in- struction to the robot arm further comprises:
constructing a conversion function between coordinates of the robot arm and coordinates in the sensor coordinates system, using the association registered.
13. The method according to claim 11, wherein the step of determining a target position from the first sensor data further comprises:
determining an initial target position in the sensor coordinate system; and
computing the target position from the initial target position using the conversion function.
14. An apparatus, comprising:
means for receiving first sensor data from at least one first sensor;
means for determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a gripper in association with a robot arm; means for starting to issue at least one first in¬ struction to at least one of the robot arm and the gripper in order to move the gripper to the target po¬ sition;
means for receiving force feedback sensor data from at least one of at least one force feedback sen¬ sor, associated with at least one of the robot arm and the gripper, and the at least one first sensor, to de¬ termine a failure in carrying out the at least one in- struction;
means for receiving second sensor data from the at least one first sensor;
means for determining a successful gripping of an object from the second sensor data;
means for receiving verification sensor data from at least one second sensor, in response to the deter¬ mining of the successful gripping; and
means for issuing at least one second instruction to the robot arm in order to move the arm to a prede- termined position to release the grip of the gripper.
15. A computer program embodied on a computer readable medium, the computer program comprising code for controlling a processor to execute a method comprising :
receiving first sensor data from at least one first sensor;
determining a target position from the first sensor data, said target position comprising at least one of a position in space and an orientation for a grip- per in association with a robot arm;
starting to issue at least one first instruction to at least one of the robot arm and the gripper in order to move the gripper to the target position;
receiving force feedback sensor data from at least one of at least one force feedback sensor, associated with at least one of the robot arm and the gripper, and the at least one first sensor, to determine a failure in carrying out the at least one instruction; receiving second sensor data from the at least one first sensor;
determining a successful gripping of an object from the second sensor data;
receiving verification sensor data from at least one second sensor, in response to the determining of the successful gripping; and
issuing at least one second instruction to the ro¬ bot arm in order to move the arm to a predetermined position to release the grip of the gripper.
16. The computer program according to claim
15, wherein said computer program is stored on a computer readable medium.
17. The computer program according to claim
16, wherein said computer readable medium is a remova¬ ble memory card, a holographic memory, a magnetic disk or an optical disk.
PCT/FI2011/050414 2010-06-24 2011-05-05 Method for the selection of physical objects in a robot system WO2011161304A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2013515935A JP5806301B2 (en) 2010-06-24 2011-05-05 Method for physical object selection in robotic systems
EP11797656.3A EP2585256B1 (en) 2010-06-24 2011-05-05 Method for the selection of physical objects in a robot system
US13/806,426 US9050719B2 (en) 2010-06-24 2011-05-05 Method for the selection of physical objects in a robot system
CN201180031364.0A CN103068535B (en) 2010-06-24 2011-05-05 The method of physical object is selected in robot system
RU2013102960/02A RU2566226C2 (en) 2010-06-24 2011-05-05 Selection of physical objects in robotics system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20105732 2010-06-24
FI20105732A FI20105732A0 (en) 2010-06-24 2010-06-24 Procedure for selecting physical objects in a robotic system

Publications (1)

Publication Number Publication Date
WO2011161304A1 true WO2011161304A1 (en) 2011-12-29

Family

ID=42308184

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI2011/050414 WO2011161304A1 (en) 2010-06-24 2011-05-05 Method for the selection of physical objects in a robot system

Country Status (7)

Country Link
US (1) US9050719B2 (en)
EP (1) EP2585256B1 (en)
JP (1) JP5806301B2 (en)
CN (1) CN103068535B (en)
FI (1) FI20105732A0 (en)
RU (1) RU2566226C2 (en)
WO (1) WO2011161304A1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103513981A (en) * 2012-06-18 2014-01-15 波音公司 System and method for guiding mobile device
WO2018158601A1 (en) * 2017-03-01 2018-09-07 Omron Corporation Monitoring devices, monitored control systems and methods for programming such devices and systems
CN110248774A (en) * 2017-02-09 2019-09-17 三菱电机株式会社 Position control and position control method
WO2019207203A1 (en) 2018-04-22 2019-10-31 Zenrobotics Oy Waste sorting gantry robot comprising an integrated maintenance hatch
WO2019207201A1 (en) 2018-04-22 2019-10-31 Zenrobotics Oy Waste sorting gantry robot
EP3695941A1 (en) * 2019-02-15 2020-08-19 Siemens Aktiengesellschaft Computerized system and method using different image views to find grasp locations and trajectories for robotic pick up
US10839474B2 (en) 2016-08-04 2020-11-17 Zenrobotics Oy Method and an apparatus for separating at least one object from a plurality of objects
SE2030325A1 (en) * 2020-10-28 2021-12-21 Zenrobotics Oy Waste sorting robot and method for detecting faults
SE2030328A1 (en) * 2020-10-28 2022-04-29 Zenrobotics Oy Waste sorting robot and method for cleaning a waste sorting robot
EP3927505A4 (en) * 2019-02-22 2022-11-30 Dexterity, Inc. Robotic handling of soft products in non-rigid packaging
EP4112238A1 (en) * 2021-06-28 2023-01-04 Bayer Aktiengesellschaft Autonomous manipulation of a flexible primary package in a dimensionally stable secondary package by means of robots
WO2023072835A1 (en) 2021-10-26 2023-05-04 Mp Zenrobotics Oy Waste sorting robot
US11660762B2 (en) 2018-05-11 2023-05-30 Mp Zenrobotics Oy Waste sorting robot
WO2023105018A1 (en) 2021-12-09 2023-06-15 Mp Zenrobotics Oy Waste sorting robot and external cleaning apparatus
US20230286019A1 (en) * 2022-03-14 2023-09-14 Dexterity, Inc. Correlating information to facilitate automated sortation

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5472214B2 (en) * 2011-06-20 2014-04-16 株式会社安川電機 Picking system
JP5787642B2 (en) * 2011-06-28 2015-09-30 キヤノン株式会社 Object holding device, method for controlling object holding device, and program
EP2817712B1 (en) * 2012-02-21 2020-08-05 Amazon Technologies, Inc. System and method for automatic picking of products in a materials handling facility
JP5975685B2 (en) 2012-03-09 2016-08-23 キヤノン株式会社 Information processing apparatus and information processing method
JP6000579B2 (en) 2012-03-09 2016-09-28 キヤノン株式会社 Information processing apparatus and information processing method
JP5977544B2 (en) * 2012-03-09 2016-08-24 キヤノン株式会社 Information processing apparatus and information processing method
KR101800189B1 (en) * 2012-04-30 2017-11-23 삼성전자주식회사 Apparatus and method for controlling power of surgical robot
JP5670397B2 (en) * 2012-08-29 2015-02-18 ファナック株式会社 Apparatus and method for picking up loosely stacked articles by robot
US9333649B1 (en) 2013-03-15 2016-05-10 Industrial Perception, Inc. Object pickup strategies for a robotic device
SG2013069893A (en) * 2013-09-13 2015-04-29 Jcs Echigo Pte Ltd Material handling system and method
JP2015089590A (en) * 2013-11-05 2015-05-11 ファナック株式会社 Method and apparatus for taking out bulked article by using robot
EP3083160A4 (en) * 2013-12-17 2017-08-23 Syddansk Universitet Device for dynamic switching of robot control points
JP2017506169A (en) * 2014-02-20 2017-03-02 マーク オレイニク Method and system for food preparation in a robot cooking kitchen
JP5877859B2 (en) * 2014-03-12 2016-03-08 ファナック株式会社 Robot system for taking out workpieces stacked in bulk and determination method for determining gripping state of workpieces
JP6642968B2 (en) * 2014-03-20 2020-02-12 キヤノン株式会社 Information processing apparatus, information processing method, and program
CN105313127A (en) * 2014-06-02 2016-02-10 精工爱普生株式会社 Robot, control method of robot, and control device of robot
US9327406B1 (en) 2014-08-19 2016-05-03 Google Inc. Object segmentation based on detected object-specific visual cues
US10311400B2 (en) 2014-10-24 2019-06-04 Fellow, Inc. Intelligent service robot and related systems and methods
US10373116B2 (en) * 2014-10-24 2019-08-06 Fellow, Inc. Intelligent inventory management and related systems and methods
US20190325379A1 (en) * 2014-10-24 2019-10-24 Fellow, Inc. Intelligent inventory management using cleaning machines
RU2638531C2 (en) * 2014-12-11 2017-12-14 Общество с ограниченной ответственностью "СМП Роботикс" System of separate collection and garbage transportation
FR3031048B1 (en) * 2014-12-24 2016-12-30 Solystic POSTAL SORTING MACHINE WITH FEED INPUT COMPRISING A ROBOTIC ARM AND A FLAT CONVEYOR
FR3032365B1 (en) * 2015-02-10 2017-02-03 Veolia Environnement-VE SELECTIVE SORTING PROCEDURE
FR3032364B1 (en) * 2015-02-11 2017-01-27 Solystic INSTALLATION FOR THE SEPARATION AND INDIVIDUALIZATION OF HETEROGENEOUS POSTAL OBJECTS WITH A LASER SOURCE VISION SYSTEM
JP6635690B2 (en) * 2015-06-23 2020-01-29 キヤノン株式会社 Information processing apparatus, information processing method and program
JP6522488B2 (en) * 2015-07-31 2019-05-29 ファナック株式会社 Machine learning apparatus, robot system and machine learning method for learning work taking-out operation
DE102016009030B4 (en) * 2015-07-31 2019-05-09 Fanuc Corporation Machine learning device, robot system and machine learning system for learning a workpiece receiving operation
JP6240689B2 (en) 2015-07-31 2017-11-29 ファナック株式会社 Machine learning device, robot control device, robot system, and machine learning method for learning human behavior pattern
JP6586243B2 (en) * 2016-03-03 2019-10-02 グーグル エルエルシー Deep machine learning method and apparatus for robot gripping
EP3742347B1 (en) 2016-03-03 2022-11-02 Google LLC Deep machine learning methods and apparatus for robotic grasping
US9943963B2 (en) * 2016-04-12 2018-04-17 Fetch Robotics, Inc. System and method for determining and promoting safety of a robotic payload
RU2624288C1 (en) * 2016-05-04 2017-07-03 Юрий Алексеевич Пак Method of sorting of waste
US10322506B2 (en) * 2016-05-06 2019-06-18 Kindred Systems Inc. Systems, devices, articles, and methods for using trained robots
US10315860B2 (en) * 2016-05-25 2019-06-11 The Procter And Gamble Company Article handling device
JP6665040B2 (en) * 2016-06-20 2020-03-13 三菱重工業株式会社 Robot control system and robot control method
WO2018013346A1 (en) 2016-07-14 2018-01-18 Siemens Healthcare Diagnostics Inc. Methods, systems, and apparatus for dynamic pick and place selection sequence based on sample rack imaging data
WO2018013903A1 (en) 2016-07-15 2018-01-18 CleanRobotics, Inc. Automatic sorting of waste
JP7145843B2 (en) * 2016-07-18 2022-10-03 ラエル オドナー, Robot manipulator training
CN106166018A (en) * 2016-07-29 2016-11-30 苏州高通机械科技有限公司 A kind of novel toy storage device
CN106078784A (en) * 2016-07-29 2016-11-09 苏州高通机械科技有限公司 A kind of toy storage device and mechanical hand thereof
SG10201608757PA (en) * 2016-10-19 2018-05-30 Component Aerospace Singapore Pte Ltd Method and apparatus for facilitating part verification
US10926875B2 (en) * 2016-12-14 2021-02-23 Sanmina Corporation Devices and methods for facilitating capture of unmanned aerial vehicles
US10661438B2 (en) * 2017-01-16 2020-05-26 Ants Technology (Hk) Limited Robot apparatus, methods and computer products
JP6438512B2 (en) * 2017-03-13 2018-12-12 ファナック株式会社 ROBOT SYSTEM, MEASUREMENT DATA PROCESSING DEVICE, AND MEASUREMENT DATA PROCESSING METHOD FOR TAKE OUT WORK WITH MEASUREMENT DATA CORRECTED BY MACHINE LEARN
JP6983524B2 (en) * 2017-03-24 2021-12-17 キヤノン株式会社 Information processing equipment, information processing methods and programs
DE102017206995A1 (en) * 2017-04-26 2018-10-31 Krones Aktiengesellschaft Handling device and method for handling in at least one row of moving piece goods
CN107265114A (en) * 2017-06-19 2017-10-20 太仓弘杉环保科技有限公司 A kind of method of work of high-efficiency and energy-saving type feeding robot
US11345040B2 (en) * 2017-07-25 2022-05-31 Mbl Limited Systems and methods for operating a robotic system and executing robotic interactions
JP6691077B2 (en) * 2017-08-18 2020-04-28 ファナック株式会社 Control device and machine learning device
WO2019037013A1 (en) * 2017-08-24 2019-02-28 深圳蓝胖子机器人有限公司 Method for stacking goods by means of robot and robot
CA3073516A1 (en) * 2017-09-01 2019-03-07 The Regents Of The University Of California Robotic systems and methods for robustly grasping and targeting objects
WO2019089825A1 (en) * 2017-11-02 2019-05-09 AMP Robotics Corporation Systems and methods for optical material characterization of waste materials using machine learning
JP7052305B2 (en) * 2017-11-13 2022-04-12 トヨタ自動車株式会社 Relief systems and methods, as well as the servers and programs used for them.
US10792809B2 (en) * 2017-12-12 2020-10-06 X Development Llc Robot grip detection using non-contact sensors
JP6687591B2 (en) * 2017-12-26 2020-04-22 ファナック株式会社 Article transport device, robot system, and article transport method
WO2019130429A1 (en) * 2017-12-26 2019-07-04 Kyoto Robotics株式会社 System for registering pickable object grasping information
JP6911798B2 (en) 2018-03-15 2021-07-28 オムロン株式会社 Robot motion control device
JP6810087B2 (en) * 2018-03-29 2021-01-06 ファナック株式会社 Machine learning device, robot control device and robot vision system using machine learning device, and machine learning method
US10967507B2 (en) * 2018-05-02 2021-04-06 X Development Llc Positioning a robot sensor for object classification
US11407111B2 (en) 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
CN108772840A (en) * 2018-07-02 2018-11-09 常州普旺科技有限公司 A kind of adaptive sorting system and method based on computer vision and machine learning
CN109444937B (en) * 2018-08-08 2021-04-02 北京木业邦科技有限公司 Tree modeling and tending method and device, electronic equipment and storage medium
US10369701B1 (en) 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods
DE112019000125B4 (en) 2018-10-30 2021-07-01 Mujin, Inc. SYSTEMS, DEVICES AND METHODS FOR AUTOMATED PACKAGING REGISTRATION
CN113165178A (en) * 2018-11-28 2021-07-23 谷歌有限责任公司 Robotic navigation using high-level policy models and trained low-level policy models
JP6904327B2 (en) * 2018-11-30 2021-07-14 オムロン株式会社 Control device, control method, and control program
RU2719716C1 (en) * 2018-12-14 2020-04-22 Геннадий Никадрович Плахов Multifunctional high-rise waste dump with spiral road-based lifting on frame basis
RU2700246C1 (en) * 2019-03-21 2019-09-20 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Method and system for capturing an object using a robot device
DE102019107851B4 (en) * 2019-03-27 2022-06-23 Franka Emika Gmbh Robot gripper and method for operating a robot gripper
CN109927036A (en) * 2019-04-08 2019-06-25 青岛小优智能科技有限公司 A kind of method and system of 3D vision guidance manipulator crawl
US11312581B2 (en) * 2019-04-16 2022-04-26 Abb Schweiz Ag Object grasp system and method
US10586082B1 (en) 2019-05-29 2020-03-10 Fellow, Inc. Advanced micro-location of RFID tags in spatial environments
US11590659B2 (en) 2019-07-02 2023-02-28 Intelligrated Headquarters, Llc Robotic sortation system
US11505436B2 (en) * 2019-07-19 2022-11-22 GM Global Technology Operations LLC Overhead system for operator-robot task collaboration
JP7368135B2 (en) * 2019-07-31 2023-10-24 ファナック株式会社 Article conveyance system with multiple moving parts
CN110807831B (en) * 2019-09-18 2023-03-28 重庆大学 Sensor coverage area calculation method based on minimum unit collision detection
JP7388870B2 (en) * 2019-10-18 2023-11-29 ファナック株式会社 Robot systems and control equipment
US11584004B2 (en) * 2019-12-17 2023-02-21 X Development Llc Autonomous object learning by robots triggered by remote operators
WO2021133184A1 (en) * 2019-12-23 2021-07-01 Федеральное Государственное Автономное Образовательное Учреждение Высшего Образования "Московский Физико-Технический Институт (Национальный Исследовательский Университет") Method for performing object manipulation
WO2021155037A1 (en) * 2020-01-28 2021-08-05 Embodied Intelligence Inc. Identifying scene correspondences with neural networks
US10814489B1 (en) * 2020-02-28 2020-10-27 Nimble Robotics, Inc. System and method of integrating robot into warehouse management software
DE102020113278A1 (en) * 2020-05-15 2021-11-18 Gerhard Schubert Gesellschaft mit beschränkter Haftung Method for controlling the operation of an industrial robot
CN112124825B (en) * 2020-09-22 2022-10-25 同济大学 Mechanical claw positioning control system of garbage transfer equipment
CN113524147B (en) * 2021-08-02 2022-05-24 北京深度奇点科技有限公司 Industrial robot teaching system and method based on 3D camera
US20230062286A1 (en) * 2021-09-01 2023-03-02 Exocad Gmbh Compensating deviations using a full manufacturing result
WO2023096936A1 (en) * 2021-11-23 2023-06-01 California Institute Of Technology Methods and printed interface for robotic physicochemical sensing
CN114082606B (en) * 2022-01-20 2022-04-15 常州铭赛机器人科技股份有限公司 Dispensing connection equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2229809A (en) * 1989-03-23 1990-10-03 Symbolic Systems Ltd Process for separating waste items for recycling
US5299693A (en) * 1991-04-12 1994-04-05 Ubaldi Richard A Method and apparatus for extracting selected materials
US20020193909A1 (en) * 2001-06-04 2002-12-19 Parker Robert H. Integrated robotic cell
JP2003211096A (en) * 2002-01-18 2003-07-29 Fuji Photo Film Co Ltd Sorting/array apparatus of article
JP2004086799A (en) * 2002-08-29 2004-03-18 Jfe Engineering Kk Method and device for individually recognizing object
EP1522911A2 (en) * 2003-10-07 2005-04-13 Fanuc Ltd Robotic tracking system for parts distribution
US20070187299A1 (en) * 2005-10-24 2007-08-16 Valerio Thomas A Dissimilar materials sorting process, system and apparata

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3896940A (en) * 1974-01-30 1975-07-29 Bendix Corp Part presenter
US4305130A (en) * 1979-05-29 1981-12-08 University Of Rhode Island Apparatus and method to enable a robot with vision to acquire, orient and transport workpieces
JPS6362690A (en) * 1986-09-03 1988-03-18 富士通株式会社 Method of confirming gripping of hand
US4835730A (en) * 1987-02-27 1989-05-30 Adept Technology, Inc. Database driven robot programming system and method
JPH0349886A (en) * 1989-07-14 1991-03-04 Fujitsu Ltd Robot control system
JPH06262563A (en) * 1993-03-17 1994-09-20 Fanuc Ltd Force display for position teaching support of industrial robot
JPH10249767A (en) * 1997-03-13 1998-09-22 Mitsubishi Electric Corp Moving-type body holding device and control method of the same
US6056108A (en) * 1997-11-17 2000-05-02 Adept Technology, Inc. Impulse-based, flexible parts feeder
JP3655083B2 (en) * 1998-02-25 2005-06-02 富士通株式会社 Interface device for positioning the robot
JP2000263481A (en) * 1999-03-12 2000-09-26 Meidensha Corp Bin picking device
JP2001038667A (en) * 1999-08-05 2001-02-13 Toyota Motor Corp Work holding device
JP4139016B2 (en) * 1999-09-30 2008-08-27 アロカ株式会社 Test tube conveyor
JP2001252886A (en) * 2000-03-10 2001-09-18 Hitachi Zosen Corp Object handling system
JP2002267599A (en) * 2001-03-07 2002-09-18 Mitsubishi Heavy Ind Ltd Quality of material identification system for plastic and quality of material identification/assortment system for plastic
JP4137601B2 (en) 2002-11-12 2008-08-20 シャープ株式会社 Robot hand control method, robot hand
JP3751309B2 (en) * 2002-12-12 2006-03-01 松下電器産業株式会社 Robot controller
DE10319253B4 (en) * 2003-04-28 2005-05-19 Tropf, Hermann Three-dimensionally accurate feeding with robots
JP3930490B2 (en) * 2004-04-23 2007-06-13 ファナック株式会社 Article take-out device
CN101516518A (en) * 2005-10-24 2009-08-26 托马斯·A·瓦莱里奥 Dissimilar materials sorting process, system and apparatus
JP4087874B2 (en) * 2006-02-01 2008-05-21 ファナック株式会社 Work picking device
JP4153528B2 (en) * 2006-03-10 2008-09-24 ファナック株式会社 Apparatus, program, recording medium and method for robot simulation
WO2007149183A2 (en) * 2006-05-25 2007-12-27 Braintech Canada, Inc. System and method of robotically engaging an object
JP4199264B2 (en) * 2006-05-29 2008-12-17 ファナック株式会社 Work picking apparatus and method
JP4226623B2 (en) * 2006-09-29 2009-02-18 ファナック株式会社 Work picking device
JP4309439B2 (en) * 2007-03-30 2009-08-05 ファナック株式会社 Object take-out device
JP5010382B2 (en) * 2007-07-27 2012-08-29 株式会社東芝 Manipulator and robot
JP2009269127A (en) * 2008-05-08 2009-11-19 Sony Corp Holding device and method of controlling the same
JP4565023B2 (en) * 2008-07-04 2010-10-20 ファナック株式会社 Article take-out device
US9079308B2 (en) * 2008-08-29 2015-07-14 Abb Research Ltd. Robotic picking of parts from a bin
WO2010024794A1 (en) * 2008-08-29 2010-03-04 Abb Research Ltd. Compliant apparatus for the tool at the end of an arm of an industrial robot
US8862269B2 (en) * 2008-08-29 2014-10-14 Abb Research Ltd. Robotic picking of parts from a bin
EP2221152A1 (en) * 2009-02-19 2010-08-25 ABB Technology AB A robot system and a method for picking and placing components
CN101618444B (en) 2009-07-24 2010-12-29 中冶实久建设有限公司 Construction technology of transverse steel moving machine for moving in place at one time
EP2470333A2 (en) * 2009-08-27 2012-07-04 ABB Research Ltd. Robotic picking of parts from a parts holding bin
JP4938115B2 (en) * 2010-07-27 2012-05-23 ファナック株式会社 Work take-out device and work take-out method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2229809A (en) * 1989-03-23 1990-10-03 Symbolic Systems Ltd Process for separating waste items for recycling
US5299693A (en) * 1991-04-12 1994-04-05 Ubaldi Richard A Method and apparatus for extracting selected materials
US20020193909A1 (en) * 2001-06-04 2002-12-19 Parker Robert H. Integrated robotic cell
JP2003211096A (en) * 2002-01-18 2003-07-29 Fuji Photo Film Co Ltd Sorting/array apparatus of article
JP2004086799A (en) * 2002-08-29 2004-03-18 Jfe Engineering Kk Method and device for individually recognizing object
EP1522911A2 (en) * 2003-10-07 2005-04-13 Fanuc Ltd Robotic tracking system for parts distribution
US20070187299A1 (en) * 2005-10-24 2007-08-16 Valerio Thomas A Dissimilar materials sorting process, system and apparata

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2585256A4 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103513981A (en) * 2012-06-18 2014-01-15 波音公司 System and method for guiding mobile device
US10839474B2 (en) 2016-08-04 2020-11-17 Zenrobotics Oy Method and an apparatus for separating at least one object from a plurality of objects
US11682097B2 (en) 2016-08-04 2023-06-20 Mp Zenrobotics Oy Method and an apparatus for separating at least one object from a plurality of objects
CN110248774A (en) * 2017-02-09 2019-09-17 三菱电机株式会社 Position control and position control method
US11042149B2 (en) 2017-03-01 2021-06-22 Omron Corporation Monitoring devices, monitored control systems and methods for programming such devices and systems
CN110167720B (en) * 2017-03-01 2022-02-25 欧姆龙株式会社 Monitoring device, monitoring system and method for programming the same
CN110167720A (en) * 2017-03-01 2019-08-23 欧姆龙株式会社 Monitoring device, monitoring system and the method for being programmed to it
WO2018158601A1 (en) * 2017-03-01 2018-09-07 Omron Corporation Monitoring devices, monitored control systems and methods for programming such devices and systems
WO2019207201A1 (en) 2018-04-22 2019-10-31 Zenrobotics Oy Waste sorting gantry robot
WO2019207203A1 (en) 2018-04-22 2019-10-31 Zenrobotics Oy Waste sorting gantry robot comprising an integrated maintenance hatch
US11851292B2 (en) 2018-04-22 2023-12-26 Mp Zenrobotics Oy Waste sorting gantry robot
US11660762B2 (en) 2018-05-11 2023-05-30 Mp Zenrobotics Oy Waste sorting robot
EP3695941A1 (en) * 2019-02-15 2020-08-19 Siemens Aktiengesellschaft Computerized system and method using different image views to find grasp locations and trajectories for robotic pick up
US11667034B2 (en) 2019-02-15 2023-06-06 Siemens Aktiengesellschaft Computerized system and method using different image views to find grasp locations and trajectories for robotic pick up
EP3927505A4 (en) * 2019-02-22 2022-11-30 Dexterity, Inc. Robotic handling of soft products in non-rigid packaging
US11806880B2 (en) 2019-02-22 2023-11-07 Dexterity, Inc. Robotic handling of soft products in non-rigid packaging
SE2030328A1 (en) * 2020-10-28 2022-04-29 Zenrobotics Oy Waste sorting robot and method for cleaning a waste sorting robot
SE544457C2 (en) * 2020-10-28 2022-06-07 Zenrobotics Oy Waste sorting robot and method for cleaning a waste sorting robot
WO2022090623A1 (en) * 2020-10-28 2022-05-05 Zenrobotics Oy Waste sorting robot and method for detecting faults
WO2022090626A1 (en) * 2020-10-28 2022-05-05 Zenrobotics Oy Waste sorting robot and method for cleaning a waste sorting robot
SE544104C2 (en) * 2020-10-28 2021-12-21 Zenrobotics Oy Waste sorting robot and method for detecting faults
SE2030325A1 (en) * 2020-10-28 2021-12-21 Zenrobotics Oy Waste sorting robot and method for detecting faults
EP4112238A1 (en) * 2021-06-28 2023-01-04 Bayer Aktiengesellschaft Autonomous manipulation of a flexible primary package in a dimensionally stable secondary package by means of robots
WO2023072835A1 (en) 2021-10-26 2023-05-04 Mp Zenrobotics Oy Waste sorting robot
WO2023105018A1 (en) 2021-12-09 2023-06-15 Mp Zenrobotics Oy Waste sorting robot and external cleaning apparatus
US20230286019A1 (en) * 2022-03-14 2023-09-14 Dexterity, Inc. Correlating information to facilitate automated sortation

Also Published As

Publication number Publication date
US20130151007A1 (en) 2013-06-13
RU2566226C2 (en) 2015-10-20
RU2013102960A (en) 2014-07-27
EP2585256B1 (en) 2015-07-01
EP2585256A1 (en) 2013-05-01
FI20105732A0 (en) 2010-06-24
JP5806301B2 (en) 2015-11-10
US9050719B2 (en) 2015-06-09
EP2585256A4 (en) 2014-04-16
JP2013529554A (en) 2013-07-22
CN103068535B (en) 2016-04-20
CN103068535A (en) 2013-04-24

Similar Documents

Publication Publication Date Title
WO2011161304A1 (en) Method for the selection of physical objects in a robot system
JP6822719B2 (en) Robot system with automatic package scanning and registration mechanism, and how it works
US10569416B1 (en) Robotic system with enhanced scanning mechanism
US20190061151A1 (en) Article stacking apparatus and machine learning apparatus
JP2022009120A (en) Robot type multi gripper assembly and method for gripping and holding object
US20140083058A1 (en) Controlling and monitoring of a storage and order-picking system by means of motion and speech
Farag et al. Real-time robotic grasping and localization using deep learning-based object detection technique
JP2023016800A (en) Robotic system with depth-based processing mechanism, and methods for operating robotic system
US12002007B2 (en) Robotic system with automated package scan and registration mechanism and methods of operating the same
JP2020062707A (en) Information processing device
US20240131712A1 (en) Robotic system
JP7218881B1 (en) ROBOT SYSTEM WITH OBJECT UPDATE MECHANISM AND METHOD FOR OPERATING ROBOT SYSTEM
US20230364787A1 (en) Automated handling systems and methods
US20230069565A1 (en) Systems and Methods for Doubles Detection and Mitigation
WO2023166350A1 (en) Surveillance system and methods for automated warehouses
CN116728399A (en) System and method for a robotic system with object handling
CN116061192A (en) System and method for a robotic system with object handling
Bhatia et al. MRSD Project Course Team D Human Assistive Robotic Picker Entry for the 2016 Amazon Picking Challenge

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180031364.0

Country of ref document: CN

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

Ref document number: 11797656

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2013515935

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011797656

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2013102960

Country of ref document: RU

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13806426

Country of ref document: US