IP Library Granted Patent US 12,415,511
Granted Patent B2
US 12,415,511 · App. 18/052,124 · Granted Sep 16, 2025

System and method for target behavior prediction in advanced driving assist system (ADAS), autonomous driving (AD), or other applications

Inventors: Kilsoo Kim (Hermosa Beach, CA); Jongmoo Choi (Gardena, CA); Shanmukha M. Bhumireddy (Torrance, CA); Emilio Aron Moyers Barrera (Bloomfield Hills, MI); Phillip Vu (Calabasas, CA); Rishitha Kalakata (Torrance, CA)
Assignee: CANOO TECHNOLOGIES INC.
B60W30/0956B60W30/09B60W50/16B60W60/001B60W2554/4041B60W2554/4046
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,415,511
App. No.
18/052,124
Granted
Sep 16, 2025
Kind
B2
Abstract

A method includes obtaining sensor data associated with a target object at a host vehicle and identifying relative positions of the target object with reference to the host vehicle over time. The method also includes generating polynomials associated with the target object over time based on the relative positions, where coefficients of each polynomial are based on a magnitude of a covariance of the relative positions used to generate the polynomial. The method further includes generating a weighted combination of the polynomials for the target object, where the weighted combination is a representation of an estimated behavior of the target object. In addition, the method includes determining whether a collision between the host vehicle and the target object is possible based on the weighted combination of the polynomials and, in response to determining that the collision is possible, initiating one or more corrective actions by the host vehicle.

Claims (87)

1. A method comprising:

obtaining sensor data associated with a target object at a host vehicle;

identifying relative positions of the target object with reference to the host vehicle over time;

generating polynomials associated with the target object over time based on the relative positions of the target object, wherein coefficients of each polynomial are based on a magnitude of a covariance of the relative positions of the target object used to generate the polynomial;

comparing, for at least one polynomial of the polynomials being generated, the magnitude of the covariance to a covariance activation threshold in order to determine whether the coefficients of the at least one polynomial are determined or set to zero;

generating a weighted combination of the polynomials for the target object, wherein the weighted combination is a representation of an estimated behavior of the target object;

determining whether a collision between the host vehicle and the target object is possible based on the weighted combination of the polynomials; and

in response to determining that the collision between the host vehicle and the target object is possible, initiating one or more corrective actions by the host vehicle.

2. The method of claim 1 , further comprising, for each polynomial being generated:

generating a covariance matrix based on the relative positions of the target object used to generate the polynomial;

generating the magnitude of the covariance of the relative positions of the target object used to generate the polynomial based on the covariance matrix; and

comparing the magnitude of the covariance to the covariance activation threshold in order to determine whether the coefficients of the polynomial are determined or set to zero.

3. The method of claim 2 , wherein:

the coefficients of the polynomial are set to zero when the magnitude of the covariance is below the covariance activation threshold; and

the coefficients of the polynomial are determined using the relative positions of the target object when the magnitude of the covariance is above the covariance activation threshold.

4. The method of claim 1 , wherein generating the weighted combination of the polynomials for the target object comprises using weights defined by a sigmoid function.

5. The method of claim 1 , wherein determining whether the collision between the host vehicle and the target object is possible comprises:

determining whether one coefficient of the weighted combination of the polynomials related to a lateral displacement between the host vehicle and the target object indicates that collision is possible; and

determining whether another coefficient of the weighted combination of the polynomials related to a curvature of an estimated path of the target object is towards a travel direction of the host vehicle and indicates that collision is possible.

6. The method of claim 1 , wherein the one or more corrective actions comprise at least one of:

adjusting at least one of: a steering of the host vehicle, a speed of the host vehicle, and a braking of the host vehicle; and

activating an audible, visible, or haptic warning.

7. The method of claim 1 , further comprising repeatedly:

generating the polynomials for the target object and the weighted combination of the polynomials for the target object over time; and

determining whether the collision between the host vehicle and the target object is possible based on the weighted combination of the polynomials for the target object.

