US12487359B2ActiveUtilityA1

Perceiving objects based on sensing surfaces and sensing surface motion

57
Assignee: SUMMER ROBOTICS INCPriority: Dec 14, 2020Filed: Dec 14, 2021Granted: Dec 2, 2025
Est. expiryDec 14, 2040(~14.4 yrs left)· nominal 20-yr term from priority
Inventors:Schuyler Cullen
G01S 17/87G01S 7/4817G06V 10/62G06V 20/64G06V 10/145G06V 40/28G01B 11/2518G01S 17/48G01S 17/58G01S 17/89
57
PatentIndex Score
0
Cited by
178
References
32
Claims

Abstract

Embodiments are directed to perceiving surfaces and objects. Trajectories may be generated based on a continuous stream of sensor events such that each trajectory may be a parametric representation of a curve segment. The trajectories may be employed to determine the surfaces. The trajectories may be provided to a modeling engine to execute one or more actions based on the trajectories and the surfaces. In response to changes to the surfaces, the trajectories may be updated based on the continuous stream of sensor events and one or more additional actions may be executed based on the updated trajectories and the changed surfaces. Changes to the surfaces may include a position change, an orientation change, a motion change, a deformation of the one or more surfaces, or the like. Shapes that correspond to the surfaces may be determined based on characteristics of the surfaces or the trajectories.

Claims

