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 Arguments
Applicant's arguments filed on 03/30/2026 have been fully considered but they are not
persuasive or moot in view of new ground of rejection provided below which was necessitated based on Applicant’s amendment to the claims.
Claim Objections
Claim 11 and 18 are objected to because of the following informalities: “wherein the fourth driving data is that is consecutive to the” should read “wherein the fourth driving data is consecutive to the”. Appropriate correction is required.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1, 2, and 4 are rejected under 35 U.S.C. 103 as being unpatentable over Roh (US 2018/0085281 A1) in view of Racz et al. (US 2020/0189100 A1) (Hereinafter Racz), Chen et al. (US 20090067551 A1) (Hereinafter Chen), and further in view of Ogawa et al. (US 20230080565 A1) (Hereinafter Ogawa).
Regarding Claim 1, Roh teaches a robot comprising:
a communicator ([0066] “The walking assistance device 400 includes a communicator 410, a processor 420, a driving portion 430, a storage 440, a joint angle sensor 450, a global positioning system (GPS) 460, and an inertial measurement unit (IMU) 470.”, [0073] “The storage 440 may store the data received by the communicator 410…”);
a driver configured to drive the robot ([0066] “The walking assistance device 400 includes a communicator 410, a processor 420, a driving portion 430, a storage 440, a joint angle sensor 450, a global positioning system (GPS) 460, and an inertial measurement unit (IMU) 470.”, [0072] “The driving portion 430 may operate based on the information on the torque. The driving portion 430 may generate an assistance force through a rotation of a motor. The driving portion 430 may correspond to the driving portion 110 of FIG. 1.”);
at least one memory configured to store at least one instruction ([0073] “The storage 440 may store the data received by the communicator 410 and the data processed by the processor 420. For example, the storage 440 may store a program.”, [0074] “The storage 440 may be a nonvolatile memory device, a volatile memory device, a non-transitory storage medium, or a combination of two or more of the above-mentioned devices. For example, the storage 440 may include one or more of a Read Only Memory (ROM), Random Access Memory (RAM), Compact Disk-Read Only Memories (CD-ROMs), magnetic tapes, floppy disks, and an optical recording medium.”); and
at least one processor configured to execute the at least one instruction ([0073] “The storage 440 may store the data received by the communicator 410 and the data processed by the processor 420. For example, the storage 440 may store a program.”, [0076] “The storage 440 may store an instruction set, for example, software, to operate the walking assistance device 400. The instruction set to operate the walking assistance device 400 may be executed by the processor 410.”) to: …
However, Roh does not explicitly spell out …
receive first driving data from an external device in communication with the robot through the communicator and store the first driving data in the memory,
control the driver to perform an operation based on the first driving data,
identify, based on detection of an error in communication connection between the robot and the external device occurring, second driving data received by the robot from the external device within a threshold period, wherein the threshold period is a period of time between a point in time at which the error in communication connection occurs and a point in time preceding, by a pre-set interval, the point in time at which the error in communication connection occurs, and wherein the second driving data matches with at least a portion of the first driving data,
identify third driving data corresponding to the second driving data,
identify fourth driving data from among the first driving data stored in the at least one memory, wherein the fourth driving data is consecutive to the third driving data, and
control the driver to perform an operation after the point in time at which the error in communication connection between the robot and the external device occurs based on the fourth driving data identified from the at least one memory,
wherein the third driving data and the fourth driving data are received from the external device before the second driving data.
Racz teaches
receive first driving data … in communication with the robot through the communicator (See at least Para [0003] “…In cloud robotics systems, the control logic of the robot controllers is executed in the cloud and wireless connections are generally used to establish connectivity between the robots and the controllers. Typically, wireless connections are realized using wireless communication networks, such as LTE or 5G networks, for example.”, discloses robot controllers is executed in the cloud which is construed as robot receiving data through the cloud server which is considered as an external device, [0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”),
control the driver to perform an operation based on the first driving data ([0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”),
identify, based on detection of an error in communication connection between the robot and the external device occurring, second driving data received by the robot from the external device within a threshold period … ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”, [0031] “The substitutional command may be generated such that the substitutional command corresponds to an expected instruction of the missing command. The expected instruction may reflect an estimated (i.e., predicted) action which is to be performed next by the robot. This action may be estimated in consideration of an operation currently being performed by the robot (e.g., a movement along a certain trajectory) for which an action to be performed next in accordance with the continuous control scheme (e.g., a particular incremental movement as part of the certain trajectory) can be estimated, e.g., at least with a certain likelihood.”, [0033] “…In one particular implementation, the predicted control command value may be a delta value corresponding to a difference to a control command value of a previous command received by the robot from the robot controller, wherein the substitutional command may be generated based on the previous command and the delta value…”, discloses substitutional command may be generated based on the previous command and the delta value which is construed as second driving data matches with at least a portion of the first driving data, [0037] “The predetermined time limit may correspond to a threshold value and may be determined by the concealment component 100. In one implementation, the time limit may be determined based on a passive measurement which includes observing commands sent to the robot and determining a difference between the observed commands and corresponding substitutional commands for different prediction periods. In this case, actual commands received from the robot controller may be forwarded to the robot as usual (i.e., without any delay or loss) and the substitutional commands may be generated to check a command error by determining the difference between the observed commands and a corresponding substitutional commands (i.e., the substitutional commands are not sent to the robot in this case). The command error may reflect a difference in parameter values of the actual commands and the corresponding substitutional commands, wherein parameter values of the substitutional commands may be generated based on delta values produced by the machine learning based model, for example.”),
identify third driving data corresponding to the second driving data ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”),
identify fourth driving data … wherein the fourth driving data is consecutive to the third driving data ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”), and
control the driver to perform an operation after the point in time at which the error in communication connection between the robot and the external device occurs based on the fourth driving data ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”) …,
wherein the third driving data and the fourth driving data are received from the external device before the second driving data (See at least Para [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”, discloses continuous control scheme which periodically sending commands and when there is a missing command, the subsequent commands arrive at their own time in the communication path which is construed as the third driving data and the fourth driving data being received before the second driving data, Para [0041] “… As indicated in the figure, both status messages and commands may be periodically send with a frequency of 125 Hz, following a continuous control scheme complying with the 125 Hz requirement of periodically sending commands and status messages in case of a UR5 robot arm, for example.”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Roh with the teachings of Racz and include the feature of receiving, storing the first driving data, and controlling the driver to perform an operation accordingly, receiving second and third driving data based on an error in communication connection between the robot and the external device occurring within a threshold period based on a point in time at which the error in communication connection occur, identifying second driving data received by the robot from the external device, wherein the second driving data matches with at least a portion of the first driving data, controlling the driver to perform an operation after the point in time at which the error in communication connection between the robot and the external device occurs wherein the third driving data and the fourth driving data are received before the second driving data, thereby providing smooth control of the robot even after the interruption in communication from the external device occurs.
Chen teaches … wherein the threshold period is a period of time between a point in time at which the error in communication connection occurs and a point in time preceding, by a pre-set interval, the point in time at which the error in communication connection occurs (See at least Para [0079] “…for example those source data units that belong to a particular source block, or those source data units that are sent within a specified period of time… A variant of this method allows positions to be determined for a restricted set of possible source data units, for example those source data units that belong to a particular source block, or those source data units that are sent within a specified period of time.”), and …
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Roh with the teachings of Chen and include the feature of the threshold period being a period of time between a point in time at which the error in communication connection occurs and a point in time preceding, by a pre-set interval, the point in time at which the error in communication connection occurs, thereby keep track of certain data within a specific period of time which can be used later through pattern matching in case of data loss.
Ogawa teaches
receiving first driving data from an external device in communication with the robot through the communicator and store the first driving data in the memory (See at least Para [0025] “FIG. 1 shows a configuration of a robot control system 100 according to the first example embodiment. The robot control system 100 mainly includes a control device 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”) … from among the first driving data stored in the at least one memory (See at least Para [0025] “FIG. 1 shows a configuration of a robot control system 100 according to the first example embodiment. The robot control system 100 mainly includes a control device 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.”, Para [0027] “The control device 1 performs data communication with the task instruction device 2 through the communication network 3. Here, it is assumed that the communication network 3 corresponds to a communication network such as the Internet where the communication quality is not guaranteed, and therefore the communication delay could occur in the data communication between the control device 1 and the task instruction device 2. The communication delay leads to a condition in which the robot 5 does not properly operate according to a control signal..”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”), … identified from the at least one memory (See at least Para [0025] “FIG. 1 shows a configuration of a robot control system 100 according to the first example embodiment. The robot control system 100 mainly includes a control device 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.”, Para [0027] “The control device 1 performs data communication with the task instruction device 2 through the communication network 3. Here, it is assumed that the communication network 3 corresponds to a communication network such as the Internet where the communication quality is not guaranteed, and therefore the communication delay could occur in the data communication between the control device 1 and the task instruction device 2. The communication delay leads to a condition in which the robot 5 does not properly operate according to a control signal..”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”)…
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Ogawa and include the feature of storing received robot instruction, thereby utilize the stored instruction in case of communication error (See at least Para [0157] “…Therefore, even when a communication delay occurs in the communication network 3, the control device 1 generates the subtask sequence Sr based on the latest environment of the workspace measured by the measurement device 7. Thus, the control device 1 can suitably control the robot 5 without being affected by the communication delay in the communication network 3…”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”)…
Regarding Claim 2, modified Roh teaches all the elements of claim 1.
However, Roh does not explicitly spell out the robot of claim 1, wherein each of the first driving data and the second driving data comprises information on at least one parameter for controlling the driver.
Racz further teaches the robot of claim 1, wherein each of the first driving data and the second driving data comprises an information on at least one parameter for controlling the driver (See at least Para [0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Racz and include the feature of at least one parameter for controlling the driver in each of the first driving data and the second driving data, thereby providing control of the robot precisely and accurately.
Regarding Claim 4, modified Roh teaches all the elements of claim 2.
However, Roh does not explicitly spell out the robot of claim 2, wherein the at least processor is
further configured to execute the at least one instruction to identify the second driving data based on the information on the at least one parameter comprised in each of the first driving data and the second driving data.
Racz teaches the robot of claim 2, wherein the at least one processor is further configured to e
xecute the at least one instruction to identify the second driving data based on the information on the at least one parameter comprised in each of the first driving data and the second driving data ([0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective
filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Racz and include the feature of the at least one instruction executed by the processor to identify the second driving data based on the information on the at least one parameter comprised in each of the first driving data and the second driving data, thereby providing control of the robot precisely and accurately.
Claim(s) 3 is rejected under 35 U.S.C. 103 as being unpatentable over Roh (US 2018/0085281 A1) in view of Racz et al. (US 2020/0189100 A1) (Hereinafter Racz), Chen et al. (US 20090067551 A1) (Hereinafter Chen), Ogawa et al. (US 20230080565 A1) (Hereinafter Ogawa), and further in view of Ookoba (US 2021/0393467 A1).
Regarding Claim 3, modified Roh teaches all the elements of claim 2.
However, Roh does not explicitly spell out the robot of claim 2, wherein the information on the at least one parameter for controlling the driver comprises information on a force that is applied to the robot and information on a time at which the force is applied to the robot.
Racz teaches the robot of claim 2, wherein the information on the at least one parameter for controlling the driver comprises information on a force that is applied to the robot (([0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”)…
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Roh with the teachings of Racz and include the feature of at least one parameter for controlling the driver comprises information on a force that is applied to the robot, thereby providing control of the robot precisely and accurately.
Ookoba teaches … and information on a time at which the force is applied to the robot ([0111] “On the other hand, when the deviation of the timing at which the characteristics appear is equal to or greater than the threshold value, the torque control unit 2122 performs the following processing. That is, the torque control unit 2122 calculates the reference model after a period change, in which the period indicated by the relationship between the torque and the time of the gait cycle indicated by the reference model is shifted so that the timing of the characteristics of the reference model matches the characteristics of the gait cycle calculated by machine learning. Then, in Step 5207, the torque control unit 2122 determines the motion and sets the parameters based on the relationship between the torque and the time indicated by the reference model after the period change. Thereby, the timing of the stance phase and the swing phase indicated by the reference model can be matched with the stance phase and the swing phase of the user's gait.”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Ookoba and include information on a time at which the force is applied to the robot in order to include timing parameter with force control, thereby providing precise calculation of change in force in order to control the robot accurately.
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Roh (US 2018/0085281 A1) in view of Racz et al. (US 2020/0189100 A1) (Hereinafter Racz), Chen et al. (US 20090067551 A1) (Hereinafter Chen), Ogawa et al. (US 20230080565 A1) (Hereinafter Ogawa), and further in view of Endo et al. (JP2020089937A) (Hereinafter Endo).
Regarding Claim 7, modified Roh teaches all the elements of claim 1.
However, Roh does not explicitly spell out the robot of claim 1, wherein the at least one
processor is further configured to, execute the at least one instruction to:
receive, based on the error in communication connection between the robot and the external
device being resolved while the operation corresponding to the fourth driving data is performed, a fifth driving data from the external device through the communicator, and
control the driver to perform an operation after the error in communication connection between the robot and the external device is resolved based on the fifth driving data.
Racz teaches … a fifth driving data from the external device through the communicator ([0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”, discloses command is periodically sent to the robot in predefined intervals which is construed as robot receiving fifth driving data at some point), ….
Endo teaches the robot of claim 1, wherein the at least one processor is further configured to, execute the at least one instruction to:
receive, based on the error in communication connection between the robot and the external
device being resolved while the operation corresponding to the fourth driving data is performed ([0077] “The work abnormality detection unit 2e transmits the robot program restart command and the robot program number set in the robot control device 2 to the work support device 3. The abnormality recovery unit 3k receives a robot program restart command and a robot program number via the communication unit 3i or the like, that is, when the work performed by the robot 1 shifts from an abnormality to a normal state, the robot 1 is remotely connected to the robot 1. Return operation. Using the remote control of the robot 1 as an example of recovery, the abnormality recovery unit 3k acquires the current state number corresponding to the received robot program number, and transmits the execution command of the robot program to the robot controller 2…”), … and
control the driver to perform an operation after the error in communication connection between the robot and the external device is resolved based on the fifth driving data ([0077] “The work abnormality detection unit 2e transmits the robot program restart command and the robot program number set in the robot control device 2 to the work support device 3. The abnormality recovery unit 3k receives a robot program restart command and a robot program number via the communication unit 3i or the like, that is, when the work performed by the robot 1 shifts from an abnormality to a normal state, the robot 1 is remotely connected to the robot 1. Return operation. Using the remote control of the robot 1 as an example of recovery, the abnormality recovery unit 3k acquires the current state number corresponding to the received robot program number, and transmits the execution command of the robot program to the robot controller 2…”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective
filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Racz and include the feature of receiving a fifth driving data from the external device through the communicator in order to continue operation after communication error occurs, thereby provide enhanced flexibility in robot control.
Also, it would have been obvious to one of the ordinary skill in the art before the effective
filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Endo and include the feature of receiving based on the error in communication connection between the robot and the external device being resolved while the operation corresponding to the fourth driving data is performed, and controlling the driver to perform an operation after the error in communication connection between the robot and the external device is resolved based on the fifth driving data, thereby, providing smooth robot performance after error in communication between the robot and external device occurs.
Claim(s) 8 and 9 are rejected under 35 U.S.C. 103 as being unpatentable over Roh (US 2018/0085281 A1) in view of Racz et al. (US 2020/0189100 A1) (Hereinafter Racz), Chen et al. (US 20090067551 A1) (Hereinafter Chen), Ogawa et al. (US 20230080565 A1) (Hereinafter Ogawa), and further in view of Yang (KR20170083829A).
Regarding Claim 8, modified Roh teaches all the elements of claim 1. Roh further teaches the robot of claim 1, wherein the robot is configured to be worn on a body of a user ([0046] “Referring to FIG. 1, a walking assistance device 100 is attached to a user to assist the user, for example, with walking. The walking assistance device 100 may be a wearable device.”), …
However, Roh does not explicitly spell out … and wherein the at least one processor is further configured to execute the at least one instruction to: control the driver to perform an operation for assisting in a walk of the user while the robot is operating in a first mode, and control the driver for the robot to perform an operation for applying resistance to the walk of the user while the robot is operating in a second mode.
Yang teaches … and wherein the at least one processor is further configured to execute the at least one instruction to: control the driver to perform an operation for assisting in a walk of the user while the robot is operating in a first mode, and control the driver for the robot to perform an operation for applying resistance to the walk of the user while the robot is operating in a second mode ([0008] “…When the load is equal to or greater than the load, activates the driving unit in an exercise assist mode for providing an additional driving force for the joint movement of the user, and when the exercise load is equal to or less than the exercise load according to information on the exercise intensity, Resistance is provided by the motion resistance mode.”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective
filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Yang and include the feature of two different modes: one assistance in walking and the other one resistance in walking depending on the situation, thereby providing enhanced flexibility during walking assistance.
Regarding Claim 9, modified Roh teaches all the elements of claim 8. Roh further teaches the robot of claim 8, further comprising at least one sensor ([0017] “In some example embodiments, the walking assistance device includes at least one sensor configured to obtain walking information of a user;…”),
wherein the at least one processor is further configured to execute the at least one instruction to:
control the communicator to obtain information on a walk of the user through the at least one sensor and transmit the information on the walk of the user to the external device ([0100] “Referring to FIG. 9, the device 810 in the form of the stick may include a sensor 912, a controller 914, and a communicator 916.”, [0106] “The communicator 916 may transmit the activation signal generated by the sensor 912 to the main device 305…”), and
… the information on the walk of the user ([0017] “In some example embodiments, the walking assistance device includes at least one sensor configured to obtain walking information of a user;..”)
However, Roh does not explicitly spell out … wherein the first driving data corresponds to …
Racz teaches … and wherein the first driving data corresponds to ([0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme…”)…
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective
filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Racz and include the feature of first driving data corresponding to the information on the walk of the user, thereby providing collection of data which will be used to control the robot.
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Roh (US 2018/0085281 A1) in view of Racz et al. (US 2020/0189100 A1) (Hereinafter Racz), Chen et al. (US 20090067551 A1) (Hereinafter Chen), Ogawa et al. (US 20230080565 A1) (Hereinafter Ogawa), Yang (KR20170083829A), and further in view of Endo et al. (JP2020089937A) (Hereinafter Endo).
Regarding Claim 10, modified Roh teaches all the elements of claim 1.
However, Roh does not explicitly spell out the robot of claim 1, wherein the robot is configured to travel, and the processor is further configured to execute the at least one instruction to:
obtain map information comprising a path along which the robot moves,
store the map information in the at least one memory,
identify, based on an error in communication connection between the robot and the external device occurring, a position at which the robot is to stop based on the map information, and
control the driver to stop after reducing speed until the position for stopping is reached.
Yang teaches the robot of claim 1, wherein the robot is configured to travel, and the processor is further configured to execute the at least one instruction to:
obtain a map information comprising a path along which the robot moves ([0011] “The GPS module may further include a GPS module that receives the geographical location information and provides information on the current location to the control unit. The controller may display the information on the current location based on the received current location information and the stored or received map information…”),
store the map information in the at least one memory ([0011] “The GPS module may further include a GPS module that receives the geographical location information and provides information on the current location to the control unit. The controller may display the information on the current location based on the received current location information and the stored or received map information…”), …
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective
filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Yang and include the feature of obtaining and storing a map information of the path of the robot, thereby keeping track location information of the robot.
Endo teaches … identify, based on an error in communication connection between the robot and the external device occurring, a position at which the robot is to stop based on the map information ([0061] “Further, in the second embodiment, the work support apparatus 3 stops the transmission of data such as the robot program number to the robot control apparatus 2 when the communication abnormality detection unit 3j detects a communication abnormality.”, [0062] “The robot control device 2 saves the current position of the robot 1 when it does not receive the data from the work support device 3 at the fixed time intervals, that is, when the communication abnormality detection unit 3j detects a communication abnormality. The robot 1 is stopped.”), and
control the driver to stop after reducing speed until the position for stopping is reached ([0061] “Further, in the second embodiment, the work support apparatus 3 stops the transmission of data such as the robot program number to the robot control apparatus 2 when the communication abnormality detection unit 3j detects a communication abnormality.”, [0062] “The robot control device 2 saves the current position of the robot 1 when it does not receive the data from the work support device 3 at the fixed time intervals, that is, when the communication abnormality detection unit 3j detects a communication abnormality. The robot 1 is stopped.”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective
filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Endo and include the feature of stopping the robot at when communication error occurred between the robot and the external device, thereby providing safety around the robot.
Claim(s) 11, 12, 14, and 18 are under 35 U.S.C. 103 as being unpatentable over as being unpatentable over Racz et al. (US 2020/0189100 A1) (Hereinafter Racz) in view of Chen et al. (US 20090067551 A1) (Hereinafter Chen), and further in view of Ogawa et al. (US 20230080565 A1) (Hereinafter Ogawa).
Regarding Claim 11, Racz teaches a method of controlling a robot, the method comprising:
receiving first driving data … in communication with the robot ([0003] “…In cloud robotics systems, the control logic of the robot controllers is executed in the cloud and wireless connections are generally used to establish connectivity between the robots and the controllers. Typically, wireless connections are realized using wireless communication networks, such as LTE or 5G networks, for example.”, discloses robot controllers is executed in the cloud which is construed as robot receiving data through the cloud server which is considered as an external device, [0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”, [0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”);
controlling a driver of the robot to perform an operation based on the first driving data ([0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”);
identifying, based on detection of an error in communication connection between the robot and the external device occurring, second driving data received by the robot from the external device within a threshold period ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”, [0031] “The substitutional command may be generated such that the substitutional command corresponds to an expected instruction of the missing command. The expected instruction may reflect an estimated (i.e., predicted) action which is to be performed next by the robot. This action may be estimated in consideration of an operation currently being performed by the robot (e.g., a movement along a certain trajectory) for which an action to be performed next in accordance with the continuous control scheme (e.g., a particular incremental movement as part of the certain trajectory) can be estimated, e.g., at least with a certain likelihood.”, [0033] “…In one particular implementation, the predicted control command value may be a delta value corresponding to a difference to a control command value of a previous command received by the robot from the robot controller, wherein the substitutional command may be generated based on the previous command and the delta value…”, discloses substitutional command may be generated based on the previous command and the delta value which is construed as second driving data matches with at least a portion of the first driving data, [0037] “The predetermined time limit may correspond to a threshold value and may be determined by the concealment component 100. In one implementation, the time limit may be determined based on a passive measurement which includes observing commands sent to the robot and determining a difference between the observed commands and corresponding substitutional commands for different prediction periods. In this case, actual commands received from the robot controller may be forwarded to the robot as usual (i.e., without any delay or loss) and the substitutional commands may be generated to check a command error by determining the difference between the observed commands and a corresponding substitutional commands (i.e., the substitutional commands are not sent to the robot in this case). The command error may reflect a difference in parameter values of the actual commands and the corresponding substitutional commands, wherein parameter values of the substitutional commands may be generated based on delta values produced by the machine learning based model, for example.”);…
identifying third driving data corresponding to the second driving data ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”);
identifying fourth driving data … wherein the fourth driving data is that is consecutive to the third driving data ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”); and
controlling the driver to perform an operation after the point in time at which the error in communication connection between the robot and the external device occurs based on the fourth driving data received from the external device ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”),
wherein the third driving data and the fourth driving data are received from the external device before the second driving data (See at least Para [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”, discloses continuous control scheme which periodically sending commands and when there is a missing command, the subsequent commands arrive at their own time in the communication path which is construed as the third driving data and the fourth driving data being received before the second driving data, Para [0041] “… As indicated in the figure, both status messages and commands may be periodically send with a frequency of 125 Hz, following a continuous control scheme complying with the 125 Hz requirement of periodically sending commands and status messages in case of a UR5 robot arm, for example.”).
However, Racz does not explicitly spell out
receiving first driving data from an external device in communication with the robot through the communicator and store the first driving data in the memory
… wherein the threshold period is a period of time between a point in time at which the error in communication connection occurs and a point in time preceding, by a pre-set interval, the point in time at which the error in communication connection occurs, and wherein the second driving data matches with at least a portion of the first driving data, … from among the first driving data stored in the at least one memory … identified from the at least one memory.
Chen teaches … wherein the threshold period is a period of time between a point in time at which the error in communication connection occurs and a point in time preceding, by a pre-set interval, the point in time at which the error in communication connection occurs (See at least Para [0079] “…for example those source data units that belong to a particular source block, or those source data units that are sent within a specified period of time… A variant of this method allows positions to be determined for a restricted set of possible source data units, for example those source data units that belong to a particular source block, or those source data units that are sent within a specified period of time.”), and …
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Roh with the teachings of Chen and include the feature of the threshold period being a period of time between a point in time at which the error in communication connection occurs and a point in time preceding, by a pre-set interval, the point in time at which the error in communication connection occurs, thereby keep track of certain data within a specific period of time which can be used later through pattern matching in case of data loss.
Ogawa teaches
receiving first driving data from an external device in communication with the robot through the communicator and store the first driving data in the memory (See at least Para [0025] “FIG. 1 shows a configuration of a robot control system 100 according to the first example embodiment. The robot control system 100 mainly includes a control device 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”);
… wherein the second driving data matches with at least a portion of the first driving data (Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”, discloses storing sequence of operations to command the robot, so the second driving data is part of the first driving data and it will match the portion of the first driving data)… from among the first driving data stored in the at least one memory (See at least Para [0025] “FIG. 1 shows a configuration of a robot control system 100 according to the first example embodiment. The robot control system 100 mainly includes a control device 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.”, Para [0027] “The control device 1 performs data communication with the task instruction device 2 through the communication network 3. Here, it is assumed that the communication network 3 corresponds to a communication network such as the Internet where the communication quality is not guaranteed, and therefore the communication delay could occur in the data communication between the control device 1 and the task instruction device 2. The communication delay leads to a condition in which the robot 5 does not properly operate according to a control signal..”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”), … identified from the at least one memory (See at least Para [0025] “FIG. 1 shows a configuration of a robot control system 100 according to the first example embodiment. The robot control system 100 mainly includes a control device 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.”, Para [0027] “The control device 1 performs data communication with the task instruction device 2 through the communication network 3. Here, it is assumed that the communication network 3 corresponds to a communication network such as the Internet where the communication quality is not guaranteed, and therefore the communication delay could occur in the data communication between the control device 1 and the task instruction device 2. The communication delay leads to a condition in which the robot 5 does not properly operate according to a control signal..”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”)…
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Chen and include the feature of storing received robot instruction, thereby utilize the stored instruction in case of communication error (See at least Para [0157] “…Therefore, even when a communication delay occurs in the communication network 3, the control device 1 generates the subtask sequence Sr based on the latest environment of the workspace measured by the measurement device 7. Thus, the control device 1 can suitably control the robot 5 without being affected by the communication delay in the communication network 3…”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”).
Regarding Claim 12, Racz teaches all the elements of claim 11. Racz further teaches the method of claim 11, wherein each of the first driving data and the second driving data comprises information on at least one parameter for controlling the driver ([0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”).
Regarding Claim 14, Racz teaches all the elements of claim 12. Racz further teaches the method of claim 12, wherein the identifying the second driving data comprises identifying the second driving data based on the information on the at least one parameter for controlling the driver included in each of the first driving data and the second driving data ([0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”).
Regarding Claim 18, Racz teaches a non-transitory computer readable medium having instructions stored therein, which are executable by a processor to perform a method of controlling a robot (Claim 56 “A non-transitory computer readable recording medium storing a computer program product for controlling a computing unit for providing reliable control of a robot in a cloud robotics system…”), the method comprising:
receiving first driving data … in communication with the robot ([0003] “…In cloud robotics systems, the control logic of the robot controllers is executed in the cloud and wireless connections are generally used to establish connectivity between the robots and the controllers. Typically, wireless connections are realized using wireless communication networks, such as LTE or 5G networks, for example.”, discloses robot controllers is executed in the cloud which is construed as robot receiving data through the cloud server which is considered as an external device, [0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”, [0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”);
controlling a driver of the robot to perform an operation based on the first driving data (See at least Para [0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”);
identifying, based on detection of an error in communication connection between the robot and the external device occurring, second driving data received by the robot from the external device within a threshold period based on a point in time at which the error in communication connection occurs, ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”, [0031] “The substitutional command may be generated such that the substitutional command corresponds to an expected instruction of the missing command. The expected instruction may reflect an estimated (i.e., predicted) action which is to be performed next by the robot. This action may be estimated in consideration of an operation currently being performed by the robot (e.g., a movement along a certain trajectory) for which an action to be performed next in accordance with the continuous control scheme (e.g., a particular incremental movement as part of the certain trajectory) can be estimated, e.g., at least with a certain likelihood.”, [0033] “…In one particular implementation, the predicted control command value may be a delta value corresponding to a difference to a control command value of a previous command received by the robot from the robot controller, wherein the substitutional command may be generated based on the previous command and the delta value…”, discloses substitutional command may be generated based on the previous command and the delta value which is construed as second driving data matches with at least a portion of the first driving data, [0037] “The predetermined time limit may correspond to a threshold value and may be determined by the concealment component 100. In one implementation, the time limit may be determined based on a passive measurement which includes observing commands sent to the robot and determining a difference between the observed commands and corresponding substitutional commands for different prediction periods. In this case, actual commands received from the robot controller may be forwarded to the robot as usual (i.e., without any delay or loss) and the substitutional commands may be generated to check a command error by determining the difference between the observed commands and a corresponding substitutional commands (i.e., the substitutional commands are not sent to the robot in this case). The command error may reflect a difference in parameter values of the actual commands and the corresponding substitutional commands, wherein parameter values of the substitutional commands may be generated based on delta values produced by the machine learning based model, for example.”); …
identifying third driving data corresponding to the second driving data ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”);
identifying fourth driving data that is consecutive to the third driving data ([0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”); and
controlling the driver to perform an operation after the point in time at which the error in communication connection between the robot and the external device occurs based on the fourth driving data (See at least Para [0029] “By generating a substitutional command in the form of a command that corresponds to an expected instruction of the missing command and sending the substitutional command to the robot instead of the missing command, the concealment component 100 may ensure that the robot may not take notice of the missing command. The substitutional command may be denoted as an artificial command which is sent to the robot as a replacement of the missing command. The robot may process the substitutional command like any other command received from the robot controller and may not recognize that the actual command sent from the robot controller has been delayed or lost. In this way, continuous operation of the robot may be ensured.”, [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”)…
wherein the third driving data and the fourth driving data are received from the external device before the second driving data. (See at least Para [0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”, discloses continuous control scheme which periodically sending commands and when there is a missing command, the subsequent commands arrive at their own time in the communication path which is construed as the third driving data and the fourth driving data being received before the second driving data, Para [0041] “… As indicated in the figure, both status messages and commands may be periodically send with a frequency of 125 Hz, following a continuous control scheme complying with the 125 Hz requirement of periodically sending commands and status messages in case of a UR5 robot arm, for example.”).
However, Racz does not explicitly spell out
receiving first driving data from an external device in communication with the robot through the communicator and store the first driving data in the memory;
… wherein the threshold period is a period of time between a point in time at which the error in communication connection occurs and a point in time preceding, by a pre-set interval, the point in time at which the error in communication connection occurs, and wherein the second driving data matches with at least a portion of the first driving data, … from among the first driving data stored in the at least one memory … identified from the at least one memory.
Chen teaches … wherein the threshold period is a period of time between a point in time at which the error in communication connection occurs and a point in time preceding, by a pre-set interval, the point in time at which the error in communication connection occurs (See at least Para [0079] “…for example those source data units that belong to a particular source block, or those source data units that are sent within a specified period of time… A variant of this method allows positions to be determined for a restricted set of possible source data units, for example those source data units that belong to a particular source block, or those source data units that are sent within a specified period of time.”), and …
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Chen and include the feature of the threshold period being a period of time between a point in time at which the error in communication connection occurs and a point in time preceding, by a pre-set interval, the point in time at which the error in communication connection occurs, thereby keep track of certain data within a specific period of time which can be used later through pattern matching in case of data loss.
Ogawa teaches … receiving first driving data from an external device in communication with the robot through the communicator and store the first driving data in the memory (See at least Para [0025] “FIG. 1 shows a configuration of a robot control system 100 according to the first example embodiment. The robot control system 100 mainly includes a control device 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”)
… from among the first driving data stored in the at least one memory (See at least Para [0025] “FIG. 1 shows a configuration of a robot control system 100 according to the first example embodiment. The robot control system 100 mainly includes a control device 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.”, Para [0027] “The control device 1 performs data communication with the task instruction device 2 through the communication network 3. Here, it is assumed that the communication network 3 corresponds to a communication network such as the Internet where the communication quality is not guaranteed, and therefore the communication delay could occur in the data communication between the control device 1 and the task instruction device 2. The communication delay leads to a condition in which the robot 5 does not properly operate according to a control signal..”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”), … wherein the second driving data matches with at least a portion of the first driving data (Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”, discloses storing sequence of operations to command the robot, so the second driving data is part of the first driving data and it will match the portion of the first driving data) … identified from the at least one memory (See at least Para [0025] “FIG. 1 shows a configuration of a robot control system 100 according to the first example embodiment. The robot control system 100 mainly includes a control device 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.”, Para [0027] “The control device 1 performs data communication with the task instruction device 2 through the communication network 3. Here, it is assumed that the communication network 3 corresponds to a communication network such as the Internet where the communication quality is not guaranteed, and therefore the communication delay could occur in the data communication between the control device 1 and the task instruction device 2. The communication delay leads to a condition in which the robot 5 does not properly operate according to a control signal..”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”)…
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the method and apparatus of Roh with the teachings of Chen and include the feature of storing received robot instruction, thereby utilize the stored instruction in case of communication error (See at least Para [0157] “…Therefore, even when a communication delay occurs in the communication network 3, the control device 1 generates the subtask sequence Sr based on the latest environment of the workspace measured by the measurement device 7. Thus, the control device 1 can suitably control the robot 5 without being affected by the communication delay in the communication network 3…”, Para [0164] “For example, if the information on the candidates φ of the sequence of operations to command the robot 5 is stored in advance in the storage device 4, the operation sequence generation unit 16 executes, based on the above information, the optimization process relating to the control input generation unit 35…”)..
Claim(s) 13 is rejected under 35 U.S.C. 103 as being unpatentable over Racz et al. (US 2020/0189100 A1) (Hereinafter Racz) in view of Chen et al. (US 20090067551 A1) (Hereinafter Chen), Ogawa et al. (US 20230080565 A1) (Hereinafter Ogawa), and further in view of Ookoba (US 2021/0393467 A1).
Regarding Claim 13, Racz teaches all the elements of claim 12.
Racz further teaches the method of claim 12, wherein the information on the at least one
parameter for controlling the driver comprises information on a force that is applied to the robot ([0027] “The robot controller may be executed in a cloud (i.e., more specifically, in a cloud computing environment) and the robot may be a robot that communicates with the robot controller to exchange messages required for control of the robot. For example, the robot may send status messages to the robot controller, wherein a status message may contain information about the current physical state measured by sensors of the robot, such as joint positions, velocities, forces, currents, or the like. Status messages may enable the robot controller to decide on a next action to be performed by the robot and the controller may send corresponding commands, such as movement or velocity commands, to the robot to implement such action accordingly.”) …
However, Racz does not explicitly spell out … and information on a time at which the force is applied to the robot.
Ookoba teaches … and information on a time at which the force is applied to the robot ([0111] “On the other hand, when the deviation of the timing at which the characteristics appear is equal to or greater than the threshold value, the torque control unit 2122 performs the following processing. That is, the torque control unit 2122 calculates the reference model after a period change, in which the period indicated by the relationship between the torque and the time of the gait cycle indicated by the reference model is shifted so that the timing of the characteristics of the reference model matches the characteristics of the gait cycle calculated by machine learning. Then, in Step 5207, the torque control unit 2122 determines the motion and sets the parameters based on the relationship between the torque and the time indicated by the reference model after the period change. Thereby, the timing of the stance phase and the swing phase indicated by the reference model can be matched with the stance phase and the swing phase of the user's gait.”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to combine the method and apparatus of Racz with the method and apparatus of Ookoba and include information on a time at which the force is applied to the robot in order to include timing parameter with force control, thereby providing precise calculation of change in force in order to control the robot accurately.
Claim(s) 17 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Racz et al. (US 2020/0189100 A1) (Hereinafter Racz) in view of Chen et al. (US 20090067551 A1) (Hereinafter Chen), Ogawa et al. (US 20230080565 A1) (Hereinafter Ogawa), and further in view of Endo et al. (JP2020089937A) (Hereinafter Endo).
Regarding Claim 17, Racz teaches all the elements of claim 11. Racz further teaches … a fifth driving data from the external device ([0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”) …
However, Racz does not explicitly spell out the method of claim 11 further comprising:
receiving, based on the error in communication connection between the robot and the external
device being resolved while the operation corresponding to the fourth driving data is performed,…; and
controlling the driver to perform an operation after the error in communication connection between the robot and the external device is resolved based on the fifth driving data.
Endo teaches the method of claim 11 further comprising:
receiving, based on the error in communication connection between the robot and the external
device being resolved while the operation corresponding to the fourth driving data is performed ([0077] “The work abnormality detection unit 2e transmits the robot program restart command and the robot program number set in the robot control device 2 to the work support device 3. The abnormality recovery unit 3k receives a robot program restart command and a robot program number via the communication unit 3i or the like, that is, when the work performed by the robot 1 shifts from an abnormality to a normal state, the robot 1 is remotely connected to the robot 1. Return operation. Using the remote control of the robot 1 as an example of recovery, the abnormality recovery unit 3k acquires the current state number corresponding to the received robot program number, and transmits the execution command of the robot program to the robot controller 2…”), …; and
controlling the driver to perform an operation after the error in communication connection between the robot and the external device is resolved based on the fifth driving data ([0077] “The work abnormality detection unit 2e transmits the robot program restart command and the robot program number set in the robot control device 2 to the work support device 3. The abnormality recovery unit 3k receives a robot program restart command and a robot program number via the communication unit 3i or the like, that is, when the work performed by the robot 1 shifts from an abnormality to a normal state, the robot 1 is remotely connected to the robot 1. Return operation. Using the remote control of the robot 1 as an example of recovery, the abnormality recovery unit 3k acquires the current state number corresponding to the received robot program number, and transmits the execution command of the robot program to the robot controller 2…”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective
filing date of the claimed invention to combine the method and apparatus of Racz with the teachings of Endo and include the feature of stopping the robot at when communication error occurred between the robot and the external device, thereby providing safety around the robot.
Regarding Claim 20, Racz teaches all the elements of claim 18. Racz further teaches … a fifth driving data from the external device ([0030] “The robot may be controlled using a continuous control scheme (as opposed to an event based control scheme, as described above) which may require commands to be sent from the robot controller to the robot in accordance with a predetermined communication scheme. For example, the predetermined communication scheme may require sending commands to the robot in predefined intervals, e.g., periodically sending commands with a specific frequency, such as 125 Hz in case of a UR5 robot arm, for example. The delay or loss of the missing command, e.g., the fact that a command has not arrived in time, may then be detected based on verifying the receipt of commands on compliance with the predetermined communication scheme, such as on compliance with the 125 Hz requirement in case of a UR5 robot arm, for example. In one implementation, the delay or loss of the command may be detected when the command is not received by a time which corresponds to the sum of an expected reception time of the command according to the predetermined communication scheme and a delay threshold value.”) …
However, Racz does not explicitly spell out the non-transitory computer readable medium of claim 18, wherein the method further comprises:
receiving, based on the error in communication connection between the robot and the external
device being resolved while the operation corresponding to the fourth driving data is performed,…; and
controlling the driver to perform an operation after the error in communication connection between the robot and the external device is resolved based on the fifth driving data.
Endo teaches the non-transitory computer readable medium of claim 18, wherein the method further comprising:
receiving, based on the error in communication connection between the robot and the external
device being resolved while the operation corresponding to the fourth driving data is performed ([0077] “The work abnormality detection unit 2e transmits the robot program restart command and the robot program number set in the robot control device 2 to the work support device 3. The abnormality recovery unit 3k receives a robot program restart command and a robot program number via the communication unit 3i or the like, that is, when the work performed by the robot 1 shifts from an abnormality to a normal state, the robot 1 is remotely connected to the robot 1. Return operation. Using the remote control of the robot 1 as an example of recovery, the abnormality recovery unit 3k acquires the current state number corresponding to the received robot program number, and transmits the execution command of the robot program to the robot controller 2…”), …; and
controlling the driver to perform an operation after the error in communication connection between the robot and the external device is resolved based on the fifth driving data ([0077] “The work abnormality detection unit 2e transmits the robot program restart command and the robot program number set in the robot control device 2 to the work support device 3. The abnormality recovery unit 3k receives a robot program restart command and a robot program number via the communication unit 3i or the like, that is, when the work performed by the robot 1 shifts from an abnormality to a normal state, the robot 1 is remotely connected to the robot 1. Return operation. Using the remote control of the robot 1 as an example of recovery, the abnormality recovery unit 3k acquires the current state number corresponding to the received robot program number, and transmits the execution command of the robot program to the robot controller 2…”).
Therefore, it would have been obvious to one of the ordinary skill in the art before the effective
filing date of the claimed invention to combine the method and apparatus of Racz with the teachings of Endo and include the feature of stopping the robot at when communication error occurred between the robot and the external device, thereby providing safety around the robot.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 SHAHEDA HOQUE whose telephone number is (571)270-5310. The examiner can normally be reached Monday-Friday 8:00 am- 5:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ramon Mercado can be reached on 571-270-5744. 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.
/SHAHEDA HOQUE/Examiner, Art Unit 3658
/Ramon A. Mercado/Supervisory Patent Examiner, Art Unit 3658