Prosecution Insights
Last updated: April 19, 2026
Application No. 17/837,787

PHYSICS ENGINE BASED EVALUATION OF PALLET STABILITY

Final Rejection §101§102§103
Filed
Jun 10, 2022
Examiner
GAN, CHUEN-MEEI
Art Unit
2189
Tech Center
2100 — Computer Architecture & Software
Assignee
Dexterity Inc.
OA Round
2 (Final)
82%
Grant Probability
Favorable
3-4
OA Rounds
3y 0m
To Grant
99%
With Interview

Examiner Intelligence

Grants 82% — above average
82%
Career Allow Rate
287 granted / 350 resolved
+27.0% vs TC avg
Strong +41% interview lift
Without
With
+41.4%
Interview Lift
resolved cases with interview
Typical timeline
3y 0m
Avg Prosecution
13 currently pending
Career history
363
Total Applications
across all art units

Statute-Specific Performance

§101
28.3%
-11.7% vs TC avg
§103
35.7%
-4.3% vs TC avg
§102
12.9%
-27.1% vs TC avg
§112
17.3%
-22.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 350 resolved cases

Office Action

§101 §102 §103
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 amendment filed 01/26/2026 has been entered. Claims 1 and 21-22 are amended and claims 23-25 are newly added. Claims 1-25 are pending in the application. Response to Arguments Applicant argues on page 6-7 of Remarks file on 01/26/2026 that the claims do not a mental process. Claim 1 recites "use the set of attribute values as inputs to a physics engine configured to compute a stability of a simulated stack of items." This feature includes a physics engine that models dynamic interactions and forces, such as multi-body dynamics, friction, restitution, stiffness, damping, gravity, and item-to-item interactions. …. The physics engine is not merely a generic tool but is specifically integrated into the robotic control system to simulate placements and forces iteratively, reject unstable candidates before physical execution, and trigger responsive actions such as alerts, human intervention, or replanning. This provides concrete improvements in robotic palletizing, preventing stack collapses, reducing item damage, and minimizing downtime or human intervention in warehouse environments. … This integration is analogous to McRO, Inc. V. Bandai Namco Games America Inc., where specific automation rules integrated into a process constituted a practical application, and distinguishes from mere post-solution application of an abstract idea. … The presently recited claims also amount to significantly more under Step 2B. The ordered combination of storing per-item physical attributes, inputting them to a physics engine for force-simulated stability computation, and using the output for probabilistic rejection or responsive actions exceeds well-understood, routine, or conventional computer functions. No cited art or known technique performs physics-based stability simulation during real-time robotic placement planning with force application and interventions. Examiner respectfully disagree with applicant’s arguments. Firstly, in light of applicant’s specification [0046] and [0201], “physics engine” is a computer module / program which is executed by a computer system. Moreover, the independent claims did not recite “a physics engine that models dynamic interactions and forces, such as multi-body dynamics, friction, restitution, stiffness, damping, gravity, and item-to-item interactions”, “simulate placements and forces iteratively, reject unstable candidates before physical execution, and trigger responsive actions such as alerts, human intervention, or replanning” and “preventing stack collapses, reducing item damage, and minimizing downtime or human intervention in warehouse environments.” Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993). Furthermore, in McRO, the Federal Circuit found that "the claims themselves set out meaningful requirements for the first set of rules: they 'define[] a morph weight set stream as a function of phoneme sequence and times associated with said phoneme sequence."' 837 F.3d at 1313 (citation omitted). The Federal Circuit further explained that "[t]he specific, claimed features of these rules allow for the improvement realized by the invention." Id. The present claims are distinguishable from the patent-eligible claims in McRO. Notably, the present claims do not define meaningful requirements for any "specific rules" as alleged by Applicant that are remotely analogous to the meaningful requirements for the first set of rules in McRO. The McRO court also noted that the claims at issue described a specific way (use of particular rules to set morph weights and transitions through phonemes) to solve the problem of producing accurate and realistic lip synchronization and facial expressions in animated characters, rather than merely claiming the idea of a solution or outcome, and thus were not directed to an abstract idea. 837 F.3d at 1313, 120 USPQ2d at 1101. Consequently, the office fails to see how the environmental interaction between objects result in an improvement. Rather, the alleged improvement appears to be the modeling objects. Although the courts often evaluate considerations such as the conventionality of an additional element in the eligibility analysis, the search for an inventive concept should not be confused with a novelty or non-obviousness determination. See Mayo, 566 U.S. at 91, 101 USPQ2d at 1973 (rejecting "the Government’s invitation to substitute §§ 102, 103, and 112 inquiries for the better established inquiry under § 101 "). As made clear by the courts, the "‘novelty’ of any element or steps in a process, or even of the process itself, is of no relevance in determining whether the subject matter of a claim falls within the § 101 categories of possibly patentable subject matter." Intellectual Ventures I v. Symantec Corp., 838 F.3d 1307, 1315, 120 USPQ2d 1353, 1358 (Fed. Cir. 2016) (quoting Diamond v. Diehr, 450 U.S. at 188–89, 209 USPQ at 9). See also Synopsys, Inc. v. Mentor Graphics Corp., 839 F.3d 1138, 1151, 120 USPQ2d 1473, 1483 (Fed. Cir. 2016) ("a claim for a new abstract idea is still an abstract idea. The search for a § 101 inventive concept is thus distinct from demonstrating § 102 novelty."). In addition, the search for an inventive concept is different from an obviousness analysis under 35 U.S.C. 103. See, e.g., BASCOM Global Internet v. AT&T Mobility LLC, 827 F.3d 1341, 1350, 119 USPQ2d 1236, 1242 (Fed. Cir. 2016) ("The inventive concept inquiry requires more than recognizing that each claim element, by itself, was known in the art. . . . [A]n inventive concept can be found in the non-conventional and non-generic arrangement of known, conventional pieces."). Specifically, lack of novelty under 35 U.S.C. 102 or obviousness under 35 U.S.C. 103 of a claimed invention does not necessarily indicate that additional elements are well-understood, routine, conventional elements. Because they are separate and distinct requirements from eligibility, patentability of the claimed invention under 35 U.S.C. 102 and 103 with respect to the prior art is neither required for, nor a guarantee of, patent eligibility under 35 U.S.C. 101. The distinction between eligibility (under 35 U.S.C. 101 ) and patentability over the art (under 35 U.S.C. 102 and/or 103 ) is further discussed in MPEP § 2106.05(d). In summary, applicant’s arguments under 101 rejection are not persuasive. Therefore, 101 rejection is maintained. Applicant argues on page 7-8 of Remarks file on 01/26/2026 that Kanunikov fails to disclose or render obvious "using the set of attribute values as inputs to a physics engine configured to compute a stability of a simulated stack of items comprising at least a subset of the plurality of items. … Applicant submits that Kanunikov lacks any teaching of a physics engine that take store attributes values as inputs to computer stability of a simulated stack. Examiner respectfully disagree with applicant’s arguments. As mentioned previously, in light of applicant’s specification [0046] and [0201], “physics engine” is a computer module / program which is executed by a computer system. Moreover, examiner considers Kanunikov discloses robotic system, comprising: a memory configured to store for each of a plurality of items a set of attribute values representing one or more physical attributes of the item; on [0030] and Fig. 2. PNG media_image1.png 564 436 media_image1.png Greyscale Kanunikov discloses one or more processors coupled to the memory and configured to: use the set of attribute values as inputs to a physic engine configured to compute a stability of a simulated stack of items comprising at least a subset of the plurality of items on [0033], [0157-0158] and [0170]. Applicant did not illustrate the difference between the prior art teaching with the claims. In summary, applicant’s arguments under 102 rejection are not persuasive. Therefore, 102 rejection is maintained. Specification The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant's cooperation is requested in correcting any errors of which applicant may become aware in the specification. Examiner Notes Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. The entire reference is considered to provide disclosure relating to the claimed invention. The claims & only the claims form the metes & bounds of the invention. Office personnel are to give the claims their broadest reasonable interpretation in light of the supporting disclosure. Unclaimed limitations appearing in the specification are not read into the claim. Prior art was referenced using terminology familiar to one of ordinary skill in the art. Such an approach is broad in concept and can be either explicit or implicit in meaning. Examiner's Notes are provided with the cited references to assist the applicant to better understand how the examiner interprets the applied prior art. Such comments are entirely consistent with the intent & spirit of compact prosecution. 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 1-25 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. These claims are directed to an abstract idea without significantly more. As to claim 1, Step 1: Claim 1 is directed to a system. Therefore, the claim is eligible under Step 1 for being directed to machine. Step 2A Prong One Claim 1 recites a memory configured to store for each of a plurality of items a set of attribute values representing one or more physical attributes of the item; (generic computer function) and one or more processors coupled to the memory and configured to: (generic computer function) use the set of attribute values as inputs to a physics engine configured to compute a stability of a simulated stack of items comprising at least a subset of the plurality of items. (mental process) The claimed concept is a method of determining stability of a stack of items based on a set of attributes is directed to “Mental Process” grouping. These limitations can be performed in a human mind or using pen and paper. Note that, in light of applicant’s specification [0046] and [0201], “physics engine” is a computer module / program which is executed by a computer system. Therefore, claim 1 is an abstract idea. Step 2A Prong Two The storing data step is recited at a high level of generality (i.e., as a general means of storing data for use in the evaluation step) and amounts to mere data storing, which is a form of insignificant extra-solution activity. The claim recites additional elements such as “one or more processors coupled to the memory”. Each of the additional limitations is no more than mere instructions to apply the exception using a generic computer component. Simply implementing the abstract idea on a generic computer is not a practical application of the abstract idea. See applicant’s specification [0022] Fig. 1 for generic computer description. The judicial exception is not integrated into a practical application. Step 2B: The same analysis of Step 2A Prong Two applies here in 2B. The present claim does not recite any limitation that would integrate a judicial exception into a practical application at Step 2A or provide an inventive concept in Step 2B. See MPEP 2106.05(d). The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, claim 1 is not patent eligible. Same conclusion for dependent claims of claim 1. See below. 2. (Original) The robotic system of claim 1, wherein the simulated stack of items is generated in connection with simulating a placement of an item in a particular location. (data description) 3. (Original) The robotic system of claim 1, wherein the simulated stack of items is generated in connection with simulating a placement of an item in a particular location and a particular orientation. (data description) 4. (Original) The robotic system of claim 1, wherein the one or more processors are further configured to: simulate iterative placement of the plurality of items on a pallet or other receptacle to obtain the simulated stack of items. (mental process) 5. (Original) The robotic system of claim 1, wherein the stability is computed based at least in part on a next item to be placed or a plan to place the next item. (mental process) 6. (Original) The robotic system of claim 1, wherein the stability is computed based at least in part on an interaction among at least a subset of the plurality of items. (mental process) 7. (Original) The robotic system of claim 1, wherein: the one or more processors are further configured to simulate an external force applied to the simulated stack of items; and the computed stability reflects the external force applied to the simulated stack of items. (mental process) 8. (Original) The robotic system of claim 7, wherein the external force includes a shaking force. (data description) 9. (Original) The robotic system of claim 7, wherein the external force is selected based on a simulation model. (mental process) 10. (Original) The robotic system of claim 7, wherein the external force is selected based at least in part on a user selection of a type or magnitude of a force to be simulated. (mental process) 11. (Original) The robotic system of claim 1, wherein in response to a determination that the stability of the simulated stack of items is less than a stability threshold, a candidate placement is rejected as a placement to be performed. (mental process) 12. (Original) The robotic system of claim 11, the candidate placement corresponds to a placement of one or more items in connection with which the simulated stack of items is generated. (data description) 13. (Original) The robotic system of claim 1, wherein the one or more processors are further configured to: simulate a candidate placement of one or more items to obtain the simulated stack of items; (mental process) determine a likelihood that the simulated stack of items remains stable after the candidate placement; (mental process) and in response to determining that the likelihood that the simulated stack of items remains stable is less than a predefined likelihood threshold, reject the candidate placement. (mental process) 14. (Original) The robotic system of claim 13, wherein determining the likelihood that the simulated stack of items remains stable comprises: determining the likelihood that a computed stability of the simulated stack of items exceeds a predefined stability threshold after simulating the candidate placement. (mental process) 15. (Previously presented) The robotic system of claim 13, wherein the predefined likelihood threshold is 95%. (data description) 16. (Previously presented) The robotic system of claim 1, wherein the one or more processors are further configured to: determine whether the stability of the simulated stack is less a stability threshold; and in response to determining that the stability of the simulated stack is less than the stability threshold, cause a responsive action to be performed. (mental process) 17. (Original) The robotic system of claim 16, wherein the responsive action comprises providing an alert to a user. (mental process) 18. (Original) The robotic system of claim 16, wherein the responsive action comprises causing a human intervention to be performed. (mental process) 19. (Original) The robotic system of claim 16, wherein the responsive action comprises determining a new plan to stack the plurality of items. (mental process) 20. (Original) The robotic system of claim 16, wherein the responsive action comprises simulating a placement of the plurality of items to determine a new stack of items based on a different placement model. (mental process) 23. (New) The robotic system of claim 1, wherein the physics engine models multi-body interactions among the subset of the plurality of items, including at least friction, restitution, contact damping, and stiffness, to compute the stability of the simulated stack of items. (data description) 24. (New) The robotic system of claim 7, wherein simulating the external force comprises applying an adversarial scenario including a shaking force configured to accelerate destabilization of the simulated stack of items. (mental process) 25. (New) The robotic system of claim 1, wherein the physics engine is trained using a machine learning process based on a training set comprising real-world stacks of items and corresponding interactions among the real-world stacks of items. (mere instructions to apply an exception in accordance with MPEP 2106.05(f) (1) and (3). For example, the claim recites only the idea of a solution or outcome i.e., the claim fails to recite details of how a solution to a problem is accomplished.) Same conclusion for independent claims 21 and 22. The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. In particular, the claim limitations do not recite a combination of additional elements that tie or “integrate the invention into a practical application”. Thus, claims 1-25 are not patent eligible. Claim Rejections - 35 USC § 102 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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. Claim(s) 1-6, 11-16, 18-23 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Kanunikov et al (US 2021/0129334 A1), hereinafter Kanunikov. 1. (Amended) A robotic system, comprising: a memory configured to store for each of a plurality of items a set of attribute values representing one or more physical attributes of the item; Kanunikov: [0030] “… Each of the units in the robotic system 100 can be configured to execute one or more tasks. The tasks can be combined in sequence to perform an operation that achieves a goal, such as to unload objects from a truck or a van and store them in a warehouse or to unload objects from storage locations and prepare them for shipping. For another example, the task can include placing the objects on a target location (e.g., on top of a pallet and/or inside a bin/cage/box/case). As described below, the robotic system can derive plans (e.g., placement locations/orientations, sequence for transferring the objects, and/or corresponding motion plans) for placing and/or stacking the objects. Each of the units can be configured to execute a sequence of actions (e.g., by operating one or more components therein) according to one or more of the derived plans to execute a task.” See Fig. 2. and one or more processors coupled to the memory and configured to: use the set of attribute values as inputs to a physics engine configured to compute a stability of a simulated stack of items comprising at least a subset of the plurality of items. Kanunikov: [0033] “The robotic system 100 can include and/or be coupled to physical or structural members (e.g., robotic manipulator arms) that are connected at joints for motion (e.g., rotational and/or translational displacements). The structural members and the joints can form a kinetic chain configured to manipulate an end-effector (e.g., the gripper) configured to execute one or more tasks (e.g., gripping, spinning, welding, etc.) depending on the use/operation of the robotic system 100. …” Kanunikov: [0157-0158] “The robotic system 100 may derive the processing order for an initial set of the available packages 742 off-line, such as before any of the objects are placed on the platform. In some embodiments, the robotic system 100 can dynamically derive the processing order for a remaining set of the available or remaining packages 752 after initiating or while implementing the corresponding packing plan 700. … Example triggering conditions can include stacking errors (e.g., lost or fallen objects), collision events, predetermined retriggering timings, container abnormalities (e.g., detection of the unexpected features 1004 of FIG. 10), or a combination thereof. The robotic system 100 can derive the packing plan 700 based on iteratively deriving and evaluating the candidate positions 801 and/or combinations thereof according to one or more placement rules. The robotic system 100 can derive the packing plan 700 based on overlaying object models over the discretized container model at the candidate positions 801. The robotic system 100 can estimate one or more attributes (e.g., physical arrangements of the objects, resulting weight, collision probabilities, stability, etc.) associated with the object models overlaid at the candidate positions 801.” See [0170] for additional detail of simulated stack of items. Regarding Claim 21 and 22, the same ground of rejection is made as discussed above for substantially similar rationale 0f claim 1. 2. (Original) The robotic system of claim 1, wherein the simulated stack of items is generated in connection with simulating a placement of an item in a particular location. Kanunikov: [0157-0158] “The robotic system 100 may derive the processing order for an initial set of the available packages 742 off-line, such as before any of the objects are placed on the platform. In some embodiments, the robotic system 100 can dynamically derive the processing order for a remaining set of the available or remaining packages 752 after initiating or while implementing the corresponding packing plan 700. … Example triggering conditions can include stacking errors (e.g., lost or fallen objects), collision events, predetermined retriggering timings, container abnormalities (e.g., detection of the unexpected features 1004 of FIG. 10), or a combination thereof. The robotic system 100 can derive the packing plan 700 based on iteratively deriving and evaluating the candidate positions 801 and/or combinations thereof according to one or more placement rules. The robotic system 100 can derive the packing plan 700 based on overlaying object models over the discretized container model at the candidate positions 801. The robotic system 100 can estimate one or more attributes (e.g., physical arrangements of the objects, resulting weight, collision probabilities, stability, etc.) associated with the object models overlaid at the candidate positions 801.” 3. (Original) The robotic system of claim 1, wherein the simulated stack of items is generated in connection with simulating a placement of an item in a particular location and a particular orientation. Kanunikov: [0157-0158] “The robotic system 100 may derive the processing order for an initial set of the available packages 742 off-line, such as before any of the objects are placed on the platform. In some embodiments, the robotic system 100 can dynamically derive the processing order for a remaining set of the available or remaining packages 752 after initiating or while implementing the corresponding packing plan 700. … Example triggering conditions can include stacking errors (e.g., lost or fallen objects), collision events, predetermined retriggering timings, container abnormalities (e.g., detection of the unexpected features 1004 of FIG. 10), or a combination thereof. The robotic system 100 can derive the packing plan 700 based on iteratively deriving and evaluating the candidate positions 801 and/or combinations thereof according to one or more placement rules. The robotic system 100 can derive the packing plan 700 based on overlaying object models over the discretized container model at the candidate positions 801. The robotic system 100 can estimate one or more attributes (e.g., physical arrangements of the objects, resulting weight, collision probabilities, stability, etc.) associated with the object models overlaid at the candidate positions 801.” See Fig. 7A-&c for examples. 4. (Original) The robotic system of claim 1, wherein the one or more processors are further configured to: simulate iterative placement of the plurality of items on a pallet or other receptacle to obtain the simulated stack of items. Kanunikov: [0157-0158] “The robotic system 100 may derive the processing order for an initial set of the available packages 742 off-line, such as before any of the objects are placed on the platform. In some embodiments, the robotic system 100 can dynamically derive the processing order for a remaining set of the available or remaining packages 752 after initiating or while implementing the corresponding packing plan 700. … Example triggering conditions can include stacking errors (e.g., lost or fallen objects), collision events, predetermined retriggering timings, container abnormalities (e.g., detection of the unexpected features 1004 of FIG. 10), or a combination thereof. The robotic system 100 can derive the packing plan 700 based on iteratively deriving and evaluating the candidate positions 801 and/or combinations thereof according to one or more placement rules. The robotic system 100 can derive the packing plan 700 based on overlaying object models over the discretized container model at the candidate positions 801. The robotic system 100 can estimate one or more attributes (e.g., physical arrangements of the objects, resulting weight, collision probabilities, stability, etc.) associated with the object models overlaid at the candidate positions 801.” 5. (Original) The robotic system of claim 1, wherein the stability is computed based at least in part on a next item to be placed or a plan to place the next item. Kanunikov: [0164-0165] “In deriving the placement combinations 744 (e.g., a set of candidate positions 801), the robotic system 100 can iteratively derive and evaluate candidate stacking scenarios (e.g., potential placement of objects on top of the objects at the derived candidate positions 801). For example, the robotic system 100 can evaluate the set of candidate positions 801 in a layer according to a resulting top surface area, a stability estimate, a support estimate, and/or other criteria. The evaluated criteria can require/prefer that the discretized object models entirely fit within horizontal boundaries of the placement zone. Also, the placement criteria can require that placement of the discretized object models be within a threshold distance relative to the initial placement location (e.g., such as along a horizontal direction) and/or the previous placement location, such as for adjacent placements or separation requirements. Other examples of the placement criteria can include preferences for adjacently placing packages having smallest difference(s) in one or more package dimensions (e.g., height), the fragility ratings, the package weight ranges, or a combination thereof. In some embodiments, the placement criteria can include collision probabilities that can correspond to locations and/or characteristics (e.g., height) of previously assigned packages in the layer relative to a reference location (e.g., location of the palletizing robot). … In finalizing the placement locations for a 2D layer, the robotic system 100 can calculate/update a placement score for each combination/package placement. The robotic system 100 can calculate the placement score according to one or more of the placement conditions/preferences (e.g., package dimensions, collision probabilities, fragility ratings, package weight ranges, separation requirements, package quantity conditions). …” 6. (Original) The robotic system of claim 1, wherein the stability is computed based at least in part on an interaction among at least a subset of the plurality of items. Kanunikov: [0164-0165] I”n deriving the placement combinations 744 (e.g., a set of candidate positions 801), the robotic system 100 can iteratively derive and evaluate candidate stacking scenarios (e.g., potential placement of objects on top of the objects at the derived candidate positions 801). For example, the robotic system 100 can evaluate the set of candidate positions 801 in a layer according to a resulting top surface area, a stability estimate, a support estimate, and/or other criteria. The evaluated criteria can require/prefer that the discretized object models entirely fit within horizontal boundaries of the placement zone. Also, the placement criteria can require that placement of the discretized object models be within a threshold distance relative to the initial placement location (e.g., such as along a horizontal direction) and/or the previous placement location, such as for adjacent placements or separation requirements. Other examples of the placement criteria can include preferences for adjacently placing packages having smallest difference(s) in one or more package dimensions (e.g., height), the fragility ratings, the package weight ranges, or a combination thereof. In some embodiments, the placement criteria can include collision probabilities that can correspond to locations and/or characteristics (e.g., height) of previously assigned packages in the layer relative to a reference location (e.g., location of the palletizing robot). … In finalizing the placement locations for a 2D layer, the robotic system 100 can calculate/update a placement score for each combination/package placement. The robotic system 100 can calculate the placement score according to one or more of the placement conditions/preferences (e.g., package dimensions, collision probabilities, fragility ratings, package weight ranges, separation requirements, package quantity conditions). …” 11. (Original) The robotic system of claim 1, wherein in response to a determination that the stability of the simulated stack of items is less than a stability threshold, a candidate placement is rejected as a placement to be performed. Kanunikov: [0085] “Also, for potential placements of each package, the robotic system 100 can identify and eliminate placements that violate one or more requirements/constraints. One example of the requirements/constraints can be based on collision probabilities. The robotic system 100 can calculate an approach path for each placement location and a corresponding collision probability according to the pre-existing footprint, one or more dimensions of the packages, a location of the transfer robot, a previous event or history, or a combination thereof. The robotic system 100 can eliminate the placements where the collision probability exceeds a predetermined threshold. Another example of the requirements/constraints can be a supported weight for stacking (i.e., placing directly on/over one or more support packages) the package. For one or more of the packages under the placement location, the robotic system 100 can calculate a support weight (i.e., a combined weight of packages or portions thereof directly over) based on the weight of the placed package. The robotic system 100 can eliminate the placements where the support weight violates (e.g., exceeds or is within a threshold range from) a fragility requirement (e.g., a maximum supportable weight) for one or more of the packages under the placement location.” 12. (Original) The robotic system of claim 11, the candidate placement corresponds to a placement of one or more items in connection with which the simulated stack of items is generated. Kanunikov: [0085] “Also, for potential placements of each package, the robotic system 100 can identify and eliminate placements that violate one or more requirements/constraints. One example of the requirements/constraints can be based on collision probabilities. The robotic system 100 can calculate an approach path for each placement location and a corresponding collision probability according to the pre-existing footprint, one or more dimensions of the packages, a location of the transfer robot, a previous event or history, or a combination thereof. The robotic system 100 can eliminate the placements where the collision probability exceeds a predetermined threshold. Another example of the requirements/constraints can be a supported weight for stacking (i.e., placing directly on/over one or more support packages) the package. For one or more of the packages under the placement location, the robotic system 100 can calculate a support weight (i.e., a combined weight of packages or portions thereof directly over) based on the weight of the placed package. The robotic system 100 can eliminate the placements where the support weight violates (e.g., exceeds or is within a threshold range from) a fragility requirement (e.g., a maximum supportable weight) for one or more of the packages under the placement location.” 13. (Original) The robotic system of claim 1, wherein the one or more processors are further configured to: simulate a candidate placement of one or more items to obtain the simulated stack of items; Kanunikov: [0158] “The robotic system 100 can derive the packing plan 700 based on iteratively deriving and evaluating the candidate positions 801 and/or combinations thereof according to one or more placement rules. The robotic system 100 can derive the packing plan 700 based on overlaying object models over the discretized container model at the candidate positions 801. The robotic system 100 can estimate one or more attributes (e.g., physical arrangements of the objects, resulting weight, collision probabilities, stability, etc.) associated with the object models overlaid at the candidate positions 801.” determine a likelihood that the simulated stack of items remains stable after the candidate placement; and in response to determining that the likelihood that the simulated stack of items remains stable is less than a predefined likelihood threshold, reject the candidate placement. Kanunikov: [0085] “Also, for potential placements of each package, the robotic system 100 can identify and eliminate placements that violate one or more requirements/constraints. One example of the requirements/constraints can be based on collision probabilities. The robotic system 100 can calculate an approach path for each placement location and a corresponding collision probability according to the pre-existing footprint, one or more dimensions of the packages, a location of the transfer robot, a previous event or history, or a combination thereof. The robotic system 100 can eliminate the placements where the collision probability exceeds a predetermined threshold. Another example of the requirements/constraints can be a supported weight for stacking (i.e., placing directly on/over one or more support packages) the package. For one or more of the packages under the placement location, the robotic system 100 can calculate a support weight (i.e., a combined weight of packages or portions thereof directly over) based on the weight of the placed package. The robotic system 100 can eliminate the placements where the support weight violates (e.g., exceeds or is within a threshold range from) a fragility requirement (e.g., a maximum supportable weight) for one or more of the packages under the placement location.” 14. (Original) The robotic system of claim 13, wherein determining the likelihood that the simulated stack of items remains stable comprises: determining the likelihood that a computed stability of the simulated stack of items exceeds a predefined stability threshold after simulating the candidate placement. Kanunikov: [0085] “Also, for potential placements of each package, the robotic system 100 can identify and eliminate placements that violate one or more requirements/constraints. One example of the requirements/constraints can be based on collision probabilities. The robotic system 100 can calculate an approach path for each placement location and a corresponding collision probability according to the pre-existing footprint, one or more dimensions of the packages, a location of the transfer robot, a previous event or history, or a combination thereof. The robotic system 100 can eliminate the placements where the collision probability exceeds a predetermined threshold. …” 15. (Previously presented) The robotic system of claim 13, wherein the predefined likelihood threshold is 95%. Kanunikov: [0107] “In some embodiments, the robotic system 100 may compare the object-wall separation 726 to a support threshold distance that represents a limit for supporting the top package 772. The support threshold distance may be based on one or more physical aspects of the top package 772 (e.g., package height). For example, the support threshold distance can be for determining whether the object-wall separation 726 is large enough for the top package 772 to laterally shift and fall between the support wall 725 and the support package 774. Accordingly, the horizontal offset rule 776, the wall-support rule 794, the tilt-support rule 796, and/or other placement rules may require the object-wall separation 726 to be below the support threshold distance (e.g., a fraction of a dimension of the top package). In one or more embodiments, the robotic system 100 may adjust the threshold requirements for the effective support 795 based on the relationship between the object-wall separation 726 and the support threshold distance. For example, the robotic system 100 may increase the threshold requirement for the effective support 795 (e.g., from between 51% and 60% to 75% or greater) when the object-wall separation 726 is greater than the support threshold distance.” 16. (Previously presented) The robotic system of claim 1, wherein the one or more processors are further configured to: determine whether the stability of the simulated stack is less a stability threshold; and in response to determining that the stability of the simulated stack is less than the stability threshold, cause a responsive action to be performed. Kanunikov: [0085] “Also, for potential placements of each package, the robotic system 100 can identify and eliminate placements that violate one or more requirements/constraints. One example of the requirements/constraints can be based on collision probabilities. The robotic system 100 can calculate an approach path for each placement location and a corresponding collision probability according to the pre-existing footprint, one or more dimensions of the packages, a location of the transfer robot, a previous event or history, or a combination thereof. The robotic system 100 can eliminate the placements where the collision probability exceeds a predetermined threshold. Another example of the requirements/constraints can be a supported weight for stacking (i.e., placing directly on/over one or more support packages) the package. For one or more of the packages under the placement location, the robotic system 100 can calculate a support weight (i.e., a combined weight of packages or portions thereof directly over) based on the weight of the placed package. The robotic system 100 can eliminate the placements where the support weight violates (e.g., exceeds or is within a threshold range from) a fragility requirement (e.g., a maximum supportable weight) for one or more of the packages under the placement location.” 18. (Original) The robotic system of claim 16, wherein the responsive action comprises causing a human intervention to be performed. Kanunikov: [0043] “The input-output devices 208 can include user interface devices configured to communicate information to and/or receive information from human operators. For example, the input-output devices 208 can include a display 210 and/or other output devices (e.g., a speaker, a haptics circuit, or a tactile feedback device, etc.) for communicating information to the human operator. Also, the input-output devices 208 can include control or receiving devices, such as a keyboard, a mouse, a touchscreen, a microphone, a user interface (UI) sensor (e.g., a camera for receiving motion commands), a wearable input device, etc. In some embodiments, the robotic system 100 can use the input-output devices 208 to interact with the human operators in executing an action, a task, an operation, or a combination thereof.” Kanunikov: [0065]” Dimensions of the discretization units 602 can include a length that is preset by a system operator, a system designer, a predetermined input/setting, or a combination thereof. In some embodiments, the dimensions of the discretization units 602 can be adjusted dynamically during operation of the robotic system 100. In some embodiments, the size of the discretization units 602 (e.g., the discretization unit) can change according to dimensions of the objects and/or dimensions of the loading platforms. The size of the discretization units 602 (e.g., pixels) can also be adjusted (via, e.g., a preset rule/equation and/or operator selection) to balance required resources (e.g., computation times, required memory, etc.) with packing accuracy. …” 19. (Original) The robotic system of claim 16, wherein the responsive action comprises determining a new plan to stack the plurality of items. Kanunikov: [0199] “When the adjustments to the existing packing plan 700 is not available or cannot be validated, the robotic system 100 may implement a portion of the method 1100. For example, the robotic system 100 can redetermine package groupings (block 1106) and/or processing order (block 1108) for the objects associated with the existing packing plan 700. In some embodiments, the robotic system 100 may access the previously determined instances of the package groupings and/or the processing order. With the resulting information, the robotic system 100 can rederive new 2D plans using the obtained image(s) instead of the container model(s). Accordingly, the robotic system 100 can account for the unexpected features 1002 and derive a new instance of the packing plan that replaces the existing packing plan 700.” 20. (Original) The robotic system of claim 16, wherein the responsive action comprises simulating a placement of the plurality of items to determine a new stack of items based on a different placement model. Kanunikov: [0199] “When the adjustments to the existing packing plan 700 is not available or cannot be validated, the robotic system 100 may implement a portion of the method 1100. For example, the robotic system 100 can redetermine package groupings (block 1106) and/or processing order (block 1108) for the objects associated with the existing packing plan 700. In some embodiments, the robotic system 100 may access the previously determined instances of the package groupings and/or the processing order. With the resulting information, the robotic system 100 can rederive new 2D plans using the obtained image(s) instead of the container model(s). Accordingly, the robotic system 100 can account for the unexpected features 1002 and derive a new instance of the packing plan that replaces the existing packing plan 700.” 23. (New) The robotic system of claim 1, wherein the physics engine models multi-body interactions among the subset of the plurality of items, including at least friction, restitution, contact damping, and stiffness, to compute the stability of the simulated stack of items. Kanunikov: [0102] “In one or more embodiments, the tilt-support rule 796 may further be based on the weight of the top package 772 and/or the CoM location 782 of the top package 772 relative to the pivot location 793. For example, the robotic system 100 can calculate an object-shift likelihood (e.g., a likelihood of lateral displacement during transfer) for the top package 772 based on the weight thereof. Also, the robotic system 100 can calculate an object-rotation likelihood for the top package 772 based on the weight and the CoM location 782 of the top package 772 relative to the pivot location 793. The robotic system 100 may calculate the various likelihoods according to one or more predetermined equations/processes that account for forces encountered by the objects during transfer, friction forces between placed objects and/or container, and/or other associated physical parameters. The robotic system 100 may include qualifying threshold(s) for the various likelihoods. In other words, the robotic system 100 may conclude that the targeted placement position satisfies the tilt-support rule 796 when the calculated shift/rotation likelihoods are below the qualifying thresholds with or without considering the tilt angle 797.” 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. Claim(s) 7-10 and 24 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kanunikov et al (US 2021/0129334 A1), hereinafter Kanunikov, in view of Zheng et a (US 2014/0343910 A1), hereinafter Zheng.7. (Original) The robotic system of claim 1, Kanunikov does not appear to explicitly disclose wherein: the one or more processors are further configured to simulate an external force applied to the simulated stack of items; and the computed stability reflects the external force applied to the simulated stack of items. However, Zheng discloses wherein: the one or more processors are further configured to simulate an external force applied to the simulated stack of items; Zheng: [0053] “The simulation may be run to simulate real world events. The simulation may simulate various forces on the unit load created by, for example, acceleration, centrifugal movement, deceleration, g-forces, and impact on the unit load. The domain space lower surface may be at an angle during different parts of the simulation. The angle may be any angle capable of being achieved by a forklift, such as, for example, between zero degrees and forty five degrees. For example, the domain space lower surface may be at zero degrees during a part of the simulation, twenty degrees during another part of the simulation, and back to zero degrees during another part of the simulation.” and the computed stability reflects the external force applied to the simulated stack of items. Zheng: [0055] “The simulation may be run on multiple pallets or a unit load comprising two pallets as shown in FIG. 12 to determine the stability of both unit loads as one unit and to determine the impact of the upper pallet on the primary packages and on the secondary packages of the lower pallet.” Kanunikov and Zheng are analogous art because they are from the “same field of endeavor” packing analysis. Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art, having the teachings of Kanunikov and Zheng before him or her, to modify the method of Kanunikov to include the force simulation feature of Zheng because this combination improves the accuracy of the simulation. The suggestion/motivation for doing so would have been Zheng: [0004] “As a result, it would be beneficial to simulate a pallet with a unit load to test for different item configurations allowing one to determine the stability of the unit load when exposed to various forces.” Therefore, it would have been obvious to combine Kanunikov and Zheng to obtain the invention as specified in the instant claim(s). 8. (Original) The robotic system of claim 7, Zheng discloses wherein the external force includes a shaking force [0053] “The simulation may be run to simulate real world events. The simulation may simulate various forces on the unit load created by, for example, acceleration, centrifugal movement, deceleration, g-forces, and impact on the unit load. The domain space lower surface may be at an angle during different parts of the simulation. The angle may be any angle capable of being achieved by a forklift, such as, for example, between zero degrees and forty five degrees. For example, the domain space lower surface may be at zero degrees during a part of the simulation, twenty degrees during another part of the simulation, and back to zero degrees during another part of the simulation.” 9. (Original) The robotic system of claim 7, wherein the external force is selected based on a simulation model. Zheng: [0056] “The output of the model may be controlled based on the parameters used for the primary package properties, the secondary package properties, the configuration of the primary packages, the configuration of the secondary packages, and the simulated forces. Parameters may include the coefficient of friction based on the adjacent materials, the friction between two or more primary packages, the friction between two or more secondary packages, the friction between the pallet and the packages, the friction between the containment structure and the packages, and the friction between the packages and a tie sheet. Frictional forces may include static forces and dynamic behavior forces.” 10. (Original) The robotic system of claim 7, wherein the external force is selected based at least in part on a user selection of a type or magnitude of a force to be simulated. Zheng: [0056] “The output of the model may be controlled based on the parameters used for the primary package properties, the secondary package properties, the configuration of the primary packages, the configuration of the secondary packages, and the simulated forces. Parameters may include the coefficient of friction based on the adjacent materials, the friction between two or more primary packages, the friction between two or more secondary packages, the friction between the pallet and the packages, the friction between the containment structure and the packages, and the friction between the packages and a tie sheet. Frictional forces may include static forces and dynamic behavior forces.” Zheng [0077] “The primary package 300 may be defined by any one of multiple geometries. The multiple geometries may be subdivided into elements or portions of the whole geometry. A user may input parameters for the elements such as density, weight, stiffness, and a center of mass. Individual packages may have differing stiffness based on the geometric orientation of the package. Finite element analysis may be used to determine the center of mass for a portion of the primary package 300 or the entire primary package 300.” 24. (New) The robotic system of claim 7, wherein simulating the external force comprises applying an adversarial scenario including a shaking force configured to accelerate destabilization of the simulated stack of items. Zheng: [0053] “The simulation may be run to simulate real world events. The simulation may simulate various forces on the unit load created by, for example, acceleration, centrifugal movement, deceleration, g-forces, and impact on the unit load. The domain space lower surface may be at an angle during different parts of the simulation. The angle may be any angle capable of being achieved by a forklift, such as, for example, between zero degrees and forty five degrees. For example, the domain space lower surface may be at zero degrees during a part of the simulation, twenty degrees during another part of the simulation, and back to zero degrees during another part of the simulation.” Zheng: [0056] “The output of the model may be controlled based on the parameters used for the primary package properties, the secondary package properties, the configuration of the primary packages, the configuration of the secondary packages, and the simulated forces. Parameters may include the coefficient of friction based on the adjacent materials, the friction between two or more primary packages, the friction between two or more secondary packages, the friction between the pallet and the packages, the friction between the containment structure and the packages, and the friction between the packages and a tie sheet. Frictional forces may include static forces and dynamic behavior forces.” Claim(s) 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kanunikov et al (US 2021/0129333 A1), hereinafter Kanunikov, in view of Diankov et al (US 2021/0237274 A1), hereinafter Diankov. 17. (Original) The robotic system of claim 16, Kanunikov does not appear to explicitly wherein the responsive action comprises providing an alert to a user. However, Diankov discloses wherein the responsive action comprises providing an alert to a user [0134] “As such, in response to determining one or more errors and/or identifying one or more packaging conditions posing a risk of collision, the robotic system 100 (at block 840) can determine a response to the errors and/or potential collisions identified at blocks 832-838. Examples of appropriate responses can include any one or more of the following: (a) alerting an operator and/or another system of the error and/or the real-time conditions posing a risk of a collision; …” Kanunikov and Diankov are analogous art because they are from the “same field of endeavor” packing analysis. Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art, having the teachings of Kanunikov and Diankov before him or her, to modify the method of Kanunikov to include the alert feature of Diankov because this combination improves user’s experience. The suggestion/motivation for doing so would have been Diankov [0020] “Systems and methods for identifying various packaging errors and dynamically packing objects (e.g., packages and/or boxes) are described herein. A robotic system (e.g., an integrated system of devices that executes one or more designated tasks) configured in accordance with some embodiments provides enhanced packing and storage efficiency by dynamically deriving storage locations for the objects and stacking them accordingly.” Therefore, it would have been obvious to combine Kanunikov and Diankov to obtain the invention as specified in the instant claim(s). Claim(s) 25 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kanunikov et al (US 2021/0129334 A1), hereinafter Kanunikov, in view of Balakirsky et al (NPL: Using Simulation to Assess the Effectiveness of Pallet Stacking Methods, 2010) hereinafter Balakirsky. 25. (New) The robotic system of claim 1, Kanunikov does not appear to explicitly wherein the physics engine is trained using a machine learning process based on a training set comprising real-world stacks of items and corresponding interactions among the real-world stacks of items. However, Balakirsky discloses wherein the physics engine is trained using a machine learning process based on a training set comprising real-world stacks of items and corresponding interactions among the real-world stacks of items (page 345 section 6) “The first real trial of the metrics being developed for this effort occurred during the 2010 Virtual Manufacturing Automation Competition (VMAC) [4] that was part of the IEEE International Conference on Robotics and Automation (ICRA) robot challenge. During this event, three different palletizing approaches were evaluated through the use of our metrics. These approaches included a university created neural network learning-based approach, a university created deterministic planning approach, and a commercial product that is commonly used by industry.” Kanunikov and Balakirsky are analogous art because they are from the “same field of endeavor” packing analysis. Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art, having the teachings of Kanunikov and Balakirsky before him or her, to modify the method of Kanunikov to include the neural network learning-based approach of Balakirsky because this combination improves the model performance. The suggestion/motivation for doing so would have been Balakirsky (page 345) Through experience garnered by visual simulations, we hope to improve the pallet metrics so that they can be easily applied and yield results consistent with expert opinions. Therefore, it would have been obvious to combine Kanunikov and Balakirsky to obtain the invention as specified in the instant claim(s). 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 CHUEN-MEEI GAN whose telephone number is (469)295-9127. The examiner can normally be reached Monday-Friday 9:00 am to 4:00 pm 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, Rehana Perveen can be reached at 571-272-3676. 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. /CHUEN-MEEI GAN/Primary Examiner, Art Unit 2189
Read full office action

