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 .
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 05/27/2026 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
Response to Amendment
Amendment to claims 1 and 20 is acknowledged, “moving at least one of the robots to carry out the respective sequence of tasks” in claim 1 and “execute the respective motion plan by at least one of the robots” in claim 20 is not a mental process. Therefore, the claims are eligible under 35 USC 101. Therefore, rejection to claims 1-18, 20-22, 29, 33 and 37 presented under 35 USC 101 has been withdrawn.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1 and 20 have been considered but are not persuasive. Applicant stated “Takeda does not appear to address wear of the robot itself but rather addresses wear of a tool that is attachable to the robot”.
Examiner respectfully disagrees. Tool recited in Takeda is integral part of the robot as Takeda discloses “robot 10 includes a robot main body 13 having an articulated robot arm 11 and a tool 12, and a control device 14 for controlling the robot main body 13” in [0019]. Therefore, addressing wear of tool of robot is addressing wear of robot.
Applicant further stated: Colasanto as modified by Takeda fails to teach performing an optimization
Examiner respectfully disagrees:
Colasanto teaches performing an optimization
Therefore, Colasanto teaches entirety of limitation being argued except strike out portion. And the deficiency is addressed through Takeda.
Takeda teaches optimize based on amount of wear to which the robots will be subjected (abstract, disclosing evaluating operation program for a robot. The operation program is a program that causes the robot to perform work. robot has a function of correcting a position of the tool in response to an amount of wear of the tool. The program evaluation device includes an operation verification unit that verifies whether the robot will operate correctly in accordance with the operation program with each of a plurality of amounts of wear within a predetermined range. And verifying that robot will operate correctly in accordance with the operation program with each of a plurality of amounts of wear within a predetermined range. [0035-0037], disclosing posture of robot is adjusted until it is determined that robot will operate correctly. [0019], disclosing robot 10 includes a robot main body 13 having an articulated robot arm 11 and a tool 12, and a control device 14 for controlling the robot main body 13. Therefore, tool 12 is integral part of the robot).
Colasanto and Takeda are analogous arts as they are in same field of endeavor i.e., robot program verification. It would have been obvious to one having ordinary skill in the art before effective filing date of claimed invention to modify art of Colasanto to optimize based on amount of wear to which the robots will be subjected as taught by Takeda to prolong useable life of robots.
To summarize, Colasanto optimizes operation of robots but does not do it based on amount of wear to which robots will be subjected. And Tekeda optimizes operation of robot based on amount of wear. Therefore, limitations argued by applicant are disclosed by Colasanto in view of Takeda. Hence rejection of claims 1 and 20 is maintained.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-18, 20-22, 29, 33 and 37 are rejected under 35 U.S.C. 102(a)(1) as being unpatentable over Colasanto (US 20210220994 disclosed in IDS submitted on 12/04/2025) in view of Takeda (US 20240042611).
For claim 1, Colasanto teaches: A method of operation in a processor-based system to configure a plurality of robots for a multi-robot ([0007], disclosing methods and apparatus are described herein that produce solutions for multi-robot configurations. Abstract, disclosing multi robot operational environment. [0018-0024], disclosing a processor based system) operational environment in which a plurality of robots will operate, the method comprising:
generating a population of C candidate solutions via a population generator of the processor-based system ([0074], disclosing a population generator generates a population of C candidate solutions), each of the candidate solutions in the population of C candidate solutions specifying for each of the robots: a respective base position and orientation, a respective set of at least one defined pose ([0037], disclosing generating one or more solutions that specify a configuration of the robots 102, including a respective base position and orientation), and a respective target sequence (abstract, disclosing the respective base position and orientation of the robots, an allocation of tasks to respective robots, respective target sequences and/or trajectories for the robots), where the respective base position and orientation specify a respective position and orientation for a base of the respective robot in the multi-robot operational environment ([0074], disclosing respective base position and orientation specify a respective position and orientation for a base of the respective robot in the multi-robot operational environment), the respective set of at least one defined pose specifies at least a respective home pose of the respective robot in the multi-robot operational environment, and the respective target sequence comprises a respective ordered list of targets for the respective robot to move through to complete a respective sequence of tasks ([0074], disclosing respective target sequence comprises a respective ordered list of targets for the respective robot to move through to complete a respective sequence of tasks);
performing an optimization
providing as output, by processor-based system: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robots ([0138], disclosing providing as output: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robot).
and execute the respective motion plan by at least one of the robots to carry out the respective sequence of tasks by the at least one of the robots ([0046-0047], disclosing controlling the robots)
Colasanto teaches of optimizing robot operations, however, does not disclose optimize based on amount of wear to which the robots will be subjected
Takeda teaches optimize based on amount of wear to which the robots will be subjected (abstract, disclosing evaluating operation program for a robot. The operation program is a program that causes the robot to perform work. robot has a function of correcting a position of the tool in response to an amount of wear of the tool. The program evaluation device includes an operation verification unit that verifies whether the robot will operate correctly in accordance with the operation program with each of a plurality of amounts of wear within a predetermined range. And verifying that robot will operate correctly in accordance with the operation program with each of a plurality of amounts of wear within a predetermined range. [0035-0037], disclosing posture of robot is adjusted until it is determined that robot will operate correctly. [0019], disclosing robot 10 includes a robot main body 13 having an articulated robot arm 11 and a tool 12, and a control device 14 for controlling the robot main body 13. Therefore, tool 12 is integral part of the robot).
Colasanto and Takeda are analogous arts as they are in same field of endeavor i.e., robot program verification. It would have been obvious to one having ordinary skill in the art before effective filing date of claimed invention to modify art of Colasanto to optimize based on amount of wear to which the robots will be subjected as taught by Takeda to prolong useable life of robots.
System of claim 20 recites limitations similar in scope to claim 1, hence is similarly rejected.
For claim 2, modified Colasanto teaches: The method of claim 1 wherein providing as output: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robots includes providing an optimized task allocation (0138], disclosing providing as output: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robot. [0077], disclosing output may include an optimized task allocation that specifies, for each robot, a respective sequence of tasks to be performed)
that specifies, for each robot, a respective sequence of tasks to be performed in a form of an optimized ordered list of targets in C-space of the respective robot and one or more dwell time durations at one or more of the targets, and providing an optimized motion plan that specifies a set of collision-free paths, the set of collision-free paths specifying a respective collision-free path between each pair of consecutive targets in the ordered list of targets ([0077], disclosing output may include an optimized task allocation that specifies, for each robot, a respective sequence of tasks to be performed in the form of an optimized ordered list of targets in C-space of the respective robot and one or more dwell time durations at one or more of the targets. The output may additionally or alternatively include an optimized motion plan that specifies a set of collision-free paths).
Claim 21 recites limitations similar in scope to claim 2, hence is similarly rejected.
For claim 3, modified Colasanto teaches: The method of claim 1, further comprising:
for each of the candidate solutions of the population C of candidate solutions, determining a respective time to complete the sequences of tasks ([0083], disclosing environment simulator determines a respective time to complete the sequence of tasks via modeling performed by the multi-robot environment simulator) and a respective collision value that represents a rate or a probability of a collision occurring in completing the sequences of tasks via modeling performed by a robot environment simulator of the processor-based system ([0040], disclosing multi-robot environment simulator 112 models the multi-robot environment based on each candidate solution, to determine certain attributes, for example an amount of time required to complete the tasks, a probability or rate of collision in completing the tasks).
For claim 4, modified Colasanto teaches: The method of claim 3 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting one of the candidate solutions via the optimization engine of the processor-based system based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on the amount of wear to which the robots will be subjected to complete the sequences of tasks and the collision value determined for the respective candidate solution ([0076], disclosing optimization engine may select one of the candidate solutions based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on the time to complete the sequences of tasks and the collision value determined for the respective candidate solution).
For claim 5, modified Colasanto teaches: The method of claim 3 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting, by at least one processor, one of the candidate solutions via the optimization engine based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on each of: i) the amount of wear to which the robots will be
subjected to complete in completing the sequences of tasks (see claim 1 for modification), ii) the time to complete the sequences of tasks ([0013], disclosing primary optimization goal may be latency (e.g., time to complete goal)), and iii) the collision value determined for the respective candidate solution ([0013], disclosing optimizing such placement and operation to at least some degree, and potentially preventing or at least reducing the risk that robots or robotic appendages of robots will collide with one another while operating to perform respective tasks in the shared workspace).
For claim 6, modified Colasanto teaches: The method of claim 3 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting one of the candidate solutions via the optimization engine of the processor-based system based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on each of: i) the amount of wear to which the robots will be subjected to complete in completing the sequences of tasks (see claim 1 for modification), ii) an amount of energy expended to complete the sequences of tasks, and iii) the collision value determined for the respective candidate solution ([0013], disclosing global optimizer optimizes the robot base placement (in Cartesian coordinates), robot functional poses (i.e., in C-space) and per-robot task plans (ordered list of targets and pauses for the respective robot). The primary optimization goal may be latency (e.g., time to complete goal), but other goals can include efficient use of floor space, energy consumption or expenditure, number of movements to complete goal, ability to operate robots in parallel, minimizing wait time of robots, availability of a robot, status condition etc.).
For claim 7, modified Colasanto teaches: The method of claim 3 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting one of the candidate solutions via the optimization engine of the processor-based system based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on each of: i) the amount of wear to which the robots will be subjected to complete in completing the sequences of tasks (see claim 1 for modification), ii) the time to complete the sequences of tasks, iii) an amount of energy expended to complete the sequences of tasks, and iv) the collision value determined for the respective candidate solution (([0013], disclosing global optimizer optimizes the robot base placement (in Cartesian coordinates), robot functional poses (i.e., in C-space) and per-robot task plans (ordered list of targets and pauses for the respective robot). The primary optimization goal may be latency (e.g., time to complete goal), but other goals can include efficient use of floor space, energy consumption or expenditure, number of movements to complete goal, ability to operate robots in parallel, minimizing wait time of robots, availability of a robot, status condition etc.)).
Claim 22 recites limitations similar in scope to claim 7, hence is similarly rejected.
For claim 8, modified Colasanto teaches: The method of any of claim 3 wherein determining a respective time to complete the sequences of tasks and a respective collision value that represents a rate or a probability of a collision occurring via modeling by an the optimization engine of the processor-based system includes:
virtually performing each task of the sequences of tasks via a multi-robot environment simulator of the processor-based system ([0145], disclosing virtually performing task sequences);
for each epoch of a plurality of epochs, sampling a C-space position of a portion of at least one of the robots via the multi-robot environment simulator ([0146], disclosing each epoch of a plurality of epochs, sampling a C-space position of a portion of at least one of the robots via the multi-robot environment simulator); and
checking for collisions using forward kinematics to identify potential collisions between one or more portions of a respective one of the robots and another portion of the respective one of the robots, between the respective one of the robots and another one of the robots in the environment, and between the respective one of the robots and another object in the multi-robot operational environment that is not another robot ([0090], disclosing forward kinematics to identify potential collisions between one or more portions of a respective one of the robots and another portion of the respective one of the robots).
For claim 9, modified Colasanto teaches: The method of claim 8 wherein the ordered list of tasks is equivalent to an ordered list of trajectories in the C-space of the robot and includes a plurality of trajectories, one or more dwell time durations at one or more poses, a home pose, and one or more other defined functional poses in the C-space of the robot, and virtually performing includes virtually executing:
the plurality of trajectories and one or more of: the one or more dwell time durations at one or more poses, the home pose, or the one or more other defined functional poses ([0089], disclosing simulate the plurality of trajectories and one or more of: one or more dwell time durations at one or more poses, the home pose, or the one or more other defined functional poses).
For claim 10, modified Colasanto teaches: The method of claim 1, further comprising:
for each of a number of candidate solutions in the population of C candidate solutions, for at least one iteration:
perturbing, by at least one processor of the processor-based system, the respective candidate solution to produce a perturbed candidate solution ([0150-0152], disclosing perturbing the respective candidate solution to produce a perturbed candidate solution);
modeling, by at least one processor of the processor-based system, the perturbed candidate solution ([0060], disclosing modeling candidate solution);
determining, by at least one processor of the processor-based system, whether the perturbed candidate solution has a lower associated cost than the respective candidate solution; and
in response to a determination that the perturbed candidate solution has a lower associated cost than the respective candidate solution ([0102], disclosing environment simulator determines whether the perturbed candidate solution I′ has a lower associated cost), replacing,
by at least one processor of the processor-based system, the respective candidate solution in the population of C candidate solutions with the perturbed candidate solution ([0102-0103], disclosing optimization engine replaces the respective candidate solution).
For claim 11, modified Colasanto teaches: The method of claim 10 repeating the perturbing, the modeling, the determining and the replacing for multiple iterations until an occurrence of a convergence, a limit on the number of iterations or a limit on iteration time is reached ([0155], disclosing determining and the replacing for multiple iterations until an occurrence of a convergence, a limit on the number of iterations or a limit on iteration time is reached).
For claim 12, modified Colasanto teaches: The method of claim 10 wherein perturbing the respective candidate solution to produce a perturbed candidate solution includes perturbing a candidate solution vector, the candidate solution vector including a plurality of real number vector elements, one real number vector element for each task, the real number vector elements representing a respective combination of a respective one of the tasks, a priority for the respective one of the tasks and one of the robots identified to perform the respective one of the tasks ([0097], step 610 disclosing candidate solution vector may, for example, include a plurality of real number vector elements, for instance one real number vector element for each task. The real number vector elements may represent a respective combination of a respective one of the tasks, a priority for the respective one of the tasks, and one of the robots identified to perform the respective one of the tasks).
Claim 29 recites limitations similar in scope to claim 12, hence is similarly rejected.
For claim 13, modified Colasanto teaches: The method of claim 1, further comprising:
receiving input that includes at least one model of the multi-robot operational environment, a respective model of each of at least two of the robots that will operate in the multi-robot operational environment, at least one model of wear for at least one of the robots that represents respective amounts of wear that will be experienced by the at least one robot with respect to one or more of: a position, velocity, acceleration, jerk, or torque of the at least one robot in executing motions, and a set of tasks ([0043], disclosing input 109 may include one or more robot models that represent or characterize each of the robots 102, for example specifying geometry and kinematics, for instance sizes or lengths, number of links, number of joints, joint types ranges of motion, limits on speed, limits on acceleration or jerk).
For claim 14, modified Colasanto teaches: The method of claim 1, further comprising:
receiving input that includes at least one model of the multi-robot operational environment, a respective model of each of at least two of the robots that will operate in the multi-robot operational environment, at least one model of wear for at least one of the robots that represents respective amounts of wear that will be experienced by the at least one robot with respect to one or more of: a position, velocity, acceleration, jerk, or torque of the at least one robot in executing motions, a set of tasks ([0043], disclosing input 109 may include one or more robot models that represent or characterize each of the robots 102, for example specifying geometry and kinematics, for instance sizes or lengths, number of links, number of joints, joint types ranges of motion, limits on speed, limits on acceleration or jerk), and at least one of: one or more dwell time durations to dwell at one or more targets while at least one of the robots performs at least one task, a set of bounds or constraints on variables, or a set of time intervals that specifies a time limit on simulating collisions ([0160], disclosing receiving inputs that include at least one of: one or more dwell time durations to dwell at one or more targets while at least one of the robots performs at least one task, a set of bounds or constraints on variables, or a set of time intervals that specifies a time limit on simulating collisions).
Claim 33 recites limitations similar in scope to claim 14, hence is similarly rejected.
For claim 15, modified Colasanto teaches: The method of claims claim 1 or 2 wherein the population generator is a pseudo-random population generator and wherein generating a population of C candidate solutions via a population seed generator includes pseudo-randomly generating the population of C candidate solutions via the pseudo-random population generator ([0162], disclosing population generator is a pseudo-random population generator and wherein generating a population of C candidate solutions via a population seed generator).
For claim 16, modified Colasanto teaches: The method of claim 1 wherein generating a population of C candidate solutions via a population generator includes generating the population of C candidate solutions with a lower probability of being an invalid candidate solution than a purely pseudo-randomly generated population of C candidate solutions ([0075], disclosing population of C candidate solutions each having a lower probability of being an invalid candidate solution than a purely pseudo-randomly generated population of C candidate solutions).
For claim 17, modified Colasanto teaches: The method of claim 1 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes selecting an optimized candidate solution with a co-optimized combination of: a respective optimized base position and orientation for the respective base of each of the robots, an optimized task allocation, and an optimized motion plan ([0076], disclosing a respective optimized base position and orientation for the respective base of each of the robots, an optimized task allocation, and an optimized motion plan).
For claim 18, modified Colasanto teaches: The method of any of claims claim 1 through 7, further comprising:
configuring the robots based at least in part on one of: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robots as specified by the output ([0045], disclosing configuring robots).
Claim 37 recites limitations similar in scope to claim 18, hence is similarly rejected.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-18, 20-22, 29, 33 and 37 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-24 of U.S. Patent No. 11623346 in view of Takeda (US 20240042611). Although the claims at issue are not identical, they are not patentably distinct from each other because.
Claim of Instant Application 19102069
Claim of US Patent 11623346
1. A method of operation in a processor-based system to configure a plurality of robots for a multi-robot operational environment in which a plurality of robots will operate, the method comprising:
generating a population of C candidate solutions via a population generator of the processor-based system, each of the candidate solutions in the population of C candidate solutions specifying for each of the robots: a respective base position and orientation, a respective set of at least one defined pose, and a respective target sequence, where the respective base position and orientation specify a respective position and orientation for a base of the respective robot in the multi-robot operational environment, the respective set of at least one defined pose specifies at least a respective home pose of the respective robot in the multi-robot operational environment, and the respective target sequence comprises a respective ordered list of targets for the respective robot to move through to complete a respective sequence of tasks;
performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine of the processor-based system that co-optimizes across a set of two or more non-homogenous parameters for two or more of: the respective base position and orientation of the robots, an allocation of the tasks to respective ones of the robots, and the respective target sequences for the robots; and
providing as output, by processor-based system: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robots;
and moving at least one of the robots to carry out the respective sequence of tasks according to the respective motion plan as executed by the at least one of the robots
A method of operation in a processor-based system to configure a plurality of robots for a multi-robot operational environment in which a plurality of robots will operate, the method comprising:
generating a population of C candidate solutions via a population generator, each of the candidate solutions in the population of C candidate solutions specifying for each of the robots: a respective base position and orientation, a respective set of at least one defined pose, and
a respective target sequence, where the respective base position and orientation specify a respective position and orientation for a base of the respective robot in the multi-robot operational environment, the respective set of at least one defined pose specifies at least a respective home pose of the respective robot in the multi-robot operational environment, and the respective target sequence comprises a respective ordered list of targets for the respective robot to move through to complete a respective sequence of tasks;
performing an optimization on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters for two or more of: the respective base position and orientation of the robots, an allocation of the tasks to respective ones of the robots, and the respective target sequences for the robots; and
providing as output: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robots.
US Patent 11623346 does not claim optimize based on amount of wear to which the robots will be subjected
Takeda teaches optimize based on amount of wear to which the robots will be subjected (abstract, disclosing evaluating operation program for a robot. The operation program is a program that causes the robot to perform work. robot has a function of correcting a position of the tool in response to an amount of wear of the tool. The program evaluation device includes an operation verification unit that verifies whether the robot will operate correctly in accordance with the operation program with each of a plurality of amounts of wear within a predetermined range. And verifying that robot will operate correctly in accordance with the operation program with each of a plurality of amounts of wear within a predetermined range. [0035-0037], disclosing posture of robot is adjusted until is it determined that robot will operate correctly).
It would have been obvious to one having ordinary skill in the art before effective filing date of claimed invention to modify art Patent11623346 to optimize based on amount of wear to which the robots will be subjected as taught by Takeda to prolong useable life of robots.
The method of claim 1 wherein providing as output: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robots includes providing an optimized task allocation
that specifies, for each robot, a respective sequence of tasks to be performed in a form of an optimized ordered list of targets in C-space of the respective robot and one or more dwell time durations at one or more of the targets, and providing an optimized motion plan that specifies a set of collision-free paths, the set of collision-free paths specifying a respective collision-free path between each pair of consecutive targets in the ordered list of targets.
2. The method of claim 1 wherein providing as output: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robots includes providing an optimized task allocation that specifies, for each robot, a respective sequence of tasks to be performed in the form of an optimized ordered list of targets in C-space of the respective robot and one or more dwell time durations at one or more of the targets, and providing an optimized motion plan that specifies a set of collision-free paths, the set of collision-free paths specifying a respective collision-free path between each pair of consecutive targets in the ordered list of targets
3. The method of claim 1, further comprising:
for each of the candidate solutions of the population C of candidate solutions, determining a respective time to complete the sequences of tasks and a respective collision value that represents a rate or a probability of a collision occurring in completing the sequences of tasks via modeling performed by a robot environment simulator of the processor-based system.
3. The method of any of claim 1, further comprising:
for each of the candidate solutions of the population C of candidate solutions, determining a respective time to complete the sequences of tasks and a respective collision value that represents a rate or a probability of a collision occurring in completing the sequences of tasks via modeling performed by a robot environment simulator.
4. The method of claim 3 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting one of the candidate solutions via the optimization engine of the processor-based system based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on the amount of wear to which the robots will be subjected to complete the sequences of tasks and the collision value determined for the respective candidate solution.
4. The method of claim 3 wherein performing an optimization on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting one of the candidate solutions via the optimization engine based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on the time to complete the sequences of tasks and the collision value determined for the respective candidate solution.
See claim 1 for modification of amount of wear.
5. The method of claim 3 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting, by at least one processor, one of the candidate solutions via the optimization engine based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on each of: i) the amount of wear to which the robots will be
subjected to complete in completing the sequences of tasks, ii) the time to complete the sequences of tasks, and iii) the collision value determined for the respective candidate solution.
The method of claim 3 wherein performing an optimization on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting one of the candidate solutions via the optimization engine based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on the time to complete the sequences of tasks and the collision value determined for the respective candidate solution.
6. The method of claim 3 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting one of the candidate solutions via the optimization engine of the processor-based system based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on each of: i) the amount of wear to which the robots will be subjected to in completing the sequences of tasks, ii) an amount of energy expended to complete the sequences of tasks, and iii) the collision value determined for the respective candidate solution.
7. The method of claim 3 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting one of the candidate solutions via the optimization engine of the processor-based system based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on each of: i) the amount of wear to which the robots will be subjected to in completing the sequences of tasks, ii) the time to complete the sequences of tasks, iii) an amount of energy expended to complete the sequences of tasks, and iv) the collision value determined for the respective candidate solution.
4. The method of claim 3 wherein performing an optimization on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes:
selecting one of the candidate solutions via the optimization engine based at least in part on a respective cost associated with the candidate solution, the respective cost based at least in part on the time to complete the sequences of tasks and the collision value determined for the respective candidate solution.
8. The method of claim 3 wherein determining a respective time to complete the sequences of tasks and a respective collision value
that represents a rate or a probability of a collision occurring via modeling by an the optimization engine of the processor-based system includes:
virtually performing each task of the sequences of tasks via a multi-robot environment simulator of the processor-based system;
for each epoch of a plurality of epochs, sampling a C-space position of a portion of at least one of the robots via the multi-robot environment simulator; and
checking for collisions using forward kinematics to identify potential collisions between one or more portions of a respective one of the robots and another portion of the respective one of the robots, between the respective one of the robots and another one of the robots in the environment, and between the respective one of the robots and another object in the multi-robot operational environment that is not another robot.
5. The method of claim 3 wherein determining a respective time to complete the sequences of tasks and a respective collision value that represents a rate or a probability of a collision occurring via modeling by an optimization engine includes:
virtually performing each task of the sequences of tasks via the multi-robot environment simulator;
for each epoch of a plurality of epochs, sampling a C-space position of a portion of at least one of the robots via the multi-robot environment simulator; and
checking for collisions using forward kinematics to identify potential collisions between one or more portions of a respective one of the robots and another portion of the respective one of the robots, between the respective one of the robots and another one of the robots in the
environment, and between the respective one of the robots and another object in the multi-robot operational environment that is not another robot.
9. The method of claim 8 wherein the ordered list of tasks is equivalent to an ordered list of trajectories in the C-space of the robot and includes a plurality of trajectories, one or more dwell time durations at one or more poses, a home pose, and one or more other defined functional poses in the C-space of the robot, and virtually performing includes virtually executing:
the plurality of trajectories and one or more of: the one or more dwell time durations at one or more poses, the home pose, or the one or more other defined functional poses.
6.The method of claim 5 wherein the ordered list of tasks is equivalent to an ordered list of trajectories in the C-space of the robot and includes a plurality of trajectories, one or more dwell time durations at one or more poses, a home pose, and one or more other defined functional poses in the C-space of the robot, and virtually performing includes virtually executing: the plurality of trajectories and one or more of: the one or more dwell time durations at one or more poses, the home pose, or the one or more other defined functional poses.
10. The method of claim 1, further comprising:
for each of a number of candidate solutions in the population of C candidate solutions, for at least one iteration:
perturbing, by at least one processor of the processor-based system, the respective candidate solution to produce a perturbed candidate solution;
modeling, by at least one processor of the processor-based system, the perturbed candidate solution;
determining, by at least one processor of the processor-based system, whether the perturbed candidate solution has a lower associated cost than the respective candidate solution; and
in response to a determination that the perturbed candidate solution has a lower associated cost than the respective candidate solution, replacing, by at least one processor of the processor-based system, the respective candidate solution in the population of C candidate solutions with the perturbed candidate solution.
7. The method of claim 1, further comprising:
for each of a number of candidate solutions in the population of C candidate solutions, for at least one iteration:
perturbing the respective candidate solution to produce a perturbed candidate solution;
modeling the perturbed candidate solution;
determining whether the perturbed candidate solution has a lower associated cost than the respective candidate solution; and
in response to a determination that the perturbed candidate solution has a lower associated cost than the respective candidate solution, replacing the respective candidate solution in the population of C candidate solutions with the perturbed candidate solution; and
repeating the perturbing, the modeling, the determining and the replacing for multiple iterations until an occurrence of a convergence, a limit on the number of iterations or a limit on iteration time is reached.
11. The method of claim 10 repeating the perturbing, the modeling, the determining and the replacing for multiple iterations until an occurrence of a convergence, a limit on the number of iterations or a limit on iteration time is reached.
7… repeating the perturbing, the modeling, the determining and the replacing for multiple iterations until an occurrence of a convergence, a limit on the number of iterations or a limit on iteration time is reached
12. The method of claim 10 wherein perturbing the respective candidate solution to produce a perturbed candidate solution includes perturbing a candidate solution vector, the candidate solution vector including a plurality of real number vector elements, one real number vector element for each task, the real number vector elements representing a respective combination of a respective one of the tasks, a priority for the respective one of the tasks and one of the robots identified to perform the respective one of the tasks.
8. The method of claim 7 wherein perturbing the respective candidate solution to produce a perturbed candidate solution includes perturbing a candidate solution vector, the candidate solution vector including a plurality of real number vector elements, one real number vector element for each task, the real number vector elements representing a respective combination of a respective one of the tasks, a priority for the respective one of the tasks and one of the robots identified to perform the respective one of the tasks.
13. The method of claim 1, further comprising:
receiving input that includes at least one model of the multi-robot operational environment, a respective model of each of at least two of the robots that will operate in the multi-robot operational environment, at least one model of wear for at least one of the robots that represents respective amounts of wear that will be experienced by the at least one robot with respect to one or more of: a position, velocity, acceleration, jerk, or torque of the at least one robot in executing motions, and a set of tasks.
14. The method of claim 1, further comprising:
receiving input that includes at least one model of the multi-robot operational environment, a respective model of each of at least two of the robots that will operate in the multi-robot operational environment, at least one model of wear for at least one of the robots that represents respective amounts of wear that will be experienced by the at least one robot with respect to one or more of: a position, velocity, acceleration, jerk, or torque of the at least one robot in executing
motions, a set of tasks, and at least one of: one or more dwell time durations to dwell at one or more targets while at least one of the robots performs at least one task, a set of bounds or constraints on variables, or a set of time intervals that specifies a time limit on simulating collisions.
15. The method of claim 1 wherein the population generator is a pseudo-random population generator and wherein generating a population of C candidate solutions via a population seed generator includes pseudo-randomly generating the population of C candidate solutions via the pseudo-random population generator.
10. The method of claim 1 wherein the population generator is a pseudo-random population generator and wherein generating a population of C candidate solutions via a population seed generator includes pseudo-randomly generating the population of C candidate solutions via the pseudo-random population generator.
16. The method of claim 1 wherein generating a population of C candidate solutions via a population generator includes generating the population of C candidate solutions with a lower probability of being an invalid candidate solution than a purely pseudo-randomly generated population of C candidate solutions.
11.The method of claim 1 wherein generating a population of C candidate solutions via a population generator includes generating the population of C candidate solutions with a lower probability of being an invalid candidate solution than a purely pseudo-randomly generated population of C candidate solutions.
17. The method of claim 1 wherein performing an optimization at least with respect to an amount of wear to which the robots will be subjected on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes selecting an optimized candidate solution with a co-optimized combination of: a respective optimized base position and orientation for the respective base of each of the robots, an optimized task allocation, and an optimized motion plan
12. The method of claim 1 wherein performing an optimization on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes selecting an optimized candidate solution with a co-optimized combination of: a respective optimized base position and orientation for the respective base of each of the robots, an optimized task allocation, and an optimized motion plan.
18. The method of any of claim 1, further comprising:
configuring the robots based at least in part on one of: the respective base position and orientation for each of the robots, a respective task allocation for each of the robots, and a respective motion plan for each of the robots as specified by the output.
12. The method of claim 1 wherein performing an optimization on the population of C candidate solutions by an optimization engine that co-optimizes across a set of two or more non-homogenous parameters includes selecting an optimized candidate solution with a co-optimized combination of: a respective optimized base position and orientation for the respective base of each of the robots, an optimized task allocation, and an optimized motion plan
Claims 20-22, 29, 33 and 37 recite limitations similar in scope to claims 1-18, hence are similarly rejected.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Gaschler (Prats US 9724826) teaches of planning path of robot based on signals indicating wear of robot. See column 13.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARSLAN AZHAR whose telephone number is (571)270-1703. The examiner can normally be reached Mon-Fri 7:30 - 5:30.
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.
/ARSLAN AZHAR/Examiner, Art Unit 3656