IP Library Granted Patent US 11,554,485
Granted Patent B2
US 11,554,485 · App. 16/522,267 · Granted Jan 17, 2023

Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot

Inventor: Seyed Mohammad Khansari Zadeh (Mountain View, CA)
Assignee: X DEVELOPMENT LLC
B25J9/163B25J9/1664B25J13/088G05B19/423G05B2219/40465G05B2219/40471G05B2219/40474Y10S901/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,554,485
App. No.
16/522,267
Granted
Jan 17, 2023
Kind
B2
Abstract

Generating a robot control policy that regulates both motion control and interaction with an environment and/or includes a learned potential function and/or dissipative field. Some implementations relate to resampling temporally distributed data points to generate spatially distributed data points, and generating the control policy using the spatially distributed data points. Some implementations additionally or alternatively relate to automatically determining a potential gradient for data points, and generating the control policy using the automatically determined potential gradient. Some implementations additionally or alternatively relate to determining and assigning a prior weight to each of the data points of multiple groups, and generating the control policy using the weights. Some implementations additionally or alternatively relate to defining and using non-uniform smoothness parameters at each data point, defining and using d parameters for stiffness and/or damping at each data point, and/or obviating the need to utilize virtual data points in generating the control policy.

Claims (29)

1. A method implemented by one or more processors, comprising:

receiving a group of data points generated based on sensor data from one or more sensors of a robot during physical manipulation of the robot, the physical manipulation being by a user to traverse a reference point of the robot from an initial point to a target point;

identifying a task parameter associated with the physical manipulation of the robot;

determining non-uniform smoothness parameters for the data points based on the task parameter;

for each of the data points of the group:

assigning the non-uniform smoothness parameters to the data point, wherein the non-uniform smoothness parameters are utilized to control a region of influence of the data point in generating a control policy that regulates both robot motion and robot interaction with an environment;

determining an energy contribution for each of the data points based on the data point and based on the non-uniform smoothness parameters for the data point;

generating the control policy that regulates both robot motion and robot interaction with an environment, wherein generating the control policy comprises using the data points and the non-uniform smoothness parameters for the data points in learning a potential function for use in the control policy, the potential function having a global minimum based on the target point, and wherein using the data points and the non-uniform smoothness parameters for the data points in learning the potential function for use in the control policy comprises using the energy contribution in learning the potential function for use in the control policy; and

controlling the robot, or an additional robot, based on the control policy.

2. The method of claim 1 , wherein the non-uniform smoothness parameters define greater regions of influence in one or more particular axes than in one or more other axes.

3. The method of claim 1 , wherein the non-uniform smoothness parameters are defined with d parameters, wherein d is greater than one, and wherein d is a dimension of a task associated with the physical manipulation of the robot.

4. The method of claim 1 , wherein identifying the task parameter is based on user input through a user interface input device.

5. The method of claim 1 , wherein identifying the task parameters is based on the physical manipulation of the robot.

6. The method of claim 1 , wherein identifying the task parameters is based on one or more objects detected by camera sensors during the physical manipulation of the robot.

7. A system, comprising:

a robot;

one or more computers comprising:

memory storing instructions;

one or more processors operable to execute the instructions to:

receive a group of data points generated based on sensor data from one or more sensors of the robot during physical manipulation of the robot, the physical manipulation being by a user to traverse a reference point of the robot from an initial point to a target point;

identify, based on user input through a user interface input device or based on one or more objects detected by camera sensors during the physical manipulation of the robot, a task parameter associated with the physical manipulation of the robot;

determine non-uniform smoothness parameters for the data points based on the task parameter;

for each of the data points of the group:

assign the non-uniform smoothness parameters to the data point, wherein the non-uniform smoothness parameters are utilized to control a region of influence of the data point in generating a control policy that regulates both robot motion and robot interaction with an environment;

determine an energy contribution for each of the data points based on the data point and based on the non-uniform smoothness parameters for the data point;

generate the control policy that regulates both robot motion and robot interaction with an environment, wherein generating the control policy comprises using the data points and the non-uniform smoothness parameters for the data points in learning a potential function for use in the control policy, the potential function having a global minimum based on the target point, and wherein using the data points and the non-uniform smoothness parameters for the data points in learning the potential function for use in the control policy comprises using the energy contribution in learning the potential function for use in the control policy; and

cause the robot, or an additional robot, to be controlled based on the control policy.

8. The system of claim 7 , wherein the non-uniform smoothness parameters define greater regions of influence in one or more particular axes than in one or more other axes.

9. The system of claim 7 , wherein the non-uniform smoothness parameters are defined with d parameters, wherein d is greater than one, and wherein d is a dimension of a task associated with the physical manipulation of the robot.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: GOOGLE LLC
To: GDM HOLDING LLC
Reel/Frame 071109/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 063992/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2019
From: KHANSARI ZADEH, SEYED MOHAMMAD
To: X DEVELOPMENT LLC
Reel/Frame 050169/0258 →