Method for operating robot, robot, and computer program product

The robot system with a library of reusable work primitives and autonomous task execution addresses the limitations of complex remote control systems, enabling efficient and accessible semi-autonomous task completion.

JP2025186351APending Publication Date: 2025-12-23SANCTUARY COGNITIVE SYST CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025150891
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-12-30
Filing Date
2025-09-11
Publication Date
2025-12-23

AI Technical Summary

Technical Problem

Existing remote-controlled humanoid robots require complex and sophisticated systems that limit accessibility and cause significant wear and tear due to repeated real-world training, limiting their ability to perform useful tasks autonomously.

Method used

A robot system equipped with a library of reusable work primitives and processor-executable instructions allows semi-autonomous operation by autonomously identifying work goals, selecting appropriate primitives, and executing workflows to complete tasks, including grasping objects using a robotic hand.

Benefits of technology

Enables robots to efficiently and autonomously perform multiple work objectives with reduced wear and tear, enhancing their operational capabilities and accessibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025186351000001_ABST
    Figure 2025186351000001_ABST
Patent Text Reader

Abstract

To provide a system, apparatus, and method for training and operating a (semi-) autonomous robot so as to complete a plurality of different work goals.SOLUTION: A robot control system stores a library of reusable work primitives corresponding to each basic sub-task or sub-operation that a robot autonomously executes. A work goal is analyzed to determine a sequence (that is, combination and / or permutation) of the reusable work primitives to complete the work goal when executed by the robot. The robot executes the sequence of the reusable work primitives and completes the work goal. The reusable work primitives may include one or more reusable grasp primitives for enabling an end effector of the robot to grasp an object.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present systems, devices, and methods relate generally to multipurpose robots, and in particular to: It concerns 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, including manoid robots. Humanoid robots are controlled by remote control systems. The robot emulates the physical movements of a human operator or pilot. However, such remote control systems are generally A highly sophisticated and complex aircraft consisting of advanced sensors and instruments worn or pointed at the pilot. A simple interface is required, allowing the pilot to focus all their attention on remotely controlling the robot. This limits the overall accessibility of this technology.

[0003] Robots are 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. It is common for robots to repeatedly execute the above tasks, but this is because the robots are not able to perform useful tasks on-site. This can cause significant wear and tear on the robot's components before it is deployed to perform its functions. There is. Summary of the Invention

[0004] A method for 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 processor-executable instructions that, when executed by at least one processor, generate reusable work A library of reusable work primitives for robots The autonomously executing instruction (which stores the instruction) includes: and a step of 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 step; executing a work flow, said work flow comprising a first set of reusable work primitives; The method includes a step of performing a second work target that is different from the first work target. Steps to start the first work goal, and a second workflow to complete the second work goal. A starting step, wherein a second workflow generates a label of 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 has at least one common, reusable A workflow primitive includes both the first workflow and the second workflow. and executing a second workflow, the second workflow including a reusable work primitive. The method may further include the steps of: The method further comprises the step of: Steps to complete the work goal that starts it and at least one additional work goal. a step of starting at least one additional workflow, The workflow is based on a set of reusable primitives, selected from a library of reusable work primitives. at least one additional set of possible work primitives, The additional workflow is different from both the first workflow and the second workflow, and Another common, reusable work primitive is the first workflow and the second workflow. a workflow and at least one additional workflow, including all of the steps and at least a step of executing one more additional workflow, using a reusable work primitive; and performing at least one additional set of tasks. 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 may include communicating via the communication interface. receiving instructions relating to the first work object and / or Initiating the first workflow for completion includes, via the 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 a first workflow to complete a first work goal may be performed by a robot. The first set of reusable work primitives is then autonomously identified. may include:

[0006] The robot includes components communicatively coupled to at least one processor. , at least a first physically operable component, A library of primitives is implemented by a physically operable first component, a set of available work primitives for completing the first work goal. a step of starting a first workflow by a first physically operable component; Reuse of at least one 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 implemented by a possible first component, and transferring at least one reusable work primitive from the first physically operable configuration to the second 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 by the user are organized into a physically operable first structure. It may also contain a set of reusable grasping primitives that can be executed by the object. a logically operable first component, a reusable work primitive executable by the first component, A set,containing at least one reusable work primitive from,a reusable The step of initiating a first set of work primitives includes at least one reusable 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 the physically actuatable first component. At least one reusable work primitive from the set of available work primitives The step of executing the primitive by a physically actuable first component includes: an actuatable first component, by which at least one reusable grasping primitive is 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 reusable work primitives. Initiating a first permutation of the combinations. the step of executing a first set of instructions includes a processor-readable non-transitory and executing instructions executable by a processor stored in a 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. and at least one physically operable component and a communication 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 executable work primitives and instructions executable by a processor that 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; performing a first set of reusable work primitives. The processor stores instructions for causing the robot to perform the steps, including the step of: The instructions executable by the at least one processor, when executed by the at least one processor, a step of starting a second work goal, which is different from the first work goal; a step of starting a second workflow for executing the reusable A library of reusable work primitives selected from a second set, wherein the second workflow is different from the first workflow and has at least one The common, reusable work primitives are used in the first and second workflows. and a step of executing a second workflow, performing a second set of possible work primitives; The robot may further perform the at least one processor. instructions associated with a first work objective and instructions associated with a first workflow, the instructions being coupled to the function; 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 a single processor, the first work is executed to complete the first work goal. instructions executable by a processor that allows the robot to autonomously identify the work flow, It may also be stored.

[0009] A library of reusable work primitives that can be used to create at least one physically actuated It also includes a set of reusable work primitives that can be executed by various components. Preferably, the processor-executable instructions are executed by at least one processor. If so, have the robot execute a first set of reusable work primitives, Each reusable work primitive is created by 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 so, at least one reusable work primitive must be included in at least one object. and causing the at least one grasping primitive to be performed by the end-effector. 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 readable by a processor of the robot system. a readable non-transitory recording medium, and and when executed by the processor, initiating a first work target. a step of initiating a first workflow to complete the ,Reusable work primitives selected from a library of reusable work primitives. a step including a first set of primitives; and a step of executing a first workflow. a first set of reusable work primitives. , and a processor-readable non-transitory recording medium communicably connected to the steps. At least one processor, which is integrated with the robot system, executes a process. The computer program product may be a robot program product. The system is stored in a non-transitory storage medium readable by a processor, When executed by at least one processor of the computer system, the first work target is different from the first work target. a step of starting a second work goal to be completed; and a step of executing a second work goal to complete the second work goal. a step of starting a second workflow, the second workflow being a reusable work primitive; a second set of reusable work primitives, selected from a library of primitives, wherein the second workflow is different from the first workflow and includes at least one common replay. The available work primitives are both the first and second workflows. and executing a second workflow, the second workflow being a reusable workflow. a second set of primitives; and processor-executable instructions and / or data for causing the system to perform the The computer program product may be read by a processor of the robot system. a readable non-transitory recording medium, When executed by a processor, it autonomously executes the first workflow to complete the first work goal. a processor-executable instruction for causing a robotic system to perform a step of identifying a 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 with 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. A processor-readable non-transitory recording medium is a reusable a library of grasping primitives and at least one processor, ,Library of reusable grasping primitives,Reusable grasping primitives, The robot hand autonomously executes instructions that can be executed by a processor. The method includes collecting data about the object with at least one sensor. and at least one processor for analyzing the data to determine the shape of the object. and determining, by at least one processor, at least in part, the shape of the object. A specific reusable grasping primitive from a library of reusable grasping primitives based on and selecting a primitive, in particular a primitive, for grasping an object by the robotic hand. Implementing a specific reusable grasping primitive. Executing a particular reusable grasping primitive for grasping includes: The program autonomously executes 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: 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 may include at least and analyzing the optical data with a processor to determine the shape of the object. may include:

[0013] and 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 that best fits the At least one processor may select a particular reuse method that best fits the shape of the object. The step of selecting an available grasp primitive is performed by at least one processor. , all other reusable grasping primitives in the library of reusable grasping primitives. The robotic hand's multiple fingers and opposing fingers best fit the shape of the object compared to the active A step of selecting a specific reusable grasping primitive with a matching thumb configuration. It may also include a

[0014] At least one processor selects a specific 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 reusable 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 best suited to the object's shape? determining whether the two 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. and, by the at least one processor, determining, at least in part, the shape of the object. Select a specific reusable grasping primitive from a library of reusable grasping primitives. The step of selecting an object includes, by at least one processor, determining the shape of the object and the 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, The robot communicates with at least one processor. The method may further include at least one receiver reliably coupled to the receiver, the method comprising: The method may further comprise receiving additional data about the object from the object.

[0016] The processor-readable non-transitory recording medium is a work executed by the robot. The work target data may further be stored, including the work target grasping the object. and reusing the object based, at least in part, on the shape of the object by at least one processor. Select a specific reusable grasping primitive from a library of possible grasping primitives. The step of selecting includes, by at least one processor, determining the shape of the object and the and reuse, based at least in part on both the data of the work objectives 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 main body; and a robotic arm configured to control 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. a library of instructions executable by at least one processor; When performed by a sensor, the method includes collecting data about the object and analyzing the data. 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 selecting a specific reusable grasping primitive to grasp the object. and instructions for causing the robot to perform the steps. The instructions, when executed by the at least one processor, perform a method for grasping an object. A specific reusable grasping primitive is implemented by the robot to grasp an object. Certain reusable grasping primitives may be autonomously executed by the robotic hand. 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 causing the robot to collect optical data about the object with at least one optical sensor. That's fine.

[0018] A processor-executable instruction is a program that, when executed by at least one processor, In this case, the library of reusable grasping primitives is 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 specific 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 selects a specific reusable grasping primitive that best fits the object's shape. Let the robot choose and reuse everything else from a library of reusable grasping primitives Compare the possible grasping primitives to find the complex robotic hand that best fits the object shape. Specific reusable grasping primitives using a number of fingers and an opposable thumb configuration The robot may be allowed to select the target object.

[0019] A processor-executable instruction is a program that, when executed by at least one processor, In this case, the library of reusable grasping primitives is 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 in the library of grasping primitives. The robotic hand is simulated to hold the object, and the reusable grasping primitives are created. Compared to all other reusable grasping primitives in the library, Which particular reusable grasping primitive from the library of primitives is best suited to the object's shape? The system may also determine whether the