8. The method of claim 1 , further comprising repeatedly:

generating multiple polynomials for multiple target objects and weighted combinations of the multiple polynomials for the multiple target objects over time; and

determining whether a collision between the host vehicle and any of the target objects is possible based on the weighted combination of the polynomials for the multiple target objects.

9. An apparatus comprising:

at least one processing device configured to:

obtain sensor data associated with a target object at a host vehicle;

identify relative positions of the target object with reference to the host vehicle over time;

generate polynomials associated with the target object over time based on the relative positions of the target object, wherein coefficients of each polynomial are based on a magnitude of a covariance of the relative positions of the target object used to generate the polynomial;

compare, for at least one polynomial of the polynomials being generated, the magnitude of the covariance to a covariance activation threshold in order to determine whether the coefficients of the at least one polynomial are determined or set to zero;

generate a weighted combination of the polynomials for the target object, wherein the weighted combination is a representation of an estimated behavior of the target object;

determine whether a collision between the host vehicle and the target object is possible based on the weighted combination of the polynomials; and

in response to determining that the collision between the host vehicle and the target object is possible, initiate one or more corrective actions by the host vehicle.

10. The apparatus of claim 9 , wherein the at least one processing device is further configured, for each polynomial being generated, to:

generate a covariance matrix based on the relative positions of the target object used to generate the polynomial;

generate the magnitude of the covariance of the relative positions of the target object used to generate the polynomial based on the covariance matrix; and

compare the magnitude of the covariance to the covariance activation threshold in order to determine whether the coefficients of the polynomial are determined or set to zero.

11. The apparatus of claim 10 , wherein:

the at least one processing device is configured to set the coefficients of the polynomial to zero when the magnitude of the covariance is below the covariance activation threshold; and

the at least one processing device is configured to determine the coefficients of the polynomial using the relative positions of the target object when the magnitude of the covariance is above the covariance activation threshold.

12. The apparatus of claim 9 , wherein, to generate the weighted combination of the polynomials for the target object, the at least one processing device is configured to use weights defined by a sigmoid function.

13. The apparatus of claim 9 , wherein, to determine whether the collision between the host vehicle and the target object is possible, the at least one processing device is configured to:

determine whether one coefficient of the weighted combination of the polynomials related to a lateral displacement between the host vehicle and the target object indicates that collision is possible; and

determine whether another coefficient of the weighted combination of the polynomials related to a curvature of an estimated path of the target object is towards a travel direction of the host vehicle and indicates that collision is possible.

14. The apparatus of claim 9 , wherein the one or more corrective actions comprise at least one of:

adjusting at least one of: a steering of the host vehicle, a speed of the host vehicle, and a braking of the host vehicle; and

activating an audible, visible, or haptic warning.

15. The apparatus of claim 9 , wherein the at least one processing device is further configured to repeatedly:

generate the polynomials for the target object and the weighted combination of the polynomials for the target object over time; and

determine whether the collision between the host vehicle and the target object is possible based on the weighted combination of the polynomials for the target object.

16. The apparatus of claim 9 , wherein the at least one processing device is further configured to repeatedly:

generate multiple polynomials for multiple target objects and weighted combinations of the multiple polynomials for the multiple target objects over time; and

determine whether a collision between the host vehicle and any of the target objects is possible based on the weighted combination of the polynomials for the multiple target objects.

17. A non-transitory machine-readable medium containing instructions that when executed cause at least one processing device of a host vehicle to:

obtain sensor data associated with a target object;

identify relative positions of the target object with reference to the host vehicle over time;

generate polynomials associated with the target object over time based on the relative positions of the target object, wherein coefficients of each polynomial are based on a magnitude of a covariance of the relative positions of the target object used to generate the polynomial;

compare, for at least one polynomial of the polynomials being generated, the magnitude of the covariance to a covariance activation threshold in order to determine whether the coefficients of the at least one polynomial are determined or set to zero;

