IP Library Granted Patent US 11,465,279
Granted Patent B2
US 11,465,279 · App. 16/204,118 · Granted Oct 11, 2022

Robot base position planning

Inventor: Benjamin Holson (Sunnyvale, CA)
Assignee: X Development LLC
B25J9/162G05D1/0088G05D1/0246G05D2201/02
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,465,279
App. No.
16/204,118
Granted
Oct 11, 2022
Kind
B2
Abstract

A method includes receiving sensor data representative of surfaces in a physical environment containing an interaction point for a robotic device, and determining, based on the sensor data, a height map of the surfaces in the physical environment. The method also includes determining, by inputting the height map and the interaction point into a pre-trained model, one or more candidate positions for a base of the robotic device to allow a manipulator of the robotic device to reach the interaction point. The method additionally includes determining a collision-free trajectory to be followed by the manipulator to reach the interaction point when the base of the robotic device is positioned at a selected candidate position of the one or more candidate positions and, based on determining the collision-free trajectory, causing the base of the robotic device to move to the selected candidate position within the physical environment.

Claims (84)

1. A method comprising:

receiving sensor data that represents surfaces in a physical environment that contains an interaction point for a manipulator of a robotic device;

determining, based on the sensor data, a height map of the surfaces in the physical environment;

determining, based on the height map and the interaction point and using a pre-trained model, an output map representing the physical environment and comprising a plurality of candidate positions for a base of the robotic device within a region of the physical environment represented by the height map, wherein the output map comprises, for each respective candidate position of the plurality of candidate positions, a corresponding confidence value generated by the pre-trained model and indicative of a likelihood that the respective candidate position will allow the manipulator of the robotic device to follow at least one collision-free trajectory relative to the base of the robotic device to reach the interaction point when the base of the robotic device is positioned at the respective candidate position;

selecting a candidate position from the plurality of candidate positions based on the corresponding confidence value of the selected candidate position;

determining a collision-free trajectory to be followed by the manipulator relative to the base of the robotic device to reach the interaction point when the base of the robotic device is positioned at the selected candidate position of the plurality of candidate positions; and

based on determining the collision-free trajectory, causing the base of the robotic device to move to the selected candidate position within the physical environment.

2. The method of claim 1 , wherein the pre-trained model is trained by operations comprising:

determining a plurality of sample height maps each representing surfaces in a corresponding physical environment that contains therein a respective interaction point for the manipulator of the robotic device;

determining, for each of the plurality of sample height maps, one or more validated positions for the base that allow the manipulator to follow at least one collision-free trajectory to the respective interaction point; and

determining, based on (i) the plurality of sample height maps, (ii) the one or more validated positions determined for each of the plurality of sample height maps, and (iii) the respective interaction point represented in each of the plurality of sample height maps, the pre-trained model.

3. The method of claim 2 , wherein determining the one or more validated positions for the base of the robotic device comprises:

determining, for each of the plurality of sample height maps, a plurality of positions that (i) the robotic device can occupy within the corresponding physical environment and (ii) place the respective interaction point within reach of the manipulator;

determining, for each respective position of the plurality of positions, one or more candidate trajectories for the manipulator to follow to the respective interaction point while the base is disposed at the respective position;

determining that at least one of the one or more candidate trajectories is free of collisions; and

based on determining that the at least one of the one or more candidate trajectories is free of collisions, selecting the respective position as one of the one or more validated positions.

4. The method of claim 1 , wherein the height map is a two-dimensional height map, and wherein determining the height map comprises:

determining, based on the sensor data, a three-dimensional representation of the surfaces in the physical environment;

selecting, from the three-dimensional representation of the surfaces, surfaces that are above a first height threshold and below a second height threshold, wherein the second height threshold is greater than the first height threshold; and

generating the two-dimensional height map based on the selected surfaces.

5. The method of claim 4 , wherein the collision-free trajectory to be followed by the manipulator is determined based on the three-dimensional representation of the surfaces in the physical environment.

