Defining and/or applying a planar model for object detection and/or pose estimation
AssigneeX Development LLC
InventorWen Li
Life of this patent
Estimating the term…
Abstract
Methods, apparatus, and computer readable storage media related to defining a planar model that approximates a plurality of surfaces of an object and/or applying the planar model to detect the object and/or to estimate a pose for the object. For example, the planar model may be compared to data points sensed by the a three-dimensional vision sensor of a robot to determine the object is present in the field of view of the sensor and/or to determine a pose for the object relative to the robot. A planar model comprises a plurality of planar shapes modeled relative to one another in a three-dimensional space and approximates an object by approximating one or more surfaces of the object with the planar shapes.
Claims21
A method, comprising:
- receiving, from a three-dimensional vision sensor of a robot, a group of data points sensed by the three-dimensional vision sensor;
- retrieving, by one or more processors, a three-dimensional planar model that approximates a plurality of surfaces of an object, the planar model defining a plurality of planar shapes modeled relative to one another in a three-dimensional space,
- wherein the object is a pallet that includes a plurality of stringers and wherein a first planar shape of the planar model approximates a first stringer surface of a first stringer end of a first stringer of the stringers and a second planar shape of the planar model approximates a second stringer surface of a second stringer end of a second stringer of the stringers, and
- wherein the first stringer end and the second stringer end are both on a same side of the pallet;
- calculating, by one or more of the processors and for each of a plurality of projections of the model to the data points, differences between the planar model and the data points for a corresponding projection of the projections;
- determining, by one or more of the processors, that a projection of the projections satisfies a threshold based on the differences between the planar model and the data points for the projection;
- and
- determining, by one or more of the processors, an object pose for the object relative to the robot based on a planar model pose of the planar model at the projection that satisfies the threshold.
A robot, comprising:
- at least one non-transitory computer readable storage medium storing a three-dimensional planar model that approximates surfaces of an object, the planar model defining a plurality of planar shapes modeled relative to one another in a three-dimensional space,
- wherein the object is a pallet that includes a plurality of stringers and wherein a first planar shape of the planar model approximates a first stringer surface of a first stringer end of a first stringer of the stringers and a second planar shape of the planar model approximates a second stringer surface of a second stringer end of a second stringer of the stringers, and
- wherein the first stringer end and the second stringer end are both on a same side of the pallet;
- a three-dimensional vision sensor;
- and
- one or more processors in communication with the non-transitory computer readable storage medium and receiving data generated by the three-dimensional vision sensor, wherein the one or more processors are configured to:
- receive a group of data points sensed by the three-dimensional vision sensor;
- calculate, for each of a plurality of projections of the model to the data points, differences between the planar model and the data points for a corresponding projection of the projections;
- determine that a projection of the projections satisfies a threshold based on the differences between the planar model and the data points for the projection;
- determine an object pose for the object relative to the robot based on a planar model pose of the planar model at the projection that satisfies the threshold;
- and
- provide, to one or more actuators of the robot, control commands that are based on the determined object pose.
At least one non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to perform the following operations:
- receiving, from a three-dimensional vision sensor of a robot, a group of data points sensed by the three-dimensional vision sensor;
- retrieving a three-dimensional planar model that approximates a plurality of surfaces of an object, the planar model defining a plurality of planar shapes modeled relative to one another in a three-dimensional space,
- wherein the object is a pallet that includes a plurality of stringers and wherein a first planar shape of the planar model approximates a first stringer surface of a first stringer end of a first stringer of the stringers and a second planar shape of the planar model approximates a second stringer surface of a second stringer end of a second stringer of the stringers, and
- wherein the first stringer end and the second stringer end are both on a same side of the pallet;
- calculating, for each of a plurality of projections of the model to the data points, differences between the planar model and the data points for a corresponding projection of the projections;
- determining that a projection of the projections satisfies a threshold based on the differences between the planar model and the data points for the projection;
- and
- determining an object pose for the object relative to the robot based on a planar model pose of the planar model at the projection that satisfies the threshold.
Dependencies are inferred from the claim text.