IP Library Granted Patent US 12,310,283
Granted Patent B2
US 12,310,283 · App. 17/329,858 · Granted May 27, 2025

Method and apparatus for modeling an environment proximate an autonomous system

Inventors: Andres Leonardo Milioto (Thornton, CO); Nicholas Stephen Peretti (Boulder, CO); Kevin Eliot Stone (Westminster, CO)
Assignee: Scythe Robotics, Inc.
A01D34/008G06F17/17G06F18/23G06N3/02G06T7/174G06T7/593G06T7/77G06T2207/10012G06T2207/10028G06T2207/20084G06T2207/30252
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 12,310,283
App. No.
17/329,858
Granted
May 27, 2025
Kind
B2
Abstract

A method and apparatus for modeling the environment proximate an autonomous system. The method and apparatus accesses vision data, assigns semantic labels to points in the vision data, processes points that are identified as being a drivable surface (ground) and performs an optimization over the identified points to form a surface model. The model is subsequently used for detecting objects, planning, and mapping.

Claims (65)

1. An autonomous vehicle comprising:

a plurality of stereo cameras;

one or more processors; and

one or more non-transitory computer readable media having instructions stored thereon which, when executed by the one or more processors cause the one or more processors to perform operations comprising:

receiving image data from the plurality of stereo cameras, wherein the image data includes a plurality of pixels;

determining segmentation data associated with the image data;

determining depth data associated with the image data, the depth data associated with a distance to a portion of an environment represented in the image data;

determining, based at least in part on the segmentation data, a subset of the depth data associated with a drivable surface;

determining, based at least in part on the subset of the depth data, a surface model;

determining, using the surface model, an object model representing an object in the environment, wherein using the surface model includes discretizing the surface model into cells, identifying pixels above a predefined distance above the drivable surface that are not associated with the drivable surface, determining whether a predefined number of pixels resides in each cell, and point clustering the pixels in the cells where the pixels meet or exceed the predefined number of pixels to generate the object model; and

controlling the autonomous vehicle based at least in part on one or more of the surface model and the object model.

2. The autonomous vehicle of claim 1 , wherein determining the surface model comprises minimizing a distance of the depth data to a multi-variate polynomial.

3. The autonomous vehicle of claim 2 , wherein determining the surface model comprises performing a least squares optimization to determine a plurality of surface models, wherein each surface model of the plurality of surface models is associated with a different subset of the depth data.

4. The autonomous vehicle of claim 3 , wherein determining the surface model further comprises performing outlier rejection.

5. The autonomous vehicle of claim 1 , wherein:

the image data comprises a plurality of images received from the plurality of stereo cameras, and

determining the segmentation data comprises inputting the image data into a neural network and receiving, from the neural network, the segmentation data.

6. The autonomous vehicle of claim 5 , wherein the segmentation data comprises one or more of:

drivable,

sidewalk,

non-drivable, or

grass.

7. The autonomous vehicle of claim 1 , wherein determining the object model comprises:

identifying points in the depth data that meet or exceed a threshold distance from the surface model; and

clustering, as the object model, the points having a same semantic classification.

8. The autonomous vehicle of claim 1 , wherein determining a surface model includes determining a plurality of surface models and the operations further comprise fusing the plurality of determined surface models into a rolling height map buffer.

9. A method of generating a model of an environment proximate an autonomous vehicle, the method comprising:

receiving image data from a plurality of sensors, wherein the image data includes a plurality of pixels;

determining segmentation data associated with the image data;

determining depth data associated with a portion of the environment represented in the image data;

determining, based at least in part on the segmentation data, a subset of the depth data associated with a drivable surface;

determining, based at least in part on the subset of the depth data, a surface model;

determining, using the surface model, an object model representing an object in the environment, wherein using the surface model includes discretizing the surface model into cells, identifying pixels above a predefined distance above the drivable surface that are not associated with the drivable surface, determining whether a predefined number of pixels resides in each cell, and point clustering the pixels in the cells where the pixels meet or exceed the predefined number of pixels to generate the object model; and

controlling the autonomous vehicle based at least in part on one or more of the surface model and the object model.

10. The method of claim 9 , wherein determining the surface model comprises minimizing a distance of the subset of the depth data to a multi-variate polynomial.

11. The method of claim 10 , wherein determining the surface model comprises determining a plurality of surface models using a least squares optimization, wherein each surface model of the plurality of surface models is associated with a different subset of the depth data.

12. The method of claim 11 , wherein determining the surface model further comprises performing outlier rejection.

13. The method of claim 9 , wherein

the plurality of sensors comprise a plurality of cameras,

