Prosecution Insights
Last updated: April 19, 2026
Application No. 18/528,494

UNSTRUCTURED VEHICLE PATH PLANNER

Non-Final OA §102
Filed
Dec 04, 2023
Examiner
WALLACE, DONALD JOSEPH
Art Unit
3665
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Zoox Inc.
OA Round
1 (Non-Final)
77%
Grant Probability
Favorable
1-2
OA Rounds
3y 1m
To Grant
93%
With Interview

Examiner Intelligence

Grants 77% — above average
77%
Career Allow Rate
341 granted / 445 resolved
+24.6% vs TC avg
Strong +16% interview lift
Without
With
+16.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
16 currently pending
Career history
461
Total Applications
across all art units

Statute-Specific Performance

§101
6.9%
-33.1% vs TC avg
§103
47.9%
+7.9% vs TC avg
§102
23.5%
-16.5% vs TC avg
§112
15.4%
-24.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 445 resolved cases

Office Action

§102
DETAILED ACTION This is the first office action on the merits of the instant application, which was filed December 4, 2023 as a continuation of US Patent Application 16/517,506, filed July 19, 2019. After a preliminary amendment, wherein claim 1 is cancelled and new claims 2-19 are presented for consideration, claims 2-19 remain in the application. 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 . In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. 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. (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claims 2-19 are rejected under 35 U.S.C. 102(a)(1)/(a)(2) as being anticipated by Sorin et al. (US 2019/0163191 A1). Sorin et al. teaches, according to claim 2, a system comprising: one or more processors; and a memory storing processor-executable instructions that, when executed by the one or more processors (Sorin et al., at least para. [0030], “The described specialized robot motion planning hardware can perform motion planning operations of solving collision detection and/or finding a shortest path entirely in hardware circuitry or as software stored in a memory storage and executed by a hardware processor, or as a combination of hardware circuitry and software stored in the memory storage and executed by the hardware processor. The hardware and/or software functionality can be considered to embody a “motion planning module.””), cause the system to perform operations comprising: one or more of determining or receiving a current pose of a vehicle in an environment (Sorin et al., at least para. [0025], “…A scenario also includes distributions of robot starting poses and goal poses with positions of various robot parts…”; and para. [0026], “…An autonomous vehicle is a special case of “robot” and therefore aspects described herein with respect to a “robot” can be implemented for autonomous vehicles depending on application. It should be understood that reference to “autonomous” does not require full autonomy and can include semi-autonomous vehicles.”); associating the current pose with a first node of a set of nodes (Sorin et al., at least para. [0037], “The planning graph construction component involves the creation of a graph of poses and motions in a robot's configuration space. In some cases, each node in the graph completely defines the state of the robot in a specific pose, and each edge defines a motion between poses. In some cases, such as useful for autonomous vehicle embodiments, the planning graph construction component involves a set of variables relevant to the behavior of the vehicle combined with, implicitly or explicitly, time. That is, in one implementation, the similar parameters as the articulated robot embodiment (e.g., spatial coordinates x, y, and optionally z) along with the implicit or explicit time can define a node. In other implementations, angle (theta), velocity, acceleration, or other parameters of interest may be included in place of or in addition to one or more of the spatial parameters. The planning graph construction is performed offline (i.e., prior to real time motion planning).”); determining, based at least in part on the first node, a set of potential motions to control the vehicle comprising a first potential motion to control the vehicle from the current pose to an intermediate node of an intermediate subset of the set of nodes, wherein a potential motion indicates at least one of a position, orientation, steering controls, velocity, or acceleration for controlling the vehicle (Sorin et al., at least para. [0031], “As mentioned in the background, motion planning refers to the processes used to identify the motions a robot will undergo in order to move from one position to another position until the robot achieves a desired position. For an articulated robot, which is formed of a set of rigid bodies connected by joints, motion planning determines the movement from one pose to another pose until a goal pose is met. For vehicles, which may or may not have multiple dimensions and freedom to operate, motion planning determines the movement from one position or pose to another position or pose in a similar manner as an articulated robot with more or fewer positions to be assigned as part of the robot's configuration space.”); determining a cost associated with a trajectory for controlling the vehicle from the first node to a future state associated with a final node of the set of nodes and passing through the intermediate node (Sorin et al., at least para. [0047], “In an example implementation for an autonomous vehicle, the cost grid 204 can generate a cost map from features around the vehicle (“a road-specific cost map”). For example, for a car, there can be preferences for staying in the middle of the lane, for not moving into the lane for traffic moving in the opposite direction, for fewer rather than more lane changes and the like. In addition, road features, such as curvature and pot holes may be taken into consideration. The cost grid 204, therefore, would generate a cost map from the road features around the car, which is similar to an occupancy grid, but where each voxel carries a cost modifier. As an illustration, if the road is directly ahead, there is an emergency lane to the right, and a lane in the other direction to the left, then the grid would have a stripe of low-cost (or even negative cost) voxels in it, a stripe of higher cost voxels to its right, and a stripe of very high cost voxels to its left. Similarly, where there are curves in the road, the cost modifier for areas off the road would be indicated as higher cost to minimize the car going off-road. Cost modifiers can be assigned to minimize lane changes as well. Each voxel of the cost grid 204 for a road may include x and y coordinates, but not require time as a value. The voxel could include information such as velocity in order to support expressing preferences with respect to speed limits. Of course, other parameters may be used as desired.”); and determining to control the vehicle to execute the potential motion based at least in part on the cost (Sorin et al., at least para. [0057], “During run time, the cost, and the probability of that cost occurring, will change. Thus, the motion planning performed by the motion planning module 205 can be iterative in nature. That is, replanning may comprise the steps of making a plan, making a single movement, and then repeating the motion planning process again. In this case, it is very useful to root the lattice (or other planning graph) at the origin of the vehicle to maintain consistency (and also the resolution can be reduced for the plan because the vehicle is getting closer to an obstacle).”; and para. [0058], “The described system 200 can be implemented as part of a vehicle that includes an on-board computer processor and electrically and/or mechanically connected actuation systems that can carry out adjustments to the vehicle systems (e.g., brakes, engine, steering, etc.)…”). Regarding claim 3, determining the cost is based at least in part on one or more of: safety of the potential motion; a difference between an objective and the future state achieved by the potential motion; or passenger comfort associated with the potential motion (Sorin et al., at least para. [0047], “In an example implementation for an autonomous vehicle, the cost grid 204 can generate a cost map from features around the vehicle (“a road-specific cost map”). For example, for a car, there can be preferences for staying in the middle of the lane, for not moving into the lane for traffic moving in the opposite direction, for fewer rather than more lane changes and the like…As an illustration, if the road is directly ahead, there is an emergency lane to the right, and a lane in the other direction to the left, then the grid would have a stripe of low-cost (or even negative cost) voxels in it, a stripe of higher cost voxels to its right, and a stripe of very high cost voxels to its left. Similarly, where there are curves in the road, the cost modifier for areas off the road would be indicated as higher cost to minimize the car going off-road. Cost modifiers can be assigned to minimize lane changes as well. Each voxel of the cost grid 204 for a road may include x and y coordinates, but not require time as a value. The voxel could include information such as velocity in order to support expressing preferences with respect to speed limits. Of course, other parameters may be used as desired.”). Regarding claim 4, the cost is determined based at least in part on a first cost and a second cost, the first cost is associated with traversing from the first node to the intermediate node, the second cost is associated with traversing from the intermediate node to the final node, and determining to control the vehicle to execute the potential motion comprises determining that the first cost, the second cost, or a summation of the first cost and the second cost is at least one of less than a threshold cost or less than an additional cost associated with a second potential motion of the set of potential motions (Sorin et al., at least para. [0053], “The motion planning module 205 generates a motion plan that balances the risk of collision with other obstacles versus the efficiency of reaching a goal location by calculating, and then assigning, a risk for every edge in the planning graph. The edges of the planning graph stored at the motion planning module 205 that would result in collision with certainty (e.g., those static obstacles) may either be removed or assigned a risk. In many practical applications for autonomous vehicles, the edges remain but are assigned a risk (which may be very small/negligible or very large/maximum assigned value). The risk assigned to edges can be based on predefined risk values for static objects (e.g., 100%). To ensure a high probability of being collision free with uncertain obstacles, the motion planning module 205 can sample over the distribution of trajectories from the probabilistic estimate and calculate a probability of collision with each edge in the planning graph.”). Regarding claim 5, the operations further comprise: determining a second set of potential motions for controlling the vehicle from the intermediate node to a second intermediate node; and determining a third cost associated with a second potential motion of the second set of potential motions; and the second cost comprises the third cost (Sorin et al., at least para. [0057], “During run time, the cost, and the probability of that cost occurring, will change. Thus, the motion planning performed by the motion planning module 205 can be iterative in nature. That is, replanning may comprise the steps of making a plan, making a single movement, and then repeating the motion planning process again. In this case, it is very useful to root the lattice (or other planning graph) at the origin of the vehicle to maintain consistency (and also the resolution can be reduced for the plan because the vehicle is getting closer to an obstacle).”). Regarding claim 6, the future state indicates at least one of a future vehicle position, future vehicle orientation, future vehicle steering angle, future vehicle velocity, or future vehicle acceleration (Sorin et al., at least para. [0031], “As mentioned in the background, motion planning refers to the processes used to identify the motions a robot will undergo in order to move from one position to another position until the robot achieves a desired position. For an articulated robot, which is formed of a set of rigid bodies connected by joints, motion planning determines the movement from one pose to another pose until a goal pose is met. For vehicles, which may or may not have multiple dimensions and freedom to operate, motion planning determines the movement from one position or pose to another position or pose in a similar manner as an articulated robot with more or fewer positions to be assigned as part of the robot's configuration space.”). Regarding claim 7, the intermediate node is a first intermediate node, the operations further comprising: determining, based at least in part on the intermediate node, an additional set of potential motions to control the vehicle from the intermediate node to an additional intermediate node of the set of nodes, wherein an additional potential motion indicates at least one of a position, orientation, steering controls, velocity, or acceleration for controlling the vehicle, and wherein the trajectory further passes through the additional intermediate node and causes the vehicle to perform the additional potential motion (Sorin et al., at least para. [0031], “As mentioned in the background, motion planning refers to the processes used to identify the motions a robot will undergo in order to move from one position to another position until the robot achieves a desired position. For an articulated robot, which is formed of a set of rigid bodies connected by joints, motion planning determines the movement from one pose to another pose until a goal pose is met. For vehicles, which may or may not have multiple dimensions and freedom to operate, motion planning determines the movement from one position or pose to another position or pose in a similar manner as an articulated robot with more or fewer positions to be assigned as part of the robot's configuration space.”; the inclusion of an indeterminate number of “positions” teaches the iterative nature of the motion planning system, wherein unnumbered intermediate “nodes” are considered). Sorin et al. teaches, according to claim 8, one or more non-transitory computer-readable media storing processor-executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations (Sorin et al., at least para. [0030], “The described specialized robot motion planning hardware can perform motion planning operations of solving collision detection and/or finding a shortest path entirely in hardware circuitry or as software stored in a memory storage and executed by a hardware processor, or as a combination of hardware circuitry and software stored in the memory storage and executed by the hardware processor. The hardware and/or software functionality can be considered to embody a “motion planning module.””) comprising: one or more of determining or receiving a current pose of a vehicle in an environment (Sorin et al., at least para. [0025], “…A scenario also includes distributions of robot starting poses and goal poses with positions of various robot parts…”; and para. [0026], “…An autonomous vehicle is a special case of “robot” and therefore aspects described herein with respect to a “robot” can be implemented for autonomous vehicles depending on application. It should be understood that reference to “autonomous” does not require full autonomy and can include semi-autonomous vehicles.”); associating the current pose with a first node of a set of nodes (Sorin et al., at least para. [0037], “The planning graph construction component involves the creation of a graph of poses and motions in a robot's configuration space. In some cases, each node in the graph completely defines the state of the robot in a specific pose, and each edge defines a motion between poses. In some cases, such as useful for autonomous vehicle embodiments, the planning graph construction component involves a set of variables relevant to the behavior of the vehicle combined with, implicitly or explicitly, time. That is, in one implementation, the similar parameters as the articulated robot embodiment (e.g., spatial coordinates x, y, and optionally z) along with the implicit or explicit time can define a node. In other implementations, angle (theta), velocity, acceleration, or other parameters of interest may be included in place of or in addition to one or more of the spatial parameters. The planning graph construction is performed offline (i.e., prior to real time motion planning).”); determining, based at least in part on the first node, a set of potential motions to control the vehicle comprising a first potential motion to control the vehicle from the current pose to an intermediate node of an intermediate subset of the set of nodes, wherein a potential motion indicates at least one of a position, orientation, steering controls, velocity, or acceleration for controlling the vehicle (Sorin et al., at least para. [0031], “As mentioned in the background, motion planning refers to the processes used to identify the motions a robot will undergo in order to move from one position to another position until the robot achieves a desired position. For an articulated robot, which is formed of a set of rigid bodies connected by joints, motion planning determines the movement from one pose to another pose until a goal pose is met. For vehicles, which may or may not have multiple dimensions and freedom to operate, motion planning determines the movement from one position or pose to another position or pose in a similar manner as an articulated robot with more or fewer positions to be assigned as part of the robot's configuration space.”); determining a cost associated with a trajectory for controlling the vehicle from the first node to a future state associated with a final node of the set of nodes and passing through the intermediate node (Sorin et al., at least para. [0047], “In an example implementation for an autonomous vehicle, the cost grid 204 can generate a cost map from features around the vehicle (“a road-specific cost map”). For example, for a car, there can be preferences for staying in the middle of the lane, for not moving into the lane for traffic moving in the opposite direction, for fewer rather than more lane changes and the like. In addition, road features, such as curvature and pot holes may be taken into consideration. The cost grid 204, therefore, would generate a cost map from the road features around the car, which is similar to an occupancy grid, but where each voxel carries a cost modifier. As an illustration, if the road is directly ahead, there is an emergency lane to the right, and a lane in the other direction to the left, then the grid would have a stripe of low-cost (or even negative cost) voxels in it, a stripe of higher cost voxels to its right, and a stripe of very high cost voxels to its left. Similarly, where there are curves in the road, the cost modifier for areas off the road would be indicated as higher cost to minimize the car going off-road. Cost modifiers can be assigned to minimize lane changes as well. Each voxel of the cost grid 204 for a road may include x and y coordinates, but not require time as a value. The voxel could include information such as velocity in order to support expressing preferences with respect to speed limits. Of course, other parameters may be used as desired.”); and determining to control the vehicle to execute the potential motion based at least in part on the cost (Sorin et al., at least para. [0057], “During run time, the cost, and the probability of that cost occurring, will change. Thus, the motion planning performed by the motion planning module 205 can be iterative in nature. That is, replanning may comprise the steps of making a plan, making a single movement, and then repeating the motion planning process again. In this case, it is very useful to root the lattice (or other planning graph) at the origin of the vehicle to maintain consistency (and also the resolution can be reduced for the plan because the vehicle is getting closer to an obstacle).”; and para. [0058], “The described system 200 can be implemented as part of a vehicle that includes an on-board computer processor and electrically and/or mechanically connected actuation systems that can carry out adjustments to the vehicle systems (e.g., brakes, engine, steering, etc.)…”). Regarding claim 9, determining the cost is based at least in part on one or more of: safety of the potential motion; a difference between an objective and the future state achieved by the potential motion; or passenger comfort associated with the potential motion (Sorin et al., at least para. [0047], “In an example implementation for an autonomous vehicle, the cost grid 204 can generate a cost map from features around the vehicle (“a road-specific cost map”). For example, for a car, there can be preferences for staying in the middle of the lane, for not moving into the lane for traffic moving in the opposite direction, for fewer rather than more lane changes and the like…As an illustration, if the road is directly ahead, there is an emergency lane to the right, and a lane in the other direction to the left, then the grid would have a stripe of low-cost (or even negative cost) voxels in it, a stripe of higher cost voxels to its right, and a stripe of very high cost voxels to its left. Similarly, where there are curves in the road, the cost modifier for areas off the road would be indicated as higher cost to minimize the car going off-road. Cost modifiers can be assigned to minimize lane changes as well. Each voxel of the cost grid 204 for a road may include x and y coordinates, but not require time as a value. The voxel could include information such as velocity in order to support expressing preferences with respect to speed limits. Of course, other parameters may be used as desired.”). Regarding claim 10, the cost is determined based at least in part on a first cost and a second cost, the first cost is associated with traversing from the first node to the intermediate node, the second cost is associated with traversing from the intermediate node to the final node, and determining to control the vehicle to execute the potential motion comprises determining that the first cost, the second cost, or a summation of the first cost and the second cost is at least one of less than a threshold cost or less than an additional cost associated with a second potential motion of the set of potential motions (Sorin et al., at least para. [0053], “The motion planning module 205 generates a motion plan that balances the risk of collision with other obstacles versus the efficiency of reaching a goal location by calculating, and then assigning, a risk for every edge in the planning graph. The edges of the planning graph stored at the motion planning module 205 that would result in collision with certainty (e.g., those static obstacles) may either be removed or assigned a risk. In many practical applications for autonomous vehicles, the edges remain but are assigned a risk (which may be very small/negligible or very large/maximum assigned value). The risk assigned to edges can be based on predefined risk values for static objects (e.g., 100%). To ensure a high probability of being collision free with uncertain obstacles, the motion planning module 205 can sample over the distribution of trajectories from the probabilistic estimate and calculate a probability of collision with each edge in the planning graph.”). Regarding claim 11, the operations further comprise: determining a second set of potential motions for controlling the vehicle from the intermediate node to a second intermediate node; and determining a third cost associated with a second potential motion of the second set of potential motions; and the second cost comprises the third cost (Sorin et al., at least para. [0057], “During run time, the cost, and the probability of that cost occurring, will change. Thus, the motion planning performed by the motion planning module 205 can be iterative in nature. That is, replanning may comprise the steps of making a plan, making a single movement, and then repeating the motion planning process again. In this case, it is very useful to root the lattice (or other planning graph) at the origin of the vehicle to maintain consistency (and also the resolution can be reduced for the plan because the vehicle is getting closer to an obstacle).”). Regarding claim 12, the future state indicates at least one of a future vehicle position, future vehicle orientation, future vehicle steering angle, future vehicle velocity, or future vehicle acceleration (Sorin et al., at least para. [0031], “As mentioned in the background, motion planning refers to the processes used to identify the motions a robot will undergo in order to move from one position to another position until the robot achieves a desired position. For an articulated robot, which is formed of a set of rigid bodies connected by joints, motion planning determines the movement from one pose to another pose until a goal pose is met. For vehicles, which may or may not have multiple dimensions and freedom to operate, motion planning determines the movement from one position or pose to another position or pose in a similar manner as an articulated robot with more or fewer positions to be assigned as part of the robot's configuration space.”). Regarding claim 13, the intermediate node is a first intermediate node, the operations further comprising: determining, based at least in part on the intermediate node, an additional set of potential motions to control the vehicle from the intermediate node to an additional intermediate node of the set of nodes, wherein an additional potential motion indicates at least one of a position, orientation, steering controls, velocity, or acceleration for controlling the vehicle, and wherein the trajectory further passes through the additional intermediate node and causes the vehicle to perform the additional potential motion (Sorin et al., at least para. [0031], “As mentioned in the background, motion planning refers to the processes used to identify the motions a robot will undergo in order to move from one position to another position until the robot achieves a desired position. For an articulated robot, which is formed of a set of rigid bodies connected by joints, motion planning determines the movement from one pose to another pose until a goal pose is met. For vehicles, which may or may not have multiple dimensions and freedom to operate, motion planning determines the movement from one position or pose to another position or pose in a similar manner as an articulated robot with more or fewer positions to be assigned as part of the robot's configuration space.”; the inclusion of an indeterminate number of “positions” teaches the iterative nature of the motion planning system, wherein unnumbered intermediate “nodes” are considered). Sorin et al. teaches, according to claim 14, a method comprising: one or more of determining or receiving a current pose of a vehicle in an environment (Sorin et al., at least para. [0025], “…A scenario also includes distributions of robot starting poses and goal poses with positions of various robot parts…”; and para. [0026], “…An autonomous vehicle is a special case of “robot” and therefore aspects described herein with respect to a “robot” can be implemented for autonomous vehicles depending on application. It should be understood that reference to “autonomous” does not require full autonomy and can include semi-autonomous vehicles.”); associating the current pose with a first node of a set of nodes (Sorin et al., at least para. [0037], “The planning graph construction component involves the creation of a graph of poses and motions in a robot's configuration space. In some cases, each node in the graph completely defines the state of the robot in a specific pose, and each edge defines a motion between poses. In some cases, such as useful for autonomous vehicle embodiments, the planning graph construction component involves a set of variables relevant to the behavior of the vehicle combined with, implicitly or explicitly, time. That is, in one implementation, the similar parameters as the articulated robot embodiment (e.g., spatial coordinates x, y, and optionally z) along with the implicit or explicit time can define a node. In other implementations, angle (theta), velocity, acceleration, or other parameters of interest may be included in place of or in addition to one or more of the spatial parameters. The planning graph construction is performed offline (i.e., prior to real time motion planning).”); determining, based at least in part on the first node, a set of potential motions to control the vehicle comprising a first potential motion to control the vehicle from the current pose to an intermediate node of an intermediate subset of the set of nodes, wherein a potential motion indicates at least one of a position, orientation, steering controls, velocity, or acceleration for controlling the vehicle (Sorin et al., at least para. [0031], “As mentioned in the background, motion planning refers to the processes used to identify the motions a robot will undergo in order to move from one position to another position until the robot achieves a desired position. For an articulated robot, which is formed of a set of rigid bodies connected by joints, motion planning determines the movement from one pose to another pose until a goal pose is met. For vehicles, which may or may not have multiple dimensions and freedom to operate, motion planning determines the movement from one position or pose to another position or pose in a similar manner as an articulated robot with more or fewer positions to be assigned as part of the robot's configuration space.”); determining a cost associated with a trajectory for controlling the vehicle from the first node to a future state associated with a final node of the set of nodes and passing through the intermediate node (Sorin et al., at least para. [0047], “In an example implementation for an autonomous vehicle, the cost grid 204 can generate a cost map from features around the vehicle (“a road-specific cost map”). For example, for a car, there can be preferences for staying in the middle of the lane, for not moving into the lane for traffic moving in the opposite direction, for fewer rather than more lane changes and the like. In addition, road features, such as curvature and pot holes may be taken into consideration. The cost grid 204, therefore, would generate a cost map from the road features around the car, which is similar to an occupancy grid, but where each voxel carries a cost modifier. As an illustration, if the road is directly ahead, there is an emergency lane to the right, and a lane in the other direction to the left, then the grid would have a stripe of low-cost (or even negative cost) voxels in it, a stripe of higher cost voxels to its right, and a stripe of very high cost voxels to its left. Similarly, where there are curves in the road, the cost modifier for areas off the road would be indicated as higher cost to minimize the car going off-road. Cost modifiers can be assigned to minimize lane changes as well. Each voxel of the cost grid 204 for a road may include x and y coordinates, but not require time as a value. The voxel could include information such as velocity in order to support expressing preferences with respect to speed limits. Of course, other parameters may be used as desired.”); and determining to control the vehicle to execute the potential motion based at least in part on the cost (Sorin et al., at least para. [0057], “During run time, the cost, and the probability of that cost occurring, will change. Thus, the motion planning performed by the motion planning module 205 can be iterative in nature. That is, replanning may comprise the steps of making a plan, making a single movement, and then repeating the motion planning process again. In this case, it is very useful to root the lattice (or other planning graph) at the origin of the vehicle to maintain consistency (and also the resolution can be reduced for the plan because the vehicle is getting closer to an obstacle).”; and para. [0058], “The described system 200 can be implemented as part of a vehicle that includes an on-board computer processor and electrically and/or mechanically connected actuation systems that can carry out adjustments to the vehicle systems (e.g., brakes, engine, steering, etc.)…”). Regarding claim 15, determining the cost is based at least in part on one or more of: safety of the potential motion; a difference between an objective and the future state achieved by the potential motion; or passenger comfort associated with the potential motion (Sorin et al., at least para. [0047], “In an example implementation for an autonomous vehicle, the cost grid 204 can generate a cost map from features around the vehicle (“a road-specific cost map”). For example, for a car, there can be preferences for staying in the middle of the lane, for not moving into the lane for traffic moving in the opposite direction, for fewer rather than more lane changes and the like…As an illustration, if the road is directly ahead, there is an emergency lane to the right, and a lane in the other direction to the left, then the grid would have a stripe of low-cost (or even negative cost) voxels in it, a stripe of higher cost voxels to its right, and a stripe of very high cost voxels to its left. Similarly, where there are curves in the road, the cost modifier for areas off the road would be indicated as higher cost to minimize the car going off-road. Cost modifiers can be assigned to minimize lane changes as well. Each voxel of the cost grid 204 for a road may include x and y coordinates, but not require time as a value. The voxel could include information such as velocity in order to support expressing preferences with respect to speed limits. Of course, other parameters may be used as desired.”). Regarding claim 16, the cost is determined based at least in part on a first cost and a second cost, the first cost is associated with traversing from the first node to the intermediate node, the second cost is associated with traversing from the intermediate node to the final node, and determining to control the vehicle to execute the potential motion comprises determining that the first cost, the second cost, or a summation of the first cost and the second cost is at least one of less than a threshold cost or less than an additional cost associated with a second potential motion of the set of potential motions (Sorin et al., at least para. [0053], “The motion planning module 205 generates a motion plan that balances the risk of collision with other obstacles versus the efficiency of reaching a goal location by calculating, and then assigning, a risk for every edge in the planning graph. The edges of the planning graph stored at the motion planning module 205 that would result in collision with certainty (e.g., those static obstacles) may either be removed or assigned a risk. In many practical applications for autonomous vehicles, the edges remain but are assigned a risk (which may be very small/negligible or very large/maximum assigned value). The risk assigned to edges can be based on predefined risk values for static objects (e.g., 100%). To ensure a high probability of being collision free with uncertain obstacles, the motion planning module 205 can sample over the distribution of trajectories from the probabilistic estimate and calculate a probability of collision with each edge in the planning graph.”). Regarding claim 17, the method further comprises: determining a second set of potential motions for controlling the vehicle from the intermediate node to a second intermediate node; and determining a third cost associated with a second potential motion of the second set of potential motions; and the second cost comprises the third cost (Sorin et al., at least para. [0057], “During run time, the cost, and the probability of that cost occurring, will change. Thus, the motion planning performed by the motion planning module 205 can be iterative in nature. That is, replanning may comprise the steps of making a plan, making a single movement, and then repeating the motion planning process again. In this case, it is very useful to root the lattice (or other planning graph) at the origin of the vehicle to maintain consistency (and also the resolution can be reduced for the plan because the vehicle is getting closer to an obstacle).”). Regarding claim 18, the future state indicates at least one of a future vehicle position, future vehicle orientation, future vehicle steering angle, future vehicle velocity, or future vehicle acceleration (Sorin et al., at least para. [0031], “As mentioned in the background, motion planning refers to the processes used to identify the motions a robot will undergo in order to move from one position to another position until the robot achieves a desired position. For an articulated robot, which is formed of a set of rigid bodies connected by joints, motion planning determines the movement from one pose to another pose until a goal pose is met. For vehicles, which may or may not have multiple dimensions and freedom to operate, motion planning determines the movement from one position or pose to another position or pose in a similar manner as an articulated robot with more or fewer positions to be assigned as part of the robot's configuration space.”). Regarding claim 19, the intermediate node is a first intermediate node and the method further comprises: determining, based at least in part on the intermediate node, an additional set of potential motions to control the vehicle from the intermediate node to an additional intermediate node of the set of nodes, wherein an additional potential motion indicates at least one of a position, orientation, steering controls, velocity, or acceleration for controlling the vehicle, and wherein the trajectory further passes through the additional intermediate node and causes the vehicle to perform the additional potential motion (Sorin et al., at least para. [0031], “As mentioned in the background, motion planning refers to the processes used to identify the motions a robot will undergo in order to move from one position to another position until the robot achieves a desired position. For an articulated robot, which is formed of a set of rigid bodies connected by joints, motion planning determines the movement from one pose to another pose until a goal pose is met. For vehicles, which may or may not have multiple dimensions and freedom to operate, motion planning determines the movement from one position or pose to another position or pose in a similar manner as an articulated robot with more or fewer positions to be assigned as part of the robot's configuration space.”; the inclusion of an indeterminate number of “positions” teaches the iterative nature of the motion planning system, wherein unnumbered intermediate “nodes” are considered). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Any inquiry concerning this communication or earlier communications from the examiner should be directed to DONALD J. WALLACE whose telephone number is (313) 446-4915. The examiner can normally be reached on Monday-Friday, 8 a.m. to 5 p.m. 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, Hunter Lonsberry can be reached on (571) 272-7298. The fax phone number for the organization where this application or proceeding is assigned is (571) 273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at (866) 217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call (800) 786-9199 (IN USA OR CANADA) or (571) 272-1000. /DONALD J WALLACE/Primary Examiner, Art Unit 3665
Read full office action

Prosecution Timeline

Dec 04, 2023
Application Filed
Dec 30, 2025
Non-Final Rejection — §102
Apr 10, 2026
Examiner Interview Summary
Apr 10, 2026
Applicant Interview (Telephonic)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602058
INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING SYSTEM
2y 5m to grant Granted Apr 14, 2026
Patent 12594932
METHOD FOR PREVENTING COLLISION WITH VEHICLE LOCATED AHEAD WITH ITS SIDE BEING SHOWN AND VEHICLE CONTROL SYSTEM OF SAME
2y 5m to grant Granted Apr 07, 2026
Patent 12578203
SYSTEMS AND METHODS FOR GENERATING AN INTERACTIVE USER INTERFACE
2y 5m to grant Granted Mar 17, 2026
Patent 12575488
AUTONOMOUS LAWN MOWING SYSTEM
2y 5m to grant Granted Mar 17, 2026
Patent 12573247
SYSTEMS AND METHODS FOR GENERATING AND PROVIDING TIMELY VEHICLE EVENT INFORMATION
2y 5m to grant Granted Mar 10, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
77%
Grant Probability
93%
With Interview (+16.0%)
3y 1m
Median Time to Grant
Low
PTA Risk
Based on 445 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month