[0020] The processor-readable non-transitory recording medium is If 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 a library of reusable grasping primitives, The robot may select an available grasping primitive. Possible non-transitory storage media include a storage medium that, when executed by at least one processor, and further processor-executable instructions for causing 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 individual properties of the object. The robot is selected from the group consisting of: gender, function of the object, and 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 instructions executable by a processor to cause the device to execute the program.

[0021] The processor-readable non-transitory recording medium is a work executed by the robot. The work target may further store data relating to the work target, including grasping an object. In this case, the processor-executable instructions are executed by at least one processor. When implemented, 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 a library of primitives, At least some data on both the shape of the object and the work target to be performed by the robot is required. Also based in part on a library of reusable grasping primitives, specific reuse Possible grasping primitives may be selected by the robot.

[0022] A computer-implemented method for initializing a robot to complete multiple work goals includes: It has: a set of reusable work primitives, each executable by a robot 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 perform the objective includes: ,reusable work primitives library, each reusable work primitive and training the robot to autonomously perform the objectives. In a simulated environment, each reusable part of a library of reusable work primitives is The step of training the robot to autonomously perform 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 and Execute the first reusable work primitive of the first simulated instance of the robot. and repeatedly executing the processor-executable instructions to generate a first reused image. causing a first simulated instance of the robot to execute available work primitives. , and based on at least one result of the first reusable work primitive, The instructions executable by the processor are narrowed down to be executed by 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. The steps of generating a pseudo-instance and repeatedly executing instructions executable by a processor are performed. This creates the first reusable work primitive in the library of reusable work primitives. the step of causing the primitive to be executed by at least one additional simulated instance of the robot. and repeatedly executing the processor-executable instructions to generate a first reusable word. The robot may be configured to generate a first simulated instance of the robot and at least one additional instance of the robot. and based on at least one result of the steps of: 1 reusable work primitive, 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 may further include a step of narrowing down the commands to be executed in a simulated environment. In this case, each reusable work primitive in the library The step of training the robot to autonomously execute the 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, at least one additional reusable work primitive is generated by the robot. The first simulated instance of the program is then asked to execute a set of instructions executable by the processor. The method may further include the steps:

[0024] Each reusable work primitive in the library of reusable work primitives The step of training the robot to autonomously execute the objective is performed using a reusable worksheet. The first reusable work primitives in the library of work primitives are implemented on the robot. receiving a remote operation command to execute the reusable work primitive; 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 teleoperation commands to the robot, causing it to execute available work primitives. and generating processor-executable instructions to cause the processor to The first reusable work primitive in the library of reusable work primitives The step of receiving teleoperation commands to be executed by the robot is carried out by an actual teleoperation pilot. 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 a command includes transmitting an action selected from a graphical user interface to the robot. The method may include receiving high level remote control instructions to be executed by the client.

[0025] Each reusable work primitive in the library of reusable work primitives The step of training the robot to autonomously perform the objective includes: 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 that causes the robot to execute the above-mentioned steps includes a first reuse of the simulated environment. Teleoperation commands that cause a simulated instance of a robot to perform possible work primitives. a library of reusable work primitives, the library comprising: 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 executing a remote operation command, and the method may include executing a reusable work primitive. Have the robot execute the first reusable work primitive in the library of ,The remote operation instructions are generated by a processor that ,plays the robot executable instructions. The first step is to transfer the first reusable work primitives of the simulated environment to the simulated instance of the robot. The remote control commands are executed by the robot, and then played back by the simulated robot instance. The first reuse of the simulated environment may include generating instructions executable by the processor. Teleoperation commands that cause a simulated instance of a robot to execute available work primitives. The step of receiving the actual physical actions performed by the actual teleoperated pilot. ,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 The step of receiving a remote operation command to be executed by a simulated instance of the graphical user interface may include: causing a simulated instance of a robot to perform an action 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 perform a work primitive, the teleoperation command comprising: The first reusable work primitive in a library of reusable work primitives A task 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. and receiving a library of reusable work primitives; Execute a teleoperation command that causes the robot to execute the first reusable work primitive. The first step is to create a library of reusable work primitives. The first section of the teleoperation instruction that causes the robot to execute the first instance of the 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 operation instructions are generated by a processor that ,plays the robot executable instructions. 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 the first reuse of a library of reusable work primitives. a teleoperation command that causes the robot to execute a second instance of an available work primitive. a second set of instructions, and evaluating the results of each of the steps to execute the second set of instructions. Which would produce better results: one set of instructions or a second set of remote control instructions? determining a first set of remote operation instructions; a second set of remote operation instructions; A processor-executable program that allows the robot to reproduce the best results. and generating instructions. A teleoperation command that causes a robot to execute a first reusable work primitive of the The step of generating processor-executable instructions for causing the robot to reproduce the The first reusable work primitive in a library of available work primitives The robot executes the remote control command, which is then played back by the processor. a first set of remote control instructions in the executable 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 perform the objective may involve at least When both are executed by a single processor, the reusable work primitives Let the robot autonomously execute each reusable work primitive in the , generating instructions executable by a processor, the method comprising: A non-transitory recording medium readable by a processor of the program, sending a command, may further comprise:

[0028] The robot comprises: a body; and at least one object mechanically coupled to the body. and at least one physically operable component and a communication 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 by at least one processor, If so, a library of reusable work primitives, each of which A processor-executable primitive that allows a robot to selectively and autonomously execute a step of generating a first simulated instance of a robot in a simulated environment; and processor-executable instructions are repeatedly executed to create reusable work processes. The first reusable work primitives from the robotics library are used to model the 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. and a step of narrowing down the possible instructions, and a non-uniform instruction readable by the processor of the robot. sending processor-executable instructions to a temporary storage medium; and instructions executable by the processor, which are trained by the 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 work primitive library The work primitives are 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 performed by the The first reusable work primitive is then 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 executable instructions.

[0029] The computer program product comprises: a library of reusable work primitives; The library and the computer program product are readable by a processor of the robot system. a readable non-transitory recording medium, and 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 from the library are used as the first mock-up instance 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. and generating a first reusable work primitive based on at least one result of the steps of: A processor-executable instruction that causes the first simulated instance of the robot to execute the activity. and a non-transitory record readable by a processor of the robot. transmitting processor-executable instructions to a medium; The instructions executable by the processor are trained. The process then creates at least one additional simulated instance of the robot in the simulated environment. and repeatedly executing the processor-executable instructions to generate a reusable memory. The first reusable work primitive in the library of possible work primitives is causing at least one additional simulated instance of the robot to execute; repeatedly executing instructions executable by the processor to generate a first reusable work primitive; a first simulated instance of the robot and at least one additional simulated instance of the robot; and based on a result of at least one of the steps of causing the first reusable storage unit to perform the steps of: a first simulated instance of the robot and 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 explanation of the drawings]

[0030] The various elements and acts shown in the drawings are for illustrative purposes only to support the detailed description. Unless the specific context requires otherwise, the illustrations of the elements and actions are provided for illustrative purposes only. Sizes, shapes and relative positions are not necessarily shown to scale and may not necessarily be accurate. Neither the description nor the accompanying drawings are intended to convey any information or limitations. 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. [Figure 2] FIG. 2 is a flow diagram illustrating another exemplary method of operating a robot in accordance with the present systems, devices, and methods. [Figure 3] FIG. 3 is a flow diagram illustrating another exemplary method of operation of a robot in accordance with the present systems, devices, 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. [Figure 5] FIG. 5 is a flow diagram illustrating an exemplary method of operation of a robot for grasping an object in accordance with the present systems, apparatus, and methods. [Figure 6] FIG. 6 is a flow chart 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 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 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 INVENTION

[0031] The following description describes various implementations and embodiments of the present systems, devices, and methods. Specific details are provided for purposes of clarity 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 to include further implementations and embodiments. Combining with each other and / or with other methods, components, materials, etc. to produce embodiments. It will be understood that these may be combined.

[0032] In some instances, well-known structures and methods related to computer systems and data processing and / or processes that unnecessarily complicate or obscure the description of the implementations and embodiments. To avoid confusion, details are not shown or provided.

[0033] Unless the particular context requires otherwise, throughout this specification and the appended claims: Terms such as "comprise" and "have" and "include" and variations thereof mean "including, but not limited to, It 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, "the," and "the" include the plural. For example, "an embodiment" and "the present embodiment" are also used. " includes "embodiments" and "implementations," respectively. " and "this implementation" include "implementations" and "this implementations," respectively. Similarly, the term "or" generally refers to "and" unless the specific context clearly dictates otherwise. It is used in the broadest sense to mean "and / or."

[0035] The headings and abstract of this disclosure are provided for convenience only and are not intended to be limiting unless otherwise specified. and is not intended to, and should not be construed to, interpret the scope or meaning of the method. It shouldn't be.

[0036] A general-purpose robot can accomplish multiple different work objectives. As used throughout the appended claims, the term "work goal" refers to a specific goal. It refers to a specific task, job, assignment, or activity that has a goal and a determinable result. In some cases (but not necessarily), it is to promote economically valuable work. Work goals exist in many aspects of business, research and development, commercial activities, and personal activities. Representative work goals include, but are not limited to, a place (e.g., a bathroom) or an object (e.g., a bathtub). Cleaning mirrors (room mirrors), preparing meals, loading and unloading storage containers (e.g., trucks), inventory and collecting one or more samples, taking one or more measurements, constructing or assembling an object, or This includes destruction or disassembly, sending items, and harvesting objects and / or data. 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 a device and a 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 broken down or decomposed into a "workflow" consisting of This involves the execution of each work primitive in the workflow. Depending on the specific implementation, Completion of the workflow goal is achieved by (i.e., the workflow consists of) 1) The sequential or serial execution of a set of corresponding work primitives. Execute a corresponding set of work primitives in parallel; or 3) 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., overlapping and sequential) ). Thus, in some implementations, work primitives are used to express higher-level work primitives. The lower-level activities or steps that are performed in a workflow to complete a goal , or can be interpreted as a subtask.

[0038] Advantageously, in accordance with the present systems, apparatus, and methods, "reusable" workpieces can be created. A library of work primitives can be defined. commonly 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 ways. 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 an object" may contain at least one variable that is defined as a reusable The process of "picking up" 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, generally performed to It is defined based on the specific work objectives that are being addressed.