6. The method of claim 1 , wherein the height map is a three-dimensional voxel grid, and wherein each voxel indicates whether a portion of the physical environment represented thereby is occupied.

7. The method of claim 1 , wherein the method further comprises:

selecting, from the plurality of candidate positions, a first candidate position having a highest corresponding confidence value;

determining one or more candidate trajectories to be followed by the manipulator to reach the interaction point when the base is positioned at the first candidate position;

determining whether at least one of the one or more candidate trajectories is free of collisions;

when the at least one of the one or more candidate trajectories is free of collisions, selecting, from the at least one of the one or more candidate trajectories, the collision-free trajectory to be followed by the manipulator; and

when the at least one of the one or more candidate trajectories is not free of collisions, selecting another candidate position for collision testing, wherein the another candidate position has a highest corresponding confidence value of any untested candidate positions of the plurality of candidate positions.

8. The method of claim 1 , wherein the method further comprises:

selecting, from the plurality of candidate positions, a candidate position having a highest corresponding confidence value; and

causing the base to move toward the selected candidate position before the collision-free trajectory to be followed by the manipulator is determined.

9. The method of claim 1 , wherein the method further comprises:

determining a gradient of the corresponding confidence values across the plurality of candidate positions, wherein the gradient defines, for each pair of neighboring candidate positions of the plurality of candidate positions, a difference between the corresponding confidence values of the neighboring candidate positions; and

before determining the collision-free trajectory to be followed by the manipulator, causing the base to move in a direction associated with a highest value of the gradient.

10. The method of claim 9 , further comprising:

receiving updated sensor data that represents the surfaces in the physical environment;

determining, based on the updated sensor data, an updated height map of the surfaces in the physical environment;

determining, based on the updated height map and using the pre-trained model, an updated corresponding confidence value for each respective candidate position of the plurality of candidate positions;

determining an updated gradient of the updated corresponding confidence values across the plurality of candidate positions; and

adjusting a direction of motion of the base based on the updated gradient while determining the collision-free trajectory to be followed by the manipulator.

11. The method of claim 1 , wherein the pre-trained model comprises an artificial neural network (ANN).

12. The method of claim 11 , wherein the ANN comprises:

one or more first layers configured to determine a second plurality of candidate positions for respective bases of a plurality of different robotic devices each having a different physical structure, wherein the robotic device is one of the plurality of different robotic devices; and

one or more second layers configured to select, from the second plurality of candidate positions, the plurality of candidate positions for the base of the robotic device based on a physical structure of the robotic device.

13. The method of claim 1 , further comprising:

determining the plurality of candidate positions by inputting into the pre-trained model (i) a pose of an object disposed at the interaction point and (ii) a structure of an end effector connected to the manipulator and configured to interact with the object.

14. A robotic device comprising:

a base;

a manipulator connected to the base;

a sensor; and

a control system configured to:

receive, from the sensor, sensor data that represents surfaces in a physical environment that contains an interaction point for the manipulator;

determine, based on the sensor data, a height map of the surfaces in the physical environment;

determine, based on the height map and the interaction point and using a pre-trained model, an output map representing the physical environment and comprising a plurality of candidate positions for the base within a region of the physical environment represented by the height map, wherein the output map comprises, for each respective candidate position of the plurality of candidate positions, a corresponding confidence value generated by the pre-trained model and indicative of a likelihood that the respective candidate position will allow the manipulator to follow at least one collision-free trajectory relative to the base of the robotic device to reach the interaction point when the base of the robotic device is positioned at the respective candidate position;

select a candidate position from the plurality of candidate positions based on the corresponding confidence value of the selected candidate position;

determine a collision-free trajectory to be followed by the manipulator relative to the base to reach the interaction point when the base is positioned at the selected candidate position of the plurality of candidate positions; and

based on determining the collision-free trajectory, provide instructions to cause the base to move to the selected candidate position within the physical environment.

15. The robotic device of claim 14 , wherein the pre-trained model is trained by operations comprising:

determining a plurality of sample height maps each representing surfaces in a corresponding physical environment that contains therein a respective interaction point for the manipulator of the robotic device;

