Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
The Office Action is in response to the arguments filed on 02/13/2026. Claims 1-18 are presently pending and are presented for examination.
Response to Arguments
Applicant's arguments, see pages 2-4, filed 02/13/2026, regarding the rejection of claims 1, 7, and 13 under 35 U.S.C. 102(a)(1) as being anticipated by Ostafew US 20210237769 A1 (“Ostafew”), have been fully considered but they are not persuasive. Applicant argues on page 4 in particular that Ostafew is silent about “the vehicle information indicating a pair of a start location and a goal location” for “each of a plurality of vehicles,” “the map information indicating a map of space in which the vehicles travel,” and “determin[ing] a path set that includes a path for each of the vehicles using the vehicle information and the map information,” as recited in claim 1. Applicant further argues that the “other vehicles” in Ostafew are merely external objects that are not part of the vehicles being determined for “a path set that includes a path for each of the vehicles,” as recited in claim 1. Applicant further argues that although Ostafew discloses predicting a dynamic oncoming vehicle following a path to get around a static vehicle, this does not read on the language of claims 1, 7, and 13. However, as previously disclosed in the prior office action, Ostafew teaches that in FIG. 8, the system identifies nearby objects at 810 and identifies the paths of nearby dynamic objects at 850, and these dynamic objects can include other road users [paragraph 30], or other vehicles [paragraph 72]. In one example, parking lot data 518 includes data regarding locations of parking lots and/or parking spaces. In an example, the parking lot data 518 can be used to predict trajectories of other vehicles. For example, if a parking lot entrance is proximate to another vehicle, one of the predicted trajectories of the other vehicle may be that the other vehicle will enter the parking lot [paragraph 97, FIG. 5], which very clearly reads on the claim language. For these reasons, the rejection of claims 1, 7, and 13 is maintained.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1, 7, and 13 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Ostafew US 20210237769 A1 (“Ostafew”).
Regarding Claim 1. Ostafew teaches a path finding apparatus comprising:
at least one processor (An aspect of the disclosed implementations is a method for object avoidance by an autonomous vehicle (AV). The apparatus includes a memory and a processor [paragraph 4]); and
memory storing instructions (paragraph 4);
wherein the at least one processor is configured to execute the instructions to:
acquire vehicle information and map information, the vehicle information indicating a pair of a start location and a goal location for each of a plurality of vehicles, the map information indicating a map of space in which the vehicles travel (A trajectory planner that can generate a smooth trajectory for an autonomous vehicle (AV), from a source location to a destination location, by, for example, receiving HD map data, teleoperation data, and other input data; stitching (e.g., fusing, connecting, etc.) the input data longitudinally to determine a speed profile for a path from the source location to the destination location (e.g., the speed profile specifying how fast the AV can be driven along different segments of the path from the source location to the destination location); and, at discrete time points (e.g., every few milliseconds), having the trajectory planner process constraints related to static and dynamic objects, which are observed based on sensor data of the AV, to generate a smooth trajectory for the AV for the next time window (e.g., a look-ahead time of 6 seconds) [paragraph 31]); and
determine a path set that includes a path for each of the vehicles using the vehicle information and the map information, the paths in the path set not conflicting with each other (In one example, parking lot data 518 includes data regarding locations of parking lots and/or parking spaces. In an example, the parking lot data 518 can be used to predict trajectories of other vehicles. For example, if a parking lot entrance is proximate to another vehicle, one of the predicted trajectories of the other vehicle may be that the other vehicle will enter the parking lot [paragraph 97, FIG. 5]),
wherein the determination of the path set includes performing a path planning algorithm to generate the path for each of the vehicles (FIG. 8, the system identifies nearby objects at 810 and identifies the paths of nearby dynamic objects at 850, and these dynamic objects can include other road users [paragraph 30], or other vehicles [paragraph 72]. In one example, parking lot data 518 includes data regarding locations of parking lots and/or parking spaces. In an example, the parking lot data 518 can be used to predict trajectories of other vehicles. For example, if a parking lot entrance is proximate to another vehicle, one of the predicted trajectories of the other vehicle may be that the other vehicle will enter the parking lot [paragraph 97, FIG. 5]), the path planning algorithm evaluating the path based on a utility score of the path that is a scalar value representing a degree to which a plurality of objectives are optimized by the path (The trajectory controller may be operable to determine and optimize a trajectory for the vehicle. The optimized trajectory can be one or more paths, lines, curves, or a combination thereof [paragraph 48]. The trajectory planner includes a trajectory optimization layer [paragraph 88, FIG. 5]. The trajectory optimization layer 508 performs an optimization operation(s), such as a constrained operation, to determine an optimal trajectory for the AV based on the constraints. The trajectory optimization layer 508 can use (i.e., as inputs to the optimization operation) the motion model (e.g., the kinematic motion model) of the AV, the coarse driveline (e.g., the coarse driveline 1004 of FIG. 10, the coarse driveline 1103 of FIG. 11, the coarse driveline 1403 of FIG. 14, etc.) and/or the center points (e.g., the center point 1006) of the bins along the coarse driveline, the discrete-time speed plan, and the adjusted drivable area (e.g., the left and the right boundaries of the adjusted drivable area) to calculate (e.g., determine, generate, etc.) an optimal trajectory for the AV. As such, the optimal trajectory takes into account the coarse driveline and the left and right boundaries, given static and dynamic objects, along the coarse driveline [paragraph 218]. The trajectory planner (e.g., an optimized desired trajectory layer of the trajectory planner) generates (e.g., calculates, determines, etc.) an optimized trajectory of the AV using, for example, a constrained optimization operation. In an example, the optimization operation can be based on, or can include, a quadratic penalty function. In an example, the optimization operation can be based on, or can include, a logarithmic barrier function [paragraph 228]).
Regarding Claim 7. Ostafew teaches a control method executed by a computer, comprising:
acquiring vehicle information and map information, the vehicle information indicating a pair of a start location and a goal location for each of a plurality of vehicles, the map information indicating a map of space in which the vehicles travel (A trajectory planner that can generate a smooth trajectory for an autonomous vehicle (AV), from a source location to a destination location, by, for example, receiving HD map data, teleoperation data, and other input data; stitching (e.g., fusing, connecting, etc.) the input data longitudinally to determine a speed profile for a path from the source location to the destination location (e.g., the speed profile specifying how fast the AV can be driven along different segments of the path from the source location to the destination location); and, at discrete time points (e.g., every few milliseconds), having the trajectory planner process constraints related to static and dynamic objects, which are observed based on sensor data of the AV, to generate a smooth trajectory for the AV for the next time window (e.g., a look-ahead time of 6 seconds) [paragraph 31]); and
determining a path set that includes a path for each of the vehicles using the vehicle information and the map information, the paths in the path set not conflicting with each other (In one example, parking lot data 518 includes data regarding locations of parking lots and/or parking spaces. In an example, the parking lot data 518 can be used to predict trajectories of other vehicles. For example, if a parking lot entrance is proximate to another vehicle, one of the predicted trajectories of the other vehicle may be that the other vehicle will enter the parking lot [paragraph 97, FIG. 5]),
wherein the determination of the path set includes performing a path planning algorithm to generate the path for each of the vehicles (FIG. 8, the system identifies nearby objects at 810 and identifies the paths of nearby dynamic objects at 850, and these dynamic objects can include other road users [paragraph 30], or other vehicles [paragraph 72]. In one example, parking lot data 518 includes data regarding locations of parking lots and/or parking spaces. In an example, the parking lot data 518 can be used to predict trajectories of other vehicles. For example, if a parking lot entrance is proximate to another vehicle, one of the predicted trajectories of the other vehicle may be that the other vehicle will enter the parking lot [paragraph 97, FIG. 5]), the path planning algorithm evaluating the path based on a utility score of the path that is a scalar value representing a degree to which a plurality of objectives are optimized by the path (The trajectory controller may be operable to determine and optimize a trajectory for the vehicle. The optimized trajectory can be one or more paths, lines, curves, or a combination thereof [paragraph 48]. The trajectory planner includes a trajectory optimization layer [paragraph 88, FIG. 5]. The trajectory optimization layer 508 performs an optimization operation(s), such as a constrained operation, to determine an optimal trajectory for the AV based on the constraints. The trajectory optimization layer 508 can use (i.e., as inputs to the optimization operation) the motion model (e.g., the kinematic motion model) of the AV, the coarse driveline (e.g., the coarse driveline 1004 of FIG. 10, the coarse driveline 1103 of FIG. 11, the coarse driveline 1403 of FIG. 14, etc.) and/or the center points (e.g., the center point 1006) of the bins along the coarse driveline, the discrete-time speed plan, and the adjusted drivable area (e.g., the left and the right boundaries of the adjusted drivable area) to calculate (e.g., determine, generate, etc.) an optimal trajectory for the AV. As such, the optimal trajectory takes into account the coarse driveline and the left and right boundaries, given static and dynamic objects, along the coarse driveline [paragraph 218]. The trajectory planner (e.g., an optimized desired trajectory layer of the trajectory planner) generates (e.g., calculates, determines, etc.) an optimized trajectory of the AV using, for example, a constrained optimization operation. In an example, the optimization operation can be based on, or can include, a quadratic penalty function. In an example, the optimization operation can be based on, or can include, a logarithmic barrier function [paragraph 228]).
Regarding Claim 13. Ostafew teaches a non-transitory computer-readable storage medium (The memory 122 may include any tangible non-transitory computer-usable or computer-readable medium capable of, for example, containing, storing, communicating, or transporting machine-readable instructions or any information associated therewith, for use by or in connection with the processor 120 [paragraph 41]) storing a program that causes a computer to execute:
acquiring vehicle information and map information, the vehicle information indicating a pair of a start location and a goal location for each of a plurality of vehicles, the map information indicating a map of space in which the vehicles travel (A trajectory planner that can generate a smooth trajectory for an autonomous vehicle (AV), from a source location to a destination location, by, for example, receiving HD map data, teleoperation data, and other input data; stitching (e.g., fusing, connecting, etc.) the input data longitudinally to determine a speed profile for a path from the source location to the destination location (e.g., the speed profile specifying how fast the AV can be driven along different segments of the path from the source location to the destination location); and, at discrete time points (e.g., every few milliseconds), having the trajectory planner process constraints related to static and dynamic objects, which are observed based on sensor data of the AV, to generate a smooth trajectory for the AV for the next time window (e.g., a look-ahead time of 6 seconds) [paragraph 31]); and
determining a path set that includes a path for each of the vehicles using the vehicle information and the map information, the paths in the path set not conflicting with each other (In one example, parking lot data 518 includes data regarding locations of parking lots and/or parking spaces. In an example, the parking lot data 518 can be used to predict trajectories of other vehicles. For example, if a parking lot entrance is proximate to another vehicle, one of the predicted trajectories of the other vehicle may be that the other vehicle will enter the parking lot [paragraph 97, FIG. 5]),
wherein the determination of the path set includes performing a path planning algorithm to generate the path for each of the vehicles (FIG. 8, the system identifies nearby objects at 810 and identifies the paths of nearby dynamic objects at 850, and these dynamic objects can include other road users [paragraph 30], or other vehicles [paragraph 72]. In one example, parking lot data 518 includes data regarding locations of parking lots and/or parking spaces. In an example, the parking lot data 518 can be used to predict trajectories of other vehicles. For example, if a parking lot entrance is proximate to another vehicle, one of the predicted trajectories of the other vehicle may be that the other vehicle will enter the parking lot [paragraph 97, FIG. 5]), the path planning algorithm evaluating the path based on a utility score of the path that is a scalar value representing a degree to which a plurality of objectives are achieved by the path (The trajectory controller may be operable to determine and optimize a trajectory for the vehicle. The optimized trajectory can be one or more paths, lines, curves, or a combination thereof [paragraph 48]. The trajectory planner includes a trajectory optimization layer [paragraph 88, FIG. 5]. The trajectory optimization layer 508 performs an optimization operation(s), such as a constrained operation, to determine an optimal trajectory for the AV based on the constraints. The trajectory optimization layer 508 can use (i.e., as inputs to the optimization operation) the motion model (e.g., the kinematic motion model) of the AV, the coarse driveline (e.g., the coarse driveline 1004 of FIG. 10, the coarse driveline 1103 of FIG. 11, the coarse driveline 1403 of FIG. 14, etc.) and/or the center points (e.g., the center point 1006) of the bins along the coarse driveline, the discrete-time speed plan, and the adjusted drivable area (e.g., the left and the right boundaries of the adjusted drivable area) to calculate (e.g., determine, generate, etc.) an optimal trajectory for the AV. As such, the optimal trajectory takes into account the coarse driveline and the left and right boundaries, given static and dynamic objects, along the coarse driveline [paragraph 218]. The trajectory planner (e.g., an optimized desired trajectory layer of the trajectory planner) generates (e.g., calculates, determines, etc.) an optimized trajectory of the AV using, for example, a constrained optimization operation. In an example, the optimization operation can be based on, or can include, a quadratic penalty function. In an example, the optimization operation can be based on, or can include, a logarithmic barrier function [paragraph 228]).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 2, 8, and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Ostafew US 20210237769 A1 (“Ostafew”) as applied to claims 1, 7, and 13 above, and further in view of Palmieri et al. US 20210342715 A1 (“Palmieri”).
Regarding Claim 2. Ostafew teaches the path finding apparatus according to claim 1.
Ostafew also teaches:
wherein the determination of the path set includes a modified version of a search whose low-level search is performed by executing the path planning algorithm that is implemented by a metaheuristic algorithm (FIG. 5 shows an example of layers of a trajectory planner. The trajectory is planned through a multi-level algorithm (metaheuristic), described in more detail in paragraphs 87-89).
Ostafew does not teach:
The search is a Conflict Based Search algorithm.
However, Palmieri teaches:
The search is a Conflict Based Search algorithm (One common multi-agent path planning algorithm is called the conflict-based search (CBS) as described in G. Sharon et al., “Conflict-based search for optimal multi-agent path finding” [paragraph 13]).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Ostafew with the search is a Conflict Based Search algorithm as taught by Palmieri because a conflict based search algorithm is common in the art, and it would have been obvious to try using a conflict based search algorithm as it would have had highly predictable results.
Regarding Claim 8. Ostafew teaches the control method according to claim 7.
Ostafew also teaches:
wherein the determination of the path set includes a modified version of a search whose low-level search is performed by executing the path planning algorithm that is implemented by a metaheuristic algorithm (FIG. 5 shows an example of layers of a trajectory planner. The trajectory is planned through a multi-level algorithm (metaheuristic), described in more detail in paragraphs 87-89).
Ostafew does not teach:
The search is a Conflict Based Search algorithm.
However, Palmieri teaches:
The search is a Conflict Based Search algorithm (One common multi-agent path planning algorithm is called the conflict-based search (CBS) as described in G. Sharon et al., “Conflict-based search for optimal multi-agent path finding” [paragraph 13]).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Ostafew with the search is a Conflict Based Search algorithm as taught by Palmieri because a conflict based search algorithm is common in the art, and it would have been obvious to try using a conflict based search algorithm as it would have had highly predictable results.
Regarding Claim 14. Ostafew teaches the non-transitory computer-readable storage medium according to claim 13.
Ostafew also teaches:
wherein the determination of the path set includes a modified version of a search whose low-level search is performed by executing the path planning algorithm that is implemented by a metaheuristic algorithm (FIG. 5 shows an example of layers of a trajectory planner. The trajectory is planned through a multi-level algorithm (metaheuristic), described in more detail in paragraphs 87-89).
Ostafew does not teach:
The search is a Conflict Based Search algorithm.
However, Palmieri teaches:
The search is a Conflict Based Search algorithm (One common multi-agent path planning algorithm is called the conflict-based search (CBS) as described in G. Sharon et al., “Conflict-based search for optimal multi-agent path finding” [paragraph 13]).
Claim(s) 3-4, 9-10, and 15-16 are rejected under 35 U.S.C. 103 as being unpatentable over Ostafew US 20210237769 A1 (“Ostafew”) as applied to claims 1, 7, and 13 above, and further in view of Borrello et al. US 20220169247 A1 (“Borrello”).
Regarding Claim 3. Ostafew teaches the path finding apparatus according to claim 1.
Ostafew also teaches:
wherein the path planning algorithm uses a utility function to compute the utility score of the target path (The trajectory planner (e.g., an optimized desired trajectory layer of the trajectory planner) generates (e.g., calculates, determines, etc.) an optimized trajectory of the AV using, for example, a constrained optimization operation. In an example, the optimization operation can be based on, or can include, a quadratic penalty function. In an example, the optimization operation can be based on, or can include, a logarithmic barrier function. For example, the quadratic penalty function can be used with soft constraints. For example, the logarithmic barrier function can be used with hard constraints [paragraph 228]. FIG. 7 shows an example of determining a strategic speed plan according to implementations of this disclosure. The example 700 illustrates examples of inputs that can be used by the strategic speed plan module 524 of FIG. 5 to determine a strategic speed plan 714. In some implementations, the strategic speed plan module 524 can use more, fewer, or other inputs to determine the strategic speed plan [paragraph 120]).
Ostafew does not explicitly teach:
the utility function is defined as a weighted sum of a plurality of objective terms each of which represents a degree to which the objective corresponding to that objective term is optimized by the path.
However, Borrello teaches:
the utility function is defined as a weighted sum of a plurality of objective terms each of which represents a degree to which the objective corresponding to that objective term is optimized by the path (In detail, after computing the planned driving path of the motor-vehicle 2 as a set of driving path segments, it is firstly identified in which driving path segment the motor-vehicle 2 is located and then the planned driving path is dynamically rotated using a linear interpolation of the orientation angles θi and θi+1 of driving path actually driven along by the motor-vehicle 2 and of the first next driving path segment, and a weighting factor W computed based on the orientation angle θi+2 of the second next driving path segment [paragraph 74], shown in equation (26), which reads on a utility function defined by a weighted sum of a plurality of objective terms).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Ostafew with the utility function is defined as a weighted sum of a plurality of objective terms each of which represents a degree to which the objective corresponding to that objective term is optimized by the path as taught by Borrello so as to allow the system to apply priorities to the different objectives of the optimized path.
Regarding Claim 4. Ostafew in combination with Borrello teaches the path finding apparatus according to claim 3.
Ostafew also teaches:
wherein the plurality of objectives including efficiency of the path, safety of the path, smoothness of the path, or two or more thereof (At the object avoidance layer at 506, FIG. 5, and as further described below, using the coarse driveline, nearby static objects, and nearby dynamic objects and their predicted trajectories, the object avoidance layer 506 determines (e.g., extracts) a drivable area where the AV can be safely operated [paragraph 107]. The trajectory is optimized in an adjusted drivable area. Non-drivable areas (i.e., areas where the AV cannot be safely driven because of the other objects) are removed from a default drivable area to provide the adjusted drivable area [paragraph 109]. A speed profile can be generated by solving for the fastest speed profile along the coarse driveline that satisfies the constraints on speed (speed limit at any given location along the driveline) and acceleration (acceleration limit at any given speed) [paragraph 127], so efficiency is also considered along with safety. Implementations of a trajectory planner according to this disclosure can generate a smooth trajectory for an autonomous vehicle (AV), from a source location to a destination location [paragraph 31], so smoothness of the path can be an objective as well).
Regarding Claim 9. Ostafew teaches the control method according to claim 7.
Ostafew also teaches:
wherein the path planning algorithm uses a utility function to compute the utility score of the target path (The trajectory planner (e.g., an optimized desired trajectory layer of the trajectory planner) generates (e.g., calculates, determines, etc.) an optimized trajectory of the AV using, for example, a constrained optimization operation. In an example, the optimization operation can be based on, or can include, a quadratic penalty function. In an example, the optimization operation can be based on, or can include, a logarithmic barrier function. For example, the quadratic penalty function can be used with soft constraints. For example, the logarithmic barrier function can be used with hard constraints [paragraph 228]. FIG. 7 shows an example of determining a strategic speed plan according to implementations of this disclosure. The example 700 illustrates examples of inputs that can be used by the strategic speed plan module 524 of FIG. 5 to determine a strategic speed plan 714. In some implementations, the strategic speed plan module 524 can use more, fewer, or other inputs to determine the strategic speed plan [paragraph 120]).
Ostafew does not explicitly teach:
the utility function is defined as a weighted sum of a plurality of objective terms each of which represents a degree to which the objective corresponding to that objective term is optimized by the path.
However, Borrello teaches:
the utility function is defined as a weighted sum of a plurality of objective terms each of which represents a degree to which the objective corresponding to that objective term is optimized by the path (In detail, after computing the planned driving path of the motor-vehicle 2 as a set of driving path segments, it is firstly identified in which driving path segment the motor-vehicle 2 is located and then the planned driving path is dynamically rotated using a linear interpolation of the orientation angles θi and θi+1 of driving path actually driven along by the motor-vehicle 2 and of the first next driving path segment, and a weighting factor W computed based on the orientation angle θi+2 of the second next driving path segment [paragraph 74], shown in equation (26), which reads on a utility function defined by a weighted sum of a plurality of objective terms).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Ostafew with the utility function is defined as a weighted sum of a plurality of objective terms each of which represents a degree to which the objective corresponding to that objective term is optimized by the path as taught by Borrello so as to allow the system to apply priorities to the different objectives of the optimized path.
Regarding Claim 10. Ostafew in combination with Borrello teaches the control method according to claim 9.
Ostafew also teaches:
wherein the plurality of objectives including efficiency of the path, safety of the path, smoothness of the path, or two or more thereof (At the object avoidance layer at 506, FIG. 5, and as further described below, using the coarse driveline, nearby static objects, and nearby dynamic objects and their predicted trajectories, the object avoidance layer 506 determines (e.g., extracts) a drivable area where the AV can be safely operated [paragraph 107]. The trajectory is optimized in an adjusted drivable area. Non-drivable areas (i.e., areas where the AV cannot be safely driven because of the other objects) are removed from a default drivable area to provide the adjusted drivable area [paragraph 109]. A speed profile can be generated by solving for the fastest speed profile along the coarse driveline that satisfies the constraints on speed (speed limit at any given location along the driveline) and acceleration (acceleration limit at any given speed) [paragraph 127], so efficiency is also considered along with safety. Implementations of a trajectory planner according to this disclosure can generate a smooth trajectory for an autonomous vehicle (AV), from a source location to a destination location [paragraph 31], so smoothness of the path can be an objective as well).
Regarding Claim 15. Ostafew teaches the non-transitory computer-readable storage medium according to claim 13.
Ostafew also teaches:
wherein the path planning algorithm uses a utility function to compute the utility score of the target path (The trajectory planner (e.g., an optimized desired trajectory layer of the trajectory planner) generates (e.g., calculates, determines, etc.) an optimized trajectory of the AV using, for example, a constrained optimization operation. In an example, the optimization operation can be based on, or can include, a quadratic penalty function. In an example, the optimization operation can be based on, or can include, a logarithmic barrier function. For example, the quadratic penalty function can be used with soft constraints. For example, the logarithmic barrier function can be used with hard constraints [paragraph 228]. FIG. 7 shows an example of determining a strategic speed plan according to implementations of this disclosure. The example 700 illustrates examples of inputs that can be used by the strategic speed plan module 524 of FIG. 5 to determine a strategic speed plan 714. In some implementations, the strategic speed plan module 524 can use more, fewer, or other inputs to determine the strategic speed plan [paragraph 120]).
Ostafew does not explicitly teach:
the utility function is defined as a weighted sum of a plurality of objective terms each of which represents a degree to which the objective corresponding to that objective term is optimized by the path.
However, Borrello teaches:
the utility function is defined as a weighted sum of a plurality of objective terms each of which represents a degree to which the objective corresponding to that objective term is optimized by the path (In detail, after computing the planned driving path of the motor-vehicle 2 as a set of driving path segments, it is firstly identified in which driving path segment the motor-vehicle 2 is located and then the planned driving path is dynamically rotated using a linear interpolation of the orientation angles θi and θi+1 of driving path actually driven along by the motor-vehicle 2 and of the first next driving path segment, and a weighting factor W computed based on the orientation angle θi+2 of the second next driving path segment [paragraph 74], shown in equation (26), which reads on a utility function defined by a weighted sum of a plurality of objective terms).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Ostafew with the utility function is defined as a weighted sum of a plurality of objective terms each of which represents a degree to which the objective corresponding to that objective term is optimized by the path as taught by Borrello so as to allow the system to apply priorities to the different objectives of the optimized path.
Regarding Claim 16. Ostafew in combination with Borrello teaches the non-transitory computer-readable storage medium according to claim 15.
Ostafew also teaches:
wherein the plurality of objectives including efficiency of the path, safety of the path, smoothness of the path, or two or more thereof (At the object avoidance layer at 506, FIG. 5, and as further described below, using the coarse driveline, nearby static objects, and nearby dynamic objects and their predicted trajectories, the object avoidance layer 506 determines (e.g., extracts) a drivable area where the AV can be safely operated [paragraph 107]. The trajectory is optimized in an adjusted drivable area. Non-drivable areas (i.e., areas where the AV cannot be safely driven because of the other objects) are removed from a default drivable area to provide the adjusted drivable area [paragraph 109]. A speed profile can be generated by solving for the fastest speed profile along the coarse driveline that satisfies the constraints on speed (speed limit at any given location along the driveline) and acceleration (acceleration limit at any given speed) [paragraph 127], so efficiency is also considered along with safety. Implementations of a trajectory planner according to this disclosure can generate a smooth trajectory for an autonomous vehicle (AV), from a source location to a destination location [paragraph 31], so smoothness of the path can be an objective as well).
Claim(s) 5, 11, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Ostafew US 20210237769 A1 (“Ostafew”) as applied to claims 1, 7, and 13 above, and further in view of Miller et al. US 20220343780 A1 (“Miller”).
Regarding Claim 5. Ostafew teaches the path finding apparatus according to claim 1.
Ostafew also teaches:
wherein the path planning algorithm uses a utility function to compute the utility score of the target path (The trajectory planner (e.g., an optimized desired trajectory layer of the trajectory planner) generates (e.g., calculates, determines, etc.) an optimized trajectory of the AV using, for example, a constrained optimization operation. In an example, the optimization operation can be based on, or can include, a quadratic penalty function. In an example, the optimization operation can be based on, or can include, a logarithmic barrier function [paragraph 228]);
the determination of the path set includes, until a termination condition is satisfied, repeatedly performing:
generating a new utility function based on the selected candidate of the path set (The reactive trajectory control module 410 can handle situations that the autonomous vehicle may encounter but are unpredictable (e.g., cannot be handled) by the trajectory planner 408. Such situations include situations where the detailed-planned trajectory of the trajectory planner 408 was based on misclassification of objects and/or unanticipated situations that rarely occur. For example, the reactive trajectory control module 410 can modify the detailed-planned trajectory in response to determining that the static object to the left of the autonomous vehicle is misclassified. For example, the object may have been classified as a large truck; however, a new classification determines that it is a static road barrier wall. In another example, the reactive trajectory control module 410 can modify the detailed-planned trajectory in response to a sudden tire blowout of the autonomous vehicle [paragraph 86]);
determining a new candidate of the path set using the new utility function (The trajectory planner 500 can receive a sequence of drive goals 501 that can represent, for example, a series of lane selections and speed limits that connect a first location to a second location. For example, a drive goal of the drive goals 501 can be “starting at location x, travel on a lane having a certain identifier (e.g., lane with an identifier that is equal to A123) while respecting speed limit y”. The trajectory planner 500 can be used to generate a trajectory that accomplishes the sequence of the drive goals 501 [paragraph 87, FIG. 5]); and
replacing one of the plurality of candidates of the path sets with the new candidate of the path set (FIG. 8 is a flowchart diagram of a process for determining a drivable area and a discrete-time speed plan in accordance with an implementation of this disclosure [paragraph 16]. At 840, this includes adjusting the discrete-time speed plan for static objects. For example, when the adjusted drivable area, accounting for static objects, contains a static blockage, the process 800 adjusts the discrete-time speed plan such that the AV comes to a stop a prescribed distance before the static blockage [paragraph 138]. Then at operation 850, the process 800 identifies (e.g., predicts, calculates, generates, receives, or otherwise identifies) a respective path for each of the nearby dynamic objects. In an example, the predictions of the respective paths (i.e., trajectories) of at least some of the dynamic objects can be maintained in a world model, such as the world model module 402 of FIG. 4 [paragraph 139]. Then at step 850, the system identifies paths of nearby dynamic objects and adjusts the drivable area for dynamic objects at 860. FIG. 9 shows how the paths for the vehicle are modified and replaced at 950).
Ostafew does not teach:
the determination of the path set further includes:
providing a user with a plurality of candidates of the path set in a selectable manner;
acquiring information that indicates the candidate of the path set selected by the user; and
the path sets are to be provided to the user.
However, Miller teaches:
providing a user with a plurality of candidates of the path set in a selectable manner (The user may use a “clear” widget (328, FIG. 3B) to clear the display window (320), thereby resetting all available options, though doing so may cause the path (305) to disappear. As the user provides more data or instructions, such as the entry of start points, endpoints, or waypoints, the path (305) is continuously updated. Optionally, alternative multiple paths between two points can be shown, and the user can interact with the GUI show in the subsequent screenshot (322) to select which path the user would like to take [paragraph 89]);
acquiring information that indicates the candidate of the path set selected by the user (FIG. 2A shows a method for implementing an automated process for determining and displaying a taxi route on a GUI, in accordance with one or more embodiments [paragraph 38]. At steps 202 and 204, the system receives a start point and an end point on the map [paragraphs 40-41]); and
the path sets are to be provided to the user (paragraph 89).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Ostafew with the determination of the path set further includes: providing a user with a plurality of candidates of the path set in a selectable manner; acquiring information that indicates the candidate of the path set selected by the user; and the path sets are to be provided to the user as taught by Miller so as to allow a user to select the candidate path of their choosing.
Regarding Claim 11. Ostafew teaches the control method according to claim 7.
Ostafew also teaches:
wherein the path planning algorithm uses a utility function to compute the utility score of the target path (The trajectory planner (e.g., an optimized desired trajectory layer of the trajectory planner) generates (e.g., calculates, determines, etc.) an optimized trajectory of the AV using, for example, a constrained optimization operation. In an example, the optimization operation can be based on, or can include, a quadratic penalty function. In an example, the optimization operation can be based on, or can include, a logarithmic barrier function [paragraph 228]);
the determination of the path set includes, until a termination condition is satisfied, repeatedly performing:
generating a new utility function based on the selected candidate of the path set (The reactive trajectory control module 410 can handle situations that the autonomous vehicle may encounter but are unpredictable (e.g., cannot be handled) by the trajectory planner 408. Such situations include situations where the detailed-planned trajectory of the trajectory planner 408 was based on misclassification of objects and/or unanticipated situations that rarely occur. For example, the reactive trajectory control module 410 can modify the detailed-planned trajectory in response to determining that the static object to the left of the autonomous vehicle is misclassified. For example, the object may have been classified as a large truck; however, a new classification determines that it is a static road barrier wall. In another example, the reactive trajectory control module 410 can modify the detailed-planned trajectory in response to a sudden tire blowout of the autonomous vehicle [paragraph 86]);
determining a new candidate of the path set using the new utility function (The trajectory planner 500 can receive a sequence of drive goals 501 that can represent, for example, a series of lane selections and speed limits that connect a first location to a second location. For example, a drive goal of the drive goals 501 can be “starting at location x, travel on a lane having a certain identifier (e.g., lane with an identifier that is equal to A123) while respecting speed limit y”. The trajectory planner 500 can be used to generate a trajectory that accomplishes the sequence of the drive goals 501 [paragraph 87, FIG. 5]); and
replacing one of the plurality of candidates of the path sets with the new candidate of the path set (FIG. 8 is a flowchart diagram of a process for determining a drivable area and a discrete-time speed plan in accordance with an implementation of this disclosure [paragraph 16]. At 840, this includes adjusting the discrete-time speed plan for static objects. For example, when the adjusted drivable area, accounting for static objects, contains a static blockage, the process 800 adjusts the discrete-time speed plan such that the AV comes to a stop a prescribed distance before the static blockage [paragraph 138]. Then at operation 850, the process 800 identifies (e.g., predicts, calculates, generates, receives, or otherwise identifies) a respective path for each of the nearby dynamic objects. In an example, the predictions of the respective paths (i.e., trajectories) of at least some of the dynamic objects can be maintained in a world model, such as the world model module 402 of FIG. 4 [paragraph 139]. Then at step 850, the system identifies paths of nearby dynamic objects and adjusts the drivable area for dynamic objects at 860. FIG. 9 shows how the paths for the vehicle are modified and replaced at 950).
Ostafew does not teach:
the determination of the path set further includes:
providing a user with a plurality of candidates of the path set in a selectable manner;
acquiring information that indicates the candidate of the path set selected by the user; and
the path sets are to be provided to the user.
However, Miller teaches:
providing a user with a plurality of candidates of the path set in a selectable manner (The user may use a “clear” widget (328, FIG. 3B) to clear the display window (320), thereby resetting all available options, though doing so may cause the path (305) to disappear. As the user provides more data or instructions, such as the entry of start points, endpoints, or waypoints, the path (305) is continuously updated. Optionally, alternative multiple paths between two points can be shown, and the user can interact with the GUI show in the subsequent screenshot (322) to select which path the user would like to take [paragraph 89]);
acquiring information that indicates the candidate of the path set selected by the user (FIG. 2A shows a method for implementing an automated process for determining and displaying a taxi route on a GUI, in accordance with one or more embodiments [paragraph 38]. At steps 202 and 204, the system receives a start point and an end point on the map [paragraphs 40-41]); and
the path sets are to be provided to the user (paragraph 89).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Ostafew with the determination of the path set further includes: providing a user with a plurality of candidates of the path set in a selectable manner; acquiring information that indicates the candidate of the path set selected by the user; and the path sets are to be provided to the user as taught by Miller so as to allow a user to select the candidate path of their choosing.
Regarding Claim 17. Ostafew teaches the non-transitory computer-readable storage medium according to claim 13.
Ostafew also teaches:
wherein the path planning algorithm uses a utility function to compute the utility score of the target path (The trajectory planner (e.g., an optimized desired trajectory layer of the trajectory planner) generates (e.g., calculates, determines, etc.) an optimized trajectory of the AV using, for example, a constrained optimization operation. In an example, the optimization operation can be based on, or can include, a quadratic penalty function. In an example, the optimization operation can be based on, or can include, a logarithmic barrier function [paragraph 228]);
the determination of the path set includes, until a termination condition is satisfied, repeatedly performing:
generating a new utility function based on the selected candidate of the path set (The reactive trajectory control module 410 can handle situations that the autonomous vehicle may encounter but are unpredictable (e.g., cannot be handled) by the trajectory planner 408. Such situations include situations where the detailed-planned trajectory of the trajectory planner 408 was based on misclassification of objects and/or unanticipated situations that rarely occur. For example, the reactive trajectory control module 410 can modify the detailed-planned trajectory in response to determining that the static object to the left of the autonomous vehicle is misclassified. For example, the object may have been classified as a large truck; however, a new classification determines that it is a static road barrier wall. In another example, the reactive trajectory control module 410 can modify the detailed-planned trajectory in response to a sudden tire blowout of the autonomous vehicle [paragraph 86]);
determining a new candidate of the path set using the new utility function (The trajectory planner 500 can receive a sequence of drive goals 501 that can represent, for example, a series of lane selections and speed limits that connect a first location to a second location. For example, a drive goal of the drive goals 501 can be “starting at location x, travel on a lane having a certain identifier (e.g., lane with an identifier that is equal to A123) while respecting speed limit y”. The trajectory planner 500 can be used to generate a trajectory that accomplishes the sequence of the drive goals 501 [paragraph 87, FIG. 5]); and
replacing one of the plurality of candidates of the path sets with the new candidate of the path set (FIG. 8 is a flowchart diagram of a process for determining a drivable area and a discrete-time speed plan in accordance with an implementation of this disclosure [paragraph 16]. At 840, this includes adjusting the discrete-time speed plan for static objects. For example, when the adjusted drivable area, accounting for static objects, contains a static blockage, the process 800 adjusts the discrete-time speed plan such that the AV comes to a stop a prescribed distance before the static blockage [paragraph 138]. Then at operation 850, the process 800 identifies (e.g., predicts, calculates, generates, receives, or otherwise identifies) a respective path for each of the nearby dynamic objects. In an example, the predictions of the respective paths (i.e., trajectories) of at least some of the dynamic objects can be maintained in a world model, such as the world model module 402 of FIG. 4 [paragraph 139]. Then at step 850, the system identifies paths of nearby dynamic objects and adjusts the drivable area for dynamic objects at 860. FIG. 9 shows how the paths for the vehicle are modified and replaced at 950).
Ostafew does not teach:
the determination of the path set further includes:
providing a user with a plurality of candidates of the path set in a selectable manner;
acquiring information that indicates the candidate of the path set selected by the user; and
the path sets are to be provided to the user.
However, Miller teaches:
providing a user with a plurality of candidates of the path set in a selectable manner (The user may use a “clear” widget (328, FIG. 3B) to clear the display window (320), thereby resetting all available options, though doing so may cause the path (305) to disappear. As the user provides more data or instructions, such as the entry of start points, endpoints, or waypoints, the path (305) is continuously updated. Optionally, alternative multiple paths between two points can be shown, and the user can interact with the GUI show in the subsequent screenshot (322) to select which path the user would like to take [paragraph 89]);
acquiring information that indicates the candidate of the path set selected by the user (FIG. 2A shows a method for implementing an automated process for determining and displaying a taxi route on a GUI, in accordance with one or more embodiments [paragraph 38]. At steps 202 and 204, the system receives a start point and an end point on the map [paragraphs 40-41]); and
the path sets are to be provided to the user (paragraph 89).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Ostafew with the determination of the path set further includes: providing a user with a plurality of candidates of the path set in a selectable manner; acquiring information that indicates the candidate of the path set selected by the user; and the path sets are to be provided to the user as taught by Miller so as to allow a user to select the candidate path of their choosing.
Allowable Subject Matter
Claims 6, 12, and 18 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AARON G CAIN whose telephone number is (571)272-7009. The examiner can normally be reached Monday: 7:30am - 4:30pm EST to Friday 7:30pm - 4:30am.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Wade Miles can be reached at (571) 270-7777. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/AARON G CAIN/Examiner, Art Unit 3656