Efficient mapping of robot environment
First Claim
Patent Images
1. A method, comprising:
- receiving, by one or more processors, from a three-dimensional vision sensor of a robot, a group of data points sensed by the three-dimensional vision sensor;
identifying, by the one or more processors, one or more voxels of a three-dimensional voxel model that are occupied by the group of data points;
determining, by the one or more processors, for each occupied voxel, data representing the occupied voxel, wherein the data includes statistics about how a plurality of data points of the group of data points are spatially distributed within the occupied voxel;
identifying, by the one or more processors, for each occupied voxel, a column of the three-dimensional voxel model that contains the occupied voxel; and
indexing in memory, by the one or more processors the data representing voxels of the three-dimensional voxel model, the indexing comprising indexing, in the memory, the data representing occupied voxels contained in each column by elevation without indexing one or more unoccupied voxels by elevation.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus, systems, and computer-readable media are provided for efficient mapping of a robot environment. In various implementations, a group of data points may be sensed by a three-dimensional sensor. One or more voxels of a three-dimensional voxel model that are occupied by the group of data points may be identified. For each occupied voxel, a column of the three-dimensional voxel model that contains the occupied voxel may be identified. Occupied voxels contained in each column may be indexed by elevation. In various implementations, one or more sparse linked data structures may be used to represent the columns.
-
Citations
22 Claims
-
1. A method, comprising:
-
receiving, by one or more processors, from a three-dimensional vision sensor of a robot, a group of data points sensed by the three-dimensional vision sensor; identifying, by the one or more processors, one or more voxels of a three-dimensional voxel model that are occupied by the group of data points; determining, by the one or more processors, for each occupied voxel, data representing the occupied voxel, wherein the data includes statistics about how a plurality of data points of the group of data points are spatially distributed within the occupied voxel; identifying, by the one or more processors, for each occupied voxel, a column of the three-dimensional voxel model that contains the occupied voxel; and indexing in memory, by the one or more processors the data representing voxels of the three-dimensional voxel model, the indexing comprising indexing, in the memory, the data representing occupied voxels contained in each column by elevation without indexing one or more unoccupied voxels by elevation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A robot comprising:
-
a three-dimensional vision sensor; one or more processors operably coupled with the three-dimensional vision sensor; and memory operably coupled with the one or more processors, the memory storing instructions that, when executed by the one or more processors, cause the one or more processors to; receive, from the three-dimensional vision sensor, a group of data points sensed by the three-dimensional vision sensor; identify one or more voxels of a three-dimensional voxel model that are occupied by the group of data points; determine, for each occupied voxel, data representing the occupied voxel, wherein the data includes statistics about how a plurality of data points of the group of data points are spatially distributed within the occupied voxel; identify, for each occupied voxel, a column of the three-dimensional voxel model that contains the occupied voxel; and index, in the memory, the data representing voxels of the three-dimensional voxel model, wherein in indexing the voxels the one or more processors are to index, in the memory, the data representing occupied voxels contained in each column by elevation without indexing one or more unoccupied voxels by elevation. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. At least one non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by a robot, cause the robot to perform the following operations:
-
receiving, from a three-dimensional vision sensor of the robot, a group of data points sensed by the three-dimensional vision sensor; identifying one or more voxels of a three-dimensional voxel model that are occupied by the group of data points; determining, for each occupied voxel, data representing the occupied voxel, wherein the data includes statistics about how a plurality of data points of the group of data points are spatially distributed within the occupied voxel; identifying, for each occupied voxel, a column of the three-dimensional voxel model that contains the occupied voxel; and indexing, in memory, the data representing the occupied voxels contained in each column by elevation without indexing one or more unoccupied voxels by elevation.
-
Specification