Prosecution Timeline

Jun 10, 2022
Application Filed
Sep 30, 2022
Response after Non-Final Action
Oct 10, 2025
Non-Final Rejection — §101, §102, §103
Jan 26, 2026
Response Filed
Feb 25, 2026
Final Rejection — §101, §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591720
TRAFFIC SIMULATION METHOD FOR CREATING AN OPTIMIZED OBJECT MOTION PATH IN THE SIMULATOR
2y 5m to grant Granted Mar 31, 2026
Patent 12591721
METHOD AND NUMERICAL THREE-DIMENSIONAL MODEL TO SIMULATE DAM BREACH FOR HOMOGENEOUS AND ZONED SOIL DAMS
2y 5m to grant Granted Mar 31, 2026
Patent 12585842
INFORMATION PROCESSING DEVICE, PROGRAM, AND INFORMATION PROCESSING METHOD
2y 5m to grant Granted Mar 24, 2026
Patent 12579340
DYNAMIC SIMULATION MODELS CONSTANTLY ADAPTING TO THE CHANGES OF COMPLEX SYSTEMS
2y 5m to grant Granted Mar 17, 2026
Patent 12572713
TECHNIQUES FOR EXTRACTION FROM VEHICLE DRIVING LOG FILES TO SIMULATION SCENARIOS
2y 5m to grant Granted Mar 10, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

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

Prosecution Projections

3-4
Expected OA Rounds
82%
Grant Probability
99%
With Interview (+41.4%)
3y 0m
Median Time to Grant
Moderate
PTA Risk
Based on 350 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

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

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

Free tier: 3 strategy analyses per month