DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 22-41 are pending.
Claims 1-21 are cancelled.
Response to Arguments
Applicant’s arguments, (see Amendment Pages 8-10), with respect to the 101 rejections of the claims are directed generally to how the claimed control process of the claimed subsumption-based controller is novel compared to the conventional control process of the conventional subsumption-based controller.
While Examiner appreciates Applicant’s remarks regarding the advantages of the claimed control process of the claimed subsumption-based controller, Examiner respectfully submits that a novelty analysis and a patent eligibility analysis are not the same. Patent eligibility analysis does not necessarily analyze novelty but analyze a claim to determine the following, in sequence: (Step 2A, Prong One) does the claim recite one or more limitations that recites an abstract idea? (if no, the claim is patent eligible, and the analysis ends here) (if yes, than go to 2A, Prong Two); 2. (Step 2A, Prong Two) do additional limitations (all other limitations) demonstrate integration of the abstract idea into a practical application? (if yes, the claim is patent eligible, and the analysis ends here) (if no, than go to Step 2B); (Step 2B) does the additional limitations amount to significantly more? (if yes, the claim is patent eligible) (if no, than the claim is not patent eligible). As described in the Claim Rejections - 35 USC § 101 section below, claim 22 recites an abstract idea of selecting based on relative priorities of nodes (Step 2A, Prong One), does not demonstrate integration of the abstract idea into a practical application, and does not amount to significantly more.
Applicant more specifically argues, (see Amendment Page 10, first full paragraph) that “[p]hysical control of a system is not a mental process, and the recited architectural elements that perform that control are not fairly characterized as generic computer components or generic electronic devices. Generic components or devices do not perform the specific control process expressly set out in claim 22.”
Examiner respectfully submits that determining if a claim has one or more limitations that recites an abstract idea does not determine if a physical control of the system is or is not a mental process. Under its broadest reasonable interpretation, if a claim limitation covers performance that can be executed in the human mind, but for the recitation of generic electronic devices or generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Under their broadest reasonable interpretation and based on the description provided in the Specification, such as at least paragraphs [0008] and [0022], for instance, the select function is a mental process that can be performed through observation, evaluation and judgement based on the relative priorities. That is, other than reciting an “a plan selector node”, a person may perform, through observation, evaluation and judgement, the features enunciated for the select function. The element “node,” under its broadest reasonable interpretation, represents a generic element of a computer network architecture, that executes a codelet, as described in the published specification, paragraph [0010] (“In the present disclosure, a “codelet” may be a process running a specific piece of non-blocking code within a computer, or at an arbitrary location of a computing device in the network. For simplicity, the term “node” is used herein to refer to an independent component of a subsumption architecture that executes a codelet.”). Accordingly, the “plan selector node”, under their broadest reasonable interpretation, is a generic node that executes a codelet for plan selecting as recited. Similarly, “sequential behavioral nodes” and “activity nodes”, under their broadest reasonable interpretations, are generic nodes that execute codelets for generating plans in sequences and generic nodes that execute codelets for generating control signals, respectively. Further, “a plan execution subsystem” and “an activity selection subsystem,” under their broadest reasonable interpretations, are generic systems that includes nodes, as described in the published specification, paragraph [0050] (“An architecture for a dual-layer subsumption control system 100 is illustrated in FIG. 5. The control system 100 includes two principal subsystems, namely, a plan execution subsystem 120 and an activity selection subsystem 140. The plan execution subsystem 120 includes sequential behavioral nodes 122, an imagination memory 110 and an activity tracking node 150. The activity selection subsystem 140 includes a plurality of activity nodes 142, along with one or more motor memories 130 which respectively control one or more actuators, or motor nodes 160. An optional planning subsystem 200 may be provided in addition to the plan execution subsystem 120 and the activity selection subsystem 140.”). Accordingly, the elements (nodes and subsystems) as discussed above represent generic electronic devices or generic computer components.
For the foregoing reasons above, Applicant’s arguments are not deemed persuasive, and therefore, the 101 rejections are maintained.
Examiner respectfully submits, as discussed in the Claim Rejections - 35 USC § 101 section below, the additional limitation of “wherein, in executing the plan, the at least one of the activity nodes generates a control signal for controlling an actuator of the system to perform the associated activity” (emphasis added) does not integrate a judicial exception into a practical application or provide significantly more because this type of recitation is equivalent to the words “apply it”, and does not apply, rely on, or use the judicial exception in a manner that imposes a meaningful limit on the judicial exception, and therefore is not indicative of integration into a practical application, as the phrase “for controlling an actuator of the system to perform the associated activity” recites an intended use of the generated control signal. Claim 24, that is not rejected under 101, recites “… applies the selected control signal to the actuator”, which demonstrates integration of the abstract idea into a practical application. Examiner encourages Applicant to incorporate claim 24 into claim 22, with which claim 22 would be patent eligible. Examiner recommends similar amendments to the independent claims 33 and 41.
Regarding the 102 rejections of the claim 33, Applicant argues that the decision-tree nodes of Dally's decision tree cannot be equated with “obtaining, by a plurality of sequential behavioral nodes, a plurality of plans for controlling [a] system, each plan comprising a sequence of activities to be performed by the system” (Amendment Page 11, first full paragraph), in that “each node in Dally's decision tree is merely a logical representation of one possible movement and it is technically inaccurate to suggest that a decision-tree node in Dally is a "sequential behavioral node" by which a plan is obtained, where that plan comprises a sequence of activities to be performed by Dally's autonomous vehicle. Indeed, to the extent that there is a sequence (a path) involved, that path exists only as a series of decisions traversing across multiple nodes, branch-to-leaf in the decision tree. Here, the Office errs by asserting that there is an "action or navigation path or the sequence corresponding to each node" and that is wrong. Each node represents a single movement decision, and the navigation path represents a particular combination of decisions.” (Amendment Page 11, second full paragraph).
Examiner respectfully disagrees and submits Dally teaches “obtaining, by a plurality of sequential behavioral nodes, a plurality of plans for controlling [a] system, each plan comprising a sequence of activities to be performed by the system.” As described in at least Abstract (“Sensors measure information about actors or other objects near an object, such as a vehicle or robot, to be maneuvered. Sensor data is used to determine a sequence of possible actions for the maneuverable object to achieve a determined goal. For each possible action to be considered, one or more probable reactions of the nearby actors or objects are determined. This can take the form of a decision tree in some embodiments, with alternative levels of nodes corresponding to possible actions of the present object and probable reactive actions of one or more other vehicles or actors. Machine learning can be used to determine the probabilities, as well as to project out the options along the paths of the decision tree including the sequences. A value function is used to generate a value for each considered sequence, or path, and a path having a highest value is selected for use in determining how to navigate the object. “) and paragraph [0024] (“If path planning is viewed as a multi-player game with sequences of actions taken by each actor, where those actions may depend at least in part upon the actions of others, then the set of possible actions at each stage, point, step, or level can be used to generate a decision tree that includes all possible options for each vehicle. The sequences of possible actions over the time period can each correspond to paths of the tree from a root node to a respective leaf node. As discussed herein, a value function can then be utilized to determine a value for each path, or sequence of actions.”), determining the possible sequences of actions from given nodes of nodes to corresponding leaf nodes, where a given node may be multiple node levels away from a leaf node, based on probability of behaviors along the way reads on “obtaining, by a plurality of sequential behavioral nodes, a plurality of plans for controlling [a] system”. Each of the sequences of possible actions at a given node reads on “each plan comprising a sequence of activities …”. The sequence of possible actions from the given node teaches the action or navigation path or the sequence corresponding to the given node, where a sequence of actions read on a “plan”.
Applicant argues, (see Amendment, Page 11, last partial paragraph that ends on Page 12 “the priorities are relative priorities among the plurality of sequential behavioral nodes” and “the Office's rejection logic holds (incorrectly) that Dally's decision-tree nodes are equivalent to the sequential behavioral nodes in the claim.”
Examiner respectfully submits that the selecting the path having the highest value reads on “the priorities are relative priorities”, as described in at least Abstract (“Sensors measure information about actors or other objects near an object, such as a vehicle or robot, to be maneuvered. Sensor data is used to determine a sequence of possible actions for the maneuverable object to achieve a determined goal. For each possible action to be considered, one or more probable reactions of the nearby actors or objects are determined. This can take the form of a decision tree in some embodiments, with alternative levels of nodes corresponding to possible actions of the present object and probable reactive actions of one or more other vehicles or actors. Machine learning can be used to determine the probabilities, as well as to project out the options along the paths of the decision tree including the sequences. A value function is used to generate a value for each considered sequence, or path, and a path having a highest value is selected for use in determining how to navigate the object. “) Further, Examiner respectfully submits that any one of the nodes having to select actions or sequence of actions based on behavioral probabilities in the path through the successive nodes until the leaf node reads on “sequential behavioral nodes”.
For the foregoing reasons, the arguments are not deemed persuasive, and therefore, the 102 rejections of the claims are maintained.
Regarding Applicant’s arguments (see Amendment, Page 12-13) with respect to 103 rejections of the claims, for the similar reasons as discussed above for the 102 rejections, the 103 rejections of the claims are maintained.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 22 and 25-35 and 37-40 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
(Step 2A, Prong One)
Independent claim 22 recites, “a plan selector node configured to select one of the respective plans for execution, wherein the plan selector node selects the one of the respective plans for execution based on relative priorities of the sequential behavioral nodes”.
Under its broadest reasonable interpretation, if a claim limitation covers performance that can be executed in the human mind, but for the recitation of generic electronic devices or generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Under their broadest reasonable interpretation and based on the description provided in the Specification, such as at least paragraphs [0008] and [0022], for instance, the select function is a mental process that can be performed through observation, evaluation and judgement based on relative priorities. That is, other than reciting an “a plan selector node” (a generic electronic device or generic computer component), a person may perform, through observation, evaluation and judgement, the features enunciated above.
Accordingly, the claim recites an abstract idea.
(Step 2A, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim recites the additional limitations of, “a plan execution subsystem comprising a plurality of sequential behavioral nodes, each configured to generate a respective plan for controlling the system, each respective plan comprising a sequence of activities to be performed by the system; an activity selection subsystem that receives the selected plan and executes the selected plan; wherein the activity selection subsystem comprises a plurality of activity nodes, at least one of the activity nodes being associated with an activity in the sequence of activities included in the selected plan; and wherein, in executing the plan, the at least one of the activity nodes generates a control signal for controlling an actuator of the system to perform the associated activity”.
The additional limitation “a plan execution subsystem comprising a plurality of sequential behavioral nodes, each configured to generate a respective plan for controlling the system, each respective plan comprising a sequence of activities to be performed by the system; … wherein the activity selection subsystem comprises a plurality of activity nodes, at least one of the activity nodes being associated with an activity in the sequence of activities included in the selected plan” as recited in the claim that are configured to carry out the additional and abstract idea limitations may be tools that are used to select as recited in the claim, but recited so generically that they represent no more than mere instructions “to apply” the judicial exceptions on or using generic electronic or computer components. Implementing an abstract idea on generic electronic or computer components as tools to perform an abstract idea is not indicative of integration into a practical application. see MPEP 2106.05(f)
The practical application requires an additional element or a combination of additional elements in the claim to apply, rely on, or use the judicial exception in a manner that imposes a meaningful limit on the judicial exception, such that the claim is more than a drafting effort designed to monopolize the exception. When so evaluated, the additional limitation of “an activity selection subsystem that receives the selected plan and executes the selected plan; … and wherein, in executing the plan, the at least one of the activity nodes generates a control signal for controlling an actuator of the system to perform the associated activity” is merely adding the words executes and generates with the judicial exception that attempts to cover a solution to an identified problem with no restriction on how the result is accomplished and no description of the mechanism for accomplishing the result, does not integrate a judicial exception into a practical application or provide significantly more because this type of recitation is equivalent to the words "apply it", and does not apply, rely on, or use the judicial exception in a manner that imposes a meaningful limit on the judicial exception, and therefore is not indicative of integration into a practical application, see MPEP 2106.05(f). The claim does not recite an improvement in a technology as set forth in MPEP 2106.04(d) and MPEP 2106.05(a). Accordingly, the additional limitations recited in the claim do not integrate the abstract idea into a practical application.
In view of the foregoing, the additional limitations are not sufficient to demonstrate integration of a judicial exception into a practical application.
(Step 2B)
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
The additional features including “a plan execution subsystem comprising a plurality of sequential behavioral nodes, each configured to generate a respective plan for controlling the system, each respective plan comprising a sequence of activities to be performed by the system; … wherein the activity selection subsystem comprises a plurality of activity nodes, at least one of the activity nodes being associated with an activity in the sequence of activities included in the selected plan”, as recited in the claim that are configured to carry out the additional and abstract idea limitation may be tools that are used for the functions recited in the claim, but recited so generically that they represent no more than mere instructions “to apply” the judicial exceptions on or using a generic electronic or computer component. Implementing an abstract idea on generic electronic or computer components as tools to perform an abstract idea does not amount to significantly more. See Elec. Power Group, LLC v. Alstom S.A., 830 F.3d 1350, 1355 (Fed. Cir. 2016) (“Nothing in the claims, understood in light of the specification, requires anything other than off-the-shelf, conventional computer, network, and display technology for gathering, sending, and presenting the desired information.”)
The additional limitation of “an activity selection subsystem that receives the selected plan and executes the selected plan; … and wherein, in executing the plan, the at least one of the activity nodes generates a control signal for controlling an actuator of the system to perform the associated activity” is merely adding the words executes and generates (or “to apply”) with the judicial exception, and does not impose a meaningful limit on practicing the abstract idea, see MPEP 2106.05(f). Thus, when taken alone, the individual additional limitations do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the limitations as an ordered combination adds nothing that is not already present when looking at the elements taken individually.
Therefore, the additional claimed features do not amount to significantly more and the claim is not patent eligible.
Independent claims 33 and 41 are not patent eligible for similar reasons, as explained above, for independent claim 1.
The recitations of claims 23 and 25-32, and 34-35 and 37-40 simply add more detail to or are cumulative to the abstract idea of claims 22, and 33, respectively.
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.
Claims 33, 35 and 37-41 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Dally et al. (US 2021/0124353 A1) (“Dally”).
Regarding independent claim 33, Dally teaches:
A method for controlling operation of a system that interacts with an environment, comprising: (Dally: Abstract “Sensors measure information about actors or other objects near an object, such as a vehicle or robot, to be maneuvered. Sensor data is used to determine a sequence of possible actions for the maneuverable object to achieve a determined goal. For each possible action to be considered, one or more probable reactions of the nearby actors or objects are determined. This can take the form of a decision tree in some embodiments, with alternative levels of nodes corresponding to possible actions of the present object and probable reactive actions of one or more other vehicles or actors. Machine learning can be used to determine the probabilities, as well as to project out the options along the paths of the decision tree including the sequences. A value function is used to generate a value for each considered sequence, or path, and a path having a highest value is selected for use in determining how to navigate the object.”) (Dally: [0016] “As mentioned, various approaches to navigating or maneuvering autonomous (or at least semi-autonomous) vehicle involve some type of path planning for the vehicle. A vehicle can have various sensors as discussed elsewhere herein, as may include cameras, proximity sensors, depth sensors, motion sensors, position sensors, accelerometers, electronic compasses, and the like, which provide data that can be analyzed to determine a state of the world or environment within a determinable distance of the vehicle. …”) (Dally: [0040] “As mentioned, the present vehicle path determination system or manager can select the move or action that maximizes an expected value function. Various value functions can be utilized, and changing the value function can change the behavior of the vehicle. …”) (Dally: [0080] FIG. 9 illustrates a set of basic components of a computing device 900 that can be utilized to implement aspects of the various embodiments. In this example, the device includes at least one processor 902 for executing instructions that can be stored in a memory device or element 904.”) [The vehicle or the robot reads on “a system”.]
obtaining, by a plurality of sequential behavioral nodes, a plurality of plans for controlling the system, each plan comprising a sequence of activities to be performed by the system; (Dally: [0014] (“Approaches in accordance with various embodiments provide for the navigation of controllable objects, such as autonomous vehicles or robots. These objects can be at least partially autonomous or controllable, and are capable of maneuvering based in part upon determined paths, actions, or goals, among other possibilities discussed and suggested herein. One or more sensors can be used to sense information about objects (actionable or otherwise) near a present object to be maneuvered. Information can also be obtained from nearby objects if available. The information can be used to determine a sequence of possible actions for the present object to take to achieve a determined goal, such as to progress towards a determined destination. For each possible action of the present object, one or more probable responsive or reactive actions of the nearby objects (i.e., actors) can be determined. This can take the form of a decision tree in some embodiments, with alternating levels of nodes corresponding to possible actions of the present vehicle and probable responsive actions of one or more other vehicles or actors. Machine learning can be used to determine the probabilities, as well as to project out the options along the branches and paths of the decision tree including the sequences. In some embodiments only actions with at least a minimum probability are considered. In another embodiment, actions can be considered based on factors such as the corresponding amount of risk or loss, favorability, occupant comfort, and the like. A value function can be used to generate a value for each considered sequence, or path, and a proposed navigation path having a highest value can be selected. At least a first action of the proposed navigation path can be provided to an optimizer of a control system, which can use the first action to determine how to navigate the present object. The selected path and related data can be used to update one or more machine learning models that were used for the determination, such as by sending the relevant data to a remote server capable of further training the models, which can then be used for future determinations. Transferred learning can thus be used for continued learning in at least some embodiments. Such approaches provide significant advantages over conventional approaches that separate the tasks of prediction and planning, such that the prediction is independent of the planned path, resulting in poor plans in conventional approaches.”) (Dally: [0016] “… For example, in a state 100 such as that illustrated in FIG. 1A, a vehicle 102 might be able to collect and analyze environment data that enables the vehicle to determine its location on the road. The vehicle 102 may then be able to determine, based at least in part upon a determined destination or goal, a set of navigation actions to maneuver the vehicle to that destination along the road. This can include, for example, accelerating or decelerating, changing lanes, making turns, and the like. …”) (Dally: [0046] “FIG. 4 illustrates an example process 400 for determining a navigation action for a vehicle that can be utilized in accordance with various embodiments. …”) (Dally: FIG. 4, step 404 “Determine sequences of possible actions of a first vehicle and responsive actions of one or more other vehicles”) [The nodes of the decision tree corresponding to possible actions or navigation paths or the sequences reads on “a plurality of sequential behavioral nodes”. The action or navigation path or the sequence corresponding to each node reads on “a plurality of plans …”. The navigation actions reads on “a sequence of activities …”.]
selecting one of the respective plans for execution based on relative priorities of the sequential behavioral nodes; and (Dally: [0014], [0016] and [0046] as discussed above) (Dally: FIG. 4, step 410 “Select a navigation path having a highest calculated path value”) [The value for each considered sequence or path reads on “relative priorities”.]
executing the selected plan. (Dally: [0014] and [0046] as discussed above) (Dally: FIG. 4, step 412 “Provide at least a first action for the selected navigation path to a controller for the first vehicle”)
Regarding claim 35, Dally teaches all the claimed features of claim 33. Dally further teaches:
identifying a current activity that is being performed by the system, and transmitting the identity of the current activity to the activity nodes. (Dally: FIG. 4, step 402 “Sense one or more locations of one or more vehicles”) (Dally: [0029] “The result may then be a tree structure 300 such as illustrated in the example of FIG. 3. In this example there are many levels of nodes, with each non-leaf node having a number of branches extending from that node. Each branch corresponds to a path option as discussed herein. In the example, only the nodes of a single path are illustrated. A root node 302 represents the current placement of the vehicles, and may reference other information as well, such as current speed or acceleration, etc. The sequence of actions is considered as a turn-based game, where nodes 304 at a first level each correspond to actions that can be taken by the present vehicle (shaded). This can include, for example, paths for up to the nine possible movement actions (AR, MS, etc.).”) (Dally: [0030] “A next lower level of nodes 306 will correspond to options that could be taken by one or more other vehicles (shaded) in response to the action taken by the present car in the parent node 304 of the preceding level. Thus, if the present car moves to the right as illustrated in the parent node 304, a given vehicle (shaded) might take various actions in response, which in the illustration is to decelerate slightly to provide more room for the present car to change lanes.”) [Point of the process at the step 402 reads on “an activity tracking node”.]
Regarding claim 37, Dally teaches all the claimed features of claim 33. Dally further teaches:
generating plans in response to plan requests from the sequential behavioral nodes, and transmitting the generated plans to the sequential behavioral nodes. (Dally: [0035] “During each tree search, a planner can generate a number of possible moves for the present car for each even level of the tree. In the example, from the initial position the present vehicle car could do nothing (hold speed), it could turn to the left, it could turn to the right while holding speed, or turn to the right while decelerating. A “move generator” deep neural network (DNN) can be used in some embodiments to generate the three or four “highest value” moves to be explored, as may be based upon training from many instances of vehicle motion data. Similarly each other vehicle or actor can respond in multiple ways. The “move generator” DNN can generate the most likely move for non-critical actors, and up to three or four most probable moves for critical actors (such as the actors directly adjacent the present vehicle). At each step of the tree a second DNN can be used to assign a value to the position. A large negative value can be associated with any contact, with a smaller negative value being associated with getting too close or failing to maintain at least a specified distance or separation from another actor or object. A positive value can be associated with achieving the respective goal, such as by successfully moving into the right lane.”)
Regarding claim 38, Dally teaches all the claimed features of claims 33 and 37. Dally further teaches:
receiving the plan requests from the sequential behavioral nodes at a plan request selector node; selecting one of the plan requests; and submitting the selected plan request to a planning subsystem. (Dally: [0033] “Further details on an example implementation are provided in the following example. Referring back to FIG. 1A, the present vehicle 102 being navigated is in the center lane, and there are other vehicles proximate the present vehicle on the road. The present vehicle 102 wants to change to the right lane, as may be commanded by a higher level of the planning system, in order to exit the road in a half mile. In order to determine the appropriate actions or movements to take, the present vehicle can conduct a search to some planning horizon. In this example, the process searches ahead five seconds in the future, with 0.25 s steps for the first two seconds and 0.5 s steps for the next three, for a total of ten steps. A decision tree can be generated where even levels correspond to potential motions of the present car, and odd levels correspond to responsive motions of other nearby actors.”)
Regarding claim 39, Dally teaches all the claimed features of claims 33 and 37-38. Dally further teaches:
wherein selecting a plan request comprises selecting a plan request for submission to the planning system based on relative priorities of the sequential behavioral nodes. (Dally: [0036] “As mentioned, different drivers may respond differently. Approaches in accordance with various embodiments can therefore attempt to characterize the other nearby vehicles by observing the behavior of the vehicle, as may correspond to the behavior of the driver (or potentially of the navigation system, assuming some may be programmed or caused to behave differently). Some actors may be characterized as “aggressive,” such as may be unlikely to be cooperative in any desired movement, others might be characterized differently, such as “cautious,” “cooperative,” “drunk,” “timid,” or “erratic.” There is a continuum of driving styles, which can be exemplified by a set of scalars or value parameters, although in some embodiments classifying the actors into a discrete number of types or classifications allows for the use of a small number of “move generators”, one for each classification, to suggest how each other vehicle will respond to a move by the present vehicle. In at least some embodiments, scalar values may be more general and easier to fit. As mentioned, in some embodiments these move generators can correspond to trained machine learning models that are able to infer actions based on the determined classification, along with current sensor data, etc. With enough observations of another vehicle, the move generator may be able to be “fine-tuned” for that vehicle, such as by interpolating between the move generators of standard types. The present vehicle can chose its move by backing up the values computed at the leaf nodes to the nodes directly below the root node. The highest value can be selected at the nodes for the present vehicle, with a weighted average of the most likely moves being selected for the nodes of the other vehicles in some embodiments.”)
Regarding claim 40, Dally teaches all the claimed features of claim 33. Dally further teaches:
wherein the relative priorities of the sequential behavioral nodes are established at run time. (Dally: [0033] “Further details on an example implementation are provided in the following example. Referring back to FIG. 1A, the present vehicle 102 being navigated is in the center lane, and there are other vehicles proximate the present vehicle on the road. The present vehicle 102 wants to change to the right lane, as may be commanded by a higher level of the planning system, in order to exit the road in a half mile. In order to determine the appropriate actions or movements to take, the present vehicle can conduct a search to some planning horizon. In this example, the process searches ahead five seconds in the future, with 0.25 s steps for the first two seconds and 0.5 s steps for the next three, for a total of ten steps. A decision tree can be generated where even levels correspond to potential motions of the present car, and odd levels correspond to responsive motions of other nearby actors.”)
Regarding independent claim 41:
The claim recites similar limitations as corresponding claim 33 and is rejected using the same teachings and rationale.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 22-32, 34 and 36 are rejected under 35 U.S.C. 103 as being unpatentable over Dally, in view of Seegmiller et al. (US 2021/0108936 A1) (“Seegmiller”).
Regarding independent claim 22, Dally teaches:
A subsumption-based controller for controlling operation of a system that interacts with an environment, comprising: (Dally: Abstract “Sensors measure information about actors or other objects near an object, such as a vehicle or robot, to be maneuvered. Sensor data is used to determine a sequence of possible actions for the maneuverable object to achieve a determined goal. For each possible action to be considered, one or more probable reactions of the nearby actors or objects are determined. This can take the form of a decision tree in some embodiments, with alternative levels of nodes corresponding to possible actions of the present object and probable reactive actions of one or more other vehicles or actors. Machine learning can be used to determine the probabilities, as well as to project out the options along the paths of the decision tree including the sequences. A value function is used to generate a value for each considered sequence, or path, and a path having a highest value is selected for use in determining how to navigate the object.”) (Dally: [0016] “As mentioned, various approaches to navigating or maneuvering autonomous (or at least semi-autonomous) vehicle involve some type of path planning for the vehicle. A vehicle can have various sensors as discussed elsewhere herein, as may include cameras, proximity sensors, depth sensors, motion sensors, position sensors, accelerometers, electronic compasses, and the like, which provide data that can be analyzed to determine a state of the world or environment within a determinable distance of the vehicle. …”) (Dally: [0040] “As mentioned, the present vehicle path determination system or manager can select the move or action that maximizes an expected value function. Various value functions can be utilized, and changing the value function can change the behavior of the vehicle. …”) [The vehicle or the robot reads on “a system”.]
a plan execution subsystem comprising a plurality of sequential behavioral nodes, each configured to generate a respective plan for controlling the system, each respective plan comprising a sequence of activities to be performed by the system; (Dally: [0014] (“Approaches in accordance with various embodiments provide for the navigation of controllable objects, such as autonomous vehicles or robots. These objects can be at least partially autonomous or controllable, and are capable of maneuvering based in part upon determined paths, actions, or goals, among other possibilities discussed and suggested herein. One or more sensors can be used to sense information about objects (actionable or otherwise) near a present object to be maneuvered. Information can also be obtained from nearby objects if available. The information can be used to determine a sequence of possible actions for the present object to take to achieve a determined goal, such as to progress towards a determined destination. For each possible action of the present object, one or more probable responsive or reactive actions of the nearby objects (i.e., actors) can be determined. This can take the form of a decision tree in some embodiments, with alternating levels of nodes corresponding to possible actions of the present vehicle and probable responsive actions of one or more other vehicles or actors. Machine learning can be used to determine the probabilities, as well as to project out the options along the branches and paths of the decision tree including the sequences. In some embodiments only actions with at least a minimum probability are considered. In another embodiment, actions can be considered based on factors such as the corresponding amount of risk or loss, favorability, occupant comfort, and the like. A value function can be used to generate a value for each considered sequence, or path, and a proposed navigation path having a highest value can be selected. At least a first action of the proposed navigation path can be provided to an optimizer of a control system, which can use the first action to determine how to navigate the present object. The selected path and related data can be used to update one or more machine learning models that were used for the determination, such as by sending the relevant data to a remote server capable of further training the models, which can then be used for future determinations. Transferred learning can thus be used for continued learning in at least some embodiments. Such approaches provide significant advantages over conventional approaches that separate the tasks of prediction and planning, such that the prediction is independent of the planned path, resulting in poor plans in conventional approaches.”) (Dally: [0046] “FIG. 4 illustrates an example process 400 for determining a navigation action for a vehicle that can be utilized in accordance with various embodiments. …”) (Dally: FIG. 4, step 404 “Determine sequences of possible actions of a first vehicle and responsive actions of one or more other vehicles”) [The nodes of the decision tree corresponding to possible actions or navigation paths or the sequences reads on “a plurality of sequential behavioral nodes”. The action or navigation path or the sequence corresponding to each node reads on “a respective plan … comprising a sequence of activities …”. System performing the step 404 reads on “a plan execution subsystem”.]
a plan selector node configured to select one of the respective plans for execution, wherein the plan selector node selects the one of the respective plans for execution based on relative priorities of the sequential behavioral nodes; and (Dally: [0014] and [0046] as discussed above) (Dally: FIG. 4, step 410 “Select a navigation path having a highest calculated path value”) [Point of the process at the step 410 reads on “a plan selector node”. The value for each considered sequence or path reads on “relative priorities”.]
an activity selection subsystem that receives the selected plan and executes the selected plan; (Dally: [0014] and [0046] as discussed above) (Dally: FIG. 4, step 412 “Provide at least a first action for the selected navigation path to a controller for the first vehicle”) [The system providing the actions for the selected navigation path to the controller reads on “an activity selection subsystem that receives the selected plan …”.]
wherein the activity selection subsystem comprises a plurality of activity nodes, at least one of the activity nodes being associated with an activity in the sequence of activities included in the selected plan. (Dally: [0030] “A next lower level of nodes 306 will correspond to options that could be taken by one or more other vehicles (shaded) in response to the action taken by the present car in the parent node 304 of the preceding level. Thus, if the present car moves to the right as illustrated in the parent node 304, a given vehicle (shaded) might take various actions in response, which in the illustration is to decelerate slightly to provide more room for the present car to change lanes. Other options could include the other vehicle accelerating to attempt to block the lane change, or another lane change as well, among other such options. Each of these potential options by the other car(s) can then serve as a branch to a respective node 306 at this level. The action for the present vehicle can be determined in response to that possible action by the other vehicle as a branch to a node 308 at the next level. This process can continue with a number of levels corresponding to the time scale in some embodiments, such as out to five or ten seconds with each level corresponding to a 0.25 second increment in one embodiment. The nodes of the last level can then correspond to leaf nodes at the end of the various paths, where the value determinations for the paths can be made.”) [The next lower level nodes reads on “a plurality of activity nodes”. Getting to the next lower level nodes based on the action taken by the present car in the parent node reads on “associated with an activity included in the selected plan”.]
Dally does not expressly teach: wherein, in executing the plan, the at least one of the activity nodes generates a control signal for controlling an actuator of the system to perform the associated activity.
Seegmiller teaches:
wherein, in executing the plan, the at least one of the activity nodes generates a control signal for controlling an actuator of the system to perform the associated activity. (Seegmiller: Abstract “Systems and methods of maneuvering an autonomous vehicle in a local region using topological planning, while traversing a route to a destination location, are disclosed. The system includes an autonomous vehicle including one or more sensors and a processor. The processor is configured to determine the local region on the route and receive real-time information corresponding to the local region. The processor performs topological planning to identify on or more topologically distinct classes of trajectories, compute a constraint set for each of the one or more topologically distinct classes of trajectories, optimize a trajectory to generate a candidate trajectory for each constraint set, and select a trajectory for the autonomous vehicle to traverse the local region from amongst the one or more candidate trajectories. Each of the one or more topologically distinct classes is associated with a plurality of trajectories that take the same combination of discrete actions with respect to objects in the local region.”) (Seegmiller: [0039] As discussed above, planning and control data regarding the movement of the autonomous vehicle is generated by the motion planning subsystem 124 of the controller 120 that is transmitted to the vehicle control system 113 for execution. The vehicle control system 113 may, for example, control braking via a brake controller; direction via a steering controller; speed and acceleration via a throttle controller (in a gas-powered vehicle) or a motor speed controller (such as a current level controller in an electric vehicle); a differential gear controller (in vehicles with transmissions); and/or other controllers.”) [The motion planning subsystem reads on “the at least one of the activity nodes”, and the control data reads on “a control signal”. Any one of the controlled components of the vehicle reads on “an actuator of the system”.]
Accordingly, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of Dally and Seegmiller before them, to modify the motion planning subsystem, to incorporate providing control data for various components of the vehicle to perform the movement of the vehicle.
One of ordinary skill in the art before the effective filing date of the claimed invention would have been motivated to do this modification because it would allow for causing the movement of the vehicle based on the selected trajectory. (Seegmiller: Abstract and [0039])
Regarding claim 23, Dally and Seegmiller teach all the claimed features of claim 22. Dally further teaches:
an activity tracking node that receives the selected plan, identifies a current activity that is being performed by the system, and transmits the identity of the current activity to the activity selection subsystem. (Dally: FIG. 4, step 402 “Sense one or more locations of one or more vehicles”) (Dally: [0029] “The result may then be a tree structure 300 such as illustrated in the example of FIG. 3. In this example there are many levels of nodes, with each non-leaf node having a number of branches extending from that node. Each branch corresponds to a path option as discussed herein. In the example, only the nodes of a single path are illustrated. A root node 302 represents the current placement of the vehicles, and may reference other information as well, such as current speed or acceleration, etc. The sequence of actions is considered as a turn-based game, where nodes 304 at a first level each correspond to actions that can be taken by the present vehicle (shaded). This can include, for example, paths for up to the nine possible movement actions (AR, MS, etc.).”) (Dally: [0030] “A next lower level of nodes 306 will correspond to options that could be taken by one or more other vehicles (shaded) in response to the action taken by the present car in the parent node 304 of the preceding level. Thus, if the present car moves to the right as illustrated in the parent node 304, a given vehicle (shaded) might take various actions in response, which in the illustration is to decelerate slightly to provide more room for the present car to change lanes.”) [Point of the process at the step 402 reads on “an activity tracking node”.]
Regarding claim 24, Dally and Seegmiller teach all the claimed features of claim 22. Seegmiller further teaches:
wherein the activity selection subsystem comprises an activity selector node that receives control signals from the plurality of the activity nodes, selects one of the control signals based on relative priorities of the activity nodes, and applies the selected control signal to the actuator. (Seegmiller: [0036] “Furthermore, the motion planning subsystem 124 also plans a trajectory (“trajectory generation”) for the autonomous vehicle 101 to travel on a given route (e.g., a nominal route generated by the routing module 112(b)). The trajectory specifies the spatial path for the autonomous vehicle as well as a velocity profile. The controller converts the trajectory into control instructions for the vehicle control system, including but not limited to throttle/brake and steering wheel angle commands. Trajectory generation may involve making decisions relating to lane changes, such as, without limitation, whether a lane change is required, where to perform a lane change, and when to perform a lane change. Specifically, one objective of the motion planning subsystem 124 is to generate a trajectory for motion of the vehicle from a start position to a destination on the nominal route, taking into account the perception and prediction data.”) (Seegmiller: [0075] “FIGS. 5A-5D illustrate the use of topological planning to perform a lane change maneuver in a dense traffic situation 500. The traffic situation 500 includes 4 moving objects (e.g., moving vehicles) in two lanes—501, 502, and 503 in lane 520, and 504 in lane 530. At time t0 (FIG. 5A), the autonomous vehicle 510 is in lane 530 traveling behind object 504, and needs to execute a lane change into lane 520. At time t0 (FIG. 5A), the autonomous vehicle cannot immediately execute a lane change due to being obstructed by objects 501 and 502. However, if the traffic is faster in lane 530 (i.e., 504 is moving faster than 501, 502, and 503), the autonomous vehicle may plan to accelerate and execute a lane change into the gap between objects 502 and 503. At time t1 (FIG. 5B), the autonomous vehicle is ahead of object 502 and behind object 503 in the destination lane 520, and may initiate the lane change maneuver. The autonomous vehicle also decelerates to track behind object 503. FIG. 5C illustrates completion of the lane change maneuver at time t2, using trajectory 541.”)
The motivation to combine Dally and Seegmiller as described in claim 22 is incorporated herein.
Regarding claim 25, Dally and Seegmiller teach all the claimed features of claim 22. Dally further teaches:
a planning subsystem that receives plan requests from the sequential behavioral nodes, generates plans in response to the plan requests, and transmits the generated plans to the sequential behavioral nodes. (Dally: [0035] “During each tree search, a planner can generate a number of possible moves for the present car for each even level of the tree. In the example, from the initial position the present vehicle car could do nothing (hold speed), it could turn to the left, it could turn to the right while holding speed, or turn to the right while decelerating. A “move generator” deep neural network (DNN) can be used in some embodiments to generate the three or four “highest value” moves to be explored, as may be based upon training from many instances of vehicle motion data. Similarly each other vehicle or actor can respond in multiple ways. The “move generator” DNN can generate the most likely move for non-critical actors, and up to three or four most probable moves for critical actors (such as the actors directly adjacent the present vehicle). At each step of the tree a second DNN can be used to assign a value to the position. A large negative value can be associated with any contact, with a smaller negative value being associated with getting too close or failing to maintain at least a specified distance or separation from another actor or object. A positive value can be associated with achieving the respective goal, such as by successfully moving into the right lane.”)
Regarding claim 26, Dally and Seegmiller teach all the claimed features of claims 22 and 25. Dally further teaches:
a plan request selector node; wherein the sequential behavioral nodes submit respective plan requests to the plan request selector node; and the plan request selector node selects one of the plan requests and submits the selected plan request to the planning subsystem. (Dally: [0033] “Further details on an example implementation are provided in the following example. Referring back to FIG. 1A, the present vehicle 102 being navigated is in the center lane, and there are other vehicles proximate the present vehicle on the road. The present vehicle 102 wants to change to the right lane, as may be commanded by a higher level of the planning system, in order to exit the road in a half mile. In order to determine the appropriate actions or movements to take, the present vehicle can conduct a search to some planning horizon. In this example, the process searches ahead five seconds in the future, with 0.25 s steps for the first two seconds and 0.5 s steps for the next three, for a total of ten steps. A decision tree can be generated where even levels correspond to potential motions of the present car, and odd levels correspond to responsive motions of other nearby actors.”)
Regarding claim 27, Dally and Seegmiller teach all the claimed features of claims 22 and 25-26. Dally further teaches:
wherein the plan request selector node selects a plan request for submission to the planning subsystem based on relative priorities of the sequential behavioral nodes. (Dally: [0036] “As mentioned, different drivers may respond differently. Approaches in accordance with various embodiments can therefore attempt to characterize the other nearby vehicles by observing the behavior of the vehicle, as may correspond to the behavior of the driver (or potentially of the navigation system, assuming some may be programmed or caused to behave differently). Some actors may be characterized as “aggressive,” such as may be unlikely to be cooperative in any desired movement, others might be characterized differently, such as “cautious,” “cooperative,” “drunk,” “timid,” or “erratic.” There is a continuum of driving styles, which can be exemplified by a set of scalars or value parameters, although in some embodiments classifying the actors into a discrete number of types or classifications allows for the use of a small number of “move generators”, one for each classification, to suggest how each other vehicle will respond to a move by the present vehicle. In at least some embodiments, scalar values may be more general and easier to fit. As mentioned, in some embodiments these move generators can correspond to trained machine learning models that are able to infer actions based on the determined classification, along with current sensor data, etc. With enough observations of another vehicle, the move generator may be able to be “fine-tuned” for that vehicle, such as by interpolating between the move generators of standard types. The present vehicle can chose its move by backing up the values computed at the leaf nodes to the nodes directly below the root node. The highest value can be selected at the nodes for the present vehicle, with a weighted average of the most likely moves being selected for the nodes of the other vehicles in some embodiments.”)
Regarding claim 28, Dally and Seegmiller teach all the claimed features of claim 22. Dally further teaches:
wherein the relative priorities of the sequential behavioral nodes are established at run time. (Dally: [0033] “Further details on an example implementation are provided in the following example. Referring back to FIG. 1A, the present vehicle 102 being navigated is in the center lane, and there are other vehicles proximate the present vehicle on the road. The present vehicle 102 wants to change to the right lane, as may be commanded by a higher level of the planning system, in order to exit the road in a half mile. In order to determine the appropriate actions or movements to take, the present vehicle can conduct a search to some planning horizon. In this example, the process searches ahead five seconds in the future, with 0.25 s steps for the first two seconds and 0.5 s steps for the next three, for a total of ten steps. A decision tree can be generated where even levels correspond to potential motions of the present car, and odd levels correspond to responsive motions of other nearby actors.”)
Regarding claim 29, Dally and Seegmiller teach all the claimed features of claim 22. Dally further teaches:
wherein the system comprises a robotic system, a manufacturing system and/or a communication system. (Dally: [0014] (“Approaches in accordance with various embodiments provide for the navigation of controllable objects, such as autonomous vehicles or robots….”)
Regarding claim 30, Dally and Seegmiller teach all the claimed features of claims 22 and 29. Dally further teaches:
wherein the environment comprises a manufacturing floor, a natural environment, and/or a communication medium. (Dally: [0046] “FIG. 4 illustrates an example process 400 for determining a navigation action for a vehicle that can be utilized in accordance with various embodiments. It should be understood for this and other processes discussed herein that there can be additional, alternative, or fewer steps performed in similar or alternative orders, or in parallel, within the scope of the various embodiments unless otherwise stated. In this example, the locations of one or more vehicles can be sensed 402 in an environment. This can include, for example, determining the relative positions of one or more other vehicles with respect to a first vehicle to be navigated. Other information can be determined as well, such as the velocities and directions of movement of the other vehicles, presence of road signals or traffic lights, brake lights, turn signals, presence of pedestrians, presence of construction zones, road status, or weather conditions, as may be determined using one or more vehicle sensors as discussed herein or obtained from other appropriate sources. …”)
Regarding claim 31, Dally and Seegmiller teach all the claimed features of claim 22. Seegmiller further teaches:
wherein the actuator comprises a motor. (Seegmiller: [0039] As discussed above, planning and control data regarding the movement of the autonomous vehicle is generated by the motion planning subsystem 124 of the controller 120 that is transmitted to the vehicle control system 113 for execution. The vehicle control system 113 may, for example, control braking via a brake controller; direction via a steering controller; speed and acceleration via a throttle controller (in a gas-powered vehicle) or a motor speed controller (such as a current level controller in an electric vehicle); a differential gear controller (in vehicles with transmissions); and/or other controllers.”)
The motivation to combine Dally and Seegmiller as described in claim 22 is incorporated herein.
Regarding claim 32, Dally and Seegmiller teach all the claimed features of claim 22. Dally further teaches:
wherein the subsumption-based controller is embedded within the system. (Dally: [0048] FIG. 6 illustrates an example environment 600 that can be utilized to implement aspects of the various embodiments. In many embodiments the various components will all be contained in the vehicle 602 itself, in order to avoid network or connectivity issues for security-sensitive operation. …”) (Dally: [0050] “In some embodiments, sensor data captured by the sensors 604 of the vehicle 602 can be processed on a client device in order to determine navigation actions as discussed herein. In other embodiments, the sensor data might be sent over at least one network 614 to be received by a remote computing system, as may be part of a resource provider environment 616. The software architecture in the environment 616 can also be executed in the vehicle or on a separate computing device, among other such options. …”)
Regarding claim 34, Dally teaches all the claimed features of claim 33. Dally further teaches:
wherein executing the selected plan comprises: transmitting the selected plan to an activity selection subsystem comprising a plurality of activity nodes, at least one of the activity nodes being associated with an activity in the sequence of activities included in the selected plan. (Dally: [0014] and [0046] as discussed above) (Dally: FIG. 4, step 412 “Provide at least a first action for the selected navigation path to a controller for the first vehicle”) (Dally: [0030] “A next lower level of nodes 306 will correspond to options that could be taken by one or more other vehicles (shaded) in response to the action taken by the present car in the parent node 304 of the preceding level. Thus, if the present car moves to the right as illustrated in the parent node 304, a given vehicle (shaded) might take various actions in response, which in the illustration is to decelerate slightly to provide more room for the present car to change lanes. Other options could include the other vehicle accelerating to attempt to block the lane change, or another lane change as well, among other such options. Each of these potential options by the other car(s) can then serve as a branch to a respective node 306 at this level. The action for the present vehicle can be determined in response to that possible action by the other vehicle as a branch to a node 308 at the next level. This process can continue with a number of levels corresponding to the time scale in some embodiments, such as out to five or ten seconds with each level corresponding to a 0.25 second increment in one embodiment. The nodes of the last level can then correspond to leaf nodes at the end of the various paths, where the value determinations for the paths can be made.”) [The system providing the actions for the selected navigation path to the controller reads on “an activity selection subsystem that receives the selected plan …”. The next lower level nodes reads on “a plurality of activity nodes”. Getting to the next lower level nodes based on the action taken by the present car in the parent node reads on “associated with an activity included in the selected plan”.]
Dally does not expressly teach: generating, by at least one of the activity nodes, a control signal for controlling an actuator of the system to perform the associated activity.
Seegmiller teaches:
generating, by at least one of the activity nodes, a control signal for controlling an actuator of the system to perform the associated activity. (Seegmiller: Abstract “Systems and methods of maneuvering an autonomous vehicle in a local region using topological planning, while traversing a route to a destination location, are disclosed. The system includes an autonomous vehicle including one or more sensors and a processor. The processor is configured to determine the local region on the route and receive real-time information corresponding to the local region. The processor performs topological planning to identify on or more topologically distinct classes of trajectories, compute a constraint set for each of the one or more topologically distinct classes of trajectories, optimize a trajectory to generate a candidate trajectory for each constraint set, and select a trajectory for the autonomous vehicle to traverse the local region from amongst the one or more candidate trajectories. Each of the one or more topologically distinct classes is associated with a plurality of trajectories that take the same combination of discrete actions with respect to objects in the local region.”) (Seegmiller: [0039] As discussed above, planning and control data regarding the movement of the autonomous vehicle is generated by the motion planning subsystem 124 of the controller 120 that is transmitted to the vehicle control system 113 for execution. The vehicle control system 113 may, for example, control braking via a brake controller; direction via a steering controller; speed and acceleration via a throttle controller (in a gas-powered vehicle) or a motor speed controller (such as a current level controller in an electric vehicle); a differential gear controller (in vehicles with transmissions); and/or other controllers.”) [The motion planning subsystem reads on “the at least one of the activity nodes”, and the control data reads on “a control signal”. Any one of the controlled components of the vehicle reads on “an actuator of the system”.]
Accordingly, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of Dally and Seegmiller before them, to modify the motion planning subsystem, to incorporate providing control data for various components of the vehicle to perform the movement of the vehicle.
One of ordinary skill in the art before the effective filing date of the claimed invention would have been motivated to do this modification because it would allow for causing the movement of the vehicle based on the selected trajectory. (Seegmiller: Abstract and [0039])
Regarding claim 36, Dally teaches all the claimed features of claim 33. Dally does not expressly teach the recitations of claim 36.
Seegmiller teaches:
wherein the activity selection subsystem comprises an activity selector node that receives control signals from a plurality of the activity nodes, selects one of the control signals based on relative priorities of the activity nodes, and applies the selected control signal to the actuator. (Seegmiller: [0036] “Furthermore, the motion planning subsystem 124 also plans a trajectory (“trajectory generation”) for the autonomous vehicle 101 to travel on a given route (e.g., a nominal route generated by the routing module 112(b)). The trajectory specifies the spatial path for the autonomous vehicle as well as a velocity profile. The controller converts the trajectory into control instructions for the vehicle control system, including but not limited to throttle/brake and steering wheel angle commands. Trajectory generation may involve making decisions relating to lane changes, such as, without limitation, whether a lane change is required, where to perform a lane change, and when to perform a lane change. Specifically, one objective of the motion planning subsystem 124 is to generate a trajectory for motion of the vehicle from a start position to a destination on the nominal route, taking into account the perception and prediction data.”) (Seegmiller: [0075] “FIGS. 5A-5D illustrate the use of topological planning to perform a lane change maneuver in a dense traffic situation 500. The traffic situation 500 includes 4 moving objects (e.g., moving vehicles) in two lanes—501, 502, and 503 in lane 520, and 504 in lane 530. At time t0 (FIG. 5A), the autonomous vehicle 510 is in lane 530 traveling behind object 504, and needs to execute a lane change into lane 520. At time t0 (FIG. 5A), the autonomous vehicle cannot immediately execute a lane change due to being obstructed by objects 501 and 502. However, if the traffic is faster in lane 530 (i.e., 504 is moving faster than 501, 502, and 503), the autonomous vehicle may plan to accelerate and execute a lane change into the gap between objects 502 and 503. At time t1 (FIG. 5B), the autonomous vehicle is ahead of object 502 and behind object 503 in the destination lane 520, and may initiate the lane change maneuver. The autonomous vehicle also decelerates to track behind object 503. FIG. 5C illustrates completion of the lane change maneuver at time t2, using trajectory 541.”)
Accordingly, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of Dally and Seegmiller before them, to modify the motion execution of the vehicle, to incorporate generating a trajectory for motion execution of the vehicle taking into account the perception and prediction data of the environment and selecting the vehicle movement accordingly.
One of ordinary skill in the art before the effective filing date of the claimed invention would have been motivated to do this modification because it would allow for selecting the best trajectory from the candidate trajectories based on the environmental or the situation surrounding the vehicle. (Seegmiller: Abstract, [0036] and [0075])
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 MICHAEL W CHOI whose telephone number is (571)270-5069. The examiner can normally be reached Monday-Friday 8am-5pm.
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, Kenneth Lo can be reached at (571) 272-9774. 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.
/MICHAEL W CHOI/Primary Examiner, Art Unit 2116