exact text as granted — not AI-modified
What is claimed as new and desired to be protected by Letters Patent of the United States is: 
     
         1 . A method for perceiving one or more surfaces of one or more objects using one or more processors that are configured to execute instructions, wherein the instructions perform actions, comprising:
 obtaining, by one or more sensing servers, one or more trajectories of one or more reflections of a signal projected, by one or more signal generators, in one or more scanning paths towards the one or more surfaces based on a collection of a continuous stream of sensor events detected by one or more sensors, wherein each trajectory is a parametric representation of a one-dimensional curve segment having one or more constant coefficients that correspond to a location of a signal generator for the signal and one or more detected sensor events on the one or more scanning paths in a three-dimensional space, and wherein a start of each trajectory begins with an end of another trajectory caused by one or more of a maximum length, maximum amount of time, or discontinuity in the stream of detected sensor events;   employing the one or more trajectories to collect one or more sensor events on the one or more scanning paths for the one or more surfaces;   transmitting the one or more trajectories to a modeling engine to perform one or more further actions based on the one or more trajectories and the one or more sensor events on the scanning paths for the one or more surfaces, including:   in response to obtaining one or more changes to the one or more sensors events on the one or more scanning paths for the one or more surfaces, updating the one or more trajectories based on the one or more changed sensor events; and   performing one or more additional actions based on the one or more updated trajectories and the one or more changed sensor events on the one or more scanning paths for the one or more surfaces.   
     
     
         2 . The method of  claim 1 , wherein the one or more changes to the one or more sensor events on the one or more scanning paths for the one or more surfaces comprises one or more of a position change, an orientation change, a motion change, or a deformation of the one or more surfaces. 
     
     
         3 . The method of  claim 1 , further comprising:
 providing the continuous stream of sensor events wherein each sensor event includes one or more of a timestamp, time of flight, or location values.   
     
     
         4 . The method of  claim 1 , further comprising:
 collecting one or more shapes that correspond to the one or more surfaces based on one or more characteristics of the one or more sensor events on the one or more scanning paths for the one or more surfaces and the one or more trajectories.   
     
     
         5 . The method of  claim 1 , wherein each trajectory further comprises a parametric representation of a B-spline. 
     
     
         6 . The method of  claim 1 , further comprising, employing the one or more trajectories to continuously collect one or more changes to one or more of a position of the one or more surfaces, an orientation of the one or more surfaces, a deformation of the one or more surfaces, or a motion of the one or more surfaces. 
     
     
         7 . The method of  claim 1 , wherein performing the further actions, further comprises:
 collecting the one or more objects based on a portion of the one or more trajectories that are associated with a portion of the one or more surfaces.   
     
     
         8 . The method of  claim 6 , wherein performing the further actions, further comprises,
 collecting one or more features of the one or more objects based on the one or more trajectories, wherein the one or more features include one or more of a position, an orientation, a motion or a deformation of the one or more objects.   
     
     
         9 . A system for perceiving one or more surfaces for one or more objects:
 a network computer, comprising:
 a memory that stores at least instructions; and 
 one or more processors configured to execute instructions, wherein the instructions perform actions, including:
 obtaining, by one or more sensing servers, one or more trajectories of one or more reflections of a signal projected, by one or more signal generators, in one or more scanning paths towards the one or more surfaces based on a collection of a continuous stream of sensor events detected by one or more sensors, wherein each trajectory is a parametric representation of a one-dimensional curve segment having one or more constant coefficients that correspond to a location of a signal generator for the signal and one or more detected sensor events on the one or more scanning paths in a three-dimensional space, and wherein a start of each trajectory begins with an end of another trajectory caused by one or more of a maximum length, maximum amount of time, or discontinuity in the stream of detected sensor events; 
 employing the one or more trajectories to collect one or more sensor events on the one or more scanning paths for the one or more surfaces; 
 transmitting the one or more trajectories to a modeling engine, to perform one or more further actions based on the one or more trajectories and the one or more sensor events on the scanning paths for the one or more surfaces, including:
 in response to obtaining one or more changes to the one or more sensors events on the one or more scanning paths for the one or more surfaces, updating the one or more trajectories based on the one or more changed sensor events; and 
 performing one or more additional actions based on the one or more updated trajectories and the one or more changed sensor events on the one or more scanning paths for the one or more surfaces; and 
 
 
   one or more client computers, comprising:
 a memory that stores at least instructions; and 
 one or more processors configured to execute instructions, wherein the instructions perform actions, including, providing one or more portions of the sensor events. 
   
     
     
         10 . The system of  claim 9 , wherein the one or more changes to the one or more sensor events on the one or more scanning paths for the one or more surfaces comprises one or more of a position change, an orientation change, a motion change, or a deformation of the one or more surfaces. 
     
     
         11 . The system of  claim 9 , wherein the one or more processors of the network computer are configured to execute instructions, wherein the instructions perform actions further comprising:
 providing the continuous stream of sensor events, wherein each sensor event includes one or more of a timestamp, time of flight, or location values.   
     
     
         12 . The system of  claim 9 , wherein the one or more processors of the network computer are configured to execute instructions, wherein the instructions perform actions further comprising:
 collecting one or more shapes that correspond to the one or more surfaces based on one or more characteristics of the one or more sensor events on the one or more scanning paths for the one or more surfaces and the one or more trajectories.   
     
     
         13 . The system of  claim 9 , wherein each trajectory further comprises a parametric representation of a B-spline. 
     
     
         14 . The system of  claim 9 , wherein the one or more processors of the network computer are configured to execute instructions, wherein the instructions perform actions further comprising:
 employing the one or more trajectories to continuously collect one or more changes to one or more of a position of the one or more surfaces, an orientation of the one or more surfaces, a deformation of the one or more surfaces, or a motion of the one or more surfaces.   
     
     
         15 . The system of  claim 9 , wherein performing the further actions, further comprises:
 collecting the one or more objects based on a portion of the one or more trajectories that are associated with a portion of the one or more surfaces.   
     
     
         16 . The system of  claim 15 , wherein performing the further actions, further comprises,
 collecting one or more features of the one or more objects based on the one or more trajectories, wherein the one or more features include one or more of a position, an orientation, a motion or a deformation of the one or more objects.   
     
     
         17 . A processor readable non-transitory storage media that includes instructions for perceiving one or more surfaces for one or more objects, wherein execution of the instructions by one or more processors on one or more network computers performs actions, comprising:
 obtaining, by one or more sensing servers, one or more trajectories of one or more reflections of a signal projected, by one or more signal generators, in one or more scanning paths towards the one or more surfaces based on a collection of a continuous stream of sensor events detected by one or more sensors, wherein each trajectory is a parametric representation of a one-dimensional curve segment having one or more constant coefficients that correspond to a location of a signal generator for the signal and one or more detected sensor events on the one or more scanning paths in a three-dimensional space, and wherein a start of each trajectory begins with an end of another trajectory caused by one or more of a maximum length, maximum amount of time, or discontinuity in the stream of detected sensor events;   employing the one or more trajectories to collect one or more sensor events on the one or more scanning paths for the one or more surfaces;   transmitting the one or more trajectories to a modeling engine to perform one or more further actions based on the one or more trajectories and the one or more sensor events on the scanning paths for the one or more surfaces, including:
 in response to obtaining one or more changes to the one or more sensors events on the one or more scanning paths for the one or more surfaces, updating the one or more trajectories based on the one or more changed sensor events; and 
 performing one or more additional actions based on the one or more updated trajectories and the one or more changed sensor events on the one or more scanning paths for the one or more surfaces. 
   
     
     
         18 . The media of  claim 17 , wherein the one or more changes to the one or more sensor events on the one or more scanning paths for the one or more surfaces comprises one or more of a position change, an orientation change, a motion change, or a deformation of the one or more surfaces. 
     
     
         19 . The media of  claim 17 , further comprising:
 providing the continuous stream of sensor events, wherein each sensor event includes one or more of a timestamp, time of flight, or location values.   
     
     
         20 . The media of  claim 17 , further comprising:
 collecting one or more shapes that correspond to the one or more surfaces based on one or more characteristics of the one or more sensor events on the one or more scanning paths for the one or more surfaces and the one or more trajectories.   
     
     
         21 . The media of  claim 17 , wherein each trajectory further comprises a parametric representation of a B-spline. 
     
     
         22 . The media of  claim 17 , further comprising, employing the one or more trajectories to continuously collect one or more changes to one or more of a position of the one or more surfaces, an orientation of the one or more surfaces, a deformation of the one or more surfaces, or a motion of the one or more surfaces. 
     
     
         23 . The media of  claim 17 , wherein performing the further actions, further comprises:
 collecting the one or more objects based on a portion of the one or more trajectories that are associated with a portion of the one or more surfaces.   
     
     
         24 . The media of  claim 23 , wherein performing the further actions, further comprises,
 collecting one or more features of the one or more objects based on the one or more trajectories, wherein the one or more features include one or more of a position, an orientation, a motion or a deformation of the one or more objects.   
     
     
         25 . A network computer for perceiving one or more surfaces for one or more objects, comprising:
 a memory that stores at least instructions; and   one or more processors configured to execute instructions, wherein the instructions perform actions, including:
 obtaining, by one or more sensing servers, one or more trajectories of one or more reflections of a signal projected, by one or more signal generators, in one or more scanning paths towards the one or more surfaces based on a collection of a continuous stream of sensor events detected by one or more sensors, wherein each trajectory is a parametric representation of a one-dimensional curve segment having one or more constant coefficients that correspond to a location of a signal generator for the signal and one or more detected sensor events on the one or more scanning paths in a three-dimensional space, and wherein a start of each trajectory begins with an end of another trajectory caused by one or more of a maximum length, maximum amount of time, or discontinuity in the stream of detected sensor events; 
 employing the one or more trajectories to collect one or more sensor events on the one or more scanning paths for the one or more surfaces; 
 transmitting the one or more trajectories to a modeling engine, to perform one or more further actions based on the one or more trajectories and the one or more sensor events on the scanning paths for the one or more surfaces; and, including:
 in response to obtaining one or more changes to the one or more sensors events on the one or more scanning paths for the one or more surfaces, updating the one or more trajectories based on the of one or more changed sensor events; and 
 performing one or more additional actions based on the one or more updated trajectories and the one or more changed sensor events on the one or more scanning paths for the one or more surfaces. 
 
   
     
     
         26 . The network computer of  claim 25 , wherein the one or more changes to the one or more sensor events on the one or more scanning paths for the one or more surfaces comprises one or more of a position change, an orientation change, a motion change, or a deformation of the one or more surfaces. 
     
     
         27 . The network computer of  claim 25 , wherein the one or more processors are configured to execute instructions, wherein the instructions perform actions further comprising:
 providing the continuous stream of sensor events, wherein each sensor event includes one or more of a timestamp, time of flight, or location values.   
     
     
         28 . The network computer of  claim 25 , wherein the one or more processors are configured to execute instructions, wherein the instructions perform actions further comprising:
 collecting one or more shapes that correspond to the one or more surfaces based on one or more characteristics of the one or more sensor events on the scanning paths for the one or more surfaces and the one or more trajectories.   
     
     
         29 . The network computer of  claim 25 , wherein each trajectory further comprises a parametric representation of a B-spline. 
     
     
         30 . The network computer of  claim 25 , wherein the one or more processors are configured to execute instructions, wherein the instructions perform actions further comprising:
 employing the one or more trajectories to continuously collect one or more changes to one or more of a position of the one or more surfaces, an orientation of the one or more surfaces, a deformation of the one or more surfaces, or a motion of the one or more surfaces.   
     
     
         31 . The network computer of  claim 25 , wherein performing the further actions, further comprises:
 collecting the one or more objects based on a portion of the one or more trajectories that are associated with a portion of the one or more surfaces.   
     
     
         32 . The network computer of  claim 31 , wherein performing the further actions, further comprises,
 collecting one or more features of the one or more objects based on the one or more trajectories, wherein the one or more features include one or more of a position, an orientation, a motion or a deformation of the one or more objects.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.