Real time robot collision avoidance
First Claim
1. A method for learning a robot'"'"'s capabilities comprising:
- receiving robot instructions to be performed by the robot, wherein the robot instructions are randomly generated to cause the robot to perform random movements;
at each of a plurality of control cycles of one or more processors of the robot;
receiving trajectories to be implemented by actuators of the robot, wherein the trajectories define motion states for the actuators of the robot during the control cycle or a next control cycle, and wherein the trajectories are generated based on the robot instructions;
determining, based on a current motion state of the actuators and the trajectories to be implemented, whether implementation of the trajectories by the actuators prevents any collision avoidance trajectory of a plurality of collision avoidance trajectories calculated for the actuators during an immediately preceding control cycle from being achieved;
when implementation of the trajectories by the actuators does not prevent any collision avoidance trajectory from being achieved, providing the trajectories for operating the actuators of the robot during the control cycle or the next control cycle;
when implementation of the trajectories prevents any collision avoidance trajectory from being achieved, providing the plurality of collision avoidance trajectories for operating the actuators of the robot during the control cycle or the next control cycle, without implementing the trajectories;
operating the actuators of the robot during the control cycle or the next control cycle based on the trajectories or the collision avoidance trajectories to generate data; and
training a machine learning model used to control the robot based on the data generated during the operating.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus related to robot collision avoidance. One method may include: receiving robot instructions to be performed by a robot; at each of a plurality of control cycles of processor(s) of the robot: receiving trajectories to be implemented by actuators of the robot, wherein the trajectories define motion states for the actuators of the robot during the control cycle or a next control cycle, and wherein the trajectories are generated based on the robot instructions; determining, based on a current motion state of the actuators and the trajectories to be implemented, whether implementation of the trajectories by the actuators prevents any collision avoidance trajectory from being achieved; and selectively providing the trajectories or collision avoidance trajectories for operating the actuators of the robot during the control cycle or the next control cycle depending on a result of the determining.
-
Citations
16 Claims
-
1. A method for learning a robot'"'"'s capabilities comprising:
-
receiving robot instructions to be performed by the robot, wherein the robot instructions are randomly generated to cause the robot to perform random movements; at each of a plurality of control cycles of one or more processors of the robot; receiving trajectories to be implemented by actuators of the robot, wherein the trajectories define motion states for the actuators of the robot during the control cycle or a next control cycle, and wherein the trajectories are generated based on the robot instructions; determining, based on a current motion state of the actuators and the trajectories to be implemented, whether implementation of the trajectories by the actuators prevents any collision avoidance trajectory of a plurality of collision avoidance trajectories calculated for the actuators during an immediately preceding control cycle from being achieved; when implementation of the trajectories by the actuators does not prevent any collision avoidance trajectory from being achieved, providing the trajectories for operating the actuators of the robot during the control cycle or the next control cycle; when implementation of the trajectories prevents any collision avoidance trajectory from being achieved, providing the plurality of collision avoidance trajectories for operating the actuators of the robot during the control cycle or the next control cycle, without implementing the trajectories; operating the actuators of the robot during the control cycle or the next control cycle based on the trajectories or the collision avoidance trajectories to generate data; and training a machine learning model used to control the robot based on the data generated during the operating. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising one or more processors and memory operably coupled with the one or more processors, wherein the memory stores instructions that, in response to execution of the one or more processors, cause the one or more processors to:
-
receive robot instructions to be performed by a robot, wherein the robot instructions are randomly generated to cause the robot to perform random movements; at each of a plurality of control cycles of one or more processors of the robot; receive trajectories to be implemented by actuators of the robot, wherein the trajectories define motion states for the actuators of the robot during the control cycle or a next control cycle, and wherein the trajectories are generated based on the robot instructions; determine, based on a current motion state of the actuators and the trajectories to be implemented, whether implementation of the trajectories by the actuators prevents any collision avoidance trajectory of a plurality of collision avoidance trajectories calculated for the actuators during an immediately preceding control cycle from being achieved; when implementation of the trajectories by the actuators does not prevent any collision avoidance trajectory from being achieved, provide the trajectories for operating the actuators of the robot during the control cycle or the next control cycle; when implementation of the trajectories prevents any collision avoidance trajectory from being achieved, provide collision avoidance trajectories for operating the actuators of the robot during the control cycle or the next control cycle, without implementing the trajectories; operate the actuators of the robot during the control cycle or the next control cycle based on the trajectories or the collision avoidance trajectories to generate data; and train a machine learning model used to control the robot based on the data generated during the operating. - View Dependent Claims (12, 13)
-
-
14. A method comprising:
-
receiving, by one or more processors, robot instructions to be performed by a robot, wherein the robot instructions are randomly generated to cause the robot to perform random movements; determining, by one or more of the processors, for each iteration of a sequence of motion states traversed by one or more actuators of the robot based on the robot instructions, collision avoidance trajectories achievable by actuators of the robot from a future motion state; while the one or more actuators of the robot are in a given motion state of the sequence of motion states, determining, by one or more of the processors, that collision avoidance trajectories of a plurality of collision avoidance trajectories calculated for the actuators during an immediately preceding control cycle are not achievable by the actuators in a future iteration of the sequence of motion states; operating, by one or more of the processors, the robot to implement a collision avoidance trajectory associated with the given motion state in response to determining that the collision avoidance trajectories are not achievable in the future iteration, wherein the operating causes data to be generated; and training a machine learning model used to control the robot based on the data generated during the operating. - View Dependent Claims (15, 16)
-
Specification