Office Action 3: Non-Final Rejection (2024-11-21)
Rejection types: 103 - Obviousness

CLAIMS:
Amendments to the Claims:

This listing of claims will replace all prior version, and listings, of claims in the application:

Claim 1 (Previously Presented) A robot for assembling a piece of furniture, the robot comprising:a base;
a robotic arm coupled to the base at a first end of the robotic arm;
a multi-functional robotic head coupled to the robotic arm at a second end of the robotic arm, the multi-functional robotic head comprising:
a camera positioned on a periphery of the multi-functional robotic head, the camera being configured to;scan a barcode positioned on a part presented to the robot as the part rests on a conveyo, the barcode providing instructions or attaching one or more hardware components to the part to assemble the piece of furniture; and capture an image of the part presented to the robot;
a first applicator mechanism configured to apply an adhesive to the part;
a first gripping mechanism configured to grip a first hardware component,
the first hardware component being manoeuvred by the robotic arm to a first position to be attached to the part;a first attachment mechanism configured to attach the first hardware component to the part at the first position via a fastener to assemble the piece of furniture; and
a computing unit in communication with the robotic arm and the multi-functional robotic head, the computing unit configured to:receive the instructions and the image of the part from the camera;
process the instructions to determine the first hardware component to attach to the part;
process the image to determine dimensions and an orientation of the part as the part rests on the conveyor;
based on the dimensions and the orientation, determine co-ordinates of a first position on the part to provide the first hardware component; and to

control the robotic arm and the multi-functional robotic head to: place the first hardware component on the part at the first position with the first qrippinq mechanism; andattach the first hardware component to the part at the first position with the first attachment mechanism.

Claim 2 (Cancelled).

Claim 3 (Original) The robot of claim 1, wherein the instructions provided by the barcode include co-ordinates on the part for applying the adhesive or attaching the first hardware component.

Claim 4 (Original) The robot of claim 1, wherein the processor is configured to determine a position on the part to apply the adhesive based on the instructions provided by the barcode.

Claim 5 (Cancelled)

Claim 6 (Original) The robot of claim 1, wherein the gripping mechanism is a pair of parallel plates.

Claim 7 (Original) The robot of claim 1, wherein the first hardware component is a hinge mounting plate.

Claim 8 (Original) The robot of claim 1, wherein the processor is further configured to direct the robotic arm to pick up the hinge mounting plates from a hardware provider.

Claim 9 (Original) The robot of claim 1, wherein the multi-functional robotic head further comprises a second gripping mechanism configured to grip a second hardware component.

Claim 10 (Currently Amended) The robot of claim 9, wherein the second hardware component is a slide and a slide spacer.

Claim 11 (Cancelled).

Claim 12 (Original) The robot of claim 1, wherein the multi-functional robotic head further comprises a second applicator mechanism configured to apply a third hardware component to the part.

Claims 13-15 (Cancelled).1414

Claim 16 (Currently Amended) A method of assembling a piece of furniture with a robot, the method comprising:scanning a barcode on a part by a camera positioned on a periphery of a multi- functional robotic head of the robot, the barcode providing instructions or attaching one or more hardware components to the part to assemble the piece of furniture;
capturing an image of the part presented to the robot by the camera positioned on the robotic head;
processing the instructions to determine a first hardware component to attach to the part;
processing the image to determine dimensions and an orientation of the part as the part rests on a conveyor;
based on the dimensions and the orientation, determining co-ordinates of a first position on the part at which to place the first hardware component ;
 placingthe first hardware component on the part at the co- ordinates of the a-first position ; and
attaching the first hardware component to the part at the first position by at-a first attachment mechanism of the obot.

Claims 17-19 (Cancelled).1818

Claim 20 (Currently Amended) The method of claim 16, wherein selecting the first hardware component is a hinge mounting plate to attach to the part by the robot.

Claim 21 (Currently Amended) The method of claim 20, wherein placingthe hinge mounting plate on the part includes manoeuvring a multi- functional robotic head of the robot to a first storage location and gripping the hinge mounting plate by a first gripper of the multi-functional robotic head of the robot.

Claim 22 (Cancelled).

Claim 23 (Currently Amended) The method of claim 21 further comprisinq selecting asecond hardware component to attach to the part, he second hardware component includinq a slide and a slide space.

Claim 24 (Original) The method of claim 23, wherein selecting the slide and slide spacer to attach to the part by the robot includes manoeuvring a multi-functional robotic head of the robot to a second storage location and gripping the slide and a slide spacer by the second gripper of the multi-functional robotic head of the robot.

Claim 25 (Original) The method of claim 24, further comprising manoeuvring the second hardware component to a second position to be attached to the part, the second position determined by the robot based on the instructions provided to the robot.

Claim 26 (Original) The method of claim 25, further comprising attaching the second hardware component to the part by the robot.

Claim 27 (Original) The method of claim 26 further comprising, after attaching the second hardware component to the part by the robot, selecting a third hardware component to attach to the part.

Claim 28 (Original) The method of claim 27, wherein selecting the third hardware component to attach to the part by the robot includes selecting an adjustable shelf bracket to attach to the part by the robot.

Claims 29-37 (Cancelled).3036

