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 .
Response to Amendment
The amendment filed on 10/24/2025, has been received and made of record. In response to the Non-Final Office Action, dated on 07/24/2025. Claims 30-31, 33-35, 37-42 and 45-49 are pending in the current application. Claims 32, 36, and 43-44 have been cancelled. No new claims have been added.
Response to Arguments
Applicant’s arguments filed on 10/24/2025 have been fully considered.
In the Arguments/Remarks:
Re: Rejection of Claims Under 35 U.S.C. 103
Applicant argues on pages 8 and 9 of the applicant’s remarks, that Yoshiuchi fails to disclose or suggest “to control the robotic device based on the first control data as a result of determining the second control data is unavailable or unusable where the first and second control data are for controlling the same robotic device.” In newly amended independent claims 30 and 48. Examiner respectfully disagrees. Paragraphs 80-96 of Yoshiuchi disclose, [(89) “By sequentially executing the motion control commands included in robot position control, the robot control program 261 of the robot 2 moves the robot body to a position where all of the service devices 6 scheduled to be used become available (S3-28). Next, service device control similar to that in (S2-10, 13, and 16) in FIG. 11 is performed (S3-28, 31, and 34).” (90) “The device control program 561 of the device control server 5 controls the service devices 6 based on the supplied device control parameters (S3-34). Accordingly, even when the robot 2 is in a state where external service devices 6 are unavailable, the robot 2 can provide the user with a service by moving the robot body and controlling external devices.” (94) “When a service device 6 not available at this time point is included in the list of service devices 6 necessary for service provision, the robot control program 261 of the robot 2 transmits the device information request 2 to the service control server 4 and receives device detail information on the service device 6 which is necessary for service provision and which is currently unavailable (F1-16).” (95) “When there is a service device 6 not available due to a positional relationship, the robot control program 261 of the robot 2 transmits a robot position control request to the service control server 4 and requests the service control server 4 to move its own robot 2 to a position where all of the service devices 6 required by the robot 2 for service provision become available.”] Examiner submits that in paragraph 89 of Yoshiuchi discloses that the robot 2 is given a control data to move to a position where all of the services are available. Paragraph 90, further discloses that the robot 2 can still provide a user with a service if the service devices are unavailable. Paragraph 94, discloses that when a service device is not available the robot relays the acquired information back to the server. Paragraph 95, discloses that when a service device is unavailable the robot is instructed to move to a position where the services devices for the service can be used. Examiner submits that the same robot, is being used. The robot is controlled to move to a position where all of the service devices are scheduled to be used become available (first control data), however if a needed service device is unavailable (second control data) the robot will be controlled to move to a location where the service devices can be used (first control data).
Examiner believes under the broadest reasonable interpretation (BRI) of the
argued limitation that Yoshiuchi teaches or suggest the argued limitation by the
sections provided here and shown below in the newest rejection, therefore applicant’s
arguments are unpersuasive. The same reasoning as applied to the independent claims 30 and 48 also apply to its corresponding dependent claims.
Applicant argues beginning on page 10 of the applicant’s remarks, that Dai fails to disclose “controlling the wireless transmitter to transmit the one or more first messages less often than the one or more second messages” in newly amended independent claims 40 and 49. Examiner has augmented the rejection in view of applicant’s amendments and arguments (see rationale below) for independent claims 40 and 49.
Claim Objections
Claims 30 and 48 are objected to because of the following informalities:
Claims 30 and 48 similarily recite “wherein to: determine whether the second control data is unavailable or not useable comprises to determine that the second control data is unavailable or not useable, and selectively control the robotic device based on the first control data or the second control data comprises to control the robotic device based on the first control data as a result of determining the second control data is unavailable or not useable”. The claims should be amended to recite similarly to “wherein when to: determine whether the second control data is unavailable or not useable and selectively control the robotic device based on the first control data or the second control data comprises to control the robotic device based on the first control data when determining the second control data is unavailable or not usable.”.
Appropriate correction is required.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 30-35, 37-39 and 48 are rejected under 35 U.S.C. 103 as being unpatentable over Hosek (US 2007/0010898 A1) in view of Linnell (US 2015/0336269 A1) and in further view of Yoshiuchi (US 2018/0326593 A1).
Regarding claim 30, Hosek teaches the first control data further comprise path data indicative of planned movement paths of the multiple robotic devices in the robot cell [(see at least paragraphs 109-115) As in 110 “An exemplary motion command may include a three dimensional point in an axis workspace. The necessary operations to execute a motion command may include one or more of computing trajectories, computing torque commands, and computing the necessary power to be applied to the motors of the axes controlled by the autonomous remote controller 150 so that the axes reach the three dimensional point.” As in 111 “In response to the point to point motion command the autonomous remote controller 150 may send an answer reporting the results of the command. The master controller 105 may then send another point to point command with the next three dimensional point. This exchange may proceed until the autonomous remote controller 150 executes a desired sequence of motion commands.” As in 112 “A work cell 505 incorporating the control system includes two robots 510, 520 and two substrate aligners 515, 520. A cluster controller 540 and three remote controllers 550, 555, 560 are used to control robot 510. Similarly, another cluster controller 545 and three remote controllers 565, 570, 575 are used to control robot 520. A master controller 580 controls the two cluster controllers 540, 545 as well as autonomous remote controllers 585, 590 for the substrate aligners 515, 525. The master controller 580, cluster controllers 540, 545, remote controllers 550, 555, 560, 565, 570, 575 and autonomous remote controllers 585, 590 are connected by a communication network 595.”]
Hosek teaches wirelessly receive second control data comprising one or more control commands for at least the robotic device [(see at least paragraphs 300-301) “For example, the cluster controller 2915 may issue a test motion command to the robot and then may check sensors 2960, 2965, 2970 to ensure that the robot executed the command within specifications. As another example, the cluster controller may check the performance characteristics by instructing the robot 2910 to place a substrate 2975 on aligner 2955 and then checking the alignment of the placed substrate. If the performance characteristics are within specification, the cluster controller 2915 may allow the robot to execute the motion command, as shown in block 3045 of FIG. 31.”]
Hosek does not explicitly teach a robot controller for controlling a robotic device within a robot cell including multiple robotic devices, the controller being configured to: wirelessly receive first control data comprising cell state data indicative of a current state of the robot cell, wherein the first control data are received via one of a broadcast and a multicast transmission directed to the multiple robotic devices in the robot cell; determine whether the second control data is unavailable or not useable; and based on the determination, selectively control the robotic device based on the first control data or the second control data.
However, Linnell teaches a robot controller for controlling a robotic device within a robot cell including multiple robotic devices, the controller being configured to: wirelessly receive first control data comprising cell state data indicative of a current state of the robot cell, wherein the first control data are received via one of a broadcast and a multicast transmission directed to the multiple robotic devices in the robot cell [(see at least Fig.1, paragraphs 46-53, 60) As in 46 “ A master input 24 may be any device that functions to operate all of the device actors 42, 44 associated with a particular building process being executed by manufacture control system 100. Master input 24 may function by sending input control signals to master control 10. Master control 10 may then adapt the signal from master input 24 to send individual control signals to a plurality of robot actors operating as device actors 42, 44 for a particular manufacturing process. In one potential embodiment, every individual device of device actors 42, 44 may be provided a control signal from master control 10 when a signal is received from master input 24, including a signal to maintain a status quo or non-action to devices that are not operating as device actors 42, 44 for a particular part of the manufacturing process” As in 53 “Network support may also enable communications from master control 10 to one or more of system devices 40. In one potential embodiment, a network may comprise an EtherCAT network operating according to IEEE 1588. In such an embodiment, packets may be processed on the fly using a field bus memory management unit in each slave node. Each network node may read the data addressed to it, while the telegram is forwarded to the next device. Similarly, input data may be inserted while the telegram passes through. The telegrams may only be delayed by a few nanoseconds. On the master side, commercially available standard network interface cards or an on-board Ethernet controller can be used as a hardware interface. Using these interfaces, data transfer to the master control via direct memory access may be achieved with no CPU capacity taken up for the network access.” As in 60 “Master control 10 may stream data in from one or more different types of sensors located within the physical workcell.”]
Yoshiuchi teaches determine whether the second control data is unavailable or not useable; and based on the determination, selectively control the robotic device based on the first control data or the second control data. [(see at least paragraphs 80-96) As in 89 “By sequentially executing the motion control commands included in robot position control, the robot control program 261 of the robot 2 moves the robot body to a position where all of the service devices 6 scheduled to be used become available (S3-28). Next, service device control similar to that in (S2-10, 13, and 16) in FIG. 11 is performed (S3-28, 31, and 34). However, with respect to service devices 6 which do not satisfy conditions of service provision by position control of the robot 2 alone, in addition to the service device control in (S2-13), service device control for satisfying the conditions of service provision are additionally transmitted to the corresponding device control server 5 (S3-31). Service device control includes a list of device control parameters which ensure service Quality of the service devices 6.” As in 90 “The device control program 561 of the device control server 5 controls the service devices 6 based on the supplied device control parameters (S3-34). Accordingly, even when the robot 2 is in a state where external service devices 6 are unavailable, the robot 2 can provide the user with a service by moving the robot body and controlling external devices.” As in 95 “When there is a service device 6 not available due to a positional relationship, the robot control program 261 of the robot 2 transmits a robot position control request to the service control server 4 and requests the service control server 4 to move its own robot 2 to a position where all of the service devices 6 required by the robot 2 for service provision become available.”] Examiner notes that the second control data is being interpreted as a service device/control parameters for controlling the service device. When the service device/ control parameters for controlling the service device are unavailable or not useable the robot is then instructed to move to a position (first control data) for the devices to become available. wherein to: determine whether the second control data is unavailable or not useable comprises to determine that the second control data is unavailable or not useable, and selectively control the robotic device based on the first control data or the second control data comprises to control the robotic device based on the first control data as a result of determining the second control data is unavailable or not useable [(see at least paragraphs 80-96) As in 89 “By sequentially executing the motion control commands included in robot position control, the robot control program 261 of the robot 2 moves the robot body to a position where all of the service devices 6 scheduled to be used become available (S3-28). Next, service device control similar to that in (S2-10, 13, and 16) in FIG. 11 is performed (S3-28, 31, and 34). However, with respect to service devices 6 which do not satisfy conditions of service provision by position control of the robot 2 alone, in addition to the service device control in (S2-13), service device control for satisfying the conditions of service provision are additionally transmitted to the corresponding device control server 5 (S3-31). Service device control includes a list of device control parameters which ensure service Quality of the service devices 6.” As in 90 “The device control program 561 of the device control server 5 controls the service devices 6 based on the supplied device control parameters (S3-34). Accordingly, even when the robot 2 is in a state where external service devices 6 are unavailable, the robot 2 can provide the user with a service by moving the robot body and controlling external devices.” As in 95 “When there is a service device 6 not available due to a positional relationship, the robot control program 261 of the robot 2 transmits a robot position control request to the service control server 4 and requests the service control server 4 to move its own robot 2 to a position where all of the service devices 6 required by the robot 2 for service provision become available.”] Examiner notes that the second control data is being interpreted as a service device/control parameters for controlling the service device. When the service device/ control parameters for controlling the service device are unavailable or not useable the robot is then instructed to move to a position (first control data) for the devices to become available.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Hosek to have incorporated the teachings of Linnell of wirelessly receive first control data comprising cell state data indicative of a current state of the robot cell, wherein the first control data are received via one of a broadcast and a multicast transmission directed to the multiple robotic devices in the robot cell in order to allow a user to interact with the control system to view live data or modify robot actions in real time [(Linnell 98)] and to further incorporate the teachings of Yoshiuchi of determining whether the second control data is unavailable or not useable; and based on the determination, selectively control the robotic device based on the first control data or the second control data determining whether the second control data is unavailable or not useable comprises to determine that the second control data is unavailable or not useable, and selectively control the robotic device based on the first control data or the second control data comprises to control the robotic device based on the first control data as a result of determining the second control data is unavailable or not useable in order to request the service control server to move its own robot to a position where all of the service devices required by the robot for service provision become available. [(Yoshiuchi 95)]
Regarding claim 31, In view of the above combination of references, Hosek further teaches wherein the second control data are received via a unicast transmission directed to the robotic device controlled by the robot controller or wherein the second control data are received via one of a broadcast and a multicast transmission directed to the multiple robotic devices in the robot cell. [(see at least paragraphs 155-156) “An exemplary ACTION message 1800 is shown in FIG. 18. The ACTION message 1800 may be used to send commands to remote controllers and for remote controllers to send responses to previously sent commands from the master controller. A response to a previously sent ACTION command may generally copy the header of the command except for the D field 1810. For ACTION commands the Message ID field 1820 may be required. The format of the body of the message may be specific to a particular remote device vendor. ACTION messages may be used for setting, getting, or storing configuration parameters on a remote device such as a remote controller, configuring one or more data ports for tracing, event, status, PVT or other application specific operations, operating I/O on a remote device, sending motion commands for discrete moves when trajectory is generated on the remote device, and for sending any other distinct command that the remote device supports, e.g. for configuration, diagnostics or transitioning the device to a another operational state. ACTION messages may be vendor specific.”]
Regarding claim 33, In view of the above combination of references, Hosek further teaches wherein the second control data are unavailable because of at least one of: a wireless transmission failure; a failure in a computing cloud-based robot cell controller generating at least the second control data; a failure of a computing cloud hosting a robot cell controller generating at least the second control data; and an event in the robot cell that requires an immediate control intervention. [(see at least paragraphs 219-220) “As with the maximum velocity, the maximum torque may be exceeded for brief periods of time without an alert being issued. However, this time period may also be specified and monitored, and if the maximum torque is exceeded for this specified time, the controller may also issue an alert. The controller may recognize that the axis is in teach mode and also identify a relevant global maximum on the not-to-exceed torque limit it expects to receive in the frames. If this global maximum is exceeded, the controller may also issue an alert. In addition to an alert, a failure of any of these parameters may also cause the controller to disable the motor driver output stage in order to stop any motion. The master controller may be alerted and may also stop all motion on all other associated axes.”]
Regarding claim 34, In view of the above combination of references, Hosek further teaches further configured to: control the robotic device based on the first control data to at least temporarily continue movement along a planned movement path. [(see at least paragraph 110) “autonomous remote controller 150 may operate in a point to point mode under control of the master controller 105. In this mode, the autonomous remote controller 150 may receive a motion command from the master controller 105, and perform the necessary operations to execute the motion command. An exemplary motion command may include a three dimensional point in an axis workspace. The necessary operations to execute a motion command may include one or more of computing trajectories, computing torque commands, and computing the necessary power to be applied to the motors of the axes controlled by the autonomous remote controller 150 so that the axes reach the three dimensional point.”]
Regarding claim 35, In view of the above combination of references, Hosek further teaches further configured to: evaluate the cell state data to determine if it is safe to continue movement along the planned movement path. [(see at least paragraph 341) “A command for initializing a specified resource to a ready condition may be referred to as an InitializeResource command. For example; if the resource is a robot the InitializeResource command will cause the robot to move to a known position, or home and then to move to a safe position. This command may also reset a locking mechanism of the resource in the event that the mechanism has been enabled.”]
Regarding claim 37, In view of the above combination of references, Hosek further teaches wherein the path data include at least one of position, time and speed information in regard to the planned movement paths. [(see at least paragraphs 122-123) “One method, mentioned above, for controlling a machine such as robot 510 or aligner 585 is to calculate a trajectory for each axis. As previously mentioned, such a trajectory can be conveniently defined by a series of position, velocity and time values grouped into frames, referred to as PVT frames.”]
Regarding claim 38, In view of the above combination of references, Hosek further teaches further configured to: receive the path data in one or more first messages and to receive the cell state data in one or more second messages different from the one or more first messages. [(see at least paragraph 166) “An exemplary PVT or PVT-FG message structure 2300 is shown in FIG. 23. The PVT message may generally represent one trajectory set point along a motion path. As previously mentioned, a PVT or PVT-FG message is generally sent from the master controller 105 to one or more cluster controllers 110 or autonomous remote controllers 150. The PVT or PVT-FG messages are used to send time-stamped trajectory set point data. Optionally, the PVT or PVT-FG messages may also include a torque limit term.”]
Regarding claim 39, In view of the above combination of references, Hosek further teaches further configured to: receive the second control data in one more third messages different from at least one of the one or more first messages and the one or more second messages. [(see at least paragraph 154-155) As in 154 “An exemplary control message structure 1700 is presented in FIG. 17. A Quadlet 1705 may denote a 32-bit wide piece of data. The D field 1710 may designate a direction, indicating whether the message is sent, for example, from the master controller 105 to a remote controller 150, or vice versa. The message type 1715 may designate a defined message type explained below. Up to 2 15 message types may be defined.” As in 155 “An exemplary ACTION message 1800 is shown in FIG. 18. The ACTION message 1800 may be used to send commands to remote controllers and for remote controllers to send responses to previously sent commands from the master controller.”]
Regarding claim 48, Hosek teaches the first control data further comprise path data indicative of planned movement paths of the multiple robotic devices in the robot cell [(see at least paragraphs 109-115) As in 110 “An exemplary motion command may include a three dimensional point in an axis workspace. The necessary operations to execute a motion command may include one or more of computing trajectories, computing torque commands, and computing the necessary power to be applied to the motors of the axes controlled by the autonomous remote controller 150 so that the axes reach the three dimensional point.” As in 111 “In response to the point to point motion command the autonomous remote controller 150 may send an answer reporting the results of the command. The master controller 105 may then send another point to point command with the next three dimensional point. This exchange may proceed until the autonomous remote controller 150 executes a desired sequence of motion commands.” As in 112 “A work cell 505 incorporating the control system includes two robots 510, 520 and two substrate aligners 515, 520. A cluster controller 540 and three remote controllers 550, 555, 560 are used to control robot 510. Similarly, another cluster controller 545 and three remote controllers 565, 570, 575 are used to control robot 520. A master controller 580 controls the two cluster controllers 540, 545 as well as autonomous remote controllers 585, 590 for the substrate aligners 515, 525. The master controller 580, cluster controllers 540, 545, remote controllers 550, 555, 560, 565, 570, 575 and autonomous remote controllers 585, 590 are connected by a communication network 595.”]
Hosek teaches wirelessly receiving second control data comprising one or more control commands for at least the robotic device [(see at least paragraphs 300-301) “For example, the cluster controller 2915 may issue a test motion command to the robot and then may check sensors 2960, 2965, 2970 to ensure that the robot executed the command within specifications. As another example, the cluster controller may check the performance characteristics by instructing the robot 2910 to place a substrate 2975 on aligner 2955 and then checking the alignment of the placed substrate. If the performance characteristics are within specification, the cluster controller 2915 may allow the robot to execute the motion command, as shown in block 3045 of FIG. 31.”]
Hosek does not explicitly teach a method of controlling a robotic device within a robot cell including multiple robotic devices, the method comprising: wirelessly receiving first control data comprising cell state data indicative of a current state of the robot cell, wherein the first control data are received via one of a broadcast and a multicast transmission directed to the multiple robotic devices in the robot cell, determining whether the second control data is unavailable or not useable; and based on the determination, selectively controlling the robotic device based on the first control data or the second control data.
However, Linnell teaches a method of controlling a robotic device within a robot cell including multiple robotic devices, the method comprising: wirelessly receiving first control data comprising cell state data indicative of a current state of the robot cell, wherein the first control data are received via one of a broadcast and a multicast transmission directed to the multiple robotic devices in the robot cell [(see at least Fig.1, paragraphs 46-53, 60) As in 46 “ A master input 24 may be any device that functions to operate all of the device actors 42, 44 associated with a particular building process being executed by manufacture control system 100. Master input 24 may function by sending input control signals to master control 10. Master control 10 may then adapt the signal from master input 24 to send individual control signals to a plurality of robot actors operating as device actors 42, 44 for a particular manufacturing process. In one potential embodiment, every individual device of device actors 42, 44 may be provided a control signal from master control 10 when a signal is received from master input 24, including a signal to maintain a status quo or non-action to devices that are not operating as device actors 42, 44 for a particular part of the manufacturing process” As in 53 “Network support may also enable communications from master control 10 to one or more of system devices 40. In one potential embodiment, a network may comprise an EtherCAT network operating according to IEEE 1588. In such an embodiment, packets may be processed on the fly using a field bus memory management unit in each slave node. Each network node may read the data addressed to it, while the telegram is forwarded to the next device. Similarly, input data may be inserted while the telegram passes through. The telegrams may only be delayed by a few nanoseconds. On the master side, commercially available standard network interface cards or an on-board Ethernet controller can be used as a hardware interface. Using these interfaces, data transfer to the master control via direct memory access may be achieved with no CPU capacity taken up for the network access.” As in 60 “Master control 10 may stream data in from one or more different types of sensors located within the physical workcell.”]
Yoshiuchi teaches determining whether the second control data is unavailable or not useable; and based on the determination, selectively controlling the robotic device based on the first control data or the second control data [(see at least paragraphs 80-96) As in 89 “By sequentially executing the motion control commands included in robot position control, the robot control program 261 of the robot 2 moves the robot body to a position where all of the service devices 6 scheduled to be used become available (S3-28). Next, service device control similar to that in (S2-10, 13, and 16) in FIG. 11 is performed (S3-28, 31, and 34). However, with respect to service devices 6 which do not satisfy conditions of service provision by position control of the robot 2 alone, in addition to the service device control in (S2-13), service device control for satisfying the conditions of service provision are additionally transmitted to the corresponding device control server 5 (S3-31). Service device control includes a list of device control parameters which ensure service Quality of the service devices 6.” As in 90 “The device control program 561 of the device control server 5 controls the service devices 6 based on the supplied device control parameters (S3-34). Accordingly, even when the robot 2 is in a state where external service devices 6 are unavailable, the robot 2 can provide the user with a service by moving the robot body and controlling external devices.” As in 95 “When there is a service device 6 not available due to a positional relationship, the robot control program 261 of the robot 2 transmits a robot position control request to the service control server 4 and requests the service control server 4 to move its own robot 2 to a position where all of the service devices 6 required by the robot 2 for service provision become available.”] 6593 Examiner notes that the second control data is being interpreted as a service device/control parameters for controlling the service device. When the service device/ control parameters for controlling the service device are unavailable or not useable the robot is then instructed to move to a position (first control data) for the devices to become available. wherein determining whether the second control data is unavailable or not useable comprises determining that the second control data is unavailable or not useable, and selectively controlling the robotic device based on the first control data or the second control data comprises controlling the robotic device based on the first control data as a result of determining the second control data is unavailable or not useable. [(see at least paragraphs 80-96) As in 89 “By sequentially executing the motion control commands included in robot position control, the robot control program 261 of the robot 2 moves the robot body to a position where all of the service devices 6 scheduled to be used become available (S3-28). Next, service device control similar to that in (S2-10, 13, and 16) in FIG. 11 is performed (S3-28, 31, and 34). However, with respect to service devices 6 which do not satisfy conditions of service provision by position control of the robot 2 alone, in addition to the service device control in (S2-13), service device control for satisfying the conditions of service provision are additionally transmitted to the corresponding device control server 5 (S3-31). Service device control includes a list of device control parameters which ensure service Quality of the service devices 6.” As in 90 “The device control program 561 of the device control server 5 controls the service devices 6 based on the supplied device control parameters (S3-34). Accordingly, even when the robot 2 is in a state where external service devices 6 are unavailable, the robot 2 can provide the user with a service by moving the robot body and controlling external devices.” As in 95 “When there is a service device 6 not available due to a positional relationship, the robot control program 261 of the robot 2 transmits a robot position control request to the service control server 4 and requests the service control server 4 to move its own robot 2 to a position where all of the service devices 6 required by the robot 2 for service provision become available.”] Examiner notes that the second control data is being interpreted as a service device/control parameters for controlling the service device. When the service device/ control parameters for controlling the service device are unavailable or not useable the robot is then instructed to move to a position (first control data) for the devices to become available.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Hosek to have incorporated the teachings of Linnell of controlling a robotic device within a robot cell including multiple robotic devices, the method comprising: wirelessly receiving first control data comprising cell state data indicative of a current state of the robot cell, wherein the first control data are received via one of a broadcast and a multicast transmission directed to the multiple robotic devices in the robot cell in order to allow a user to interact with the control system to view live data or modify robot actions in real time [(Linnell 98)] and to further incorporate the teachings of Yoshiuchi of determining whether the second control data is unavailable or not useable; and based on the determination, selectively control the robotic device based on the first control data or the second control data wherein determining whether the second control data is unavailable or not useable comprises determining that the second control data is unavailable or not useable, and selectively controlling the robotic device based on the first control data or the second control data comprises controlling the robotic device based on the first control data as a result of determining the second control data is unavailable or not useable in order to request the service control server to move its own robot to a position where all of the service devices required by the robot for service provision become available. [(Yoshiuchi 95)]
Claims 40-42 and 45-47 are rejected under 35 U.S.C. 103 as being unpatentable over Hosek in view of Linnell and in further view of Dai (US 2019/0061166 A1).
Regarding claim 40, Hosek teaches wherein the first control data further comprise path data indicative of planned movement paths of the multiple robotic devices in the robot cell. [(see at least paragraphs 109-115) As in 110 “An exemplary motion command may include a three dimensional point in an axis workspace. The necessary operations to execute a motion command may include one or more of computing trajectories, computing torque commands, and computing the necessary power to be applied to the motors of the axes controlled by the autonomous remote controller 150 so that the axes reach the three dimensional point.” As in 111 “In response to the point to point motion command the autonomous remote controller 150 may send an answer reporting the results of the command. The master controller 105 may then send another point to point command with the next three dimensional point. This exchange may proceed until the autonomous remote controller 150 executes a desired sequence of motion commands.” As in 112 “A work cell 505 incorporating the control system includes two robots 510, 520 and two substrate aligners 515, 520. A cluster controller 540 and three remote controllers 550, 555, 560 are used to control robot 510. Similarly, another cluster controller 545 and three remote controllers 565, 570, 575 are used to control robot 520. A master controller 580 controls the two cluster controllers 540, 545 as well as autonomous remote controllers 585, 590 for the substrate aligners 515, 525. The master controller 580, cluster controllers 540, 545, remote controllers 550, 555, 560, 565, 570, 575 and autonomous remote controllers 585, 590 are connected by a communication network 595.”]
Hosek teaches control the wireless transmitter to transmit the path data in one or more first messages and to transmit the cell state data in one or more second messages different from the first messages [(see at least paragraphs 165-170) As in 166 “An exemplary PVT or PVT-FG message structure 2300 is shown in FIG. 23. The PVT message may generally represent one trajectory set point along a motion path. As previously mentioned, a PVT or PVT-FG message is generally sent from the master controller 105 to one or more cluster controllers 110 or autonomous remote controllers 150. The PVT or PVT-FG messages are used to send time-stamped trajectory set point data.” As in 168 “The STATUS message is generally sent from the one or more cluster controllers 110 or autonomous remote controllers 150 to the master controller 105. The STATUS message may be used to send time-stamped status, actual position and velocity data from one or more cluster controllers 110 or autonomous remote controllers 150 to the master controller 105.”]; and control the wireless transmitter to transmit the one or more first messages less often than the one or more second messages. [(see at least paragraph 153) As in 153 “A control port 1030 may generally exchange commands and responses between system components. A data port 1025 may transmit data frames which are addressed to specific objects on a remote controller or the master controller. Addressing may generally be implied from the port designation and may not be part of the message. The data port message structure may generally be vendor specific.” As in 174 “Optionally, the PVT or PVT-FG messages may also include a torque limit term to support a teach mode, as will be described in detail below. The PVT or PVT-FG messages may also be used to send a periodic timestamp when the receiving cluster controller 110 or autonomous remote controller 150 is in a pre-operational state. The PVT or PVT-FG message may be sent at a periodic, for instance 100 Hz, rate. In one embodiment, the PVT message includes a timestamp of 4 bytes, a commanded position of 4 bytes, and a commanded velocity of 4 bytes. The PVT-FG message may optionally include one or more of a feed forward term of 4 bytes, a gain term of 4 bytes, and a torque limit of 4 bytes.” As in 169 “Optionally, the STATUS message may be used to send time-stamped I/O data. The STATUS message may be sent at a periodic, for instance 100 Hz, rate or may be sent at an acyclic rate for low-latency I/O event capture.”] Examiner notes the STATUS messages disclosed by Hosek can be sent at an acyclic rates and the PVT messages may be sent at a periodic rate. The adjustable frequency in the rate at which the PVT and STATUS messages are sent would make it possible to control the transmission so that one or one first messages are sent less often than the one or more second messages.
Hosek does not explicitly teach a computing cloud-based controller for a robot cell comprising multiple robotic devices, the controller being configured to: obtain first control data comprising cell state data indicative of a current state of the robot cell; forward the first control data to a wireless transmitter for a transmission via one of broadcast and multicast transmission directed to the multiple robotic devices in the robot cell.
However, Dai teaches a computing cloud-based controller for a robot cell comprising multiple robotic devices [(see at least paragraph 69) “The communication device 34 is a device that communicates with other devices via the communication network 5, and is configured with the NIC or a wireless communication module, for example. Furthermore, the robot procurement apparatus 30 may be entirely or partly configured by the virtual resource (such as the cloud server in the cloud system).”]
Linnell teaches the controller being configured to: obtain first control data comprising cell state data indicative of a current state of the robot cell; forward the first control data to a wireless transmitter for a transmission via one of broadcast and multicast transmission directed to the multiple robotic devices in the robot cell [(see at least Fig.1, paragraphs 46-53, 60) As in 46 “A master input 24 may be any device that functions to operate all of the device actors 42, 44 associated with a particular building process being executed by manufacture control system 100. Master input 24 may function by sending input control signals to master control 10. Master control 10 may then adapt the signal from master input 24 to send individual control signals to a plurality of robot actors operating as device actors 42, 44 for a particular manufacturing process. In one potential embodiment, every individual device of device actors 42, 44 may be provided a control signal from master control 10 when a signal is received from master input 24, including a signal to maintain a status quo or non-action to devices that are not operating as device actors 42, 44 for a particular part of the manufacturing process” As in 53 “Network support may also enable communications from master control 10 to one or more of system devices 40. In one potential embodiment, a network may comprise an EtherCAT network operating according to IEEE 1588. In such an embodiment, packets may be processed on the fly using a field bus memory management unit in each slave node. Each network node may read the data addressed to it, while the telegram is forwarded to the next device. Similarly, input data may be inserted while the telegram passes through. The telegrams may only be delayed by a few nanoseconds. On the master side, commercially available standard network interface cards or an on-board Ethernet controller can be used as a hardware interface. Using these interfaces, data transfer to the master control via direct memory access may be achieved with no CPU capacity taken up for the network access.” As in 60 “Master control 10 may stream data in from one or more different types of sensors located within the physical workcell.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed inventions to have modified the teachings of Hosek to incorporate the teachings of Dai of implementing a computing cloud-based controller in order to ensure the quality of the services in each of the service areas and efficiently operate the multiple robots across the multiple service areas as a whole [(Dai 5)] and to further incorporate the teachings of Linnell of obtaining first control data comprising cell state data indicative of a current state of the robot cell wherein the first control data further comprise path data indicative of planned movement paths of the multiple robotic devices in the robot cell in order to allow a user to interact with the control system to view live data or modify robot actions in real time. [(Linnell 98)]
Regarding claim 41, In view of the above combination of references, Hosek further teaches wherein the cell state data are obtained from sensory data pertaining to the robot cell and received from the robot cell. [(see at least paragraph 195) “The work cell 1200 of FIG. 12 may also include at least one aligner 1250 having an axis 1270 controlled by an autonomous remote controller 1255. The autonomous remote controller 1255 is in turn controlled by the master controller 1245. A notched substrate 1260 may have been placed on the aligner 1250 and the aligner may also have circuitry 1265 including sensors for detecting the position of the notch in the substrate 1260. As shown in block 1605 the autonomous remote controller 1255 may move the axis 1270 to trigger a position capture event, in this example, the circuitry 1265 sensing the notch in the substrate 1260.”]
Regarding claim 42, In view of the above combination of references, Hosek further teaches further configured to control the wireless transmitter to perform no re-transmissions. [(see at least paragraph 90) “On board cache 235, read only memory 210, random access memory 215, and program storage 220, either individually or in any combination may include operating system programs. The operating system programs may be supplemented with an optional real time operating system to improve the quality of data provided by the master controller 105. The optional real time operating system may also allow the master controller 105 to provide a guaranteed response time to data and messages received from the cluster controllers 110 and the autonomous remote controllers 150.”]
Regarding claim 45, In view of the above combination of references, Hosek further teaches further configured to: detect a change of a predicted movement path; and control the wireless transmitter to transmit one or more first messages indicative of the change of the predicted movement path. [(see at least paragraphs 181-185, 188) As in 185 “Once instructed, remote controllers 1230, 1235 1240 begin buffering data (block 1320) and observing for trigger events (block 1325). Upon occurrence of the trigger event, the remote controller recognizing the event records the time of the event as shown in block 1330, and as shown in block 1335, sends a message with the event time information to the specified set of nodes for the particular event. The specified nodes interpolate their buffered quantities of interest to determine a value for the quantities at the event time as shown in block 1340. The specified nodes send the interpolated values of the quantities of interest to the master controller as shown in block 1345. The master controller may then use the data to alter trajectories or operations within the system as shown in block 1350.”]
Regarding claim 46, In view of the above combination of references, Hosek further teaches further configured to: control the wireless transmitter to transmit second control data in one or more third messages different from at least one of the one or more first messages and the one or more second messages, wherein the second control data comprise one or more control commands for at least the robotic device. [(see at least paragraphs 18,156) As in 18 “The disclosed embodiments are still further directed to a message set for communicating among nodes of a control system that includes an action message for exchanging commands and command responses, an event message for reporting data relating to a predetermined event to a master controller, a string message for providing a serial message channel between a remote controller and the master controller, and a data port message for sending data to a network node.” As in 156 “ACTION messages may be used for setting, getting, or storing configuration parameters on a remote device such as a remote controller, configuring one or more data ports for tracing, event, status, PVT or other application specific operations, operating I/O on a remote device, sending motion commands for discrete moves when trajectory is generated on the remote device, and for sending any other distinct command that the remote device supports”]
Regarding claim 47, In view of the above combination of references, Hosek further teaches wherein the path data are obtained by at least one of: path calculation based on evaluation of one or more control commands; and temporal extrapolation of sensory data received from the robot cell. [(see at least paragraph 206) “Thus the velocity parameter of the PVT frames may vary with respect to position and time due to the robot kinematics. When an operator is present in the work cell 1200 the system may use velocity limiting techniques to protect the operator. In effect, the system may generate trajectories such that the resultant end effector motion profile is within a required speed limit. This may be accomplished by calculating the trajectory as described above for the robot while setting the velocity parameter of the PVT frames for axes controlled by remote controllers 1230, 1235, 1240 to a position- and time-dependent not-to-exceed limit.”]
Claim 49 is rejected under 35 U.S.C. 103 as being unpatentable over Hosek in view of Linnell.
Regarding claim 49, Hosek teaches wherein the first control data comprise path data indicative of planned movement paths of the multiple robotic devices in the robot cell [(see at least paragraphs 109-115) As in 110 “An exemplary motion command may include a three dimensional point in an axis workspace. The necessary operations to execute a motion command may include one or more of computing trajectories, computing torque commands, and computing the necessary power to be applied to the motors of the axes controlled by the autonomous remote controller 150 so that the axes reach the three dimensional point.” As in 111 “In response to the point to point motion command the autonomous remote controller 150 may send an answer reporting the results of the command. The master controller 105 may then send another point to point command with the next three dimensional point. This exchange may proceed until the autonomous remote controller 150 executes a desired sequence of motion commands.” As in 112 “A work cell 505 incorporating the control system includes two robots 510, 520 and two substrate aligners 515, 520. A cluster controller 540 and three remote controllers 550, 555, 560 are used to control robot 510. Similarly, another cluster controller 545 and three remote controllers 565, 570, 575 are used to control robot 520. A master controller 580 controls the two cluster controllers 540, 545 as well as autonomous remote controllers 585, 590 for the substrate aligners 515, 525. The master controller 580, cluster controllers 540, 545, remote controllers 550, 555, 560, 565, 570, 575 and autonomous remote controllers 585, 590 are connected by a communication network 595.”]
Hosek teaches controlling the wireless transmitter to transmit the path data in one or more first messages and to transmit the cell state data in one or more second messages different from the first messages [(see at least paragraphs 165-170) As in 166 “An exemplary PVT or PVT-FG message structure 2300 is shown in FIG. 23. The PVT message may generally represent one trajectory set point along a motion path. As previously mentioned, a PVT or PVT-FG message is generally sent from the master controller 105 to one or more cluster controllers 110 or autonomous remote controllers 150. The PVT or PVT-FG messages are used to send time-stamped trajectory set point data.” As in 168 “The STATUS message is generally sent from the one or more cluster controllers 110 or autonomous remote controllers 150 to the master controller 105. The STATUS message may be used to send time-stamped status, actual position and velocity data from one or more cluster controllers 110 or autonomous remote controllers 150 to the master controller 105.”]; and controlling the wireless transmitter to transmit the one or more first messages less often than the one or more second messages. [(see at least paragraph 153) As in 153 “A control port 1030 may generally exchange commands and responses between system components. A data port 1025 may transmit data frames which are addressed to specific objects on a remote controller or the master controller. Addressing may generally be implied from the port designation and may not be part of the message. The data port message structure may generally be vendor specific.” As in 174 “Optionally, the PVT or PVT-FG messages may also include a torque limit term to support a teach mode, as will be described in detail below. The PVT or PVT-FG messages may also be used to send a periodic timestamp when the receiving cluster controller 110 or autonomous remote controller 150 is in a pre-operational state. The PVT or PVT-FG message may be sent at a periodic, for instance 100 Hz, rate. In one embodiment, the PVT message includes a timestamp of 4 bytes, a commanded position of 4 bytes, and a commanded velocity of 4 bytes. The PVT-FG message may optionally include one or more of a feed forward term of 4 bytes, a gain term of 4 bytes, and a torque limit of 4 bytes.” As in 169 “Optionally, the STATUS message may be used to send time-stamped I/O data. The STATUS message may be sent at a periodic, for instance 100 Hz, rate or may be sent at an acyclic rate for low-latency I/O event capture.”] Examiner notes the STATUS messages disclosed by Hosek can be sent at an acyclic rates and the PVT messages may be sent at a periodic rate. The adjustable frequency in the rate at which the PVT and STATUS messages are sent would make it possible to control the transmission so that one or one first messages are sent less often than the one or more second messages.
Hosek does not explicitly teach a method for controlling a robot cell comprising multiple robotic devices, the method comprising: obtaining first control data comprising cell state data indicative of a current state of the robot cell; forwarding the first control data to a wireless transmitter for a wireless transmission via one of broadcast and multicast transmission directed to the multiple robotic devices in the robot cell.
However, Linnell teaches a method for controlling a robot cell comprising multiple robotic devices, the method comprising: obtaining first control data comprising cell state data indicative of a current state of the robot cell; forwarding the first control data to a wireless transmitter for a wireless transmission via one of broadcast and multicast transmission directed to the multiple robotic devices in the robot cell [(see at least Fig.1, paragraphs 46-53, 60) As in 46 “A master input 24 may be any device that functions to operate all of the device actors 42, 44 associated with a particular building process being executed by manufacture control system 100. Master input 24 may function by sending input control signals to master control 10. Master control 10 may then adapt the signal from master input 24 to send individual control signals to a plurality of robot actors operating as device actors 42, 44 for a particular manufacturing process. In one potential embodiment, every individual device of device actors 42, 44 may be provided a control signal from master control 10 when a signal is received from master input 24, including a signal to maintain a status quo or non-action to devices that are not operating as device actors 42, 44 for a particular part of the manufacturing process” As in 53 “Network support may also enable communications from master control 10 to one or more of system devices 40. In one potential embodiment, a network may comprise an EtherCAT network operating according to IEEE 1588. In such an embodiment, packets may be processed on the fly using a field bus memory management unit in each slave node. Each network node may read the data addressed to it, while the telegram is forwarded to the next device. Similarly, input data may be inserted while the telegram passes through. The telegrams may only be delayed by a few nanoseconds. On the master side, commercially available standard network interface cards or an on-board Ethernet controller can be used as a hardware interface. Using these interfaces, data transfer to the master control via direct memory access may be achieved with no CPU capacity taken up for the network access.” As in 60 “Master control 10 may stream data in from one or more different types of sensors located within the physical workcell.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed inventions to have modified the teachings of Hosek to incorporate the teachings of Linnell of a method for controlling a robot cell comprising multiple robotic devices, the method comprising: obtaining first control data comprising cell state data indicative of a current state of the robot cell; forwarding the first control data to a wireless transmitter for a wireless transmission via one of broadcast and multicast transmission directed to the multiple robotic devices in the robot cell in order to allow a user to interact with the control system to view live data or modify robot actions in real time. [(Linnell 98)]
The Examiner has cited particular paragraphs or columns and line numbers in the references applied to the claims above for the convenience of the Applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested of the Applicant in preparing responses, to fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner. See MPEP 2141.02 [R-07.2015] VI. A prior art reference must be considered in its entirety, i.e., as a whole, including portions that would lead away from the claimed Invention. W.L. Gore & Associates, Inc. v. Garlock, Inc., 721 F.2d 1540, 220 USPQ 303 (Fed. Cir. 1983), cert, denied, 469 U.S. 851 (1984). See also MPEP §2123.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MOHAMMED YOUSEF ABUELHAWA whose telephone number is (571)272-3219. The examiner can normally be reached Monday-Friday 8:30-5:00 with flex.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Wade Miles can be reached at 571-270-7777. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MOHAMMED YOUSEF ABUELHAWA/Examiner, Art Unit 3656
/WADE MILES/Supervisory Patent Examiner, Art Unit 3656