[0039] As previously mentioned, various implementations described herein allow a robot to perform multiple different work tasks. and a system, apparatus, and method that allows a user to complete a task at least semi-autonomously. Unless the specific context requires otherwise, the term "autonomously" shall be used throughout this specification and appended claims. Throughout the appended claims, the term "without the control of another person" is used to mean "without the control of another person." The term "autonomously" is used to mean "at least partially autonomously." In other words, throughout this specification and the appended claims, the term "semi-autonomously" The term "limited liability by another party" is used unless the specific context requires otherwise. It means "with control." Examples of semi-autonomous robots include those with mobility and grasping capabilities. independently and / or autonomously execute and control 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 objectives are reusable primitives selected from a library of reusable work primitives. The corresponding work primitives, including specific combinations and / or permutations of the work primitives of reusable work primitives so that they can be completed by executing a flow A library can be defined, identified, developed, or constructed. Once such a library is created, Once a library of primitives is established, one or more robots can be: 1) trained and The specific workflow that a particular reusable work primitive is part of, and / or or 2) specific reusable work primaries that have been trained on a specific workflow. an environment of other reusable work primitives, which may precede or follow the primitive individual reuses within a library of reusable work primitives without necessarily including It can be trained to autonomously or automatically execute available work primitives. In this way, semi-autonomous robots can operate using a library of reusable work primitives. Individual reusable work primitives within a which reusable work primitive(s) to execute, and / or Only when other parties (e.g., operators, users) decide which order to execute In other words, the operator must have the command or guidance from the pilot. A supplier, user, or pilot 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 motion, it will autonomously open the right end effector, without the intervention of a third party. This can be done without resorting to detailed low-level control of such features. The humanoid robot will then select which reusable workpieces to use to complete the work goal. workflow detailing the order in which the actions must be performed When given a command, the system can autonomously complete the task. , the robot has been trained or otherwise adapted to work in accordance with the apparatus and method. It analyzes the work objectives and creates reusable work plans that the robot can then actuate to execute autonomously. Divide the work goal into a set of reusable work primitives from a library of primitives. If configured to define the corresponding workflow by solving ,The robot can operate completely autonomously.

[0041] In a robotic environment, reusable work primitives are used by robots (e.g., autonomously) to It can be activated (either manually or automatically) and can be called or executed by the robot to accomplish something. It can handle basic low-level functions such as Examples of reusable work primitives for the RTOS 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 such 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 mitigatives 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 functionality of the particular robot for which it is built. To do so.

[0042] A robot can operate at least in part based on its hardware and software configuration. can be operated to perform any number of high-level functions, e.g., legs, wheels, Robots with wheels act to move, while robots with grippers act 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 controls its functional parameters such as speed, trajectory, and balance. Controlling the movement actuators (e.g., leg or wheel drives) that control movement In this system, a large number of different low-level functions need to be controlled. In accordance with the present invention, the high level functions that the robot operates on are as set forth in this specification and the accompanying claims. 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 constructed.