generate a weighted combination of the polynomials for the target object, wherein the weighted combination is a representation of an estimated behavior of the target object;

determine whether a collision between the host vehicle and the target object is possible based on the weighted combination of the polynomials; and

in response to determining that the collision between the host vehicle and the target object is possible, initiate one or more corrective actions by the host vehicle.

18. The non-transitory machine-readable medium of claim 17 , further containing instructions that when executed cause the at least one processing device, for each polynomial being generated, to:

generate a covariance matrix based on the relative positions of the target object used to generate the polynomial;

generate the magnitude of the covariance of the relative positions of the target object used to generate the polynomial based on the covariance matrix; and

compare the magnitude of the covariance to the covariance activation threshold in order to determine whether the coefficients of the polynomial are determined or set to zero.

19. The non-transitory machine-readable medium of claim 18 , wherein:

the instructions when executed cause the at least one processing device to set the coefficients of the polynomial to zero when the magnitude of the covariance is below the covariance activation threshold; and

the instructions when executed cause the at least one processing device to determine the coefficients of the polynomial using the relative positions of the target object when the magnitude of the covariance is above the covariance activation threshold.

20. The non-transitory machine-readable medium of claim 17 , wherein the instructions that when executed cause the at least one processing device to generate the weighted combination of the polynomials for the target object comprise:

instructions that when executed cause the at least one processing device to use weights defined by a sigmoid function.

21. The non-transitory machine-readable medium of claim 17 , wherein the instructions that when executed cause the at least one processing device to determine whether the collision between the host vehicle and the target object is possible comprise:

instructions that when executed cause the at least one processing device to:

determine whether one coefficient of the weighted combination of the polynomials related to a lateral displacement between the host vehicle and the target object indicates that collision is possible; and

determine whether another coefficient of the weighted combination of the polynomials related to a curvature of an estimated path of the target object is towards a travel direction of the host vehicle and indicates that collision is possible.

22. The non-transitory machine-readable medium of claim 17 , wherein the one or more corrective actions comprise at least one of:

adjusting at least one of: a steering of the host vehicle, a speed of the host vehicle, and a braking of the host vehicle; and

activating an audible, visible, or haptic warning.

23. The non-transitory machine-readable medium of claim 17 , further containing instructions that when executed cause the at least one processing device to repeatedly:

generate the polynomials for the target object and the weighted combination of the polynomials for the target object over time; and

determine whether the collision between the host vehicle and the target object is possible based on the weighted combination of the polynomials for the target object.

24. The non-transitory machine-readable medium of claim 17 , further containing instructions that when executed cause the at least one processing device to repeatedly:

generate multiple polynomials for multiple target objects and weighted combinations of the multiple polynomials for the multiple target objects over time; and

