DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Objections
A series of singular dependent claims is permissible in which a dependent claim refers to a preceding claim which, in turn, refers to another preceding claim.
A claim which depends from a dependent claim should not be separated by any claim which does not also depend from said dependent claim. It should be kept in mind that a dependent claim may refer to any preceding independent claim. In general, applicant's sequence will not be changed. See MPEP § 608.01(n).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-3 and 15-18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lovett (US-20230092900-A1) in view of Maric ( "Fast Manipulability Maximization Using Continuous-Time Trajectory optimization").
Claim 1
Lovett teaches
a robot placed in a real working space and having a plurality of drive axes each having a degree of freedom for moving an end effector;
(Lovett - [0038] Related art robotic systems generally implement a 6-axis robot. …
[0040] Various embodiments implement a robot that is controlled to move within one or more additional dimensions while performing a task. Controlling the robot to move within the one or more additional dimensions allows the robot to operate (e.g., move the end effector or item grasped by the end effector) within the oblong-shaped area (e.g., the ovoid) around the base of the robot.)
and circuitry configured to:
(Lovett -[0055] … Control computer 128 determines a path or trajectory along which robot 112 and/or robot 114 moves (e.g., a trajectory of the corresponding end effector). In some embodiments, control computer 128 uses a model that is based at least in part on the corresponding n-axes of robot 112 and/or robot 114. For example, control computer 128 determines (e.g., selects) a plan/strategy (e.g., a path or trajectory) based on a set of constraints or solutions (e.g., the solution space).)
set a designated point in a task;
virtually execute a simulated posture of the robot at the designated point by a simulation based on a robot model indicating the robot;
(Lovett -[0055] According to various embodiments, robot 112 and robot 114 are n-axis robots. For example, robot 112 and robot 114 are 6-axis robots. Robots 112 and 114 are controlled to perform a task with respect to an item, such as a tray or an object on a tray, based on a solution space defined at least on the n-axis of the robot 112 and robot 114. N may be a positive integer. For example, control computer 128 determines a plan and/or strategy for performing the task (e.g., grasping the item from a source location, moving the item, and placing the item at a destination location, etc.). Control computer 128 determines a path or trajectory along which robot 112 and/or robot 114 moves (e.g., a trajectory of the corresponding end effector). In some embodiments, control computer 128 uses a model that is based at least in part on the corresponding n-axes of robot 112 and/or robot 114. For example, control computer 128 determines (e.g., selects) a plan/strategy (e.g., a path or trajectory) based on a set of constraints or solutions (e.g., the solution space). … As an example, the n-axes of robot 112 and/or robot 114 help define a set of possible locations and/or possible configurations of robot 112 and/or robot 114. The set of possible locations and/or possible configurations can correspond to an oblong-shaped area (e.g., an ovoid), and locations within the oblong-shaped area can may be excluded from the set of possible locations and/or possible configurations because the robot is unable to position itself in the location or configuration because of constraints such as constraints of the robot joints, or because such locations or configurations do not satisfy a threshold such as an efficiency threshold (e.g., the robot has difficulty configuring itself in such a configuration, etc)
EXAMINER NOTE: Control computer 128 utilizes a model based on the robot (robot model) to determine a set of possible configurations (executes simulated posture) for the robot moving an item from a source location (designated point).
calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;
(Lovett -[0040] … According to various embodiments, the entire oblong-shaped area (e.g., the ovoid) corresponding to the working area is available as a solution space for possible locations at which the end effector, or the item grasped by the end effector, can be moved (e.g., a set of locations that can be at least part of a trajectory of the end effector or item grasped by the end effector). )
(Lovett -[0041] In some embodiments, the robotic system dynamically uses a 7th axis to implement a task. The robotic system comprises a 6-axis robot mounted on a carriage that traverses a guide rail (e.g., a linear track, etc.). In connection with implementing a task within a working area, the robotic system controls to move the robot along a dimension corresponding to the guide rail. Such control of the robot to move during implementation of a task allows for all locations within the oblong area around the working area to be included in the solution space of possible locations (e.g., possible locations of the end effector or item grasped by the end effector as the item end effector or item is moved through the working area).
[0055] … As an example, the n-axes of robot 112 and/or robot 114 help define a set of possible locations and/or possible configurations of robot 112 and/or robot 114. The set of possible locations and/or possible configurations can correspond to an oblong-shaped area (e.g., an ovoid), and locations within the oblong-shaped area can may be excluded from the set of possible locations and/or possible configurations because the robot is unable to position itself in the location or configuration because of constraints such as constraints of the robot joints, … )
EXAMINER NOTE: An area is calculated to define the allowable range of motion of the robot. Postures within this area are within a "degree of margin" from a "limit posture" of the robot.
determine a constraint condition of at least one of the plurality of drive axes at the designated point based on the calculated degree of margin; and
(Lovett -[0127] According to related art, 6-axis robot 305 is controlled to travel along rail 310 to a particular position. The particular position can be a position within the workspace from which 6-axis robot 305 operates to perform a task with respect to the item. As an example, the particular position is determined based on range 315 of 6-axis robot 305. For example, system 300 stores a mapping of range 315 to 6-axis robot 305. System 300 determines a location of an item with respect to which 6-axis robot 305 is to perform a task, then determines the particular location on rail 310 to which 6-axis robot 305 is to be moved to perform the task based at least in part on the location of the item and the predefined/prestored range 315 (e.g., so that the item is within range 315). In response to determining the particular location, system 300 controls 6-axis robot 305 (or the carriage on which 6-axis robot 305 is mounted) to travel along rail 310 to the particular location, and then while stopped at the particular location system 300 controls 6-axis robot 305 to perform the task with respect to the item. When 6-axis robot 305 is stopped at the particular location, control of the robot is generally limited to the 6 degrees of freedom corresponding to the 6-axis.)
EXAMINER NOTE: The robot is moved along the 7th axis to a particular position to carry out the task at hand. The particular position (constraint condition) is determined based on the range of the robot (degree of margin).
control the robot based on the constraint condition.
(Lovett - [0127] According to related art, 6-axis robot 305 is controlled to travel along rail 310 to a particular position. The particular position can be a position within the workspace from which 6-axis robot 305 operates to perform a task with respect to the item)
Under the broadest reasonable interpretation of the claim language, Examiner contends that Lovett's degree of margin satisfies the limitations of calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;. However, for the sake of thoroughness and precision in light of the specification, Examiner submits that Maric teaches
calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;
(Maric - [p. 8259, col 2, Manipulability] The matrix JJT in Eq. (2) also defines the manipulability ellipsoid [1] of the end-effector. The principal axes σ1u1,σ2u2, …, σpup of this ellipsoid can be determined through singular value decomposition of J=UΣVT. The manipulability measure (index) of a given kinematic chain at θi is defined as and is proportional to the volume, V, of the manipulability ellipsoid [1]. Here, σk≥0 is the k-th largest singular value of J, while uk is the k-th column vector of U. A low manipulability corresponds to a low volume of the manipulability ellipsoid, inhibiting motion in the task space.
[p. 8260, col 1, Singularities] The concept of manipulability relates directly to the conditioning of the manipulator Jacobian matrix. Configurations that result in the matrix JJT in Eq. (2) being non-invertible are termed singularities. Consider a kinematic chain and corresponding manipulability ellipsoid with a volume V∝m, as shown in Fig. 2. If the ellipsoid contains one or more zero-length principal axes, it follows that V=0 and m=0; configurations yielding such ellipsoids are known as singular configurations. We can define a minimum acceptable ellipsoid volume VS∈R+, and regard configurations that result in a manipulability m<m(VS) to be nearly singular.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to implement techniques involving manipulability ellipsoids in Lovett's trajectory optimization in order to maximize dexterity throughout the trajectory and avoid singularities.
Claim 2
The combination of Lovett and Maric teaches the limitations of claim 1 as outlined above. Lovett further teaches
wherein the circuitry is configured to control a position or posture of the robot such that the robot meets the constraint condition in the at least one drive axis.
(Lovett -[0127] According to related art, 6-axis robot 305 is controlled to travel along rail 310 to a particular position. The particular position can be a position within the workspace from which 6-axis robot 305 operates to perform a task with respect to the item. As an example, the particular position is determined based on range 315 of 6-axis robot 305. For example, system 300 stores a mapping of range 315 to 6-axis robot 305. System 300 determines a location of an item with respect to which 6-axis robot 305 is to perform a task, then determines the particular location on rail 310 to which 6-axis robot 305 is to be moved to perform the task based at least in part on the location of the item and the predefined/prestored range 315)
EXAMINER NOTE: The robot travels to the position on the rail such that the robot is within range of the object. Thus, the constraint condition is met when the robot travels to the position such that it is within range of the item to be handled.
Claim 3
The combination of Lovett and Maric teaches the limitations of claim 1 as outlined above. Lovett further teaches
wherein the plurality of drive axes includes a redundant axis,
and wherein the circuitry is configured to determine one position on the redundant axis as the constraint condition.
(Lovett -[0127] According to related art, 6-axis robot 305 is controlled to travel along rail 310 to a particular position. The particular position can be a position within the workspace from which 6-axis robot 305 operates to perform a task with respect to the item. As an example, the particular position is determined based on range 315 of 6-axis robot 305. For example, system 300 stores a mapping of range 315 to 6-axis robot 305. System 300 determines a location of an item with respect to which 6-axis robot 305 is to perform a task, then determines the particular location on rail 310 to which 6-axis robot 305 is to be moved to perform the task based at least in part on the location of the item and the predefined/prestored range 315)
EXAMINER NOTE: The rail corresponds to the redundant axis. The robot travels to the position on the rail such that the robot is within range of the object. Thus, the position on the rail is defined as the constraint condition.
Claim 15
The combination of Lovett and Maric teaches the limitations of claim 1 as outlined above. Lovett discusses an allowable working space of the robot, and states that certain locations within the working space may be excluded due to joint constraints.
(Lovett - [0055] … As an example, the n-axes of robot 112 and/or robot 114 help define a set of possible locations and/or possible configurations of robot 112 and/or robot 114. The set of possible locations and/or possible configurations can correspond to an oblong-shaped area (e.g., an ovoid), and locations within the oblong-shaped area can may be excluded from the set of possible locations and/or possible configurations because the robot is unable to position itself in the location or configuration because of constraints such as constraints of the robot joints, …)
Lovett may not discuss manipulability ellipsoids, but it is apparent in light of Maric that the concept of manipulability ellipsoids is known in the art, and would be beneficial to Lovett's system. As shown above with respect to claim 1, the proposed combination of Lovett and Maric teaches
wherein the circuitry is configured to calculate a manipulability ellipsoid based on the robot model and the simulated posture,
and calculate the degree of margin based on the manipulability ellipsoid.
(Maric - [p. 8259, col 2, Manipulability] The matrix JJT in Eq. (2) also defines the manipulability ellipsoid [1] of the end-effector. The principal axes σ1u1,σ2u2, …, σpup of this ellipsoid can be determined through singular value decomposition of J=UΣVT. The manipulability measure (index) of a given kinematic chain at θi is defined as and is proportional to the volume, V, of the manipulability ellipsoid [1]. Here, σk≥0 is the k-th largest singular value of J, while uk is the k-th column vector of U. A low manipulability corresponds to a low volume of the manipulability ellipsoid, inhibiting motion in the task space.
[p. 8260, col 1, Singularities] The concept of manipulability relates directly to the conditioning of the manipulator Jacobian matrix. Configurations that result in the matrix JJT in Eq. (2) being non-invertible are termed singularities. Consider a kinematic chain and corresponding manipulability ellipsoid with a volume V∝m, as shown in Fig. 2. If the ellipsoid contains one or more zero-length principal axes, it follows that V=0 and m=0; configurations yielding such ellipsoids are known as singular configurations. We can define a minimum acceptable ellipsoid volume VS∈R+, and regard configurations that result in a manipulability m<m(VS) to be nearly singular.)
As discussed above with respect to claim 1, It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to implement techniques involving manipulability ellipsoids in Lovett's task planning in order to maximize dexterity throughout the trajectory. Lovett states in at least [0055] that certain poses within the range may be omitted from the set of possible solutions due to joint constraints, and Maric's techniques offer a way to easily identify constraints such as singularities.
Claim 16
The combination of Lovett and Maric teaches the limitations of claim 3 as outlined above. Lovett further teaches
wherein the robot has a traveling axis as the drive axis, and wherein the redundant axis is the traveling axis.
(Lovett -[0127] According to related art, 6-axis robot 305 is controlled to travel along rail 310 to a particular position. The particular position can be a position within the workspace from which 6-axis robot 305 operates to perform a task with respect to the item. As an example, the particular position is determined based on range 315 of 6-axis robot 305. For example, system 300 stores a mapping of range 315 to 6-axis robot 305. System 300 determines a location of an item with respect to which 6-axis robot 305 is to perform a task, then determines the particular location on rail 310 to which 6-axis robot 305 is to be moved to perform the task based at least in part on the location of the item and the predefined/prestored range 315)
EXAMINER NOTE: The rail corresponds to the redundant axis. The robot travels along the rail to handle the target item, so the rail is a traveling axis.
Claim 17
The combination of Lovett and Maric teaches the limitations of claim 3 as outlined above. Lovett further teaches
wherein the robot is a vertical articulated robot, and
EXAMINER NOTE: The robot as shown in Fig. 5A is a vertical articulated robot
PNG
media_image1.png
691
510
media_image1.png
Greyscale
wherein the robot has seven or more drive axes as the plurality of drive axes, and
wherein the redundant axis is one of the seven or more drive axes.
(Lovett -[0043] According to various embodiments, one or more additional axes (e.g., an axis in addition to the 6-axis of a 6-axis robot) is fully integrated and a degree of freedom within robot control. In various embodiments, a robot with a 7.sup.th linear degree of freedom integrated into its control, as disclosed herein, is disposed on a rail or other linear conveyance. The robot may be positioned initially along the rail to a location near a next task (e.g., a working area), then controlled within 7 degrees of freedom, including the linear degree, to perform tasks as disclosed herein, e.g., using rapid repositioning along the linear DOF to enable the robot to avoid suboptimal poses and otherwise operate with optimized speed and efficiency.)
Claim 18
The combination of Lovett and Maric teaches the limitations of claim 3 as outlined above. Lovett further teaches
wherein the robot is two or more robots that operate cooperatively, and
(Lovett -[0060] … In various embodiments, each robot 112, 114 operates in a very tight space of roughly 2.5 m in width and has a very light footprint. The robot utilizes its full workspace and intelligently plans its motion optimizing its grasp and/or efficiency (e.g., time, collision avoidance, etc.) in de-stacking source tray stacks 102, 104. It recognizes the need to perform orientation changes and handles that accordingly while avoiding obstacles. The robot moves to the correct output (e.g., destination tray stack 120, 122) corresponding to the right customer while coordinating with the other robots on the rail 110.)
wherein each of the two or more robots has one or more of the drive axes, and
(Lovett -[0043] According to various embodiments, one or more additional axes (e.g., an axis in addition to the 6-axis of a 6-axis robot) is fully integrated and a degree of freedom within robot control. In various embodiments, a robot with a 7.sup.th linear degree of freedom integrated into its control, as disclosed herein, is disposed on a rail or other linear conveyance. The robot may be positioned initially along the rail to a location near a next task (e.g., a working area), then controlled within 7 degrees of freedom, including the linear degree, to perform tasks as disclosed herein, e.g., using rapid repositioning along the linear DOF to enable the robot to avoid suboptimal poses and otherwise operate with optimized speed and efficiency.)
wherein the redundant axis is the drive axis of one of the two or more robots in the cooperative operation.
(Lovett -[0049] In the example shown, a single rail (e.g., rail 110) is disposed along one long side of the conveyance 106. In this example, two robots, one comprising robot 112 and another comprising robot 114, are mounted movably, independent of one another, on rail 110. For example, each robot 112, 114 may be mounted on a self-propelled chassis that rides along rail 110. )
Claim(s) 1, 3, 8-11, and 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang ("Process Simulation and Optimization of Arc Welding Robot Workstation Based on Digital Twin") in view of Maric ( "Fast Manipulability Maximization Using Continuous-Time Trajectory optimization")
Claim 1
Zhang teaches
a robot placed in a real working space and having a plurality of drive axes each having a degree of freedom for moving an end effector;
EXAMINER NOTE: See fig. 14. A robot arm is shown on a gantry. The robot arm includes multiple joints which are moved to position a welding torch end effector
PNG
media_image2.png
778
622
media_image2.png
Greyscale
and circuitry
(Zhang - [p.7, 2.3.2 Behavior Mapping] The virtual simulation of the twin welding workstation was performed by collecting data from hardware devices, such as on-site robot controllers)
configured to:
set a designated point in a task;
(Zhang - [p. 15, ln 1-6] Therefore, considering that the joint angle of the robot determines its kinematics, the problem of optimizing the base position of the mobile robot arm can be defined as follows: under the condition that the welding path, the process parameters, the robot, and the welding gun are determined, an effective optimization method is established to accurately find the most suitable welding position on the rail, i.e., the optimal base position of the robot.)
EXAMINER NOTE: The welding path is known, and the robot is optimized to weld along the welding path. Because welds must have a start and end point, it follows that at least a start and end point are designated in the task.
virtually execute a simulated posture of the robot at the designated point by a simulation based on a robot model indicating the robot;
calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;
determine a constraint condition of at least one of the plurality of drive axes at the designated point based on the calculated degree of margin; and
(Zhang - [p.15, para 1] In this paper, the particle swarm algorithm was used for optimal control of the extended axis joint variables for robot placement. According to the above analysis, each weld is in the optimal welding position during the welding process, the robot end torch is limited to the weld position along the spatial weld movement, and the robot base is placed and moved by satisfying certain constraints and rules, so that the trajectory of each joint of the robot is smoothest during the whole weld, and, finally, the welding operation time is optimized.
[p.15, para. 3] In the D-dimensional space, there are N particles, each representing a potential solution to the optimization problem, having both position and velocity properties, and orienting themselves according to their own best solution and with reference to the best solution of the whole population. The current position vector of the first particle Xi as a candidate solution to the optimization problem, i.e., xi = xi 1,xi 2,...,xi D , and the current velocity is denoted as Vi = vi 1,vi 2,...,vi D . The optimal solution of the current individual search by the first i is denoted as the individual extremum pi best = pi 1, pi 2,..., pi D , and the optimal solution of current particle group searched by the first particles i is denoted as the global extreme value gi best = gi 1, gi 2,. . ., gi D . The velocity and position of the particles are updated by the iterative process …
[p.15, para. 5-6] The optimization of the robot’s initial welding position must take into account the speed of each joint, acceleration and other motion attributes, as well as various performance indicators related to robot welding operations. The particle swarm optimization fitness function is shown in the following equation
PNG
media_image3.png
184
875
media_image3.png
Greyscale
Equation (6) is the objective function, where θi j denotes the angle of the jth joint at the ith weld point, and kj denotes the weight of the degree of influence of the jth joint on the robot motion performance. Equation (7) is the constraint function, where θjmin is the lower limit of the jth joint, and θjmax is upper limit of the jth joint.)
EXAMINER NOTE: The base position is optimized (constraint condition determined) based on the joint positions relative to their limits (degrees of margin). This process is carried out using a particle swarm algorithm in which a number of candidate robot base positions are evaluated and the best candidate is selected. Note that the joint positions relative to their limits (degrees of margin) are evaluated at each candidate position.
control the robot based on the constraint condition.
(Zhang - [p.16, para.4, ln 6-7] By placing the robot, the robot base was controlled to move to the optimized position to complete the welding task.)
Under the broadest reasonable interpretation of the claim language, Examiner contends that Zhang's degree of margin satisfies the limitations of calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;. However, for the sake of thoroughness and precision in light of the specification, Examiner submits that Maric teaches
calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;
(Maric - [p. 8259, col 2, Manipulability] The matrix JJT in Eq. (2) also defines the manipulability ellipsoid [1] of the end-effector. The principal axes σ1u1,σ2u2, …, σpup of this ellipsoid can be determined through singular value decomposition of J=UΣVT. The manipulability measure (index) of a given kinematic chain at θi is defined as and is proportional to the volume, V, of the manipulability ellipsoid [1]. Here, σk≥0 is the k-th largest singular value of J, while uk is the k-th column vector of U. A low manipulability corresponds to a low volume of the manipulability ellipsoid, inhibiting motion in the task space.
[p. 8260, col 1, Singularities] The concept of manipulability relates directly to the conditioning of the manipulator Jacobian matrix. Configurations that result in the matrix JJT in Eq. (2) being non-invertible are termed singularities. Consider a kinematic chain and corresponding manipulability ellipsoid with a volume V∝m, as shown in Fig. 2. If the ellipsoid contains one or more zero-length principal axes, it follows that V=0 and m=0; configurations yielding such ellipsoids are known as singular configurations. We can define a minimum acceptable ellipsoid volume VS∈R+, and regard configurations that result in a manipulability m<m(VS) to be nearly singular.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to implement techniques involving manipulability ellipsoids in Zhang's trajectory optimization in order to maximize dexterity throughout the trajectory and avoid singularities. Eliminating these candidates from Zhang's optimization problem would reduce search time.
Claim 3
The combination of Zhang and Maric teaches the limitations of claim 1 as outlined above. Zhang further teaches
wherein the plurality of drive axes includes a redundant axis,
and wherein the circuitry is configured to determine one position on the redundant axis as the constraint condition
EXAMINER NOTE: See discussion of Zhang's particle swarm algorithm with respect to the rejection of claim 1. The robot base travels along a gantry (redundant axis). The particle swarm algorithm determines the position of the base along the gantry as the constraint condition.
Claim 11
The combination of Zhang and Maric teaches the limitations of claim 3 as outlined above. As demonstrated above, Zhang further teaches
wherein the circuitry is configured to:
virtually execute the simulated posture for each of a plurality of candidate positions set on the redundant axis;
calculate the degree of margin for each of the plurality of candidate positions based on the simulated posture for each of the plurality of candidate positions and the limit posture; and
determine one candidate position among the plurality of candidate positions as the constraint condition based on the degree of margin for each of the plurality of candidate positions.
(Zhang - [p.15, para 1] In this paper, the particle swarm algorithm was used for optimal control of the extended axis joint variables for robot placement. According to the above analysis, each weld is in the optimal welding position during the welding process, the robot end torch is limited to the weld position along the spatial weld movement, and the robot base is placed and moved by satisfying certain constraints and rules, so that the trajectory of each joint of the robot is smoothest during the whole weld, and, finally, the welding operation time is optimized.
[p.15, para. 3] In the D-dimensional space, there are N particles, each representing a potential solution to the optimization problem, having both position and velocity properties, and orienting themselves according to their own best solution and with reference to the best solution of the whole population. The current position vector of the first particle Xi as a candidate solution to the optimization problem, i.e., xi = xi 1,xi 2,...,xi D , and the current velocity is denoted as Vi = vi 1,vi 2,...,vi D . The optimal solution of the current individual search by the first i is denoted as the individual extremum pi best = pi 1, pi 2,..., pi D , and the optimal solution of current particle group searched by the first particles i is denoted as the global extreme value gi best = gi 1, gi 2,. . ., gi D . The velocity and position of the particles are updated by the iterative process …
[p.15, para. 5-6] The optimization of the robot’s initial welding position must take into account the speed of each joint, acceleration and other motion attributes, as well as various performance indicators related to robot welding operations. The particle swarm optimization fitness function is shown in the following equation
PNG
media_image3.png
184
875
media_image3.png
Greyscale
Equation (6) is the objective function, where θi j denotes the angle of the jth joint at the ith weld point, and kj denotes the weight of the degree of influence of the jth joint on the robot motion performance. Equation (7) is the constraint function, where θjmin is the lower limit of the jth joint, and θjmax is upper limit of the jth joint.)
EXAMINER NOTE: The base position is optimized (constraint condition determined) based on the joint positions relative to their limits (degrees of margin). This process is carried out using a particle swarm algorithm in which a number of candidate robot base positions are evaluated and the best candidate is selected. Note that the joint positions relative to their limits (degrees of margin) are evaluated at each candidate position.
Claim 8
The combination of Zhang and Maric teaches the limitations of claim 1 as outlined above. Zhang further teaches
further comprising a storage configured to store a task for processing a workpiece,
(Zhang - [p.4, para 3, ln 9 thru p. 5] This paper presents a block diagram of the digital twin welding workstation, as shown in Figure 3, including the physical welding workstation unit, the virtual welding workstation unit, twin data, and service system 4 parts.
…
(2) The virtual cell is composed of a virtual digital model of the welding robot workstation, which mainly contains the construction of the model at three levels: elements (such as workstation layout, physical equipment, environment and other production elements), behaviors (such as welding process, linkage and other behavioral characteristics), and rules (such as welding process optimization and other evolutionary rules) to achieve the mapping of digital space to physical space.
(3) The service system is driven by the twin data as the core, providing services such as logic driving and motion control of the digital twin, analyzing and optimizing the welding process, such as welding process, time beat, and robot welding path of the physical entity cell, and mapping it to the virtual entity cell in order to perform motion simulation of the welding process.
(4) The twin data is composed of physical unit data, virtual unit data and service system data, and provides corresponding analysis, verification, and decision information for the service system through data transfer, interaction, and update between each layer.)
EXAMINER NOTE: See Fig. 3. The "Twin Data" block includes data storage. The above passages indicate that this includes task data.
PNG
media_image4.png
514
1279
media_image4.png
Greyscale
wherein the circuitry is configured to:
set a start position that is a position where the end effector starts to act on the workpiece in the task, as the designated point;
(Zhang - [p. 15, ln 1-6] Therefore, considering that the joint angle of the robot determines its kinematics, the problem of optimizing the base position of the mobile robot arm can be defined as follows: under the condition that the welding path, the process parameters, the robot, and the welding gun are determined, an effective optimization method is established to accurately find the most suitable welding position on the rail, i.e., the optimal base position of the robot.)
EXAMINER NOTE: The welding path is known, and the robot is optimized to weld along the welding path. Because welds must have a start and end point, it follows that at least a start and end point are designated in the task.
virtually execute a work scene in which the robot positions the end effector at the start position by the simulated posture to process the workpiece, by the simulation; and
(Zhang - [p.5, para. 3] (3) The service system is driven by the twin data as the core, providing services such as logic driving and motion control of the digital twin, analyzing and optimizing the welding process, such as welding process, time beat, and robot welding path of the physical entity cell, and mapping it to the virtual entity cell in order to perform motion simulation of the welding process.)
determine the constraint condition for the end effector to act on the workpiece.
EXAMINER NOTE: Determination of the constraint condition is discussed at length in the rejection of claim 1 above.
Claim 9
The combination of Zhang and Maric teaches the limitations of claim 8 as outlined above. Zhang further teaches
wherein the circuitry is configured to:
virtually operate the robot such that the end effector passes through the start position and an end position in this order, and virtually execute the work scene, wherein the end position is a position where the action of the end effector on the workpiece ends in the task; and
(Zhang - [p. 15, ln 1-6] Therefore, considering that the joint angle of the robot determines its kinematics, the problem of optimizing the base position of the mobile robot arm can be defined as follows: under the condition that the welding path, the process parameters, the robot, and the welding gun are determined, an effective optimization method is established to accurately find the most suitable welding position on the rail, i.e., the optimal base position of the robot.)
EXAMINER NOTE: The welding path is known, and the robot is optimized to weld along the welding path. Because welds must have a start and end point, it follows that at least a start and end point are designated in the task.
(Zhang - [p.5, para. 3] (3) The service system is driven by the twin data as the core, providing services such as logic driving and motion control of the digital twin, analyzing and optimizing the welding process, such as welding process, time beat, and robot welding path of the physical entity cell, and mapping it to the virtual entity cell in order to perform motion simulation of the welding process.)
calculate the degree of margin in the work scene based on a plurality of the degrees of margin in an area from the start position to the end position.
(Zhang - [p.15, para. 5-6] The optimization of the robot’s initial welding position must take into account the speed of each joint, acceleration and other motion attributes, as well as various performance indicators related to robot welding operations. The particle swarm optimization fitness function is shown in the following equation
PNG
media_image3.png
184
875
media_image3.png
Greyscale
Equation (6) is the objective function, where θi j denotes the angle of the jth joint at the ith weld point, and kj denotes the weight of the degree of influence of the jth joint on the robot motion performance. Equation (7) is the constraint function, where θjmin is the lower limit of the jth joint, and θjmax is upper limit of the jth joint.)
EXAMINER NOTE: The base position is optimized (constraint condition determined) based on the joint positions relative to their limits (degrees of margin). This process is carried out using a particle swarm algorithm in which a number of candidate robot base positions are evaluated and the best candidate is selected. Note that the joint positions relative to their limits (degrees of margin) are evaluated at each candidate position.
Claim 10
The combination of Zhang and Maric teaches the limitations of claim 9 as outlined above. Zhang further teaches
wherein the storage is configured to store two or more of the tasks, and
(Zhang - [p.9, ln 4 thru para. 2] Dynamic visualization data, as shown in Figure 6, is used to carry out real-time action simulation of the virtual welding robot and to realize the transfer mapping of process data, simulation and service optimization of the workshop. The data of the digital twin of the welding robot workstation mainly includes four kinds of basic data, namely design data, process data, welding process data, and production data, details of which are given below.
Process data mainly includes welding methods for welded parts, specifically process information, welding seam sequence, welding process characteristics, and other parameters.)
wherein the circuitry is configured to:
set the designated point for each of the two or more tasks;
virtually execute the work scene including the two or more tasks in a state where a position of each of the at least one of the plurality of drive axes is fixed at a common position that is a same position among the two or more tasks; and
determine the constraint condition common to the two or more tasks based on the degree of margin in each of the two or more tasks.
EXAMINER NOTE: The above citation from page 9 of Zhang indicates that the constraint condition is determined for multiple weld seams (multiple tasks). As established above, each weld seam includes at least one start point and one end point.
Claim 19
Zhang teaches
A processor-executable method for controlling a robot placed in a real working space and having a plurality of drive axes each having a degree of freedom for moving an end effector, the method comprising:
setting a designated point in a task;
(Zhang - [p. 15, ln 1-6] Therefore, considering that the joint angle of the robot determines its kinematics, the problem of optimizing the base position of the mobile robot arm can be defined as follows: under the condition that the welding path, the process parameters, the robot, and the welding gun are determined, an effective optimization method is established to accurately find the most suitable welding position on the rail, i.e., the optimal base position of the robot.)
EXAMINER NOTE: The welding path is known, and the robot is optimized to weld along the welding path. Because welds must have a start and end point, it follows that at least a start and end point are designated in the task.
virtually executing a simulated posture of the robot at the designated point by a simulation based on a robot model indicating the robot;
calculating a degree of margin indicating how far the simulated posture is from a limit posture of the robot;
determining a constraint condition of at least one of the plurality of drive axes at the designated point based on the calculated degree of margin; and
(Zhang - [p.15, para 1] In this paper, the particle swarm algorithm was used for optimal control of the extended axis joint variables for robot placement. According to the above analysis, each weld is in the optimal welding position during the welding process, the robot end torch is limited to the weld position along the spatial weld movement, and the robot base is placed and moved by satisfying certain constraints and rules, so that the trajectory of each joint of the robot is smoothest during the whole weld, and, finally, the welding operation time is optimized.
[p.15, para. 3] In the D-dimensional space, there are N particles, each representing a potential solution to the optimization problem, having both position and velocity properties, and orienting themselves according to their own best solution and with reference to the best solution of the whole population. The current position vector of the first particle Xi as a candidate solution to the optimization problem, i.e., xi = xi 1,xi 2,...,xi D , and the current velocity is denoted as Vi = vi 1,vi 2,...,vi D . The optimal solution of the current individual search by the first i is denoted as the individual extremum pi best = pi 1, pi 2,..., pi D , and the optimal solution of current particle group searched by the first particles i is denoted as the global extreme value gi best = gi 1, gi 2,. . ., gi D . The velocity and position of the particles are updated by the iterative process …
[p.15, para. 5-6] The optimization of the robot’s initial welding position must take into account the speed of each joint, acceleration and other motion attributes, as well as various performance indicators related to robot welding operations. The particle swarm optimization fitness function is shown in the following equation
PNG
media_image3.png
184
875
media_image3.png
Greyscale
Equation (6) is the objective function, where θi j denotes the angle of the jth joint at the ith weld point, and kj denotes the weight of the degree of influence of the jth joint on the robot motion performance. Equation (7) is the constraint function, where θjmin is the lower limit of the jth joint, and θjmax is upper limit of the jth joint.)
EXAMINER NOTE: The base position is optimized (constraint condition determined) based on the joint positions relative to their limits (degrees of margin). This process is carried out using a particle swarm algorithm in which a number of candidate robot base positions are evaluated and the best candidate is selected. Note that the joint positions relative to their limits (degrees of margin) are evaluated at each candidate position.
controlling the robot based on the constraint condition.
(Zhang - [p.16, para.4, ln 6-7] By placing the robot, the robot base was controlled to move to the optimized position to complete the welding task.)
Under the broadest reasonable interpretation of the claim language, Examiner contends that Zhang's degree of margin satisfies the limitations of calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;. However, for the sake of thoroughness and precision in light of the specification, Examiner submits that Maric teaches
calculating a degree of margin indicating how far the simulated posture is from a limit posture of the robot;
(Maric - [p. 8259, col 2, Manipulability] The matrix JJT in Eq. (2) also defines the manipulability ellipsoid [1] of the end-effector. The principal axes σ1u1,σ2u2, …, σpup of this ellipsoid can be determined through singular value decomposition of J=UΣVT. The manipulability measure (index) of a given kinematic chain at θi is defined as and is proportional to the volume, V, of the manipulability ellipsoid [1]. Here, σk≥0 is the k-th largest singular value of J, while uk is the k-th column vector of U. A low manipulability corresponds to a low volume of the manipulability ellipsoid, inhibiting motion in the task space.
[p. 8260, col 1, Singularities] The concept of manipulability relates directly to the conditioning of the manipulator Jacobian matrix. Configurations that result in the matrix JJT in Eq. (2) being non-invertible are termed singularities. Consider a kinematic chain and corresponding manipulability ellipsoid with a volume V∝m, as shown in Fig. 2. If the ellipsoid contains one or more zero-length principal axes, it follows that V=0 and m=0; configurations yielding such ellipsoids are known as singular configurations. We can define a minimum acceptable ellipsoid volume VS∈R+, and regard configurations that result in a manipulability m<m(VS) to be nearly singular.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to implement techniques involving manipulability ellipsoids in Zhang's trajectory optimization in order to maximize dexterity throughout the trajectory and avoid singularities. Eliminating these candidates from Zhang's optimization problem would reduce search time.
Claim 20
A non-transitory computer-readable storage medium storing processor-executable instructions to cause a computer to function as a robot control system for controlling a robot placed in a real working space and having a plurality of drive axes each having a degree of freedom for moving an end effector, the instructions causing the computer to:
set a designated point in a task;
(Zhang - [p. 15, ln 1-6] Therefore, considering that the joint angle of the robot determines its kinematics, the problem of optimizing the base position of the mobile robot arm can be defined as follows: under the condition that the welding path, the process parameters, the robot, and the welding gun are determined, an effective optimization method is established to accurately find the most suitable welding position on the rail, i.e., the optimal base position of the robot.)
EXAMINER NOTE: The welding path is known, and the robot is optimized to weld along the welding path. Because welds must have a start and end point, it follows that at least a start and end point are designated in the task.
virtually execute a simulated posture of the robot at the designated point by a simulation based on a robot model indicating the robot;
calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;
determine a constraint condition of at least one of the plurality of drive axes at the designated point based on the calculated degree of margin; and
(Zhang - [p.15, para 1] In this paper, the particle swarm algorithm was used for optimal control of the extended axis joint variables for robot placement. According to the above analysis, each weld is in the optimal welding position during the welding process, the robot end torch is limited to the weld position along the spatial weld movement, and the robot base is placed and moved by satisfying certain constraints and rules, so that the trajectory of each joint of the robot is smoothest during the whole weld, and, finally, the welding operation time is optimized.
[p.15, para. 3] In the D-dimensional space, there are N particles, each representing a potential solution to the optimization problem, having both position and velocity properties, and orienting themselves according to their own best solution and with reference to the best solution of the whole population. The current position vector of the first particle Xi as a candidate solution to the optimization problem, i.e., xi = xi 1,xi 2,...,xi D , and the current velocity is denoted as Vi = vi 1,vi 2,...,vi D . The optimal solution of the current individual search by the first i is denoted as the individual extremum pi best = pi 1, pi 2,..., pi D , and the optimal solution of current particle group searched by the first particles i is denoted as the global extreme value gi best = gi 1, gi 2,. . ., gi D . The velocity and position of the particles are updated by the iterative process …
[p.15, para. 5-6] The optimization of the robot’s initial welding position must take into account the speed of each joint, acceleration and other motion attributes, as well as various performance indicators related to robot welding operations. The particle swarm optimization fitness function is shown in the following equation
PNG
media_image3.png
184
875
media_image3.png
Greyscale
Equation (6) is the objective function, where θi j denotes the angle of the jth joint at the ith weld point, and kj denotes the weight of the degree of influence of the jth joint on the robot motion performance. Equation (7) is the constraint function, where θjmin is the lower limit of the jth joint, and θjmax is upper limit of the jth joint.)
EXAMINER NOTE: The base position is optimized (constraint condition determined) based on the joint positions relative to their limits (degrees of margin). This process is carried out using a particle swarm algorithm in which a number of candidate robot base positions are evaluated and the best candidate is selected. Note that the joint positions relative to their limits (degrees of margin) are evaluated at each candidate position.
control the robot based on the constraint condition.
(Zhang - [p.16, para.4, ln 6-7] By placing the robot, the robot base was controlled to move to the optimized position to complete the welding task.)
Under the broadest reasonable interpretation of the claim language, Examiner contends that Zhang's degree of margin satisfies the limitations of calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;. However, for the sake of thoroughness and precision in light of the specification, Examiner submits that Maric teaches
calculate a degree of margin indicating how far the simulated posture is from a limit posture of the robot;
(Maric - [p. 8259, col 2, Manipulability] The matrix JJT in Eq. (2) also defines the manipulability ellipsoid [1] of the end-effector. The principal axes σ1u1,σ2u2, …, σpup of this ellipsoid can be determined through singular value decomposition of J=UΣVT. The manipulability measure (index) of a given kinematic chain at θi is defined as and is proportional to the volume, V, of the manipulability ellipsoid [1]. Here, σk≥0 is the k-th largest singular value of J, while uk is the k-th column vector of U. A low manipulability corresponds to a low volume of the manipulability ellipsoid, inhibiting motion in the task space.
[p. 8260, col 1, Singularities] The concept of manipulability relates directly to the conditioning of the manipulator Jacobian matrix. Configurations that result in the matrix JJT in Eq. (2) being non-invertible are termed singularities. Consider a kinematic chain and corresponding manipulability ellipsoid with a volume V∝m, as shown in Fig. 2. If the ellipsoid contains one or more zero-length principal axes, it follows that V=0 and m=0; configurations yielding such ellipsoids are known as singular configurations. We can define a minimum acceptable ellipsoid volume VS∈R+, and regard configurations that result in a manipulability m<m(VS) to be nearly singular.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to implement techniques involving manipulability ellipsoids in Zhang's trajectory optimization in order to maximize dexterity throughout the trajectory and avoid singularities. Eliminating these candidates from Zhang's optimization problem would reduce search time.
Claim(s) 4-7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang in view of Maric as applied to claim 1 above, and further in view of Yamazaki (US 20240066701 A1).
Claim 4
The combination of Zhang and Maric teaches the limitations of claim 1 as outlined above. While Zhang mentions sensors, the cited combination may not explicitly teach the following limitations in combination. However, Yamazaki teaches
further comprising a sensor configured to detect a real position of a workpiece present in the real working space as a workpiece position,
(Yamazaki - [0059] In the present case, the actual installation position of the robot 1 and the actual positions of the workpieces 65 and 66 fixed to the platform 69 often deviate from the desired design values. As a result, the positions of the workpieces 65 and 66 with respect to the installation position of the robot 1 often deviate from desired positions. In the simulation, it is difficult to estimate the accurate positions of the workpiece models 65M and 66M with respect to the robot device model 3M. In this manner, in the simulation, errors occur in the positions where respective devices and members are arranged.
[0060] The first simulation device 4 performs a control such that the actual workpieces 65 and 66 are imaged by the vision sensor 30, and the three-dimensional position information on the surface of the workpiece 65 is displayed on a simulation image so as to correspond to the position of the actual workpiece 65. The three-dimensional position information on the surface of the workpiece 65 is displayed so that deviation of the position at which the workpiece 65 is arranged with respect to the installation position of the robot 1 can be recognized.)
wherein the circuitry is configured to control the robot to process the workpiece, based on the constraint condition and the workpiece position detected by the sensor.
(Yamazaki - [0003] When the robot device performs a new operation, an operation program needs to be created. The position of the robot and the orientation of the robot at a teaching point can be taught by driving an actual robot.
[0035] The operation control unit 43 corresponds to a processor that is driven in accordance with the operation program of the robot device. The processor reads the operation program and performs a control defined in the operation program, thereby functioning as the operation control unit 43.
[0097] In the operation program, the operation information setting unit 57 performs a control for correcting a position and an orientation of the workpiece coordinate system 74a set for the workpiece model 65M in the simulation so as to correspond to the position and the orientation of the workpiece coordinate system 74b calculated based on the point group 87 including the three-dimensional points 87a. In this manner, the operation information setting unit 57 can correct the operation information in the operation program. In this case, the position and the orientation of the workpiece coordinate system included in the operation information can be corrected.
[0053] The simulation executing unit 56 changes a position and an orientation of the robot model 1M in the image 81 in accordance with an operation on the input part 51. The operator operates the input part 51 so as to set the welding gun model 5M at a desired position and in a desired orientation. The operator specifies teaching points 89a to 89h for performing welding work. At each of the teaching points 89a to 89h, the position and the orientation of the robot model 1M are adjusted. In the present case, spot welding is performed at three locations. The teaching points 89b, 89e, and 89g correspond to the welding points 68a, 68b, and 68c at which the spot welding is performed.)
EXAMINER NOTE: The teaching points are the points where welding is to be performed. The operation program controls the robot, and includes teaching points. The above indicates that the teaching points of the operation program are corrected (adjusted) before the robot is controlled to carry out the welding task. It should be noted that the joint configurations to follow the path are dependent on the position of the robot base, which is taught by Zhang as shown in the rejection of claim 1.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify Zhang’s welding robot by correcting for misalignment between virtual and real environments in order to allow for recognition and correction of potential errors.
(Yamazaki - [0059] In the present case, the actual installation position of the robot 1 and the actual positions of the workpieces 65 and 66 fixed to the platform 69 often deviate from the desired design values. As a result, the positions of the workpieces 65 and 66 with respect to the installation position of the robot 1 often deviate from desired positions. In the simulation, it is difficult to estimate the accurate positions of the workpiece models 65M and 66M with respect to the robot device model 3M. In this manner, in the simulation, errors occur in the positions where respective devices and members are arranged.
[0076] As described above, the simulation device according to the present embodiment can display the three-dimensional position information on the actual workpiece which is superimposed on the images of the robot model and the workpiece model displayed in the simulation. Thus, deviation of the teaching points set to the actual workpiece can be easily confirmed. The positions of the teaching points and the orientations of the robot at the teaching points can then be corrected by using the simulation device.
[0077] The operation information setting unit 57 can correct the operation information in the operation program 41. In other words, the operation information setting unit 57 can correct the positions of the teaching points and the orientations of the robot at the teaching points. In this manner, the operation information setting unit 57 can correct the operation program based on the corrected teaching points.)
Claim 5
The combination of Zhang, Maric, and Yamazaki teaches the limitations of claim 4 as outlined above. As shown above, Yamazaki also teaches
adjust the designated point based on the workpiece position detected by the sensor; and
control the robot to process the workpiece, based on the adjusted designated point.
(Yamazaki - [0076] As described above, the simulation device according to the present embodiment can display the three-dimensional position information on the actual workpiece which is superimposed on the images of the robot model and the workpiece model displayed in the simulation. Thus, deviation of the teaching points set to the actual workpiece can be easily confirmed. The positions of the teaching points and the orientations of the robot at the teaching points can then be corrected by using the simulation device.)
Claim 6
The combination of Zhang, Maric, and Yamazaki teaches the limitations of claim 5 as outlined above. As shown above (and elaborated further below), Yamazaki also teaches
wherein the circuitry is configured to generate a path for moving the end effector to the adjusted designated point.
(Yamazaki - [0089] … The operation path 86a is a path generated in the simulation based on the positions of the workpiece models 65M and 66M. The point group 87 corresponding to the position of the surface 65b of the actual workpiece 65 is shifted from the upper surface of the workpiece model 65M. As a result, the operation path 86a is also shifted from the position of the point group 87 including the three-dimensional points 87a.
[0098] … By correcting the position and the orientation of the workpiece coordinate system as the operation information, the position of each of the teaching points and the orientation of the robot at each of the teaching points are corrected. The respective teaching points 89b, 89e, and 89g are moved as indicated by an arrow 106, and corrected teaching points 90b, 90e, and 90g are set. When the simulation executing unit 56 performs the simulation, a corrected operation path 86b is displayed.)
Claim 7
The combination of Zhang, Maric, and Yamazaki teaches the limitations of claim 5 as outlined above. Yamazaki’s correction process also includes
set a position where the end effector acts on the workpiece as the designated point; and
(Yamazaki - [0053] The simulation executing unit 56 changes a position and an orientation of the robot model 1M in the image 81 in accordance with an operation on the input part 51. The operator operates the input part 51 so as to set the welding gun model 5M at a desired position and in a desired orientation. The operator specifies teaching points 89a to 89h for performing welding work. At each of the teaching points 89a to 89h, the position and the orientation of the robot model 1M are adjusted. In the present case, spot welding is performed at three locations. The teaching points 89b, 89e, and 89g correspond to the welding points 68a, 68b, and 68c at which the spot welding is performed.)
adjust the designated point based on a difference between coordinates of the designated point and coordinates of the workpiece position.
(Yamazaki - [0102] For example, the position of each of the teaching points and the orientation of the robot at each of the teaching points serving as the operation information defined in the operation program can be specified through coordinate values in the robot coordinate system. In this case, the operation information setting unit calculates the relative position and the relative orientation of the workpiece coordinate system set for the point group of the three-dimensional points with respect to the workpiece coordinate system set for the workpiece model. A movement direction and a movement amount of the workpiece coordinate system correspond to an error in the position and the orientation of the workpiece. For this reason, the operation information setting unit can correct the position of each of the teaching points and the orientation of the robot at each of the teaching points represented in the robot coordinate system based on the relative position and the relative orientation of the workpiece coordinate system.
Claim(s) 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang and Maric as applied to claim 11 above, and further in view of Li ("Bayesian Optimization with Particle Swarm")
Claim 12
The combination of Zhang and Maric teaches the limitations of claim 11 as outlined above. The cited combination does not explicitly teach the limitations of claim 12 in combination. Zhang discusses the use of a particle swarm algorithm to set a plurality of candidate positions, as discussed above with respect to claim 11. Posture is simulated at each candidate position. Zhang does not teach the use of Bayesian optimization. However, Li proposes an algorithm combining particle swarm optimization and Bayesian optimization, and teaches
set each of the plurality of candidate positions by Bayesian optimization based on an evaluation value reflecting at least the degree of margin; and
virtually execute the simulated posture for each of the set plurality of candidate positions.
(Li - [p.2, col 2, III. PSO-BO] The BO algorithm based on PSO is an iterative process. First of all, use Algorithm 1 to optimize the acquisition function to obtain xt+1; Then, evaluate the objective function value according to yt+1=f(xt+1)+ε; Finally, update D with the new sample point {(xt+1, yt+1)}, and update the posterior distribution of the probabilistic surrogate model for the next iteration.)
EXAMINER NOTE: BO is an abbreviation for Bayesian Optimization, while PSO is an abbreviation for Particle Swarm Optimization. Algorithm 1 (not reproduced here, but shown in the preceding section of Li) is the same algorithm introduced on page 15 of Zhang.
(Li - [p.2, col 2, III. PSO-BO, A. Algorithm Description]
The effectiveness of BO depends on the acquisition function α. In general, α is non-convex and multi-peak, which needs to solve the non-convex optimization problems in the search space X. PSO algorithm is simple, with a few adjustment parameters and fast convergence speed. It is not necessary to calculate the derivatives of the objective function in the process of PSO. Therefore, PSO algorithm was chosen to optimize acquisition function to obtain new sample point in this paper.
The first choice we need to make is the surrogate model. Using a Gaussian process (GP) as the surrogate model is a popular choice, due to the potent function approximation properties and ability to quantify uncertainty of GP. A GP is a prior over functions which allows us to encode our prior beliefs about the properties of the function f, such as smoothness and periodicity [3]. GP is a nonparametric model [21] that is fully characterized by its prior mean function and its positive-definite kernel, or covariance function. Formally, each finite subset of GP model obeys multivariate normal distribution. Assuming that the output expectation of the model is 0, the joint distribution of the original observation data D and the new sample point (xt+1, yt+1) can be expressed as follows: [y1:t+1]∼N(0,[K+σ2εIkTkk(xt+1,xt+1)]
[p.3, col 2, B. Algorithm Framework]
PSO-BO consists of the following steps: (i) assume a surrogate model for the black box function f, (ii) define an acquisition function α based on the surrogate model of f, and maximize α by the PSO to decide the next evaluation point, (iii) observe the objective function at the point specified by α maximization, and update the GP model using the observed data. PSO- BO algorithm repeat (ii) and (iii) above until it meets the stopping conditions. The algorithm framework is as follows:
Algorithm 2 PSO-BO
Input: surrogate model for f, acquisition function α
Output: hyper-parameter vector optimal x∗
Step 1.
Initialize hyper-parameter vector x0;
Step 2.
For t=1,2,…,T do:
Step 3.
Using algorithm 1 to maximize the acquisition function to get the next evaluation point: xt+1=argmaxx∈Xα(x|D);
Step 4.
Evaluation objective function value yt+1=f(xt+1)+εt+1;
Step 5.
Update data :Dt+1=D∪(xt+1, yt+1), and update the surrogate model;
Step 6.
End for.
)
In the above passages, Li describes an algorithm utilizing bayesian optimization to more efficiently carry out the particle swarm optimization described by Zhang . As described above, Zhang's particle swarm optimization utilizes a measure corresponding to degree of margin as a constraint during the optimization. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify Zhang's particle swarm optimization with Li's suggestion to combine the optimization with Bayesian Optimization in order to reduce computational burden and improve performance of the model.
(Li - [p.5, col 2, CONCLUSION] In this paper, we developed a new approach, PSO-BO, based on PSO algorithm. In PSO-BO framework, the PSO method with simple calculation is used to solve the maximum value of the acquisition function, which reduces the computational burden and improves the performance of the model. )
Allowable Subject Matter
Claims 13-14 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAMES MILLER WATTS whose telephone number is (703)756-1249. The examiner can normally be reached 7:30-5:30 M-TH.
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, Adam Mott can be reached at 571-270-5376. 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.
/JAMES MILLER WATTS III/Examiner, Art Unit 3657
/ADAM R MOTT/Supervisory Patent Examiner, Art Unit 3657