OFFICE ACTION:
DETAILED ACTION
This Non-Final action is responsive to the continuation filed 11/8/2024.
In the continuation Claims 1, 3-4, 6-10, 12, 16, 20-21 and 23-28 remain pending. Claims 2, 5, 11, 13-15, 17-19, 22 and 29-37 are canceled. Claims 1 and 16 are the independent claims.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Withdrawn Rejections
The 35 U.S.C. 112(b) rejection of claim 16 has been withdrawn in light of the amendment.
The 35 U.S.C. 103(a) rejections of claims 1-10 and 12 with cited reference of Chen (U.S. 4,613,942) in view of Heping (U.S. Pub 2011/0087360) further in view of Shinozaki (U.S. 9,649,790) further in view Ross (NPL).
The 35 U.S.C. 103(a) rejections of claims 16, 20-21 and 23-28 with cited reference of Chen (U.S. 4,613,942) in view of Heping (U.S. Pub 2011/0087360) further in view Ross (NPL).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA  35 U.S.C. 102 and 103 (or as subject to pre-AIA  35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
7.	Claims 1-10 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Chen (U.S. 4,613,942, filed Oct. 22, 1984) in view of Chen herein “Heping” (U.S. Pub 2011/0087360, filed Mar. 30, 2009) further in view of Shinozaki (U.S. 9,649,790, filed Nov. 30, 2012) further in view of Ross (NPL- IkeaBot: An Autonomous Multi-Robot Coordinated Furniture Assembly System, published May 2013, pgs. 855-862) further in view of Okuyama (U.S. Pub 2002/0105296, filed Dec. 21, 2001).
Regarding Independent claim 1, Chen discloses A robot for assembling a piece of furniture, the robot comprising:
a base (see fig.1, numeral 18 & col. 2, lines 45-65, discloses robot base comprising control mechanism);
a robotic arm coupled to the base at a first end of the robotic arm (see fig.1, numeral 19 & col. 2, lines 45-65, discloses a robot arm);
a multi-functional robotic head coupled to the robotic arm at a second end of the robotic arm, the multi-functional robotic head comprising: a camera positioned on a periphery of the multi-functional robotic head, the camera being, configured to scan a barcode positioned on a part presented to the robot and capture an image of the part presented to the robot as the part rests on a conveyor, the barcode providing instructions for attaching one or more hardware components to the part to assemble the piece of furniture; capture an image of the part presented to the robot (see fig.1, numeral 14 & col. 2, lines 45-65, discloses a camera for obtaining and processing a coded indica image on a part within its field of vision. Further supporting use of a bar code for the indica in col. 4, lines 35-67. The part is then used to perform an assembly operation by the robot arm has determined by the indica outlined in col. 3, lines 25-35 & abstract);
a first gripping mechanism configured to grip a first hardware component, the first hardware component being manoeuvred by the robotic arm to a first position to be attached to the part (see fig. 1 numeral 20, col. 2, lines 50-55 & col. 3, lines 43-50, discloses a gripping mechanism has a robot manipulator used to grip a hardware component such as wrench 11. Further describing in col. 5, lines 5- 15 that parts can also include assembly components such as screws or bolts that are to be attached);
a first attachment mechanism configured to attach the first hardware component to the part at the first position via a fastener to assemble the piece of furniture (see col. 5, lines 5-20, discloses parts can also include assembly components such as screws or bolts that are to be attached thereby applying fasteners for assembly); and
a computing unit in communication with the robotic arm and the multi-functional robotic head, the computing unit configured to receive the instructions and the image of the part from the camera; process the instructions to determine the first hardware component to attach to the part; and control the robotic arm and the multi-functional robotic head to: place the first hardware component on the part at the first position with the first gripping mechanism; and attach the first hardware component to the part at the first position with the first attachment mechanism (see fig. 1 & col. 5, lines 5-20, discloses using a computer that communicates with the robotic arm and manipulator to receive instructions from the camera that obtained the indica image that is decoded to provide assemble instruction to the robot). Chen discloses obtaining robot assembly operation instructions based on captured indica placed on a part using a camera 14 that views the indicia 12 in its field of vision (see col. 2, lines 55-65). Nowhere does Chen teach that the camera is mounted or positioned on a periphery of the robotic head and captures image of the part presented to the robot, instead only barcode image appears to be captured by a stationary camera. Heping discloses application of a robot for parts assembly on a workpiece moving in an assembly line and includes a camera mounted on the robot tool itself (see fig. 5, paragraphs 41 and 59).  The camera further capturing image of the presented workpiece from the assembly line and performing image processing to identify patterns of bolts/studs (see paragraph 35). Thereby teaching capture of an image of presented workpiece to the robot using a camera mounted on the robot assembly. Heping fails to teach application of any adhesive to the parts using the robot.
Shinozaki discloses:
a first applicator mechanism configured to apply an adhesive to the part (see abstract, discloses application of a curing adhesive to a region of an article using a robot); Shinozaki fails to teach any assembly of furniture parts using the robot. Ross discloses that applying Autonomous robots for the purpose of furniture parts assembly is well known (see pg. 855, paragraphs 1-4). Ross fails to teach determining any dimensions and orientation of the part as it rests on the conveyor including coordinates of a first position on the part.
Okuyama discloses:
process the image to determine dimensions and an orientation of the part as the part rests on the conveyor; based on the dimensions and the orientation, determine coordinates of a first position on the part to provide the first hardware component (see abstract & paragraphs 18, 24 and 32, discloses transforming the position of a moving object on the conveyer based on its coordinate system to a robot coordinate system. Further in paragraph 8 indicating use of a camera for determining orientation and position of objects on a conveyer is known); It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have modified camera placement by mounting the camera on the robot for capturing part details and barcode data in addition to implementing known techniques for calculating parts on a conveyer based on determined coordinate systems and applying adhesives for part assembly. One motivation is to automate the assembly of furniture using coded indica with captured feature data of parts laid out on a conveyer which saves time while improving the accuracy of construction.
Regarding Dependent claim 2, with dependency of claim 1, Chen discloses that the indica provide dimensional disposition data associated with a part (see col 60, lines 3-5). Chen fails to teach that the camera is mounted or positioned on a periphery of the robotic head and captures image of the part presented to the robot, instead only barcode image appears to be captured by a stationary camera. Heping discloses computing unit is further configured to based on the image captured by the camera determine dimensions of the part (see fig. 5, paragraphs 41 and 59). It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have modified camera placement by mounting the camera on the robot for capturing part details and barcode data in addition to implementing known techniques for applying adhesives for part assembly. One motivation is to automate the assembly of furniture using coded indica with captured feature data of parts which saves time while improving the accuracy of construction.
Regarding Dependent claim 3, with dependency of claim 1, Chen discloses wherein the instructions provided by the barcode include co-ordinates on the part for applying the adhesive or attaching the first hardware component (see col 60, lines 3-5 & fig. 10G, discloses that the indica provide data associated with coordinates on the part to perform the assembly instructions).
Regarding Dependent claim 4, with dependency of claim 1, Chen mentions in col. 2, lines 65-67 the application of adhesives for attaching the indica, but fails to teach the robot applying any adhesive to furniture parts. Shinozaki discloses wherein the processor is configured to determine a position on the part to apply the adhesive based on the instructions provided by the barcode (see abstract); Shinozaki fails to teach any assembly of furniture parts using the robot. Ross discloses that applying Autonomous robots for the purpose of furniture parts assembly is well known (see pg. 855, paragraphs 1-4). Ross discloses that applying Autonomous robots for the purpose of furniture parts assembly is well known (see pg. 855, paragraphs 1-4). Ross fails to teach determining any dimensions and orientation of the part as it rests on the conveyor including coordinates of a first position on the part. Okuyama discloses transforming the position of a moving object on the conveyer based on its coordinate system to a robot coordinate system. Further in paragraph 8 indicating use of a camera for determining orientation and position of objects on a conveyer is known (see abstract & paragraphs 18, 24 and 32). It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have modified camera placement by mounting the camera on the robot for capturing part details and barcode data in addition to implementing known techniques for calculating parts on a conveyer based on determined coordinate systems and applying adhesives for part assembly. One motivation is to automate the assembly of furniture using coded indica with captured feature data of parts laid out on a conveyer which saves time while improving the accuracy of construction.
Regarding Dependent claim 5, with dependency of claim 1, Chen discloses wherein the processor is configured to determine the position on the part to attach the first hardware component based on the instructions provided by the barcode (see col 60, lines 3-5, discloses that the indica provide dimensional disposition data associated with a part).
Regarding Dependent claim 6, with dependency of claim 1, Chen discloses wherein the gripping mechanism is a pair of parallel plates (see fig. 1).
Regarding Dependent claim 7, with dependency of claim 1, Chen discloses in col. 5, lines 5- 15 that parts can also include assembly components such as screws or bolts that are to be attached. He fails to teach a list of all hardware components including hinge mounting plate used for assembly. It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have supplemented any number of hardware components including hinge mounting plate that could be used in assembly to which an indica can be affixed, has it provides robot manipulation to a broad array of field applications.
Regarding Dependent claim 8, with dependency of claim 1, Chen discloses in col. 5, lines 5- 15 that parts can also include assembly components such as screws or bolts that are to be attached. He fails to teach a list of all hardware components including hinge mounting plate from a hardware provider used for assembly. It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have supplemented any number of hardware components including hinge mounting plate that could be used in assembly to which an indica can be affixed, has it provides robot manipulation to a broad array of field applications.
Regarding Dependent claim 9, with dependency of claim 1, Chen discloses in fig. 1, a single robotic gripping arm. It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have implemented multiple varieties of robot configurations for performing an assembly that includes a second gripping mechanisms to grip parts has it provides more control and saves additional time.
Regarding Dependent claim 10, with dependency of claim 9, Chen discloses in col. 5, lines 5- 15 that parts can also include assembly components such as screws or bolts that are to be attached. He fails to teach a list of all hardware components including slide and slide spacer used for assembly. It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have supplemented any number of hardware components including a slide and slide spacer that could be used in assembly to which an indica can be affixed, has it provides robot manipulation to a broad array of field applications.
Regarding Dependent claim 12, with dependency of claim 1, Chen discloses obtaining robot assembly operation instructions based on captured indica placed on a part using a camera 14 that views the indicia 12 in its field of vision (see col. 2, lines 55-65). Nowhere does Chen teach that the camera is mounted or positioned on a periphery of the robotic head and captures image of the part presented to the robot, instead only barcode image appears to be captured by a stationary camera. Heping discloses application of a robot for parts assembly on a workpiece moving in an assembly line and includes a camera mounted on the robot tool itself (see fig. 5, paragraphs 41 and 59).  The camera further capturing image of the presented workpiece from the assembly line and performing image processing to identify patterns of bolts/studs (see paragraph 35). Thereby teaching capture of an image of presented workpiece to the robot using a camera mounted on the robot assembly. Heping fails to teach application of any adhesive to the parts using the robot. Shinozaki discloses wherein the multi-functional robotic head further comprises a second applicator mechanism configured to apply a third hardware component to the part (see abstract); Shinozaki fails to teach any assembly of furniture parts using the robot. Ross discloses that applying Autonomous robots for the purpose of furniture parts assembly is well known (see pg. 855, paragraphs 1-4). Ross discloses that applying Autonomous robots for the purpose of furniture parts assembly is well known (see pg. 855, paragraphs 1-4). Ross fails to teach determining any dimensions and orientation of the part as it rests on the conveyor including coordinates of a first position on the part. Okuyama discloses transforming the position of a moving object on the conveyer based on its coordinate system to a robot coordinate system. Further in paragraph 8 indicating use of a camera for determining orientation and position of objects on a conveyer is known (see abstract & paragraphs 18, 24 and 32). It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have modified camera placement by mounting the camera on the robot for capturing part details and barcode data in addition to implementing known techniques for calculating parts on a conveyer based on determined coordinate systems and applying adhesives for part assembly. One motivation is to automate the assembly of furniture using coded indica with captured feature data of parts laid out on a conveyer which saves time while improving the accuracy of construction.
8.	Claims 16, 20-21 and 23-28 are rejected under 35 U.S.C. 103 as being unpatentable over Chen (U.S. 4,613,942, filed Oct. 22, 1984) in view of Chen herein “Heping” (U.S. Pub 2011/0087360, filed Mar. 30, 2009) further in view of Ross (NPL- IkeaBot: An Autonomous Multi-Robot Coordinated Furniture Assembly System, published May 2013, pgs. 855-862) further in view of Okuyama (U.S. Pub 2002/0105296, filed Dec. 21, 2001).
Regarding Independent claim 16, Chen discloses A method of assembling a piece of furniture with a robot, the method comprising:
scanning a barcode on a part by a camera positioned on a periphery of a multi-functional robotic head of the robot, the barcode providing instructions for attaching one or more hardware components to the part to assemble the piece of furniture (see fig.1, numeral 14 & col. 2, lines 45-65, discloses a camera for obtaining and processing a coded indica image on a part within its field of vision. Further supporting use of a bar code for the indica in col. 4, lines 35-67. The part is then used to perform an assembly operation by the robot arm has determined by the indica outlined in col. 3, lines 25-35 & abstract);
capturing an image of the part presented to the robot capturing an image of the part presented to the robot by the camera positioned on the robotic head; processing the instructions to determine a first hardware component to attach to the part; (see col. 5, lines 5-20, discloses parts can also include assembly components such as screws or bolts that are to be attached thereby applying fasteners for assembly);
placing the first hardware component on the part at the co-ordinates of the first position (see fig. 1 & col. 5, lines 5-20, discloses using a computer that communicates with the robotic arm and manipulator to receive instructions from the camera that obtained the indica image that is decoded to provide assemble instruction to the robot); and
attaching the first hardware component to the part at the first position by a first attachment mechanism of the robot (see fig. 1 & col. 5, lines 5-20, discloses using a computer that communicates with the robotic arm and manipulator to receive instructions from the camera that obtained the indica image that is decoded to provide assemble instruction to the robot). Chen discloses obtaining robot assembly operation instructions based on captured indica placed on a part using a camera 14 that views the indicia 12 in its field of vision (see col. 2, lines 55-65). Nowhere does Chen teach that the camera is mounted or positioned on a periphery of the robotic head and captures image of the part presented to the robot, instead only barcode image appears to be captured by a stationary camera. Heping discloses application of a robot for parts assembly on a workpiece moving in an assembly line and includes a camera mounted on the robot tool itself (see fig. 5, paragraphs 41 and 59).  The camera further capturing image of the presented workpiece from the assembly line and performing image processing to identify patterns of bolts/studs (see paragraph 35). Thereby teaching capture of an image of presented workpiece to the robot using a camera mounted on the robot assembly. Heping fails to teach application of the robot for assembling furniture parts. Ross discloses that applying Autonomous robots for the purpose of furniture parts assembly is well known (see pg. 855, paragraphs 1-4). Ross fails to teach determining any dimensions and orientation of the part as it rests on the conveyor including coordinates of a first position on the part.
Okuyama discloses:
processing the image to determine dimensions and an orientation, determining co-ordinates of a first position on the part at which to place the first hardware component (see abstract & paragraphs 18, 24 and 32, discloses transforming the position of a moving object on the conveyer based on its coordinate system to a robot coordinate system. Further in paragraph 8 indicating use of a camera for determining orientation and position of objects on a conveyer is known); It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have modified camera placement by mounting the camera on the robot for capturing part details and barcode data in addition to implementing known techniques for calculating parts on a conveyer based on determined coordinate systems and applying adhesives for part assembly. One motivation is to automate the assembly of furniture using coded indica with captured feature data of parts laid out on a conveyer which saves time while improving the accuracy of construction.
Regarding Dependent claim 20, with dependency of claim 16, Chen discloses in col. 5, lines 5- 15 that parts can also include assembly components such as screws or bolts that are to be attached. He fails to teach a list of all hardware components including hinge mounting plate used for assembly. It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have supplemented any number of hardware components including hinge mounting plate that could be used in assembly to which an indica can be affixed, has it provides robot manipulation to a broad array of field applications.
Regarding Dependent claim 21, with dependency of claim 20, Chen discloses in col. 5, lines 5- 15 that parts can also include assembly components such as screws or bolts that are to be attached. He fails to teach a list of all hardware components including hinge mounting plate from a storage location used for assembly. It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have supplemented any number of hardware components including hinge mounting plate that could be used in assembly to which an indica can be affixed, has it provides robot manipulation to a broad array of field applications.
Regarding Dependent claim 23, with dependency of claim 21, Chen discloses in col. 5, lines 5- 15 that parts can also include assembly components such as screws or bolts that are to be attached. He fails to teach a list of all hardware components including slide and slide spacer used for assembly. It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have supplemented any number of hardware components including a slide and slide spacer that could be used in assembly to which an indica can be affixed, has it provides robot manipulation to a broad array of field applications.
Regarding Dependent claim 24, with dependency of claim 23, Chen discloses in col. 5, lines 5- 15 that parts can also include assembly components such as screws or bolts that are to be attached. He fails to teach a list of all hardware components including slide and slide spacer from a storage location used for assembly. It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have supplemented any number of hardware components including a slide and slide spacer that could be used in assembly to which an indica can be affixed, has it provides robot manipulation to a broad array of field applications.
Regarding Dependent claim 25, with dependency of claim 24, Chen discloses manoeuvring the second hardware component to a second position to be attached to the part, the second position determined by the robot based on the instructions provided to the robot (see fig.1, numeral 14 & col. 2, lines 45-65, including the explanation provided in the independent claim).
Regarding Dependent claim 26, with dependency of claim 25, Chen discloses attaching the second hardware component to the part by the robot (see fig.1, numeral 14 & col. 2, lines 45-65, including the explanation provided in the independent claim).
Regarding Dependent claim 27, with dependency of claim 26, Chen discloses after attaching the second hardware component to the part by the robot, selecting a third hardware component to attach to the part (see fig.1, numeral 14 & col. 2, lines 45-65, including the explanation provided in the independent claim).
Regarding Dependent claim 28, with dependency of claim 27, Chen discloses in col. 5, lines 5- 15 that parts can also include assembly components such as screws or bolts that are to be attached. He fails to teach a list of all hardware components including an adjustable shelf bracket used for assembly. It would have been obvious for one of ordinary skill in the art before the effective filing date of the application to have supplemented any number of hardware components including an adjustable shelf bracket that could be used in assembly to which an indica can be affixed, has it provides robot manipulation to a broad array of field applications.
It is noted that any citation [[s]] to specific, pages, columns, lines, or figures in the prior art references and any interpretation of the references should not be considered to be limiting in any way.  A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. [[See, MPEP 2123]]
Response to Arguments
9.	Applicant’s arguments filed 11/8/2024 have been considered but are moot in view of the new grounds of rejection.
Conclusion
References Cited
10.	The art made of record and not relied upon is considered pertinent to applicant’s disclosure.
Wang et al. (U.S. Pub 2023/0173660) discloses “Robot Teaching By Demonstration With Visual Servoing”
HASHIGUCHI et al. (U.S. Pub 2023/0121498) discloses “Simulated Collaboration Of Multiple Controllers”
GORMAN (U.S. Pub 2020/0324974) discloses “Coordinated Conveyers In AN Automated System”
STADLER (U.S> Pub 2020/0070909) discloses “Conveyor Device For An Automated Production Line, Component Carrier Carriage For A Conveyor Device And Method For Operating A Conveyor Device”
Gatta et al. (U.S. 10,232,899) discloses “Virtual Stop Station”
Wallack et al. (U.S. Pub 2018/0374239) discloses “System And Method For Field Calibration Of Vision System Imaging Two Opposite Sides Of A Calibration Object”
Hall et al. (U.S. Pub 2015/0243019) discloses “Alignment System Architecture”
Liu (U.S. Pub 2015/0170365) discloses “System And Method For Performing Vision System Planar Hand-Eye Calibration From Straight Line Features”
Lin et al. (U.S. Pub 2015/0100162) discloses “System And Method For Controlling A Vision Guided Robot Assembly”
Chuah (U.S. 8,855,810) discloses “Apparatus And Method For Transferring Gloves”
Li et al. (U.S. Pub 2014/0253720) discloses “System And Method For Aligning Two Work Pieces With A Vision System In The Presence Of Occlusion”
Pryor (U.S. 6,163,946) discloses “Vision Target Based Assembly”

APPLICANT REBUTTAL: REMARKS
/
ARGUMENTS
By the present amendment, the claims have been amended as follows:
Claim 1 has been amended to recite that the instructions provided by the barcode include "co- ordinates of a first position of the part for attaching a first hardware component" and that the computing unit is configured to "based on the dimensions, the orientation and the co-ordinates of the first position, locate the first position of the part to provide the first hardware component".
Support for these amendments can be found throughout the application as filed, specifically at previous claim 3, paragraphs [0091] and [0094] as well as FIGs. 2-5.
Claim 3 has been cancelled.
Claim 16 has been amended to correspond with amended claim 1.
The amendments to the claims have been made without prejudice and without acquiescing to any of the Examiner's objections. Applicant reserves the right to pursue any deleted or withdrawn subject matter in a further divisional, continuation or continuation-in-part application. No new matter has been entered by the present amendment and its entry is respectfully requested/The amendments do not contain new matter and their entry is respectfully requested.
The Office Action dated November 21, 2024 (hereinafter, the "Office Action") has been carefully considered. It is believed that the amendments submitted herewith and the following comments represent a complete response to the Examiner's rejections and place the present application in condition for allowance. Reconsideration is respectfully requested.
Claim Re
j
ections - 35 U.S.C.
§
Claims 1-10 and 12 have been rejected under 35 U.S.C. 103 as being unpatentable over Chen (U.S. 4,613,942, filed Oct. 22, 1984, hereinafter "Chen") in view of Heping (U.S. Pub. 2011/0087360, filed Mar. 30, 2009) further in view of Shinozaki (U.S. 9,649,790, filed Nov. 30, 2012, hereinafter "Shinozaki") further in view of Ross (NPL- IkeaBot: An Autonomous Multi- Robot Coordinated Furniture Assembly System, published May 2013, pgs. 855-862, hereinafter "Ross") further in view of Okuyama (U.S. Pub 2002/0105296, filed Dec. 21, 2001).
Claims 16, 20-21 and 23-28 have been rejected under 35 U.S.C. 103 as being unpatentable over Chen (U.S. 4,613,942, filed Oct. 22, 1984, hereinafter "Chen") in view of Heping (U.S. Pub. 2011/0087360, filed Mar. 30, 2009) further in view of Ross (NPL- IkeaBot: An Autonomous Multi-Robot Coordinated Furniture Assembly System, published May 2013, pgs. 855-862, hereinafter "Ross") further in view of Okuyama (U.S. Pub 2002/0105296, filed Dec. 21, 2001).
Applicant respectfully disagrees.
Notwithstanding the foregoing, as noted above, claim 1 has been amended to recite that the instructions provided by the barcode include "co-ordinates of a first position of the part for attaching a first hardware component" and that the computing unit is configured to "based on the dimensions, the orientation and the co-ordinates of the first position, locate the first position of the part to provide the first hardware component".
With regards to claim 1, Applicant notes that the Examiner asserts on page 4 of the Office Action that Chen teaches the claimed feature of "the barcode providing instructions for attaching one or more hardware components to the part to assemble the piece of furniture" at "see fig.1, numeral 14 & col. 2, lines 45-65, discloses a camera for obtaining and processing a coded indica image on a part within its field of vision. Further supporting use of a bar code for the indica in col. 4, lines 35-67. The part is then used to perform an assembly operation by the robot arm has determined by the indica outlined in col. 3, lines 25-35 & abstract".
Applicant respectfully disagrees. In addition, Applicant submits that Chen does not teach or suggest the feature of the instructions provided by the barcode including "co-ordinates of a first position of the part for attaching a first hardware component".
Applicant submits that in Chen, col. 3, lines 25-35 teaches that the "fourth set of indicia 45 comprises a series of differently colored geometric shapes, e.g., 46, 47, 48,
which series identifies the operation which is to be performed by the robot arm with the part.
That is, the program for the computer is on the part itself, which program instructs the robot to perform the programmed operation as set forth by the indicia. [emphasis added].
Applicant then notes that, on page 7 of the Office Action, the Examiner alleges that col. 60, lines 3-5 "discloses that the indicia provide data associated with coordinates on the part to perform the assembly instructions."
Applicant respectfully disagrees.
Col. 60, lines 3-5 of Chen state "a part having random orientation, said part having orientation indicia on said part to provide three dimensional disposition data of said part". Read in the context of the entire application, the Applicant submits that the "orientation indicia" here are shapes, specifically a red triangle and a yellow dot at one apex of the triangle. The digital image processor of Chen recognizes the triangle, and the computer measures the altitude 115 of the triangle through dot 111, as well as the rotation of the triangle about dot 111. Other differently colored dots may be disposed at the other apices.
Applicant therefore submits that, in this portion of Chen, there is no teaching of "a barcode positioned on a part presented to the robot as the part rests on a conveyor, the barcode providing instructions for attaching one or more hardware components to the part to assemble the piece of furniture, the instructions including co-ordinates of a first position of the part for attaching a first hardware component".
More generally, it is clear from the above that in Chen the indicia is scanned to instruct the robot on how to use the part that is presented with the barcode. The robot is not provided with instructions of "co-ordinates
of
a first position of the part" as claimed in amended claim 1.
Chen does not teach or suggest receiving any "co-ordinates of a first position of the part" that is presented to the camera because Chen is not concerned with performing operations on the part. Rather, Chen is concerned with performing operations with the part that is presented. Chen therefore does not teach that the barcode provides "co-ordinates of a first position of the part for attaching a first hardware component" because Chen is only concerned with picking up and using the parts that are presented to the camera.
For the above foregoing reasons, claim 1 as amended is novel and inventive over Chen.
With respect to the remaining prior art noted by the Examiner, Applicant further notes that in the Office Action the Examiner further asserts on page 6 that Okuyama discloses, at the Abstract and paragraphs 18, 24 and 32,
transforming the position of a moving object on the conveyer based on its coordinate system to a robot coordinate system. Further, in paragraph 8 indicating use of a camera for determining orientation and position of objects on a conveyor is known); It would have been obvious for one or ordinary skill in the art before the effective filing date of the application to have modified camera placement by mounting the camera on the robot for capturing part details and barcode data in addition to implementing known techniques for calculating parts on a conveyer based on determined coordinate systems and applying
adhesives for part assembly"
Applicant respectfully disagrees.
Okuyama does not teach or suggest the claimed step of "determining co-ordinates of
a first
p
osition on the
p
art
to provide the first hardware component to the part" as alleged by the Examiner. Okuyama describes the use of a conveyor co-ordinate system to determine a position of a work on a conveyor and translate that position to a robot coordinate system. Nowhere does Okuyama teach identifying a first position on a part based on a camera capturing an image.
Further, claim 1 as amended now recites "a barcode positioned on a part presented to the robot as the part rests on a conveyor, the barcode providing instructions for attaching one or more hardware components to the part to assemble the piece of furniture, the instructions including co-ordinates of a first position of the part for attaching a first hardware component", which is also not taught in Okuyama.
Okuyama therefore does not correct the deficiencies of Chen.
Heping, Shinozaki and Ross also fail to correct the deficiencies of Chen as each reference also fails to teach or suggest at least "a barcode positioned on a part presented to the robot as the part rests on a conveyor, the barcode providing instructions for attaching one or more hardware components to the part to assemble the piece of furniture, the instructions including co-ordinates of a first position of the part for attaching a first hardware component".
Applicant therefore submits that none of the prior art cited by the Examiner teaches or suggests recites "a barcode positioned on a part presented to the robot as the part rests on a conveyor, the barcode providing instructions for attaching one or more hardware components to the part to assemble the piece of furniture, the instructions including co-ordinates of a first position of the part for attaching a first hardware component" as claimed in amended claim 1.
Therefore, claim 1 as amended is also novel and inventive over Chen in view of Heping, Shinozaki, Ross and Okuyama either alone or in combination.
Applicant submits that claims 4, 6-12 are therefore also novel and inventive over Chen in view of Shinozaki and further in view of Ross by way of their dependency on claim 1 as amended.
With respect to claims 16, 20-21 and 23-28, Applicant submits that claim 16 as amended corresponds with claim 1 as amended and therefore is novel and inventive over Chen in view of Heping, Shinozaki, Ross and Okuyama, either alone or in combination, for at least the same reasons as provided above in support of claim 1 as amended.
Claims 20-21 and 23-28 are therefore also novel and inventive over Chen in view of Heping, Shinozaki, Ross and Okuyama by way of their dependency on claim 16 as amended.
In view of the foregoing, Applicant respectfully submits that the claims, as amended, are non- obvious, and requests for this rejection under 35 U.S.C. § 103 to be withdrawn and that the claims, as amended, be allowed.
Conclusion