determine whether a collision between the host vehicle and any of the target objects is possible based on the weighted combination of the polynomials for the multiple target objects.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2026
From: CANOO TECHNOLOGIES INC.
To: WHS ENERGY SOLUTIONS, LLC
Reel/Frame 075735/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2022
From: KIM, KILSOO; CHOI, JONGMOO; BHUMIREDDY, SHANMUKHA M.; MOYERS BARRERA, EMILIO ARON; VU, PHILLIP; KALAKATA, RISHITHA
To: CANOO TECHNOLOGIES INC.
Reel/Frame 061636/0762 →
Continuity (1)
Related Publication 20240140414A1 · May 2, 2024
References Cited (40)
US 5638281A · Wang · 1997 [cited by applicant]
US 20020049539A1 · Russell et al. · 2002 [cited by applicant]
US 20050225477A1 · Cong · 2005 [cited by examiner]
US 20090192710A1 · Eidehall et al. · 2009 [cited by applicant]
US 20110071731A1 · Eidehall · 2011 [cited by examiner]
US 20180251092A1 · Lee et al. · 2018 [cited by applicant]
US 20180257660A1 · Ibrahim · 2018 [cited by examiner]
US 20180293893A1 · Yang · 2018 [cited by examiner]
US 20190050136A1 · Alfano · 2019 [cited by examiner]
US 20190193275A1 · Tan et al. · 2019 [cited by applicant]
US 20200043186A1 · Selviah et al. · 2020 [cited by applicant]
US 20200049511A1 · Sithiravel et al. · 2020 [cited by applicant]
US 20200369296A1 · Kim · 2020 [cited by examiner]
US 20210053560A1 · Haddad · 2021 [cited by examiner]
US 20210163010A1 · Takabayashi · 2021 [cited by examiner]
US 20210272466A1 · Ahn · 2021 [cited by examiner]
US 20230089978A1 · Pulver et al. · 2023 [cited by applicant]
US 20230103248A1 · Abrash et al. · 2023 [cited by applicant]
US 20230331218A1 · Choi · 2023 [cited by examiner]
US 20230347882A1 · Tian et al. · 2023 [cited by applicant]
US 20240010232A1 · Karkus · 2024 [cited by examiner]
US 20240059285A1 · Ng · 2024 [cited by examiner]
CA 2884808C · 2019 [cited by examiner]
EP 4067186A1 · 2022 [cited by examiner]
GB 2597264A · 2022 [cited by applicant]
WO WO2021020311A1 · 2021 [cited by examiner]
Kim et al., “Vehicle Motion Control Using Torque Vectoring With Consideration Of Driver Intent And Load Transfer,” U.S. Appl. No. 17/935,632, filed Sep. 27, 2022, 48 pages. [cited by applicant]
Choi et al., “Proximity Detection For Automotive Vehicles and Other Systems Based On Probabilistic Computing Techniques,” U.S. Appl. No. 17/366,866, filed Jul. 2, 2021, 35 pages. [cited by applicant]
Kim et al., “System And Method In Vehicle Path Prediction Based On Odometry And Inertial Measurement Unit,” U.S. Appl. No. 17/449,623, filed Sep. 30, 2021, 40 pages. [cited by applicant]
Kim et al., “System And Method For Target Behavior Prediction Using Host Prediction In Advanced Driving Assist System (ADAS), Autonomous Driving (AD), Or Other Applications,” U.S. Appl. No. 18/052,122, filed Nov. 2, 202… [cited by applicant]
International Search Report and Written Opinion of the International Searching Authority dated Oct. 19, 2022 in connection with International Patent Application No. PCT/US22/32523, 7 pages. [cited by applicant]
Ahangar, “Introduction to Statistical Geometry,” Proceedings of the 2010 International Conference on Scientific Computing, Jul. 2010, 6 pages. [cited by applicant]
Ahangar, “Harmonic Probability Density Function, Modeling, and Regression,” European International Journal of Science and Technology, vol. 2, No. 5, Jun. 2013, 9 pages. [cited by applicant]
Maesschalck et al., “The Mahalanobis distance,” Chemometrics and Intelligent Laboratory System, vol. 50, 2000, 18 pages. [cited by applicant]
Mahalanobis, “On the Generalized Distance in Statistics,” vol. II, No. 1, Apr. 1936, 7 pages. [cited by applicant]
Schweppe, “On the Bhattacharyya Distance and the Divergence between Gaussian Processes,” Information and Control, vol. 11, 1967, 23 pages. [cited by applicant]
International Search Report and Written Opinion of the International Searching Authority dated Nov. 13, 2023, in connection with International Application No. PCT/US2023/071210, 8 pages. [cited by applicant]
International Search Report and Written Opinion of the International Searching Authority dated Nov. 3, 2023, in connection with International Application No. PCT/US2023/028979, 14 pages. [cited by applicant]
Brunton, et al., “Supporting Information for: Discovering governing equations from data: Sparse identification of nonlinear dynamical systems,” Proceedings of the National Academy of Sciences, Mar. 2016, 76 pages. [cited by applicant]
Non-final Office Action dated Aug. 21, 2024, in connection with U.S. Appl. No. 18/052,122, 31 pages. [cited by applicant]