the image data comprises a plurality of images received from the plurality of cameras, and

determining the segmentation data comprises inputting the image data into a neural network and receiving, from the neural network, the segmentation data.

14. The method of claim 13 , wherein the segmentation data comprises one or more of:

drivable,

sidewalk,

non-drivable, or

grass.

15. The method of claim 9 , wherein determining the object model comprises:

identifying points in the depth data that meet or exceed a threshold distance from the surface model; and

clustering, as the object model, points having a same semantic classification.

16. The method of claim 9 , wherein determining a surface model includes determining a plurality of surface models and determining an object model includes determining a plurality of object models, the method further comprising fusing the plurality of determined surface models and fusing the plurality of determined object models.

17. One or more non-transitory computer readable media having instructions stored thereon which, when executed by one or more processors cause the one or more processors to perform operations comprising:

receiving image data from a plurality of sensors, wherein the image data includes a plurality of pixels;

determining depth data associated with the image data, the depth data associated with a distance to a portion of an environment represented in the image data;

determining a subset of the depth data associated with a drivable surface;

determining, based at least in part on the subset of the depth data, a surface model;

determining, using the surface model, an object model representing an object in the environment, wherein using the surface model includes discretizing the surface model into cells, identifying pixels above a predefined distance above the drivable surface that are not associated with the drivable surface, determining whether a predefined number of pixels resides in each cell, and point clustering the pixels in the cells where the pixels meet or exceed the predefined number of pixels to generate the object model; and

controlling an autonomous vehicle based at least in part on the surface model and the object model.

18. The one or more non-transitory computer readable media of claim 17 wherein the surface model comprises a multivariate polynomial, and

wherein coefficients associated with the multivariate polynomial are estimated using a least squares algorithm.

19. The one or more non-transitory computer readable media of claim 18 , wherein determining the object model comprises:

determining a set of depth data having a distance greater than or equal to a threshold distance from a height; and

clustering the set of depth data.

20. The one or more non-transitory computer readable media of claim 17 , wherein the drivable surface comprises one or more of:

grass, or

sidewalk.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2026
From: SCYTHE ROBOTICS, INC.
To: ASI LANDSCAPING, LLC
Reel/Frame 074465/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2021
From: MILIOTO, ANDRES LEONARDO; PERETTI, NICHOLAS STEPHEN; STONE, KEVIN ELIOT
To: SCYTHE ROBOTICS, INC.
Reel/Frame 056367/0652 →
Continuity (1)
Related Publication 20220377973A1 · Dec 1, 2022
References Cited (28)
US 8565958B1 · Montemerlo · 2013 [cited by examiner]
US 20140225990A1 · Einecke · 2014 [cited by examiner]
US 20150296707A1 · Fukuda et al. · 2015 [cited by applicant]
US 20160012633A1 · Wei · 2016 [cited by examiner]
US 20170344020A1 · Grufman et al. · 2017 [cited by applicant]
US 20180077860A1 · Einecke et al. · 2018 [cited by applicant]
US 20180103579A1 · Deimert et al. · 2018 [cited by applicant]
US 20180139896A1 · Wahlgren · 2018 [cited by applicant]
US 20180339409A1 · Bal et al. · 2018 [cited by applicant]
US 20180361584A1 · Bal et al. · 2018 [cited by applicant]
US 20180364045A1 · Bal et al. · 2018 [cited by applicant]
US 20190049968A1 · Dean et al. · 2019 [cited by applicant]
US 20190164018A1 · Zhu · 2019 [cited by examiner]
US 20200068799A1 · Slembrouck et al. · 2020 [cited by applicant]
US 20210287385A1 · Watson · 2021 [cited by examiner]
US 20220024485A1 · Theverapperuma · 2022 [cited by examiner]
CN 110612492A · 2019 [cited by applicant]
EP 0664018B1 · 1997 [cited by applicant]
EP 2286653A2 · 2011 [cited by applicant]
JP 3318170B2 · 2002 [cited by applicant]
WO WO2016103065A1 · 2016 [cited by applicant]
WO WO2018000922A1 · 2018 [cited by applicant]
WO WO2018142482A1 · 2018 [cited by applicant]
WO WO2018153599A1 · 2018 [cited by applicant]
WO WO2018224678A1 · 2018 [cited by applicant]
WO WO2019032864A1 · 2019 [cited by applicant]
WO WO2020023982A2 · 2020 [cited by applicant]
PCT International Search Report and Written Opinion for Application No. PCT/US2022/030470 dated Sep. 8, 2022, 11 pgs. [cited by applicant]