determining, for each of the plurality of sample height maps, one or more validated positions for the base that allow the manipulator to follow at least one collision-free trajectory to the respective interaction point; and

determining, based on (i) the plurality of sample height maps, (ii) the one or more validated positions determined for each of the plurality of sample height maps, and (iii) the respective interaction point represented in each of the plurality of sample height maps, the pre-trained model.

16. The robotic device of claim 14 , wherein the control system is further configured to:

select, from the plurality of candidate positions, a first candidate position having a highest corresponding confidence value;

determine one or more candidate trajectories to be followed by the manipulator to reach the interaction point when the base is positioned at the first candidate position;

determine whether at least one of the one or more candidate trajectories is free of collisions;

when the at least one of the one or more candidate trajectories is free of collisions, select, from the at least one of the one or more candidate trajectories, the collision-free trajectory to be followed by the manipulator; and

when the at least one of the one or more candidate trajectories is not free of collisions, select another candidate position for collision testing, wherein the another candidate position has a highest corresponding confidence value of any untested candidate positions of the plurality of candidate positions.

17. The robotic device of claim 14 , wherein the control system is further configured to:

determine a gradient of the corresponding confidence values across the plurality of candidate positions, wherein the gradient defines, for each pair of neighboring candidate positions of the plurality of candidate positions, a difference between the corresponding confidence values of the neighboring candidate positions; and

before determining the collision-free trajectory to be followed by the manipulator, provide instructions to cause the base to move in a direction associated with a highest value of the gradient.

18. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed by a computing device, cause the computing device to perform operations comprising:

receiving sensor data that represents surfaces in a physical environment that contains an interaction point for a manipulator of a robotic device;

determining, based on the sensor data, a height map of the surfaces in the physical environment;

determining, based on the height map and the interaction point and using a pre-trained model, an output map representing the physical environment and comprising a plurality of candidate positions for a base of the robotic device within a region of the physical environment represented by the height map, wherein the output map comprises, for each respective candidate position of the plurality of candidate positions, a corresponding confidence value generated by the pre-trained model and indicative of a likelihood that the respective candidate position will allow the manipulator of the robotic device to follow at least one collision-free trajectory relative to the base of the robotic device to reach the interaction point when the base of the robotic device is positioned at the respective candidate position;

selecting a candidate position from the plurality of candidate positions based on the corresponding confidence value of the selected candidate position;

determining a collision-free trajectory to be followed by the manipulator relative to the base of the robotic device to reach the interaction point when the base of the robotic device is positioned at the selected candidate position of the plurality of candidate positions; and

based on determining the collision-free trajectory, providing instructions to cause the base of the robotic device to move to the selected candidate position within the physical environment.

19. The non-transitory computer-readable medium of claim 18 , wherein the pre-trained model is trained by operations comprising:

determining a plurality of sample height maps each representing surfaces in a corresponding physical environment that contains therein a respective interaction point for the manipulator of the robotic device;

determining, for each of the plurality of sample height maps, one or more validated positions for the base that allow the manipulator to follow at least one collision-free trajectory to the respective interaction point; and

determining, based on (i) the plurality of sample height maps, (ii) the one or more validated positions determined for each of the plurality of sample height maps, and (iii) the respective interaction point represented in each of the plurality of sample height maps, the pre-trained model.

20. The non-transitory computer-readable medium of claim 18 , wherein the operations further comprise:

determining a gradient of the corresponding confidence values across the plurality of candidate positions, wherein the gradient defines, for each pair of neighboring candidate positions of the plurality of candidate positions, a difference between the corresponding confidence values of the neighboring candidate positions; and

before determining the collision-free trajectory to be followed by the manipulator, providing instructions to cause the base to move in a direction associated with a highest value of the gradient.

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 Aug 21, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 064658/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2018
From: HOLSON, BENJAMIN
To: X DEVELOPMENT LLC
Reel/Frame 047624/0213 →
Continuity (1)
Related Publication 20200171653A1 · Jun 4, 2020