Nova Patents
EP2864084A2

Training and operating industrial robots

Abstract

This record has no abstract on file.

Term

Projected expiry 21 June 2033.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

1 claim: 1 independent, 0 dependent

  1. 1
    Claims of equivalent WO 2013192490 A2 What is claimed is:CLAIMS 1. A robot trainable, via interactions with a human trainer, to manipulate objects, the robot comprising: at least one appendage for manipulating an object;a controller for operating the at least one appendage;a computer memory for storing a library of prototypes, at least one of the prototypes defining a type of task to be performed by the appendage, the task comprising at least one of a movement of the appendage or a manipulation of the object;a perception system for receiving physical input from the human trainer related to the task;a training module for creating an instance of the at least one prototype by specifying at least one attribute thereof based on the physical input;and a task-execution module for executing the instance of the prototype via commands to the controller, thereby causing the appendage to perform the task. 2. The robot of claim 1, wherein the instance defines the task in terms of generic, spatially unspecified motions of the appendage. 3. The robot of claim 2, wherein the instance defines the task in terms of motions of the appendage relative to at least one of the object or an environment thereof. 4. The robot of claim 2, wherein the motions are defined without specifying spatial trajectories. 5. The robot of claim 1, wherein the physical input comprises at least one of mechanical input or visual input. 6. The robot of claim 1, further comprising at least one output device responsive to the training module for providing task-related feedback to the trainer. 7. The robot of claim 6, wherein the feedback comprises at least one of an indication of robot status, a request for further input, or an error alert. 8. The robot of claim 6, wherein the feedback comprises graphics overlaid onto a robot camera view. 9. The robot of claim 1 , wherein the perception system comprises at least one of a pressable button, a knob, a touch-sensitive pad, a touch-sensitive cuff, or a camera. 10. The robot of claim 1, wherein the library of prototypes further comprises prototypes defining at least one of an object class, a type of equipment, or a location. 1 1. The robot of claim 10, wherein the training module creates an instance of the object class based on visual input about a member of the class. 12. The robot of claim 10, wherein the object subject to the manipulation is a member of a class of objects referenced by the instance. 13. The robot of claim 1, wherein the perception system is further configured to receive physical information about the object or an environment thereof. 14. The robot of claim 1, wherein the controller is configured to operate in zero-force gravity - compensated mode in response to a physical input. 15. A method of robot learning based on interactions with a human trainer, the method comprising: receiving physical input from the trainer regarding a task to be performed by the robot;in response to and based at least in part on the input, selecting a prototype associated with the task from a library of stored prototypes, and creating and storing, in a database, an instance of the prototype, the instance specifying at least one of a robot movement or a robot manipulation to be performed on the object. 16. The method of claim 15, further comprising specifying at least one attribute of the instance based on the physical input. 17. The method of claim 15, wherein the instance defines the task in generic, spatially unspecified terms. 18. The method of claim 15, wherein the physical input comprises at least one of mechanical input or visual input. 19. The method of claim 15, wherein receiving physical input comprises sensing physical contact with at least one of the trainer or an object. 20. The method of claim 15, wherein receiving physical input comprises tracking a position of a robot appendage as the appendage is being moved by the trainer. 21. The method of claim 15, wherein receiving the physical input comprises acquiring an image of at least one of the trainer, the object, or an environment. 22. The method of claim 15, further comprising providing feedback to the trainer. 23. The method of claim 22, wherein the feedback comprises at least one of indicating a status of the robot, requesting additional input from the trainer, or alerting the trainer to an error. 24. The method of claim 22, wherein providing feedback comprises overlaying graphics onto a robot camera view. 25. The method of claim 22, wherein the feedback comprises haptic feedback. 26. The method of claim 22, further comprising, in response to and based at least in part on the input, selecting a prototype defining an object class and instantiating the prototype so as to create a representation of the object in memory. 27. A robot for manipulating objects within an environment based on physical perception thereof, comprising: at least one appendage for manipulating an object;a controller for operating the at least one appendage;a perception system for receiving physical information about at least one of the object or the environment from at least one sensor;an instance database comprising a plurality of instances at least some of which specify tasks to be performed by the appendage on the object;and a task-execution module for selecting at least one of the instances based on the received information, and executing the at least one selected instance via commands to the controller 28. The robot of claim 27, wherein at least one of the instances defines the task in generic, spatially unspecified terms. 29. The robot of claim 28, wherein at least one of the instances specifies the task in terms of motions of the appendage relative to at least one of the environment or the object. 30. The robot of claim 28, wherein the motions are defined in generic terms that do not specify spatial trajectories. 31. The robot of claim 27, wherein the instance database further comprises at least one of an instance defining an object class, an instance defining a type of equipment, or an instance defining a location. 32. The robot of claim 31, wherein the at least one task-defining instance references at least one of the instances defining the object class, the type of equipment, or the location. 33. The robot of claim 27, wherein the at least one instance references an object class, and wherein the task execution module is configured to cause the robot appendage, upon detection by the perception system of an object belonging to the object class, to perform the task on the detected object. 34. The robot of claim 27, wherein the perception system includes at least one camera. 35. The robot of claim 34, wherein the perception system includes a computer vision system. 36. The robot of claim 27, wherein the perception system includes at least one of a pressable button, a knob, a touch-sensitive pad, or a touch-sensitive cuff. 37. The robot of claim 27, wherein the task-execution module is configured to specify an attribute of the at least one selected instance based on the physical information. 38. A robot-implemented method of manipulating an object within an environment, the method comprising: receiving sensor input about at least one of the object or the environment;and based on (i) the sensor input and (ii) an instance database comprising a plurality of instances specifying task to be performed by the robot on the object, selecting at least one of the instances and executing the at least one selected instance so as to cause a robot appendage to manipulate the object in accordance therewith. 39. The method of claim 38, wherein the instance database further comprises instances of a plurality of object classes, each object class being associated with at least one of the task instances. 40. The method of claim 39, further comprising identifying, based on the input, the object class to which the object belongs, the executing step being performed in accordance with a task instance associated with the object class. 41. The method of claim 38, wherein receiving sensor input comprises acquiring an image of at least one of the object or the environment. 42. The method of claim 38, wherein receiving sensor input comprises detecting physical contact with an object in the environment. 43. The method of claim 38, further comprising specify an attribute of the at least one selected instance based on the sensor input. 44. The method of claim 38, wherein executing the at least one selected instance comprises instantiating a behavior associated with the instance. 45. The method of claim 44, wherein the behavior comprises a plurality of threads having sets of conditions associated therewith, executing the at least one selected instance comprising monitoring the threads for satisfaction of the conditions. 46. The method of claim 45, wherein satisfaction of the conditions triggers transitions between threads. 47. The method of claim 38, wherein execution of the task comprises running at least one behavior preventing collisions of the robot with itself or an object in the environment. 48. A robot for manipulating objects within an environment based on physical perception thereof, the robot comprising: at least one appendage for manipulating an object;a controller for operating the at least one appendage;a perception system for receiving physical information about the object and the environment from at least one sensor;an instance database comprising a plurality of instances at least some of which specify tasks to be performed by the appendage on the object, each task specifying an object and an action to be performed thereon and being defined in generic, spatially unspecified terms;and a task-execution module, responsive to the perception system, for causing the robot to execute the tasks via commands to the controller. 49. The robot of claim 48, wherein the task-execution module generates, on the fly based on the physical information, a trajectory corresponding to the task in a coordinate system associated with the robot. 50. The robot of claim 48, wherein the task-execution module continuously monitors the object and, based thereon, causes the robot appendage to move toward the object without computing trajectory coordinates. 51. The robot of claim 50, wherein the task-execution module causes movement of the robot appendage toward the object to continue as long as a pre-condition associated with the movement is satisfied, as determined by the task execution module based on the monitored object. 52. The robot of claim 51 , wherein the pre-condition comprises absence of physical contact between the appendage and the object. 53. The robot of claim 48, wherein the perception system includes at least one camera for acquiring images of the object. 54. The robot of claim 53, wherein the perception system further includes a computer vision system. 55. The robot of claim 48, wherein the perception system includes at least one touch-sensitive detector. 56. A robot- im lemented method for manipulating objects within an environment thereof, comprising: receiving sensor input about at least one of the object or the environment;and based on (i) the sensor input and (ii) an instance database comprising a plurality of instances specifying tasks to be performed by the robot on the object in generic, spatially unspecified terms, executing at least one of the task instances so as to cause a robot appendage to manipulate the object in accordance therewith. 57. The method of claim 56, wherein executing the task instance comprises generating, on the fly based on the sensor input, a trajectory corresponding thereto in a coordinate system associated with the robot. 58. The method of claim 56, wherein executing the task instance comprises continuously monitoring the object and, based thereon, causing the robot appendage to move toward the object without computing trajectory coordinates. 59. The method of claim 58, wherein executing the task instance comprises determining whether a pre-condition associated therewith is satisfied and, if so, continuing movement toward the object. 60. The method of claim 59, wherein the pre-condition comprises absence of physical contact between the appendage and the object. 61. The method of claim 56, wherein receiving sensor input comprises acquiring images of the object. 62. The method of claim 56, wherein executing the at least one instance comprises instantiating a behavior associated with the instance. 63. The method of claim 62, wherein the behavior comprises a plurality of processor-executable threads having sets of conditions associated therewith, executing the at least one selected instance comprising monitoring the threads for satisfaction of the conditions. 64. The method of claim 63, wherein satisfaction of the conditions triggers transitions between threads. 65. The method of claim 56, further comprising executing at least one behavior preventing collisions of the robot with itself or an object in the environment.