DETAILED ACTION
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 .
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.
Joint Inventors
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 06/17/2025, 06/17/2025, 06/17/2025, and 08/11/2025 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 2-5, 7-9, 14-19, 24, 50-55, and 57-62 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Beardsworth (US20220395979, referred to as Beardsworth).
Regarding claim 2: Beardsworth discloses: The method of claim 50
Beardsworth further discloses: wherein performing motion planning for the first robot includes determining whether the first robot moving along a trajectory would result in a collision with the second robot or has a probability of resulting in a collision with the second robot that exceeds a threshold probability. ([0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 3: Beardsworth discloses: The method of claim 2,
Beardsworth further discloses: further comprising: in response to determining that a trajectory of the first robot would result in a collision with the second robot or has a probability of resulting in a collision with the second robot that exceeds a threshold probability, causing the second robot to move out of a path of the first robot. ([0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 4: Beardsworth discloses: The method of claim 2,
Beardsworth further discloses: further comprising: in response to determining that a trajectory of the first robot would result in a collision with the second robot or has a probability of resulting in a collision with the second robot that exceeds a threshold probability, causing the second robot to move out of a path of the first robot as specified by at least one of the first motion plan for the first robot or the second motion plan for the first robot. ([0024] a motion swept volume is a region of the space that is occupied by at least a portion of a robot or tool during the entire execution of a motion plan. The motion swept volume can be generated by collision geometry associated with the robot-tool system. [0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 5: Beardsworth discloses: The method of claim 2,
Beardsworth further discloses: further comprising: in response to determining that a trajectory of the first robot would result in a collision with the second robot or has a probability of resulting in a collision with the second robot that exceeds a threshold probability, performing motion planning, by at least one processor, for the first robot to determine a revised motion plan for the first robot, the motion planning taking into account at least the second robot of the one or more robots, the revised motion plan which specifies a plurality of poses to transition the first robot from one pose to the first end pose while avoiding collision or at least reducing a probability of collision with the second robot, the first end pose which locates at least a portion of the first robot at the first goal. ([0024] a motion swept volume is a region of the space that is occupied by at least a portion of a robot or tool during the entire execution of a motion plan. The motion swept volume can be generated by collision geometry associated with the robot-tool system. [0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 7: Beardsworth discloses: The method of claim 50
Beardsworth further discloses: wherein performing motion planning for the first robot includes determining whether the first robot moving along a first trajectory would result in a collision with the second robot moving along a second trajectory or has a probability of resulting in a collision with the second robot moving along a second trajectory that exceeds a threshold probability. ([0024] a motion swept volume is a region of the space that is occupied by at least a portion of a robot or tool during the entire execution of a motion plan. The motion swept volume can be generated by collision geometry associated with the robot-tool system. [0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 8: Beardsworth discloses: The method of claim 7,
Beardsworth further discloses: further comprising: in response to determining that the first robot moving along a first trajectory would result in a collision with the second robot moving along a second trajectory or has a probability of resulting in a collision with the second robot moving along a second trajectory that exceeds a threshold probability, performing motion planning, by at least one processor, for the second robot to determine a motion plan for the second robot, the motion plan for the second robot which specifies at least one pose to transition the second robot out of a path of the first robot; and causing the second robot to move according to the second trajectory for the second robot. ([0024] a motion swept volume is a region of the space that is occupied by at least a portion of a robot or tool during the entire execution of a motion plan. The motion swept volume can be generated by collision geometry associated with the robot-tool system. [0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 9: Beardsworth discloses: The method of claim 7,
Beardsworth further discloses: further comprising: in response to determining that the first robot moving along a first trajectory would result in a collision with the second robot moving along a second trajectory or has a probability of resulting in a collision with the second robot moving along a second trajectory that exceeds a threshold probability, performing motion planning, by at least one processor, for the first robot to determine a revised motion plan for the first robot, the motion planning taking into at least account the second trajectory of the second robot of the one or more robots, the revised motion plan which specifies a plurality of poses to transition the first robot from one pose to the first end pose while avoiding collision or at least reducing a probability of collision with the second robot as the second robot moves along the second trajectory of the second robot, the first end pose which locates at least a portion of the first robot at the first goal. ([0024] a motion swept volume is a region of the space that is occupied by at least a portion of a robot or tool during the entire execution of a motion plan. The motion swept volume can be generated by collision geometry associated with the robot-tool system. [0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 14: Beardsworth discloses: The method of claim 50
wherein performing motion planning for the first robot comprises: representing at least the second robot as at least one obstacle; and performing collision detection, by at least one processor, for at least one motion of at least a portion of the first robot with respect to the representation of the at least one obstacle. ([0024] a motion swept volume is a region of the space that is occupied by at least a portion of a robot or tool during the entire execution of a motion plan. The motion swept volume can be generated by collision geometry associated with the robot-tool system. [0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 15: Beardsworth discloses: The method of claim 50
Beardsworth further discloses: wherein performing motion planning for the first robot comprises: representing a number of motions of at least the second robot as at least one obstacle; and performing collision detection, by at least one processor, for at least one motion of at least a portion of the first robot with respect to the representation of the at least one obstacle. ([0024] a motion swept volume is a region of the space that is occupied by at least a portion of a robot or tool during the entire execution of a motion plan. The motion swept volume can be generated by collision geometry associated with the robot-tool system. [0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 16: Beardsworth discloses: The method of claim 15
Beardsworth further discloses: wherein representing a number of motions of at least the second robot as obstacles includes: using a set of swept volumes, the swept volumes each of which represents a respective volume swept by at least a portion of the second robot as the portion of the second robot moves along a trajectory represented by the respective motion. ([0024] a motion swept volume is a region of the space that is occupied by at least a portion of a robot or tool during the entire execution of a motion plan. The motion swept volume can be generated by collision geometry associated with the robot-tool system. [0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 17: Beardsworth discloses: The method of claim 16,
Beardsworth further discloses: further comprising: receiving the set of swept volumes, by at least one processor, which were previously computed at a pre-runtime, the swept volumes each of which represents a respective volume swept by at least a portion of the second robot as the portion of the second robot moves along a trajectory represented by the respective motion. ([0024] a motion swept volume is a region of the space that is occupied by at least a portion of a robot or tool during the entire execution of a motion plan. The motion swept volume can be generated by collision geometry associated with the robot-tool system. [0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135.)
Regarding claim 18: Beardsworth discloses: The method of claim 15
Beardsworth further discloses: wherein representing a number of motions of the second robot as obstacles includes: representing the motions of the robot as at least one of: an occupancy grid, a hierarchical tree or a Euclidean distance field. ([0007] The system receives a definition of a motion plan for one or more robots in an operating environment, such as in a physical workcell or a virtual representation of the physical workcell. In this specification, a workcell is the physical environment in which the one or more robots operate. Workcells have particular physical properties, e.g., physical dimensions, which impose constraints on how the robots can move within the workcell. [0008] The system further obtains data representing a safety footprint volume for at least one of the one or more robots in the operating environment. The safety footprint volume includes a volume in which the robot operating the motion plan can pose a safety risk to one or more operators of the one or more robots. For example, the safety footprint volume of the robot can include a motion swept volume of the robot according to the motion plan, i.e., a region of space occupied by at least a portion of the robot or a tool held by the robot during an entire execution of the motion plan. The system can compute the motion swept volume of the robot according to the motion plan.)
Regarding claim 19: Beardsworth discloses: The method of any of claim 50,
Beardsworth further discloses: further comprising: for each of at least the first robot and the second robot, generating a respective motion planning graph, by at least one processor, each motion planning graph comprising a plurality of nodes and edges, the nodes which represent respective states of the respective first and second robots and the edges which represent valid transitions between respective states represented by the respective ones of a respective pair of nodes connected by the respective edges. ([0064] In step 210, the system obtains a definition of a motion plan for one or more robots in an operating environment. The definition of the motion plan can provide information for executing an action or a sequence of actions (e.g., to perform a task, a cluster of tasks, or a transition) by the one or more robots in the operating environment. For example, the definition of the motion plan can specify a sequence of actions for a robot by providing a schedule for the sequence of actions, and for each action, values for some or all of the controllable degrees of freedom of the robot. Examples of values for a controllable degree of freedom can include a target base location of the robot and a target joint angle of one or more joints of the robot. [0065] In some implementations, the operating environment can be a physical environment, e.g., a physical workcell, in which the one or more robots operate in. In some other implementations, the operating environment can be a virtual representation of a physical environment, e.g., a simulated physical workcell, in which simulations of robot motions can be conducted. The physical workcell has particular physical properties, e.g., physical dimensions, which impose constraints on how the robots can move within the workcell. The simulated workcell is associated with numerical parameters that define the physical properties of the simulated workcell, which impose constraints on how the simulated robots can move within the simulated workcell. [0066] The system can obtain the definition of the motion plan from various sources via a data transmission interface or a network. For example, in some implementations, the system can receive the definition of the motion plan from a robot motion planning system that automatically generates data defining the motion plan. In some other implementations, the system can receive user input data that defines the motion plan.
Regarding claim 24: Beardsworth discloses: The method of any of claim 50,
Beardsworth further discloses: further comprising: autonomously selecting, by the at least one processor, a motion plan form a set of two or more candidate motion plans based, at least in part, on an aggregate cost of two or more motion plans across respective ones of two or more goals. ([0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135. For example, the plan selection/modification engine 120 can modify a movement path of a robot to avoid the safety footprint volume of the robot intersecting the volume accessible to an operator. In another example, the plan selection/modification engine 120 can reduce the movement speed of a motion of a robot to guarantee that the movement speed of the robot is below the speed threshold when moving in the volume accessible to an operator. [0057] After the safety assessment engine 130 calculates the safety scores for each of the candidate motion plans, the plan selection/modification engine 120 can rank the candidate motion plans according to the computed safety scores. For example, the plan selection/modification engine 120 can rank the candidate motion plans having higher safety scores as higher ranked candidate motion plans. The plan selection/modification engine 120 can select an output motion plan from the plurality of candidate motion plans according to the ranking. For example, the plan selection/modification engine 120 can select the top ranked candidate motion plan as the output motion plan.)
Regarding claim 50: Beardsworth discloses: A method of operation of a processor-based system to control one or more robots in a multi-robot environment, the method comprising: performing motion planning, by at least one processor, for a first robot of the one or more robots to determine a first motion plan for the first robot, the motion planning taking into account at least a second robot of the one or more robots, the first motion plan which specifies a plurality of poses to transition the first robot from one pose to a first end pose, the first end pose which locates at least a portion of the first robot at a first goal; performing motion planning, by at least one processor, for the first robot to attempt to determine a second motion plan for the first robot, the motion planning taking into account at least the second robot of the one or more robots, the second motion plan which specifies a plurality of poses to transition the first robot from the first end pose to a second end pose, the second end pose which locates at least a portion of the first robot at a second goal; ([0061] the robots 170 a-n can continually execute the commands specified explicitly or implicitly by the motion plans to perform the various tasks or transitions of the schedule. The robots can be real-time robots, which means that the robots are programmed to continually execute their commands according to a highly constrained timeline. For example, each robot can expect a command from the robot interface subsystem 160 at a particular frequency, e.g., 100 Hz or 1 kHz. If the robot does not receive a command that is expected, the robot can enter a fault mode and stop operating. [0062] FIG. 2 is a flow diagram illustrating an example process 200 for performing safety assessment of a robotic motion plan. For convenience, the process 200 will be described as being performed by a system of one or more computers located in one or more locations. For example, a robotic safety assessment system, e.g., the robotic safety assessment system 100 of FIG. 1 , appropriately programmed in accordance with this specification, can perform the process 200. [0063] In general, in performing the process 200, the system generates safety information associated with a motion plan for one or more robots in an operating environment according to one or more safety constraints. For example, the system can analyze the motion plan, determine whether a specific safety constraint is satisfied, and generate information indicating a violation of a safety constraint. [0064] In step 210, the system obtains a definition of a motion plan for one or more robots in an operating environment. The definition of the motion plan can provide information for executing an action or a sequence of actions (e.g., to perform a task, a cluster of tasks, or a transition) by the one or more robots in the operating environment. For example, the definition of the motion plan can specify a sequence of actions for a robot by providing a schedule for the sequence of actions, and for each action, values for some or all of the controllable degrees of freedom of the robot. Examples of values for a controllable degree of freedom can include a target base location of the robot and a target joint angle of one or more joints of the robot.) determining whether the first robot will be at least one of trapped, delayed or deadlocked in transitioning from the first motion plan to the second motion plan; and in response to determining that the first robot will be at least one of trapped, delayed or deadlocked in transitioning from the first motion plan to the second motion plan, causing, by the at least one processor, execution of at least one remedial action. ([0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135. For example, the plan selection/modification engine 120 can modify a movement path of a robot to avoid the safety footprint volume of the robot intersecting the volume accessible to an operator. In another example, the plan selection/modification engine 120 can reduce the movement speed of a motion of a robot to guarantee that the movement speed of the robot is below the speed threshold when moving in the volume accessible to an operator. [0057] After the safety assessment engine 130 calculates the safety scores for each of the candidate motion plans, the plan selection/modification engine 120 can rank the candidate motion plans according to the computed safety scores. For example, the plan selection/modification engine 120 can rank the candidate motion plans having higher safety scores as higher ranked candidate motion plans. The plan selection/modification engine 120 can select an output motion plan from the plurality of candidate motion plans according to the ranking. For example, the plan selection/modification engine 120 can select the top ranked candidate motion plan as the output motion plan.)
Regarding claim 51: Beardsworth discloses: The method of claim 50
Beardsworth further discloses: further comprising: autonomously selecting, by the at least one processor,
the remedial action to take out of a set of the remedial actions ([0032] the system 100 further includes a plan selection and modification engine 120 that generates an output motion plan 135 based on the safety information 180 generated by the safety assessment engine 130. The plan selection and modification engine 120 can output the output motion plan 135 to an onsite execution engine 150. The onsite execution engine 150 generates commands 155 based on the output motion plan 135 received from the plan selection and modification engine 120 and execution data 157 received from the robot interface subsystem 160, and issues the generated commands 155 to the robot interface subsystem 160 in order to actually drive the movements of the moveable components, e.g., the joints, of the robots 170 a-n. [0032] Each candidate motion plan in data 112 provides information for executing an action or a sequence of actions (e.g., to perform a task, a cluster of tasks, or a transition) by the robots 170 a-170 n in the operating environment 170. For example, data 112 can include a definition of the candidate motion plan that specifies a sequence of actions for each robot by providing a schedule for the sequence of actions, and for each action, values for some or all of the controllable degrees of freedom of the robot. Examples of values for a controllable degree of freedom can include a target base location of the robot and a target joint angle of one or more joints of the robot. )
Regarding claim 52: Beardsworth discloses: The method of claim 50
Beardsworth further discloses: wherein causing the execution of a remedial action by the at least one
processor includes causing at least one of the following remedial actions: i) performing motion planning,
by the at least one processor, for the first robot to determine a revised motion plan for the first robot, the
motion planning taking into account at least the second robot of the one or more robots, the revised motion
plan which specifies a plurality of poses to transition the first robot from one pose to the first end pose
while avoiding collision or at least reducing a probability of collision with the second robot, the first end
pose which locates at least a portion of the first robot at the first goal; ii) causing the second robot to move
out of a path of the first robot as specified by at least one of the first motion plan for the first robot or the
second motion plan for the first robot; iii) performing motion planning, by the at least one processor, for the
second robot to determine a revised motion plan for the second robot, the revised motion plan which
specifies a plurality of poses to transition the second robot out of a path of the first robot; and iv)
determining a new order of a set of goals, the set of goals including the first goal and at least the second
goal. ([0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135. For example, the plan selection/modification engine 120 can modify a movement path of a robot to avoid the safety footprint volume of the robot intersecting the volume accessible to an operator. In another example, the plan selection/modification engine 120 can reduce the movement speed of a motion of a robot to guarantee that the movement speed of the robot is below the speed threshold when moving in the volume accessible to an operator. [0057] After the safety assessment engine 130 calculates the safety scores for each of the candidate motion plans, the plan selection/modification engine 120 can rank the candidate motion plans according to the computed safety scores. For example, the plan selection/modification engine 120 can rank the candidate motion plans having higher safety scores as higher ranked candidate motion plans. The plan selection/modification engine 120 can select an output motion plan from the plurality of candidate motion plans according to the ranking. For example, the plan selection/modification engine 120 can select the top ranked candidate motion plan as the output motion plan.)
Regarding claim 53: Rejected using the same rationale as claims 9
Regarding claim 54: Beardsworth discloses: The method of claim 53,
Beardsworth further discloses: further comprising: selecting between the first motion plan and at least the
revised motion plan based at least in part on a comparison of a respective amount of delay associated with
each of the first motion plan and at least the revised motion plan. ([0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135. For example, the plan selection/modification engine 120 can modify a movement path of a robot to avoid the safety footprint volume of the robot intersecting the volume accessible to an operator. In another example, the plan selection/modification engine 120 can reduce the movement speed of a motion of a robot to guarantee that the movement speed of the robot is below the speed threshold when moving in the volume accessible to an operator. [0057] After the safety assessment engine 130 calculates the safety scores for each of the candidate motion plans, the plan selection/modification engine 120 can rank the candidate motion plans according to the computed safety scores. For example, the plan selection/modification engine 120 can rank the candidate motion plans having higher safety scores as higher ranked candidate motion plans. The plan selection/modification engine 120 can select an output motion plan from the plurality of candidate motion plans according to the ranking. For example, the plan selection/modification engine 120 can select the top ranked candidate motion plan as the output motion plan.)
Regarding claim 55: Beardsworth discloses: The method of claim 50
Beardsworth further discloses: further comprising: causing the first robot to move
according to the first motion plan for the first robot after said performing motion planning for the first robot
to attempt to determine the second motion plan for the first robot. ([0056] The plan selection/modification engine 120 can evaluate a candidate motion plan according to the computed safety score. If the safety score is below a threshold score, the plan selection/modification engine 120 can determine to reject the corresponding candidate motion plan. Alternatively, the plan selection/modification engine 120 can make modifications to the candidate motion plan if the safety score is below a threshold score and output the modified candidate motion plan as the output motion plan 135. For example, the plan selection/modification engine 120 can modify a movement path of a robot to avoid the safety footprint volume of the robot intersecting the volume accessible to an operator. In another example, the plan selection/modification engine 120 can reduce the movement speed of a motion of a robot to guarantee that the movement speed of the robot is below the speed threshold when moving in the volume accessible to an operator. [0057] After the safety assessment engine 130 calculates the safety scores for each of the candidate motion plans, the plan selection/modification engine 120 can rank the candidate motion plans according to the computed safety scores. For example, the plan selection/modification engine 120 can rank the candidate motion plans having higher safety scores as higher ranked candidate motion plans. The plan selection/modification engine 120 can select an output motion plan from the plurality of candidate motion plans according to the ranking. For example, the plan selection/modification engine 120 can select the top ranked candidate motion plan as the output motion plan.)
Regarding claim 57: Rejected using the same rationale as claim 50.
Regarding claim 58: Rejected using the same rationale as claim 51.
Regarding claim 59: Rejected using the same rationale as claim 52.
Regarding claim 60: Rejected using the same rationale as claim 53.
Regarding claim 61: Rejected using the same rationale as claim 54.
Regarding claim 62: Rejected using the same rationale as claim 55.
Conclusion
The prior art made of record, and not relied upon, considered pertinent to applicant' s disclosure or directed to the state of art is listed on the enclosed PTO-892.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ATTICUS A CAMERON whose telephone number is 703-756-4535. The examiner can normally be reached M-F 8:30 am - 4:30 pm.
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, Thomas Worden can be reached on 571-272-4876. 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.
/ATTICUS A CAMERON/ /JASON HOLLOWAY/ Primary Examiner, Art Unit 3658 Examiner, Art Unit 3658A