NEXT OFFICE ACTION: ALLOWANCE
Claims 1, 6-10, 12, 15, 20-21 and 23-28 are allowed. Claims 2-3, 5, 11, 13-15, 17-19, 22 and 29-37 were canceled. Claims 1 and 16 are the independent claim.
This application claims priority to PCT/CA2020/050163 (Canada) filed 2/7/2020, which claims priority to provisional application 62/802876, filed 2/8/2019.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
The following is an examiner’s statement of reasons for allowance: The claims disclose a furniture assembly robot having a base, robotic arm and multi-functional head with a camera. The camera is configured to scan a barcode that is positioned on a part presented to the robot as it rests on a conveyer. The barcode provides instructions comprising co-ordinates of a first position of the part to be attached to the first hardware component. The image of the part presented to the robot is captured. A first applicator applies adhesive to the part while a first gripping mechanism grips the first hardware component and is maneuvered by the robotic arm to a first position to be attached to the part. An attachment mechanism attaches the first hardware component to the part at the first position using fasteners to assemble the piece of furniture. A computing unit in communication with the robotic arm and head receives instructions and the image of the part from the camera. The computing unit processes the instructions to determine the firs hardware component to be attached to the part. The image is processed to determine dimensions and orientation of the part has it rests on the conveyer. The dimensions, orientation and co-ordinates of the first position that were determined by the barcode are used to locate the first position of the part to provide the first hardware component and control the robotic arm and head to place it at the first position with the gripping mechanism. While the gripping mechanism holds the first hardware component at the first position of the part the first hardware component is attached to the part at the first position with the first attachment mechanism. Independent claim 16 is broader and omits the applicator, gripping and attachment mechanisms in addition to describing the configuration of the robot which includes the head, arm etc. The claimed features support variability in mounting locations by using barcodes that define co-ordinates of the part for attachment to the hardware component (see applicant’s specification paragraphs 3-5 and 98).
The cited reference of Chen (U.S. 4,613,942) discloses obtaining robot assembly operation instructions based on captured indica placed on a part using a camera 14 that views the indicia 12 in its field of vision (see col. 2, lines 55-65). Chen fails to teach or suggest reading a barcode that provides attachment instructions that explicitly define co-ordinates of a first position of the part for attaching a first hardware component. Instead, Chen references indicia that use shapes and color to identify components for assembly.
The cited reference of Heping (U.S. Pub 2011/0087360) discloses application of a robot for parts assembly on a workpiece moving in an assembly line and includes a camera mounted on the robot tool itself (see fig. 5, paragraphs 41 and 59).  The camera further capturing image of the presented workpiece from the assembly line and performing image processing to identify patterns of bolts/studs (see paragraph 35). Thereby teaching capture of an image of presented workpiece to the robot using a camera mounted on the robot assembly. Heping fails to teach or suggest reading a barcode that provides attachment instructions that explicitly define co-ordinates of a first position of the part for attaching a first hardware component.
The cited reference of Shinozaki (U.S. 9,649,790) discloses application of a curing adhesive to a region of an article using a robot (see abstract). Shinozaki fails to teach or suggest reading a barcode that provides attachment instructions that explicitly define co-ordinates of a first position of the part for attaching a first hardware component.
The cited reference of Ross (NPL) discloses that applying Autonomous robots for the purpose of furniture parts assembly is well known (see pg. 855, paragraphs 1-4). Ross fails to teach or suggest reading a barcode that provides attachment instructions that explicitly define co-ordinates of a first position of the part for attaching a first hardware component.
The cited reference of Okuyama (U.S. Pub 2002/0105296) discloses transforming the position of a moving object on the conveyer based on its coordinate system to a robot coordinate system. Further in paragraph 8 indicating use of a camera for determining orientation and position of objects on a conveyer is known (abstract & paragraphs 18, 24 and 32). Okuyama fails to teach or suggest reading a barcode that provides attachment instructions that explicitly define co-ordinates of a first position of the part for attaching a first hardware component.
10.	Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee.  Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.”
Conclusion
References Cited
11.	The art made of record and not relied upon is considered pertinent to applicant’s disclosure.
Buhrer et al. (U.S. 5,961,722) discloses “Apparatus For Establishing Reference Coordinates For A Point On A Component”
NAKAMURA (U.S. Pub 2024/0109190) discloses “Robot Control, System, Robot Control Method, And Program”
Hiroyki Kobayashi, A new proposal for self-localization of mobile robot by self-contained 2D barcode landmark, 2012, IEEE, pgs. 2080-2083
Jong Hwan Beck et al., Vision based Distance Measurement System using Two-dimensional Barcode for Mobile Robot, 2017, IEEE, pgs. 1-4 (pdf)

