Prosecution Insights
Last updated: August 18, 2026
Application No. 18/504,974

MOBILE ROBOT MANAGEMENT SYSTEMS

Non-Final OA §103§112
Filed
Nov 08, 2023
Priority
Nov 28, 2022 — provisional 63/385,193
Examiner
CAIN, AARON G
Art Unit
3656
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Omron Corporation
OA Round
3 (Non-Final)
43%
Grant Probability
Moderate
3-4
OA Rounds
7m
Est. Remaining
72%
With Interview

Examiner Intelligence

Grants 43% of resolved cases
43%
Career Allowance Rate
61 granted / 142 resolved
-9.0% vs TC avg
Strong +29% interview lift
Without
With
+29.3%
Interview Lift
resolved cases with interview
Typical timeline
3y 4m
Avg Prosecution
28 currently pending
Career history
181
Total Applications
across all art units

Statute-Specific Performance

§101
0.6%
-39.4% vs TC avg
§103
59.9%
+19.9% vs TC avg
§102
19.7%
-20.3% vs TC avg
§112
19.0%
-21.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 142 resolved cases

Office Action

§103 §112
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Status of Claims The Office Action is in response to the applicant’s communication filed 06/26/2026. Claims 1-28 are presently pending and presented for examination. Information Disclosure Statement The information disclosure statement (IDS) submitted on 06/26/2026 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner. Response to Arguments Applicant’s arguments, see 11-16, filed 06/26/2026, with respect to the rejection(s) of claim(s) 1-3 and 9 under 35 U.S.C. 103 as being unpatentable over Vestal et al. US 20140365258 A1 (“Vestal”) in view of Coughran et al. US 10956855 B1 (“Coughran”), and in further view of Wolfson US 6801850 B1 (“Wolfson”), have been fully considered but they are not persuasive. Applicant argues that Wolfson, which was previously relied upon to teach the elements of claim 5, which have been added to the amended claim 1. Applicant argues on pages 12-13 that Wolfson does not teach the elements regarding retrieving the expected location value from a database, or that the path length value for a path from the location of the assigned robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots. However, the claims do not specify where the robot’s database is located, meaning that a robot with an on-board database would read on the claims. Wolfson teaches that the object’s trajectory can be recomputed by a database during the travel of the moving object [Column 4, lines 58-67], meaning that the information in question is being produced by a database, although it is unclear from the claims where the processor that receives the information is located in the claimed invention. For instance, nothing in the claims suggests that the processor is located on one of the robots, or in a remote location. Further, Wolfson teaches in Column 9, lines 11-21, that an object’s travel path can be predicted based on historical data, which indicates, at least to the point of obviousness, that the information regarding the path length can be determined based on paths previously navigated by one of the robots. Applicant then argues on page 13 that Wolfson does not discuss the elements regarding “path length value.” However, as previously stated in the prior office action, while Wolfson does not expressly teach that the path length values are included in the robot location information, it is implicit that the path length values and other path information would be updated with the robot location information, since this would be an obvious application of known elements to produce a predictable result with a high chance of success. In the absence of any new arguments regarding this statement of obviousness, the examiner is maintaining the previous rejection. For these reasons, claims 2-9, which depend from claim 1, are also rejected in view of Vestal, Coughran, and Wolfson, and 10-21, which are similar to claims 1-9, are also rejected in view of Vestal, Coughran, and Wolfson. New claims 22-28 are now rejected in view of Vestal et al. US 20140365258 A1 (“Vestal”) in view of Coughran et al. US 10956855 B1 (“Coughran”) and Wolfson US 6801850 B1 (“Wolfson”), and Kang et al. US 20220326715 A1 (“Kang”). Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claim 22 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim 22 recites the language “determine the path length values of the paths from the plurality of locations of the task location” in lines 6-7. As the claim is written, it is unclear if this is saying “determine the previous path length values” or “determine the current path length values”. This makes the claim indefinite, as it is unclear which set of path length values the system is referring. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim(s) 1-3, 5-9, 18-22, and 26-28 are rejected under 35 U.S.C. 103 as being unpatentable over Vestal et al. US 20140365258 A1 (“Vestal”) in view of Coughran et al. US 10956855 B1 (“Coughran”) and Wolfson US 6801850 B1 (“Wolfson”). Regarding Claim 1. Vestal teaches a mobile robot fleet management system comprising: a communication module comprising data processing hardware; a processor (a job management system located in a server room, shown in FIG. 1 at 162, with a network interface configured to receive job requests [paragraph 86], wherein the job management system may be configured to communicate with the job requesting system and a fleet of autonomously-navigating mobile robots [paragraph 88, FIG. 2]. Mobile robots in the fleet may be configured to receive commands and assignments from the job management system and send updates to the job management system via a variety of different data communication methods [paragraph 82]); and computer-readable memory in communication with the processor, the computer-readable memory configured to store a database of path length information (paragraph 27 describes a memory capable of storing robot position information, the location of a current job, current job destination path, and proximity to the current job location, implying that the path length is stored as well), the computer-readable memory storing instructions that are executable by the processor to cause the processor to: receive, using the communication module, path length information from a fleet of mobile robots as the fleet of mobile robots navigates through an environment (paragraph 27); identify a task and a task location associated with the task; identify a plurality of locations of a plurality of mobile robots of the fleet of mobile robots (The memory also contains a status profile and a configuration profile for each mobile robot. The status profile may comprise a file or data structure stored in the memory that includes records and/or fields suitable for holding and/or indicating one or more of a wide variety of different current status values or conditions for each mobile robot in the fleet, including without limitation the following: a robot identifier; a robot position; a robot heading; a current robot speed; a current job identifier; a current job status; a current job location; a proximity to the current job location; a current job destination path; an estimated time of arrival; etc. [paragraph 27]); determine, one or more path length values of one or more paths from the plurality of locations to the task location; and assign the task to a mobile robot of the plurality of mobile robots based at least in part on the one or more path length values (FIG. 14 contains a high-level flow diagram that shows an algorithm and illustrates the steps that might be performed by the processor in an job management system, according to one embodiment of the invention, in order to assign job requests to a particular mobile robot in the fleet, taking into account factors such as remaining battery power, robot capabilities (i.e., configuration) and the distance between the mobile robot's current position and the pickup location. Those of ordinary skill in the art will recognize and appreciate that other status and configuration factors could also be used to determine assignments, such as available payload space, traffic conditions along the route, high-priority critical tasks, the required time of arrival, whether deliveries can be batched together, etc. Using a combination of these factors, the system may determine, for example, that the best mobile robot to assign to a particular task may not be the mobile robot that is currently closest in proximity to where that task will be performed [paragraph 164], which implicitly means that a task location is identified, even if these details are not explicitly stated, along with the locations of the robots and a length of the paths the robots would need to travel, as there is no way that the server could know which robots are closest to the task location without knowing the path lengths. Steps 1408, 1410, 1414 and 1416. When the list of potential assignees is completed, the system reviews the list to find the mobile robot closest to the job location and assigns that robot to the job request. See steps 1428, 1430 and 1432 [paragraph 165]). Vestal does not teach: store the path length information in the database, wherein the path length information indicates a set of path length values between different sections of the environment for a set of paths previously navigated by the fleet of mobile robots through the environment; determine, using the set of path length values of the set of paths previously navigated by the fleet of mobile robots, path length values of paths from the plurality of locations to the task location, and assign the task to a mobile robot of the plurality of mobile robots based at least in part on the one or more path length values of the one or more paths from the plurality of locations to the task location, as determined using the set of path length values of the set of paths previously navigated by the fleet of mobile robots. However, Coughran teaches: store the path length information in the database, wherein the path length information indicates a set of path length values between different sections of the environment for a set of paths previously navigated by the fleet of mobile robots through the environment (FIG. 6 is a diagram of an example prediction subsystem 602. The prediction subsystem 602 can build a predictive model using previous trip data in order to evaluate candidate routes using present readings of system sensors [Column 19, lines 4-7]. Notably, the external data feeds 615 of FIG. 6 include values from various sensors in communication with the prediction subsystem 602. These values can include, for example, traffic conditions on various road segments at particular times, weather conditions in particular geographic areas, telemetry data describing how an agent traversed a route, to name just a few examples [Column 19, lines 30-36]); determine, using the set of path length values of the set of paths previously navigated by the fleet of mobile robots, path length values of paths from the plurality of locations to the task location (FIG. 7 is a flow chart of an example process for scoring candidate routes using one or more predictive models. The example process can be performed by an appropriately programmed system of one or more computers, e.g., the prediction subsystem of FIG. 6 [Column 21, lines 25-31]. This includes ranking candidate routes based on predicted scores at 770. The specification also describes how fleets that transport, unload and load goods, or perform services between multi-point locations can operate [Column 5, lines 56-58], meaning multiple paths with one or more different start and ending locations are included); assign the task to a mobile robot of the plurality of mobile robots based at least in part on the one or more path length values of the one or more paths from the plurality of locations to the task location, as determined using the set of path length values of the set of paths previously navigated by the fleet of mobile robots (The assisted type of requests are handled by passing the unorganized unassigned tasks (UUT) 1300 requests from the API 412, and leads to a process that is responsible for task assignment 1302, which then leads to task sequencing 1303, and then to generating the directions and the estimated time of arrival (E.T.A.) 1203, which leads to the definition of the route 1101. The task assignment 1302 is the process by which the system decides, establishes, and makes commitments as to which tasks to assign to which agents, completion tools, and others, with the intent of delegating the effort to the most appropriate resource for completing the task. Additionally, the assisted type of request can handle the requests for the unorganized assigned tasks (UAT) 1301 [Column 27, lines 25-37]). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with store the path length information in the database, wherein the path length information indicates a set of path length values between different sections of the environment for a set of paths previously navigated by the fleet of mobile robots through the environment; determine, using the set of path length values of the set of paths previously navigated by the fleet of mobile robots, path length values of paths from the plurality of locations to the task location, and assign the task to a mobile robot of the plurality of mobile robots based at least in part on the one or more path length values of the one or more paths from the plurality of locations to the task location, as determined using the set of path length values of the set of paths previously navigated by the fleet of mobile robots as taught by Coughran so as to allow the system to learn from previous robot travel routes and determine the best robot to assign to a task based on historic data. Vestal also does not teach: receive an actual path length value from the assigned mobile robot for an actual path for an actual path from a location of the assigned mobile robot to the task location; retrieve an expected path length value from the database, wherein the expected path length value comprises a path length value for a path from the location of the assigned robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots; compare the actual path length value and the expected path length value from the database; and modify the database in response to the comparison of the actual path length value and the expected path length value from the database. However, Wolfson teaches: receive an actual path length value from the assigned mobile robot for an actual path for an actual path from a location of the assigned mobile robot to the task location; retrieve an expected path length value from the database, wherein the expected path length value comprises a path length value for a path from the location of the assigned robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots; compare the actual path length value and the expected path length value from the database; and modify the database in response to the comparison of the actual path length value and the expected path length value from the database (The robotic FIG. 7 illustrates a flowchart for a device that receives map information from the database and computes its own trajectory. The device determines its current location 300, and it transmits that location to the database 302. The device then receives a map from the database 304, and it uses the map to compute its trajectory 306. The device then computes it expected location 308 and determines its actual location. Next, it compares its expected location to its actual location 312. At Step 314 the device determines whether it has exceeded the maximum allowable uncertainty threshold. If the device has not exceeded its threshold it then it returns to Step 308 and continues the process. If, however, the device has exceeded the uncertainty threshold, then it proceed from Step 314 to Step 316 where it transmits its current location to the database. From Step 316 the device returns to step 306 and continues the cycle [Column 13, lines 3-24]. The object’s trajectory can be recomputed by a database during the travel of the moving object [Column 4, lines 58-67]. Additionally, that an object’s travel path can be predicted based on historical data, which indicates, at least to the point of obviousness, that the information regarding the path length can be determined based on paths previously navigated by one of the robots [Column 9, lines 11-21]. Wolfson does not expressly teach that the path length values are included in the robot location information, it is implicit that the path length values and other path information would be updated with the robot location information, since this would be an obvious application of known elements to produce a predictable result with a high chance of success). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with receive an actual path length value from the assigned mobile robot for an actual path for an actual path from a location of the assigned mobile robot to the task location; retrieve an expected path length value from the database, wherein the expected path length value comprises a path length value for a path from the location of the assigned robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots; compare the actual path length value and the expected path length value from the database; and modify the database in response to the comparison of the actual path length value and the expected path length value from the database as taught by Wolfson so as to allow the system to update the path information when the actual location and path information do not line up with the received information, as well as performing these updates at each path length, allowing the system to compare for discrepancies periodically. Regarding Claim 2. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 1. Vestal also teaches: wherein the instructions are configured to cause the system to receive location information from the mobile robots and to store the location information in the database (paragraph 27). Regarding Claim 3. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 1. Vestal also teaches: wherein the instructions are configured to cause the system to: receive a path length value from a first robot location to the task location (The memory can record historical data for job requests and performance [paragraph 98]); and determine whether the database already has a prior value for a path length from the first robot location to the task location, and disregard the received path length value when the database already has the prior value for the path length from the first robot location to the task location (Vestal does not teach that the new data will be disregarded for the prior value. However, this would have been obvious to try, as there are only three possible solutions to this problem available. Either the fleet management system relies on a past path length value, or the newly received path length value, or tries to find a path length value based on a combination of the two. Choosing to adopt the historical path values over the newly received values would have been a simple application of a known technique to a known system of programming to produce the predictable result of a system that disregards the received path length value when the databased already has the prior value). Regarding Claim 5. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 1. Vestal does not teach: wherein the instructions are configured to cause the system to: determine whether the actual path length value and the expected path length value differ by more than a threshold amount; and modifying the database when the actual path length value and the expected path length value differ by more than the threshold amount. However, Wolfson teaches: wherein the instructions are configured to cause the system to: determine whether the actual path length value and the expected path length value differ by more than a threshold amount; and modifying the database when the actual path length value and the expected path length value differ by more than the threshold amount (The robotic FIG. 7 illustrates a flowchart for a device that receives map information from the database and computes its own trajectory. The device determines its current location 300, and it transmits that location to the database 302. The device then receives a map from the database 304, and it uses the map to compute its trajectory 306. The device then computes it expected location 308 and determines its actual location. Next, it compares its expected location to its actual location 312. At Step 314 the device determines whether it has exceeded the maximum allowable uncertainty threshold. If the device has not exceeded its threshold it then it returns to Step 308 and continues the process. If, however, the device has exceeded the uncertainty threshold, then it proceed from Step 314 to Step 316 where it transmits its current location to the database. From Step 316 the device returns to step 306 and continues the cycle [Column 13, lines 3-24]. Wolfson does not expressly teach that the path length values are included in the robot location information, it is implicit that the path length values and other path information would be updated with the robot location information, since this would be an obvious application of known elements to produce a predictable result with a high chance of success). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: determine whether the actual path length value and the expected path length value differ by more than a threshold amount; and modifying the database when the actual path length value and the expected path length value differ by more than the threshold amount as taught by Wolfson so as to allow the system to update the path information when the actual location and path information do not line up with the received information. Regarding Claim 6. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 1. Vestal does not teach: wherein to modify the database in response to the comparison of the actual path length value and the expected path length value from the database, the instructions are configured to cause the system to replace the expected path length value in the database with the actual path length value. However, Wolfson teaches: wherein to modify the database in response to the comparison of the actual path length value and the expected path length value from the database, the instructions are configured to cause the system to replace the expected path length value in the database with the actual path length value (FIG. 7, [Column 13, lines 3-24]. The very nature of updating database information implies that entries in the database are being replaced). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein to modify the database in response to the comparison of the actual path length value and the expected path length value from the database, the instructions are configured to cause the system to replace the expected path length value in the database with the actual path length value as taught by Wolfson so as to allow the system to update out-of-date information. Regarding Claim 7. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 1. Vestal does not teach: wherein to modify the database in response to the comparison of the actual path length value and the expected path length value from the database, the instructions are configured to cause the system to clear a plurality of entries of the database for a zone that includes the location of the assigned mobile robot. However, Wolfson teaches: wherein to modify the database in response to the comparison of the actual path length value and the expected path length value from the database, the instructions are configured to cause the system to clear a plurality of entries of the database for a zone that includes the location of the assigned mobile robot (the process of FIG. 7 is intended to be repeatable, as shown by the arrows in the figure. This means that a plurality of entries can be cleared as new entries are updated). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein to modify the database in response to the comparison of the actual path length value and the expected path length value from the database, the instructions are configured to cause the system to clear a plurality of entries of the database for a zone that includes the location of the assigned mobile robot as taught by Wolfson because deleting and overwriting old entries to replace with new entries in a database is standard operations for updating data entries. Regarding Claim 8. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 1. Vestal does not teach: wherein to modify the database in response to the comparison of the actual path length value and the expected path length value from the database, the instructions are configured to cause the system to produce a new database of path length values. However, Wolfson teaches: wherein to modify the database in response to the comparison of the actual path length value and the expected path length value from the database, the instructions are configured to cause the system to produce a new database of path length values (FIG. 7, [Column 13, lines 3-24]. The very nature of updating database information implies that new entries are being produced, forming a new database of path length values). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein to modify the database in response to the comparison of the actual path length value and the expected path length value from the database, the instructions are configured to cause the system to produce a new database of path length values as taught by Wolfson because entering new entries in a database is standard operations for updating data entries. Regarding Claim 9. Vestal in combination with Coughran teaches the mobile robot fleet management system of Claim 1. Vestal does not teach: wherein the instructions are configured to cause the system to: identify a route that does not have path length information stored in the database; in response to identifying the route that does not have path length information stored in the database, send instructions to a mobile robot to perform path finding for a route that the mobile robot is not traveling, receive path length information for the route that does not have path length information stored in the database from the selected mobile robot; and store the path length information in the database. However, Wolfson teaches: wherein the instructions are configured to cause the system to: identify a route that does not have path length information stored in the database (it is possible to construct a new map for use in the database system, or to obtain the information from other sources. For instance, the travel-times for road segments may be obtained separately from the map. They may come from a different source and be specific to the road segments on the map, or the travel times may be estimates based on the type of road (i.e., interstate, city street, etc. . . . ), the time of day (i.e., late night, rush hour, etc. …) or other factors [Column 8, lines 32-54]. By definition, a region that needs to construct a new map does not have path length information stored in the database, since there are no routes yet identified to have a planned trajectory); in response to identifying the route that does not have path length information stored in the database, send instructions to a mobile robot to perform path finding for a route that the mobile robot is not traveling (FIG. 6 depicts a flowchart for the database in a system that provides trajectory information to the device, wherein the database creates a trajectory for the object, which is transmitted to the object, and computes a new path and trajectory [Column 12, lines 39-58]), receive path length information for the route that does not have path length information stored in the database from the selected mobile robot (the trajectory is transmitted to the object [Column 12, lines 39-58], wherein the object can be a vehicle, aircraft, vessel, or pedestrian [Column 1, lines 44-50]. While Wolfson is not explicit that the object can be a robot vehicle or other moving robot, Vestal already teaches this element, and combining the two references to have the path length information for the route received by a robot would be an obvious application of known elements to produce a predictable result with a high chance of success); and store the path length information in the database (“After an object's trajectory is computed and stored in the database” – direct quote from Column 5, 7-14). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: identify a route that does not have path length information stored in the database; in response to identifying the route that does not have path length information stored in the database, send instructions to a mobile robot to perform path finding for a route that the mobile robot is not traveling, receive path length information for the route that does not have path length information stored in the database from the selected mobile robot; and store the path length information in the database as taught by Wolfson so as to allow the system to detect when a path and path information are not prestored in the system’s database and create a new path in the system and record it for further use in the system’s database. Regarding Claim 18. Vestal teaches a mobile robot fleet management system comprising: a communication module comprising data processing hardware; a processor (a job management system located in a server room, shown in FIG. 1 at 162, with a network interface configured to receive job requests [paragraph 86], wherein the job management system may be configured to communicate with the job requesting system and a fleet of autonomously-navigating mobile robots [paragraph 88, FIG. 2]. Mobile robots in the fleet may be configured to receive commands and assignments from the job management system and send updates to the job management system via a variety of different data communication methods [paragraph 82]); and computer-readable memory in communication with the processor, the computer-readable memory configured to store a database of path length information (paragraph 27 describes a memory capable of storing robot position information, the location of a current job, current job destination path, and proximity to the current job location, implying that the path length is stored as well); the memory storing instructions that are executable by the processor to cause the processor to: obtain an expected path length value from the database for a mobile robot to travel from a location of the mobile robot to a task location (FIG. 14 contains a high-level flow diagram that shows an algorithm and illustrates the steps that might be performed by the processor in an job management system, according to one embodiment of the invention, in order to assign job requests to a particular mobile robot in the fleet, taking into account factors such as remaining battery power, robot capabilities (i.e., configuration) and the distance between the mobile robot's current position and the pickup location. Those of ordinary skill in the art will recognize and appreciate that other status and configuration factors could also be used to determine assignments, such as available payload space, traffic conditions along the route, high-priority critical tasks, the required time of arrival, whether deliveries can be batched together, etc. Using a combination of these factors, the system may determine, for example, that the best mobile robot to assign to a particular task may not be the mobile robot that is currently closest in proximity to where that task will be performed [paragraph 164], which implicitly means that a task location is identified, even if these details are not explicitly stated, along with the locations of the robots and a length of the paths the robots would need to travel, as there is no way that the server could know which robots are closest to the task location without knowing the path lengths. Steps 1408, 1410, 1414 and 1416. When the list of potential assignees is completed, the system reviews the list to find the mobile robot closest to the job location and assigns that robot to the job request. See steps 1428, 1430 and 1432 [paragraph 165]). Vestal does not teach: wherein the path length information indicates a set of path length values between different sections of an environment for a set of paths previously navigated by a fleet of mobile robots through the environment, wherein the instructions further cause the processor to: use the set of path length values of the set of paths previously navigated by the fleet of mobile robots to obtain an expected path length value. However, Coughran teaches: wherein the path length information indicates a set of path length values between different sections of an environment for a set of paths previously navigated by a fleet of mobile robots through the environment (FIG. 6 is a diagram of an example prediction subsystem 602. The prediction subsystem 602 can build a predictive model using previous trip data in order to evaluate candidate routes using present readings of system sensors [Column 19, lines 4-7]. Notably, the external data feeds 615 of FIG. 6 include values from various sensors in communication with the prediction subsystem 602. These values can include, for example, traffic conditions on various road segments at particular times, weather conditions in particular geographic areas, telemetry data describing how an agent traversed a route, to name just a few examples [Column 19, lines 30-36]), wherein the instructions further cause the processor to: use the set of path length values of the set of paths previously navigated by the fleet of mobile robots to obtain an expected path length value (FIG. 7 is a flow chart of an example process for scoring candidate routes using one or more predictive models. The example process can be performed by an appropriately programmed system of one or more computers, e.g., the prediction subsystem of FIG. 6 [Column 21, lines 25-31]. This includes ranking candidate routes based on predicted scores at 770. The specification also describes how fleets that transport, unload and load goods, or perform services between multi-point locations can operate [Column 5, lines 56-58], meaning multiple paths with one or more different start and ending locations are included). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the path length information indicates a set of path length values between different sections of an environment for a set of paths previously navigated by a fleet of mobile robots through the environment, wherein the instructions further cause the processor to: use the set of path length values of the set of paths previously navigated by the fleet of mobile robots to obtain an expected path length value as taught by Coughran so as to allow the system to learn from previous robot travel routes for more efficient fleet management. Vestal also does not teach: wherein the instructions are configured to cause the system to: receive an actual path length value from the mobile robot for an actual path for the mobile robot to travel from a location of the mobile robot to the task location associated with a task, wherein the expected path length value comprises a path length value for a path from the location of the mobile robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots; compare the actual path length value and the expected path length value to determine whether the actual path length value and the expected path length value differ by more than a threshold amount; and modify the path length information as stored in the database when the actual path length value and the expected path length value differ by more than the threshold amount. However, Wolfson teaches: wherein the instructions are configured to cause the system to: receive an actual path length value from the mobile robot for an actual path for the mobile robot to travel from a location of the mobile robot to the task location associated with a task, wherein the expected path length value comprises a path length value for a path from the location of the mobile robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots; compare the actual path length value and the expected path length value to determine whether the actual path length value and the expected path length value differ by more than a threshold amount; and modify the path length information as stored in the database when the actual path length value and the expected path length value differ by more than the threshold amount (The robotic FIG. 7 illustrates a flowchart for a device that receives map information from the database and computes its own trajectory. The device determines its current location 300, and it transmits that location to the database 302. The device then receives a map from the database 304, and it uses the map to compute its trajectory 306. The device then computes it expected location 308 and determines its actual location. Next, it compares its expected location to its actual location 312. At Step 314 the device determines whether it has exceeded the maximum allowable uncertainty threshold. If the device has not exceeded its threshold it then it returns to Step 308 and continues the process. If, however, the device has exceeded the uncertainty threshold, then it proceed from Step 314 to Step 316 where it transmits its current location to the database. From Step 316 the device returns to step 306 and continues the cycle [Column 13, lines 3-24]. The object’s trajectory can be recomputed by a database during the travel of the moving object [Column 4, lines 58-67]. Additionally, that an object’s travel path can be predicted based on historical data, which indicates, at least to the point of obviousness, that the information regarding the path length can be determined based on paths previously navigated by one of the robots [Column 9, lines 11-21]. Wolfson does not expressly teach that the path length values are included in the robot location information, it is implicit that the path length values and other path information would be updated with the robot location information, since this would be an obvious application of known elements to produce a predictable result with a high chance of success). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: receive an actual path length value from the mobile robot for an actual path for the mobile robot to travel from a location of the mobile robot to the task location associated with a task, wherein the expected path length value comprises a path length value for a path from the location of the mobile robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots; compare the actual path length value and the expected path length value to determine whether the actual path length value and the expected path length value differ by more than a threshold amount; and modify the path length information as stored in the database when the actual path length value and the expected path length value differ by more than the threshold amount as taught by Wolfson so as to allow the system to update the path information when the actual location and path information do not line up with the received information, as well as performing these updates at each path length, allowing the system to compare for discrepancies periodically. Regarding Claim 19. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 18. Vestal does not teach: wherein the instructions are configured to cause the system to replace the expected path length value in the database with the actual path length value when the actual path length value and the expected path length value differ by more than the threshold amount. However, Wolfson teaches: wherein the instructions are configured to cause the system to replace the expected path length value in the database with the actual path length value when the actual path length value and the expected path length value differ by more than the threshold amount (FIG. 7, [Column 13, lines 3-24]. The very nature of updating database information implies that entries in the database are being replaced). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to replace the expected path length value in the database with the actual path length value when the actual path length value and the expected path length value differ by more than the threshold amount as taught by Wolfson so as to allow the system to update out-of-date information. Regarding Claim 20. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 18. Vestal does not teach: wherein the instructions are configured to cause the system to clear a plurality of entries of the database for a zone that includes the location of the mobile robot when the actual path length value and the expected path length value differ by more than the threshold amount. However, Wolfson teaches: wherein the instructions are configured to cause the system to clear a plurality of entries of the database for a zone that includes the location of the mobile robot when the actual path length value and the expected path length value differ by more than the threshold amount (the process of FIG. 7 is intended to be repeatable, as shown by the arrows in the figure. This means that a plurality of entries can be cleared as new entries are updated). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to clear a plurality of entries of the database for a zone that includes the location of the mobile robot when the actual path length value and the expected path length value differ by more than the threshold amount as taught by Wolfson because deleting and overwriting old entries to replace with new entries in a database is standard operations for updating data entries. Regarding Claim 21. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 18. Vestal does not teach: wherein the instructions are configured to cause the system to produce a new database of path length values when the actual path length value and the expected path length value differ by more than the threshold amount. However, Wolfson teaches: wherein the instructions are configured to cause the system to produce a new database of path length values when the actual path length value and the expected path length value differ by more than the threshold amount (FIG. 7, [Column 13, lines 3-24]. The very nature of updating database information implies that new entries are being produced, forming a new database of path length values). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to produce a new database of path length values when the actual path length value and the expected path length value differ by more than the threshold amount as taught by Wolfson because entering new entries in a database is standard operations for updating data entries. Regarding Claim 22. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 1. Vestal does not teach: wherein the instructions are configured to cause the system to: retrieve, from the database, prior path length values from the plurality of locations to the task location as previously navigated by the mobile robots of the fleet of mobile robots; and determine the path length values of the paths from the plurality of locations to the task location to be the corresponding prior path length values. However, Wolfson teaches: wherein the instructions are configured to cause the system to: retrieve, from the database, prior path length values from the plurality of locations to the task location as previously navigated by the mobile robots of the fleet of mobile robots (The robotic FIG. 7 illustrates a flowchart for a device that receives map information from the database and computes its own trajectory. The device determines its current location 300, and it transmits that location to the database 302. The device then receives a map from the database 304, and it uses the map to compute its trajectory 306. The device then computes it expected location 308 and determines its actual location. Next, it compares its expected location to its actual location 312. At Step 314 the device determines whether it has exceeded the maximum allowable uncertainty threshold. If the device has not exceeded its threshold it then it returns to Step 308 and continues the process. If, however, the device has exceeded the uncertainty threshold, then it proceed from Step 314 to Step 316 where it transmits its current location to the database. From Step 316 the device returns to step 306 and continues the cycle [Column 13, lines 3-24]. The object’s trajectory can be recomputed by a database during the travel of the moving object [Column 4, lines 58-67]. Additionally, that an object’s travel path can be predicted based on historical data, which indicates, at least to the point of obviousness, that the information regarding the path length can be determined based on paths previously navigated by one of the robots [Column 9, lines 11-21]. Wolfson does not expressly teach that the path length values are included in the robot location information, it is implicit that the path length values and other path information would be updated with the robot location information, since this would be an obvious application of known elements to produce a predictable result with a high chance of success); and determine the path length values of the paths from the plurality of locations to the task location to be the corresponding prior path length values (it is possible to construct a new map for use in the database system, or to obtain the information from other sources. For instance, the travel-times for road segments may be obtained separately from the map. They may come from a different source and be specific to the road segments on the map, or the travel times may be estimates based on the type of road (i.e., interstate, city street, etc. . . . ), the time of day (i.e., late night, rush hour, etc. …) or other factors [Column 8, lines 32-54]. By definition, a region that needs to construct a new map does not have path length information stored in the database, since there are no routes yet identified to have a planned trajectory). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: retrieve, from the database, prior path length values from the plurality of locations to the task location as previously navigated by the mobile robots of the fleet of mobile robots; and determine the path length values of the paths from the plurality of locations to the task location to be the corresponding prior path length values as taught by Wolfson so as to allow the system to update the path information when the actual location and path information do not line up with the received information, as well as performing these updates at each path length, allowing the system to compare for discrepancies periodically. Regarding Claim 26. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 9. Vestal does not teach: wherein the route that does not have path length information stored in the database starts at a location different from the location of the selected mobile robot. However, Wolfson teaches: wherein the route that does not have path length information stored in the database starts at a location different from the location of the selected mobile robot (it is possible to construct a new map for use in the database system, or to obtain the information from other sources. For instance, the travel-times for road segments may be obtained separately from the map. They may come from a different source and be specific to the road segments on the map, or the travel times may be estimates based on the type of road (i.e., interstate, city street, etc. . . . ), the time of day (i.e., late night, rush hour, etc. …) or other factors [Column 8, lines 32-54]. By definition, a region that needs to construct a new map does not have path length information stored in the database, since there are no routes yet identified to have a planned trajectory. In FIG. 4, we see an uncertainty zone in 160, wherein the robot can enter a new starting point at 152, but the point is surrounded by bounds of uncertainty. The moving object ideally travels along the trajectory 156, but it actually may travel on any path inside the uncertainty 162. One possible path is shown at 158 [Column 10, lines 62-67, Column 11, lines 1-9], wherein the path from point 166 to point 164 is a new path at a different starting location than the robot’s starting location). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the route that does not have path length information stored in the database starts at a location different from the location of the selected mobile robot as taught by Wolfson so as to allow the system to update the path information with new starting locations when a robot must plan a new route. Regarding Claim 27. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 9. Vestal does not teach: wherein the route that does not have path length information stored in the database ends at a location that does not have a task that is pending assignment. However, Wolfson teaches: wherein the route that does not have path length information stored in the database ends at a location that does not have a task that is pending assignment (it is possible to construct a new map for use in the database system, or to obtain the information from other sources. For instance, the travel-times for road segments may be obtained separately from the map. They may come from a different source and be specific to the road segments on the map, or the travel times may be estimates based on the type of road (i.e., interstate, city street, etc. . . . ), the time of day (i.e., late night, rush hour, etc. …) or other factors [Column 8, lines 32-54]. By definition, a region that needs to construct a new map does not have path length information stored in the database, since there are no routes yet identified to have a planned trajectory. In FIG. 4, we see an uncertainty zone in 160, wherein the robot can enter a new starting point at 152, but the point is surrounded by bounds of uncertainty. The moving object ideally travels along the trajectory 156, but it actually may travel on any path inside the uncertainty 162. One possible path is shown at 158 [Column 10, lines 62-67, Column 11, lines 1-9], wherein the path from point 166 to point 164 is a new path at a different starting location than the robot’s starting location). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the route that does not have path length information stored in the database ends at a location that does not have a task that is pending assignment as taught by Wolfson so as to allow the system to update the path information with new starting locations when a robot must plan a new route. Regarding Claim 28. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 9. Vestal also teaches: wherein the instructions are configured to cause the system to select the selected robot in response to the selected robot not being assigned to the task (the status profile for the selected mobile robot shows that the current status of the selected mobile robot is "fully charged" and "not currently performing another assigned job request” [paragraph 29]). Claim(s) 4, 10-17 are rejected under 35 U.S.C. 103 as being unpatentable over Vestal et al. US 20140365258 A1 (“Vestal”) in view of Coughran et al. US 10956855 B1 (“Coughran”) and Wolfson US 6801850 B1 (“Wolfson”) as applied to claim 1 above, and further in view of Saboo et al. US 20180300835 A1 (“Saboo”). Regarding Claim 4. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 1. Vestal also teaches: where the selected robot is selected based at least in part on the path length values; and assign the task to a robot based at least in part on proximity information indicating a proximity of the mobile robot to the task location (FIG. 14 contains a high-level flow diagram that shows an algorithm and illustrates the steps that might be performed by the processor in an job management system, according to one embodiment of the invention, in order to assign job requests to a particular mobile robot in the fleet, taking into account factors such as remaining battery power, robot capabilities (i.e., configuration) and the distance between the mobile robot's current position and the pickup location. Those of ordinary skill in the art will recognize and appreciate that other status and configuration factors could also be used to determine assignments, such as available payload space, traffic conditions along the route, high-priority critical tasks, the required time of arrival, whether deliveries can be batched together, etc. Using a combination of these factors, the system may determine, for example, that the best mobile robot to assign to a particular task may not be the mobile robot that is currently closest in proximity to where that task will be performed [paragraph 164], which implicitly means that a task location is identified, even if these details are not explicitly stated, along with the locations of the robots and a length of the paths the robots would need to travel, as there is no way that the server could know which robots are closest to the task location without knowing the path lengths. Steps 1408, 1410, 1414 and 1416. When the list of potential assignees is completed, the system reviews the list to find the mobile robot closest to the job location and assigns that robot to the job request. See steps 1428, 1430 and 1432 [paragraph 165]). Vestal does not teach: wherein the instructions are configured to cause the system to: obtain path length values from the database for paths from a first group of the plurality of mobile robots to the task location; identify a second group of the plurality of mobile robots for which the database does not have path length values to the task location; determine whether a number of mobile robots in the first group of the plurality of mobile robots satisfies a threshold, wherein the instructions are configured to cause the system to assign the task to the mobile robot using different criteria based at least in part on whether the number of mobile robots in the first group of the plurality of robots satisfies the threshold; when the number of mobile robots in the first group of the plurality of mobile robots satisfies the threshold, assign the task to the mobile robot selected from the first group of the plurality of mobile robots; and when the number of mobile robots in the first group of the plurality of mobile robots does not satisfy the threshold, assign the task to the mobile robot from the plurality of mobile robots. However, Saboo teaches: wherein the instructions are configured to cause the system to: obtain path length values from the database for paths from a first group of the plurality of mobile robots to the task location (Tasks may involve coordinated navigation of robotic devices, which may involve distributing robotic devices of the fleet throughout the environment (e.g., a group of robotic devices sent to a loading dock for loading/unloading trucks, a group of robotic devices sent to storage racks to load/unload heavy pallets from the racks, etc.) [paragraph 77]. This is in addition to the trajectory planning that the system performs in paragraph 70); identify a second group of the plurality of mobile robots for which the database does not have path length values to the task location (Same as paragraphs 70-77 above. Also of note, it is implicit that if the system has to obtain path length values to a task location, then the system does not already have path length values to the task location); determine whether a number of mobile robots in the first group of the plurality of mobile robots satisfies a threshold, wherein the instructions are configured to cause the system to assign the task to the mobile robot using different criteria based at least in part on whether the number of mobile robots in the first group of the plurality of robots satisfies the threshold (one robot can satisfy a threshold of one, if that is enough to perform the assigned task. The central planning system may employ various scheduling algorithms to determine which devices will complete which tasks at which times. For instance, an auction type system may be used in which individual robots bid on different tasks, and the central planning system may assign tasks to robots to minimize overall costs. In additional examples, the central planning system may optimize across one or more different resources, such as time, space, or energy utilization. In further examples, a planning or scheduling system may also incorporate particular aspects of the geometry and physics of box picking, packing, or storing [paragraph 40]); when the number of robots in the first group satisfies the threshold, assign the task to a selected robot of the first group of the plurality of mobile robots (paragraphs 70-77); and when the number of robots in the first group does not satisfy the threshold, assign the task to a robot (This is obvious; if the threshold number of required robots is 1, and the number of assigned robots is 0, then a robot will be assigned to the task location). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: obtain path length values from the database for paths from a first group of the plurality of mobile robots to the task location; identify a second group of the plurality of mobile robots for which the database does not have path length values to the task location; determine whether a number of mobile robots in the first group of the plurality of mobile robots satisfies a threshold, wherein the instructions are configured to cause the system to assign the task to the mobile robot using different criteria based at least in part on whether the number of mobile robots in the first group of the plurality of robots satisfies the threshold; when the number of mobile robots in the first group of the plurality of mobile robots satisfies the threshold, assign the task to the mobile robot selected from the first group of the plurality of mobile robots; and when the number of mobile robots in the first group of the plurality of mobile robots does not satisfy the threshold, assign the task to the mobile robot from the plurality of mobile robots as taught by Saboo so as to allow the system to assign tasks to multiple groups of robots, particularly if different robots are required for different tasks. Regarding Claim 10. Vestal teaches a mobile robot fleet management system comprising: a communication module comprising data processing hardware; a processor (a job management system located in a server room, shown in FIG. 1 at 162, with a network interface configured to receive job requests [paragraph 86], wherein the job management system may be configured to communicate with the job requesting system and a fleet of autonomously-navigating mobile robots [paragraph 88, FIG. 2]. Mobile robots in the fleet may be configured to receive commands and assignments from the job management system and send updates to the job management system via a variety of different data communication methods [paragraph 82]); and computer-readable memory in communication with the processor, the computer-readable memory configured to store a database of path length information (paragraph 27 describes a memory capable of storing robot position information, the location of a current job, current job destination path, and proximity to the current job location, implying that the path length is stored as well); the computer-readable memory storing instructions that are executable by the processor to cause the system to: identify a task location associated with a task; identify locations of a plurality of the mobile robots of the fleet of mobile robots (The memory also contains a status profile and a configuration profile for each mobile robot. The status profile may comprise a file or data structure stored in the memory that includes records and/or fields suitable for holding and/or indicating one or more of a wide variety of different current status values or conditions for each mobile robot in the fleet, including without limitation the following: a robot identifier; a robot position; a robot heading; a current robot speed; a current job identifier; a current job status; a current job location; a proximity to the current job location; a current job destination path; an estimated time of arrival; etc. [paragraph 27]); assign the task to a mobile robot selected from the first group of the plurality of mobile robots based at least in part on the path length values; and assign the task to a mobile robot from the plurality of mobile robots based at least in part on proximity of the mobile robot to the task location (FIG. 14 contains a high-level flow diagram that shows an algorithm and illustrates the steps that might be performed by the processor in an job management system, according to one embodiment of the invention, in order to assign job requests to a particular mobile robot in the fleet, taking into account factors such as remaining battery power, robot capabilities (i.e., configuration) and the distance between the mobile robot's current position and the pickup location. Those of ordinary skill in the art will recognize and appreciate that other status and configuration factors could also be used to determine assignments, such as available payload space, traffic conditions along the route, high-priority critical tasks, the required time of arrival, whether deliveries can be batched together, etc. Using a combination of these factors, the system may determine, for example, that the best mobile robot to assign to a particular task may not be the mobile robot that is currently closest in proximity to where that task will be performed [paragraph 164], which implicitly means that a task location is identified, even if these details are not explicitly stated, along with the locations of the robots and a length of the paths the robots would need to travel, as there is no way that the server could know which robots are closest to the task location without knowing the path lengths. Steps 1408, 1410, 1414 and 1416. When the list of potential assignees is completed, the system reviews the list to find the mobile robot closest to the job location and assigns that robot to the job request. See steps 1428, 1430 and 1432 [paragraph 165]). Vestal does not teach: wherein the path length information indicates a set of path length values between different sections of an environment for a set of paths previously navigated by a fleet of mobile robots through the environment, wherein the instructions further cause the system to: use the set of path length values of the set of paths previously navigated by the fleet of mobile robots to obtain the path length values. However, Coughran teaches: wherein the path length information indicates a set of path length values between different sections of an environment for a set of paths previously navigated by a fleet of mobile robots through the environment (FIG. 6 is a diagram of an example prediction subsystem 602. The prediction subsystem 602 can build a predictive model using previous trip data in order to evaluate candidate routes using present readings of system sensors [Column 19, lines 4-7]. Notably, the external data feeds 615 of FIG. 6 include values from various sensors in communication with the prediction subsystem 602. These values can include, for example, traffic conditions on various road segments at particular times, weather conditions in particular geographic areas, telemetry data describing how an agent traversed a route, to name just a few examples [Column 19, lines 30-36]), wherein the instructions further cause the processor to: use the set of path length values of the set of paths previously navigated by the fleet of mobile robots to obtain the path length values (FIG. 7 is a flow chart of an example process for scoring candidate routes using one or more predictive models. The example process can be performed by an appropriately programmed system of one or more computers, e.g., the prediction subsystem of FIG. 6 [Column 21, lines 25-31]. This includes ranking candidate routes based on predicted scores at 770. The specification also describes how fleets that transport, unload and load goods, or perform services between multi-point locations can operate [Column 5, lines 56-58], meaning multiple paths with one or more different start and ending locations are included). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the path length information indicates a set of path length values between different sections of an environment for a set of paths previously navigated by a fleet of mobile robots through the environment, wherein the instructions further cause the processor to: use the set of path length values of the set of paths previously navigated by the fleet of mobile robots to obtain the path length values as taught by Coughran so as to allow the system to learn from previous robot travel routes for more efficient fleet management. Vestal also does not teach: wherein the instructions are configured to cause the system to: obtain path length values from the database for paths from locations of a first group of the plurality of mobile robots to the task location; identify a second group of the plurality of mobile robots for which the database does not have path length values from locations of the second group of the plurality of mobile robots to the task location; determine whether a number of mobile robots in the first group of the plurality of mobile robots satisfies a threshold; when the number of mobile robots in the first group of the plurality of mobile robots satisfies the threshold, assign the task to a mobile robot selected from the first group of the plurality of mobile robots; and when the number of mobile robots in the first group of the plurality of mobile robots does not satisfy the threshold, assign the task to a mobile robot from the plurality of mobile robots. However, Saboo teaches: wherein the instructions are configured to cause the system to: obtain path length values from the database for paths from locations of a first group of the plurality of mobile robots to the task location (Tasks may involve coordinated navigation of robotic devices, which may involve distributing robotic devices of the fleet throughout the environment (e.g., a group of robotic devices sent to a loading dock for loading/unloading trucks, a group of robotic devices sent to storage racks to load/unload heavy pallets from the racks, etc.) [paragraph 77]. This is in addition to the trajectory planning that the system performs in paragraph 70); identify a second group of the plurality of mobile robots for which the database does not have path length values from locations of the second group of the plurality of mobile robots to the task location (Same as paragraphs 70-77 above. Also of note, it is implicit that if the system has to obtain path length values to a task location, then the system does not already have path length values to the task location); determine whether a number of mobile robots in the first group of the plurality of mobile robots satisfies a threshold (one robot can satisfy a threshold of one, if that is enough to perform the assigned task); when the number of mobile robots in the first group of the plurality of mobile robots satisfies the threshold, assign the task to a mobile robot selected from the first group of the plurality of mobile robots (paragraphs 70-77); and when the number of mobile robots in the first group of the plurality of mobile robots does not satisfy the threshold, assign the task to a mobile robot from the plurality of mobile robots (This is obvious; if the threshold number of required robots is 1, and the number of assigned robots is 0, then a robot will be assigned to the task location). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: obtain path length values from the database for paths from locations of a first group of the plurality of mobile robots to the task location; identify a second group of the plurality of mobile robots for which the database does not have path length values from locations of the second group of the plurality of mobile robots to the task location; determine whether a number of mobile robots in the first group of the plurality of mobile robots satisfies a threshold; when the number of mobile robots in the first group of the plurality of mobile robots satisfies the threshold, assign the task to a mobile robot selected from the first group of the plurality of mobile robots; and when the number of mobile robots in the first group of the plurality of mobile robots does not satisfy the threshold, assign the task to a mobile robot from the plurality of mobile robots as taught by Saboo so as to allow the system to assign tasks to multiple groups of robots, particularly if different robots are required for different tasks. Vestal also does not teach: wherein the instructions are configured to cause the system to assign the task using different criteria based at least in part on whether the number of mobile robots in the first group of the plurality of robots satisfies the threshold. However, Wolfson teaches: wherein the instructions are configured to cause the system to assign the task using different criteria based at least in part on whether the number of mobile robots in the first group of the plurality of robots satisfies the threshold (The robotic FIG. 7 illustrates a flowchart for a device that receives map information from the database and computes its own trajectory. The device determines its current location 300, and it transmits that location to the database 302. The device then receives a map from the database 304, and it uses the map to compute its trajectory 306. The device then computes it expected location 308 and determines its actual location. Next, it compares its expected location to its actual location 312. At Step 314 the device determines whether it has exceeded the maximum allowable uncertainty threshold. If the device has not exceeded its threshold it then it returns to Step 308 and continues the process. If, however, the device has exceeded the uncertainty threshold, then it proceed from Step 314 to Step 316 where it transmits its current location to the database. From Step 316 the device returns to step 306 and continues the cycle [Column 13, lines 3-24]. The object’s trajectory can be recomputed by a database during the travel of the moving object [Column 4, lines 58-67]. Additionally, that an object’s travel path can be predicted based on historical data, which indicates, at least to the point of obviousness, that the information regarding the path length can be determined based on paths previously navigated by one of the robots [Column 9, lines 11-21]. Wolfson does not expressly teach that the path length values are included in the robot location information, it is implicit that the path length values and other path information would be updated with the robot location information, since this would be an obvious application of known elements to produce a predictable result with a high chance of success). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to assign the task using different criteria based at least in part on whether the number of mobile robots in the first group of the plurality of robots satisfies the threshold as taught by Wolfson so as to allow the system to update the path information when the actual location and path information do not line up with the received information, as well as performing these updates at each path length, allowing the system to compare for discrepancies periodically. Regarding Claim 11. Vestal in combination with Coughran, Saboo, and Wolfson teaches the mobile robot fleet management system of Claim 10. Vestal also teaches: wherein the instructions are configured to cause the system to: receive the path length information from the fleet of mobile robots as the fleet of mobile robots navigate the environment (paragraph 27); and store the path length information in the database (paragraph 27). Regarding Claim 12. Vestal in combination with Coughran, Saboo, and Wolfson teaches the mobile robot fleet management system of Claim 10. Vestal also teaches: wherein the instructions are configured to cause the system to receive location information from the fleet of mobile robots and to store the location information in the database (The robots at 102a-102e of FIG. 1 are capable of autonomously performing all of the navigation functions, such as path planning necessary for the mobile robots 102a-102e to automatically drive themselves from one job location to another job location on the factory floor 101 and automatically avoid colliding with stationary and/or non-stationary obstacles, including human factory floor workers 170, while doing so [paragraph 87]. After that, the process of paragraph 27 can be applied to store the path information in the database). Regarding Claim 13. Vestal in combination with Coughran, Saboo, and Wolfson teaches the mobile robot fleet management system of Claim 10. Vestal does not teach: wherein the instructions are configured to cause the system to: receive an actual path length value from the assigned mobile robot for an actual path from a location of the assigned mobile robot to the task location; retrieve an expected path length value from the database, wherein the expected path length value comprises a path length value for a path from the location of the assigned mobile robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots; compare the actual path length value and the expected path length value from the database to determine whether the actual path length value and the expected path length value differ by more than a threshold amount; and modify the database when the actual path length value and the expected path length value differ by more than the threshold amount. However, Wolfson teaches: wherein the instructions are configured to cause the system to: receive an actual path length value from the assigned mobile robot for an actual path from a location of the assigned mobile robot to the task location; retrieve an expected path length value from the database, wherein the expected path length value comprises a path length value for a path from the location of the assigned mobile robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots; compare the actual path length value and the expected path length value from the database to determine whether the actual path length value and the expected path length value differ by more than a threshold amount; and modify the database when the actual path length value and the expected path length value differ by more than the threshold amount (The robotic FIG. 7 illustrates a flowchart for a device that receives map information from the database and computes its own trajectory. The device determines its current location 300, and it transmits that location to the database 302. The device then receives a map from the database 304, and it uses the map to compute its trajectory 306. The device then computes it expected location 308 and determines its actual location. Next, it compares its expected location to its actual location 312. At Step 314 the device determines whether it has exceeded the maximum allowable uncertainty threshold. If the device has not exceeded its threshold it then it returns to Step 308 and continues the process. If, however, the device has exceeded the uncertainty threshold, then it proceed from Step 314 to Step 316 where it transmits its current location to the database. From Step 316 the device returns to step 306 and continues the cycle [Column 13, lines 3-24]. The object’s trajectory can be recomputed by a database during the travel of the moving object [Column 4, lines 58-67]. Additionally, that an object’s travel path can be predicted based on historical data, which indicates, at least to the point of obviousness, that the information regarding the path length can be determined based on paths previously navigated by one of the robots [Column 9, lines 11-21]. Wolfson does not expressly teach that the path length values are included in the robot location information, it is implicit that the path length values and other path information would be updated with the robot location information, since this would be an obvious application of known elements to produce a predictable result with a high chance of success). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: receive an actual path length value from the assigned mobile robot for an actual path from a location of the assigned mobile robot to the task location; retrieve an expected path length value from the database, wherein the expected path length value comprises a path length value for a path from the location of the assigned mobile robot to the task location as previously navigated by one of the mobile robots of the fleet of mobile robots; compare the actual path length value and the expected path length value from the database to determine whether the actual path length value and the expected path length value differ by more than a threshold amount; and modify the database when the actual path length value and the expected path length value differ by more than the threshold amount as taught by Wolfson so as to allow the system to update the path information when the actual location and path information do not line up with the received information. Regarding Claim 14. Vestal in combination with Coughran, Saboo, and Wolfson teaches the mobile robot fleet management system of Claim 13. Vestal does not teach: wherein to modify the database when the actual path length value and the expected path length value differ by more than the threshold amount, the instructions are configured to cause the system to replace the expected path length value in the database with the actual path length value. However, Wolfson teaches: wherein to modify the database when the actual path length value and the expected path length value differ by more than the threshold amount, the instructions are configured to cause the system to replace the expected path length value in the database with the actual path length value (FIG. 7, [Column 13, lines 3-24]. The very nature of updating database information implies that entries in the database are being replaced). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein to modify the database when the actual path length value and the expected path length value differ by more than the threshold amount, the instructions are configured to cause the system to replace the expected path length value in the database with the actual path length value as taught by Wolfson so as to allow the system to update out-of-date information. Regarding Claim 15. Vestal in combination with Coughran, Saboo, and Wolfson teaches the mobile robot fleet management system of Claim 13. Vestal does not teach: wherein to modify the database when the actual path length value and the expected path length value differ by more than the threshold amount, the instructions are configured to cause the system to clear a plurality of entries of the database for a zone that includes the location of the selected mobile robot. However, Wolfson teaches: wherein to modify the database when the actual path length value and the expected path length value differ by more than the threshold amount, the instructions are configured to cause the system to clear a plurality of entries of the database for a zone that includes the location of the selected mobile robot (the process of FIG. 7 is intended to be repeatable, as shown by the arrows in the figure. This means that a plurality of entries can be cleared as new entries are updated). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein to modify the database when the actual path length value and the expected path length value differ by more than the threshold amount, the instructions are configured to cause the system to clear a plurality of entries of the database for a zone that includes the location of the selected mobile robot as taught by Wolfson because deleting and overwriting old entries to replace with new entries in a database is standard operations for updating data entries. Regarding Claim 16. Vestal in combination with Coughran, Saboo, and Wolfson teaches the mobile robot fleet management system of Claim 13. Vestal does not teach: wherein to modify the database when the actual path length value and the expected path length value differ by more than the threshold amount, the instructions are configured to cause the system to produce a new database of path length values. However, Wolfson teaches: wherein to modify the database when the actual path length value and the expected path length value differ by more than the threshold amount, the instructions are configured to cause the system to produce a new database of path length values (FIG. 7, [Column 13, lines 3-24]. The very nature of updating database information implies that new entries are being produced, forming a new database of path length values). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein to modify the database when the actual path length value and the expected path length value differ by more than the threshold amount, the instructions are configured to cause the system to produce a new database of path length values as taught by Wolfson because entering new entries in a database is standard operations for updating data entries. Regarding Claim 17. Vestal in combination with Coughran, Saboo, and Wolfson teaches the mobile robot fleet management system of Claim 10. Vestal does not teach: wherein the instructions are configured to cause the system to: identify a route that does not have path length information stored in the database; in response to identifying the route that does not have path length information stored in the database, send instructions to a selected mobile robot to perform path finding for the route that does not have path length information stored in the database when the mobile robot is not traveling the route that does not have path length information stored in the database; receive path length information for the route that does not have path length information stored in the database from the selected mobile robot; and store the path length information in the database. However, Wolfson teaches: wherein the instructions are configured to cause the system to: identify a route that does not have path length information stored in the database (it is possible to construct a new map for use in the database system, or to obtain the information from other sources. For instance, the travel-times for road segments may be obtained separately from the map. They may come from a different source and be specific to the road segments on the map, or the travel times may be estimates based on the type of road (i.e., interstate, city street, etc. . . . ), the time of day (i.e., late night, rush hour, etc. …) or other factors [Column 8, lines 32-54]. By definition, a region that needs to construct a new map does not have path length information stored in the database, since there are no routes yet identified to have a planned trajectory); in response to identifying the route that does not have path length information stored in the database, send instructions to a selected mobile robot to perform path finding for the route that does not have path length information stored in the database when the mobile robot is not traveling the route that does not have path length information stored in the database (FIG. 6 depicts a flowchart for the database in a system that provides trajectory information to the device, wherein the database creates a trajectory for the object, which is transmitted to the object, and computes a new path and trajectory [Column 12, lines 39-58]); receive path length information for the route that does not have path length information stored in the database from the selected mobile robot (the trajectory is transmitted to the object [Column 12, lines 39-58], wherein the object can be a vehicle, aircraft, vessel, or pedestrian [Column 1, lines 44-50]. While Wolfson is not explicit that the object can be a robot vehicle or other moving robot, Vestal already teaches this element, and combining the two references to have the path length information for the route received by a robot would be an obvious application of known elements to produce a predictable result with a high chance of success); and store the path length information in the database (“After an object's trajectory is computed and stored in the database” – direct quote from Column 5, 7-14). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: identify a route that does not have path length information stored in the database; in response to identifying the route that does not have path length information stored in the database, send instructions to a selected mobile robot to perform path finding for the route that does not have path length information stored in the database when the mobile robot is not traveling the route that does not have path length information stored in the database; receive path length information for the route that does not have path length information stored in the database from the selected mobile robot; and store the path length information in the database as taught by Wolfson so as to allow the system to detect when a path and path information are not prestored in the system’s database and create a new path in the system and record it for further use in the system’s database. Claim(s) 23-25 are rejected under 35 U.S.C. 103 as being unpatentable over Vestal et al. US 20140365258 A1 (“Vestal”) in view of Coughran et al. US 10956855 B1 (“Coughran”) and Wolfson US 6801850 B1 (“Wolfson”) as applied to claim 9 above, and further in view of Kang et al. US 20220326715 A1 (“Kang”). Regarding Claim 23. Vestal in combination with Coughran and Wolfson teaches the mobile robot fleet management system of Claim 9. Vestal does not teach: wherein the path length information is configured to represent the environment divided into a grid of cells with path length values between cells of the grid. However, Kang teaches: wherein the path length information is configured to represent the environment divided into a grid of cells with path length values between cells of the grid (FIGS. 5 and 6 are views illustrating a process of generating a grid map using the usage environment information [paragraph 13]. FIG. 6 shows the process of overlaying the distance between intersection points between cells of the grid [paragraph 68]). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the path length information is configured to represent the environment divided into a grid of cells with path length values between cells of the grid as taught by Kang so as to allow the system to generate path values along the various available paths, and for the grid, grids are a common method of plotting maps and environments in a computer system, and combining the grid of Kang with the disclosure of Vestal would have been an obvious combination of known elements to produce an obvious result with a high probability of success. Regarding Claim 24. Vestal in combination with Coughran, Wolfson, and Kang teaches the mobile robot fleet management system of Claim 23. Vestal does not teach: wherein the instructions are configured to cause the system to: associate a first mobile robot to a cell of the grid at a first time when the first mobile robot is at a first position within the cell of the grid, and associate a second mobile robot to the same cell of the grid at a second time when the second mobile robot is at a second position within the cell of the grid, wherein the second position is different than the first position. However, Kang teaches: wherein the instructions are configured to cause the system to: associate a first mobile robot to a cell of the grid at a first time when the first mobile robot is at a first position within the cell of the grid (FIG. 3 shows an example of the guideline MP that can be applied to the grid in FIGS. 5 and 6, and this guideline MP may include a starting point and an ending point of the driving route [paragraph 49]), and associate a second mobile robot to the same cell of the grid at a second time when the second mobile robot is at a second position within the cell of the grid, wherein the second position is different than the first position (FIG. 3 shows a second mobile robot at AGV2, and can repeat the process of the first mobile robot in paragraph 49 for the second robot [paragraph 59]). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: associate a first mobile robot to a cell of the grid at a first time when the first mobile robot is at a first position within the cell of the grid, and associate a second mobile robot to the same cell of the grid at a second time when the second mobile robot is at a second position within the cell of the grid, wherein the second position is different than the first position as taught by Kang so as to allow the system to plan the routes for robots that start their movement somewhere in the grid map. Regarding Claim 25. Vestal in combination with Coughran, Wolfson, and Kang teaches the mobile robot fleet management system of Claim 23. Vestal does not teach: wherein the instructions are configured to cause the system to: receive location information indicating a first position of a mobile robot; determine a cell of the grid that corresponds to the first position of the mobile robot; determine a path length value for a path from the mobile robot to the task location based on a prior path length value, retrieved from the database, for a path previously traveled by one of the mobile robots from a second position within the same cell of the grid to the task location, wherein the second position is different from the first position. However, Kang teaches: wherein the instructions are configured to cause the system to: receive location information indicating a first position of a mobile robot (FIG. 3, the first mobile robot at AGV1, wherein the starting point can be included in the guideline MP [paragraph 49]); determine a cell of the grid that corresponds to the first position of the mobile robot (paragraph 49); determine a path length value for a path from the mobile robot to the task location based on a prior path length value, retrieved from the database, for a path previously traveled by one of the mobile robots from a second position within the same cell of the grid to the task location (FIG. 7 shows a variety of intersection patterns that can be mapped to the robot system. The mobile robot recognizes the intersection point pattern of the mobile robot using the sensor data and the intersection point pattern recognition in S23, FIG. 10 [paragraph 77]. The moving route may be generated by connecting the intersection point and the intersection point, and the first mobile robot AGV1 or the second mobile robot AGV2 may be provided with target intersection point pattern information to be processed while moving along the moving route provided from the management server 200. The management server 200 may provide an intersection point pattern recognition model to the mobile robot 100, and the mobile robot 100 may recognize the intersection point pattern of the mobile robot 100 using the sensor data and the intersection point pattern recognition model [paragraph 60]. Pattern recognition implies following a trend from robots performing a task multiple times, and the system is clearly assembling new routes by combining the intersection data of previous routes. While Kang is not explicit that the second robot can start at the same point as the first robot, this would be an obvious modification of the disclosure of Kang to produce a setup where a second robot follows the same route as the first robot by starting in the same cell as the first robot at a later point in time, which would be mere repetition of the first robot’s trajectory, as well as it being obvious to try setting the second robot’s starting point at the same location as the first robot’s starting point), wherein the second position is different from the first position (FIG. 3). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify the invention of Vestal with wherein the instructions are configured to cause the system to: receive location information indicating a first position of a mobile robot; determine a cell of the grid that corresponds to the first position of the mobile robot: wherein the second position is different from the first position as taught by Kang so as to allow the system to learn from previous robots following prior routes rather than having to plan a new route every time a new robot needs to travel through the grid map to reach the same destination, particularly when the robot starts from the same starting point as a previous robot. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to AARON G CAIN whose telephone number is (571)272-7009. The examiner can normally be reached Monday: 7:30am - 4:30pm EST to Friday 7:30pm - 4:30am. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Wade Miles can be reached at (571) 270-7777. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /AARON G CAIN/Examiner, Art Unit 3656
Read full office action