[0043] As will be discussed in more detail later, some implementations may use reusable work primitives autonomously. 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 a matter of creating 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 robot 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 primary to achieving 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 a work primitive (also An exemplary set of workflows is as follows:

[0045] [Table 1]

[0046] Those skilled in the art will recognize the above example workflow consisting 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 system, apparatus, and The precise definition and construction of each work primitive, as well as the work objective, according to the method and The specific combination and / or execution of work primitives selected and / or performed to complete the task. The order or permutation (i.e., the specific configuration of the workflow) may vary in different implementations. For example, in one implementation, the above work primitives 3, 4, and 5 (i.e., the 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 may be decomposed into additional sub-work primitives, e.g. This may be the case.

[0047] Find a mirror.

[0048] Identify the boundaries of the mirror.

[0049] Aim the cleaning solution at a first location within the perimeter of the mirror.

[0050] Squeeze out the cleaning solution.

[0051] Apply the cleaning solution to a second location within the mirror's perimeter.

[0052] Squeeze out the cleaning solution.

[0053] etc.

[0054] Based on the above examples and explanations, those skilled in the art will appreciate that the granularity of the work primitives is It will be understood that the present invention may vary between different implementations of the systems, apparatus, and methods. In accordance with the present system, apparatus, and method, each work primitive may be one or more whole detection that the technology can be adopted, activated, applied, or "reused" in the performance of a specific work goal. Work primitives are advantageously "reusable" in the sense that they are used to clean a bathroom mirror. Removing may involve the work primitive "grasp cleaning fluid", but may involve other work primitives. Work goals can also be set, for example, "clean the toilet," "clean the windows," and / or "clean the floor." It may use the work primitive "grasp the cleaning fluid" or "remove the cleaning fluid". In some implementations, work primitives may be abstracted to be more general. For example, "grab cleaning fluid" can be expressed as "grab spray bottle" or as a variable "object "Object 1" is defined as "Object 1 = spray bottle" and abstracted to "grasp object 1." "Find a mirror" can be replaced with "Find an object that needs to be sprayed" 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 "grasping a bottle" is "painting a wall" (here, spray bottle = spray spray paint), "styling hair" (here, spray bottle = hairspray), "stir-fry Tasks that don't involve cleaning, such as "preparing" (where the 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 at least some, if not all, of the various actions are performed by the robot. For example, the specific actions of a robot's method of operation are called the robot's processes. At least one of the robots is communicatively coupled to a non-transitory recording medium readable by the may be executed by a single processor or processing unit (hereinafter "processor"). In some implementations, a particular act of the robot's method of operation may involve at least one process. peripheral components of the robot communicatively coupled to the sensor, 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), mobile systems (e.g., wheels, legs), communication and networking hardware (e.g., receivers, transmitters, Non-transitory records readable by the robot's processor The medium may contain data (e.g., containing a library of reusable work primitives), and and / or when executed by at least one processor, cause a robot to perform a method. and / or the method is executed by at least one processor storing processor-executable instructions that cause at least one processor to perform an action; The robot may be communicatively coupled to at least one processor of the robot. remote systems and / or remote processors via the communications and network hardware It 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 on a processor-readable non-transitory recording medium. and / or processor-executable instructions refer to at least one processor of the robot. processor-readable non-transitory information to the processor and other parts of the robot's hardware. No limitation is intended regarding the physical location of the temporary storage medium. In this case, the non-transitory storage medium readable by the robot's processor is Unless necessary, non-transitory storage media that can be read by the robot's onboard processor 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 vendor, certain actions may be omitted and / or additional actions may be added in alternative implementations. It will be understood that additional acts may be performed. Those skilled in the art will appreciate that the order of acts shown may be omitted. 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 the first work goal. In some implementations, the robot: Others, such as verbal commands from a remote or local controller or operator, In response to receiving the command from the In this implementation, the robot includes a telecommunications device communicatively coupled to at least one processor. The interface may include a robot initiation of the first work goal at 101. , by means of the robot's telecommunications interface (e.g., by a remote operator or The method may include receiving instructions related to the first work objective (from the operational system). Such instructions include defining the first work goal, how / when / where to achieve the first work goal, 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. The initiation of the first work goal involves the robot itself autonomously identifying the first work goal. In such an implementation, the robot's processor-readable non-uniform 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 their primary work goals. Executed by algorithms, frameworks, architectures, and / or processors The AI ​​may store instructions (collectively "artificial intelligence") that can be used to analyze sensor data, environmental 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 goal 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 identifying or defining a combination. , initiating the first workflow further includes: Set or combination into a first permutation of a first combination of reusable work primitives As previously explained, in some implementations, the robot A non-transitory storage medium readable by a processor is a library of reusable work primitives. In such an implementation, the robot may store the The first workflow involves storing the data in a non-transitory, processor-readable storage medium of the robot. A reusable workpiece selected from a library of stored reusable workpiece primitives It is or may be composed of a first set or combination of primitives.

[0059] The robot has a telecommunications interface communicatively coupled to at least one processor. If the robot includes a power supply, the initiation of the first workflow by the robot in 102 may be performed by via an air communication interface (e.g., from a remote operator or remote control system) This may include receiving instructions related to a workflow or the like. A command may, for example, consist of 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 first workflow definition may include a set or combination of permutations. In this system, 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 a workflow, and / or autonomously identifying permutations. The non-transitory processor-readable storage medium of the robot includes at least one When executed by one processor, the robot autonomously identifies the first workflow The device may also store artificial intelligence that causes the device to perform the following actions:

[0060] At 103, the robot executes the first workflow started at 102. In general, In the execution of the first workflow at 103, the robot Selected from a library of reusable work primitives at the start of a work flow Executes the first set of reusable work primitives. As mentioned above, some implementations In this configuration, the robot uses 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 robotic, processor-readable The non-transitory storage medium is executable by at least one processor of the robot. Once connected, each robot is assigned a reusable work primitive from a library of work primitives. of instructions executable by the processor that cause each one of the components to execute autonomously. In this way, the robot can start the first workflow at 103. When executing the first workflow, the robot will autonomously executes a specific reusable work primitive in the first set of work primitives. By executing a set of instructions executable by a processor that causes the processor to execute or perform Thus, it may do so substantially autonomously or automatically. An exemplary implementation of 00 will be described.

[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) Robotics When executed by at least one processor of 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 Five respective sets of t(E). In method 100, 101, the robot (autonomously or or upon receiving a command as described above, initiates the first work objective. At 2, the robot completes the first work objective (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 consists 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 This allows the robot to autonomously execute a reusable work primitive C, and then the robot At least one processor of the and have the robot autonomously execute reusable work primitive B, and then At least one processor executes a processor-executable instruction inst(D). This allows the robot to autonomously execute reusable work primitive D. The robot completes the work goal. semi-autonomous, where the robot is dependent on receiving instructions to perform the first task at 102; Fully autonomously if operable to define the law autonomously.

[0062] Advantageously, in accordance with the present systems, devices and methods, the robot may store or The library of reusable work primitives accessed allows the robot to perform a number of different tasks. The generalized activities, tasks, and activities required to enable the completion of a given work goal. It may consist of all or any of the steps, subtasks, or In this manner, the present systems, apparatus, and methods have widespread application in a wide variety of different industries. Realize a general-purpose robot that can complete different work goals, or at least can be approximated.

[0063] Continuing with the example above, an example library of five reusable work primitives is , for example, consisting of:

[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 would be: "Get the green boxes delivered to the warehouse. Like this: When the robot first executes workflow C, then B, then D, is executed as follows: Execute inst(C) and set object_i = "green box". 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 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. Therefore, the robot completes the first workflow by executing workflow C, then B, then D. Complete a work goal.

[0070] It uses the same library of five reusable work primitives A, B, C, D, and E. The robot can then complete the second work goal. For example, the second work goal is For example, the second work goal is "Create an inventory of items in the warehouse." As mentioned above, the secondary work goal can be achieved autonomously or through some form of control. in response to receiving an instruction from the controller or operator relating to the second work objective. It may be initiated by a bot (by act 101 of method 100). The controller may be a teleoperator, at least a semi-autonomous teleactuation 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 the robot operates to detect and process. The information may be provided orally to the client.

[0071] When the second work goal is started, the robot starts the second workflow and Like the first workflow, the second workflow also requires five Reusable Work Primitives Reusable work from libraries of A, B, C, D, E The second workflow, however, consists of five reusable Reusable workpieces from libraries 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 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 A reusable work flow may be common to multiple work flows. 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. Therefore, 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 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. Execute inst(C) which is a "system" and make the robot autonomously pick 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 = " Execute "First Item" and have the robot place the first item. After that, the robot , pick up all items in the warehouse, scan the barcode, and place each item in the warehouse. For the system, the primitives C, then E, then D are consecutively Repeat for the first item, the third item, etc. The workflow runs workflow B, then (C, then E, then D) repeatedly. By doing this, the second work objective is completed.

[0074] It uses the same library of five reusable work primitives A, B, C, D, and E. This allows the robot to complete at least one additional work objective. The satellite records environmental parameters at various stations or waypoints (repeatedly). B, then A), and / or checking out a customer's purchases at a retail store (repeated Repeat: C, then E, then D). These and many other work goals are all 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 made up of them. and can be completed at least semi-autonomously by a robot. 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 in the five ways described here. A library of possible work primitives A, B, C, D, and E are provided as examples for illustration. Generally, reusable work primitives The more reusable work primitives in a library, the more likely a robot will be able to operate semi-autonomously. There can be many different work objectives that can be acted upon to complete regularly, but 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. In units of 10, 100, 200, etc.), the robot This may be sufficient to complete most (e.g., all) of the intended work goals.

[0075] Reusable work primitives that allow a robot to complete multiple different work objectives The above example using a fixed library of 10 is shown in Figure 2. Figure 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 specific Understand that acts may be omitted and / or additional acts may be added Those skilled in the art will appreciate that the order of actions shown is for illustrative purposes. It will also be understood that these are merely examples and may vary in alternative implementations.

[0076] Method 200, as sub-method 100, is a robotic process 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 goal (102), 1. Execute the workflow (103), all substantially as described for method 100 of FIG. As explained at the beginning, the first workflow is a process that is stored in the robot. Reusable work primitives that are accessed by the robot or otherwise a specific combination of reusable work primitives from a library of According to the method 100, the reusable wire 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. Reusable work primitives are available in the robot's library of reusable work primitives. Various primitives are represented by actions 201, 202, and 203 (collectively, sub-methods 201, 202, and 203). 10) can 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 reused. A variety of available work primitives are added in sub-method 250. The robot may be used and / or reused to complete additional work objectives.

[0077] Specifically, in 201 of submethod 210, the robot executes the process started in 101 of submethod 100. Start a second work goal that is different from the first work goal. Similarly, at 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, The control unit may be initiated in response to a command received from a remote control (e.g., a remote 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 initiated 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 functions; ,(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 generates a reusable work plan at 202 to complete the first work goal. The first set or combination of elements is the same as that selected in 102. selected from a library of useful work primitives. In some implementations, at least one Two common reusable work primitives are used in the first workflow started at 102 and in the second workflow. In other words, some The implementation includes 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 verbally or electronically. various different methods, such as wireless via a communication system, or digital via a tethered communication line. other parties (e.g., controllers, pilots, or operators) through any of the means of communication a second workflow may be initiated in response to receiving an instruction from the do.

[0080] In 203 of the sub-method 210, the robot executes the second workflow started in 202. Generally, when executing the second workflow in 203, the robot executes A library of reusable work primitives is used to start a 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 uses each reusable work primitive in the library of reusable work primitives. Trained and configured to execute work primitives substantially autonomously or automatically Therefore, the robot may be operated in any other way. When executing the second workflow, the robot executes the second reuse process corresponding to the second workflow. Autonomously selects a specific reusable work primitive from a set of reusable work primitives. Execute instructions executable by a processor that cause or enable something to be executed By doing so, the system can be substantially autonomously or automatically executed. There is at least one primary workflow started in 201 and one secondary workflow started in 202. In the implementation including the common reusable work primitives, the first workflow is executed in 103. Both the execution of the workflow at 203 and the execution of the second workflow at 204 are One 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.

[0081] In accordance with the present systems, apparatus, and methods, reusable work primitives for robots The various reusable work primitives in the library be further used and / or reused by the robot to complete additional work objectives. To this end, the method 200 may be implemented by having the robot create a first set of reusable work primitives. a sub-method 100 for initiating and executing a task to complete a first work objective, and Initiate and execute a second set of similar work primitives to achieve a second work goal that is different from the first. A method 210 for completing a work goal and a small number of reusable work primitives for the robot. Start and perform at least one additional set, different from either the first or second work goal. Sub-methods 250 (detailed to reduce clutter) for completing at least one additional work goal. Although not shown, actions 101, 102, and 103 of sub-method 100 and actions 210 of sub-method 210 201, 202, 203) and the sub-methods 100, 210, and In each of the 250 and 250, the same robot is using the same library of reusable work primitives. Deployed using a library with a primary work goal, a secondary work goal, and at least one All four additional work objectives are different from each other, so the robot must The corresponding workflows started by the workflow, and at least one additional workflow) may all be different from each other. In accordance with the present system, apparatus, and method, a library of robotic work primitives is created. The work primitives in a library can be reused so that any or all of the following are true: 1) At least one of the first workflows for completing the first work goal. The two work primitives are also included in a second workflow to complete a second work objective. (i.e., common or "reused" with the second workflow). At least one work primitive included in the second workflow for completing the task goal. The task will then provide at least one additional work task to complete at least one additional work objective. also included in the workflow (i.e., common to at least one additional workflow, or 3) At least one additional work objective is completed. At least one additional work primitive in the first work It is also included in the primary workflow for completing the goal (i.e., the primary workflow and and / or 4) the first workflow. At least one work primitive included in the first workflow for completing the work goal. The activity includes a second workflow and at least one additional workflow for completing a second work goal. and at least one additional workflow for completing the work goal (i.e. In the latter scenario, there is at least one reusable work The work primitives consist of a first workflow, a second workflow, and at least one additional workflow. It is included in (i.e., common to or reused by) all of the workflows.

[0082] Robots can come in a variety of different forms and can include a variety of different components. The robot, as explained above, has a non-uniform a housing, a carrier, and a storage medium, the housing including at least one processor communicatively coupled to the storage medium; Advantageously, the body or legs may be mechanically coupled to each other. The robot is mechanically coupled to the body and communicatively coupled to at least one processor. The system may also include at least one physically operable component integrated into the system, The two physically actuatable components may controllably move and interact with the robot and / or robotic system. can act on or to effect changes in the robot's environment Throughout this specification and the appended claims, "physically operable components" are used. The term "element" refers to the actions (e.g., by a robot or by a robot operator, controller) controllably operable (by a human or pilot) and capable of movement (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 support structure, 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 components that can be read by at least one processor, be stored on a non-transitory storage medium (such as a mobile device or a mobile terminal) or otherwise accessible by the robot. The library of reusable work primitives used is a set of at least the first physically constructed It contains a set of reusable work primitives that can be executed by a reusable component. That is, a library of reusable work primitives for a robot can 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 involve changes to the robot and / or its environment, for example. The first physically actuatable 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 Action 210) The robot then performs a reusable work task that is executable by a first physically actuatable component. containing at least one reusable work primitive from a set of work primitives, A first set of reusable work primitives may be initiated. When executing the action, the robot performs a function executable by a first physically actuatable component. At least one reusable work primitive is selected from the set of reusable work primitives. and the first physically actuable component executes the first physically actuable component. At least one reusable work primitive that can be executed by a reusable component. A change to the robot or its environment in some intentional way characterized by At least one physically actuable component is operable to provide the gripper. A component (e.g., an end effector) that acts to grasp an object, such as a robot or hand. A specific example of the above that includes or is shown in FIG.

[0085] FIG. 3 illustrates an exemplary method 300 of robot operation according to the present systems, devices, and methods. To perform the method 300, the 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 apparent to those skilled in the art. In alternative implementations, certain acts may be omitted and / or additional acts may be performed. Those skilled in the art will appreciate that the order of the actions shown is not intended to be limiting. 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 act 301 of method 100, the robot In the method, a first work goal is initiated, which includes grasping an object. The goal is to pick up an object, displace an object, pull an object, or slide an object. Twisting, rotating, holding onto objects (such as tools or equipment), and / or may otherwise involve manipulating the object.

[0087] At 302, the robot (in a manner similar to that described for act 102 of method 100) ) Initiate a first workflow and complete a first work goal. According to the method, in the example method 300, the first workflow is At least one reusable grasping primitive from a library of functional work primitives and at least one reusable grasping primitive operable to grasp an object. The term "comprehensive" refers to a first physically operable component that is capable of performing a task. 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 in such a way. For example, a physically actuatable component that operates to grasp an object may comprise 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. Grasping primitives accommodate different placements or configurations of the fingers and thumb when grasping an object. A physically actuable structure, such as a hand, that is actuable to grasp an object may The elements may, in particular, be related to the intended use of the object and / or the properties of the object (e.g., shape, size, etc.). to grasp different objects in different ways depending on their shape, geometry, rigidity, and fragility. The specific "different ways" in which grasping can be achieved may be optimal for each grasping. 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. 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 suited to grasping in different ways. However, the teachings herein do not apply to physical objects such as hands that operate to grasp objects. The manually actuable components can be configured to have different numbers of fingers, such as two, three, five, or six fingers. Those skilled in the art will appreciate that this 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 tool 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, e.g., for grasping delicate soft objects. Provides a gentle grip suitable for gripping or applications where a highly maneuverable grip is desired. The categories of "strong" and "precise" grasp primitives are The shape of the object being grasped (e.g., cylindrical or circular) and the configuration / arrangement of the fingers and thumb (e.g., , heavy wrap, light wrap, disc-shaped, spherical, four-fingered, one-fingered) and further sub-types In this way, an example set of reusable grasping primitives can be created. The robot 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.

[0033] It is understood that the grasping primitives may be or may be constructed from 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 useful grasping primitives. In addition, different implementations may use reusable grasping primitives. The set may follow a different organizational structure than that shown in FIG. The set of available grasping primitives may not follow any organizational structure.

[0090] Returning to method 300 of FIG. 3, at 303, the robot 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 actuatable component implements at least one reusable grasping primitive. a specific method appropriate for the object or work target (e.g., heavy lap or single finger) 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 chart 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; 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. The library and, when executed by at least one processor, the robot hand Autonomously using reusable grasping primitives from a library of available grasping primitives and processor-executable instructions for execution. 501, 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 Those skilled in the art will understand that additional steps may be added. The order of actions and / or sub-actions is shown for illustrative purposes only and may be varied in alternative implementations. It will also be understood that the present invention may be modified.

[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 or tactile data may be collected. The system may be a LiDAR system or other scanner system based on radio frequency, for example. 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. If the at least one sensor includes at least one optical sensor, a person skilled in the art would The analysis performed by 02 covers a wide range of machine vision and / or It will be appreciated that either digital image processing techniques may be employed. chipping, 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 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 grasping primitive is selected from a library of reusable grasping primitives. Select a specific reusable grasping primitive. At least one processor selects Certain reusable grasping primitives may, in some implementations, be Compared (or contrasted) with all other reusable grasping primitives in the library and then the processor selects the particular shape that best matches (or that it determines best matches) 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 used. The primitive is a subset of all other reusable grasping primitives in the library of reusable grasping primitives. Compared with other grasping primitives, we have chosen a primitive that best fits the shape of the object or that is best suited to the shape of the object. A particular reusable grasping platform employs a multi-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 a primitive from a library of reusable grasping primitives. A particular reusable grasping primitive is Reuse compared with other grasping primitives to determine which best fits the object shape. Each reusable grasping primitive in the library of possible grasping primitives (5 The robot hand that grasps the object (given the shape of the object determined in step 02) is used for simulation experiments. The simulation / modeling process may involve the creation of reusable grasping primitives. For each reusable grasping primitive in the library of The degree to which the device conforms to, accommodates, or fits the shape of an object and / or grips it. Each was assigned a score based on how likely or unlikely it was to be achieved. In an implementation employing such a scoring system, at least Another processor can then process all other reusable objects in the library of reusable grasping primitives. Compared with available grasping primitives, a specific reusable grasper that best fits the shape of the object is selected. Returns the reusable grasping primitive with the highest score as the grasping primitive, or In some implementations, at least one processor may first (i.e., before modeling or simulating grasping an object with a robotic hand), (e.g., The need to grasp an object, such as whether a strong grasp or a prismatic grasp is preferred, Reusable graspers are unlikely to provide a good fit based on the characteristics of the object or task being used. For example, referring to Figure 4, if an object is solid, If the object is known to be heavy and its shape is determined (in 502) to be long and cylindrical, In this case, at least one processor may have a reusable gripper corresponding to "columnar" and "strong." Reusable primitives are created so that only the primitives that have them are modeled and / or simulated. The grasp primitives can be filtered.

[0096] In some implementations, modeling and / or simulation is not employed, and in 503 At least one processor may be implemented purely as an inference or elimination filter similar to that described above. Based on the process of grasping, specific reusable grasping primitives 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 appropriate primitive. The library may be filtered.

[0097] In 504, the robotic hand performs at least the The particular reusable grasping primitive selected by the other processor is executed. In some implementations, the robotic hand is controlled by at least one processor. In 504, the at least one processor may a processor that autonomously executes a specific reusable grasping primitive to grasp the object; may execute instructions executable 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 element of the object. Additional parameters (e.g., whether the object is heavy or light, whether the object is strong / durable, or fragile) from a library of reusable grasping primitives based on both A particular reusable grasping primitive can be selected. In some implementations of the present invention, at least one processor analyzes additional data about the object. By using the above 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 an external source (e.g., the pilot of the robot) sent / sent from a computer or other operator to the robot. For example, the robot , communicable to at least one processor, which may receive additional data, particularly regarding the object. The additional data about the object may be obtained by a specific implementation. For example, additional data about an object may be provided in a variety of different forms, depending on the object. Alone or in any combination, the hardness of an object, the stiffness of an object, the personality of an object, the function of an object, and The distance may include either the distance 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 robots that are executed by a robot as part of a workflow that drives In accordance with the present system, apparatus, and method, The specific reusable work primitives selected by the robot for each In implementation, what the robot does with the grasped object in propelling the work target may be at least partially dependent on or influenced by If the robot needs to swing an object or use it as a tool, it is called "powerful" The grasping primitives are used to ensure a secure grasp of the object. When a robot needs to place an object precisely, it employs a "precision" grasping primitive. Therefore, in some implementations of method 500, act 503 may include In act 531, the robot (e.g., at least one of the robot) and a processor (at least in part) that determines the shape of the object determined in 502 and Reusable grasps are based on both the robot's position and the information about the work objectives to be performed by the robot. 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 data is stored in a non-transitory recording medium that can be reused at 503. The robot is accessed by at least one processor when selecting a target. The data about the work objectives to be performed by the robot is sent to the pilot or operator of the robot. commands received from the robot (e.g., by at least one receiver on the robot) or via commands from the robot pilot or operator (e.g. via instructions or commands received locally (by microphone or input terminal) and / or autonomous action planning and / or execution by the robot's artificial intelligence. through a variety of different means, including but not limited to, through inference or or arrives at a non-transitory recording medium readable by the robot's processor. It may also arrive on a more readable non-transitory recording medium.

[0100] In accordance with the present systems, methods, and apparatus, a robot may include reusable grasping primitives. Each reusable grasping primitive in the library can be executed autonomously. More generally, robots are built using a library of reusable work primitives. It can autonomously execute any possible work primitive. This involves having the robot repeatedly execute reusable grasp / work primitives. A person skilled in the art would understand that a technique is developed or made possible by a training or learning process. Operate the robot to reproduce the complete instruction set that achieves the work goal (i.e. (i.e., operating the robot to reproduce the entire workflow) You may already be familiar with the concept of training a robot to complete a goal. Systems, methods, and apparatus for reproducing a complete set of instructions for the entire workflow This traditional approach to operating a robot is undesirably specific. , limited. A robot trained to execute an entire workflow autonomously is Highly specialized robots that can autonomously complete only the work objective(s) corresponding to the workflow. Even slight changes in conditions, environment, or work target specifications can affect its This could prevent such highly specialized robots 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 is capable of performing a complete workflow. 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 It arises from the ability to "use" reusable work primitives and thus autonomously execute them. Training a robot to perform an entire workflow autonomously is the same as training a robot to perform an entire workflow autonomously. Unlike training robots, the advantage is versatility, which allows for multiple robot applications. In other words, training a robot to execute a complete workflow autonomously is In contrast, training a machine to autonomously execute reusable work primitives is Improving the capabilities of robots in terms of versatility, generality, and range 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 chart 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. and 622, however, those skilled in the art will recognize that in alternative embodiments, specific acts / sub-acts may be It is understood that additional actions / sub-actions may be omitted and / or added. Those skilled in the art will appreciate that the order of the illustrated acts / sub-acts is shown for illustrative purposes. It will be understood that the method 60 is merely illustrative 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 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 shall be at least one communicatively coupled to a non-transitory storage medium readable by the processor; When executed by a processor of the computer system, the computer-implemented method 60 0 and / or instructions executable by a processor (e.g., It may also store software programs (computer program products).

[0102] 601 defines a library of reusable work primitives. Each reusable A suitable work primitive can be executed by a robot, and a reusable work primitive Each combination and sequence of reusable work primitives from a 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 selects each reusable task primitive in the library of reusable task primitives. 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. other reusable work primitives that may precede or follow a reusable work primitive. Reusable without consideration, tolerance, or adaptation and operating the robot to repeatedly perform work primitives. In other words, the traditional approach of training a robot to autonomously reproduce an entire workflow is The technique involves sequentially executing each of the preceding and succeeding instructions to complete the work goal. The system includes operating 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 independent instruction that does not depend on any preceding or succeeding instructions and does not complete a work goal by itself. It executes a set of independent instructions to independently create 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 figure.

[0104] In 621, training the robot in 602 includes training at least one processor of the robot. When executed by the robot, it provides a library of reusable work primitives to the robot. A processor selectively and autonomously executes each reusable work primitive of Generating executable instructions by a processor may include generating executable instructions by a processor. For each reusable work primitive, the robot is repeatedly operated and reused. It may include an iterative process of executing and re-executing possible work primitives, When doing so, the robot must be able to select reusable work primitives that are most successful (e.g., with the fewest errors). in the shortest amount of time, with the highest accuracy or precision, or by other similar measures of success. and their 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 necessary work primitives. It may be encoded as an instruction.

[0105] At 622, the processor-executable instructions generated at 621 are The data is sent to a non-transitory storage medium readable by a processor. In this case, the processor-executable instructions generated in 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 place.

[0106] As previously mentioned, in accordance with the present systems, methods, and apparatus, a robot can be autonomously reusable. Training a machine to execute a set of work primitives can be completed in a simulated environment. For example, the training of the robot in 602 can be performed by the robot using a model 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 chart 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 understand that the order of the illustrated acts / sub-acts is for illustrative purposes only. It will also be understood that the embodiments are shown for purposes of illustration only and may be modified in alternative implementations. The method 700 includes communicating with at least one processor-readable non-transitory storage medium. conventional computing hardware, such as at least one processor reliably coupled to hardware, and system buses, input / output peripherals, networking hardware, etc. 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 The present invention is a computer-implemented method that can be performed by 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 the processor. When executed by a single processor, they are 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 created. Each reusable work primitive is executable by the robot. be.

[0109] At 702, the robot performs a reusable work primitive reconfiguration on each reusable work primitive in the library. Trained in a simulated environment to autonomously execute available work primitives Throughout this specification and the appended claims, the terms "simulated environment," "simulated instance ... The term "simulated" refers to a virtual or digital copy or equivalent of a physical counterpart. Therefore, a "simulated environment" refers to at least one a processor-executable program stored on a non-transitory recording medium readable by the processor; encoded with executable instructions and / or data and executable by such a processor Implemented by at least one processor that executes instructions and / or data It is 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 encode physical constants such as acceleration due to gravity, the 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 a robot in a simulated environment is not required. Training may include training one or more mock experiments of the robot in a simulated environment. To this end, act 702 includes sub-acts 721, 722, and 723.

[0110] In 721, this is part of the training of the robot in a simulated environment in 702. A first simulated instance of the robot is created in the simulated environment. The stance is stored on a non-transitory recording medium readable by at least one processor. encoded with instructions and / or data executable by a processor, at least one processor that executes instructions and / or data executable by the processor; The robot may include a virtual or digital representation of the robot implemented by a processor. Executable instructions and / or data are used to model the dimensions (e.g., spatial parameters), geometry, and other parameters (e.g., degrees of freedom, material properties, quality amount, etc.), and, if applicable, how it moves. To interface with the user, a simulated instance of the robot is displayed on a screen or monitor. Although such visual representation of the simulated instance of the robot may be displayed on the monitor, It is not necessary in all implementations of the present systems, methods, and devices.

[0111] In 722, the processor is responsible for training the robot in the simulated environment in 702. The more executable instructions are repeatedly executed (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 the robot in a simulated environment in 702, The processor-executable instructions executed repeatedly in the robot are The first mock instance is given a program to execute the first reusable work primitive. and the processor is improved based on at least one result of repeatedly executing the executable instructions. For example, the processor executable instructions repeatedly executed at 722 are: In 723, the results of executing instructions executable by the processor in 722 are improved. or to recreate, a first simulated instance of a robot is One or more parameters that govern how the primitive is executed (e.g., type of actuation) During stimulation or actuation, adjust the force or precision of actuation, target value or threshold, 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 executable work primitives. 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, precision or accuracy is excessive or inconsistent with expected results), then The instruction is refined at 722 and then repeated at 723 (i.e., for the second iteration). The results can be returned to confirm that a more desirable result is achieved.

[0113] In some implementations, the method 700 may include a library or reusable work primitives. It may continue for any number of additional reusable work primitives within the activity. Acts 722 and 723 represent each reuse in the library of reusable work primitives. It may be repeated for each possible work primitive, e.g., by additional processors. The executable instructions are repeatedly executed (i.e., at 722) to generate a first model of the robot. The pseudo-instance must contain at least one of the primitives in the library of reusable work primitives. Additional reusable work primitives may be executed, and the first simulated instance of the robot may be executed. Processor that causes the instance to execute at least one additional reusable work primitive. The instructions executable by the robot are: instructions executable by a processor to perform reusable work primitives Improved based on the results of at least one iteration (i.e., in 723) This may also be done.

[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 is done using a real physical robot. It may be done in the world, or in a simulated world using a simulated instance of a robot. In each case, using instructions executable by the same or substantially similar processors , can control or govern the behavior of real robots / simulated robots. instances in a simulated environment (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 you to As mentioned above, the training process involves The robot needs to repeatedly perform reusable primitive tasks during training, causing significant wear and tear on hardware before it can be deployed to complete meaningful work. This can shorten the functional life of the robot. Furthermore, in the early stages of training, the robot It is very bad at implementing reusable work primitives and when you try to do that Early attempts to do so may result in damage to the robot itself or its surroundings. The robot may fall over or collide with surrounding objects. Training on simulated instances minimizes such risks to real physical robots. can be avoided.

[0115] An additional benefit of training simulated instances of a robot in a simulated environment is that the training process can be parallelized. In some implementations, the robot's arbitrary and generating a number of additional simulated instances in the simulated environment, the first simulated instance of the robot and For example, some implementations of method 700 may be trained in a simulated environment. generating 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 execute reusable work primitives and executing the first simulated instance of the robot. At least one additional mock instance of both the first reusable work primitive The instructions executable by the processor to be executed are stored in the first simulated instance of the robot and the Attach the first reusable work primitive to at least one additional mock instance of the At least one result of repeatedly executing instructions executable by a processor that executes the program. In some implementations, the processor can A single common instance of the instruction is executed by both / all simulated instances of the robot. be performed 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 result achieved by 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. The globally optimal instance of the command may be selected.

[0116] Simulated training should be conducted over long periods of time without interruption (i.e., without pauses or rest periods). The method has the further advantage that it can be carried out continuously (without the need for a separate process).

[0117] FIG. 8 illustrates a method for robotically reusable workpieces in accordance with the present systems, methods, and apparatus. FIG. 8 illustrates an exemplary simulated environment 800 in which a simulated experiment is trained to perform a mitigating 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 Only the robot 810 is invoked. Each simulated instance of the robot 810 is invoked by each object 82. To grasp 0, we repeatedly execute a specific reusable grasping primitive (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 are ,training to autonomously execute reusable work primitives,and the complete work 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. can be accelerated while at the same time preventing damage or destruction of physical components or objects in the real world. Depending on the quality of the simulation, the simulated instance of the robot 810 It is used to control the behavior of the process, optimizing the autonomous capabilities of reusable work primitives. Instructions executable by the trained processor are removed from the simulation to optimize It may be loaded onto an actual physical robot. In other words, a 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 are not necessarily physical deployed to real physical robots in a real world, Reusable work primitives can be made to execute autonomously.

[0118] The training process described herein, when performed, may be used to train the robot, or any of the robot's by a processor that allows multiple simulated instances to execute reusable work primitives. In accordance with the present systems, methods, and apparatus, such processors 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 chart 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 actions that acts / sub-acts may be omitted and / or additional acts / sub-acts may be added Those skilled in the art will understand that the order of the illustrated acts / sub-acts is an exemplary goal. It is understood that the present invention is shown for purposes of illustration only and may be modified in alternative embodiments. Acts 601 and 602 of method 900 are identical to acts 602 and 602 of method 600. The method 900 is readable by at least one processor. and a non-transitory storage medium, such as at least one processor communicatively coupled to the Computing hardware, system buses, input / output peripherals, network hardware various other well-known components such as the BIOS, various drivers, operating systems, stored on a non-transitory recording medium readable by a processor, such as a rating system One or more computer systems containing conventional software and firmware The present invention relates to a computer-implemented method that can 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 performed. The device may also store instructions (e.g., a computer program product) that can be used to program the device.

[0120] In 601, a reusable workpiece is prepared in a manner similar to that detailed in method 600. A library of mitives is defined.

[0121] In 602, the robot performs the recycling in a manner similar to that detailed in method 600. Each reusable work primitive in the library of available work primitives is autonomously Although the subject is trained to perform the act 602 of the method 900, the act 602 includes sub-acts 921, 922, and 923. In some implementations of method 900, act 602 includes one or Although method 900 may be performed using only multiple actual physical robot(s), In other embodiments, act 602 may involve any number of simulated instances of actual physical robots. This may be performed using

[0122] As part of training 602 of the robot, 921, a simulated instance of the robot is The first reusable work primitive in the library of available work primitives The remote control command is received from the remote control system. Further exemplary details of this are provided below. When executed using a robot, the teleoperation commands are executed by a real physical robot at 921. The actions 602 may be received by any number of simulated instances of a real physical robot. When executed using the remote control command, the remote control command is sent to the computer running the simulation in 921. The signal may be received by a computer system.

[0123] As part of the training 602 of 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 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 in a simulated robot interface. Replays a remote operation instruction that causes the remote control (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 a robot to replay teleoperation commands. , without the remote operation instruction itself (i.e., executing the first reusable work primitive) the first reusable (without receiving additional remote operating instructions that provide details of how to It can represent an executable copy of the remote operation instructions that cause the work primitives to execute autonomously. If the act 602 is performed using an actual physical robot, The processor-executable instructions may optionally include a first reusable work primitive. may be called or executed by a robot to autonomously execute a function. Action 602 may be performed using any number of simulated instances of real, physical robots. When used in a computer program product, the instructions executable by the processor may be (as a first step) is delivered or loaded onto the real physical robot and then sent to the robot when needed. 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 are reusable 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 control instruction set and the second remote control instruction set are The first instance of the work primitive and the second instance of the first reusable work primitive. Instances differ in some way, and so do instances. the difference(s) between the set of instructions and the second set of remotely operated instructions, and the resulting The first instance of the first reusable work primitive and the first reusable The difference(s) between the first and second instances of the work primitives cause a comparison to be made. and causes the robot (simulated instance) to execute the first reusable work primitive. Advantageous formulations of teleoperation instructions that allow the In some implementations, the robot is first instantiated with a first reusable work primitive. executing a first set of teleoperation instructions to cause the robot to perform the first teleoperation instruction; a second remote instance of the reusable work primitive to execute the second remote instance of the reusable work primitive. Evaluating (e.g., comparing) each result of executing the set of operational instructions to determine a first remote Which remotely operated instruction set or the second remotely operated instruction set produces better results according to the measure of success? "Better results" include fewer errors, Being more accurate or precise, using less power, performing more quickly, May include results that are aesthetically pleasing and / or favorable according to other measures of success Once a specific set of remote control instructions that produces better results is identified (i.e., the first the remote control instruction set and the second remote control 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 better results. 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. 923 may be combined with at least one element of the set. 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 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. It can include sensors that detect real physical movements, and remote control commands can be sent to the robot (simulating a robot). (into a pseudo-instance) the real physics performed by such a real remote pilot. It can emulate the movements of a real remote pilot. Teleoperation systems that allow a (simulated) robot to emulate the actual physical movements of a robot are 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. 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. It may include a graphical user interface (GUI) that presents the The command causes the robot instance to perform an action selected from the GUI. Such a GUI-based remote control system can synchronize the pilot's actions with the robot. provides a higher level of abstraction between the behavior of the simulated instance of the It is called a "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 workspace (in a simulated instance of a robot) The first set of low-level teleoperation instructions that implement the primitive is a processor that causes the processor to autonomously execute a first reusable work primitive; To generate a first set of feasible training sets, an initial iteration of the training process (e.g., method 60) 0, method 700, and / or method 900) may be used to automatically (simulated instances of a robot) a processor that executes a first reusable work primitive The first set is used to generate the training set, and subsequent iterations of the training process are A processor that autonomously executes the first reusable work primitive (on the instance) Use of high-level remote control commands to further refine the commands executable by the server. can be done.

[0131] FIG. 10 illustrates various features and components described throughout the present systems, methods, and apparatus. FIG. 1 is an illustrative diagram of an exemplary robotic system 1000 comprising: 1000 is a first physically actuatable component 100 mechanically coupled to a body 1001. 2a and a second physically actuatable component 1002b. In the illustrated embodiment, first and second physically actuatable components 10 1002a and 1002b correspond to the respective robot hands, but those skilled in the art will recognize them. If so, in alternative embodiments, the physically actuatable components may take other forms (such as arms or legs, non-hand-like end effectors such as a suction tube or a suction tube, or It is understood that the invention may take other forms (e.g., forms 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 Robotic hand 1002b is similar to the mirror image of robotic hand 1002a. However, for the robot hand 1002b, the corresponding details are omitted to reduce clutter. The robotic hands 1002a and 1002b are electromechanical mechanical 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: Specific details are available in the filing date of May 21, 2021, under the heading "Systems, Devices, And Methods For A Hydraulic Robotic Arm” and U.S. Provisional Patent Application (Provisional Application No. 63 / 191,732) entitled "Compounds for the Presence of a Novel Microcomputer-Based Serial Number (PCT)," No. 17 / 491,577, both of which are incorporated by reference in their entireties. incorporated herein.

[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. 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 10 a non-transitory memory readable by at least one processor communicatively coupled to the The memory 1040 includes a reusable storage medium, or "memory" 1040. A library of work primitives 1041 (which, depending on the implementation, may be used to create a robotic hand 10 Reusable gripping plates for either 02a and / or 1002b (which may or may not include a library of primitives) and by processor 1030 When executed, the robot body 1001 (robot hand 1002a and / or 100 2b) (including applicable and operable components such as either or both of Select a reusable work primitive from the library of available work primitives1041 and processor-executable instructions 1042 for selectively and autonomously executing the instructions. In certain implementations, 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 described above, and / or causing a robotic system to perform the associated acts of methods 700 and / or 900. The computer program product may further include instructions (e.g., a computer program product) executable by the processor. It can be seen.

[0134] The processor 1030 controls the robot body 1001 to communicate with the exemplary teleoperation system 1070. It is also communicatively coupled to a wireless transceiver 1050 that transmits and receives wireless communication signals 1060. To this end, the remote control system 1070 also includes a wireless transceiver 1071.

[0135] For illustrative purposes, the teleoperation system 1070 includes 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 movement, and the processor 1030 When executed by the robot body 1001 (and hands 1002a and / or 1002b), 002b) by Pilot 1082 A processing system that converts the physical actions being performed into low-level teleoperation commands that emulate them. 1083. In some implementations, the sensor system 1081 includes a haptic glove, a pad, Pilot 1082's body-worn accelerometer-based sensors, 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 enable The high-level telemetry interface 1090 may include a sensor component. It includes a simple GUI displayed on a tablet computer. The GUI of the interface 1090 is a diagram of the robot body 1001 (and hands 1002a and / or or 1002b) respectively executable by the applicable operable component. It provides a set of buttons that correspond to various operations. The action(s) selected by the user / pilot of the interface 1090 When executed by the processor 1030, the robot body 1001 (and the hands 1002a and and / or any applicable operable components such as 1002b) to perform the selected action ( are converted into high-level remote control commands that execute multiple commands.

[0136] In accordance with the present system, apparatus, and method, a multipurpose robot can autonomously perform multiple workpieces. To execute, a task is trained to autonomously execute 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 storage medium readable by an on-board processor reliably coupled thereto; The processor-readable non-transitory storage medium may store 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. This allows the robot to analyze the task and, when performed 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 can be identified.

[0137] The robots described herein may, in some embodiments, be any of the robots described in U.S. Patent Application No. 16 / 940,566 (U.S. Patent Application Publication No. 2021-0031383) Any of the above-described U.S. patent applications (serial number 17 / 023,929) may be employed. US Patent Application Publication No. 2021-0090201), US Patent Application No. 17 / 061,187 (U.S. Patent Application Publication No. 2021-0122035), U.S. Patent Patent application (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 application (provisional application number 63 / 151,044) is similar to the application (provisional application number 6 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 (Provisional 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 transfers and communicates information. 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, optical coupling, and / or photonic coupling.

[0139] Throughout this specification and the appended claims, the infinitive verb form is often used. Examples include, but are not limited to: "encoding," "providing," "to remember," etc. Unless required by a specific context, such infinitive verb forms are not used in the "At least encode," "at least provide," "at least store," etc. It is used in an open and inclusive sense, as in

[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 figures provided may be modified without departing from the spirit and scope of the present disclosure. In particular, it will be understood that the teachings herein may be implemented in a computer system as provided. are not intended to be limiting by way of example only of exemplary systems and computing environments. It is not intended to be a diagram.

[0141] This specification illustrates various implementations and examples in the form of block diagrams, circuit diagrams, flowcharts, and examples. Those skilled in the art will recognize that such block diagrams, circuit diagrams, flow charts, and Any functionality and / or operation within the port or embodiments may be implemented using a wide range of hardware, software, individually and / or collectively implemented by software and / or firmware For example, it will be understood that various embodiments disclosed herein may , which may be implemented in whole or in part in one or more equivalent ways. Integrated circuits (i.e., ASICs), standard integrated circuits (plural), any number of computer-implemented computer program(s) (e.g., any number of computer systems) executed by 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 foregoing 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 as software. When implemented and stored in a memory or recording medium, such data objects, logic, instructions, and / or programs from memory or recording media; fetching data from the database and performing various actions or operations ( A computer-based system capable of performing the processing 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 by or in connection with instruction execution systems, apparatus, and / or devices. data, data objects, logic, instructions, and / or programs for A specific, non-limiting example is a processor-readable element. The media that can be used are portable computer diskettes (magnetic, CompactFlash (registered trademark) ) card, Secure Digital, Random Access Memory (RAM), Read-Only Memory (ROM), erasable programmable read-only memory (EPROM, EEPROM) OM, flash memory), portable compact disc 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 illustrate and exemplify specific implementations or embodiments, Generally, the scope of the claims is not intended to be limited to the scope of such claims. The scope of the present invention is intended to include all possible implementations and embodiments thereof, along 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 processor-readable non-transitory storage medium; and The processor-readable non-transitory recording medium comprises: A library of reusable work primitives, processor-executable instructions, When executed by the above-mentioned library of reusable work primitives, an instruction that causes the robot to autonomously execute the reusable work primitive; Remember, The method comprises: initiating a first work objective; initiating a first workflow to complete the first work objective; the first workflow is 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 A method having the following.

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: the 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 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 the 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 sets, including The at least one additional workflow may include the first workflow and the 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. having 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. having a surface, initiating a first workflow to complete the first work goal; receiving the first workflow via the communication interface; Including, The method of claim 1.

7. initiating a first workflow to complete the first work goal; and, by said robot, said first set of reusable work primitives, a step of identifying Including, The method of claim 1.

8. The robot a component communicatively coupled to the at least one processor, a first component that is at least physically operable; and The aforementioned library of reusable work primitives a reusable workpiece executable by said physically actuatable first component; Set of Mitib, Including, initiating a first workflow to complete the first work goal; The aforementioned, a reusable work process executable by said physically operable first component; A set of primitives, at least one reusable work primitive from a step of initiating a set of work primitives; Including, The step of executing the first workflow includes: The aforementioned, The aforementioned, a reusable workpiece executable by the physically actuatable first component; a set of primitives, at least one reusable work primitive from by the physically actuatable first component; Including, The method of claim 1.

9. the physically actuatable first component is actuatable to grasp an object; The aforementioned, a reusable workpiece executable by said physically actuatable first component; Set of Mitib, a reusable gripping printer operable by the physically actuatable first component; a set of mitibs, including The aforementioned, 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, including: at least one reusable grasping primitive; a first set of reusable work primitives, 、 The aforementioned, The aforementioned, a reusable work process executable by said physically operable first component; A set of primitives, at least one reusable work primitive from by the physically actuatable first component, the physically actuatable first component, performing a grasping primitive; Including, The method of 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 stored in the processor-readable non-transitory 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 and at least one physically actuatable component mechanically coupled to the body; at least one physically operable component communicatively coupled to said at least one physically operable component; one 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 aforementioned, at least one processor-readable non-transitory storage medium; teeth, A library of reusable work primitives, processor-executable instructions, If it is executed, initiating a first work objective; initiating a first workflow to complete the first work goal; Wherein the first workflow is a library of reusable work primitives. a first set of reusable work primitives selected from the 、 Executing the first workflow, a first set of primitives; an instruction to the robot to perform the above; 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; and initiating a second workflow to complete the second work goal. hand, the second workflow includes the 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 workflow. 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; or 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 storage medium includes: When executed by the at least one processor, the first work goal is completed. causing the robot to autonomously identify the first workflow to complete; instructions executable by a processor; The robot of claim 12, further storing:

16. The aforementioned library of reusable work primitives reusable, executable by said 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 following steps: at least one reusable work primitive; causing the at least one physically operable component to perform The robot of claim 12.

17. The at least one physically actuatable component is actuatable to grasp an object. an end effector, The aforementioned, reusable, executable by said 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 may be executed by 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 non-transitory recording medium, and storing at least one program of the robot system; When executed by a processor, initiating a first work objective; Initiating a first workflow to complete the first work goal. wherein the first workflow includes 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 the The at least one processor causes the robot system to perform processor-executable instructions and / or data; 1. A computer program product comprising:

19. The computer program product causes the processor of the robot system to and a non-transitory recording medium readable by at least one of the robot system. When executed by one processor, initiating a second work target different from the first work target; and initiating a second workflow to complete the second work goal. hand, the second workflow includes the 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 workflow. 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 that cause the robotic system to Ta and, 20. The computer program product of claim 18, further comprising:

20. The computer program product causes the processor of the robot system to and a non-transitory recording medium readable by at least one of the robot system. When executed by one processor, a step for autonomously identifying the first workflow for completing the first work goal; Tep, processor-executable instructions and / or data that cause 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 a robotic hand having a plurality of fingers and an opposable thumb; at least one processor operable to control the movement of the robotic hand; Sa 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; and The non-transitory processor-readable storage medium includes: A library of reusable grasping primitives, When executed by the at least one processor, the reusable grasper a library of grasping primitives, the reusable grasping 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 the shape of the object. determining the 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 graspable primitive; The robotic hand uses the specific reusable gripping plate to grasp the object. executing a primitive; To have, a method.

22. the particular reusable gripping mechanism for grasping the object by the robotic hand; executing the primitive; causes the robotic 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 about the object with the at least one sensor; collecting optical data about the object with the at least one optical sensor. including the 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 reused object is selected from the library of reusable grasping primitives. selecting possible grasp primitives; generating, by the at least one processor, the reusable grasping primitives; 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 the 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 primitives; Compared to all other reusable grasping primitives in the library, The fingers and the opposing fingers of the robotic hand are adapted to best fit the shape of the body. selecting the particular reusable grasping primitive using the thumb configuration to be used. pu, including, 25. The method of claim 24.

26. The at least one processor determines the 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 primitives; The robot grasps the object using each reusable grasping primitive in the library. Simulating a robot hand to use other components of the aforementioned library of reusable grasping primitives 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 state of 22. The method of claim 21.

27. and analyzing additional data relating to the object by the at least one processor to determine the 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 reused object is selected from the library of reusable grasping primitives. selecting possible grasp 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. collecting additional data about the object by the at least one sensor. Step and The additional data about the object includes the hardness of the object, the stiffness of the object, and Selected from the group consisting of: the personality of the object, the function of said object, and the mass of said object. will be 28. The method of claim 27.

29. The robot includes at least one processor communicatively coupled to the at least one processor. and 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 further storing data of the work target to be performed, and the work target 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 reused object is selected from the library of reusable grasping primitives. selecting possible grasp primitives; The at least one processor calculates the shape of the object and the front and data of the work target to be executed by the robot, and and selecting the particular reusable grasping primitive from the library of reusable grasping primitives based on the objective. selecting an available grasping primitive; 22. The method of claim 21.

31. The main body and a robot having a plurality of fingers and an opposable thumb 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 that can be used to Equipped with The at least one processor-readable non-transitory storage medium includes: A library of reusable work primitives, processor-executable instructions, If it is executed, collecting data about the object; analyzing the data to determine the shape of the object; The reusable gripper is configured to grip the object at least in part based 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 an instruction to the robot to perform the above; Remember, robot.

32. The processor-executable instructions are executed by the at least one processor. When executed, the particular reusable grasping primitive for grasping the object is the robot executes the particular reusable grasping program to grasp the object. and having the robot hand autonomously execute the objective.

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, The reusable gripper is based at least in part on the shape of the object. Assigning a specific reusable grasping primitive to the robot from a library of primitives Let them choose, All other reusable graspers in the library of reusable grasp primitives mentioned above Compared to the existing primitives, the particular reused primitive that best fits the shape of the object is selected. causing the robot to 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 graspers in the library of reusable grasp 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 finger and opposable thumb configuration of the hand. allowing the robot to select a possible grasping primitive; 35. The robot of claim 34.

36. The processor-executable instructions are executed by the at least one processor. If executed, The reusable gripper is based at least in part on the shape of the object. Assigning 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 simulating the robot hand grasping the object using a tib on the robot; All other reusable grasping primitives in the library of reusable grasping primitives mentioned above What features of the aforementioned library of reusable grasping primitives are there compared to the existing primitives? Determine which reusable grasping primitive best fits the object's shape. to determine, 32. The robot of claim 31.

37. The non-transitory processor-readable storage medium includes: When executed by a processor, the robot analyzes additional data about the object. and determining 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, The reusable gripper is based at least in part on the shape of the object. Assigning a specific reusable grasping primitive to the robot from a library of primitives Let them choose, the shape of the object; and the at least one additional parameter of the 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: 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, and Selected from the group consisting of: the personality of the object, the function of said object, and the mass of said object. will be 38. The robot of claim 37.

39. at least one receiver communicatively coupled to the at least one processor; Furthermore, The non-transitory processor-readable storage medium includes: 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 computer to receive the 38. The robot of claim 37.

40. The non-transitory processor-readable recording medium is executed by the robot. and further storing data relating to the work target to be performed, wherein the work target grasps the object. This includes: The processor-executable instructions are executed by the at least one processor. If executed, The reusable gripper is based at least in part on the shape of the object. Assigning 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 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 goals. So, A library of reusable work primitives, each executable by the 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 work primitives; 10. A computer-implemented method comprising:

42. Each reusable element in 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 Train the robot to autonomously execute each reusable work primitive. a step of: teeth, creating a first simulated instance of the robot in the simulated environment; Repeated execution of the processor-executable instructions to generate the reusable word processor. a first reusable work primitive from a library of work primitives to the robot; causing the first simulated instance of the repeatedly executing the processor-executable instructions to generate the first reusable 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 connected 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 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 Repeated execution of the processor-executable instructions to generate the reusable word processor. a first reusable work primitive from a library of work primitives to the causing the at least one additional simulated instance of a bot to execute; repeatedly executing the processor-executable instructions to generate the first reusable a work primitive in front of the first simulated instance of the robot and 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 connected to the first simulated interface of the robot. a stance and the at least one additional simulated instance of the robot. Ru, 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 Train the robot to autonomously execute each reusable work primitive. a step of: teeth, Repeated execution of 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 the program; Repeated execution of the processor-executable instructions to generate said reusable word processor. At least one additional reusable work primitive from the library of work primitives. causing the first simulated instance to execute the activity; Based on at least one result of the at least one additional reusable work primitive to the robot 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 element in the library of reusable work primitives mentioned above training the robot to autonomously execute work primitives; teeth, a first reusable work primitive of said library of reusable work primitives; receiving a teleoperation command that causes the robot to execute a robot primitive; the first reusable library of work primitives; Executing the teleoperation command to cause the robot to perform a work primitive. and, the first reusable work primitive library; causing the robot to execute a work primitive; processor-executable instructions for causing the robot to reproduce the teleoperation command. generating a Including, 42. The computer-implemented method of claim 41.

47. a first reusable work primitive of said library of reusable work primitives; receiving a teleoperation command that causes the robot to execute a robot primitive; The robot is then able to simulate the actual physical movements performed by a real teleoperated pilot. receiving low-level remote control instructions to emulate the 47. The computer-implemented method of claim 46.

48. a first reusable work primitive of said library of reusable work primitives; receiving a teleoperation command that causes the robot to execute a robot primitive; causes the robot to perform an action selected from a graphical user interface. receiving high-level remote control commands; 47. The computer-implemented method of claim 46.

49. Each reusable element in 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, a first reusable work primitive of said library of reusable work primitives; receiving a teleoperation command that causes the robot to execute a robot primitive; assigns the first reusable work primitive of the simulated environment to the robot receiving a remote operation command to be executed by the simulated instance; the first reusable library of work primitives; Executing the teleoperation command to cause the robot to perform a work primitive. 、 assigns the first reusable work primitive of the simulated environment to the robot executing the remote operation command to cause the simulated instance to execute the remote operation command; the first reusable work primitive library; causing the robot to execute a work primitive; processor-executable instructions for causing the robot to reproduce the teleoperation command. generating a teeth, The first reusable work primitive of the simulated environment is Let the mock instance run, a processor that reproduces the teleoperation instructions 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's physical movements are simulated by a real remote pilot. receiving low-level remote control instructions to be emulated by said simulated instance; pu, 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 the actions selected from the graphical user interface. receiving high-level remote control instructions to be executed by the instance; 50. The computer-implemented method of claim 49.

52. a first reusable work primitive of said library of reusable work primitives; receiving a teleoperation command that causes the robot to execute a robot primitive; teeth, the first reusable library of work primitives; a first instance of a work primitive to be executed by the robot; receiving a set; the first reusable library of work primitives; a first teleoperation instruction causing the robot to execute a second instance of a work primitive; receiving two sets; Including, the first reusable library of work primitives; executing teleoperation instructions that cause the robot to perform work primitives; teeth, the first reusable library of work primitives; causing the robot to execute the first instance of a work primitive; a first set of operational instructions; the first reusable library of work primitives; causing the robot to execute the second instance of a work primitive; a second set of operational instructions; Including, 47. The computer-implemented method of claim 46.

53. the first reusable work primitive library; causing the robot to execute a work primitive; processor-executable instructions for causing the robot to reproduce the teleoperation command. generating a teeth, the first reusable library of work primitives; causing the robot to execute the first instance of a work primitive; a first set of operational instructions; the first reusable library of work primitives; causing the robot to execute the second instance of a work primitive; a second set of operational instructions; and evaluating the results of each of the first set of remote control instructions and the second set of remote control instructions. a second set of operational instructions, or a third set of operational instructions, which produces a better result; 、 said first set of remote control instructions, said second set of remote control instructions, and and causing the robot to reproduce the method that produces the better result, 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; processor-executable instructions for causing the robot to reproduce the teleoperation command. generating a 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, said first set of remote control instructions being operable to control at least one element of said first set of remote control instructions. and combining at least one element of said second set of remote operating instructions. 、 Including, 53. The computer-implemented method of claim 52.

55. Each reusable element in 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 processor-executable instructions that 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 and at least one physically actuatable component mechanically coupled to the body; at least one physically operable component communicatively coupled to said at least one physically operable component; one 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 aforementioned, at least one processor-readable non-transitory storage medium; teeth, A library of reusable work primitives, When executed by the at least one processor, a library of work primitives, each of which is a reusable work primitive, processor-executable instructions that the robot selectively and autonomously executes, creating a first simulated instance of the robot in a simulated environment; Repeated execution of the processor-executable instructions to generate said reusable word processor. a first reusable work primitive from a library of work primitives 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. P, Based on at least one result of The first reusable work primitive is connected to the first simulated image of the robot. Instance to execute, narrowing down the processor-executable instructions; A non-transitory recording medium readable by a processor of the robot, sending instructions executable by a processor; processor-executable instructions 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 Repeated execution of the processor-executable instructions to generate the reusable word processor. a first reusable work primitive from a library of work primitives to the causing the at least one additional simulated instance of a bot to execute; repeatedly executing the processor-executable instructions to generate the first reusable a work primitive in front of the first simulated instance of the robot and 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 connected to the first simulated interface of the robot. a stance and the at least one additional simulated instance of the robot. Ru, 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 non-transitory recording medium, and storing 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, creating a first simulated instance of the robot in a simulated environment; Repeated execution of the processor-executable instructions to generate the reusable word processor. a first reusable work primitive from a library of work primitives to the robot; causing the first simulated instance of the repeatedly executing the processor-executable instructions to generate the first reusable 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 connected 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 instructions executable by the processor; processor-executable instructions 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 Repeated execution of the processor-executable instructions to generate the reusable word processor. a first reusable work primitive from a library of work primitives to the causing the at least one additional simulated instance of a bot to execute; repeatedly executing the processor-executable instructions to generate the first reusable a work primitive in front of the first simulated instance of the robot and 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 connected to the first simulated interface of the robot. a stance and the at least one additional simulated instance of the robot. Ru, narrowing down the processor-executable instructions; further comprising 59. A computer program product according to claim 58.