Computer-implemented method, robot, and non-transitory recording medium
By introducing non-stage recording media and processors into the robot system, and using stock reusable working atoms and processors to execute instructions, the semi-automated completion problem of various work goals in the prior art is solved, and the automated execution and switching of workflows is realized, and operation complexity and equipment loss are reduced.
Patent Information
- Application Number
- JP2025009800
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-30
- Filing Date
- 2025-01-23
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2042-02-17
AI Technical Summary
The existing technology is difficult to achieve the semi-automated completion of various work goals, resulting in problems such as complex operation and large losses in actual applications of robots.
By introducing non-stage recording media and processors into the robot system, the automated execution and switching of workflows can be achieved using stock reusable working atoms and processors to execute instructions.
It realizes flexible switching and automatic execution of robots between multiple work goals, reducing operational complexity and equipment loss.
Smart Images

Figure 2025063286000001_ABST
Abstract
Description
[Technical field]
[0001] The present systems, devices, and methods relate generally to multipurpose robots, and more particularly to: The present invention relates to a robot that can complete multiple different work objectives at least semi-autonomously. . [Background technology]
[0002] A robot is a machine that is deployed to perform work. The robot form is humanoid. There are various types of robots, including manoid robots. Humanoid robots are controlled by a remote control system. The robot emulates the physical movements of a human operator or pilot. However, such remote control systems are generally A highly sophisticated and complex system of advanced sensors and instruments attached to or directed at the pilot. A simple interface is required, and the pilot must focus entirely on remotely controlling the robot. This requires extensive testing, limiting the overall accessibility of the technology.
[0003] Robots are either trained or programmed to operate semi-autonomously or fully autonomously. To train a robot, you must expose it to physical tasks in the real world. This is because the robot is performing useful work on the shop floor. This can cause significant wear and tear on the robot's components before it is deployed to perform its job. There is. Summary of the Invention
[0004] A method of operating a robot (a robot is a robot that has at least one processor and at least one A non-transitory recording medium communicatively coupled to the processor, the non-transitory recording medium being readable by the processor. a processor-readable non-transitory recording medium; The medium consists of a library of reusable work primitives and a processor-executable The instructions, when executed by at least one processor, A library of reusable work primitives for robots The autonomously executing instruction (which stores instructions and commands) includes: starting a first work goal; and starting a first workflow to complete a first work goal. a first workflow comprising: a library of reusable work primitives; a first set of reusable work primitives selected from the first set of reusable work primitives; executing a work flow using a first set of reusable work primitives; The method further comprises the steps of: executing a second work target that is different from the first work target. A step to start a work goal, and a step to start a second workflow to complete a second work goal, A step of starting, the second workflow generating a label of the reusable work primitives. a second set of reusable work primitives selected from the library; 2. The workflow differs from the first workflow in that it contains at least one common, reusable A step in which a work primitive includes both a first workflow and a second workflow. and executing a second workflow, the second workflow comprising: The method may further include the steps of: The method further comprises the step of: determining whether or not the first work target and the second work target are different from each other; Steps to start the work objective and at least one additional work objective. starting at least one additional workflow, The workflow is based on a library of reusable work primitives, selected from at least one additional set of possible work primitives, The additional workflow is different from both the first workflow and the second workflow, and is at least Another common, reusable work primitive is the first workflow and the second workflow. A step including at least one of the steps in the flow and at least one additional workflow. A step of executing one more additional workflow, the step comprising: and performing at least one additional set of processes. It may have.
[0005] The robot includes at least one processor and a communication interface communicatively coupled to the processor. and the step of initiating the first work objective includes communicating via the communication interface. and / or receiving instructions relating to the first work object from the first work object. Initiating a first workflow for completion includes, via a communication interface: The step of initiating the first work objective may include receiving a first workflow. The step may include a step of autonomously identifying, by the robot, a first work target. The step of starting the first workflow to complete the first work goal may include The first set of reusable work primitives is then autonomously identified by the may include:
[0006] The robot includes at least one processor and a component communicatively coupled to the processor. , at least a first physically operable component, A library of primitives is provided for reuse by a physically operable first component. a set of available work primitives for completing the first work objective. The step of starting the first workflow at the first physically actuable component includes: At least one reuse from a set of executable, reusable work primitives Start a set of reusable work primitives, including possible work primitives. The step of executing the first workflow may include a step of physically operating the A set of reusable work primitives that can be executed by a possible first component, and combining at least one of the reusable work primitives into a first physically operable configuration. The first physically actuatable component may include a step performed by a physically actuatable first component that may be actuatable to grasp an object; A set of reusable work primitives that can be executed on a physical workable first structure The object may include a set of reusable grasping primitives that can be executed by the object. a logically operable first component, which is a reusable work primitive executable by the logically operable first component; A reusable set that contains at least one reusable work primitive from The step of initiating a first set of work primitives includes: Start with a first set of reusable work primitives, including a set of simple grasping primitives. The replay may include a step of replaying the replay performed by a first physically actuable component. At least one reusable work primitive from the set of available work primitives. The step of executing the primitive by a first physically actuable component includes: a first actuatable component, which has at least one reusable gripping primitive; The method may include the step of:
[0007] The step that starts the first workflow to complete the first work goal is reusable. The first of a series of reusable work primitives from the library of Initiating a first permutation of the combinations. the step of executing a first set of metric includes a processor readable non-transitory and executing instructions executable by a processor stored in the target recording medium to cause the robot to a first set of reusable work primitives by at least one processor; , and causing the processing to be performed autonomously.
[0008] The robot comprises a body and at least one object mechanically coupled to the body. A logically operable component and at least one physically operable component capable of communicating with each other. At least one processor coupled to the at least one processor and a communication At least one processor-readable non-transitory storage medium operably coupled to the At least one processor-readable non-transitory storage medium is reusable. a library of work primitives that can be implemented by a processor and instructions that can be executed by the processor initiating a first work target when executed by at least one processor. and initiating a first workflow to complete a first work goal, A first workflow is selected from a library of reusable work primitives. a first workflow including a step and a first set of reusable work primitives; executing a first set of reusable work primitives. The processor stores instructions for causing the robot to perform the steps, including: The instructions executable by the at least one processor, when executed by the at least one processor, starting a second work goal, different from the first work goal; a step of initiating a second workflow for reusing the A library of reusable work primitives selected from a second set, the second workflow being different from the first workflow and including at least one Common, reusable work primitives are shared between the first and second workflows. and executing a second workflow, performing a second set of possible work primitives; The robot may further perform the method. The robot may be in communication with at least one processor. instructions associated with a first work objective and instructions associated with a first workflow; a communication interface for receiving at least one instruction set from the group consisting of: The processor-readable non-transitory storage medium may further include at least When executed by one processor, the first work is executed to complete the first work goal. instructions executable by a processor that allows a robot to autonomously identify a task flow, The information may also be stored in the memory.
[0009] A library of reusable work primitives that can be used to create at least one physically actuable A set of reusable work primitives that can be executed by a component Preferably, the processor-executable instructions are executed by at least one processor. If so, have the robot execute the first set of reusable work primitives and Each reusable work primitive is assigned to at least one physically operable structure. At least one physically actuatable component may be configured to grasp the object. and an end effector operable to hold the at least one physically A set of reusable work primitives that can be executed by an actionable component a set of reusable grasping primitives that can be executed by the end effector; The processor-executable instructions may be executed by at least one processor. If a reusable work primitive is used, it must be added to at least one object. and causing a logically operable component to perform at least one grasping primitive on the end-end. Alternatively, the effector may execute the
[0010] The computer program product comprises: a library of reusable work primitives; The library and the computer program product are read by a processor of the robot system. A readable non-transitory recording medium is stored in the readable non-transitory recording medium, and at least one program of the robot system is and when executed by the processor, the steps of initiating a first work target and a step of initiating a first workflow to complete the A reusable work primitive selected from a library of reusable work primitives. a step of executing a first workflow, the step including a first set of primitives; a first set of reusable work primitives. , and a processor-readable non-transitory recording medium communicatively connected to said At least one processor, which is integrated with the robot system, executes a process. The computer program product may be a robot controller. The system is stored in a non-transitory storage medium readable by a processor, When executed by at least one processor of the virtual machine system, the virtual machine system performs a first work target different from the first work target. and executing a second work to complete the second work. a step of starting a second workflow, the second workflow being a reusable work primitive; A second set of reusable work primitives, selected from the library of wherein the second workflow is different from the first workflow and has at least one common replay. The available work primitives support both the first and second workflows. and executing a second workflow, the second workflow being a reusable workflow. A step of executing a second set of primitives; and processor-executable instructions and / or data for causing the system to The computer program product may be read by a processor of the robot system. a readable non-transitory recording medium, When executed by the processor, the first workflow is executed autonomously to complete the first work goal. The steps of: The device may further include instructions and / or data.
[0011] A method for operating a robot to grasp an object is described. The robot includes: a robotic hand having multiple fingers and an opposable thumb; and at least one processor operable to control the movement of the robotic hand. at least one sensor communicatively coupled to the at least one processor; a processor-readable program communicatively coupled to at least one processor; Non-transitory recording medium. The non-transitory recording medium readable by the processor is reusable. a library of grasping primitives and at least one processor, A library of reusable grasping primitives. The bot hand is made to execute autonomously, and instructions executable by the processor are stored. The method includes collecting data about the object with at least one sensor. and at least one processor for analyzing the data to determine a shape of the object. and at least one processor at least in part determining the shape of the object. Based on the A step of selecting a primitive, in particular a primitive, for grasping an object by a robot hand. Implementing a specific reusable grasping primitive. Executing a particular reusable grasping primitive for grasping includes: The program allows the program to autonomously execute specific reusable grasping primitives to grasp an object. executing, by at least one processor, the processor-executable instructions. , may be included.
[0012] The at least one sensor may include at least one optical sensor. The step of collecting data about the object by a sensor includes at least one optical The method may include collecting optical data about the object with a sensor. The step of analyzing the data by a processor to determine the shape of the object includes at least and analyzing the optical data with a processor to determine a shape of the object. may include:
[0013] Reconstructing the image based, at least in part, on the shape of the object by at least one processor. A specific, reusable grasping primitive from a library of available grasping primitives, The step of selecting may include, by at least one processor, selecting a reusable grasping primitive. Compared to all other reusable grasping primitives in the library of selecting a particular reusable grasping primitive, which best matches, The at least one processor may select a particular re-use feature that best fits the shape of the object. The step of selecting an available grasp primitive may be performed by at least one processor. , and all other reusable grasping primitives in the library of reusable grasping primitives. Compared to the active, the robot hand has multiple fingers and opposing fingers that best fit the shape of the object. A step of selecting a particular reusable grasping primitive using a thumb configuration that can be aligned The present invention may also include a
[0014] At least one processor selects a particular reusable object that best fits the object's shape. The step of selecting a suitable grasping primitive may be performed by at least one processor. Using each reusable grasping primitive from the library of available grasping primitives, A library of reusable grasping primitives that mimic a robotic hand grasping an object. Compared to all other reusable grasping primitives in Which particular reusable grasping primitive from the library of objects is most suitable for the object shape? determining whether the first and second inputs match.
[0015] The method further comprises analyzing, by at least one processor, additional data relating to the object: The method may further comprise determining at least one additional parameter of the object. based, at least in part, on the shape of the object, by the at least one processor. Select a specific reusable grasping primitive from a library of reusable grasping primitives. The step of selecting the active object includes, by at least one processor, determining the shape of the object and and A specific, reusable grasping primitive from a library of available grasping primitives, The method may include a step of selecting an object by at least one sensor. and collecting additional data about the object. The data includes the hardness of the object, the rigidity of the object, the personality of the object, the function of the object, the mass of the object, and The robot is selected from the group consisting of at least one processor, The method may further include at least one receiver reliably coupled to the at least one signal processing unit, the method comprising: The method may further include receiving additional data regarding the object from the object.
[0016] The non-transitory recording medium readable by the processor is a work executed by the robot. The data of the work target may further be stored, including the work target grasping the object. At least one processor may reuse the object based, at least in part, on the shape of the object. Select a specific reusable grasping primitive from a library of possible grasping primitives. The step of selecting includes, by at least one processor, determining a shape of the object and a and, based at least in part on both the data of the work objective to be performed. Select a specific reusable grasping primitive from a library of possible grasping primitives. The method may include the step of selecting.
[0017] The robot comprises: a body, a plurality of fingers, and an opposable thumb; a robot hand mechanically coupled to the body; and a robotic arm for controlling the movement of the robot hand. At least one processor operable to communicate with the at least one processor. and at least one sensor and at least one processor, each of which is coupled to the at least one sensor. a processor-readable non-transitory storage medium coupled to at least one of The processor-readable non-transitory storage medium is a reusable work primitive. and processor-executable instructions, the instructions including: When performed by the sensor, the steps of collecting data about the object and analyzing the data include: determining a shape of the object based at least in part on the shape of the object; A specific, reusable grasping primitive from a library of available grasping primitives, and implementing a particular reusable grasping primitive to grasp the object. and instructions for causing the robot to perform the steps of: The instructions, when executed by the at least one processor, perform a process for grasping an object. A specific reusable grasping primitive is implemented by the robot to grasp an object. A robotic hand may autonomously execute certain reusable grasping primitives. The at least one sensor includes at least one optical sensor, and the at least one sensor is executable by a processor. The instructions, when executed by the at least one processor, generate data relating to the object. and having the robot collect optical data about the object with at least one optical sensor. This is also fine.
[0018] Processor-executable instructions, when executed by at least one processor, In this case, the reusable grasping primitives are generated based, at least in part, on the shape of the object. Let the robot select a specific reusable grasping primitive from the library and Compared to all other reusable grasping primitives in the grasping primitives library ,The robot selects a particular reusable grasping primitive that best ,fits the object's shape. The processor-executable instructions may be executed by at least one processor. When executed, it finds a specific reusable grasping primitive that best fits the object shape. A library of reusable grasping primitives that can be selected by the robot, reusing everything else Compare possible grasping primitives to find the complex robotic hand that best fits the object shape. Specific reusable grasping primitives using a configuration of fingers and opposable thumbs The robot may select the target object.
[0019] Processor-executable instructions, when executed by at least one processor, In this case, the reusable grasping primitives are generated based, at least in part, on the shape of the object. Let the robot select a specific reusable grasping primitive from the library and Grasp an object using each reusable grasping primitive from the library of grasping primitives. We simulated a robotic hand that can grasp objects with a robot and developed a live, reusable grasping primitive. Compared to all other reusable grasping primitives in the library, Which particular reusable grasping primitive from the library of primitives is best suited for the object shape? It may also determine whether the
[0020] A processor-readable non-transitory recording medium is provided for at least one processor. When implemented by the robot, additional data about the object may be analyzed to determine at least and further storing instructions executable by the processor to cause the processor to determine one additional parameter. In this case, the processor-executable instructions may be When performed by a reusable grasper, the reusable grasper is based, at least in part, on the shape of the object. Select a specific reusable grasping primitive for your robot from a library of grasping primitives. and selecting at least one additional parameter of the object and at least one additional parameter of the object. Based at least in part on the The robot may select an available grasping primitive. A possible non-transitory storage medium may include a method for performing a program for a computer-implemented program that, when executed by at least one processor, and further comprising instructions executable by a processor to cause the robot to collect additional data relating to the The additional data about the object may be stored in the hardness of the object, the stiffness of the object, and the identity of the object. The robot is selected from the group consisting of the gender, the function of the object, and the mass of the object. at least one receiver communicatively coupled to the at least one processor; The processor-readable non-transitory storage medium may further include at least When executed by one processor, additional data about the object is received by the robot. The device may further store processor-executable instructions for causing the device to execute a program.
[0021] The non-transitory recording medium readable by the processor is a work executed by the robot. The work objective may further store data regarding the work objective, the work objective including grasping an object. In this case, the processor-executable instructions are When implemented, the method generates reusable grasping primitives based, at least in part, on the shape of the object. Let the robot select a specific, reusable grasping primitive from a library of primitives, The data of both the object shape and the work target to be performed by the robot are Also based in part on a library of reusable grasping primitives, Possible grasping primitives may be selected by the robot.
[0022] A computer-implemented method for initializing a robot to complete a plurality of work objectives includes: It has: A set of reusable work primitives, each executable by a robot. A step of defining a library of reusable work primitives. Each combination and permutation of reusable work primitives from the library is the steps initiated and performed by the robot to complete each work objective; Each reusable work primitive in the library of reusable work primitives Training the robot to autonomously execute the task.
[0023] Each reusable work primitive in the library of reusable work primitives The step of training the robot to autonomously execute the mitibitive includes training the robot in a simulated environment. ,Reusable work primitives library, each reusable work primitive and training the robot to autonomously execute the objectives. In a simulated environment, each reusable part of a library of reusable work primitives is Training the robot to autonomously execute the work primitives includes generating a first simulated instance of the robot in a simulated environment; A library of reusable work primitives that executes instructions repeatedly Execute the first reusable work primitive of the first simulated instance of the robot. and repeatedly executing the processor-executable instructions to perform a first reutilization. causing a first simulated instance of the robot to execute available work primitives. , based on at least one result of, a first reusable work primitive is generated by the robot. The instructions executable by the processor are then narrowed down to those that the first simulated instance of the and generating a reusable work primitive in the simulated environment. To autonomously execute each reusable work primitive in the library, The step of training the robot includes training at least one additional model of the robot in the simulated environment. A step of generating a pseudo instance and repeatedly executing executable instructions by a processor The first reusable work primitive in the library of reusable work primitives is created by executing the primitive on at least one additional simulated instance of the robot. and repeatedly executing the processor-executable instructions to generate a first reusable worksheet. The robot is then coupled to a first simulated instance of the robot and at least one of the first simulated instances of the robot. Based on at least one result of the steps of: 1 reusable work primitive to the first simulated instance of the robot and the robot at least one additional simulated instance of, executable by the processor; In one embodiment, the method further includes: In this paper, we present a library of reusable work primitives, each of which is The step of training the robot to autonomously execute the k primitives includes a processor. It executes executable instructions repeatedly to create reusable work primitives. At least one additional reusable work primitive of the library is added to the first mock instance. and repeatedly executing the processor-executable instructions to At least one additional reusable primitive from the library of reusable work primitives. causing the first simulated instance to execute the work primitive. Based on the results of the experiment, we generate at least one additional reusable work primitive for the robot. Narrow down the instructions executable by the processor to be executed by the first simulated instance of the The method may further include the steps of:
[0024] Each reusable work primitive in the library of reusable work primitives The step of training the robot to autonomously execute the objective is carried out using a reusable worktable. The first reusable work primitives in the library of work primitives are implemented on the robot. receiving a remote operation command to execute the remote operation; and licensing the reusable work primitives. A teleoperation command that causes the robot to execute the first reusable work primitive of the The first step is to execute commands and create a library of reusable work primitives. Plays remote control commands to the robot, causing it to execute available work primitives. and generating processor-executable instructions for causing the processor to execute the process. The first reusable work primitive in the library of reusable work primitives The step of receiving the teleoperation command to be executed by the robot may be carried out by an actual teleoperation pilot. A low-level remote control that allows a robot to emulate real physical actions performed by Receiving an operation instruction. A teleoperation command that causes the robot to execute the first reusable work primitive of the The step of receiving the command includes executing an action selected from the graphical user interface on the robot. The method may include receiving high level remote control instructions for the client to execute.
[0025] Each reusable work primitive in the library of reusable work primitives The step of training the robot to autonomously execute the mitibitive includes training the robot in a simulated environment. and generating a simulated instance of the robot. The first reusable work primitive in a library of available work primitives The step of receiving a remote operation command to cause the robot to execute the above-mentioned steps includes a first reuse of the simulated environment. Send teleoperation commands to a simulated instance of a robot to execute possible work primitives. receiving a library of reusable work primitives; executing teleoperation instructions that cause the robot to perform available work primitives; assigns the first reusable work primitive in the simulated environment to a simulated instance of a robot The method may include a step of executing a remote operation command, and the step of executing the remote operation command may include a step of executing a reusable work primitive. Have the robot execute the first reusable work primitive in the library of ,The remote control command is reproduced by the robot, and an executable command is generated by the processor. The first step is to transfer the first reusable work primitive of the simulated environment to the simulated instance of the robot. The remote control command is executed by the robot, and the remote control command is played back by the simulated instance of the robot. The first reuse of the simulated environment may include generating instructions executable by the processor. A teleoperation command that causes a simulated instance of a robot to execute available work primitives. The step of receiving the actual physical actions performed by the actual remote pilot may include: Receives low-level teleoperation commands that are emulated by a simulated instance of a robot. The first reusable work primitive of the simulated environment may be included in the robot. The step of receiving a remote operation command to be executed by the simulated instance of the graphical user interface includes: causing a simulated instance of a robot to perform actions selected from the user interface; receiving high level remote control instructions.
[0026] In one embodiment, a first reusable element of the library of reusable work primitives receiving a teleoperation command that causes the robot to execute a work primitive that can be executed by the robot, The first reusable work primitive in a library of reusable work primitives A sequence that receives a first set of teleoperation instructions that causes a robot to execute a first instance of the task. The first reusable work step and library of reusable work primitives A second set of teleoperation instructions that causes the robot to execute a second instance of the primitive. receiving a library of reusable work primitives; Execute the teleoperation command to have the robot execute the first reusable work primitive of The step of creating a library of reusable work primitives includes creating a first reusable The first section of a teleoperation command that causes the robot to execute the first instance of a work primitive. and a library of reusable work primitives. Teleoperation, which causes a robot to execute a second instance of a reusable work primitive and executing a second set of instructions. Have the robot execute the first reusable work primitive in the library of ,The remote control command is reproduced by the robot, and an executable command is generated by the processor. The first step is to create a library of reusable work primitives. A first set of teleoperation instructions that causes the robot to execute a first instance of a primitive. , and a library of reusable work primitives, A teleoperation command that causes the robot to execute a second instance of an available work primitive. and executing a second set of the remote control instructions by evaluating the results of each of the steps. Which would produce better results: the first set of commands or the second set of remote control commands? determining a first set of remote operation instructions; a second set of remote operation instructions; A program executable by a processor to cause the robot to reproduce the method that produces the better result. and generating instructions for the execution of the reusable work primitives. A teleoperation command that causes a robot to execute a first reusable work primitive of the The step of generating instructions executable by a processor for causing a robot to reproduce the The first reusable work primitive in a library of available work primitives The robot executes the remote control command, and the robot reproduces the remote control command. a first set of remote control instructions; and and combining at least one element of a second set of operating instructions. good.
[0027] Each reusable work primitive in the library of reusable work primitives The step of training the robot to autonomously execute the objective may include at least one of: When both are executed by a single processor, the liveness of reusable work primitives Let the robot autonomously execute each reusable work primitive of the The method may further include generating instructions executable by a processor, the method comprising: A non-transitory recording medium readable by a processor of the sending a command capable of may further include:
[0028] The robot comprises a body and at least one object mechanically coupled to the body. A logically operable component and at least one physically operable component capable of communicating with each other. At least one processor coupled to the at least one processor and a communication At least one processor-readable non-transitory storage medium operably coupled to the At least one processor-readable non-transitory storage medium is reusable. A library of work primitives that can be used to compute a number of operations, and at least one processor, If you have a library of reusable work primitives, A processor that can selectively and autonomously execute a set of primitives. a step of generating a first simulated instance of a robot in a simulated environment; and a processor-executable instruction is repeatedly executed to create a reusable work plan. The first reusable work primitives from the library of mitigations are used to model the first robot. Repeating the steps of causing the pseudo instance to execute and the processor executable instructions. Execute the first reusable work primitive on the first simulated instance of the robot. and generating a first reusable workpiece based on at least one result of the steps of: The primitive is executed by a processor that causes a first simulated instance of a robot to execute the primitive. A step of narrowing down possible instructions, and a non-unique instruction readable by a processor of the robot. sending instructions executable by the processor to a storage medium; and instructions executable by a processor to be trained by the processor. The process of training executable instructions includes: The steps of generating additional simulated instances and repeatedly executing instructions executable by the processor are included. The first reusable part of a library of reusable work primitives that can be returned and executed. Have the work primitives executed by at least one additional simulated instance of the robot. and repeatedly executing the processor-executable instructions to generate a first reusable The work primitives that can be used are assigned to the first simulated instance of the robot and to at least one of the one additional simulated instance, based on the result of at least one of the steps The first reusable work primitive is assigned to a first simulated instance of the robot and and causing at least one additional simulated instance of the robot to execute, by the processor. The method may further include a step of narrowing down the executable instructions.
[0029] The computer program product comprises: a library of reusable work primitives; The library and the computer program product are read by a processor of the robot system. A readable non-transitory recording medium is stored in the readable non-transitory recording medium, and at least one program of the robot system is a non-transitory storage medium readable by the processor when executed by the processor; At least one processor communicatively coupled to the reusable work primitives. A library of reusable work primitives for each robot system. Processor-executable instructions and / or data that cause the system to selectively and autonomously execute generating a first simulated instance of a robot in a simulated environment; Reusable work primitives are generated by repeatedly executing instructions executable by the processor. The first reusable work primitives of the library are then used as the first mock-up of the robot. and repeatedly executing the processor-executable instructions. , the first reusable work primitive is executed on the first simulated instance of the robot. determining a first reusable work primitive based on at least one result of the steps of: instructions executable by a processor that causes a first simulated instance of a robot to execute a program that executes the program. and a non-transitory record readable by a processor of the robot. transmitting instructions executable by a processor to a medium; The instructions executable by a processor are trained. The process further comprises: and repeatedly executing the processor-executable instructions to generate a reusable The first reusable work primitive of the library of possible work primitives is causing at least one additional simulated instance of the robot to execute; Execute the executable instructions repeatedly to generate a first reusable work primitive. a first simulated instance of the robot and at least one additional simulated instance of the robot; a first reusable storage device based on at least one result of the steps of: The work primitive is then transferred to a first simulated instance of the robot and to at least one simulated instance of the robot. ,throttling ,the ,instructions ,executed ,by ,the ,processor ,to ,one ,additional ,simulated ,instance. The method may further include the step of inserting the [Brief description of the drawings]
[0030] The various elements and acts shown in the drawings are for illustrative purposes only to support the detailed description. Unless otherwise required by the specific context, the illustrations of elements and acts are provided for illustrative purposes only. Sizes, shapes and relative positions are not necessarily shown to scale and Generally, identical reference numbers refer to similar elements. Used to identify an entity or action. [Figure 1] FIG. 1 is a flow diagram illustrating an exemplary method of operation of a robot in accordance with the present systems, devices, and methods. [Diagram 2] FIG. 2 is a flow diagram illustrating another exemplary method of operation of a robot in accordance with the present systems, devices, and methods. [Diagram 3] FIG. 3 is a flow diagram illustrating another exemplary method of operation of a robot in accordance with the present systems, apparatus, and methods. [Figure 4]FIG. 4 is an illustration showing an exemplary set of reusable grasping primitives in accordance with the present systems, apparatus, and methods. [Diagram 5] FIG. 5 is a flow diagram illustrating an exemplary method of operation of a robot to grasp an object in accordance with the present systems, apparatus, and methods. [Figure 6] FIG. 6 is a flow diagram illustrating an exemplary computer-implemented method for initializing a robot to complete multiple work objectives in accordance with the present systems, apparatus, and methods. [Figure 7] FIG. 7 is a flow diagram illustrating another exemplary computer-implemented method for initializing a robot to complete multiple work objectives in accordance with the present systems, apparatus, and methods. [Figure 8] FIG. 8 illustrates an exemplary simulated environment in which a robot is trained through simulation to execute reusable work primitives in accordance with the present systems, methods, and apparatus. [Figure 9] FIG. 9 is a flow chart illustrating another exemplary computer-implemented method for initializing a robot to complete multiple work objectives in accordance with the present systems, apparatus, and methods. [Figure 10] FIG. 10 is an illustrated diagram of an exemplary robotic system that includes various features and components described throughout the present systems, methods, and apparatus. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0031] The following description describes various implementations and embodiments of the present systems, devices, and methods. Specific details are given for purposes of illustration and understanding. Some specific details may be omitted or changed in alternative implementations and embodiments. and the various implementations and embodiments described herein may be modified in accordance with the principles of the present invention. may be combined with each other and / or with other methods, components, materials, etc. to produce the embodiments. It will be appreciated that the various embodiments may be combined.
[0032] In some instances, the present invention relates to computer systems and data processing related well-known structures and and / or processes that unnecessarily complicate or obscure the description of the implementations and embodiments. In order to avoid confusion, details are not shown or provided.
[0033] Throughout this specification and the appended claims, unless the particular context requires otherwise, Terms such as "comprise" and "have" and "include" and variations thereof mean "including, but not limited to, The term "common products" is used in an open and inclusive sense, meaning "including but not limited to."
[0034] Unless the particular context requires otherwise, throughout this specification and the appended claims, The singular forms "the," "the," and "these" include the plural forms. For example, "an embodiment" and "the present embodiment" are used interchangeably. " includes "embodiments" and "implementations thereof," respectively. " and "the implementation" include "implementations" and "the implementations" respectively. Similarly, the term "or" generally refers to "and" unless the specific context clearly dictates otherwise. It is used in its broadest sense to mean "and / or."
[0035] The headings and abstract of this disclosure are provided for convenience only and are not intended to limit the scope of the present disclosure. and is not intended to, and should not be construed as, interpreting the scope or meaning of the methods. It shouldn't be.
[0036] A general-purpose robot is capable of accomplishing multiple different work objectives. As used throughout the appended claims, the term "work objective" refers to a particular objective. Refers to a specific task, job, assignment, or activity that has a goal and a determinable result. In some cases (but not necessarily) they are intended to promote economically valuable work. Work goals exist in many aspects of business, research and development, commercial activities, and personal activities. For example: Representative work goals may include, but are not limited to, a place (e.g., a bathroom) or an object (e.g., a bathtub). Cleaning surfaces (room mirrors), preparing food, loading and unloading storage containers (e.g. trucks), inventory and collect one or more samples, take one or more measurements, construct or assemble an object, or This includes destruction or disassembly, sending objects, harvesting objects and / or data, etc. The various implementations described in this document are designed to complete multiple different work goals at least semi-autonomously. Systems, equipment, and methods for initializing, configuring, training, operating, and / or deploying robots for The present invention provides an apparatus and method for
[0037] In accordance with the present system, apparatus, and method, a work objective is a set of "work primitives." The successful completion of a work goal is determined by the following: This involves the execution of each work primitive in the workflow. Depending on the specific implementation, Completion of the work objective is achieved by (i.e., the workflow consists of) 1) The sequential or serial execution of a set of corresponding work primitives. Execute the corresponding set of work primitives in parallel; or 3) set a work goal and and / or the corresponding work primitives as appropriate for the robot to execute the work objective. Execute sets in any combination of serial and parallel (e.g., execute sequentially with overlap) ). Thus, in some implementations, the work primitives are The lower level activities or steps that are executed as a workflow to complete a goal. , or can be interpreted as a subtask.
[0038] Advantageously, in accordance with the present systems, apparatus, and methods, a "reusable" workprint may be created. A library of work primitives can be defined. A work primitive can be used to express different Generally invoked, performed, adopted, or applied to accomplish a task goal. For example, a reusable work primitive is one that can be used in multiple different In some implementations, reuse is common to each workflow of different work goals. The available work primitives are defined when or before the work primitive is called. For example, "pick up object" may contain at least one variable that is reusable. The pick-up process is a work primitive that can be used to drive multiple different work goals. The process of "picking up an object" is pursued at least semi-autonomously, typically in order to It is defined based on the specific work objectives being addressed.
[0039] As previously mentioned, various implementations described herein may involve a robot moving through multiple different work targets. To provide a system, apparatus, and method that enables a user to complete a task at least semi-autonomously. Unless the specific context requires otherwise, the term "autonomously" is used throughout this specification and the appended claims. Throughout the appended claims, the term "without the control of another" is used to mean "without the control of another person" and "without the control of another person." The term "autonomously" is used to mean "at least partially autonomously." In other words, the term "semi-autonomous" is used throughout this specification and the appended claims. The term means "a limited contract by another party" unless the specific context requires otherwise. "With control." Examples of semi-autonomous robots include those with the ability to move and grasp. Independently and / or autonomously executes and controls some of its own low-level functions can be implemented, but without high-level instructions on what to do and / or how to do it. In terms of commands, examples include robots that rely on some kind of external control.
[0040] In accordance with the present system, apparatus, and method, any given The work objective is a reusable object selected from a library of reusable work primitives. The corresponding work set, including specific combinations and / or permutations of possible work primitives of reusable work primitives so that they can be completed by executing a flow. Libraries can be defined, specified, developed, or constructed. Once such reusable work is Once a library of primitives has been established, one or more robots can be 1) trained and The specific workflow of which the specific reusable work primitive is a part, and / or or 2) a specific reusable work primitive that has been trained on a specific workflow. The environment of other reusable work primitives that may precede or follow the active. Each reuse in a library of reusable work primitives without necessarily including It can be trained to execute available work primitives autonomously or automatically. In this way, semi-autonomous robots can operate using a library of reusable work primitives. Each reusable work primitive in the which reusable work primitive(s) to execute, and / or Only when deciding which order to execute them, other parties (e.g., operators, users) can decide. In other words, the operator must give instructions or guidance from the pilot. A pilot, user, or contractor can create a work plan consisting of reusable work primitives. The workflow can be provided to a semi-autonomous robot, which can then Autonomously or automatically executes reusable work primitives according to the For example, a semi-autonomous humanoid robot can look left and complete a goal. It can autonomously look left when commanded to do so, or open its right end effector when commanded to do so. When the robot is in a remote control mode, it will autonomously open the right end effector and perform other actions without the need for a third party to control it. This can be done without relying on detailed low-level control of features such as The humanoid robot will choose which reusable workpieces to use to complete the work goal. A workflow detailing the order in which actions must be taken When given instructions, the system can autonomously complete the task. According to the apparatus and method, the robot is trained or otherwise Reusable work processes that analyze work objectives and can be actuated by robots to execute autonomously. Divide your work objectives into a set of reusable work primitives from a library of primitives. If you are configured to define the corresponding workflow yourself by solving ,The robot can operate completely autonomously.
[0041] In a robotic environment, reusable work primitives are used by robots (e.g., autonomously) to can be activated (automatically or automatically) and can be called or executed by the robot to accomplish something. It can handle basic low-level functions such as executing commands and executing commands. Examples of reusable work primitives for a project include, but are not limited to, the above. Look, Look down, Look left, Look right, Move right arm, Move left arm, Right end effector Close, Open Right Effector, Close Left Effector, Open Left Effector, Front Examples of the actions include moving forward, turning left, turning right, and moving backward. 1) An exemplary reusable work plan for a humanoid robot 2) the foregoing list of MITIBILITIES is by no means exhaustive; And the method is in no way limited to robots having a humanoid form factor. 3) The complete composition of the library of reusable work primitives is The library of work primitives depends on the design and capabilities of the particular robot for which it is built. To do so.
[0042] A robot can behave in a manner that is based, at least in part, on its hardware and software configuration. The robots can be operated to perform any number of high level functions, such as moving legs or wheels. Robots with wheels are designed to move, while robots with grippers are designed to pick up objects. Robots with legs and grippers can move objects. To perform a high-level function, it is generally necessary to control and perform multiple lower-level functions. For example, a mobile robot can control its functional parameters such as speed, trajectory, and balance. To control movement, such as controlling the movement actuators (e.g., leg or wheel drives) that In order to achieve this, a large number of different low level functions must be controlled. In accordance with the present specification and the appended claims, the high level functions at which the robot operates are A set of basic components or building blocks, referred to throughout as "work primitives" Unless required by a specific context, work primitives are , are interpreted as building blocks from which higher level robotic functions are built.
[0043] As will be described in more detail later, some implementations may autonomously create reusable work primitives. Training a robot to perform can be completed in a simulated environment. The robot is trained to autonomously execute a library of reusable work primitives. Therefore, remote operation of a robot by a remote pilot is based on the creation of reusable work primitives. It can be summarized as follows: A remote control system controls a robot. Which reusable work primitives will the author or pilot have the robot perform? Depending on the implementation, you only need to tell the robot what order to execute them in, and it will It is difficult to execute a complete work objective based on such limited control instructions from the pilot. The system may have sufficient autonomy or automation (e.g., as a result of training as described above) to
[0044] As mentioned earlier, "clean the bathroom mirror" is a work primitive to achieve the goal. This is an example of a work goal that can be broken down into a set of activities and has a determinable outcome. The rule is a clean bathroom mirror, and the work primitives (also An exemplary set of workflows is as follows:
[0045] [Table 1]
[0046] Those skilled in the art will appreciate that the above example workflow, which is made up of nine work primitives, workflow that can be deployed to complete the work goal of cleaning the bathroom mirror. However, it will be understood that the present invention is not limited to the above-mentioned embodiments. The exact definition and composition of each work primitive, as well as the work objectives, are determined according to the method and procedure. The specific combination of work primitives selected and / or executed to complete The order or permutation (i.e., the specific configuration of the workflow) may vary in different implementations. For example, one implementation might use work primitives 3, 4, and 5 above (i.e., mirror positions The cleaning solution is sprayed onto the mirror. In some implementations, this is combined into a single higher level work primitive called These same work primitives can be decomposed, for example, into additional sub-work primitives. There may be cases where this occurs.
[0047] Find a mirror.
[0048] Identify the boundaries of the mirror.
[0049] A cleaning solution is directed to a first location within the perimeter of the mirror.
[0050] Squeeze out the cleaning solution.
[0051] A cleaning solution is applied to a second location within the perimeter of the mirror.
[0052] Squeeze out the cleaning solution.
[0053] etc.
[0054] Based on the above examples and explanations, a person skilled in the art would understand that the granularity of the work primitives is It will be appreciated that the present invention may vary among different implementations of the systems, apparatus, and methods. In accordance with the present system, apparatus, and method, each work primitive is made up of one or more whole detection that the technology can be adopted, activated, applied, or "reused" in the performance of a specific work objective; In this sense, work primitives are advantageously "reusable". For example, cleaning a bathroom mirror Removing may include the work primitive "grasp the cleaning fluid", but may also include other work primitives. Work goals can also be set, for example, "clean the toilet," "clean the windows," and / or "clean the floors." A work primitive might be used to grab a cleaning fluid, or to remove a cleaning fluid. In some implementations, the work primitives may be abstracted to be more general. For example, "grab cleaning fluid" can be expressed as "grab a spray bottle" or as a variable "object "Object 1" is defined as "Object 1 = spray bottle" and abstracted to "grab object 1" "Find a mirror" can be replaced with "Find an object that needs spraying" or simply "Find an object." This can be summarized as "search for body 2". "Object 2 = mirror". In such a case, "spray The work primitive "grasp a bottle" is "paint a wall" (here, spray bottle = spray spray paint), "styling hair" (here spray bottle = hairspray), "stir-fry "Prepare" (where spray bottle = cooking oil spray) It can be used.
[0055] FIG. 1 illustrates an exemplary method 100 for operating a robot in accordance with the present systems, devices, and methods. Generally, throughout this specification and the appended claims, The method of operation is the method by which various actions are performed at least in part, if not entirely, by the robot. For example, a particular act in a method of operation of a robot is a process of the robot. At least one of the robots is communicatively coupled to a non-transitory recording medium readable by the The program may be executed by a single processor or processing unit (hereinafter "processor"). In some implementations, a particular act of the method of operation of the robot may be performed by at least one process. Peripheral components of the robot communicatively coupled to the actuator, e.g., one or more physically actuated possible components (e.g., arms, legs, end effectors, grippers, hands), one or more sensors sensors (e.g., optical sensors, audio sensors, tactile sensors, touch sensors), mobile systems (e.g. wheels, legs), communication and networking hardware (e.g., receivers, transmitters, Non-transitory records that can be read by the robot's processor The medium may contain data (e.g., a library of reusable work primitives), and and / or when executed by at least one processor, causes a robot to perform a method. and / or the method for performing the method by at least one processor. storing processor-executable instructions for causing at least one processor to perform an action; The robot may be communicatively coupled to at least one processor of the robot. via the communications and network hardware, The present invention can communicate with a non-transitory storage medium readable by a processor. Unless the context requires otherwise, non-transitory storage media readable by the robot's processor and data stored in a processor-readable non-transitory recording medium. Any reference to instructions executable by a processor includes at least one processor of the robot. processor-readable non-transitory information to the processor and other parts of the robot hardware. It is not intended to be limiting with respect to the physical location of the temporary recording medium. The non-transitory storage medium readable by the robot's processor then stores the specific context in a manner that is different from other Unless necessary, non-transitory storage media readable by the robot's on-board processor A non-transient, readable by a processor located remotely from the body and / or robot. It may include a recording medium.
[0056] Returning to FIG. 1, the method 100 includes three acts 101, 102, and 103. If a merchant is interested in the implementation, certain actions may be omitted and / or additional actions may be omitted in alternative implementations. It will be appreciated that additional acts may be performed. It is also understood that the order is shown for illustrative purposes only and may vary in alternative implementations. Hello.
[0057] At 101, the robot starts a first work objective. In some implementations, the robot: Commands from others, such as verbal commands from a remote or local controller or operator In response to receiving the command from the In one implementation, the robot includes an electronic communication device communicatively coupled to at least one processor. The interface may include a first work goal at 101, where the robot starts , by means of an electrical communication interface of the robot (e.g., a remote operator or The method can include receiving an instruction associated with the first work objective (from the motion system). Such instructions include: Define the first work goal; How / When / Where to achieve the first work goal; The parameters that dictate what should be completed and / or how the first work objective is to be accomplished. In another implementation, the robot may include instructions on how to perform the operation at 101. Initiation of the first work objective includes the robot autonomously identifying the first work objective. In such an implementation, the robot's processor-readable non-unique The temporary storage medium, when executed by at least one processor of the robot, Data, models, policies, and paradigms that allow bots to autonomously identify first-line work goals; Executed by algorithms, frameworks, architectures, and / or processors The AI may store instructions for use in the robotics process (collectively, "AI"). environmental factors, internal parameters, observations, and / or other systems, robots, devices, or or communications with a person based on various parameters and / or criteria, including but not limited to Based on this, the first work objective can be autonomously identified.
[0058] At 102, the robot starts the first work to complete the first work goal started at 101. Start the first workflow by the robot. A first set of reusable work primitives that, when executed, completes the first work goal. or by identifying or defining a combination. Initiating the first workflow further includes generating a first reusable work primitive. The set or combination is a first permutation of a first combination of reusable work primitives. As explained above, in some implementations, the robot A non-transitory storage medium readable by the processor is a live copy of the reusable work primitives. In such an implementation, the robot may store a The first workflow is to store the data in a non-transitory, processor-readable storage medium of the robot. A reusable work primitive selected from a library of stored reusable work primitives. It may be or may be composed of a first set or combination of primitives.
[0059] A telecommunications interface communicatively coupled to the at least one processor. In the case where the robot includes a power supply, the initiation of the first workflow by the robot in 102 is via an air communication interface (e.g., from a remote operator or a remote control system) Such instructions may include receiving instructions for a workflow or related thereto. A command may, for example, be a set or combination of reusable work primitives and One option is to create a reusable work primitive to complete the first work goal. The definition of the first workflow may include a set or permutation of the combination. In the embodiment, the initiation of the first workflow by the robot in 102 is performed by the robot itself. 1. A first set of reusable work primitives that compose workflows, and / or autonomously identifying the permutation. The non-transitory processor-readable recording medium of the robot includes at least one Autonomously identify the first workflow for the robot when executed by one processor The device may also store artificial intelligence that causes the device to
[0060] In 103, the robot executes the first workflow started in 102. In general, In the execution of the first workflow in 103, the robot Selected from a library of reusable work primitives at the start of a work flow Execute the first set of reusable work primitives. As mentioned before, some implementations In this design, the robot is programmed to use each reusable work primitive in the library of reusable work primitives. Pre-trained and configured to execute work primitives virtually autonomously or automatically or otherwise operable. For example, a robot may be configured to read and write a The non-transitory recording medium is executable by at least one processor of the robot. Once connected, each robot can be programmed to use reusable work primitives from a library of work primitives. of instructions executable by the processor to cause each one of the mitigants to execute autonomously. In this way, the robot can start the first workflow at 103. When executing the first workflow, the robot will The first set of work primitives is then executed autonomously. By executing a set of instructions executable by a processor that causes the processor to execute or be executed. Thus, it may do so substantially autonomously or automatically. An exemplary implementation of 00 is described below.
[0061] As an example, the robot may include a processor-readable Contains or has access to non-transitory storage media. 1) Five reuse 1) Libraries of available work primitives A, B, C, D, and E; and 2) Robot When executed by at least one processor in the robot, the robot is provided with a first reusable executable by a processor that executes each one of the work primitives autonomously Instructions inst(A), inst(B), inst(C), inst(D), and ins t(E) for each of the five sets of E. In method 100, 101, the robot (autonomously or or upon receiving a command as described above), starts the first work objective. In 2, the robot completes the first work objective (either autonomously or under command as described above). The first workflow is arranged in the first order. Reusable work primitives from the library of reusable work primitives In this example, the first workflow consists of a first set of It is composed of reusable work primitives B, C, and D. (Number 1) C → B → D In 103, the robot autonomously executes the first workflow. At least one processor in the The robot executes a reusable work primitive C autonomously, and then the robot At least one processor of the Then, the robot executes reusable work primitive B autonomously, and then the robot At least one processor executes a processor-executable instruction inst(D). The robot autonomously executes a reusable work primitive D. The robot completes the work goal. The robot performs the first task at 102, semi-autonomous if it relies on receiving instructions to perform the task. Fully autonomously if operable to define the row autonomously.
[0062] Advantageously, in accordance with the present systems, devices and methods, the robot stores or A library of reusable work primitives is accessed allowing the robot to perform a multitude of different tasks. The generalized activities, tasks, and activities required to enable the completion of a work goal. It may consist of all or any of the steps, subtasks, or In this manner, the present systems, apparatus and methods have a wide range of applications in a wide variety of different industries. Realize a general purpose robot that can complete different work objectives, or at least can be approximated.
[0063] Continuing with the example above, an example library of five reusable work primitives is , for example, consists of the following:
[0064] A: Measure environmental data.
[0065] B: Move to position _x.
[0066] C:Pick up object_i.
[0067] D: Place object_j.
[0068] E: Barcode scan object_k.
[0069] So the first work goal becomes: "Get the green boxes to the warehouse. Like this. When the robot first executes workflow C, then B, then D, the robot is executed as follows. Execute inst(C) and set object_i = "green box". This This allows the robot to operate autonomously (i.e., without further control or command from others). Pick up the green box. Execute inst(B). Here, position_x = "warehouse" and the robot Then, execute inst(D) and make the robot autonomously carry the green box to the warehouse. Let j = "green box" and have the robot autonomously place the green box in the warehouse. The robot completes the first workflow by executing workflow C, then B, then D. Complete a work objective.
[0070] We use the same library of five reusable work primitives A, B, C, D, and E. Then the robot can complete the second work objective. For example, the second work objective is For example, the second work objective is "Create an inventory of items in the warehouse." As mentioned above, the secondary work objective is to be achieved autonomously or under some form of control. in response to receiving an instruction from the controller or operator relating to a second work objective. The controller / operator may be initialized by the bot (by act 101 of method 100). The controller may be a remote operator, at least a semi-autonomous remote actuation system, or a control system located at the same location as the robot. This may include a controlling entity (e.g., another robot, or a person). A control entity at the robot sends instructions to the robot that it operates to detect and process. The information may be provided orally to the client.
[0071] When the second work objective is started, the robot starts the second workflow and Like the first workflow, the second workflow also requires five Reusable Workpieces Reusable workpieces from the library of primitives A, B, C, D, E However, the second workflow consists of five reusable Reusable workpieces from the library of workpiece primitives A, B, C, D, and E Consists of a second, different set (e.g., combinations and / or permutations) of primitives As explained above, the second workflow differs from the first workflow in that The second workflow can be initiated autonomously or by some form of controller or operator. In response to receiving an instruction defining a It may be initialized by
[0072] In this example, the second workflow is made up of reusable work primitives B, C, D, and E. , configured as follows: (Number 2) B→Repeat: [C→E→D] In accordance with the present system, apparatus, and method, at least one reusable work primitive is A reusable workflow may be common to multiple workflows. Primitives B, C, and D are all part of the first work to complete the first work objective. It is included in both the flow and the second workflow for completing the second work objective. .
[0073] An exemplary second workflow includes "repeat (C, then E, then D)" Therefore, to complete the second work goal, the robot must first 2. It is necessary to repeat workflow primitives C, then E, then D. So the robot executes the second workflow B, then (C, then E, then D). Repeat, when executing (per act 103 of method 100), the robot ), where position_x = "warehouse", and the robot can then move autonomously (i.e. (i.e., without further control or command from others) and then the robot Run primitive C, then E, then D for every item in the warehouse That is, when it arrives at the warehouse, the robot starts a loop. The robot autonomously picks up the first item in the warehouse. Then, execute inst(E) with object_k = "first item" and give the robot the first Then, inst(D) object_j = " "First Item" and have the robot place the first item. After that, the robot , pick up every item in the warehouse, barcode scan it, and place it down. For a system, the primitives C, E, D, in succession (i.e., the second Repeat for the first item, the third item, etc. The job executes workflow B, then (C, then E, then D) repeatedly. By doing so, the second work objective is completed.
[0074] We use the same library of five reusable work primitives A, B, C, D, and E. The robot can then complete at least one additional work objective. The system records environmental parameters at various stations or waypoints (repeatedly). B, then A), and / or checking out the customer's purchases at a retail store (repeatedly Repeat: C, then E, then D). These and many other work goals are In total, we present an example library of five reusable work primitives A, B, C, D, and E. Various combinations and / or permutations of reusable work primitives from the library By executing the corresponding workflows that are composed of or However, the robot may be able to complete the task at least semi-autonomously. A library of reusable work primitives can be used by anyone to create any number and shape of reusable primitives. It may be constructed from available work primitives and can be reused according to the five principles described herein. A library of possible work primitives A, B, C, D, and E are provided as examples for illustration. In general, it will be understood that reusable work primitives are used only as a The more reusable work primitives in the library, the more the robot can become semi-autonomous. There can be many different work objectives that are operational to be completed in an orderly manner. However, In some implementations, a finite number of reusable work primitives (e.g., around 10, For example, 10, 20, 30, 40, 50, 60, 70, 80, 90, etc. If the robot is This may be sufficient to complete most (e.g., all) of the target work goals.
[0075] Reusable work primitives that allow a robot to complete multiple different work objectives The above-mentioned example using a fixed library of is shown in FIG. 2. FIG. 2 shows the present system, apparatus, and method. 2 is a flow chart illustrating an exemplary method 200 for operating a robot according to the method. Submethods 100, 210, and 250 and six illustrated acts 101, 102, 103 , 201, 202, and 203, but those skilled in the art will recognize that certain Understand that acts may be omitted and / or additional acts may be added Those skilled in the art will appreciate that the order of acts shown is presented for illustrative purposes. It will be appreciated that these are merely examples and may vary in alternative implementations.
[0076] Method 200, as sub-method 100, includes a robot for completing a first work objective from FIG. That is, method 200 includes act 1 from method 100 of FIG. 01, 102, and 103, which causes the robot to start the first work objective. (101), initiate a first workflow to complete a first work objective (102), 1. Running the workflow (103), all substantially as described for method 100 of FIG. As explained at the beginning, the first workflow is stored in the robot. Reusable work primitives that are either A specific combination of reusable work primitives from a library of According to the method 100, the reusable workpiece of the robot is A variety of reusable work primitives in the Work Primitives library are This is sufficient to allow the task to complete the first work objective. The robot’s library of reusable work primitives allows you to Various of the primitives are represented by acts 201, 202, and 203 (collectively, submethod 201). 10) may be used and / or reused by the robot to complete a second work objective via Similarly, the robot’s library of reusable work primitives is used for re-use. A variety of available work primitives are added to at least one of the submethods 250. The robot may then be used and / or reused to complete additional work objectives.
[0077] Specifically, in submethod 210 at 201, the robot performs the process started in submethod 100 at 101. Start a second work objective that is different from the first work objective. Similarly, in 201, a second work objective may be autonomously initiated by the robot. Oral, wireless via telecommunications systems, digital via tethered communication lines, etc. ,to ,other ,parties ,(e.g., ,controllers, ,pilots, ,through ,any ,of ,a ,various ,different ,communication ,means). The control unit may be initiated in response to an instruction received from a remote control (e.g., a network operator).
[0078] At 202 of submethod 210, the robot completes the second work objective started at 201. Start a second workflow for the second work goal. The second work goal is different from the first work goal, so The second workflow may be different from the first workflow. Similarly, the second workflow is started by the robot at 202. A reusable work primitive that, when executed by a bot, completes a secondary work goal. identifying or defining a second set or combination of activities; ,(if applicable) a second set or combination of reusable work primitives into a second permutation of a second combination of reusable work primitives. In accordance with the present systems, devices, and methods, A second set or group of reusable work primitives to complete the second work objective. The combination, at 202, generates a reusable work plan for completing the first work objective. The first set or combination of mitibs is the same reusable as that selected in 102. In some implementations, at least one Two common reusable work primitives were added to the first workflow started in 102 and the second workflow started in 103. In other words, some In the implementation, at least one reusable workflow from the first workflow started at 102 The work primitive is reused in the second workflow started at 202.
[0079] Similar to act 102, in act 202, the robot communicates autonomously or by means of verbal, electronic, Various different methods are available, such as wireless over a signaling system, or digital over a tethered communication line. The other party (e.g., the controller, pilot, or operator) may communicate with the In response to receiving an instruction from the controller, the second workflow may be initiated. do.
[0080] In submethod 210, at 203, the robot executes the second workflow started at 202. Generally, when executing the second workflow in 203, the robot A library of reusable work primitives is used to start the second workflow in Executes a second set of reusable work primitives selected from the first workflow ( The first workflow (started at 102 and executed at 103) and the second workflow (started at 202). At least one common replay included in both the Includes available work primitives (if applicable). As mentioned above, some implementations In this design, the robot is programmed to use each reusable work primitive in a library of reusable work primitives. Pre-trained and configured to execute work primitives substantially autonomously or automatically Thus, the robot may be actuated in any other manner. When executing the second workflow, the robot Autonomously select a specific reusable work primitive from a set of available work primitives. Execute instructions executable by a processor to cause or enable something to be executed By performing the above steps, the system can be substantially autonomously or automatically executed. There is at least one primary workflow started in 201 and at least one secondary workflow started in 202. In the implementation that includes the common reusable work primitives, the first workflow is executed in 103. Both the execution of the second workflow in 203 and the execution of the second workflow in 204 are A single processor can achieve at least two workflows: A processor that causes the robot to execute a single common reusable work primitive. This may include executing at least a portion of the executable instructions for the respective processors.
[0081] In accordance with the present system, apparatus, and method, a reusable work primitive for a robot is The various reusable work primitives in the library are may be further used and / or reused by the robot to complete additional work objectives. To this end, the method 200 includes a step of: A sub-method 100 of initiating and executing a task to complete a first work objective and a method 102 of reusing the robot. Initiate and execute a second set of similar work primitives to achieve a second work objective that is different from the first. A method 210 for completing a work goal and a method 212 for generating a small number of reusable work primitives for the robot. Start and perform at least one additional set that is different from either the first or second work objective. A submethod 250 of completing at least one additional work objective (detailed to reduce clutter) Although not shown, acts 101, 102, and 103 of sub-method 100 and acts 210 of sub-method 201, 202, 203) and the sub-methods 100, 210, and In each of the 250 and 250, the same robot uses the same library of reusable work primitives. The system is deployed using a library with a first work goal, a second work goal, and at least one The four additional work objectives are all different from each other, so the robot must The corresponding workflows started by the workflow, and at least one additional workflow) may all differ from each other. In accordance with the present systems, apparatus, and methods, a library of work primitives for a robot is created. The work primitives in a library can be reused such that any or all of the following are true: 1) At least one of the tasks included in the first workflow for completing the first work objective. The work primitives are also included in a second workflow to complete a second work objective. 2) The second workflow is At least one work primitive included in the second workflow for completing the task goal. The task is to provide at least one additional work task to complete at least one additional work objective. is also included in the workflow (i.e., it is common to at least one additional workflow, or 3) At least one additional work objective is completed. At least one work primitive in the additional workflow is the first work primitive. It is also included in the first workflow to complete the task goal (i.e., the first workflow and and / or 4) the first workflow At least one work primitive included in the first workflow to complete the work objective. The activity includes a second workflow and at least one additional workflow for completing a second work objective. Both tasks are included in at least one additional workflow to complete the task goal (i.e. In the latter scenario, there is at least one reusable work The work primitive includes a first workflow, a second workflow, and at least one additional workflow. It is included in all of the workflows (i.e. it is common or reusable).
[0082] The robots may come in a variety of different forms and may include a variety of different components. The robot, as explained above, must have a non-unique A housing, a carrier, and a storage medium, the housing, including at least one processor communicatively coupled to the storage medium. Advantageously, the actuator may include a body or legs that are mechanically coupled to the actuator. The robot is mechanically coupled to the body and communicatively coupled to at least one processor. The device may also include at least one physically operable component integrated with the device. The physically actuatable components may controllably move and act as a robot and / or robotic can act on or to effect changes in the robot's environment Throughout this specification and the appended claims, the term "physically operable components" is used. The term “element” refers to a process (e.g., by a robot or by an operator or controller of a robot) that is (by a human or pilot) and can be controlled to move (including, but not limited to, parallel The actual object of the robot that changes in some physical way (including translation and / or rotation) Non-limiting examples of physically operable components include arms, ends, and Stretchable and / or displaceable effectors, such as grippers, hands, fingers, legs, necks and booms These include a movable support structure, and wheels.
[0083] In accordance with the present systems, devices, and methods, a robot includes at least a first physically actuable If the robot contains a component that can be read by at least one processor, for example the information is stored on a non-transitory storage medium (such as a mobile phone or other device) or is otherwise accessible by the robot. The library of reusable work primitives that are used to create at least the first physically It contains a set of reusable work primitives that can be executed by configurable components. That is, a library of reusable work primitives for a robot may be created using at least and a particular reusable function that is respectively executable by the first physically operable component. It can contain work primitives.
[0084] Completion of some work goals may, for example, involve changes to the robot and / or its environment. The first physically actuable component of the robot may be advantageously deployed to In this case, the robot performs act 102 of method 100 and / or a sub-act of method 200. When starting a workflow to complete a work goal per Action 202 of Act 210 The robot comprises a first physically actuable component that is operable to perform a reusable task. contains at least one reusable work primitive from a set of work primitives, A robot may start a first set of reusable work primitives. When executing the command, the robot executes a command that is executable by the first physically actuatable component. At least one reusable work primitive is selected from the set of reusable work primitives. and executing a first physically actuable component interrogative such that the first physically actuable component At least one reusable work primitive that can be executed by a movable component. A change to the robot or its environment in some deliberate way characterized by At least one physically actuable component is operable to provide a gripper A component that acts to grasp an object, such as a robot or hand (e.g., an end effector). A specific example of the above that includes or is shown in FIG.
[0085] FIG. 3 illustrates an exemplary method 300 of operation of a robot in accordance with the present systems, devices, and methods. 3 is a flow diagram illustrating the method 300. To perform the method 300, a robot is configured to grasp an object. a reusable robotic component including at least a first physically actuatable component that is movable; The library of work primitives includes at least a first work primitive operable to grasp an object. A set of reusable grasping primitives that can be implemented by physically actuable components The method 300 includes three acts 301, 302, and 303, which will be understood by those skilled in the art. In alternative implementations, certain acts may be omitted and / or additional acts may be performed. It will be appreciated that additional steps may be added. It will also be understood that this is shown for illustrative purposes only and may vary in alternative implementations.
[0086] Method 300 is substantially similar to method 100, but includes a first step completed by the robot. The detail is added that the work goal specifically includes grasping an object. In step 301 of FIG. 3, the robot performs a step similar to that described for act 101 of method 100. In the method, a first work goal is initiated, which includes grasping an object. The goal is to pick up objects, displace objects, pull objects, throw objects, etc. Twisting, rotating, holding on to objects (such as tools or equipment) and / or may otherwise involve manipulating the object.
[0087] At 302, the robot performs the step of (in a manner similar to that described for act 102 of method 100) ) Initiate a first workflow and complete a first work objective. According to the method, in the example method 300, a first workflow is At least one reusable grasping primitive from a library of functional work primitives at least one reusable grasping primitive operable to grasp an object. Throughout this specification, the term "understanding" refers to a first physically operable component. The term "grasping primitive" refers to a primitive that is used to grasp an object in a particular way. This refers to a particular configuration adopted by components that are operable and physically operable to perform certain functions. For example, a physically actuatable component that operates to grasp an object may include a plurality of fingers and thumbs. If it is or includes a hand with fingers (i.e., an analogue of a human hand), then it is different. The grasping primitives correspond to different arrangements or configurations of the fingers and thumb when grasping an object. Such a hand-like physically actuable structure may be operable to grasp an object. The elements are particularly relevant to the intended use of the object and / or the properties of the object (e.g. shape, size, Depending on the size, geometry, stiffness, and fragility of the object, different methods can be used to grasp different objects. The specific "different ways" in which the grasp can be achieved may be optimal for each grasp. These may correspond to primitives, various non-limiting examples of which are shown in FIG.
[0088] FIG. 4 illustrates a reusable grasping primitive 400 in accordance with the present systems, apparatus, and methods. FIG. 1 is an illustration of an exemplary set of reusable grasping primitives 400. In the set, the physically actuable components that act to grasp the object are A robotic hand with four fingers and an opposable thumb (such as The grasp primitives correspond to different hand configurations that are suitable for grasping in different ways. However, the teachings herein are not intended to be construed as limiting the scope of the present invention, but rather to be construed as limiting the scope of the present invention. The dynamically actuable components can be configured to have different numbers of fingers, such as two fingers, three fingers, five fingers, six fingers, etc. Those skilled in the art will appreciate that the present invention may be applied in alternative implementations, including fingers.
[0089] In FIG. 4, the grasping primitives 400 are divided into two high-level categories. "Strong" and "precise" grasping primitives. The grip is suitable for applications where, for example, gripping a strong rigid object is desired, or where a very secure grip is desired. The "precision" grasping primitives provide a strong grasp for, e.g., delicate soft objects. Provides a gentle grip suitable for gripping or applications where highly maneuverable gripping is desired. The categories of "strong" and "precise" grasp primitives are Each of these is influenced by the shape of the object being grasped (e.g., cylindrical or circular) and the configuration / positioning of the fingers and thumb (e.g., , heavy wrap, light wrap, disc, sphere, four finger, one finger) and further sub In this way, an example set of reusable grasping primitives is created. The hand 400 is a hand operable to grasp an object in accordance with the present systems, devices, and methods. Eight unique grasping platforms that can be deployed autonomously by physically actuable components such as However, those skilled in the art will recognize that the eight exemplary reusable primitives of FIG. The set of grasping primitives 400 is provided for illustrative purposes only and may in practice be reused. The set of available grasping primitives may be any number and combination depending on the particular implementation. It will be understood that the present invention may be or may be constructed from the grasping primitives of All eight reusable grasping primitives 400 shown in FIG. At least one additional reusable grasping primitive not shown in Figure 4. An entirely different reusable grasping primitive that does not include any of the eight reusable grasping primitives 400. A set of simple grasping primitives. In addition, different implementations can use reusable grasping primitives. The set of may follow a different organizational structure than that shown in FIG. The set of available grasping primitives does not have to follow any organizational structure.
[0090] Returning to method 300 of FIG. 3, in 303, the robot continues the first work started in 302. Execute the workflow (in a manner similar to that described for act 103 of method 100). In performing the first workflow at 303, a first The physically actuable component implements at least one reusable grasping primitive. A specific method (e.g., heavy lap or one finger) that is appropriate for the object or work target. The object is grasped. The first work goal is completed by executing the first workflow in 303. do.
[0091] FIG. 5 illustrates the operation of a robot to grasp an object in accordance with the present systems, devices, and methods. 5 is a flow diagram illustrating an example method 500 of the present invention. To perform the method 500, the robot: a robotic hand having multiple fingers and an opposable thumb; At least one processor operable to control the operation of the at least one processor at least one sensor communicatively coupled to the processor; and at least one processor. and a processor-readable non-transitory storage medium communicatively coupled to the processor. The processor-readable non-transitory storage medium includes a reusable grasping primitive. When executed by the library and at least one processor, the robot hand is Autonomously using reusable grasping primitives from a library of available grasping primitives and instructions executable by a processor to execute the method 500. 01, 502, 503, and 504, and one sub-act 531, but in an alternative implementation: Certain acts and / or sub-acts may be omitted and / or additional acts and / or sub-acts may be performed. Those skilled in the art will understand that additional steps may be added. The sequence of acts and / or sub-acts is shown for illustrative purposes only and alternative implementations may be used. It will also be understood that the above may be changed.
[0092] In 501, at least one sensor collects data about an object. In the implementation of the at least one sensor, such as at least one camera, In 501, the at least one optical sensor may include In some implementations, optical data such as at least one image relating to the The at least one sensor may include at least one force sensor or tactile sensor. In 501, at least one force sensor or tactile sensor detects a force on an object. Sensory data or tactile data may be collected. The system may be a LiDAR system or other scanner system based on e.g. radio frequency. The signal emitter may include:
[0093] In 502, the data collected by the at least one sensor in 501 is The image is analyzed by at least one processor to determine the shape of the object. When the at least one sensor includes at least one optical sensor, a person skilled in the art can easily The analyses performed in 02 cover a wide range of machine vision and / or It will be appreciated that either digital image processing techniques or image retrieval techniques may be employed. matching, registration, filtering (e.g., morphological filtering), thresholding Value, pixel count, segmentation, edge detection, color analysis, blob detection and extraction output, neural network / deep learning / machine learning processing, pattern matching including template matching recognition, and / or measurement / measurement.
[0094] In 503, at least one processor performs, at least in part, the process in 502. Based on the determined object shape, a specific object is grasped from a library of reusable grasping primitives. Select a reusable grasp primitive for each of the processors. Certain reusable grasping primitives are, in some implementations, Compared (or contrasted) with all other reusable grasping primitives in the library of ) and the particular shape that the processor determines to be the best match (or the best match) for the shape of the object. A reusable grasping primitive, or a specific reusable grasping primitive As an example, a specific reusable gripper that "best fits" the shape of the object may be included. The primitive is compatible with all other reusable primitives in the library of reusable grasping primitives. Compared with the existing grasping primitives, we choose a primitive that best fits the shape of the object or that is closest to the shape of the object. A particular reusable grasping tool employs a multiple finger and opposable thumb configuration of a robotic hand. It may be primitive.
[0095] In some implementations, 503 is used to select a particular reusable grasping primitive. At least one processor may select from a library of reusable grasping primitives. A particular reusable grasping primitive is Reuse the primitives to determine which one best fits the object's shape compared to other grasp primitives. Using each reusable grasping primitive in the library of possible grasping primitives (5 A robot hand is used to grasp an object (given the shape of the object determined in step 02) in a simulation experiment. The simulation / modeling process may involve the creation of reusable grasping primitives. For each reusable grasping primitive in the library of the How well the device conforms to, accommodates, or fits the shape of the object and / or grips it Each was assigned a score based on how likely or unlikely the goal is to be achieved. In an implementation employing such a scoring system, at least Another processor is responsible for all other reusable objects in the library of reusable grasping primitives. Compare available grasping primitives to find a specific reusable grasper that best fits the object shape. As the grasp primitive, return the reusable grasp primitive with the highest score, or In some implementations, at least one processor may first (i.e., before modeling or simulating the grasping of an object by a robotic hand), (e.g. The need to grasp an object, e.g., whether a strong grasp or a prismatic grasp is preferred, Reusable graspers are unlikely to provide a good match based on the characteristics of the object or task being grasped. For example, referring to FIG. 4, if an object is solid, If the object is known to be heavy and its shape is determined (at 502) to be long and cylindrical, In this case, at least one processor has a reusable gripper that corresponds to "columnar" and "strong". Reusable, so that only essential primitives are modeled and / or simulated. The grasp primitives can be filtered.
[0096] In some implementations, modeling and / or simulation is not employed, and 503 At least one processor may be implemented purely as an inference or elimination filter similar to that described above. Based on the design process, a specific reusable grasping primitive can be selected. In other words, going back to Figure 4, we know that the object is light and fragile, and the If the shape is determined to be spherical (at 502), then at least one processor , 503, “Precise, then circular, then spherical” reusable gripping primitives Based on these characteristics, we develop a library of reusable grasping primitives to select the best one. The library may be filtered.
[0097] In 504, the robotic hand performs at least the steps in 503 to grasp the object. Executes a particular reusable grasping primitive selected by another processor. In some implementations, the robotic hand is controlled by at least one processor. In one embodiment, the at least one processor may include a processor for controlling the robotic hand to move the object. a processor that autonomously executes a particular reusable grasping primitive to grasp an object; The executable instructions may be executed by
[0098] As explained in some of the previous examples, in some implementations, at least one process In 503, the sensor determines the shape of the object determined in 502 and at least one tracking feature of the object. Additional parameters (e.g., whether the object is heavy or light, whether the object is strong / durable, fragile, etc.) A library of reusable grasping primitives based on both the A particular reusable grasping primitive may be selected. In some implementations of the present invention, the at least one processor analyzes additional data about the object. By using the above-mentioned method, at least one additional parameter of the object can be determined. The data is collected by at least one sensor (i.e., data related to the object in 501). Use the same sensors that collect the data you want to measure, or use the same sensor type or different sensors. using different types of sensors), or from an external source (e.g. the pilot of the robot). For example, the robot , in particular to receive additional data relating to the object, and The additional data about the object may include at least one receiver coupled to the object. For example, additional data about an object may be provided in a variety of different forms, depending on the Alone or in any combination, object hardness, object stiffness, object personality, object function, and and / or the mass of the object.
[0099] The robot may perform method 500 (i.e., grasping an object) as part of a workflow. That is, the act or movement of grasping an object can actuate the work target. One or more reusable In accordance with the present system, apparatus, and method, at 503 The specific reusable work primitives selected by the robot for each In the implementation, what will the robot do with the grasped object in advancing the work objective? may be at least partially dependent on or influenced by the If the robot needs to swing an object or use it as a tool, it is called "strong." The grasping primitives are adopted to ensure a reliable grasp of the object. When a robot needs to place an object precisely, it employs a “precision” grasping primitive to accurately grasp the object. Thus, in some implementations of method 500, act 503 may include In act 531, a robot (e.g., at least one of the robots) The method further comprises: determining, at least in part, the shape of the object determined in 502; The reusable grasper is based on both the information about the work target to be performed by the robot and the Select a specific reusable grasping primitive from a library of grasping primitives. Information about the work objectives to be performed by the robot is read by the robot's processor. The grasping primitives are stored as data in a non-transitory recording medium that can be reused at 503. The at least one processor accesses the selected object. The data on the work objectives to be performed by the robot are sent to the pilot or operator of the robot. or a command received from the controller (e.g., by at least one receiver in the robot) via commands from the robot pilot or operator (e.g. via instructions or commands received locally (by microphone or input terminal) and / or the autonomous action plans and / or actions executed by the robot's artificial intelligence. Through a variety of different means, including but not limited to, through inference, the robot's processor or to a processor of the robot. It may arrive on a more readable non-transitory recording medium.
[0100] In accordance with the present systems, methods, and apparatus, a robot may include a reusable grasping primitive. Each reusable grasping primitive in the library can be executed autonomously. Typically, a robot is created using a library of reusable work primitives. Such autonomy can be achieved by robots. This involves having the program execute reusable grasp / work primitives over and over again. A person skilled in the art will appreciate that a process of training or learning may be developed or made possible. Operate the robot to reproduce a complete set of instructions that achieves a work goal (i.e. and operate the robot to reproduce the entire workflow) to You may already be familiar with the concept of training a robot to complete a goal. According to the system, method and apparatus, a complete set of instructions for the entire workflow is reproduced. This traditional approach to operating a robot to A robot trained to execute an entire workflow autonomously is Highly specialized, autonomously completing only the work objective(s) that correspond to the workflow. Even slight changes in conditions, environment, or work target specifications can affect its This could prevent highly specialized robots like these from completing their work objectives autonomously. Conversely, the present system, method, and apparatus describes an autonomous "general purpose" robot. However, this versatility is due, at least in part, to the fact that each robot can Autonomously execute individual work primitives (not just individual processes) and achieve a wide range of different work goals. Such work primitives can be “reused” across many different workflows that correspond to The result is the ability to "use" reusable work primitives autonomously. Training a robot to perform an entire workflow autonomously is the same as training a robot to perform an entire workflow autonomously. Unlike training a robot, the advantage of this is the versatility that allows for multiple robot applications. In other words, training a robot to execute a complete workflow autonomously is In contrast, training a machine to execute reusable work primitives autonomously is Improving the capabilities of robots in terms of versatility, generality, and scope of usefulness.
[0101] FIG. 6 illustrates a method for completing multiple work objectives in accordance with the present system, apparatus, and method. 6 is a flow diagram illustrating an exemplary computer-implemented method 600 for initializing a robot. 00 includes two main actions 601 and 602, and action 602 includes two sub actions 621 and 622. 622 and 623, however, those skilled in the art will recognize that in alternative embodiments, certain acts / sub-acts may be It is understood that additional acts / sub-acts may be added and / or omitted. Those skilled in the art will appreciate that the order of the illustrated acts / sub-acts is presented for illustrative purposes. It will be understood that the method 60 is merely illustrated and may be modified in alternative embodiments. 0 is capable of communicating with a non-transitory recording medium readable by at least one processor conventional computing hardware, such as at least one processor coupled to the and various other components such as system buses, input / output peripherals, and networking hardware. well-known components of the BIOS, various drivers, operating systems, etc. Conventional software and and firmware executed by one or more computer systems In accordance with the present systems, methods, and apparatus, A non-transitory recording medium readable by at least one processor includes at least one processor. at least one communicatively coupled to a non-transitory storage medium readable by the processor; When executed by the processor of the computer system, the computer-implemented method 60 0 and / or instructions executable by a processor (e.g., The present invention may also store a program product (computer program product).
[0102] 601 defines a library of reusable work primitives. Each reusable A work primitive can be executed by a robot, and a reusable work primitive is created. Each combination and sequence of reusable work primitives from the library of Columns are assigned to robots to complete each workflow that advances each work goal. It is initiated and executed by the
[0103] At 602, the robot performs a reusable task of recreating each of the reusable task primitives in the library. They are trained to autonomously execute reusable work primitives. Each reusable work primitive in the library of primitives is executed autonomously. Training a robot to do this is done using a library of reusable work primitives. For each reusable work primitive, you can reuse it in any workflow. A reusable work primitive can be preceded or followed by other reusable work primitives. Reusable without consideration, tolerance, or adaptation and operating the robot to repeatedly execute the work primitives. In other words, the traditional approach of training a robot to autonomously reproduce an entire workflow is The technique involves sequentially executing preceding and succeeding instructions to complete a work goal. The system includes controlling a robot to execute a series of instructions that are dependent on one another. In the method and apparatus, the robot performs the following steps for each reusable work primitive: An instruction is an independent instruction that does not depend on preceding or succeeding instructions and does not complete a work objective by itself. It executes a self-contained set of instructions to automate the creation of individual reusable work primitives. The robot is trained to play rhythmically. The training process of the robot in 602 is shown in FIG. These are shown as sub-actions 621 and 622 in the flowchart.
[0104] In 621, training the robot in 602 includes training at least one process of the robot. When executed by the robot, it provides a library of reusable work primitives A processor that selectively and autonomously executes each reusable work primitive of The method may further comprise generating executable instructions for the processor. For each reusable work primitive, the robot is repeatedly operated to reuse it. This may include an iterative process of executing and re-executing possible work primitives, When performing a robotic task, we assign reusable work primitives to the robot in a way that is most successful (i.e., with the fewest errors). in the shortest amount of time, with the greatest accuracy or precision, or by other similar measures of success. The actions and control parameters (e.g., actuation timing, force and torque level, etc.) can be reused by the robot when it is re-executed by the robot. A processor-executable instruction that selectively and autonomously re-executes certain work primitives. The command may be encoded as
[0105] At 622, the processor executable instructions generated at 621 are The information is sent to a non-transitory storage medium readable by the processor. In the present embodiment, the processor-executable instructions generated in step 621 can be reused by the robot. It is called and played by the robot to autonomously execute various work primitives. The robot is then "loaded" into
[0106] As described above, in accordance with the present systems, methods, and apparatus, a robot can be autonomously reused. Training a machine to execute the work primitives it can perform can be completed in a simulated environment. For example, the training of the robot in 602 can be performed by the robot simulating the simulation as shown in FIG. Each reusable work primitive in the library of reusable work primitives in the simulated environment This may include training the primitives to execute autonomously.
[0107] FIG. 7 illustrates a method for completing multiple work objectives in accordance with the present system, apparatus, and method. 7 is a flow diagram illustrating an exemplary computer-implemented method 700 for initializing a robot. 00 includes two main actions 701 and 702, and action 702 includes three sub-actions 721, 722 and 723, but those skilled in the art will appreciate that in alternative embodiments, specific acts / that sub-acts may be omitted and / or additional acts / sub-acts may be added; Those skilled in the art will appreciate that the order of acts / sub-acts depicted is for illustrative purposes only. It will also be understood that the above is shown for purposes of illustration only and may be modified in alternative implementations. The method 700 includes communicating with a non-transitory storage medium readable by at least one processor. At least one processor and a conventional computing hardware hardware, as well as system buses, input / output peripherals, and networking hardware. Various other well-known components, as well as the BIOS, various drivers, operating system Conventional software stored on a non-transitory recording medium that can be read by a processor such as a One or more computer systems, including software and firmware According to the present system, method and apparatus, The non-transitory recording medium readable by at least one processor includes at least At least one processor communicatively coupled to a non-transitory storage medium readable by a processor. When executed by a single processor, the resulting program becomes computer-implemented in a computer system. Data and / or processor-executable instructions (e.g., , computer program products).
[0108] In 701, similar to act 601 of method 600, a reusable work primitive is generated. Each reusable work primitive is executable by the robot. be.
[0109] At 702, the robot performs a reusable work process on each reusable work primitive in the library. They are trained in a simulated environment to autonomously execute available work primitives. Throughout this specification and the appended claims, the terms "simulated environment," "simulated instance," and "simulated instance" are used interchangeably. The term "simulated" means a virtual or digital copy or equivalent of a physical counterpart. Therefore, a "simulated environment" refers to at least one A non-transitory recording medium readable by the processor and executed by the processor. and encoded with executable instructions and / or data and executable by such a processor. The method is implemented by at least one processor that executes instructions and / or data. A virtual or digital representation of the physical environment. and / or data characterizing the space and, if applicable, any objects contained therein. Dimensions (e.g., spatial parameters), geometric shape, and other parameters (e.g., gravity The simulated environment can be encoded with known physical constants (acceleration due to gravity, speed of light, etc.). It may or may not represent the world environment. For purposes of simulation, the simulated environment may be displayed on a screen or monitor; Such visual manifestations of the environment are essential to all implementations of the present systems, methods, and devices. In some embodiments, training the robot in a simulated environment is not required. Training may include training one or more simulated experiments of the robot in a simulated environment. To this end, act 702 includes subacts 721, 722, and 723.
[0110] In 721, this is part of training the robot in a simulated environment in 702 Then, a first simulated instance of the robot is created in the simulated environment. The stance is stored in a non-transitory recording medium readable by at least one processor. A program code that is encoded with instructions and / or data executable by a processor that is programmed to execute the program. at least one processor that executes instructions and / or data executable by the processor; The present invention may include a virtual or digital representation of a robot implemented by a processor. The executable instructions and / or data may be modeled on a number of dimensions (e.g. spatial parameters), geometry, and other parameters (e.g., degrees of freedom, material properties, quality The amount of movement, etc., and, if applicable, how it moves can be encoded. To interface with the user, a simulated instance of the robot is displayed on a screen or monitor. Such visual representation of the simulated instance of the robot may be displayed on a monitor. Not necessary in all implementations of the present systems, methods and devices.
[0111] In 722, a processor is provided with a part for training a robot in a simulated environment in 702. The more executable instructions are executed repeatedly (by at least one processor), The first mock instance of the work set is assigned to the first Executes a reusable work primitive.
[0112] In 723, which is part of the training of a robot in a simulated environment in 702, The processor-executable instructions executed repeatedly on the robot are A program is created to cause the first simulated instance to execute the first reusable work primitive. and the processor is adapted to execute the executable instructions in a repetitive manner. For example, the processor executable instructions repeatedly executed at 722 are: In 723, improving the results of executing instructions executable by the processor in 722 or to reproduce, a first simulated instance of the robot is One or more parameters that govern how the primitive is executed (e.g., the type of actuation During the measurement or actuation, the force or precision of the actuation, the target value or threshold, the sensory trigger, etc. The first simulated instance of the robot may be modified to adjust the first reusable Execute instructions executable by the processor to perform work primitives that can be executed by the processor. If the first iteration produces results that are flawed in some way (e.g., the first reusable Possible work primitives execute too slowly, with insufficient precision or accuracy, too early, (excessive precision or accuracy or inconsistent with expected results), then 723 The instructions are refined at 722 and then repeated at 723 (i.e., for the second iteration). can be returned to verify that a more desirable result is achieved.
[0113] In some implementations, the method 700 includes a library or reusable work primitives. It may continue for any number of additional reusable work primitives within the activity. Acts 722 and 723 are performed by reusing each of the reusable work primitives in the library. It may be repeated for each possible work primitive, e.g. by additional processors. The executable instructions are then repeatedly executed (i.e., at 722) to generate a first model of the robot. The pseudo instance must contain at least one of the reusable work primitives in the library. Additional reusable work primitives may be executed, and the first simulated instance of the robot may be A processor that causes the instance to execute at least one additional reusable work primitive. The instructions executable by the controller include at least one additional instructions executable by a processor to perform reusable work primitives Improved based on at least one iteration (i.e., in 723) This may also be the case.
[0114] In accordance with the present system, method, and apparatus, reusable work primitives are autonomously generated. Training a robot to perform a real physical task using a real physical robot It may take place in the real world, or in a simulated world using a simulated instance of a robot. In each case, using instructions executable by the same or a substantially similar processor. , it is possible to control or govern the behavior of real robots / simulated robots. Instances are trained in simulated environments (as opposed to training a real physical robot in a real physical environment). The advantage of training on a real physical robot is that it allows As mentioned above, the training process is The robot needs to repeatedly execute reusable primitive tasks during training, This causes significant wear and tear on hardware before it can be deployed to complete any meaningful work. This can reduce the functional lifespan of the robot. Moreover, in the early stages of training, the robot It is very bad at implementing reusable work primitives and when you try to implement them Early attempts to do so may result in damage to the robot itself or its surroundings. The bot may fall over or collide with surrounding objects. Training on simulated instances reduces such risks to real, physical robots. can be avoided.
[0115] An additional advantage of training simulated instances of a robot in a simulated environment is that the training process is parallel. In some implementations, the robot's arbitrary A number of additional simulated instances of the robot are generated in the simulated environment, For example, some implementations of method 700 may be trained in a simulated environment. generating at least one additional simulated instance of the robot based on the at least one additional simulated instance of the robot; At least one additional simulated instance of the robot, alongside the first simulated instance of the robot In parallel (or independently), the first Repeated instructions executable by the processor that executes reusable work primitives and executing the first simulated instance of the robot. Assign the first reusable work primitive to at least one additional mock instance. The instructions executable by the processor to be executed are stored in the first simulated instance of the robot and the robot 1. Attach a first reusable work primitive to at least one additional simulated instance of the set. At least one result of repeatedly executing instructions executable by a processor that executes the program. In some implementations, the processor may perform A single common instance of the command is executed by both / all simulated instances of the robot. be run and refined based on the results across all simulated instances of the robot (e.g., each simulated instance of the robot grasps a different object, etc.) ,The same reusable work primitives, with some controlled variations. In other implementations, each simulated instance of a robot executes each instance of an instruction executable by the processor, and Each instance of a possible instruction represents the outcome that is achieved on the corresponding simulated instance of the robot. In this latter scenario, the number of instructions executable by the processor is improved. Each instance is compared after an improvement process to determine which instructions can be executed by the processor. A globally optimal instance of the command may be selected.
[0116] Training in the simulation should be conducted for extended periods of time without interruption (i.e., no breaks or rest periods). The method has the further advantage that it can be carried out continuously (without the need for repeated injection).
[0117] FIG. 8 illustrates a method for robotically reusable workpieces in accordance with the present systems, methods, and apparatus. FIG. 8 illustrates an example simulated environment 800 in which a user is trained through simulation to perform a mitigating action. The simulated environment 800 includes a simple space with a flat ground 801. It is not based on any real-world space. Multiple simulated instances of real-world robots are simulated. 8, which is an exemplary first simulated instance 8 Each simulated instance of the robot 810 is called by each object 82. To grasp 0, a specific reusable grasping primitive is repeatedly executed (random To reduce clutter, only one example object 820 is called out in FIG. In accordance with the system, method, and apparatus, the simulated instances of the robot 810 each include ,training to execute reusable work primitives autonomously and ,reducing the complete work primitives. Instead of flow, we parallelize such training across multiple simulated instances. This significantly speeds up the training process compared to doing it on actual physical robot hardware. This can be done quickly and at the same time, without damaging or destroying any physical components or objects in the real world. Depending on the quality of the simulation, the simulated instance of the robot 810 may be It is used to control the behavior of the process and optimizes the autonomous performance of reusable work primitives. Instructions executable by the trained processor are removed from the simulation to optimize the It may be loaded onto an actual physical robot. In other words, the simulation of the robot 810 The instances and simulated environments 800 are sufficiently representative of real-world physical analogs. Through training of simulated instances 810 in a simulated environment 800, The instructions executable by the same or substantially similar processors developed may be used to simulate real-world physical The robot is deployed in a real, physical world, and such a real, physical robot Reusable work primitives can be made to execute autonomously.
[0118] The training process described herein, when executed, may be used to train a robot, or any A processor that executes reusable work primitives on a number of simulated instances. In accordance with the present systems, methods, and apparatus, such a processor The instructions executable by the remote control system may originate from and / or be executed by the remote control system. It can be generated by
[0119] FIG. 9 illustrates a method for completing multiple work objectives in accordance with the present system, apparatus, and method. 9 is a flow diagram illustrating an exemplary computer-implemented method 900 for initializing a robot. 00 includes two main actions 601 and 602, and action 602 includes three sub-actions 921, 922, and 923, but those skilled in the art will recognize that in alternative embodiments, certain acts that acts / sub-acts may be omitted and / or additional acts / sub-acts may be added Those skilled in the art will appreciate that the illustrated order of acts / sub-acts is in accordance with the exemplary objectives. It is understood that the embodiments are shown for purposes of illustration only and may be modified in alternative embodiments. As such, acts 601 and 602 of method 900 are the same as acts 602 and 602 of method 600. The method 900 is readable by at least one processor. A conventional computer, such as at least one processor communicatively coupled to a non-transitory storage medium, Computing hardware, system buses, input / output peripherals, network hardware Various other well-known components such as the BIOS, various drivers, operating The information is stored on a processor-readable non-transitory recording medium such as a rating system. One or more computer systems including conventional software and firmware The present invention relates to a computer-implemented method that may be performed by a system or systems. and a non-transitory storage medium readable by at least one processor according to the apparatus. The body is capable of communicating with at least one processor-readable non-transitory storage medium. When executed by at least one processor coupled to the Executable by a processor and / or data that causes the computer-implemented method 900 to be executed. The device may also store instructions (e.g., a computer program product) that can be used to
[0120] In 601, the reusable work print is printed in a manner similar to that detailed in method 600. A library of mitivs is defined.
[0121] In 602, the robot performs recycling in a manner similar to that detailed in method 600. Each reusable work primitive in the library of available work primitives is Although the subject is trained to perform the action 602 of the method 900, the action 602 includes sub-actions 921, 922, and 923. In some implementations of the method 900, act 602 includes one or Although method 900 may be performed using only multiple actual physical robot(s), In another embodiment, act 602 may involve any number of simulated instances of an actual physical robot. This may be performed using
[0122] As part of training 602 the robot, 921, a simulated instance of the robot is The first reusable work primitive in the library of available work primitives The remote operation command is received from a remote operation system. Further exemplary details of the action 602 may be described below. When the teleoperation command is executed using a real physical robot, the teleoperation command is executed by a real physical robot at 921. The actions 602 may be received as any number of simulated instances of a real physical robot. When the remote control command is executed using the computer that is performing the simulation, the remote control command is executed using the computer that is performing the simulation. The signal may be received by a computer system.
[0123] As part of training 602 the robot, 922, a (simulated instance of) the robot A remote operation instruction is executed that causes the first reusable work primitive to be executed. If the operation 602 is performed using a real physical robot, the teleoperation command is The action 602 may be performed by a real physical robot. When executed using any number of simulated instances of the The method may be performed by a computer system running a simulation.
[0124] In act 602, as part of training the robot, 923 is performed by the processor. The instructions executable by the processor are generated based on the robot's (simulated Replay a remote operation instruction that causes the remote instance (stance) to execute the first reusable work primitive. In other words, the instructions executable by the processor are When executed by the robot, it causes a (simulated instance of) the robot to replay remote control commands. ,without the remote operation instruction itself (i.e., executing the first reusable work primitive) without receiving additional remote operating instructions providing details of how to It can represent an executable copy of the remote operation instructions that cause the work primitives to execute autonomously. If act 602 is performed using an actual physical robot, The instructions executable by the processor may optionally include a first reusable work primitive. may be called or executed by the robot to autonomously execute the activity. Act 602 may be performed using any number of simulated instances of real, physical robots. In this case, the processor-executable instructions may be written as (e.g., a computer program product The software is then delivered or loaded onto a real, physical robot (as a service) and the robot is given the first may be executed by a robot to perform reusable work primitives. .
[0125] In accordance with the present system, method, and apparatus, sub-acts 921, 922 of act 602 of method 900 22, and 923 are the respective reuses in the library of reusable work primitives. It may be iterated over the available work primitives.
[0126] In some implementations, teleoperation instructions can be reused across (simulated instances of) robots. The first reusable work primitive in a library of work primitives A first set of remote control instructions to run the instance, and a simulated instance of the robot ) the first reusable work primitive in the library of reusable work primitives and a second set of remote operation instructions for executing a second instance of the activity. The first remote operation instruction set and the second remote operation instruction set are a first reusable work A first instance of a work primitive and a second instance of a first reusable work primitive. The instances differ in some way, just as they differ in some way. the difference(s) between the set of instructions and the second set of remote control instructions, and A first instance of a first reusable work primitive and a first reusable A comparison is made due to the difference(s) between the first instance of the work primitive and the second instance of the work primitive. Then, the robot (simulated instance of the robot) executes the first reusable work primitive. Advantageous formulations of remote control instructions that allow the user to control the movement of the object are identified and further developed. For example, In some implementations, the robot is prompted to create a first instance of a first reusable work primitive. executing a first set of remote control instructions to cause the robot to execute the first remote control instruction set; A second remote process is then executed to execute a second instance of the reusable work primitive. Evaluating (e.g., comparing) respective results of executing the set of operational instructions to determine a first remote Which of the two remote control instruction sets produces better results according to the measure of success? "Better results" include fewer errors, be more accurate or precise, use less power, perform more quickly, be more precise Results may include those that are aesthetically pleasing and / or favorable according to other measures of success. Once a particular set of remote control instructions that produces better results has been identified (i.e., the first The remote operation instruction set and the second remote operation instruction set, and / or other evaluated In the remote control instruction set, the processor-executable instructions generated by 923 are: Advantageously, the robot (simulated instance of the robot) is given instructions for teleoperation that result in a better outcome. It can be designed to regenerate either.
[0127] In some implementations of method 900, the processor-executable instructions generated at 923 The instruction includes at least one element of the first remote operation instruction set and at least one element of the second remote operation instruction set. In other words, the generated The processor executable instructions include advantageous elements of a first remote control instruction set and a second remote control instruction set. The present invention may include a combination of advantageous elements of the two remote control instruction sets.
[0128] The remote control system, and therefore the remote control commands received from the remote control system, may be transmitted to a variety of different In some implementations, the teleoperation system may take the form of a robot (simulating a It is performed by a real physical entity (such as a human user) that controls a virtual instance (a pseudo-instance). It can include sensors that detect real physical movements, and remote control commands can be sent to the robot (simulating a robot). (in a pseudo-instance) the real physics performed by such a real remote pilot. It can emulate the movements of a real remote pilot. A teleoperation system that allows a (simulated) robot to emulate the actual physical movements of a robot is Due to the low level of abstraction between the pilot's actions and the (simulated) robot's actions, In the document, it is called a "low-level" remote control system. Therefore, the low-level remote control system The remote control instructions provided by the system are referred to herein as "low level" remote control instructions. do.
[0129] In some implementations, the teleoperated system provides the user or pilot with a set of candidate actions. A graphical user interface (GUI) may be included to present the remote control The command causes (a simulated instance of a robot) to perform an action selected from the GUI. Such a GUI-based remote control system can synchronize the pilot's actions with the robot's actions. provides a higher level of abstraction between the behavior of a simulated instance of a The system is called the "high-level" remote control system. The remote control instructions provided by the remote control system are referred to herein as "high level" remote control systems. .
[0130] In some implementations, the first reusable work piece (in a simulated instance of a robot) The first set of low-level teleoperation instructions that implement the primitives are a processor that autonomously executes a first reusable work primitive in a processor that ... To generate a first set of executables, an initial iteration of the training process (e.g., method 60 0, method 700, and / or method 900) may be used to automatically a processor that executes a first reusable work primitive in a The first set of training data is used to generate the training set, and subsequent iterations of the training process are A process that autonomously executes the first reusable work primitive on a Use of high-level remote control commands to further refine the commands executable by the can be done.
[0131] FIG. 10 illustrates various features and components described throughout the present systems, methods and apparatus. FIG. 1 is a diagram illustrating an exemplary robotic system 1000 comprising: 000 is a first physically actuatable component 100 mechanically coupled to a body 1001. 2a and a second physically actuable component 1002b. In the illustrated embodiment, first and second physically actuatable components 10 1002a and 1002b correspond to the respective robot hands, but will be understood by those skilled in the art. If so, in alternative embodiments, the physically actuatable components may be in other forms (such as arms or legs, The end effector, such as a non-hand like a hand or a suction tube, or the robot It is understood that the present invention may take other forms, such as those useful for the particular use for which it is intended to be performed. The robot hand 1002a emulates a human hand and has multiple fingers 10 21a, 1022a, 1023a, and 1024a, and opposable thumbs 102 Robot hand 1002b is similar to the mirror image of robot hand 1002a. However, for the robot hand 1002b, the corresponding details are omitted to reduce clutter. The details are not labeled. The robotic hands 1002a and 1002b are electromechanical. static actuation, cable driven actuation, magnetorheological fluid based actuation, and / or hydraulic actuation The robotic hand 100 may be physically actuable by a variety of different means, including Some examples of actuation techniques that may be employed to physically actuate 2a and 1002b: For further details, see the filing date of May 21, 2021, entitled "Systems, Devices, And Methods For A Hydraulic Robotic Arm” (provisional application no. 63 / 191,732) and U.S. patent application no. No. 17 / 491,577, both of which are incorporated by reference in their entireties. This is incorporated herein by reference.
[0132] The robot body 1001 interacts with the environment of the robot system 1000 and / or objects within the environment. and at least one sensor 1003 for detecting and / or collecting data about the body. In the illustrated embodiment, the sensors 1003 include a camera, a microphone, and It itself contains an initial measurement unit consisting of three orthogonal accelerometers, a magnetometer, and a compass. It is compatible with sensor systems including
[0133] For purposes of illustration, FIG. 10 illustrates a robot body 100 in accordance with the present systems, methods, and apparatus. 1001, including details of certain exemplary components carried by or within the robot body 1001. Such components include at least one processor 1030 and a processor 1040. 30, a non-transitory memory readable by at least one processor communicatively coupled to The storage medium, or “memory” 1040, is a reusable A library of work primitives 1041 (which, depending on the implementation, may be used to represent the robot hand 10 Reusable gripping plates for either 02a and / or 1002b (which may or may not include a library of primitives) and by a processor 1030 When executed, the robot body 1001 (robot hand 1002a and / or 100 2b) (including applicable and operable components such as Choose from a library of reusable work primitives1041 and processor-executable instructions 1042 for selectively and autonomously executing the instructions. In certain embodiments, the processor-executable instructions 1042 may be any of the instructions described herein. Any or all of the methods 100, 200, 300, and / or 500 listed above, and / or associated acts of methods 700 and / or 900. The method further includes instructions (e.g., a computer program product) executable by a processor. It can be seen.
[0134] The processor 1030 controls the robot body 1001 to communicate with an exemplary teleoperation system 1070. Also communicatively coupled to a wireless transceiver 1050 for transmitting and receiving wireless communication signals 1060. To this end, the remote control system 1070 also includes a wireless transceiver 1071.
[0135] For purposes of illustration, the teleoperation system 1070 may include a low-level teleoperation interface 108 0 and high level remote control interface 1090. The interface 1080 detects actual physical actions performed by a human pilot 1082. The sensor system 1081 outputs the actual physical motion, and the processor 1030 outputs the actual physical motion. When executed by the robot body 1001 (and the hands 1002a and / or 002b) (any applicable and operational components) implemented by Pilot 1082 A processing system that converts the physical actions to be performed into low-level teleoperation commands that emulate the actions. In some implementations, the sensor system 1081 includes a haptic glove, a pad, Pilot 1082's body-worn accelerometer-based sensor, and Pilot 108 2 sees the optical data collected by the sensor 1003 of the robot body 1001. Many of the sensations typically employed in the field of virtual reality gaming, such as VR headsets that allow The high-level telemetry interface 1090 may include a sensor component in this exemplary implementation. It includes a simple GUI displayed on a tablet computer. The GUI of the interface 1090 controls the robot body 1001 (and the hands 1002a and / or or 1002b) It provides a set of buttons that correspond to the actions of the user. The action(s) selected by the user / pilot of the interface 1090 are When executed by the processor 1030, the robot body 1001 (and the hand 1002a and and / or any applicable operable components, such as 1002b) to the selected action ( The command is converted into high-level remote control commands that execute multiple commands.
[0136] In accordance with the present system, device, and method, a multipurpose robot can autonomously perform multiple workpieces. To execute a task, the task is trained to execute autonomously a finite number of reusable work primitives. Such a multipurpose robot can be trained to communicate with at least one on-board processor. a non-transitory recording medium readable by an on-board processor reliably coupled to the The processor-readable non-transitory recording medium may include data and / or or processor-executable instructions, which the robot can execute autonomously. It may also contain a library of reusable primitives. At least one processor may process data and / or processor-executable instructions. The robot analyzes the task and, when executed by the robot, achieves the desired completion of the task. Identifying a work primitive from a stored library of work primitives that results in a completion The sequence of
[0137] The robots described herein, in some embodiments, are described in U.S. Pat. The teachings of U.S. Patent Application Publication No. 2021-0031383 (Publication No. 16 / 940,566) Any of the above-mentioned references may be used. US Patent Application Publication No. 2021-0090201 (Application No. 17 / 061,187 (U.S. Patent Application Publication No. 2021-0122035), U.S. Patent No. Application No. 17 / 098,716 (U.S. Patent Application Publication No. 2021-0146553 No. 17 / 111,789 (U.S. Patent Application Publication No. 20 No. 21-0170607), U.S. Patent Application No. 17 / 158,244 ( U.S. Patent Application Publication No. 2021-0234997), U.S. Provisional Patent Application (Provisional Application No. No. 63 / 001,755 (U.S. Patent Application Publication No. 2021-0307170), and / or U.S. Provisional Patent Application (Provisional Application No. 63 / 057,461), and U.S. Provisional Patent The same is true of U.S. Provisional Patent Application No. 63 / 151,044, which is incorporated herein by reference in its entirety. 3 / 173,670), U.S. Provisional Patent Application (Provisional Application No. 63 / 184,268), U.S. Provisional Patent Application Provisional Patent Application (Provisional Application No. 63 / 213,385), U.S. Provisional Patent Application (Provisional Application No. 63 / 232 ,694), U.S. Provisional Patent Application (Provisional Application No. 63 / 253,591), U.S. Provisional Patent Application (Provisional Application No. 63 / 293,968), U.S. Provisional Patent Application (Provisional Application No. 63 / 293,973) and / or as described in U.S. Provisional Patent Application No. 63 / 278,817. , each of which is incorporated herein by reference in its entirety.
[0138] Throughout this specification and the appended claims, the terms "communicatively coupled" and "communicatively The term "capable of communicating" in variations such as "coupled to" generally refers to a device that transmits and receives information. It is used to refer to any engineering arrangement for communicating and / or exchanging information. Possible couplings include, but are not limited to, conductive paths (e.g., conductive wires, conductive traces), Magnetic paths (e.g., magnetic media), wireless signal transmission (e.g., radio frequency antennas), and and / or optical paths (e.g., optical fiber) in a variety of different media and / or forms. Exemplary communication couplings include electrical coupling, magnetic coupling, radio frequency coupling, and the like. These include, but are not limited to, numerical coupling, and / or optical coupling.
[0139] Throughout this specification and the appended claims, the infinitive verb form is often used. Examples include, but are not limited to, the following: "encode", "provide", "To remember," etc. Unless a particular context requires it, such infinitive verb forms are used in the form "a little "At least, encode," "at least, provide," "at least, store," etc. It is used in an open and inclusive sense, as in the example above.
[0140] This specification, including the drawings and abstract, describes all implementations of the present systems, devices, and methods. and is not intended to be an exhaustive or limiting description of embodiments. The various descriptions and drawings provided may be modified without departing from the spirit and scope of the present disclosure. In particular, it will be appreciated that the teachings herein may be implemented in a computer system as provided. The following examples are intended to be illustrative and not limiting of the systems and computing environments used: It is not intended to be illustrated.
[0141] This specification illustrates various implementations and examples in the form of block diagrams, circuit diagrams, flow charts, and examples. Those skilled in the art will recognize that such block diagrams, circuit diagrams, flow charts, and embodiments are provided. Any functions and / or operations within the embodiments may be implemented using a wide range of hardware, software, Implemented individually and / or collectively by software and / or firmware For example, it will be understood that various embodiments disclosed herein may , the whole or part of which may be implemented in one or more equivalent ways. Integrated circuits (i.e., ASICs), standard integrated circuits (plural), any number of computer-implemented A computer program(s) executed by the a program running on a system, any number of controllers (e.g., microcontrollers, A program executed by any number of processors (e.g. , microprocessor, central processing unit, graphical processing unit) The program(s) being executed, as well as firmware, and any combination of the above Match.
[0142] Throughout this specification and the appended claims, the term "memory" or "recording medium" refers to Processor data, data objects, logic, instructions, and / or programs electronic, magnetic, optical, electromagnetic, infrared, semiconductor, or Refers to a processor-readable medium, other physical device or means. , data objects, logic, instructions, and / or programs are referred to as software. When implemented in a memory or a recording medium, such a thing is data, data The data objects, logic, instructions, and / or programs may be transferred from a memory or recording medium to fetching from and performing various actions or operations (e.g. A computer-based system capable of executing the process steps Any suitable processor-related instruction, such as a system including a processor, or other system. Any suitable processor for use by an instruction execution system, apparatus, or device. The information can be stored in a medium readable by the processor. "Readable non-transitory recording medium" means an instruction execution system, apparatus, and / or device. For use by or in connection with instruction execution systems, apparatus, and / or devices. The data, data objects, logic, instructions, and / or programs used to As a specific, non-limiting example, The media that can be used are portable computer diskettes (magnetic, Compact Flash (registered trademark) ) cards, Secure Digital, Random Access Memory (RAM), Read-only Memory (ROM), erasable programmable read-only memory (EPROM, EEPROM) OM, flash memory), portable compact disk read-only memory (CDROM ), digital tape, and / or any other non-transitory medium.
[0143] The claims of the present disclosure are as follows: The present disclosure supports the claims and allows Although the claims are intended to be illustrative and illustrative of specific implementations or embodiments, Generally, claims are not intended to be limited to the scope of such claims. The present disclosure is intended to cover all possible implementations and embodiments of the present invention, together with the full scope of equivalents to which the scope is entitled. should be interpreted as follows:
Claims
1. A method of operating a robot, comprising: The robot, At least one processor; a non-transitory storage medium communicatively coupled to the at least one processor; a non-transitory storage medium readable by a processor; having The non-transitory processor-readable recording medium includes: A library of reusable work primitives, Processor-executable instructions, comprising: When executed by the above-mentioned library of reusable work primitives, instructions for causing the robot to autonomously execute the reusable work primitives; Remember, The method comprises: initiating a first work objective; initiating a first workflow to complete the first work objective; the first workflow comprises a library of reusable work primitives; a first set of reusable work primitives selected from the Executing the first workflow, executing said first set of reusable work primitives; and The method according to claim 1,
2. initiating a second work target different from the first work target; initiating a second workflow to complete the second work objective; 、 the second workflow comprising: a second set of reusable work primitives selected from the second workflow is different from the first workflow; At least one common, reusable work primitive is included in the first workflow. and the second workflow, Steps and Executing the second workflow, executing said second set of reusable work primitives; and The method of claim 1 further comprising:
3. at least one additional work target different from both the first work target and the second work target; initiating a work goal; at least one additional work objective to complete said at least one additional work objective; A step of starting a flow, The at least one additional workflow may include the reusable work primitives. At least one reusable work primitive selected from the library of Additional set, including The at least one additional workflow may include a first workflow and a second workflow. Unlike both the At least one common, reusable work primitive is included in the first workflow. the first workflow, the second workflow, and the at least one additional workflow. nothing, Steps and Executing the at least one additional workflow, at least one additional set of reusable work primitives. Step and The method of claim 2 further comprising:
4. The robot includes a communication interface communicatively coupled to the at least one processor. a surface; Initiating a first work objective includes: and receiving, via the communication interface, instructions related to the first work object. Step, Including, The method of claim 1.
5. Initiating a first work objective includes: autonomously identifying, by the robot, the first work target; Including, The method of claim 1.
6. The robot includes a communication interface communicatively coupled to the at least one processor. a surface; initiating a first workflow to complete the first work objective; receiving, via the communication interface, the first workflow; Including, The method of claim 1.
7. initiating a first workflow to complete the first work objective; The robot autonomously creates the first set of reusable work primitives. a step of identifying Including, The method of claim 1.
8. The robot comprises: a component communicatively coupled to the at least one processor, a first component that is at least physically operable; having The aforementioned library of reusable work primitives: a reusable workpiece executable by said physically operable first component; Set of Mitibhu, Including, initiating a first workflow to complete the first work objective; The above, a reusable work process executable by said physically operable first component; A set of primitives, At least one reusable work primitive from a set of work primitives; Including, The step of executing the first workflow includes: The above, The above, a reusable workpiece executable by the first physically operable component; A set of primitives, at least one reusable work primitive from by the first physically actuatable component; Including, The method of claim 1.
9. the first physically actuatable component is actuatable to grasp an object; The above, a reusable workpiece executable by said physically operable first component; Set of Mitibhu, a reusable gripping printer executable by the physically actuable first component; A set of mitibs, including The above, a reusable work process executable by said physically operable first component; A set of primitives, at least one reusable work primitive from Initiating a first set of reusable work primitives, the first set including: at least one reusable grasping primitive; a first set of reusable work primitives, the first set including: 、 The above, The above, a reusable work process executable by said physically operable first component; A set of primitives, at least one reusable work primitive from by the first physically actuatable component, the physically actuatable first component, performing a grasping primitive; Including, The method according to claim 8.
10. initiating a first workflow to complete the first work objective; teeth, Reusable work primitives from the library of reusable work primitives mentioned above. Initiating a first permutation of a first combination of primitives; Including, The method of claim 1.
11. executing said first set of reusable work primitives; teeth, The method according to the present invention, stored in a non-transitory processor-readable recording medium, instructions executable by a processor; to cause the robot to said first set of reusable work primitives; by the at least one processor; Including, The method of claim 1.
12. The main body, at least one physically actuatable component mechanically coupled to the body; At least one physical operable component communicatively coupled to the at least one physical operable component. A single processor, At least one processor communicatively coupled to the at least one processor. a non-transitory recording medium readable by a processor; Equipped with The above, at least one non-transitory processor-readable storage medium; teeth, A library of reusable work primitives, Processor-executable instructions, comprising: If it is executed, initiating a first work objective; initiating a first workflow to complete the first work objective. The first workflow includes a library of reusable work primitives. a first set of reusable work primitives selected from 、 Executing the first workflow, the reusable work a first set of primitives; and Remember, robot.
13. The processor-executable instructions are executed by the at least one processor. If executed, initiating a second work target different from the first work target; initiating a second workflow to complete the second work objective. hand, the second workflow includes a library of reusable work primitives; a second set of reusable work primitives selected from the second workflow is different from the first workflow; At least one common, reusable work primitive is included in the first work flow. and the second workflow, Steps and Executing the second workflow, executing said second set of reusable work primitives; and and causing the robot to further perform the steps of: The robot of claim 12.
14. communicatively coupled to the at least one processor; instructions associated with the first work objective; instructions associated with the first workflow; receiving at least one instruction set from the group consisting of: Communication interface, The robot of claim 12 further comprising:
15. The non-transitory processor-readable recording medium includes: When executed by the at least one processor, the first work objective is completed. causing the robot to autonomously identify the first workflow to complete; instructions executable by a processor; The robot of claim 12, further comprising:
16. The aforementioned library of reusable work primitives: a reusable component operable to perform the at least one physically operable component; A set of work primitives, Including, The processor-executable instructions are executed by the at least one processor. If it is executed, said first set of reusable work primitives; The robot executes the above-mentioned at least one reusable work primitive; causing said at least one physically operable component to execute The robot of claim 12.
17. The at least one physically actuatable component is actuatable to grasp an object. an end effector, The above, a reusable component operable to perform the at least one physically operable component; A set of work primitives, teeth, a set of reusable grasping primitives that can be executed by the end effector; Including, The processor-executable instructions include instructions for executing the at least one processor. When executed by the at least one reusable work primitive, and causing another physically actuable component to execute at least one grasping primitive. causing the end effector to execute The robot of claim 16.
18. 1. A computer program product comprising: A library of reusable work primitives, The computer program product is readable by a processor of a robotic system. a program for executing at least one program of the robot system; When executed by the processor, initiating a first work objective; initiating a first workflow to complete the first work objective. the first workflow comprising: the library of reusable work primitives; a first set of reusable work primitives selected from Executing the first workflow, executing said first set of reusable work primitives; and a processor-readable non-transitory storage medium communicatively coupled to said The at least one processor causes the robot system to perform instructions and / or data executable by a processor; 1. A computer program product comprising:
19. The computer program product is for causing the processor of the robot system to a non-transitory recording medium readable by the robot system; When the program is executed by one processor, initiating a second work target different from the first work target; initiating a second workflow to complete the second work objective. hand, the second workflow includes a library of reusable work primitives; a second set of reusable work primitives selected from the second workflow is different from the first workflow; At least one common, reusable work primitive is included in the first work flow. and the second workflow, Steps and Executing the second workflow, executing said second set of reusable work primitives; and processor-executable instructions and / or data for causing the robotic system to Ta, 20. The computer program product of claim 18, further comprising:
20. The computer program product is for causing the processor of the robot system to a non-transitory recording medium readable by the robot system; When the program is executed by a single processor, a step of autonomously identifying the first workflow for completing the first work objective; Tep, processor-executable instructions and / or data for causing the robotic system to Ta, 20. The computer program product of claim 18, further comprising:
21. 1. A method of operating a robot to grasp an object, comprising: The robot comprises: a robotic hand having fingers and an opposable thumb; At least one processor operable to control the movement of the robotic hand. And, at least one sensor communicatively coupled to the at least one processor; and, a processor-readable program, communicatively coupled to the at least one processor; a removable non-transitory recording medium; having The non-transitory processor-readable recording medium includes: A library of reusable grasping primitives; When executed by the at least one processor, the reusable identification a library of gripping primitives, the reusable gripping primitives being included in the robot hand; instructions that can be executed by the processor and autonomously by the host; Remember, The method comprises: collecting data about the object with the at least one sensor; The data is analyzed by the at least one processor to determine a shape of the object. determining a The at least one processor determines, at least in part, the shape of the object. Based on the above, a specific reusable grasping primitive is selected from the library of reusable grasping primitives. selecting a possible grasping primitive; The particular reusable gripping plate is used to grip the object by the robot hand. executing a primitive; A method of having.
22. The particular reusable gripping mechanism is used to grip the object by the robotic hand. executing a primitive; causes the robot hand to autonomously execute the particular reusable grasping primitive. and causing the at least one object to be grasped. Executing, by a processor, 22. The method of claim 21.
23. the at least one sensor includes at least one optical sensor; collecting data regarding the object with the at least one sensor; collecting optical data about the object with the at least one optical sensor. Including steps, The data is analyzed by the at least one processor to determine the shape of the object. determining analyzing the optical data by the at least one processor to obtain the determining a shape of the object; 22. The method of claim 21.
24. The at least one processor determines, at least in part, the shape of the object. Based on the state of the object, a specific reuse primitive is selected from the library of reusable grasping primitives. selecting possible grasping primitives; generating, by the at least one processor, the reusable grasping primitive; Compared to all other reusable grasping primitives in the library, A process for selecting the particular reusable grasping primitive that best fits the body shape. Top, including 22. The method of claim 21.
25. The at least one processor determines a shape of the object that best fits the shape of the object. selecting the particular reusable grasping primitive; generating, by the at least one processor, the reusable grasping primitive; Compared to all other reusable grasping primitives in the library, The fingers and the opposed fingers of the robotic hand are adapted to best fit the shape of the body. selecting said particular reusable grasping primitive using a thumb configuration to be P, including 25. The method of claim 24.
26. The at least one processor determines a shape of the object that best fits the shape of the object. selecting the particular reusable grasping primitive; generating, by the at least one processor, the reusable grasping primitive; The robot grasps the object using each reusable grasping primitive of the library. Simulating a robot hand, we will use the library of reusable grasping primitives mentioned above, as well as other Compared to all reusable grasping primitives, the reusable grasping primitives Which particular reusable grasping primitive in the library of the object corresponds to the shape of the object? determining which best fits the given condition, 22. The method of claim 21.
27. Analyzing additional data about the object by the at least one processor determining at least one additional parameter of the object; and The at least one processor determines, at least in part, the shape of the object. Based on the state of the object, a specific reuse primitive is selected from the library of reusable grasping primitives. selecting possible grasping primitives; The at least one processor calculates the shape of the object and the front and at least one additional parameter of the object. and selecting the particular reusable grasping primitive from the library of reusable grasping primitives. selecting a grasp primitive; 22. The method of claim 21.
28. said at least one sensor collecting said additional data about said object. Step and The additional data about the object includes the hardness of the object, the stiffness of the object, Selected from the group consisting of: the identity of the object, the function of said object, and the mass of said object. To be done, 28. The method of claim 27.
29. The robot includes at least one processor communicatively coupled to the at least one processor. a second receiver; The method comprises: receiving, by the receiver, the additional data relating to the object; 28. The method of claim 27, further comprising:
30. The non-transitory processor-readable recording medium is executed by the robot. and storing data of a work target to be performed, the work target being capable of grasping the object. and The at least one processor determines, at least in part, the shape of the object. Based on the state of the object, a specific reuse primitive is selected from the library of reusable grasping primitives. selecting possible grasping primitives; The at least one processor calculates the shape of the object and the front The data of the work target to be executed by the robot and Based on the objective, the specific reusable grasping primitive is selected from the library of reusable grasping primitives. selecting an available grasping primitive; 22. The method of claim 21.
31. The main body, a robot having a plurality of fingers and an opposable thumb, the robot being mechanically coupled to the body; Bot hand and at least one processor operable to control the movement of the robotic hand; and, at least one sensor communicatively coupled to the at least one processor; and, A processor-readable memory device communicatively coupled to the at least one processor. a non-transitory recording medium capable of being read and written; Equipped with The at least one processor-readable non-transitory storage medium includes: A library of reusable work primitives, Processor-executable instructions, comprising: If it is executed, collecting data about the object; analyzing the data to determine a shape of the object; The reusable gripper is based at least in part on the shape of the object. Select a specific reusable grasping primitive from a library of grasping primitives. Tep and A step of executing the particular reusable grasping primitive to grasp the object. Tep and and Remember, robot.
32. The processor-executable instructions are executed by the at least one processor. When executed, the particular reusable grasping primitive is used to grasp the object. and causing the robot to execute the particular reusable grasping program to grasp the object. and having the robot hand autonomously execute the mitib.
32. The robot of claim 31.
33. the at least one sensor includes at least one optical sensor; The processor-executable instructions are executed by the at least one processor. When executed, the robot collects data about the object, causing the at least one optical sensor to collect optical data; 32. The robot of claim 31.
34. The processor-executable instructions are executed by the at least one processor. If executed, Based at least in part on the shape of the object, the reusable gripping mechanism Assign a specific reusable grasping primitive to the robot from a library of primitives. Let them choose, All other reusable grippers from the library of reusable gripping primitives mentioned above The particular reconstructed image is compared to the pre-defined primitives to find the one that best fits the shape of the object. having the robot select an available grasping primitive; 32. The robot of claim 31.
35. The processor-executable instructions are executed by the at least one processor. If executed, the particular reusable grasping primitive that best fits the shape of the object; having the robot select a All other reusable grippers from the library of reusable gripping primitives mentioned above The robot hand is then compared to the holding primitives to find the one that best fits the shape of the object. the particular reuse using the configuration of the fingers and the opposable thumb of the hand. having the robot select possible grasping primitives; 35. The robot of claim 34.
36. The processor-executable instructions are executed by the at least one processor. If executed, Based at least in part on the shape of the object, the reusable gripping mechanism Assign a specific reusable grasping primitive to the robot from a library of primitives. Let them choose, Each reusable grasping primitive in the library of reusable grasping primitives A robot hand is simulated on the robot to grasp the object using a tib, All other reusable grasping primitives in the library of reusable grasping primitives mentioned above What features of the library of reusable grasping primitives are there compared to the Determine which reusable grasping primitive best fits the object shape. To determine, 32. The robot of claim 31.
37. The non-transitory processor-readable storage medium includes the at least one When executed by a processor, the method causes the robot to analyze additional data regarding the object. and causing the processor to determine at least one additional parameter of the object. Further storing possible instructions, The processor-executable instructions are executed by the at least one processor. If executed, Based at least in part on the shape of the object, the reusable gripping mechanism Assign a specific reusable grasping primitive to the robot from a library of primitives. Let them choose, said shape of said object; and said at least one additional parameter of said object; , and having the robot select a particular reusable grasping primitive from a library of 、 32. The robot of claim 31.
38. The non-transitory processor-readable storage medium includes the at least one When executed by a processor, the additional data regarding the object is transmitted to the robot. and further storing instructions executable by the processor to cause the The additional data about the object includes the hardness of the object, the stiffness of the object, Selected from the group consisting of: the identity of the object, the function of said object, and the mass of said object. To be done, 38. The robot of claim 37.
39. at least one receiver communicatively coupled to the at least one processor; Further equipped with The non-transitory processor-readable storage medium includes the at least one When executed by a processor, the additional data regarding the object is transmitted to the robot. and further storing processor-executable instructions for causing the device to receive the 38. The robot of claim 37.
40. The non-transitory processor-readable recording medium is executed by the robot. and data relating to a work target to be performed, the work target grasping the object. This includes: The processor-executable instructions are executed by the at least one processor. If executed, Based at least in part on the shape of the object, the reusable gripping mechanism Assign a specific reusable grasping primitive to the robot from a library of primitives. Let them choose, The shape of the object and the work target to be performed by the robot. and based at least in part on both the data of the reusable gripping plate. The particular reusable grasping primitive is selected from a library of primitives. Let the user choose 32. The robot of claim 31.
41. A computer-implemented method for initializing a robot to complete multiple work objectives. So, A library of reusable work primitives, each of which can be executed by said robot. defining said library of reusable work primitives; Each combination and permutation of reusable work primitives from the library is Steps initiated and performed by the robot to complete each work objective. and, Each reusable work primitive in the library of reusable work primitives mentioned above training the robot to autonomously execute a task primitive; 13. A computer-implemented method comprising:
42. Each reusable component of the library of reusable work primitives mentioned above training the robot to autonomously execute work primitives; In a simulated environment, the library of reusable work primitives is The robot is trained to autonomously execute each reusable work primitive. kneading the mixture, 42. The computer-implemented method of claim 41.
43. In a simulated environment, the library of reusable work primitives is Train the robot to autonomously execute each reusable work primitive. a step of: teeth, generating a first simulated instance of the robot in the simulated environment; Repeatedly executing the executable instructions by the processor to generate the reusable work. A first reusable work primitive from a library of work primitives is added to the robot. causing the first simulated instance of the repeatedly executing the processor-executable instructions to causing the first simulated instance of the robot to execute a work primitive. 、 Based on at least one result of The first reusable work primitive is then attached to the first simulated interface of the robot. Let the stance execute, narrowing down the processor-executable instructions; Including, 43. The computer-implemented method of claim 42.
44. In a simulated environment, the library of reusable work primitives is Train the robot to autonomously execute each reusable work primitive. a step of: teeth, generating at least one additional simulated instance of the robot in the simulated environment; and Repeatedly executing the executable instructions by the processor to generate the reusable work. The first reusable work primitive of a library of work primitives is causing said at least one additional simulated instance of a bot to execute; repeatedly executing the processor-executable instructions to A work primitive is placed in front of the first simulated instance of the robot and the first simulated instance of the robot. causing the at least one additional simulated instance to execute; Based on at least one result of The first reusable work primitive is then attached to the first simulated interface of the robot. a stance and the at least one additional simulated instance of the robot; R, narrowing down the processor-executable instructions; Further comprising:
44. The computer-implemented method of claim 43.
45. In a simulated environment, the library of reusable work primitives is Train the robot to autonomously execute each reusable work primitive. a step of: teeth, Repeatedly executing the executable instructions by the processor to generate the reusable work. At least one additional reusable work primitive from the library of primitives causing the first simulated instance to execute the program; Repeatedly executing the processor-executable instructions to generate the reusable word processor. At least one additional reusable work primitive from the library of work primitives. causing the first simulated instance to execute a program; Based on at least one result of The at least one additional reusable work primitive is causing the first simulated instance to execute; narrowing down the processor-executable instructions; Further comprising:
44. The computer-implemented method of claim 43.
46. Each reusable component of the library of reusable work primitives mentioned above training the robot to autonomously execute work primitives; teeth, The library of reusable work primitives, receiving a teleoperation command that causes the robot to execute a primitive; The first reusable work primitive library. Executing the teleoperation command to cause the robot to execute a work primitive. and, The first reusable work primitive library. causing the robot to execute a work primitive; instructions executable by a processor to cause the robot to reproduce the teleoperation command; generating a Including, 42. The computer-implemented method of claim 41.
47. The library of reusable work primitives, receiving a teleoperation command that causes the robot to execute a primitive; The robot is then trained to perform actual physical actions performed by a real remote pilot. receiving low level remote control instructions to emulate the 47. The computer-implemented method of claim 46.
48. The library of reusable work primitives, receiving a teleoperation command that causes the robot to execute a primitive; causes the robot to perform actions selected from a graphical user interface. receiving high level remote control commands; 47. The computer-implemented method of claim 46.
49. Each reusable component of the library of reusable work primitives mentioned above training the robot to autonomously execute work primitives; generating a simulated instance of the robot in the simulated environment; Including, The library of reusable work primitives, receiving a teleoperation command that causes the robot to execute a primitive; a first reusable work primitive of the simulated environment for the robot; receiving a remote operation command to be executed by the simulated instance; The first reusable work primitive library. Executing the teleoperation command to cause the robot to execute a work primitive. 、 a first reusable work primitive of the simulated environment for the robot; executing the remote operation command on a simulated instance; The first reusable work primitive library. causing the robot to execute a work primitive; instructions executable by a processor to cause the robot to reproduce the teleoperation command; generating teeth, The first reusable work primitive of the simulated environment is Run it on a mock instance, A processor that reproduces the teleoperation command on the simulated instance of the robot. generating instructions executable by the processor; 47. The computer-implemented method of claim 46.
50. The first reusable work primitive of the simulated environment is then transferred to the simulated robot. receiving a remote operation command to be executed by the pseudo instance; The robot is then programmed to perform the actual physical movements performed by a real remote pilot. receiving low level remote control instructions to be emulated by said simulated instance; P, including 50. The computer-implemented method of claim 49.
51. The first reusable work primitive of the simulated environment is then transferred to the simulated robot. receiving a remote operation command to be executed by the pseudo instance; The robot simulates an action selected from a graphical user interface. receiving high level remote control instructions to be executed by the instance; 50. The computer-implemented method of claim 49.
52. The library of reusable work primitives, receiving a teleoperation command that causes the robot to execute a primitive; teeth, The first reusable work primitive library. A first teleoperation instruction causes the robot to execute a first instance of a work primitive. receiving a set; The first reusable work primitive library. A first teleoperation instruction causes the robot to execute a second instance of a work primitive. receiving two sets; Including, The first reusable work primitive library. executing teleoperation instructions that cause the robot to perform work primitives; teeth, The first reusable work primitive library. causing the robot to execute the first instance of a work primitive. a first set of operational instructions; The first reusable work primitive library. causing the robot to execute the second instance of a work primitive. a second set of operational instructions; and Including, 47. The computer-implemented method of claim 46.
53. The first reusable work primitive library. causing the robot to execute a work primitive; instructions executable by a processor to cause the robot to reproduce the teleoperation command; generating teeth, The first reusable work primitive library. causing the robot to execute the first instance of a work primitive. a first set of operational instructions; The first reusable work primitive library. causing the robot to execute the second instance of a work primitive. a second set of operational instructions; and and evaluating the results of each of the first set of remote control instructions and the second set of remote control instructions. determining which of the first set of operational instructions produces a better result; and 、 said first set of remote control instructions, said second set of remote control instructions, and causing the robot to reproduce the method that produces the better result, the method being implemented by a processor. generating executable instructions; Including, 53. The computer-implemented method of claim 52.
54. The first reusable work primitive library. causing the robot to execute a work primitive; instructions executable by a processor to cause the robot to reproduce the teleoperation command; generating teeth, The first reusable work primitive library. causing the robot to execute a work primitive; The remote control instruction is reproduced by the robot. and a first set of remote control instructions for controlling the operation of the at least one element of the first set of remote control instructions. and combining said at least one element of said second set of remote operation instructions. 、 Including, 53. The computer-implemented method of claim 52.
55. Each reusable component of the library of reusable work primitives mentioned above training the robot to autonomously execute work primitives; when executed by the at least one processor of the robot, A library of reusable work primitives, each of which and generating instructions executable by a processor to cause the robot to autonomously execute the task. comprising the steps of: The computer-implemented method comprises: A non-transitory recording medium readable by a processor of the robot includes the sending instructions executable by the processor; 42. The computer-implemented method of claim 41, further comprising:
56. The main body, at least one physically actuatable component mechanically coupled to the body; At least one physical operable component communicatively coupled to the at least one physical operable component. A single processor, At least one processor communicatively coupled to the at least one processor. a non-transitory recording medium readable by a processor; Equipped with The above, at least one non-transitory processor-readable storage medium; teeth, A library of reusable work primitives, When executed by the at least one processor, the reusable word processor a library of reusable work primitives, each of which is processor-executable instructions for causing a robot to selectively and autonomously execute, generating a first simulated instance of the robot in a simulated environment; Repeatedly executing the processor-executable instructions to generate the reusable word processor. A first reusable work primitive from a library of work primitives is added to the robot. causing the first simulated instance of the repeatedly executing instructions executable by a processor to generate the first reusable causing the first simulated instance of the robot to execute a work primitive. P, Based on at least one result of The first reusable workpiece primitive is then attached to the first simulated image of the robot. Execute the instance, narrowing down the processor-executable instructions; A non-transitory recording medium readable by a processor of the robot, sending instructions executable by a processor; instructions executable by a processor, the instructions being trained by the process; Remember, robot.
57. The process of training instructions executable by a processor comprises: generating at least one additional simulated instance of the robot in the simulated environment; and Repeatedly executing the executable instructions by the processor to generate the reusable work. The first reusable work primitive of a library of work primitives is causing said at least one additional simulated instance of a bot to execute; repeatedly executing the processor-executable instructions to A work primitive is placed in front of the first simulated instance of the robot and the first simulated instance of the robot. causing the at least one additional simulated instance to execute; Based on at least one result of The first reusable work primitive is then attached to the first simulated interface of the robot. a stance and the at least one additional simulated instance of the robot; R, narrowing down the processor-executable instructions; Further comprising 57. The robot of claim 56.
58. A library of reusable work primitives, The computer program product is readable by a processor of a robotic system. a program for executing at least one program of the robot system; When executed by the processor, the non-transitory processor-readable storage medium and, by the at least one processor communicatively coupled to the A library of possible work primitives, each of which is a reusable work primitive a processor executable to cause the robotic system to selectively and autonomously execute instructions and / or data, generating a first simulated instance of the robot in a simulated environment; Repeatedly executing the executable instructions by the processor to generate the reusable work. A first reusable work primitive from a library of work primitives is added to the robot. causing the first simulated instance of the repeatedly executing the processor-executable instructions to causing the first simulated instance of the robot to execute a work primitive. 、 Based on at least one result of The first reusable work primitive is then attached to the first simulated interface of the robot. Let the stance execute, narrowing down the processor-executable instructions; A non-transitory recording medium readable by a processor of the robot includes the an instruction executable by the processor; instructions executable by a processor, the instructions being trained by the process; 1. A computer program product comprising:
59. The process of training instructions executable by a processor comprises: generating at least one additional simulated instance of the robot in the simulated environment; and Repeatedly executing the executable instructions by the processor to generate the reusable work. The first reusable work primitive of a library of work primitives is causing said at least one additional simulated instance of a bot to execute; repeatedly executing the processor-executable instructions to A work primitive is placed in front of the first simulated instance of the robot and the first simulated instance of the robot. causing the at least one additional simulated instance to execute; Based on at least one result of The first reusable work primitive is then attached to the first simulated interface of the robot. a stance and the at least one additional simulated instance of the robot; R, narrowing down the processor-executable instructions; Further comprising 59. A computer program product according to claim 58.
Citation Information
Patent Citations
Robot hand and control method of robot hand
JP2009184030A
Methods and computer-program products for evaluating grasp pattern, and robot incorporating the same
JP2017080886A