CITED REFERENCE SUMMARIES: Ref US20180374239A1: Claims:
A calibration target comprising: a base defining a first side and an opposing second side; a first three-dimensional element projecting from the first side, the first three-dimensional element having a first top; a second three-dimensional element projecting from the second side, the second three-dimensional element having a second top; and a first plane located relative to the first side and a second plane located relative to the second side, wherein the first plane and the second plane are substantially parallel, based upon a machining process that uses the first top face as a basis for forming the second top face with the machining process.
a base defining a first side and an opposing second side;
a first three-dimensional element projecting from the first side, the first three-dimensional element having a first top;
a second three-dimensional element projecting from the second side, the second three-dimensional element having a second top; and
a first plane located relative to the first side and a second plane located relative to the second side, wherein the first plane and the second plane are substantially parallel, based upon a machining process that uses the first top face as a basis for forming the second top face with the machining process.
The calibration target as set forth in claim 1 wherein the first plane and the second plane are located on at least one of (a) a flange extending from the base, (b) at least a portion of the base, and (c) the first top and the second top, respectively.
The calibration target as set forth in claim 2 wherein the first plane and the second plane have a predetermined thickness therebetween and are formed by a machining process in which the first plane is the basis for machining the second plane
The calibration target as set forth in claim 3 wherein at least one of the first three-dimensional element and the second three-dimensional element comprises a frustum.
The calibration target as set forth in claim 4 wherein the first three-dimensional element is similar in shape and size to the second three dimensional element and the first three-dimensional element is centered about a common z-axis with respect to the second three dimensional element.
The calibration target as set forth in claim 5 wherein the frustum are discretely identified by an adjacent number, in which even numbers are located on the first side and off numbers are located on the second side.
The calibration target as set forth in claim 3 wherein the machining process is arranged to define a predetermined spacing between the first plane and the second plane.
The calibration target as set forth in claim 7 wherein at least one of the first plane and the second plane is one of ground and planed.
The calibration target as set forth in claim 8 wherein at least one of the first element and the second element defines a textured surface that diffuses incident light thereon.
The calibration target as set forth claim 1 wherein the base includes a discrete first indicia formed adjacent to the first three-dimensional element and a discrete second indicia formed adjacent to the second three-dimensional element.
The calibration target as set forth in claim 1 , further comprising, (a) a plurality of first three-dimensional elements projecting from the first side, the first three-dimensional elements respectively having a first top face defining a plane, and (b) a plurality of a second three-dimensional elements projecting from the second side, the second three-dimensional elements respectively having a second top face defining a plane.
A method for calibrating a vision system having at least a first 3D sensor and a second 3D sensor, respectively imaging each of opposing sides of an object in a scene, comprising the steps of: positioning, within the scene, a calibration target having (a) a first three-dimensional element projecting from the first side, the first three-dimensional element having a first top face defining a plane and (b) a second three-dimensional element projecting from the second side, the second three-dimensional element having a second top face defining a plane, in which the first top face and the second top face are substantially parallel, based upon a machining process that uses the first top face as a basis for forming the second top face with the machining process; acquiring a first image of the first three-dimensional element with the first camera assembly and a second image of the second three-dimensional element with the second camera assembly; and based upon at least the first image and the second image, locating features, and with the features, determining calibration parameters for the first camera assembly and the second camera assembly.
positioning, within the scene, a calibration target having (a) a first three-dimensional element projecting from the first side, the first three-dimensional element having a first top face defining a plane and (b) a second three-dimensional element projecting from the second side, the second three-dimensional element having a second top face defining a plane, in which the first top face and the second top face are substantially parallel, based upon a machining process that uses the first top face as a basis for forming the second top face with the machining process;
acquiring a first image of the first three-dimensional element with the first camera assembly and a second image of the second three-dimensional element with the second camera assembly; and
based upon at least the first image and the second image, locating features, and with the features, determining calibration parameters for the first camera assembly and the second camera assembly.
The method as set forth in claim 12 wherein the step of determining comprises using the substantially parallel relationship and a predetermined distance value between the top face and the bottom face as a portion of a calibration computation.
The method as set forth in claim 13 wherein the step of locating features includes locating features of a first plurality of frusta arranged on the first side and a second plurality of frusta arranged on the second side.
The method as set forth in claim 14 wherein the step of locating features includes determining discrete indicia adjacent to respective of the frusta in the first plurality of frusta and the second plurality of frusta.
The method as set forth in claim 14 , further comprising generating calibration parameters that map local coordinate spaces of at least the first 3D sensor and the second 3D sensor to a common coordinate space.
A method for constructing a calibration target for use in a vision system having 3D sensors arranged to image each of opposing sides of an object in a scene, comprising the steps of: providing a calibration target base defining a first side and an opposing second side; forming at least one first three-dimensional element projecting from the first side, the first three-dimensional element having a first top; forming at least one second three-dimensional element projecting from the second side, the second three-dimensional element having a second top; and machining, on the calibration target, a first plane and a second plane parallel to the first plane by mounting the calibration target in registration with the first plane in the surfacing device, so that the first plane and the second plane are substantially parallel and at a predetermined spacing apart.
providing a calibration target base defining a first side and an opposing second side;
forming at least one first three-dimensional element projecting from the first side, the first three-dimensional element having a first top;
forming at least one second three-dimensional element projecting from the second side, the second three-dimensional element having a second top; and
machining, on the calibration target, a first plane and a second plane parallel to the first plane by mounting the calibration target in registration with the first plane in the surfacing device, so that the first plane and the second plane are substantially parallel and at a predetermined spacing apart.
The method as set forth in claim 17 wherein the first plane is located on the first top and the second plane is located on the second top.
The method as set forth in claim 18 wherein the first three-dimensional element is a first frustum and the second three-dimensional element is a second frustum.
The method as set forth in claim 18 , further comprising, providing a first discrete identifier adjacent to the first frustum and a second discrete identifier adjacent to the second frustum.
Ref US20230121498A1: Claims:
A simulation device comprising circuitry configured to: execute a first simulation of a first control of a first machine, wherein the first control is executed by a first controller; execute a second simulation of a second control of a second machine, wherein the second control is executed by a second controller so that the second machine operates in collaboration with the first machine; and control progress of the first simulation and progress of the second simulation to maintain a simulated ratio of a progress speed of the first simulation and a progress speed of the second simulation to be equal to a ratio of a progress speed of the first control and a progress speed of the second control.
execute a first simulation of a first control of a first machine, wherein the first control is executed by a first controller;
execute a second simulation of a second control of a second machine, wherein the second control is executed by a second controller so that the second machine operates in collaboration with the first machine; and
control progress of the first simulation and progress of the second simulation to maintain a simulated ratio of a progress speed of the first simulation and a progress speed of the second simulation to be equal to a ratio of a progress speed of the first control and a progress speed of the second control.
The simulation device according to claim 1 , wherein the first control includes first set of cycles, wherein the second control includes second set of cycles, and wherein the circuitry is configured to control an execution timing of each of the first set of cycles in the first simulation and an execution timing of each of the second set of cycles in the second simulation to maintain the simulated ratio to be equal to the ratio.
wherein the second control includes second set of cycles, and
wherein the circuitry is configured to control an execution timing of each of the first set of cycles in the first simulation and an execution timing of each of the second set of cycles in the second simulation to maintain the simulated ratio to be equal to the ratio.
The simulation device according to claim 2 , wherein the first controller is configured to execute each of the first set of cycles after a first control period, wherein the second controller is configured to execute each of the second set of cycles after a second control period, wherein the circuitry is configured to: execute each of the first set of cycles without waiting for a completion of the first control period in the first simulation; execute each of the second set of cycles without waiting for a completion of the second control period in the second simulation; control the execution timing of each of the first set of cycles in the first simulation and the execution timing of each of the second set of cycles in the second simulation to maintain the simulated ratio to be equal to the ratio based on the first control period and the second control period.
wherein the second controller is configured to execute each of the second set of cycles after a second control period,
wherein the circuitry is configured to: execute each of the first set of cycles without waiting for a completion of the first control period in the first simulation; execute each of the second set of cycles without waiting for a completion of the second control period in the second simulation; control the execution timing of each of the first set of cycles in the first simulation and the execution timing of each of the second set of cycles in the second simulation to maintain the simulated ratio to be equal to the ratio based on the first control period and the second control period.
execute each of the first set of cycles without waiting for a completion of the first control period in the first simulation;
execute each of the second set of cycles without waiting for a completion of the second control period in the second simulation;
control the execution timing of each of the first set of cycles in the first simulation and the execution timing of each of the second set of cycles in the second simulation to maintain the simulated ratio to be equal to the ratio based on the first control period and the second control period.
The simulation device according to claim 3 , wherein the circuitry is configured to: count a number of simulation cycles; select the first simulation in response to determining that the number of simulation cycles becomes a number corresponding to the first control period; select the second simulation in response to determining that the number of simulation cycles becomes a number corresponding to the second control period; execute one of the first set of cycles in response to a selection of the first simulation; and execute one of the second set of cycles in response to a selection of the second simulation.
count a number of simulation cycles;
select the first simulation in response to determining that the number of simulation cycles becomes a number corresponding to the first control period;
select the second simulation in response to determining that the number of simulation cycles becomes a number corresponding to the second control period;
execute one of the first set of cycles in response to a selection of the first simulation; and
execute one of the second set of cycles in response to a selection of the second simulation.
The simulation device according to claim 1 , wherein the circuitry is further configured to simulate an operation of the first machine and an operation of the second machine based on a result of the first simulation and a result of the second simulation.
The simulation device according to claim 5 , wherein the circuitry is configured to simulate the operation of the first machine and the operation of the second machine in response to determining that both the result of the first simulation and the result of the second simulation are updated.
The simulation device according to claim 1 , wherein the circuitry is further configured to simulate communication executed between the first controller and the second controller during execution of the first simulation and the second simulation.
The simulation device according to claim 7 , wherein the circuitry is configured to: generate communication data for the communication by executing at least a part of the first simulation; and acquire the generated communication data after a lapse of a predetermined virtual delay time to execute at least a part of the second simulation based on the acquired communication data.
generate communication data for the communication by executing at least a part of the first simulation; and
acquire the generated communication data after a lapse of a predetermined virtual delay time to execute at least a part of the second simulation based on the acquired communication data.
The simulation device according to claim 8 , wherein the circuitry is further configured to: store, in a communication buffer, communication data generated by executing at least the part of the first simulation; count a number of communication cycles after the communication data is stored in the communication buffer; and acquire, in response to determining that the number of communication cycles becomes a number corresponding to the virtual delay time, the stored communication data to execute at least the part of the second simulation based on the acquired communication data.
store, in a communication buffer, communication data generated by executing at least the part of the first simulation;
count a number of communication cycles after the communication data is stored in the communication buffer; and
acquire, in response to determining that the number of communication cycles becomes a number corresponding to the virtual delay time, the stored communication data to execute at least the part of the second simulation based on the acquired communication data.
The simulation device according to claim 9 , wherein the communication buffer includes a plurality of storage areas arranged from an upstream end to a downstream end in a data transfer direction, wherein the circuitry is configured to: store the generated communication data in a storage area on the upstream end of the communication buffer; transfer the communication data to an adjacent storage area along the data transfer direction every time the number of communication cycles is counted; and acquire the communication data transferred to a storage area on the downstream end in the communication buffer to execute at least the part of the second simulation based on the acquired communication data.
wherein the circuitry is configured to: store the generated communication data in a storage area on the upstream end of the communication buffer; transfer the communication data to an adjacent storage area along the data transfer direction every time the number of communication cycles is counted; and acquire the communication data transferred to a storage area on the downstream end in the communication buffer to execute at least the part of the second simulation based on the acquired communication data.
store the generated communication data in a storage area on the upstream end of the communication buffer;
transfer the communication data to an adjacent storage area along the data transfer direction every time the number of communication cycles is counted; and
acquire the communication data transferred to a storage area on the downstream end in the communication buffer to execute at least the part of the second simulation based on the acquired communication data.
The simulation device according to claim 10 , wherein the communication buffer includes the plurality of storage areas a number of which corresponds to the virtual delay time.
The simulation device according to claim 7 , wherein the circuitry is configured to, based on a plurality of communication definitions each of which associates a transmission side simulation with a reception side simulation, acquire communication data generated by executing at least a part of the transmission side simulation to execute at least a part of the reception side simulation based on the acquired communication data, according to each of the plurality of communication definitions.
The simulation device according to claim 1 , wherein the circuitry is further configured to change the progress speed of the first simulation and the progress speed of the second simulation in response to a designation of playback speed.
The simulation device according to claim 1 , wherein the circuitry is further configured to suspend the first simulation and the second simulation in response to a suspension command.
The simulation device according to claim 1 wherein the circuitry is configured to, in response to receiving a designation of individual simulation, execute the first simulation regardless of the progress of the second simulation.
A control system comprising: the simulation device according to claim 8 ; and the first controller and the second controller, wherein the circuitry is further configured to set the virtual delay time to correspond to a communication delay time between the first controller and the second controller.
the simulation device according to claim 8 ; and
the first controll
[Truncated to input limit]