DETAILED ACTION
This is a Final Office Action on the Merits in response to communications filed by applicant on January 29th, 2026. Claims 1-6, 9-18, 24, 28, and 31-32 are currently pending and examined below.
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 .
Response to Amendment
The amendments to the Claims filed on January 29th, 2026 have been entered. Claims 2, 4, 12, and 14-15 are original, unamended, and pending, claims 3, 6, 8-11, 13, 16-17, 28, and 31-32, are as previously presented and pending, claims 1, 5, 18, and 24 are currently amended and pending, and claims 7, 19-23, 25-27, 29-30, and 33-35, have been canceled. The amendments to the claims have overcome each and every 35 U.S.C. 112(b) rejection set forth in the previous Non-Final Office Action mailed October 29th, 2025. The amendments to the Specifications filed January 29th, 2026 have been entered and have overcome each and every objection set forth in the previous Non-Final Office Action mailed October 29th, 2025. The amendments to the Drawings filed January 29th, 2026 have been entered and have overcome each and every objection set forth in the previous Non-Final Office Action mailed October 29th, 2025.
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.
Claim(s) 1, 3, and 4 is/are rejected under 35 U.S.C. 102(a)(1) and/or (a)(2) as being anticipated by US 10860023 B2 ("Di Cairano").
Regarding claim 1, Di Cairano teaches a computer-implemented method of predicting agent motion, the method comprising (Di Cairano: Abstract, “Controlling a vehicle by producing a sequence of intermediate goals that includes specific goals, additional specific goals and optional goals, from a travel route for a prediction horizon. Testing a feasibility of each intermediate goal (IG), using a first model of motion of the vehicle and a first model of motion of the traffic, by the IG being achieved by satisfying traffic conditions and motion capabilities of the vehicle, after achieving the IG, a next goal of the specific goals and the additional specific goals can also be achieved. Compute a trajectory for each feasible IG, using a second model of motion of the vehicle and a second model of motion of the traffic, and compare each computed trajectory according to a numerical value determined by a cost function and determine satisfaction of constraints on the movement of the vehicle and the vehicle interaction with the road and the traffic.”):
receiving a first observed agent state corresponding to a first time instant (Di Cairano: Column 9 lines 11-31, “The vehicle can also include an engine 106, which can be controlled by the controller 102 or by other components of the vehicle 101. The vehicle 101 can also include one or more sensors 105 to sense, by non-limiting example, its current motion quantities and internal status. Examples of the sensors 105 can include global positioning system (GPS), accelerometers, inertial measurement units, gyro scopes, shaft rotational sensors, torque sensors, deflection sensors, pressure sensor, and flow sensors.”, Column 13 line 67 – Column 14 line 2, “Also, the decision making needs to account for the current vehicle state, such as vehicle position and velocity and heading of the vehicle.”, Column 14 lines 54-64, “If the vehicle state is 1011, then any of the three goals can be selected as next intermediate goal, while if the vehicle state is 1012, only 801, 802 can be chosen as next intermediate goal. If the vehicle state is 1013, none of the goals is allowed, and the warning error is issued.”. The cited passages clearly show that the current state of the vehicle is obtained.);
determining a set of agent goals for an agent located in a road layout having an associated lane graph (Di Cairano: Column 12 line 62 – Column 13 line 13, “FIG. 7 illustrates a description of the construction of the goal graph from specific goals as used in some embodiments of the present disclosure in the exemplary traffic scene in FIG. 4. For example, in order to select the intermediate goals, the Decision Making module constructs a goal graph as described starting from FIG. 7. First, the sequence of road segments determined from the Routing 301 of FIG. 3 are placed into the graph including initial position 701 and final position 702, for instance by including as graph nodes the goals 703, 704, 705 of traversing intersections and the lanes from which the vehicle must merge out 706 and into which the vehicle must merge in 707. For instance, 703 indicates that the intersection I1 is to be reached and a left turn must be taken, 704 indicates that the intersection I3 is to be reached and a right tum must be taken, 705 indicates that the intersection 14 is to be reached and the vehicle must proceed straight, 706 indicates that initial merge-in is necessary into lane L1, and 707 indicates that merge out is necessary into lane L50.”, Column 13 lines 14-26, “Then, specific goals are placed into the graph and connected to the goals to the corresponding road segments. For instance, 710 indicates that the vehicle must stop a stop line S1 in lane 1, 712 indicates that the vehicle must stop at stop line S8 in lane 14 or lane 13, 711 indicates that the vehicle must be in lane L17 before merging out. In FIG. 7, a solid line similar 721 denotes that the goals must be done in sequence without any other intermediate goal between the two, while a dashed line similar to 722 indicates that some optional goals may occur in between the two goals. The solid lines similar to 721 specify allowed goal transitions, the dashed lines similar to 722 specify ordering of goals and not necessarily allowed transitions.”, Column 13 lines 27-32, “Finally, the dashed lines similar to 722 are replaced by including the optional goals, if any, between two specific goals. Albeit possibly large, the total number of goals is always finite, so that the execution of an operation on each goal, or on a specific subset of goals, can be completed in a finite number of steps.”, Column 13 lines 33-61, “FIG. 8 illustrates a description of the construction of the goal graph by including specific goals as used in some embodiments of the present disclosure for the goal graph described in FIG. in the exemplary traffic scene in FIG. 4. For instance, in FIG. 8 the dashed line connecting 706, 710, is replaced by the intermediate goals of starting 801 in lane L1 and possibly changing lane an undetermined amount of times between lanes L1, 801, and L2, 802, then eventually from L1 start decelerating 803, to reach the mandatary goal 710 of being stopped at stopline S1 in lane LL Similarly, the dashed line connecting 704, 712, is replaced by the inter mediate goals of leaving intersection I3 in either lane Ll3, 811, or L14, 812, possibly changing lane an undetermined amount of times between lanes Ll3, 811, and L14, 812, then start decelerating in the current lane, either Ll3, 813, or L14, 814, to reach the mandatary goal 712 of being stopped at stopline SS in either lane L13 or L14. By operating such process for every dashed line, eventually the goal graph can be traversed from the goal corresponding to the initial vehicle position to the goal corresponding to the desired final position crossing only solid lines. There are multiple paths in the graph that go from the initial node 701 to the final node 702, such as 901, 902, referring to FIG. 9. Decision Making 302 of FIG. 3 selects the actual path by selecting the sequence of intermediate goals. For example, FIG. 9 shows the construction of allowed sequence of goals as used in some embodiments of the present disclosure for the goal graph described in FIG. 7 in the exemplary traffic scene in FIG. 4.”, The cited passages clearly teach that the system is configured to determine a set of goals using a lane graph. As stated in the cited passages the nodes correspond to the lanes and other parts of the road (i.e. turns, intersections, stoplines, etc.) as well as the specific goal (i.e. turning, merging, changing lanes, etc.). The graph taught is clearly a lane graph. Furthermore, a set of goals are clearly determined using these graphs. These goals include where to go in an intersection, what lane to change into, when to stop a sign/line, as well as others.),
by performing a search of the associated lane graph based on the first observed agent state (Di Cairano: Column 17 lines 23 – 34, “FIG. 15 illustrates a block diagram summarizing the steps for selecting the next goal according to some embodiments of the present disclosure for the block diagram shown in FIG. 14A and FIG. 14B. For example, FIG. 15 details the step of the computation of the next admissible goals, 1404. First the allowed transition for the goal graph are determined 1501. Based on those, the allowed goals are for current vehicle states are determined 1502, and among those, the goals achieving next specific goal for current vehicle state are selected 1503. Finally, among those, the goals achievable while behaving in traffic are selected as allowed next goals.”, Column 20 lines 50-64, “The vehicle conditions, as stated earlier, determine a region in the state space of the vehicle, based on the vehicle characteristics such as maximum steering, steering rate, acceleration, etc, wherein the vehicle conditions and the first vehicle model are stored in the first section 211 of the memory, If at the current time, and for a current intermediate goal, the current vehicle state is inside the region of another intermediate goal for which transition is allowed based on the goal graph, then such goal can be achieved and the Decision Maker can select it as intermediate goal for the next time period. For instance, in FIG. 10, the goal 801 of lane L1, of 802 lane L2, and of 803 decelerating in lane L1 may be associated to the three regions 1001, 1002, 1003. Such region of an intermediate goal is constructed as a backward reachable set.”, Column 21 lines 30-41, “The Decision Making module 302 determines whether a transition from a current goal q, to another intermediate goal q,+i for which transition is allowed based on the goal graph can be achieved by checking whether the current state of the first model of the vehicle motion x1 is contained in the goal x1 set of a current intermediate goal q,, and whether there exists a sequence of inputs that makes the vehicle state of the first model of the vehicle motion to the goal set of the goal qi+1.”. The cited passages clearly show that the graph is searched for the next goal based on the current goal and the current vehicle state. The cited passages show that the allowable goals and transitions are determined using the lane graph, the current vehicle state, and the allowable transitions. This is clearly a method of searching the graph.);
for each agent goal, planning at least one agent trajectory based on the agent goal and the first observed agent state (Di Cairano: Column 16 line 61 – Column 17 line 22, “FIG. 14B describes the operation of the motion planning submodule of the planning and control module in the control unit according to some embodiments of the present disclosure. The motion planning module receives 1409 one or more allowed goals from the decision making module and tries to compute 1410 one trajectory per each received allowed goal based on the current state of the second model of motion of the vehicle.”. The cited passage clearly shows that a trajectory of the vehicle is determined based on the goal and the current state.);
receiving a second observed agent state corresponding to a second time instant later than the first time instant (Di Cairano: Column 16 line 36-60, “FIG. 14A illustrates a block diagram summarizing an operation of the decision making module of a vehicle control method according to some embodiments of the present disclosure. First, the goal graph is updated 1401 based on specific and optional goals. Then, the check 1402 is performed whether the destination goal has been reached based on the current state of the first model of motion of the vehicle, and if that is positive, the system has finished 1403 its operation. Otherwise, the next admissible goals are computed 1404, and the check 1405 is performed if any goal is admissible based on the current state of the first model of motion of the vehicle. In negative case, a warning error is issued 1406 that normal operation cannot continue. Otherwise the admissible goals are provided 1407 to the planning and control module 303, and the Decision making module waits 1408 for the beginning of the next period of operation. Such period can begin after a fixed amount of time, in the case of periodic operation, or after a signal is received from the planning and control module, for instance indicating the completion of one or more of the admissible goals, or the impossibility to achieve any goal. A combination of periodic and aperiodic operation is also possible, period can begin after a fixed amount of time but it can begin sooner than normal, if requested by the motion planner.”. One of ordinary skill in the art would see from the cited passage that the system is configured to perform the method of determining the goal for the vehicle and its trajectory iteratively until it reaches its destination. Therefore, it is obvious that the system is configured to determine a second state of the vehicle at a second time step.);
for each goal, comparing the second observed agent state with the at least one agent trajectory planned for the goal, and thereby computing a likelihood of the goal and/or the planned agent trajectory for the goal (Di Cairano: Column 27 line 57 – Column 28 line 4, “FIG. 17B shows an exemplar implementation of the determining 1710 the goal 1711 according to an embodiment of the present disclosure. The determining 1710 uses information about the trajectory 1740 selected during executions of the planning module 304, the predicted behavior of the environment, such as other vehicles, and the driving preferences, such as those in FIG. 16. The determining 1710 determine the probability of each goal in the set of goals 1709 of being a preferred goal. The determining 1710 then samples 1720b a goal from the set of goal regions 1709 according to the probability 1710b. After sampling a goal 1720b, the corresponding goal is removed 1730b from the set of goals 1709, thus ensuring that the planning module 304 does not spend effort on goals for which trajectories have already been computed.”, Column 28 lines 5-17, “The probabilities can be determined in several ways. For instance, one embodiment models the possible goals as a set of modes M ={S,SL,CLL,CLR}, where the modes are full stop (S), stay in lane (SL), change lane left (CLL), and change lane right (CLR), and uses a finite-state Markov process with transition probabilities associated with each decision. The transition probabilities can be determined from the driving context perceived from the sensing system, in combination with information propagating from the decision module 302. The transition model between any two modes j and i is mj~p(mj|mi) for a probability density function p.”. The cited passage clearly shows that the probability of the goal is determined using the trajectory and the driving context. Furthermore, one of ordinary skill in the art would see that the state of the vehicle would need to be known and used in order to determine the goals whose probability are to be determined.),
generating, based on the planned agent trajectory for the goal, a control signal to control a motion of the agent along the planned agent trajectory (Di Cairano: Column 10 line 56 – Column 11 line 8, “FIG. 3 shows a schematic of the layers of the control unit according to one embodiment of the present disclosure. In this embodiment, the control unit 102 includes three layers of the control. The Routing 301 uses the static map information stored in the third section of the memory 213 of FIG. 2 and the current position of the vehicle obtained from sensors 104a, 104b to determine a sequence of roads in the road network that the vehicle must traverse from its current position to reach its final destination as provided for instance by the user. The Routing module can be implemented by a known Car Navigation system. The Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands.”, Column 16 lines 26-36, “After the current best trajectory has been selected, the Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory, as noted earlier. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands, as noted earlier.”); and
controlling the motion of the agent based on the control signal (Di Cairano: Column 10 line 56 – Column 11 line 8, “FIG. 3 shows a schematic of the layers of the control unit according to one embodiment of the present disclosure. In this embodiment, the control unit 102 includes three layers of the control. The Routing 301 uses the static map information stored in the third section of the memory 213 of FIG. 2 and the current position of the vehicle obtained from sensors 104a, 104b to determine a sequence of roads in the road network that the vehicle must traverse from its current position to reach its final destination as provided for instance by the user. The Routing module can be implemented by a known Car Navigation system. The Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands.”, Column 16 lines 26-36, “After the current best trajectory has been selected, the Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory, as noted earlier. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands, as noted earlier.”).
Regarding claim 3, Di Cairano teaches repeated over a sequence of time steps, with the second observed agent state in a given time step becoming the first observed agent state in a next time step (Di Cairano: Column 16 line 36-60, “FIG. 14A illustrates a block diagram summarizing an operation of the decision making module of a vehicle control method according to some embodiments of the present disclosure. First, the goal graph is updated 1401 based on specific and optional goals. Then, the check 1402 is performed whether the destination goal has been reached based on the current state of the first model of motion of the vehicle, and if that is positive, the system has finished 1403 its operation. Otherwise, the next admissible goals are computed 1404, and the check 1405 is performed if any goal is admissible based on the current state of the first model of motion of the vehicle. In negative case, a warning error is issued 1406 that normal operation cannot continue. Otherwise the admissible goals are provided 1407 to the planning and control module 303, and the Decision making module waits 1408 for the beginning of the next period of operation. Such period can begin after a fixed amount of time, in the case of periodic operation, or after a signal is received from the planning and control module, for instance indicating the completion of one or more of the admissible goals, or the impossibility to achieve any goal. A combination of periodic and aperiodic operation is also possible, period can begin after a fixed amount of time but it can begin sooner than normal, if requested by the motion planner.”, Column 28 lines 44-53, “FIG. 17C shows a flowchart of a method 1799 for the determining 1720 a good trajectory and corresponding control inputs 1721 according to an embodiment of the present disclosure. The method determines iteratively a sequence of control inputs specifying the motion of the vehicle from an initial state of the vehicle to a target state of the vehicle. In different embodiments, the initial state is a current state of the vehicle and/or wherein the initial state is the state corresponding to the control input determined during a previous iteration of the method.”. One of ordinary skill in the art would see that because this is an iterative process until the vehicle reaches its destination, the second state is used as the first state in each iteration of the program.).
Regarding claim 4, Di Cairano teaches wherein each goal is defined as a sequence of lane identifiers determined from the lane graph (Di Cairano: Figure 7, Di Cairano: Column 12 line 62 – Column 13 line 13, “FIG. 7 illustrates a description of the construction of the goal graph from specific goals as used in some embodiments of the present disclosure in the exemplary traffic scene in FIG. 4. For example, in order to select the intermediate goals, the Decision Making module constructs a goal graph as described starting from FIG. 7. First, the sequence of road segments determined from the Routing 301 of FIG. 3 are placed into the graph including initial position 701 and final position 702, for instance by including as graph nodes the goals 703, 704, 705 of traversing intersections and the lanes from which the vehicle must merge out 706 and into which the vehicle must merge in 707. For instance, 703 indicates that the intersection I1 is to be reached and a left turn must be taken, 704 indicates that the intersection I3 is to be reached and a right tum must be taken, 705 indicates that the intersection 14 is to be reached and the vehicle must proceed straight, 706 indicates that initial merge-in is necessary into lane L1, and 707 indicates that merge out is necessary into lane L50.”. The cited passages clearly show that the goals of the graph are associated with a lane identifier (i.e. L1, L3, L4, etc.)),
wherein at least one goal is matched with a goal extracted in a previous time step by comparing the respective sequences of lane identifiers defining those goals (Di Cairano: Column 28 lines 34-43, “Other embodiments use other criteria to rank the goals among each other in terms of importance. For instance, one embodiment ranks those goals higher, which are similar to previously chosen goals. For instance, if there are two intermediate optional goals on a two-lane road, where each of the goals makes it possible to follow either of the lane, and if in a previous iteration of the decision module 302, it has been determined a goal corresponding to reaching the left lane, preference will be given to the current optional goal of staying in the left lane.”. The cited passage clearly shows that a goal is matched with a previous goal based on the lane identifier. The example is provided where the previous goal is to drive in the left lane and the next goal corresponding to the left lane s given priority. This process clearly involves matching goals based on the lane identifier.).
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 2 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 10860023 B2 ("Di Cairano") in view of US 11427225 B2 ("Mehta").
Regarding claim 2, Di Cairano does not teach wherein the search of the associated lane graph comprises exploring traversals through the lane graph from the second observed agent state up to a predetermined distance.
Mehta, in the same field of endeavor, teaches wherein the search of the associated lane graph comprises exploring traversals through the lane graph from the second observed agent state up to a predetermined distance (Mehta: Column 23 line 61 – Column 24 line 18, “In some non-limiting embodiments or aspects, vehicle command system 218 includes vehicle commander system 220, navigator system 222, path and/or lane associator system 224, and local route generator 226 that cooperate to route and/or navigate autonomous vehicle 104 in a geographic location. In some non-limiting embodiments or aspects, vehicle commander system 220 provides tracking of a current objective of autonomous vehicle 104, such as a current service, a target pose, a coverage plan (e.g., development testing, etc.), and/or the like. In some non-limiting embodiments or aspects, navigator system 222 determines and/or provides a route plan (e.g., a route between a starting location or a current location and a destination location, etc.) for autonomous vehicle 104 based on a current state of autonomous vehicle 104, map data (e.g., lane graph, driving paths, etc.), and one or more vehicle commands (e.g., a target pose). For example, navigator system 222 determines a route plan (e.g., a plan, a re-plan, a deviation from a route plan, etc.) including one or more lanes (e.g., current lane, future lane, etc.) and/or one or more driving paths (e.g., a current driving path, a future driving path, etc.) in one or more roadways that autonomous vehicle 104 can traverse on a route to a destination location (e.g., a target location, a trip drop-off location, etc.).”, Column 24 lines 19-53, “In some non-limiting embodiments or aspects, navigator system 222 determines a route plan based on one or more lanes and/or one or more driving paths received from path and/or lane associator system 224. In some non-limiting embodiments or aspects, path and/or lane associator system 224 determines one or more lanes and/or one or more driving paths of a route in response to receiving a vehicle pose from localization system 216. For example, path and/or lane associator system 224 determines, based on the vehicle pose, that autonomous vehicle 104 is on a coverage lane and/or a coverage driving path, and in response to determining that autonomous vehicle 104 is on the coverage lane and/or the coverage driving path, determines one or more candidate lanes (e.g., routable lanes, etc.) and/or one or more candidate driving paths (e.g., routable driving paths, etc.) within a distance of the vehicle pose associated with autonomous vehicle 104. For example, path and/or lane associator system 224 determines, based on the vehicle pose, that autonomous vehicle 104 is on an AV lane and/or an AV driving path, and in response to determining that autonomous vehicle 104 is on the AV lane and/or the AV driving path, determines one or more candidate lanes (e.g., routable lanes, etc.) and/or one or more candidate driving paths (e.g., routable driving paths, etc.) within a distance of the vehicle pose associated with autonomous vehicle 104.”. The cited passages clearly teaches using a lane graph and the current state of the vehicle to determine trajectories for the vehicle. Furthermore, the method is configured to search for trajectories for the vehicle within a distance of the current pose of the vehicle. This is clearly a method of searching the lane graph up to a predetermined distance away from the current state of the vehicle.).
Di Cairano teaches a computer-implemented method of predicting agent motion. Di Cairano does not teach wherein the search of the associated lane graph comprises exploring traversals through the lane graph from the second observed agent state up to a predetermined distance. Mehta teaches wherein the search of the associated lane graph comprises exploring traversals through the lane graph from the second observed agent state up to a predetermined distance. A person of ordinary skill in the art would have had the technological capabilities required to have modified the method taught in Di Cairano with wherein the search of the associated lane graph comprises exploring traversals through the lane graph from the second observed agent state up to a predetermined distance taught in Mehta. Furthermore, the method taught in Di Cairano already teaches performing a search of a lane graph using the state of the vehicle in order to determine a trajectory for the vehicle. Modifying this method to only perform the search up to a predetermined distance from the state of the vehicle as taught in Mehta is a simple algorithmic change that is easily implementable by one of ordinary skill in the aet. Such a modification would not have changed or introduced new functionality. No inventive effort would have been required. The combination would have yielded the predictable result of a computer-implemented method of predicting agent motion wherein the search of the associated lane graph comprises exploring traversals through the lane graph from the second observed agent state up to a predetermined distance.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the computer-implemented method of predicting agent motion taught in Di Cairano with wherein the search of the associated lane graph comprises exploring traversals through the lane graph from the second observed agent state up to a predetermined distance taught in Mehta with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because the combination would have yielded predictable results.
Claim(s) 5 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 10860023 B2 ("Di Cairano") in view of CN 111583715 A ("Liu").
Regarding claim 5, Di Cairano teaches comprising comparing the second observed agent with the agent trajectory (Di Cairano: Column 27 line 57 – Column 28 line 4, “FIG. 17B shows an exemplar implementation of the determining 1710 the goal 1711 according to an embodiment of the present disclosure. The determining 1710 uses information about the trajectory 1740 selected during executions of the planning module 304, the predicted behavior of the environment, such as other vehicles, and the driving preferences, such as those in FIG. 16. The determining 1710 determine the probability of each goal in the set of goals 1709 of being a preferred goal. The determining 1710 then samples 1720b a goal from the set of goal regions 1709 according to the probability 1710b. After sampling a goal 1720b, the corresponding goal is removed 1730b from the set of goals 1709, thus ensuring that the planning module 304 does not spend effort on goals for which trajectories have already been computed.”, Column 28 lines 5-17, “The probabilities can be determined in several ways. For instance, one embodiment models the possible goals as a set of modes M ={S,SL,CLL,CLR}, where the modes are full stop (S), stay in lane (SL), change lane left (CLL), and change lane right (CLR), and uses a finite-state Markov process with transition probabilities associated with each decision. The transition probabilities can be determined from the driving context perceived from the sensing system, in combination with information propagating from the decision module 302. The transition model between any two modes j and i is mj~p(mj|mi) for a probability density function p.”. One of ordinary skill in the art would see that the second state of the vehicle is used in the comparison of the determined trajectory.).
and computing a likelihood of the second observed agent state based on the probability distribution (Di Cairano: Column 29 lines 20-32, “The method generates 1702e a set of control inputs and predicts the state using the set of control inputs. In some embodiments, the control inputs are generated from the noise source of the second model of motion of the vehicle. For instance, the control input can be generated from a Gaussian distribution, it can be chosen from a probability distribution tailored to the application, or it can be generated by designing a feedback controller that generates control inputs as a combination of the deviation from the driving requirements. In one embodiment, the generation 1702e of control inputs and prediction of corresponding state 1703e is done in a loop, where the number of iterations can be determined beforehand.”, Column 30 lines 3-18, “Another embodiment determines control input as the state and input with highest probability, that is, i=argmax ωk+1-i.”. The cited passages clearly teach that the probability for each input, which can be the state of the vehicle. is determined based on a probability distribution.).
Di Cairano does not teach by determining a probability distribution based on a predicted state of the agent trajectory corresponding to the second time instant.
Liu, in the same field of endeavor, teaches by determining a probability distribution based on a predicted state of the agent trajectory corresponding to the second time instant (Liu: ¶ 0012, “Furthermore, the first predicted trajectory is a predicted trajectory corresponding to the exit time with the minimum cost function; accordingly, after the step of generating the first predicted trajectory based on the current position of the target vehicle and the target exit sector position, the method also includes: discretizing the time between the current time of the target vehicle and the exit time, and obtaining all discretized time points after the current time; determining the predicted position of the target vehicle at each time point based on the first predicted trajectory and all discretized time points; inputting the predicted position of each time point into the target Gaussian process model corresponding to the motion mode of the target vehicle in turn to obtain the second predicted speed variance of each time point; determining the predicted position variance of each time point based on the second predicted speed variance and a preset proportional relationship; and determining the probability distribution of the first predicted trajectory based on the predicted position and the predicted position variance of each time point.”, ¶ 0088 “A probability distribution of the first prediction trajectory is determined based on the prediction position and the prediction position variance of each of the time points.”. The cited passages clearly teach determining a probability distribution for a trajectory based on the predicted state of the vehicle.).
Di Cairano teaches comprising comparing the second observed agent with the agent trajectory, and computing a likelihood of the second observed agent state based on the probability distribution. Di Cairano does not teach by determining a probability distribution based on a predicted state of the agent trajectory corresponding to the second time instant. Liu, in the same field of endeavor, teaches by determining a probability distribution based on a predicted state of the agent trajectory corresponding to the second time instant. A person of ordinary skill in the art would have had the technological capabilities required to have combine the method taught in Di Cairano with by determining a probability distribution based on a predicted state of the agent trajectory corresponding to the second time instant taught in Liu. Furthermore, the method taught in Di Cairano is already configured to determine the probability density function for the set of trajectories from a current state to the goal and each trajectories associated probability. This method can therefore be easily modified to determine the probability distribution for a trajectory based on the predicted state as taught in Liu. The method already teaches and acquires the necessary information to determine the probability distribution for the trajectory using the methods taught in Liu. This modification would not have changed or introduced new functionality. No inventive effort would have been required. The combination would have yielded the predictable result of a method comprising comparing the second observed agent with the agent trajectory, by determining a probability distribution based on a predicted state of the agent trajectory corresponding to the second time instant, and computing a likelihood of the second observed agent state based on the probability distribution.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the computer-implemented method of predicting agent motion taught in Di Cairano with determining a probability distribution based on a predicted state of the agent trajectory corresponding to the second time instant taught in Liu with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because the combination would have yielded predictable results.
Claim(s) 6, 8, and 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 10860023 B2 ("Di Cairano") in view of CN 111583715 A ("Liu") in further view of US 11498587 B1 ("Mitlin").
Regarding claim 6, Di Cairano in view of Liu teaches and where the method is repeated over a sequence of time steps with the second observed agent state in a given time step becoming the first observed agent state in a next time step (Di Cairano: Column 16 line 36-60, “FIG. 14A illustrates a block diagram summarizing an operation of the decision making module of a vehicle control method according to some embodiments of the present disclosure. First, the goal graph is updated 1401 based on specific and optional goals. Then, the check 1402 is performed whether the destination goal has been reached based on the current state of the first model of motion of the vehicle, and if that is positive, the system has finished 1403 its operation. Otherwise, the next admissible goals are computed 1404, and the check 1405 is performed if any goal is admissible based on the current state of the first model of motion of the vehicle. In negative case, a warning error is issued 1406 that normal operation cannot continue. Otherwise the admissible goals are provided 1407 to the planning and control module 303, and the Decision making module waits 1408 for the beginning of the next period of operation. Such period can begin after a fixed amount of time, in the case of periodic operation, or after a signal is received from the planning and control module, for instance indicating the completion of one or more of the admissible goals, or the impossibility to achieve any goal. A combination of periodic and aperiodic operation is also possible, period can begin after a fixed amount of time but it can begin sooner than normal, if requested by the motion planner.”, Column 28 lines 44-53, “FIG. 17C shows a flowchart of a method 1799 for the determining 1720 a good trajectory and corresponding control inputs 1721 according to an embodiment of the present disclosure. The method determines iteratively a sequence of control inputs specifying the motion of the vehicle from an initial state of the vehicle to a target state of the vehicle. In different embodiments, the initial state is a current state of the vehicle and/or wherein the initial state is the state corresponding to the control input determined during a previous iteration of the method.”. One of ordinary skill in the art would see that because this is an iterative process until the vehicle reaches its destination, the second state is used as the first state in each iteration of the program.).
Di Cairano in view of Liu does not teach wherein a goal or trajectory posterior probability is computed based on the likelihood of the goal and a prior for the goal or trajectory,
the goal or trajectory prior is based on a goal or trajectory posterior probability from a previous time step.
Mitlin, in the same field of endeavor, teaches wherein a goal or trajectory posterior probability is computed based on the likelihood of the goal and a prior for the goal or trajectory (Mitlin: Column 9 lines 1-22, “In an embodiment, at each timestep, a probability distribution p(θ) is generated to represent an estimated trajectory 401 (e.g., a trajectory between time T.sub.0 and the current time T.sub.2) of the person. In an embodiment, the probability distribution is constrained by taking into account the probability of the person having the estimated trajectory 401 in view of a received measurement 404 and other environmental factors. Example measurements 404 can include a position of the person (e.g., the X, Y coordinates), a speed of the person, an acceleration of the person, a velocity of the person, etc.) As illustrated in FIG. 4, the moving object trajectory prediction module uses motion model 400 to determine a trajectory θ.sub.2 at time T.sub.2 based on events (e), wherein the events (e) can include a measurement 404, an obstacle 405, etc. In an embodiment, the trajectory θ can be determined for each of the discrete time elements in view of the events to generate an estimated trajectory 401 associated with past motion of the person (e.g., before the current time T.sub.2) and future motion of the person (e.g., after the current time T.sub.2). In an embodiment, a covariance or uncertainty associated with a trajectory of the person is represented by the shaded portion 406 in FIG. 4.”, Column 9 lines 23-32, “In an embodiment, the constrained probability distribution can be formulated as a Bayesian inference problem according to the following expression: p(θ|e) ∝ p(θ)p(e|θ) where θ is the trajectory and e is an event (e.g., a measurement 404, an obstacle 405, etc.)”, Column 9 lines 33-36, “In an embodiment, given that the posterior probability p(θ|e) is a probability distribution, …”. One of ordinary skill in the art would see from the cited passages that the posterior probability for the trajectory (i.e. p(θ|e)) is determined based on a likelihood of the goal (i.e. p(e|θ)) and a prior probability (i.e. a prior) of the trajectory (i.e. p(θ)).),
the goal or trajectory prior is based on a goal or trajectory posterior probability from a previous time step (Mitlin: Column 9 lines 1-22, Column 9 lines 23-32, Column 9 lines 33-36. It is clear from the cited passages that this method is an iterative process and that the prior for the trajectory is determined at every timestep. One of ordinary skill in the art would see that the prior for the trajectory is based on the posterior probability from a previous timestep.).
Di Cairano in view of Liu teaches a computer-implemented method of predicting agent motion where the method is repeated over a sequence of time steps with the second observed agent state in a given time step becoming the first observed agent state in a next time step. Di Cairano in view of Liu does not teach wherein a goal or trajectory posterior probability is computed based on the likelihood of the goal and a prior for the goal or trajectory, the goal or trajectory prior is based on a goal or trajectory posterior probability from a previous time step. Mitlin teaches wherein a goal or trajectory posterior probability is computed based on the likelihood of the goal and a prior for the goal or trajectory, the goal or trajectory prior is based on a goal or trajectory posterior probability from a previous time step. A person of ordinary skill in the art would have had the technological capabilities required to have modified the method taught in Di Cairano in view of Liu with wherein a goal or trajectory posterior probability is computed based on the likelihood of the goal and a prior for the goal or trajectory, the goal or trajectory prior is based on a goal or trajectory posterior probability from a previous time step taught in Mitlin. Furthermore, even though the method taught in Mitlin is for a human, the method can easily be modified to work for the vehicle taught in Di Cairano in view of Liu by simply substituting the trajectory of the vehicle for that of the human and the event for the goal. Additionally, the method taught in Di Cairano in view of Liu is already configured to determine the likelihood of the goal and a probability of the trajectory, so determining the posterior distribution of the trajectory only requires implementing the equation taught in Mitlin. The method taught in Di Cairano in view of Liu is also an iterative process, and as such, would naturally calculate the prior based on the posterior distribution of a previous timestep as taught in Mitlin. Such modifications would not change or introduce new functionality. No inventive effort would have been required. The combination would have yielded the predictable of a computer-implemented method of predicting agent motion wherein a goal or trajectory posterior probability is computed based on the likelihood of the goal and a prior for the goal or trajectory, where the method is repeated over a sequence of time steps with the second observed agent state in a given time step becoming the first observed agent state in a next time step, the goal or trajectory prior is based on a goal or trajectory posterior probability from a previous time step.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the computer-implemented method of predicting agent motion taught in Di Cairano in view of Liu with wherein a goal or trajectory posterior probability is computed based on the likelihood of the goal and a prior for the goal or trajectory, the goal or trajectory prior is based on a goal or trajectory posterior probability from a previous time step taught in Mitlin with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because it would have the combination would have yielded predictable results.
Regarding claim 8, Di Cairano in view of Liu in further view of Mitlin teaches wherein each goal is defined as a sequence of lane identifiers determined from the lane graph (Di Cairano: Figure 7, Di Cairano: Column 12 line 62 – Column 13 line 13, “FIG. 7 illustrates a description of the construction of the goal graph from specific goals as used in some embodiments of the present disclosure in the exemplary traffic scene in FIG. 4. For example, in order to select the intermediate goals, the Decision Making module constructs a goal graph as described starting from FIG. 7. First, the sequence of road segments determined from the Routing 301 of FIG. 3 are placed into the graph including initial position 701 and final position 702, for instance by including as graph nodes the goals 703, 704, 705 of traversing intersections and the lanes from which the vehicle must merge out 706 and into which the vehicle must merge in 707. For instance, 703 indicates that the intersection I1 is to be reached and a left turn must be taken, 704 indicates that the intersection I3 is to be reached and a right tum must be taken, 705 indicates that the intersection 14 is to be reached and the vehicle must proceed straight, 706 indicates that initial merge-in is necessary into lane L1, and 707 indicates that merge out is necessary into lane L50.”. The cited passages clearly show that the goals of the graph are associated with a lane identifier (i.e. L1, L3, L4, etc.)),
wherein at least one goal is matched with a goal extracted in a previous time step by comparing the respective sequences of lane identifiers defining those goals (Di Cairano: Column 28 lines 34-43, “Other embodiments use other criteria to rank the goals among each other in terms of importance. For instance, one embodiment ranks those goals higher, which are similar to previously chosen goals. For instance, if there are two intermediate optional goals on a two-lane road, where each of the goals makes it possible to follow either of the lane, and if in a previous iteration of the decision module 302, it has been determined a goal corresponding to reaching the left lane, preference will be given to the current optional goal of staying in the left lane.”. The cited passage clearly shows that a goal is matched with a previous goal based on the lane identifier. The example is provided where the previous goal is to drive in the left lane and the next goal corresponding to the left lane s given priority. This process clearly involves matching goals based on the lane identifier.),
and wherein the goal or trajectory prior of the at least one goal is based on the goal or trajectory posterior probability of the goal from the previous time step to which it has been matched (Mitlin: Column 9 lines 1-22, “In an embodiment, at each timestep, a probability distribution p(θ) is generated to represent an estimated trajectory 401 (e.g., a trajectory between time T.sub.0 and the current time T.sub.2) of the person. In an embodiment, the probability distribution is constrained by taking into account the probability of the person having the estimated trajectory 401 in view of a received measurement 404 and other environmental factors. Example measurements 404 can include a position of the person (e.g., the X, Y coordinates), a speed of the person, an acceleration of the person, a velocity of the person, etc.) As illustrated in FIG. 4, the moving object trajectory prediction module uses motion model 400 to determine a trajectory θ.sub.2 at time T.sub.2 based on events (e), wherein the events (e) can include a measurement 404, an obstacle 405, etc. In an embodiment, the trajectory θ can be determined for each of the discrete time elements in view of the events to generate an estimated trajectory 401 associated with past motion of the person (e.g., before the current time T.sub.2) and future motion of the person (e.g., after the current time T.sub.2). In an embodiment, a covariance or uncertainty associated with a trajectory of the person is represented by the shaded portion 406 in FIG. 4.”, Column 9 lines 23-32, “In an embodiment, the constrained probability distribution can be formulated as a Bayesian inference problem according to the following expression: p(θ|e) ∝ p(θ)p(e|θ) where θ is the trajectory and e is an event (e.g., a measurement 404, an obstacle 405, etc.)”, Column 9 lines 33-36, “In an embodiment, given that the posterior probability p(θ|e) is a probability distribution, …”).
Di Cairano in view of Liu teaches computer-implemented method of predicting agent motion wherein each goal is defined as a sequence of lane identifiers determined from the lane graph, wherein at least one goal is matched with a goal extracted in a previous time step by comparing the respective sequences of lane identifiers defining those goals. Mitlin teaches determining the prior of the trajectory based on the posterior probability of the goal from the previous timestep. One of ordinary skill in the art would see that when the two goals are matched, it would the posterior distribution of the previous time step would be used to determine the prior of the current timestep. This can be seen from the equations used in Mitlin to determine the prior of the current timestep. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, that the combination of Di Cairano in view of Liu in further view of Mitlin teaches the limitations of claim 8.
Regarding claim 10, Di Cairano in view Liu in further view of Mitlin teaches wherein responsive to a change in the set of agent goals relative to the previous time step, the change being a removal of a goal that is no longer achievable or addition of a new goal, the goal or trajectory posterior for each remaining goal or trajectory is updated to account for the removed goal or the new goal (Di Cairano: Figure 14B, Column 16 line 61 – Column 17 line 22, “FIG. 14B describes the operation of the motion planning submodule of the planning and control module in the control unit according to some embodiments of the present disclosure. The motion planning module receives 1409 one or more allowed goals from the decision making module and tries to compute 1410 one trajectory per each received allowed goal based on the current state of the second model of motion of the vehicle. Then, the motion planning checks 1412 if any trajectory for any goal could be computed. In negative case, a warning error is issued 1415 that normal operation cannot continue and new goals are requested 1416. Otherwise, one of the trajectories that have been computed is selected as current trajectory, 1413, and the trajectory is provided 1414 to the vehicle control submodule 305, and the motion planned waits 1419 until the beginning of the next motion planning period, which is determined by a fixed interval and larger than the period of the decision making, when the period of the decision making is also fixed. Then, if 1418 the goals are computed periodically, the motion planning checks if new goals have been computed. If so, the motion planning receives the new goals 1409, otherwise, the motion planning proceeds with the old goals. ”, Column 27 line 57 - Column 28 line 4, “The determining 1710 then 65 samples 1720b a goal from the set of goal regions 1709 according to the probability 1710b. After sampling a goal 1720b, the corresponding goal is removed 1730b from the set of goals 1709, thus ensuring that the planning module 304 does not spend effort on goals for which trajectories have already been computed.” Mitlin: Column 8 lines 30-43, “In an embodiment, in response to receipt of a new measurement associated with the person (e.g., a measurement of the coordinates of the person, a speed of the person, an acceleration of the person, etc.), the sliding window is moved forward and each previously calculated trajectory (e.g., the trajectories of the first time (X) and the second time (Y)) are updated based on the new measurement. In an embodiment, in response to calculating the updated trajectories based on the new measurement, the oldest trajectory (e.g., the trajectory associated with the first time (x) can be discarded. Accordingly, in an embodiment, the moving object trajectory prediction module 313 updates the estimated past trajectory and the future predicted trajectory concurrently.”, Column 9 lines 1-22, “In an embodiment, at each timestep, a probability distribution p(θ) is generated to represent an estimated trajectory 401 (e.g., a trajectory between time T.sub.0 and the current time T.sub.2) of the person. In an embodiment, the probability distribution is constrained by taking into account the probability of the person having the estimated trajectory 401 in view of a received measurement 404 and other environmental factors. Example measurements 404 can include a position of the person (e.g., the X, Y coordinates), a speed of the person, an acceleration of the person, a velocity of the person, etc.) As illustrated in FIG. 4, the moving object trajectory prediction module uses motion model 400 to determine a trajectory θ.sub.2 at time T.sub.2 based on events (e), wherein the events (e) can include a measurement 404, an obstacle 405, etc. In an embodiment, the trajectory θ can be determined for each of the discrete time elements in view of the events to generate an estimated trajectory 401 associated with past motion of the person (e.g., before the current time T.sub.2) and future motion of the person (e.g., after the current time T.sub.2). In an embodiment, a covariance or uncertainty associated with a trajectory of the person is represented by the shaded portion 406 in FIG. 4.”. The cited passages show that when a new goal or goals is added, the trajectories for these new goals are determined. One of ordinary skill in the art would see that probability distributions calculated for the trajectories would be recalculated as well to account for the new goal.).
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 10860023 B2 ("Di Cairano") in view of CN 111583715 A ("Liu") in further view of US 11498587 B1 ("Mitlin") in further view of US 11287268 B2 ("Shimizu").
Regarding claim 9, Di Cairano in view of Liu in further view of Mitlin does not teach wherein the goal or trajectory posterior probability from the previous time step is smoothed with a forgetting factor.
Shimizu, in the same field of endeavor, wherein the goal or trajectory posterior probability from the previous time step is smoothed with a forgetting factor (Shimizu: Column 11 lines 9-12, equation 15, “More specifically, in the present embodiment, the probability value is smoothed using the probability value of the preceding cycle according to the equation (15), where a is a forgetting factor.”. The cited passage clearly teaches smoothing the probability from a previous timestep with a forgetting factor.).
Di Cairano in view of Liu in further view of Mitlin teaches a computer-implemented method of predicting agent motion. Di Cairano in view of Liu in further view of Mitlin does not teach wherein the goal or trajectory posterior probability from the previous time step is smoothed with a forgetting factor. Shimizu teaches wherein the goal or trajectory posterior probability from the previous time step is smoothed with a forgetting factor. A person of ordinary skill in the art would have had the technological capabilities required to have modified the method taught in wherein the goal or trajectory posterior probability from the previous time step is smoothed with a forgetting factor with wherein the goal or trajectory posterior probability from the previous time step is smoothed with a forgetting factor taught in Shimizu. Furthermore, the method taught in Di Cairano in view of Liu in further view of Mitlin already determines the prior and posterior probabilities so smoothing such a posterior probability with a forgetting factor only requires the simple modification of the factor itself as taught in Shimizu. Simply modifying the method taught in Di Cairano in view of Liu in further view of Mitlin to multiply the posterior by a forgetting factor would not change or introduce new functionality. No inventive effort would have been required. The combination would have yielded the predictable result of a computer-implemented method of predicting agent motion wherein the goal or trajectory posterior probability from the previous time step is smoothed with a forgetting factor.
Therefore, it would have been obvious to one of ordinary sill in the art, before the effective filling date of the claimed invention, to have combine the computer-implemented method of predicting agent motion taught in Di Cairano in view of Liu in further view of Mitlin with wherein the goal or trajectory posterior probability from the previous time step is smoothed with a forgetting factor taught in Shimizu with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because the combination would have yielded predictable results.
Claim(s) 11 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 10860023 B2 ("Di Cairano") in view of US 9934688 B2 ("Olson").
Regarding claim 11, Di Cairano does not teach wherein the goal or trajectory likelihood is biased by applying a weighting factor that penalizes the planned agent trajectory for lack of comfort.
Olson, in the same field of endeavor, teaches wherein the goal or trajectory likelihood is biased by applying a weighting factor that penalizes the planned agent trajectory for lack of comfort (Olson: Column 13 lines 17-32, “The reward function for evaluating the outcome of a rollout Ψ involving all non-host and host vehicles 14, 16 is a weighted combination of metrics m.sub.q(⋅)ϵM, with weights w.sub.q that express user importance. Typical metrics include the (remaining) distance to the goal at the end of the evaluation horizon to evaluate progress made toward the destination, minimum distance to obstacles to evaluate safety, a lane choice bias to add a preference for the right lane, and the maximum yaw rate and longitudinal jerk to measure passenger comfort. For a full policy 46 assignment (π,s) with rollout Ψ.sup.π,s, we compute the rollout reward r.sub.π,s as the weighted sum r.sub.π,s=Σ.sub.q=1.sup.|M|w.sub.qm.sub.q(Ψ.sup.π,s). Each m.sub.q(Ψ.sub.π,s) is normalized across all rollouts to ensure comparability between metrics. To avoid biasing decisions, a weight w.sub.q may be set to zero when the range of m.sub.q(⋅) across all samples is too small to be informative.”, Column 13 lines 34-43, “Each policy 46 reward r.sub.π for the host vehicle 14 is evaluated as the expected reward over all rollout rewards r.sub.π,s, computed as r.sub.π=Σ.sub.k=1.sup.|S|r.sub.π,s.sub.kp(s.sub.k), where p(s.sub.k) is the joint probability of the policy 46 assignments in sample s.sub.k, computed as a product of the per-vehicle assignment probabilities (Eq. 16). The expected reward is used to target better average-case performance, as it is easy to become overly conservative when negotiating traffic if one only accounts for worst-case behavior. By weighting by the probability of each sample, we can avoid overcorrecting for low-probability events.”. One of ordinary skill in the art would see from the cited passages that once the reward of a policy (i.e. trajectories and their associated goals) is calculated, the expected reward for the policy is calculated by multiplying the regard by the probability of the policy. One of ordinary skill in the art would clearly see that this is a method of biasing the probability using a weight. Additionally, the metrics that define the reward are clearly metrics that would penalize a lack of passenger comfort.).
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the computer-implemented method of predicting agent motion taught in Di Cairano with the wherein the goal or trajectory likelihood is biased by applying a weighting factor that penalizes the planned agent trajectory for lack of comfort taught in Olson with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because biasing the probability of a trajectory prevents overcorrecting for low probability trajectories and prevents the agent from acting overly conservative (Olson: Column 13 lines 34-43, “The expected reward is used to target better average-case performance, as it is easy to become overly conservative when negotiating traffic if one only accounts for worst-case behavior. By weighting by the probability of each sample, we can avoid overcorrecting for low-probability events.”).
Regarding claim 18, Di Cairano teaches a computer system comprising (Di Cairano: Figure 2, Abstract, “Controlling a vehicle by producing a sequence of intermediate goals that includes specific goals, additional specific goals and optional goals, from a travel route for a prediction horizon. Testing a feasibility of each intermediate goal (IG), using a first model of motion of the vehicle and a first model of motion of the traffic, by the IG being achieved by satisfying traffic conditions and motion capabilities of the vehicle, after achieving the IG, a next goal of the specific goals and the additional specific goals can also be achieved. Compute a trajectory for each feasible IG, using a second model of motion of the vehicle and a second model of motion of the traffic, and compare each computed trajectory according to a numerical value determined by a cost function and determine satisfaction of constraints on the movement of the vehicle and the vehicle interaction with the road and the traffic.”, Column 9 lines 32-43, “FIG. 2 is a block diagram of the control unit of FIG. 1 according to some embodiments of the present disclosure. For example, FIG. 2 shows a block diagram of the control unit 102 according to one embodiment of the present disclosure. The controller 102 includes a hardware processor 201 connected to a memory 202, e.g., a non-transitory computer readable medium. In some implementations, the memory 202 includes a first section 211 for storing information about the vehicle and a second section 212 for storing a program for controlling the vehicle, a third section 213 for storing driving map data, and a fourth section 214 for storing motion models of the traffic.”):
at least one memory configured to store computer-readable instructions (Di Cairano: Column 9 lines 32-43, “The controller 102 includes a hardware processor 201 connected to a memory 202, e.g., a non-transitory computer readable medium.”);
at least one hardware processor coupled to the at least one memory and configured to execute the computer-readable instructions, which upon execution cause the at least one hardware processor to perform operations including (Di Cairano: Column 9 lines 32-43, “The controller 102 includes a hardware processor 201 connected to a memory 202, e.g., a non-transitory computer readable medium.”, Column 10 lines 22-40, “The computations performed by the processor 201 are commanded by the program stored in the second section of the memory 212, and use the vehicle information stored in the first section of the memory 211, the information about the map stored in the second section of the memory 213, the information about the vehicle 101 obtained from the sensors 105, the information of the environment 203 obtained from the sensors 104a, 104b. The computation of the processor 201 results in commands 204 that change the motion of the vehicle.”):
receiving a first observed agent state corresponding to a first time instant (Di Cairano: Column 9 lines 11-31, “The vehicle can also include an engine 106, which can be controlled by the controller 102 or by other components of the vehicle 101. The vehicle 101 can also include one or more sensors 105 to sense, by non-limiting example, its current motion quantities and internal status. Examples of the sensors 105 can include global positioning system (GPS), accelerometers, inertial measurement units, gyro scopes, shaft rotational sensors, torque sensors, deflection sensors, pressure sensor, and flow sensors.”, Column 13 line 67 – Column 14 line 2, “Also, the decision making needs to account for the current vehicle state, such as vehicle position and velocity and heading of the vehicle.”, Column 14 lines 54-64, “If the vehicle state is 1011, then any of the three goals can be selected as next intermediate goal, while if the vehicle state is 1012, only 801, 802 can be chosen as next intermediate goal. If the vehicle state is 1013, none of the goals is allowed, and the warning error is issued.”. The cited passages clearly show that the current state of the vehicle is obtained.);
determining a set of agent goals (Di Cairano: Column 12 line 62 – Column 13 line 13, “FIG. 7 illustrates a description of the construction of the goal graph from specific goals as used in some embodiments of the present disclosure in the exemplary traffic scene in FIG. 4. For example, in order to select the intermediate goals, the Decision Making module constructs a goal graph as described starting from FIG. 7. First, the sequence of road segments determined from the Routing 301 of FIG. 3 are placed into the graph including initial position 701 and final position 702, for instance by including as graph nodes the goals 703, 704, 705 of traversing intersections and the lanes from which the vehicle must merge out 706 and into which the vehicle must merge in 707. For instance, 703 indicates that the intersection I1 is to be reached and a left turn must be taken, 704 indicates that the intersection I3 is to be reached and a right tum must be taken, 705 indicates that the intersection 14 is to be reached and the vehicle must proceed straight, 706 indicates that initial merge-in is necessary into lane L1, and 707 indicates that merge out is necessary into lane L50.”, Column 13 lines 14-26, “Then, specific goals are placed into the graph and connected to the goals to the corresponding road segments. For instance, 710 indicates that the vehicle must stop a stop line S1 in lane 1, 712 indicates that the vehicle must stop at stop line S8 in lane 14 or lane 13, 711 indicates that the vehicle must be in lane L17 before merging out. In FIG. 7, a solid line similar 721 denotes that the goals must be done in sequence without any other intermediate goal between the two, while a dashed line similar to 722 indicates that some optional goals may occur in between the two goals. The solid lines similar to 721 specify allowed goal transitions, the dashed lines similar to 722 specify ordering of goals and not necessarily allowed transitions.”, Column 13 lines 27-32, “Finally, the dashed lines similar to 722 are replaced by including the optional goals, if any, between two specific goals. Albeit possibly large, the total number of goals is always finite, so that the execution of an operation on each goal, or on a specific subset of goals, can be completed in a finite number of steps.”, Column 13 lines 33-61, “FIG. 8 illustrates a description of the construction of the goal graph by including specific goals as used in some embodiments of the present disclosure for the goal graph described in FIG. in the exemplary traffic scene in FIG. 4. For instance, in FIG. 8 the dashed line connecting 706, 710, is replaced by the intermediate goals of starting 801 in lane L1 and possibly changing lane an undetermined amount of times between lanes L1, 801, and L2, 802, then eventually from L1 start decelerating 803, to reach the mandatary goal 710 of being stopped at stopline S1 in lane LL Similarly, the dashed line connecting 704, 712, is replaced by the inter mediate goals of leaving intersection I3 in either lane Ll3, 811, or L14, 812, possibly changing lane an undetermined amount of times between lanes Ll3, 811, and L14, 812, then start decelerating in the current lane, either Ll3, 813, or L14, 814, to reach the mandatary goal 712 of being stopped at stopline SS in either lane L13 or L14. By operating such process for every dashed line, eventually the goal graph can be traversed from the goal corresponding to the initial vehicle position to the goal corresponding to the desired final position crossing only solid lines. There are multiple paths in the graph that go from the initial node 701 to the final node 702, such as 901, 902, referring to FIG. 9. Decision Making 302 of FIG. 3 selects the actual path by selecting the sequence of intermediate goals. For example, FIG. 9 shows the construction of allowed sequence of goals as used in some embodiments of the present disclosure for the goal graph described in FIG. 7 in the exemplary traffic scene in FIG. 4.”, The cited passages clearly teach that the system is configured to determine a set of goals using a lane graph. As stated in the cited passages the nodes correspond to the lanes and other parts of the road (i.e. turns, intersections, stoplines, etc.) as well as the specific goal (i.e. turning, merging, changing lanes, etc.). The graph taught is clearly a lane graph. Furthermore, a set of goals are clearly determined using these graphs. These goals include where to go in an intersection, what lane to change into, when to stop a sign/line, as well as others.),
for each agent goal, planning an agent trajectory based on the agent goal and the first observed agent state (Di Cairano: Column 16 line 61 – Column 17 line 22, “FIG. 14B describes the operation of the motion planning submodule of the planning and control module in the control unit according to some embodiments of the present disclosure. The motion planning module receives 1409 one or more allowed goals from the decision making module and tries to compute 1410 one trajectory per each received allowed goal based on the current state of the second model of motion of the vehicle.”. The cited passage clearly shows that a trajectory of the vehicle is determined based on the goal and the current state.);
receiving a second observed agent state corresponding to a second time instant later than the first time instant (Di Cairano: Column 16 line 36-60, “FIG. 14A illustrates a block diagram summarizing an operation of the decision making module of a vehicle control method according to some embodiments of the present disclosure. First, the goal graph is updated 1401 based on specific and optional goals. Then, the check 1402 is performed whether the destination goal has been reached based on the current state of the first model of motion of the vehicle, and if that is positive, the system has finished 1403 its operation. Otherwise, the next admissible goals are computed 1404, and the check 1405 is performed if any goal is admissible based on the current state of the first model of motion of the vehicle. In negative case, a warning error is issued 1406 that normal operation cannot continue. Otherwise the admissible goals are provided 1407 to the planning and control module 303, and the Decision making module waits 1408 for the beginning of the next period of operation. Such period can begin after a fixed amount of time, in the case of periodic operation, or after a signal is received from the planning and control module, for instance indicating the completion of one or more of the admissible goals, or the impossibility to achieve any goal. A combination of periodic and aperiodic operation is also possible, period can begin after a fixed amount of time but it can begin sooner than normal, if requested by the motion planner.”. One of ordinary skill in the art would see from the cited passage that the system is configured to perform the method of determining the goal for the vehicle and its trajectory iteratively until it reaches its destination. Therefore, it is obvious that the system is configured to determine a second state of the vehicle at a second time step.);
for each goal, comparing the second observed agent state with the at least one agent trajectory planned for the goal, and thereby computing an unbiased likelihood of the goal and/or the planned agent trajectory for the goal (Di Cairano: Column 27 line 57 – Column 28 line 4, “FIG. 17B shows an exemplar implementation of the determining 1710 the goal 1711 according to an embodiment of the present disclosure. The determining 1710 uses information about the trajectory 1740 selected during executions of the planning module 304, the predicted behavior of the environment, such as other vehicles, and the driving preferences, such as those in FIG. 16. The determining 1710 determine the probability of each goal in the set of goals 1709 of being a preferred goal. The determining 1710 then samples 1720b a goal from the set of goal regions 1709 according to the probability 1710b. After sampling a goal 1720b, the corresponding goal is removed 1730b from the set of goals 1709, thus ensuring that the planning module 304 does not spend effort on goals for which trajectories have already been computed.”, Column 28 lines 5-17, “The probabilities can be determined in several ways. For instance, one embodiment models the possible goals as a set of modes M ={S,SL,CLL,CLR}, where the modes are full stop (S), stay in lane (SL), change lane left (CLL), and change lane right (CLR), and uses a finite-state Markov process with transition probabilities associated with each decision. The transition probabilities can be determined from the driving context perceived from the sensing system, in combination with information propagating from the decision module 302. The transition model between any two modes j and i is mj~p(mj|mi) for a probability density function p.”. The cited passage clearly shows that the probability of the goal is determined using the trajectory and the driving context. Furthermore, one of ordinary skill in the art would see that the state of the vehicle would need to be known and used in order to determine the goals whose probability are to be determined. Additionally, the likelihood is clearly unbiased.),
generating, based on the biased likelihood of the goal, a control signal to control a motion of the agent along an agent trajectory (Di Cairano: Column 10 line 56 – Column 11 line 8, “FIG. 3 shows a schematic of the layers of the control unit according to one embodiment of the present disclosure. In this embodiment, the control unit 102 includes three layers of the control. The Routing 301 uses the static map information stored in the third section of the memory 213 of FIG. 2 and the current position of the vehicle obtained from sensors 104a, 104b to determine a sequence of roads in the road network that the vehicle must traverse from its current position to reach its final destination as provided for instance by the user. The Routing module can be implemented by a known Car Navigation system. The Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands.”, Column 16 lines 26-36, “After the current best trajectory has been selected, the Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory, as noted earlier. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands, as noted earlier.”); and
controlling the motion of the agent based on the control signal (Di Cairano: Column 10 line 56 – Column 11 line 8, “FIG. 3 shows a schematic of the layers of the control unit according to one embodiment of the present disclosure. In this embodiment, the control unit 102 includes three layers of the control. The Routing 301 uses the static map information stored in the third section of the memory 213 of FIG. 2 and the current position of the vehicle obtained from sensors 104a, 104b to determine a sequence of roads in the road network that the vehicle must traverse from its current position to reach its final destination as provided for instance by the user. The Routing module can be implemented by a known Car Navigation system. The Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands.”, Column 16 lines 26-36, “After the current best trajectory has been selected, the Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory, as noted earlier. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands, as noted earlier.”).
Di Cairano does not teach and obtaining a biased likelihood by applying a weighting factor to the unbiased likelihood that penalizes lack of comfort.
Olson, in the same field of endeavor, teaches and obtaining a biased likelihood by applying a weighting factor to the unbiased likelihood that penalizes lack of comfort (Olson: Column 13 lines 17-32, “The reward function for evaluating the outcome of a rollout Ψ involving all non-host and host vehicles 14, 16 is a weighted combination of metrics m.sub.q(⋅)ϵM, with weights w.sub.q that express user importance. Typical metrics include the (remaining) distance to the goal at the end of the evaluation horizon to evaluate progress made toward the destination, minimum distance to obstacles to evaluate safety, a lane choice bias to add a preference for the right lane, and the maximum yaw rate and longitudinal jerk to measure passenger comfort. For a full policy 46 assignment (π,s) with rollout Ψ.sup.π,s, we compute the rollout reward r.sub.π,s as the weighted sum r.sub.π,s=Σ.sub.q=1.sup.|M|w.sub.qm.sub.q(Ψ.sup.π,s). Each m.sub.q(Ψ.sub.π,s) is normalized across all rollouts to ensure comparability between metrics. To avoid biasing decisions, a weight w.sub.q may be set to zero when the range of m.sub.q(⋅) across all samples is too small to be informative.”, Column 13 lines 34-43, “Each policy 46 reward r.sub.π for the host vehicle 14 is evaluated as the expected reward over all rollout rewards r.sub.π,s, computed as r.sub.π=Σ.sub.k=1.sup.|S|r.sub.π,s.sub.kp(s.sub.k), where p(s.sub.k) is the joint probability of the policy 46 assignments in sample s.sub.k, computed as a product of the per-vehicle assignment probabilities (Eq. 16). The expected reward is used to target better average-case performance, as it is easy to become overly conservative when negotiating traffic if one only accounts for worst-case behavior. By weighting by the probability of each sample, we can avoid overcorrecting for low-probability events.”. One of ordinary skill in the art would see from the cited passages that once the reward of a policy (i.e. trajectories and their associated goals) is calculated, the expected reward for the policy is calculated by multiplying the regard by the probability of the policy. One of ordinary skill in the art would clearly see that this is a method of biasing the probability using a weight. Additionally, the metrics that define the reward are clearly metrics that would penalize a lack of passenger comfort.).
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the system taught in Di Cairano with the wherein the goal or trajectory likelihood is biased by applying a weighting factor that penalizes the planned agent trajectory for lack of comfort taught in Olson with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because biasing the probability of a trajectory prevents overcorrecting for low probability trajectories and prevents the agent from acting overly conservative (Olson: Column 13 lines 34-43, “The expected reward is used to target better average-case performance, as it is easy to become overly conservative when negotiating traffic if one only accounts for worst-case behavior. By weighting by the probability of each sample, we can avoid overcorrecting for low-probability events.”).
Claim(s) 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 10860023 B2 ("Di Cairano") in view of US 9934688 B2 ("Olson") in further view of US 11932282 B2 ("Caldwell").
Regarding claim 12, Di Cairano in view of Olson does not teach wherein the weighting factor penalizes lateral acceleration on the planned agent trajectory that is above a lateral acceleration threshold.
Caldwell, in the same field of endeavor, teaches wherein the weighting factor penalizes lateral acceleration on the planned agent trajectory that is above a lateral acceleration threshold (Caldwell: Column 14 line 60 – Column 15 line 27, “Guidance component 232 may determine a trajectory and/or path for controlling the vehicle contemporaneously with the planning component 230, such as to determine a contingent trajectory and/or path for controlling the vehicle 202 when a trajectory determined by the planning component 230 fails to be generated (e.g., the planning component 230 can't determine a suitable trajectory that avoids objects) and/or that violates a comfort metric, such as a threshold acceleration and/or jerk, or a rule of the road.”, Column 25 line 1-18, “The comfort cost(s) may be based at least in part on a velocity, jerk, and/or acceleration associated with the candidate action and/or whether the candidate action would violate a threshold jerk and/or acceleration.”. The cited passages clearly teach penalizing an action of the vehicle if the acceleration exceeds a threshold.).
Di Cairano in view of Olson teaches a computer-implemented method of predicting agent motion. Di Cairano in view of Olson does not teach wherein the weighting factor penalizes lateral acceleration on the planned agent trajectory that is above a lateral acceleration threshold. Caldwell teaches wherein the weighting factor penalizes lateral acceleration on the planned agent trajectory that is above a lateral acceleration threshold. A person of ordinary skill in the art would have had the technological capabilities required to have modified the method taught in Di Cairano in view of Olson with wherein the weighting factor penalizes lateral acceleration on the planned agent trajectory that is above a lateral acceleration threshold taught in Caldwell. Furthermore, the method taught in Di Cairano in view of Olson already teaches penalizing the lateral jerk of the vehicle, so modifying the method to penalize the lateral acceleration when it exceeds a threshold as taught in Caldwell would be simple. The lateral acceleration is a readily obtainable metric in Di Cairano in view of Olson by either integrating the already known lateral jerk or using the measured acceleration. Additionally, the actual modification only requires simply substituting the lateral acceleration for the lateral jerk in the method taught in Di Cairano in view of Olson. Therefore, the combination would not change or introduce new functionality. No inventive effort would have been required. The combination would have yielded the predictable result of a computer-implemented method of predicting agent motion wherein the weighting factor penalizes lateral acceleration on the planned agent trajectory that is above a lateral acceleration threshold.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the computer-implemented method of predicting agent motion taught in Di Cairano in view of Olson with wherein the weighting factor penalizes lateral acceleration on the planned agent trajectory that is above a lateral acceleration threshold taught in Caldwell with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because the combination would have yielded predictable results.
Claim(s) 13-17, 24, 38, and 31-32 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 10860023 B2 ("Di Cairano") in view of NPL Design of the optimal motions of autonomous vehicles in intersections through neural networks ("Nemeth").
Regarding claim 13, Di Cairano teaches wherein the agent trajectory is planned using a target path extracted based on a geometry of the road layout and a motion profile (Di Cairano: Column 30 lines 21-51, “FIG. 18A illustrates a schematic of different motions determined according to some principles employed by various embodiments of the present disclosure. The drivable area 1800a includes the road 1810a except for the area 1820a where an obstacle is present. The preferred motion 1830a, which can be determined from lane information, the intents of a driver, a passenger of the vehicle, or from the decision making module 302, can be interpreted as the reference motion that reaches the target region 1840a from the current state 1850a of the vehicle, but goes through the non-drivable area of the obstruction 1820a. The preferred motion 1830a can be modeled as a probabilistic constraint in the form of a probability density function (PDF) 1831a over the state of the vehicle, where the preferred motion 1830a is the mean of the PDF and the allowed deviation from the mean is modeled as a standard deviation 1832a. In such case, motions are given different probabilities depending on how much they intersect with the PDF 1831a. The motion planner generates the motion, such as motions 1860a and 1870a, which avoid the obstacle 1820a but starts and ends at the same positions as the desired motion 1830a.”, Column 31 lines 17-25, “FIG. 18C illustrates the respective velocity profiles 1880c and 1890c corresponding to 1880b and 1890b, together with the requirement 1860c of maintaining a nominal, in this case constant, velocity, according to one embodiment of the present disclosure. In FIG. 18C, the velocity 1880c corresponding to the trajectory 1880b is not satisfying the constraint. Some embodiments of the present disclosure weigh these two and additional requirements together when determining the best motion.”. The cited passages clearly teach that the trajectory of the vehicle is planned using a target path (i.e. the preferred motion 1830a) and a motion profile (i.e. the velocity profiles of the potential trajectories). Furthermore, the target path is clearly determined using the geometry of the road as it is determined based on the drivable region and the lane information of the road.).
Di Cairano does not teach wherein the agent trajectory is planned using a target path extracted based on a geometry of the road layout and a motion profile generated using a neural network.
Nemeth, in the same field of endeavor, teaches wherein the agent trajectory is planned using a target path extracted based on a geometry of the road layout and a motion profile generated using a neural network (Nemeth: Section 2 Page 20 Right Column, “In the optimization procedure applied to the intersection it is necessary to find the motion profile for all autonomous vehicles which guarantees safe approaching for them. The optimization procedure contains two tasks to be solved:
• First, it is necessary to find the appropriate order of the vehicles. In this paper the goal of the intersection control is to find the minimum traveling time for each vehicle. Thus, it is required to find the order of vehicles with which the minimum traveling time for all vehicles is guaranteed.
• Second, the kinematics of the vehicles for the given vehicle order must be determined, e.g., the acceleration/ deceleration or the velocity profile for each autonomous vehicle.”, Section 2.2 Page 21 Right Column, “The optimization tasks (2) and (3) require the model
of the vehicles, with which both the ti and ei,l values can be calculated. For this reason a simplified discrete time longitudinal model with sampling time T is formulated in the following way:
vi(k + 1) = vi(k) + Tai(k), (4a)
si(k + 1) = si(k) + Tvi(k) + 2 ai(k), (4b)
where index i is related to the vehicle order. The current acceleration command ai(k) comes from the control input sequence ai,j through interpolation and depending on the (xi, yi) position of vehicle i. The motion equations of the vehicles are rearranged to a state-space form which can be formed in the state space representation form:
where xi(k) represents the state xi(k) and ui(k) = ai(k) is the control input of the system, which is linked to ai.j. The position of the vehicle is also determined by the lateral motion. However, it is assumed that the autonomous vehicles follow the curvature of the intersection. Thus, the lateral motions of the vehicles are not influenced by the other vehicles, e.g. overtaking is not allowed. Consequently, the positions of the vehicle (xi(k), yi(k)) can be computed from their initial positions, the distances s( k)and the motion directions of the vehicles.”, Section 3 Page 22 Left Column, “The optimization task (7) results in a global optimal solution for the vehicle order in the intersection. Although it guarantees the optimal solution, the computation time of the task can be high due to the nonlinear constraints. Therefore, in this section an approximation of the optimal solution through neural networks is presented. … . In the fitting of the neural networks an input layer, hidden layers and an output layer are defined. The nodes in the input layer receive the input values si(l), vi(l). The approaching intention Di is not considered in the neural network, since different networks for all Di scenarios are generated. The operation of the control in intersection is incorporated in the nonlinear functions of the hidden layers. Moreover, the role of the output layer is to generate the acceleration commands ai,j.”. The cited passages clearly teach using a neural network to generate the motion profile of the vehicle.).
Di Cairano teaches a computer-implemented method of predicting agent motion wherein the agent trajectory is planned using a target path extracted based on a geometry of the road layout and a motion profile. Di Cairano does not teach wherein the agent trajectory is planned using a target path extracted based on a geometry of the road layout and a motion profile generated using a neural network. Nemeth teaches wherein the agent trajectory is planned using a target path extracted based on a geometry of the road layout and a motion profile generated using a neural network. A person of ordinary skill in the art would have had the technological capabilities to have combine the method taught in Di Cairano with wherein the agent trajectory is planned using a target path extracted based on a geometry of the road layout and a motion profile generated using a neural network taught in Nemeth. Furthermore, the method taught in Di Cairano is already configured to determine the trajectory of the vehicle based on a target path and a motion profile, so modifying the method such that the motion profile is generated using a neural network as taught in Nemeth would only require the addition of a neural network. Simply adding a generic neural network to the method already performed in Di Cairano would be well with the technological capabilities of a person of ordinary skill in the art. Additionally, the use of a neural network would not change or introduce new functionality. No inventive effort would have been required. The combination would have yielded the predictable result of a computer-implemented method of predicting agent motion wherein the agent trajectory is planned using a target path extracted based on a geometry of the road layout and a motion profile generated using a neural network.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the computer-implemented method of predicting agent motion taught in Di Cairano with wherein the agent trajectory is planned using a target path extracted based on a geometry of the road layout and a motion profile generated using a neural network taught in Nemeth with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because the combination would have yielded predictable results.
Regarding claim 14, Di Cairano in view of Nemeth teaches wherein the neural network generates the motion profile but does not generate any path (Nemeth: Nemeth: Section 2 Page 20 Right Column, “In the optimization procedure applied to the intersection it is necessary to find the motion profile for all autonomous vehicles which guarantees safe approaching for them. The optimization procedure contains two tasks to be solved:
• First, it is necessary to find the appropriate order of the vehicles. In this paper the goal of the intersection control is to find the minimum traveling time for each vehicle. Thus, it is required to find the order of vehicles with which the minimum traveling time for all vehicles is guaranteed.
• Second, the kinematics of the vehicles for the given vehicle order must be determined, e.g., the acceleration/ deceleration or the velocity profile for each autonomous vehicle.”, Section 2.2 Page 21 Right Column, “The optimization tasks (2) and (3) require the model
of the vehicles, with which both the ti and ei,l values can be calculated. For this reason a simplified discrete time longitudinal model with sampling time T is formulated in the following way:
vi(k + 1) = vi(k) + Tai(k), (4a)
si(k + 1) = si(k) + Tvi(k) + 2 ai(k), (4b)
where index i is related to the vehicle order. The current acceleration command ai(k) comes from the control input sequence ai,j through interpolation and depending on the (xi, yi) position of vehicle i. The motion equations of the vehicles are rearranged to a state-space form which can be formed in the state space representation form:
where xi(k) represents the state xi(k) and ui(k) = ai(k) is the control input of the system, which is linked to ai.j. The position of the vehicle is also determined by the lateral motion. However, it is assumed that the autonomous vehicles follow the curvature of the intersection. Thus, the lateral motions of the vehicles are not influenced by the other vehicles, e.g. overtaking is not allowed. Consequently, the positions of the vehicle (xi(k), yi(k)) can be computed from their initial positions, the distances s( k)and the motion directions of the vehicles.”, Section 3 Page 22 Left Column, “The optimization task (7) results in a global optimal solution for the vehicle order in the intersection. Although it guarantees the optimal solution, the computation time of the task can be high due to the nonlinear constraints. Therefore, in this section an approximation of the optimal solution through neural networks is presented. … . In the fitting of the neural networks an input layer, hidden layers and an output layer are defined. The nodes in the input layer receive the input values si(l), vi(l). The approaching intention Di is not considered in the neural network, since different networks for all Di scenarios are generated. The operation of the control in intersection is incorporated in the nonlinear functions of the hidden layers. Moreover, the role of the output layer is to generate the acceleration commands ai,j.”. The cited passages clearly show that the neural network is used only to determine the acceleration of the vehicle in order to achieve a desired motion profile.),
wherein the target path and the motion profile are provided to a classical trajectory planner which plans the agent trajectory based on the motion profile and the target path (Di Cairano: Column 18 lines 45-59, “The second model of vehicle motion
x2(t+1)=f2(x2(t),u2(t),w(t)) (4)
is used in the Motion Planning sub-module 304 to compute the vehicle trajectory that actually achieves the goal determined by Decision Making 303. Since the trajectory computed by the Motion Planning sub-module 304 must actually be executed by the vehicle in order to achieve the goal, the model of vehicle motion used by the Motion Planning sub-module 304 needs to be more precise, and hence has higher order, more parameters and possibly more complicated equations. However, since the prediction of the Motion Planning sub-module 304 is usually shorter than the one of the decision making, the higher order model is still feasible in terms of computations required.”, Column 30 lines 21-51, “FIG. 18A illustrates a schematic of different motions determined according to some principles employed by various embodiments of the present disclosure. The drivable area 1800a includes the road 1810a except for the area 1820a where an obstacle is present. The preferred motion 1830a, which can be determined from lane information, the intents of a driver, a passenger of the vehicle, or from the decision making module 302, can be interpreted as the reference motion that reaches the target region 1840a from the current state 1850a of the vehicle, but goes through the non-drivable area of the obstruction 1820a. The preferred motion 1830a can be modeled as a probabilistic constraint in the form of a probability density function (PDF) 1831a over the state of the vehicle, where the preferred motion 1830a is the mean of the PDF and the allowed deviation from the mean is modeled as a standard deviation 1832a. In such case, motions are given different probabilities depending on how much they intersect with the PDF 1831a. The motion planner generates the motion, such as motions 1860a and 1870a, which avoid the obstacle 1820a but starts and ends at the same positions as the desired motion 1830a.”, Column 31 lines 17-25, “FIG. 18C illustrates the respective velocity profiles 1880c and 1890c corresponding to 1880b and 1890b, together with the requirement 1860c of maintaining a nominal, in this case constant, velocity, according to one embodiment of the present disclosure. In FIG. 18C, the velocity 1880c corresponding to the trajectory 1880b is not satisfying the constraint. Some embodiments of the present disclosure weigh these two and additional requirements together when determining the best motion.”. The cited passages clearly teach that a classical trajectory planner is used to plan the trajectory using the target path and motion profile. The cited passages show that a basic model of the vehicle is used to create the trajectory, then the trajectory is selected based on the preferred path and the constraints on the motion profile. One of ordinary skill in the art would recognize that these steps represent a classical trajectory planner.).
Regarding claim 15, Di Cairano in view of Nemeth teaches wherein the classical trajectory planner uses a controller and an agent dynamics model to generate a trajectory that minimises error from the motion profile and the target path (Di Cairano: Column 18 lines 45-59, “The second model of vehicle motion
x2(t+1)=f2(x2(t),u2(t),w(t)) (4)
is used in the Motion Planning sub-module 304 to compute the vehicle trajectory that actually achieves the goal determined by Decision Making 303. Since the trajectory computed by the Motion Planning sub-module 304 must actually be executed by the vehicle in order to achieve the goal, the model of vehicle motion used by the Motion Planning sub-module 304 needs to be more precise, and hence has higher order, more parameters and possibly more complicated equations. However, since the prediction of the Motion Planning sub-module 304 is usually shorter than the one of the decision making, the higher order model is still feasible in terms of computations required.”, Column 31 lines 26-39, “FIG. 19 illustrates a schematic of interaction between the motion planning system and the vehicle controller according to some embodiments of the present disclosure. For example, in some embodiments of the present disclosure, the controllers 305 of the vehicle 101 are steering 1910 and brake/throttle controllers 1920 that control rotation and acceleration of the vehicle 101. However, in one embodiment the motion-planning system 304 uses a model such that the control inputs in the motion planner 304 are steering and velocity. To that end, a vehicle controller 305 maps the control input to a control command to at least one actuator of the vehicle, such as the steering wheel and/or the brakes of the vehicle, and controls the motion of the vehicle using the control command to the actuator of the vehicle.”, Column 31 lines 50-67, “The motion-planning system 304 selects a motion subject to minimizing a cost function J(x,u,σy)=j(x(T),u(T),σy(t))+∫-0Tg(x(t),u(t),σy(t))dt and satisfying constraints on the movement of the vehicle and avoiding collision with obstacles. One embodiment chooses the cost function as J = ∫0Tk1||p-Pref||+k1||v-vref||dt, where k1 and k1 are positive weights the Euclidean distances, Pref and vref are desired path and velocity, respectively, coming from the decision module 302 or are predetermined, computed, for example, from driver or passenger inputs, or estimated from cameras, and p and v are position and velocity of the vehicle.”. The cited passages clearly show that the classical trajectory planner uses a controller and a vehicle dynamics model in order to minimize error from the motion profile and the target path. One of ordinary skill would see this is accomplished through the second cost function shown. The second cost is clearly based on the error (i.e. difference) between the candidate trajectory and velocity and the reference trajectory and velocity. Furthermore, the trajectory that minimizes the cost is selected, or in other words, the trajectory that minimizes the error with respect to the reference trajectory and motion profile is selected.).
Regarding claim 16, Di Cairano in view of Nemeth teaches comprising determining a context for the agent, and selecting the neural network from a collection of neural networks based on the determined context (Nemeth: Section 3 Page 22 Left Column, “The optimization task (7) results in a global optimal solution for the vehicle order in the intersection. Although it guarantees the optimal solution, the computation time of the task can be high due to the nonlinear constraints. Therefore, in this section an approximation of the optimal solution through neural networks is presented. … . In the fitting of the neural networks an input layer, hidden layers and an output layer are defined. The nodes in the input layer receive the input values si(l), vi(l). The approaching intention Di is not considered in the neural network, since different networks for all Di scenarios are generated. The operation of the control in intersection is incorporated in the nonlinear functions of the hidden layers. Moreover, the role of the output layer is to generate the acceleration commands ai,j.”. The cited passage clearly shows that different neural networks are used based on the driving intention Di for all agents i. Furthermore, this is clearly a context for the agent as the driving intention Di for the agent defines the action it is attempting to take and further includes other agents in its surroundings, as well as their driving intentions.).
Regarding claim 17, Di Cairano in view of Nemeth teaches wherein the context is based on the goal and a number of other agents surrounding the agent (Nemeth: Section 3 Page 22 Left Column, “The optimization task (7) results in a global optimal solution for the vehicle order in the intersection. Although it guarantees the optimal solution, the computation time of the task can be high due to the nonlinear constraints. Therefore, in this section an approximation of the optimal solution through neural networks is presented. … . In the fitting of the neural networks an input layer, hidden layers and an output layer are defined. The nodes in the input layer receive the input values si(l), vi(l). The approaching intention Di is not considered in the neural network, since different networks for all Di scenarios are generated. The operation of the control in intersection is incorporated in the nonlinear functions of the hidden layers. Moreover, the role of the output layer is to generate the acceleration commands ai,j.”. The cited passage clearly shows that the driving intention Di of the agent is the goal of the agent, as it defines the action the agent is attempting to take. Furthermore, it is clearly shown that the driving intentions of other agents and the number of agents is taken into account as well. One of ordinary skill in the art would see that because a different neural network is used for all scenarios, this would clearly include the number of surrounding vehicles, as a different neural network would be used when there are two vehicles versus when there are three vehicles.).
Regarding claim 24, Di Cairano teaches a non-transitory medium embodying computer-readable instructions which, when executed by one or more hardware processors, cause the one or more hardware processors to performing operations including (Di Cairano: Figure 2, Abstract, “Controlling a vehicle by producing a sequence of intermediate goals that includes specific goals, additional specific goals and optional goals, from a travel route for a prediction horizon. Testing a feasibility of each intermediate goal (IG), using a first model of motion of the vehicle and a first model of motion of the traffic, by the IG being achieved by satisfying traffic conditions and motion capabilities of the vehicle, after achieving the IG, a next goal of the specific goals and the additional specific goals can also be achieved. Compute a trajectory for each feasible IG, using a second model of motion of the vehicle and a second model of motion of the traffic, and compare each computed trajectory according to a numerical value determined by a cost function and determine satisfaction of constraints on the movement of the vehicle and the vehicle interaction with the road and the traffic.”, Column 9 lines 32-43, “FIG. 2 is a block diagram of the control unit of FIG. 1 according to some embodiments of the present disclosure. For example, FIG. 2 shows a block diagram of the control unit 102 according to one embodiment of the present disclosure. The controller 102 includes a hardware processor 201 connected to a memory 202, e.g., a non-transitory computer readable medium. In some implementations, the memory 202 includes a first section 211 for storing information about the vehicle and a second section 212 for storing a program for controlling the vehicle, a third section 213 for storing driving map data, and a fourth section 214 for storing motion models of the traffic.”):
generating for each goal of a set of agent goals, based on the agent goal and a first observed agent state corresponding to a first time instant, an agent trajectory (Di Cairano: Column 16 line 61 – Column 17 line 22, “FIG. 14B describes the operation of the motion planning submodule of the planning and control module in the control unit according to some embodiments of the present disclosure. The motion planning module receives 1409 one or more allowed goals from the decision making module and tries to compute 1410 one trajectory per each received allowed goal based on the current state of the second model of motion of the vehicle.”. The cited passage clearly shows that a trajectory of the vehicle is determined based on the goal and the current state.),
for each goal, comparing a second observed agent state with the agent trajectory planned for the goal, and thereby computing a likelihood of the goal and/or the planned agent trajectory for the goal (Di Cairano: Column 27 line 57 – Column 28 line 4, “FIG. 17B shows an exemplar implementation of the determining 1710 the goal 1711 according to an embodiment of the present disclosure. The determining 1710 uses information about the trajectory 1740 selected during executions of the planning module 304, the predicted behavior of the environment, such as other vehicles, and the driving preferences, such as those in FIG. 16. The determining 1710 determine the probability of each goal in the set of goals 1709 of being a preferred goal. The determining 1710 then samples 1720b a goal from the set of goal regions 1709 according to the probability 1710b. After sampling a goal 1720b, the corresponding goal is removed 1730b from the set of goals 1709, thus ensuring that the planning module 304 does not spend effort on goals for which trajectories have already been computed.”, Column 28 lines 5-17, “The probabilities can be determined in several ways. For instance, one embodiment models the possible goals as a set of modes M ={S,SL,CLL,CLR}, where the modes are full stop (S), stay in lane (SL), change lane left (CLL), and change lane right (CLR), and uses a finite-state Markov process with transition probabilities associated with each decision. The transition probabilities can be determined from the driving context perceived from the sensing system, in combination with information propagating from the decision module 302. The transition model between any two modes j and i is mj~p(mj|mi) for a probability density function p.”. The cited passage clearly shows that the probability of the goal is determined using the trajectory and the driving context. Furthermore, one of ordinary skill in the art would see that the state of the vehicle would need to be known and used in order to determine the goals whose probability are to be determined.).
generating an agent trajectory for a mobile agent based on an agent goal (Di Cairano: Column 16 line 61 – Column 17 line 22, “FIG. 14B describes the operation of the motion planning submodule of the planning and control module in the control unit according to some embodiments of the present disclosure. The motion planning module receives 1409 one or more allowed goals from the decision making module and tries to compute 1410 one trajectory per each received allowed goal based on the current state of the second model of motion of the vehicle.”. The cited passage clearly shows that a trajectory of the vehicle is determined based on the goal.),
using a target path extracted based on a geometry of a road layout and a motion profile (Di Cairano: Column 30 lines 21-51, “FIG. 18A illustrates a schematic of different motions determined according to some principles employed by various embodiments of the present disclosure. The drivable area 1800a includes the road 1810a except for the area 1820a where an obstacle is present. The preferred motion 1830a, which can be determined from lane information, the intents of a driver, a passenger of the vehicle, or from the decision making module 302, can be interpreted as the reference motion that reaches the target region 1840a from the current state 1850a of the vehicle, but goes through the non-drivable area of the obstruction 1820a. The preferred motion 1830a can be modeled as a probabilistic constraint in the form of a probability density function (PDF) 1831a over the state of the vehicle, where the preferred motion 1830a is the mean of the PDF and the allowed deviation from the mean is modeled as a standard deviation 1832a. In such case, motions are given different probabilities depending on how much they intersect with the PDF 1831a. The motion planner generates the motion, such as motions 1860a and 1870a, which avoid the obstacle 1820a but starts and ends at the same positions as the desired motion 1830a.”, Column 31 lines 17-25, “FIG. 18C illustrates the respective velocity profiles 1880c and 1890c corresponding to 1880b and 1890b, together with the requirement 1860c of maintaining a nominal, in this case constant, velocity, according to one embodiment of the present disclosure. In FIG. 18C, the velocity 1880c corresponding to the trajectory 1880b is not satisfying the constraint. Some embodiments of the present disclosure weigh these two and additional requirements together when determining the best motion.”. The cited passages clearly teach that the trajectory of the vehicle is planned using a target path (i.e. the preferred motion 1830a) and a motion profile (i.e. the velocity profiles of the potential trajectories). Furthermore, the target path is clearly determined using the geometry of the road as it is determined based on the drivable region and the lane information of the road.),
generating, based on the agent trajectory, a control signal to control a motion of the agent along the agent trajectory (Di Cairano: Column 10 line 56 – Column 11 line 8, “FIG. 3 shows a schematic of the layers of the control unit according to one embodiment of the present disclosure. In this embodiment, the control unit 102 includes three layers of the control. The Routing 301 uses the static map information stored in the third section of the memory 213 of FIG. 2 and the current position of the vehicle obtained from sensors 104a, 104b to determine a sequence of roads in the road network that the vehicle must traverse from its current position to reach its final destination as provided for instance by the user. The Routing module can be implemented by a known Car Navigation system. The Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands.”, Column 16 lines 26-36, “After the current best trajectory has been selected, the Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory, as noted earlier. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands, as noted earlier.”); and
controlling the motion of the agent based on the control signal (Di Cairano: Column 10 line 56 – Column 11 line 8, “FIG. 3 shows a schematic of the layers of the control unit according to one embodiment of the present disclosure. In this embodiment, the control unit 102 includes three layers of the control. The Routing 301 uses the static map information stored in the third section of the memory 213 of FIG. 2 and the current position of the vehicle obtained from sensors 104a, 104b to determine a sequence of roads in the road network that the vehicle must traverse from its current position to reach its final destination as provided for instance by the user. The Routing module can be implemented by a known Car Navigation system. The Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands.”, Column 16 lines 26-36, “After the current best trajectory has been selected, the Vehicle Control sub-module 305 determines commands of the vehicle actuators, such as steering, acceleration, deceleration, that modify the vehicle behavior so that the vehicle achieves an actual trajectory as close as possible to the current best trajectory, as noted earlier. The commands to the vehicle actuators are then received by the Actuator Control sub-module 306 that modifies the control signals to the actuators, such as electric motor voltage, throttle opening, brake pads pressure, to achieve the desired vehicle commands, as noted earlier.”).
Di Cairano does not teach using a target path extracted based on a geometry of a road layout and a motion profile generated using a neural network.
Nemeth, in the same field of endeavor teaches using a target path extracted based on a geometry of a road layout and a motion profile generated using a neural network (Nemeth: Section 2 Page 20 Right Column, “In the optimization procedure applied to the intersection it is necessary to find the motion profile for all autonomous vehicles which guarantees safe approaching for them. The optimization procedure contains two tasks to be solved:
• First, it is necessary to find the appropriate order of the vehicles. In this paper the goal of the intersection control is to find the minimum traveling time for each vehicle. Thus, it is required to find the order of vehicles with which the minimum traveling time for all vehicles is guaranteed.
• Second, the kinematics of the vehicles for the given vehicle order must be determined, e.g., the acceleration/ deceleration or the velocity profile for each autonomous vehicle.”, Section 2.2 Page 21 Right Column, “The optimization tasks (2) and (3) require the model
of the vehicles, with which both the ti and ei,l values can be calculated. For this reason a simplified discrete time longitudinal model with sampling time T is formulated in the following way:
vi(k + 1) = vi(k) + Tai(k), (4a)
si(k + 1) = si(k) + Tvi(k) + 2 ai(k), (4b)
where index i is related to the vehicle order. The current acceleration command ai(k) comes from the control input sequence ai,j through interpolation and depending on the (xi, yi) position of vehicle i. The motion equations of the vehicles are rearranged to a state-space form which can be formed in the state space representation form:
where xi(k) represents the state xi(k) and ui(k) = ai(k) is the control input of the system, which is linked to ai.j. The position of the vehicle is also determined by the lateral motion. However, it is assumed that the autonomous vehicles follow the curvature of the intersection. Thus, the lateral motions of the vehicles are not influenced by the other vehicles, e.g. overtaking is not allowed. Consequently, the positions of the vehicle (xi(k), yi(k)) can be computed from their initial positions, the distances s( k)and the motion directions of the vehicles.”, Section 3 Page 22 Left Column, “The optimization task (7) results in a global optimal solution for the vehicle order in the intersection. Although it guarantees the optimal solution, the computation time of the task can be high due to the nonlinear constraints. Therefore, in this section an approximation of the optimal solution through neural networks is presented. … . In the fitting of the neural networks an input layer, hidden layers and an output layer are defined. The nodes in the input layer receive the input values si(l), vi(l). The approaching intention Di is not considered in the neural network, since different networks for all Di scenarios are generated. The operation of the control in intersection is incorporated in the nonlinear functions of the hidden layers. Moreover, the role of the output layer is to generate the acceleration commands ai,j.”. The cited passages clearly teach using a neural network to generate the motion profile of the vehicle.).
Di Cairano teaches a non-transitory medium embodying computer-readable instructions which, when executed by one or more hardware processors, cause the one or more hardware processors to performing operations including: generating an agent trajectory for a mobile agent based on an agent goal, using a target path extracted based on a geometry of a road layout and a motion profile. Di Cairano does not teach using a target path extracted based on a geometry of a road layout and a motion profile generated using a neural network. Nemeth teaches using a target path extracted based on a geometry of a road layout and a motion profile generated using a neural network. A person of ordinary skill in the art would have had the technological capabilities to have combine the non-transitory medium taught in Di Cairano with using a target path extracted based on a geometry of a road layout and a motion profile generated using a neural network taught in Nemeth. Furthermore, the non-transitory medium taught in Di Cairano is already configured to determine the trajectory of the vehicle based on a target path and a motion profile, so modifying the non-transitory medium such that the motion profile is generated using a neural network as taught in Nemeth would only require the addition of a neural network. Simply adding a generic neural network to the method already performed in Di Cairano would be well with the technological capabilities of a person of ordinary skill in the art. Additionally, the use of a neural network would not change or introduce new functionality. No inventive effort would have been required. The combination would have yielded the predictable result of non-transitory medium embodying computer-readable instructions which, when executed by one or more hardware processors, cause the one or more hardware processors to performing operations including using a target path extracted based on a geometry of a road layout and a motion profile generated using a neural network.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine non-transitory medium embodying computer-readable instructions taught in Di Cairano with using a target path extracted based on a geometry of a road layout and a motion profile generated using a neural network taught in Nemeth with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because the combination would have yielded predictable results.
Regarding claim 28, Di Cairano in view of Nemeth teaches wherein the neural network receives as input a set of agent features and a representation of the target path (Nemeth: Section 2 Page 20 Right Column, “In the optimization procedure applied to the intersection it is necessary to find the motion profile for all autonomous vehicles which guarantees safe approaching for them. The optimization procedure contains two tasks to be solved:
• First, it is necessary to find the appropriate order of the vehicles. In this paper the goal of the intersection control is to find the minimum traveling time for each vehicle. Thus, it is required to find the order of vehicles with which the minimum traveling time for all vehicles is guaranteed.
• Second, the kinematics of the vehicles for the given vehicle order must be determined, e.g., the acceleration/ deceleration or the velocity profile for each autonomous vehicle.”, Section 2.2 Page 21 Left Column, “The optimization method is based on a division of the route, which is illustrated in Figure 2. The route of the vehicle i in the intersection is divided into M equidistant segments with index j and the acceleration ai,j along
this route is assumed to vary linearly.”, Section 2.2 Page 21 Right Column, “The optimization tasks (2) and (3) require the model of the vehicles, with which both the ti and ei,l values can be calculated. For this reason a simplified discrete time longitudinal model with sampling time T is formulated in the following way:
vi(k + 1) = vi(k) + Tai(k), (4a)
si(k + 1) = si(k) + Tvi(k) + 2 ai(k), (4b)
where index i is related to the vehicle order. The current acceleration command ai(k) comes from the control input sequence ai,j through interpolation and depending on the (xi, yi) position of vehicle i. The motion equations of the vehicles are rearranged to a state-space form which can be formed in the state space representation form:
where xi(k) represents the state xi(k) and ui(k) = ai(k) is the control input of the system, which is linked to ai.j. The position of the vehicle is also determined by the lateral motion. However, it is assumed that the autonomous vehicles follow the curvature of the intersection. Thus, the lateral motions of the vehicles are not influenced by the other vehicles, e.g. overtaking is not allowed. Consequently, the positions of the vehicle (xi(k), yi(k)) can be computed from their initial positions, the distances s( k)and the motion directions of the vehicles.”, Section 3 Page 22 Left Column, “The optimization task (7) results in a global optimal solution for the vehicle order in the intersection. Although it guarantees the optimal solution, the computation time of the task can be high due to the nonlinear constraints. Therefore, in this section an approximation of the optimal solution through neural networks is presented. … . In the fitting of the neural networks an input layer, hidden layers and an output layer are defined. The nodes in the input layer receive the input values si(l), vi(l). The approaching intention Di is not considered in the neural network, since different networks for all Di scenarios are generated. The operation of the control in intersection is incorporated in the nonlinear functions of the hidden layers. Moreover, the role of the output layer is to generate the acceleration commands ai,j.”. The cited passage clearly teaches that the neural network receives features of the agents. These features are clearly the initial distance and velocity of the agent, as well as the driving intention of the vehicle. Furthermore, the neural network clearly receives a representation of the path, which are M equidistant points along the path of the agent to which the acceleration command ai,j corresponds to.).
Regarding claim 31, Di Cairano in view of Nemeth teaches for use in predicting motion of the mobile agent for planning motion of an ego agent, wherein a planner of an autonomous stack receives the generated trajectory for the mobile agent and uses the generated trajectory to plan an ego agent trajectory (Di Cairano: Column 16 line 61 – Column 17 line 22, “FIG. 14B describes the operation of the motion planning submodule of the planning and control module in the control unit according to some embodiments of the present disclosure. The motion planning module receives 1409 one or more allowed goals from the decision making module and tries to compute 1410 one trajectory per each received allowed goal based on the current state of the second model of motion of the vehicle. Then, the motion planning checks 1412 if any trajectory for any goal could be computed. In negative case, a warning error is issued 1415 that normal operation cannot continue and new goals are requested 1416. Otherwise, one of the trajectories that have been computed is selected as current trajectory, 1413, and the trajectory is provided 1414 to the vehicle control submodule 305, and the motion planned waits 1419 until the beginning of the next motion planning period, which is determined by a fixed interval and larger than the period of the decision making, when the period of the decision making is also fixed. Then, if 1418 the goals are computed periodically, the motion planning checks if new goals have been computed. If so, the motion planning receives the new goals 1409, otherwise, the motion planning proceeds with the old goals.”, Column 13 line 65 – Column 14 line 16, “FIG. 18B illustrates a schematic of different motions determined according to some principles employed by some embodiments of the present disclosure. The autonomous vehicle is at the current state 1850a on a two-lane road with lane divider 1810b, with a moving obstacle 1820b in the first lane. There are two goal regions 1840a and 1841b, determined from the decision module 302. The requirements on the motion can be that the vehicle should maintain either of the two lanes 1860b and 1870b, with the respective tolerated probabilistic deviation 1861b and 1871b from the requirement, so the motion planner can determine to either stay in the first lane or move to the second lane, as long as it reaches any of the goals. The black lines 1880b and 1890b show two possible computed motions by the motion planner 304. The trajectory 1890b is not satisfying the requirement 1860b until after approximately midway through the path. Hence, if the cost function has a large weight on deviations from the requirement 1860b, the trajectory reaching the goal 1840a will be chosen.”, Column 31 lines 50-67, “The motion-planning system 304 selects a motion subject to minimizing a cost function J(x,u,σy)=j(x(T),u(T),σy(t))+∫-0Tg(x(t),u(t),σy(t))dt and satisfying constraints on the movement of the vehicle and avoiding collision with obstacles. One embodiment chooses the cost function as J = ∫0Tk1||p-Pref||+k1||v-vref||dt, where k1 and k1 are positive weights the Euclidean distances, Pref and vref are desired path and velocity, respectively, coming from the decision module 302 or are predetermined, computed, for example, from driver or passenger inputs, or estimated from cameras, and p and v are position and velocity of the vehicle.”. The cited passages clearly teach that a planner receives a generated trajectory of the vehicle and plans the trajectory of the vehicle using the generated trajectory.).
Regarding claim 32, Di Cairano in view of Nemeth teaches wherein a lane graph is a directed graph comprising nodes representing lanes and edges between the nodes representing directed lane connections between lanes (Di Cairano: Column 12 line 62 – Column 13 line 13, “FIG. 7 illustrates a description of the construction of the goal graph from specific goals as used in some embodiments of the present disclosure in the exemplary traffic scene in FIG. 4. For example, in order to select the intermediate goals, the Decision Making module constructs a goal graph as described starting from FIG. 7. First, the sequence of road segments determined from the Routing 301 of FIG. 3 are placed into the graph including initial position 701 and final position 702, for instance by including as graph nodes the goals 703, 704, 705 of traversing intersections and the lanes from which the vehicle must merge out 706 and into which the vehicle must merge in 707. For instance, 703 indicates that the intersection I1 is to be reached and a left turn must be taken, 704 indicates that the intersection I3 is to be reached and a right tum must be taken, 705 indicates that the intersection 14 is to be reached and the vehicle must proceed straight, 706 indicates that initial merge-in is necessary into lane L1, and 707 indicates that merge out is necessary into lane L50.”, Column 13 lines 14-26, “Then, specific goals are placed into the graph and connected to the goals to the corresponding road segments. For instance, 710 indicates that the vehicle must stop a stop line S1 in lane 1, 712 indicates that the vehicle must stop at stop line S8 in lane 14 or lane 13, 711 indicates that the vehicle must be in lane L17 before merging out. In FIG. 7, a solid line similar 721 denotes that the goals must be done in sequence without any other intermediate goal between the two, while a dashed line similar to 722 indicates that some optional goals may occur in between the two goals. The solid lines similar to 721 specify allowed goal transitions, the dashed lines similar to 722 specify ordering of goals and not necessarily allowed transitions.”, Column 13 lines 27-32, “Finally, the dashed lines similar to 722 are replaced by including the optional goals, if any, between two specific goals. Albeit possibly large, the total number of goals is always finite, so that the execution of an operation on each goal, or on a specific subset of goals, can be completed in a finite number of steps.”, Column 13 lines 33-61, “FIG. 8 illustrates a description of the construction of the goal graph by including specific goals as used in some embodiments of the present disclosure for the goal graph described in FIG. in the exemplary traffic scene in FIG. 4. For instance, in FIG. 8 the dashed line connecting 706, 710, is replaced by the intermediate goals of starting 801 in lane L1 and possibly changing lane an undetermined amount of times between lanes L1, 801, and L2, 802, then eventually from L1 start decelerating 803, to reach the mandatary goal 710 of being stopped at stopline S1 in lane LL Similarly, the dashed line connecting 704, 712, is replaced by the inter mediate goals of leaving intersection I3 in either lane Ll3, 811, or L14, 812, possibly changing lane an undetermined amount of times between lanes Ll3, 811, and L14, 812, then start decelerating in the current lane, either Ll3, 813, or L14, 814, to reach the mandatary goal 712 of being stopped at stopline SS in either lane L13 or L14. By operating such process for every dashed line, eventually the goal graph can be traversed from the goal corresponding to the initial vehicle position to the goal corresponding to the desired final position crossing only solid lines. There are multiple paths in the graph that go from the initial node 701 to the final node 702, such as 901, 902, referring to FIG. 9. Decision Making 302 of FIG. 3 selects the actual path by selecting the sequence of intermediate goals. For example, FIG. 9 shows the construction of allowed sequence of goals as used in some embodiments of the present disclosure for the goal graph described in FIG. 7 in the exemplary traffic scene in FIG. 4.”, The cited passages clearly teach that the system is configured to determine a set of goals using a lane graph. As stated in the cited passages the nodes correspond to the lanes and other parts of the road (i.e. turns, intersections, stoplines, etc.) as well as the specific goal (i.e. turning, merging, changing lanes, etc.). The edges between nodes clearly indicated the connection between the lanes.).
Response to Arguments
Applicant’s arguments, see Pages 15-16, filed January 29th, 2026, with respect to the 35 U.S.C. § 101 rejection of the independent claims 1, 18, and 24 have been fully considered and are persuasive. The independent claims 1, 18, and 24 have been amended to recite the limitations “generating, based on the planned agent trajectory for the goal, a control signal to control a motion of the agent along the planned agent trajectory” and “controlling the motion of the agent based on the control signal” for independent claim 1, the limitations “generating, based on the biased likelihood of the goal, a control signal to control a motion of the agent along an agent trajectory” and “controlling the motion of the agent based on the control signal” for independent claim 18, and the limitations “generating, based on the agent trajectory, a control signal to control a motion of the agent along the agent trajectory” and “controlling the motion of the agent based on the control signal” for the independent claim 24. Such limitations are clearly an active control step of the system using the result of the abstract idea, which is indicative of integration into a practical application. Therefore, the 35 U.S.C. § 101 rejection of the independent claims 1, 18, and 24 has been withdrawn.
Applicant's arguments filed January 29th, 2026 have been fully considered but they are not persuasive.
Regarding Applicant’s Arguments on Pages 13-15, Applicant argues that the prior art fails to teach the limitations of the independent claims 1, 18, and 24. Specifically on Pages 13-14 of Applicant’s Arguments, Applicant argues that the primary reference Di Cairano fails to teach the limitation “for each goal, comparing the second observed agent state with the at least one agent trajectory planned for the goal, and thereby computing a likelihood of the goal and/or the planned agent trajectory for the goal”. The Examiner respectfully disagrees. As stated in the previous Non-Final Office Action mailed October 29th, 2025 and above in the 35 U.S.C. § 102 and 103 rejection sections, the primary reference Di Cairano teaches a computer-implemented method of predicting agent motion, the method comprising (Di Cairano: Abstract): receiving a first observed agent state corresponding to a first time instant (Di Cairano: Column 9 lines 11-31, Column 13 line 67 – Column 14 line 2); determining a set of agent goals for an agent located in a road layout having an associated lane graph (Di Cairano: Column 12 line 62 – Column 13 line 13, Column 13 lines 14-26, Column 13 lines 27-32, Column 13 lines 33-61), by performing a search of the associated lane graph based on the first observed agent state (Di Cairano: Column 17 lines 23 – 34, Column 20 lines 50-64, Column 21 lines 30-41); for each agent goal, planning at least one agent trajectory based on the agent goal and the first observed agent state (Di Cairano: Column 16 line 61 – Column 17 line 22); receiving a second observed agent state corresponding to a second time instant later than the first time instant (Di Cairano: Column 16 line 36-60); for each goal, comparing the second observed agent state with the at least one agent trajectory planned for the goal, and thereby computing a likelihood of the goal and/or the planned agent trajectory for the goal (Di Cairano: Column 27 line 57 – Column 28 line 4, Column 28 lines 5-17), generating, based on the planned agent trajectory for the goal, a control signal to control a motion of the agent along the planned agent trajectory (Di Cairano: Column 10 line 56 – Column 11 line 8, Column 16 lines 26-36); and controlling the motion of the agent based on the control signal (Di Cairano: Column 10 line 56 – Column 11 line 8, Column 16 lines 26-36). The cited passages clearly shows that the method of Di Cairano is configured to iteratively update the vehicle trajectory using a goal graph which is updated based on the specific and optional goals. The system is configured to check which goals are permissible based on the state of the vehicle according to the motion model. The system is further configured to determine, for each goal, a likelihood for said goal based on the vehicles trajectory and the predicted state of the vehicle. One of ordinary skill in the art would recognize that, because of the iterative nature of the method, the system would use a second state of the vehicle to perform the likelihood calculation and the trajectory planning of the vehicle. Additionally, On Page 13, Applicant argues that because the system performs these calculations after a goal has been selected, that Di Cairano does not teach the claimed limitations. The Examiner respectfully disagrees. Firstly, under the broadest reasonable interpretation of the independent claims, nothing teaches or suggest that the method taught by the independent claims occurs prior to the selection of a goal. Therefore, a process that performs a calculation of a trajectory based on a goal and a calculation of a likelihood of a goal after selection of said would still teach the limitations of the independent claims under the broadest reasonable interpretation. Secondly, as is apparent from Column 27 line 22 – Column 28 line 53, the likelihood of each goal is used, at least in part, in the determination of the trajectory of the vehicle, which one of ordinary skill in the art would recognize occurs prior to the selection of a goal.
Therefore, for the reasons stated herein and in the 35 U.S.C. § 102 and 103 rejection sections, the 35 U.S.C. § 102 rejection of impendent claim1 and the 35 U.S.C. § 103 rejection of independent claims 18 and 24 are maintained.
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 Noah W Stiebritz whose telephone number is (571)272-3414. The examiner can normally be reached Monday thru Friday 7-5 EST.
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, Ramon Mercado can be reached at (571) 270-5744. 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.
/N.W.S./ Examiner, Art Unit 3658
/Ramon A. Mercado/Supervisory Patent Examiner, Art Unit 3658