Prosecution Timeline

Show 2 earlier events
Oct 10, 2025
Interview Requested
Oct 16, 2025
Applicant Interview (Telephonic)
Oct 16, 2025
Examiner Interview Summary
Nov 21, 2025
Response Filed
Jan 26, 2026
Final Rejection mailed — §103, §112
Jun 26, 2026
Request for Continued Examination
Jul 06, 2026
Response after Non-Final Action
Jul 23, 2026
Non-Final Rejection mailed — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12623354
POSITIONING METHOD AND POSITIONING DEVICE
3y 9m to grant Granted May 12, 2026
Patent 12573302
METHOD FOR INFRASTRUCTURE-SUPPORTED ASSISTING OF A MOTOR VEHICLE
3y 1m to grant Granted Mar 10, 2026
Patent 12558790
METHOD AND COMPUTING SYSTEMS FOR PERFORMING OBJECT DETECTION
3y 10m to grant Granted Feb 24, 2026
Patent 12552019
MACHINE LEARNING METHOD AND ROBOT SYSTEM
3y 4m to grant Granted Feb 17, 2026
Patent 12544144
DENTAL ROBOT AND ORAL NAVIGATION METHOD
4y 7m to grant Granted Feb 10, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
43%
Grant Probability
72%
With Interview (+29.3%)
3y 4m (~7m remaining)
Median Time to Grant
High
PTA Risk
Based on 142 resolved cases by this examiner. Grant probability derived from career allowance 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