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
The amendment filed 6/17/2026 has been entered. Claims 1, 5, and 13-18 are amended. Claims 3-4 and 19-23 are cancelled. Claims 1-2 and 5-18 remain pending in the application.
Applicant's arguments, see pages 9-10, with respect to the original rejection of claim 4 have been fully considered but they are not persuasive. The applicant argues that Kilibarda fails to disclose the claimed series of operations, however, the rejection is made with the combination of Jules and Kilibarda. The applicant also argues that the combination would merely provide Jules’ end effector with a memory capable of storing a program and not result in a work program created based on information obtained from the end effector being saved in the memory unit of that end effector and then executed by being obtained from the memory unit. However, this combination would be obvious because Jules teaches the work program created in a controller based on information obtained from the end effector (See at least col. 9, line 59 through col. 10, line 4; and col. 17, lines 33-49) while Kilibarda teaches the end effector memory receiving and storing instructions from an external control unit (e.g., the robot controller taught in Jules) for re-tasking of the robot (See at least [0049] of Kilibarda) to improve adaptability/flexibility of the robot (See at least [0007], [0010], and [0049] of Kilibarda). Further, under broad reasonable interpretation (BRI) of the claim, “cause the end effector to perform the end effector operation by executing the work program obtained from the memory,” the controller of Jules performs the work program that was generated using the end effector parameters that was obtained from the end effector memory. Alternatively, the prior art could be relied upon with the understanding that the end effector operation is executed using the instructions stored in Kilibarda’s end effector (See at least [0010] and [0044] of Kilibarda). Accordingly, an obviousness rejection is made in view of Jules (IDS: US 9687982 B1) and Kilibarda (US 20170173789 A1).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-2, and 5-8, and 10-12, and 15-18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Jules (IDS: US 9687982 B1) in view of Kilibarda (US 20170173789 A1).
Regarding Claim 1,
Jules teaches
A robot system, comprising: a robot; (“FIG. 1 illustrates an example environment in which programming of a robot 120 and/or control of the robot 120 may be adapted based on received parameters of an end effector for the robot 120.” See at least col. 7, lines 15-18 and fig. 1 (provided below))
PNG
media_image1.png
818
648
media_image1.png
Greyscale
an end effector configured to detachably attach to the robot; (“The robot 120 of FIG. 1 also includes an end effector attachment area 122 that enables removable attachment of any one of multiple end effectors such as end effectors 150A-D of FIG. 1. In other words, any one of the end effector 150A-D of FIG. 1 can be attached to the end effector attachment area 122 and detached from the end effector attachment area 122.” See at least col. 8, lines 59-65)
and a robot controller configured to control the robot and the end effector, (“The robot 120 includes a control commands engine 124, one or more actuators 126 (e.g., servo motors), and memory 128. The memory 128 includes control command instructions that, when executed by the control commands engine 124, cause the control commands engine 124 to generate control commands and provide the control commands to one or more of the actuators 126 to effectuate movement of one or more components of the robot. … The control commands engine 124 may be implemented in one or more processors, field-programmable gate arrays (“FPGA”), application-specific integrated circuits (“ASIC”), and/or other controllers of the robot 120.” See at least col. 7, line 45 through col. 8, line 2)
wherein the end effector includes a memory configured to save control information used by the robot controller to control the end effector, (“The end effector 150B includes memory 152B that stores parameters of the end effector 150B. … The robot 120 may utilize the parameters to generate control commands as described herein and/or may forward the parameters to the computing device 110 for use by the robot programming application 116 as described herein.” See at least col. 9, line 59 through col. 10, line 4, wherein the parameters of the end effector are control information.)
the robot controller is configured to control the end effector by the control information obtained from the memory, the robot controller is configured to cause the robot and the end effector to perform a predetermined operation in cooperation, the operation includes a robot operation performed by the robot and an end effector operation performed by the end effector, the robot controller is configured to cause the end effector to perform the end effector operation by controlling the end effector based on the control information obtained from the memory, (“control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector. For instance, the torque needed at one or more points along the defined path, to drive a first end effector having a first inertia along the defined path at the defined speed may be vastly different than the torque needed to drive a second end effector having a second inertia along the defined path at the defined speed. In some of those implementations, the torque at any given point along the path may be determined based on applying the physical property parameter as a value for determining the torque.” See at least col. 17, lines 33-49, wherein the parameters were received from the memory of the end effector (See at least col. 16, lines 9-36))
and the robot controller is configured to create a work program that defines the end effector operation, based on the control information, (“the control commands engine 124 may determine a path of the end effector based on an action location parameter. For example, the control commands stored in memory 128 may define that the end effector is to traverse a path to position the reference point of the end effector at a particular location at the end of the path. The control commands engine 124 may include a path planner that determines a path for the end effector based on the reference point defined by the action location parameter, so that the reference point of the end effector is at the particular location at the end of the path. As another example of generating a control command based on a physical property parameter, control commands engine 124 may determine a path of an end effector based on geometric dimensions of a gripper end effector based on a “closed” state of the gripper end effector. As yet another example of generating a control command based on a physical property parameter, control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector.” See at least col. 17, lines 6-41; “The control commands engine 124 provides the generated control commands to actuators 126 and/or other operational components to control the robot 120.” See at least col 16, lines 47-50)
Jules does not explicitly teach, but Kilibarda teaches
save the work program in the memory of the end effector (““smart” end effector 10, control unit 110 includes … memory storage device which may include read only memory (ROM) and random access memory (RAM) for storage of data or executable instructions.” See at least [0044]; “the end effector control unit 110 can receive signals and instructions from a central control unit (not shown) through hard wire or known wireless communication protocols for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16. These programmable instructions stored in the flexible end effector control unit 110 can be manually programmed/stored in the control unit 110.” See at least [0049])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Jules to further include the teachings of Kilibarda with a reasonable expectation of success for a more “adaptable or flexible robot end effector” (See at least [0007] and [0010]) and “for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16” (See at least [0049]).
Regarding Claim 2,
Jules further teaches
wherein the robot controller is configured to obtain the control information from the memory if the end effector is attached to the robot. (“control commands engine 124 of robot 120 receives parameters from end effector 150B. For example, the memory 152B of end effector 150B may store the parameters and control commands engine 124 may access the memory 152B via a wired data connection between the robot 120 and the end effector 150B after the end effector 150B is attached to the end effector attachment area 122.” See at least col. 16, lines 1-8)
Regarding Claim 5,
Jules further teaches
wherein: the work program further defines the robot operation, and the robot controller is configured to cause the robot to perform the robot operation and cause the end effector to perform the end effector operation by executing the work program obtained from the memory. (“the control commands engine 124 may determine a path of the end effector based on an action location parameter. For example, the control commands stored in memory 128 may define that the end effector is to traverse a path to position the reference point of the end effector at a particular location at the end of the path. The control commands engine 124 may include a path planner that determines a path for the end effector based on the reference point defined by the action location parameter, so that the reference point of the end effector is at the particular location at the end of the path. As another example of generating a control command based on a physical property parameter, control commands engine 124 may determine a path of an end effector based on geometric dimensions of a gripper end effector based on a “closed” state of the gripper end effector. As yet another example of generating a control command based on a physical property parameter, control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector.” See at least col. 17, lines 6-41; “The control commands engine 124 provides the generated control commands to actuators 126 and/or other operational components to control the robot 120.” See at least col 16, lines 47-50)
Regarding Claim 6,
Jules further teaches
wherein the end effector further includes a data acquirer configured to obtain data on work and an arithmetic processor configured to perform a predetermined signal processing on the data obtained by the data acquirer. (“The end effector 150A includes a controller 154A.” See at least col. 9, line 29 and fig. 1; “The controller 154A may optionally perform additional end effector related functions such as interpreting control commands received from the robot 120 and controlling one or more motors or other actuators of the end effector 150A based on the received control commands.” See at least col. 9, lines 53-58; Examiner Interpretation: The control commands are interpreted as data on work. The interpretation of the control commands and the corresponding control is the predetermined signal processing on the data.)
Regarding Claim 7,
Jules does not explicitly teach, but Kilibarda teaches
wherein: the data acquirer is a camera that is configured to obtain an image of the work, (“end effector 10 includes a camera or other vision system to image or otherwise detect and/or recognize component 14 before, during and after engagement with end effector 10 through fingers 80.” See at least [0071])
and the arithmetic processor is configured to perform an image processing on the image obtained by the camera. (“image data would be sent to the end effector control unit 110 for comparison to previously stored image data for a variety of components 14. For example, if the component 14 imaged and recognized is not the component end effector 10 is set or programmed to grasp, a warning or other alarm may be issued by control unit 110 to alert a broader control system or operator.” See at least [0071])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Jules to further include the teachings of Kilibarda with a reasonable expectation of success “so as to properly grasp and hold the imaged component 14 for secure and efficient assembly processing” (See at least [0072]), “to provide the necessary assurance that a part has been properly grasped” (See at least [0073]), and/or to “allow the end effector system 10 to alert a broader control system or an operator that a component is, for example, stuck or hung up on one or more fingers and attention is needed before the next assembly cycle” (See at least [0074]).
Regarding Claim 8,
Jules further teaches
wherein: the memory is configured to save display information for displaying a model of the end effector and a setting screen for setting an operation of the end effector, and the robot controller is configured to perform display on a display according to the display information obtained from the memory. (“The end effector 150A includes a controller 154A and memory 152A. The memory 152A stores parameters of the end effector 150A.” See at least col. 9, lines 29-31; “the robot 120 may receive the parameters … The robot 120 provides the parameters to robot programming application 116 along with an indication that the parameters are for an end effector attached to the robot 120. … The robot programming application 116 generates graphical user interface (GUI) output based on one or more of the received parameters and provides the output to display 112 for presentation to the user. For example, a “gripper” end effector may have defined action parameters of “pick up” and “drop off” and may also have one or more interaction object parameters that define weights, shapes, and/or materials of objects that can be acted upon by the gripper end effector. Based on those parameters, the robot programming application 116 may provide GUI output that enables “pick up” and/or “drop off” actions to be defined (to the exclusion of any other parameters) and only enables those actions to be defined with respect to interaction objects defined in the GUI that satisfy the interaction object parameters. In some implementations, the generated GUI output may also be based on programming input received from the input device(s) 114. For example, the GUI output that enables “pick up” and/or “drop off” actions to be defined may be provided in response to programming input indicating a user desire to define a new action. Programming input may include, for example, selection of one or more buttons or other graphical symbols via the GUI (e.g., via a mouse), typed input, spoken input, etc.” See at least col. 11, lines 10-44; “FIG. 4A illustrates a GUI with graphical depictions of a robot 420 with a gripper end effector 450 attached to the robot 420. … the graphical depiction of the end effector 450 may be generated based on a 3D model and/or other parameters received for the end effector 450 as described herein (e.g., based on one or more techniques described with respect to FIGS. 2A-2C).” See at least col. 14, lines 8-20)
Regarding Claim 10,
Jules further teaches
wherein: the control information includes an execution code representing an operation to be performed by the end effector, (“a “gripper” end effector may have defined action parameters of “pick up” and “drop off” and may also have one or more interaction object parameters that define weights, shapes, and/or materials of objects that can be acted upon by the gripper end effector.” See at least col. 11, lines 25-30)
and the robot controller is configured to cause the end effector to perform the operation represented by the execution code by transmitting the execution code to the end effector. (“The electrical connection(s) between the end effector attachment area 122 and a given end effector may include a power connection to provide power from the robot 120 to the end effector and/or one or more data connections to enable the robot to send control commands that dictate the state of the end effector and/or receive feedback or other data from the end effector. The control commands provided by the robot 120 to the given end effector over the data connection(s) may range from relatively simple commands (e.g., “open gripper” or “close gripper”) to more complex commands (e.g., “close gripper with X pounds of force until gripper sensor measures X pounds of resistance), depending on the complexity of the control commands and/or the end effector.” See at least col. 9, lines 5-18; “The controller 154A may optionally perform additional end effector related functions such as interpreting control commands received from the robot 120 and controlling one or more motors or other actuators of the end effector 150A based on the received control commands.” See at least col. 9, lines 53-58)
Regarding Claim 11,
Jules further teaches
wherein the execution code is described in an intermediate code. (“The controller 154A may optionally perform additional end effector related functions such as interpreting control commands received from the robot 120 and controlling one or more motors or other actuators of the end effector 150A based on the received control commands.” See at least col. 9, lines 53-58; Examiner Interpretation: The control commands are intermediate code because they are interpreted by the controller of the end effector.)
Regarding Claim 12,
Jules further teaches
wherein the execution code is described in an interpreter language. (“The control commands provided by the robot 120 to the given end effector over the data connection(s) may range from relatively simple commands (e.g., “open gripper” or “close gripper”) to more complex commands (e.g., “close gripper with X pounds of force until gripper sensor measures X pounds of resistance), depending on the complexity of the control commands and/or the end effector.” See at least col. 9, lines 5-18; “The controller 154A may optionally perform additional end effector related functions such as interpreting control commands received from the robot 120 and controlling one or more motors or other actuators of the end effector 150A based on the received control commands.” See at least col. 9, lines 53-58; Examiner Interpretation: The control commands are interpreted as an interpreter language because they are interpreted by the controller of the end effector.)
Regarding Claim 15,
Jules teaches
A robot device, comprising: a robot to which an end effector is configured to be detachably attached; (“The robot 120 of FIG. 1 also includes an end effector attachment area 122 that enables removable attachment of any one of multiple end effectors such as end effectors 150A-D of FIG. 1.” See at least col. 8, lines 59-62)
and a robot controller configured to control the robot and the end effector, (“The control commands engine 124 provides the generated control commands to actuators 126 and/or other operational components to control the robot 120.” See at least col 16, lines 47-50; “control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters.” See at least col. 17, lines 34-38)
wherein the end effector includes a memory configured to save control information used by the robot controller to control the end effector, (“The end effector 150B includes memory 152B that stores parameters of the end effector 150B. The robot 120 may access the memory 152B via a wired communication connection between the robot 120 and the end effector 150B after the end effector 150B is attached to the end effector attachment area 122. For example, robot 120 may access the memory 152B in response to detecting the end effector 150B has been attached and receive the parameters from the memory 152B. The robot 120 may utilize the parameters to generate control commands as described herein and/or may forward the parameters to the computing device 110 for use by the robot programming application 116 as described herein.” See at least col. 9, line 59 through col. 10, line 4, wherein the parameters of the end effector are control information.; “control commands engine 124 of robot 120 receives parameters from end effector 150B. For example, the memory 152B of end effector 150B may store the parameters and control commands engine 124 may access the memory 152B via a wired data connection between the robot 120 and the end effector 150B after the end effector 150B is attached to the end effector attachment area 122.” See at least col. 16, lines 1-8)
the robot controller is configured to control the end effector by the control information obtained from the memory, (“control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector. For instance, the torque needed at one or more points along the defined path, to drive a first end effector having a first inertia along the defined path at the defined speed may be vastly different than the torque needed to drive a second end effector having a second inertia along the defined path at the defined speed. In some of those implementations, the torque at any given point along the path may be determined based on applying the physical property parameter as a value for determining the torque.” See at least col. 17, lines 33-49, wherein the parameters were received from the memory of the end effector (See at least col. 16, lines 9-36))
the robot controller is configured to control the end effector by the control information obtained from the memory, the robot controller is configured to cause the robot and the end effector to perform a predetermined operation in cooperation, the operation includes a robot operation performed by the robot and an end effector operation performed by the end effector, the robot controller is configured to cause the end effector to perform the end effector operation by controlling the end effector based on the control information obtained from the memory, (“control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector. For instance, the torque needed at one or more points along the defined path, to drive a first end effector having a first inertia along the defined path at the defined speed may be vastly different than the torque needed to drive a second end effector having a second inertia along the defined path at the defined speed. In some of those implementations, the torque at any given point along the path may be determined based on applying the physical property parameter as a value for determining the torque.” See at least col. 17, lines 33-49, wherein the parameters were received from the memory of the end effector (See at least col. 16, lines 9-36))
and the robot controller is configured to create a work program that defines the end effector operation, based on the control information, (“the control commands engine 124 may determine a path of the end effector based on an action location parameter. For example, the control commands stored in memory 128 may define that the end effector is to traverse a path to position the reference point of the end effector at a particular location at the end of the path. The control commands engine 124 may include a path planner that determines a path for the end effector based on the reference point defined by the action location parameter, so that the reference point of the end effector is at the particular location at the end of the path. As another example of generating a control command based on a physical property parameter, control commands engine 124 may determine a path of an end effector based on geometric dimensions of a gripper end effector based on a “closed” state of the gripper end effector. As yet another example of generating a control command based on a physical property parameter, control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector.” See at least col. 17, lines 6-41; “The control commands engine 124 provides the generated control commands to actuators 126 and/or other operational components to control the robot 120.” See at least col 16, lines 47-50)
Jules does not explicitly teach, but Kilibarda teaches
save the work program in the memory of the end effector (““smart” end effector 10, control unit 110 includes … memory storage device which may include read only memory (ROM) and random access memory (RAM) for storage of data or executable instructions.” See at least [0044]; “the end effector control unit 110 can receive signals and instructions from a central control unit (not shown) through hard wire or known wireless communication protocols for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16. These programmable instructions stored in the flexible end effector control unit 110 can be manually programmed/stored in the control unit 110.” See at least [0049])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Jules to further include the teachings of Kilibarda with a reasonable expectation of success for a more “adaptable or flexible robot end effector” (See at least [0007] and [0010]) and “for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16” (See at least [0049]).
Regarding Claim 16,
Jules teaches
A robot controller for controlling a robot and an end effector to be detachably attached to the robot, comprising: a controller configured to control the robot and the end effector, (“The robot 120 of FIG. 1 also includes an end effector attachment area 122 that enables removable attachment of any one of multiple end effectors such as end effectors 150A-D of FIG. 1.” See at least col. 8, lines 59-62; “The control commands engine 124 provides the generated control commands to actuators 126 and/or other operational components to control the robot 120.” See at least col 16, lines 47-50; “control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters.” See at least col. 17, lines 34-38)
wherein the end effector includes a memory configured to save control information used by the robot controller to control the end effector, (“The end effector 150B includes memory 152B that stores parameters of the end effector 150B. The robot 120 may access the memory 152B via a wired communication connection between the robot 120 and the end effector 150B after the end effector 150B is attached to the end effector attachment area 122. For example, robot 120 may access the memory 152B in response to detecting the end effector 150B has been attached and receive the parameters from the memory 152B. The robot 120 may utilize the parameters to generate control commands as described herein and/or may forward the parameters to the computing device 110 for use by the robot programming application 116 as described herein.” See at least col. 9, line 59 through col. 10, line 4, wherein the parameters of the end effector are control information.; “control commands engine 124 of robot 120 receives parameters from end effector 150B. For example, the memory 152B of end effector 150B may store the parameters and control commands engine 124 may access the memory 152B via a wired data connection between the robot 120 and the end effector 150B after the end effector 150B is attached to the end effector attachment area 122.” See at least col. 16, lines 1-8)
the controller is configured to control the end effector by the control information obtained from the memory, (“control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector. For instance, the torque needed at one or more points along the defined path, to drive a first end effector having a first inertia along the defined path at the defined speed may be vastly different than the torque needed to drive a second end effector having a second inertia along the defined path at the defined speed. In some of those implementations, the torque at any given point along the path may be determined based on applying the physical property parameter as a value for determining the torque.” See at least col. 17, lines 33-49, wherein the parameters were received from the memory of the end effector (See at least col. 16, lines 9-36))
the robot controller is configured to control the end effector by the control information obtained from the memory, the robot controller is configured to cause the robot and the end effector to perform a predetermined operation in cooperation, the operation includes a robot operation performed by the robot and an end effector operation performed by the end effector, the robot controller is configured to cause the end effector to perform the end effector operation by controlling the end effector based on the control information obtained from the memory, (“control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector. For instance, the torque needed at one or more points along the defined path, to drive a first end effector having a first inertia along the defined path at the defined speed may be vastly different than the torque needed to drive a second end effector having a second inertia along the defined path at the defined speed. In some of those implementations, the torque at any given point along the path may be determined based on applying the physical property parameter as a value for determining the torque.” See at least col. 17, lines 33-49, wherein the parameters were received from the memory of the end effector (See at least col. 16, lines 9-36))
and the robot controller is configured to create a work program that defines the end effector operation, based on the control information, (“the control commands engine 124 may determine a path of the end effector based on an action location parameter. For example, the control commands stored in memory 128 may define that the end effector is to traverse a path to position the reference point of the end effector at a particular location at the end of the path. The control commands engine 124 may include a path planner that determines a path for the end effector based on the reference point defined by the action location parameter, so that the reference point of the end effector is at the particular location at the end of the path. As another example of generating a control command based on a physical property parameter, control commands engine 124 may determine a path of an end effector based on geometric dimensions of a gripper end effector based on a “closed” state of the gripper end effector. As yet another example of generating a control command based on a physical property parameter, control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector.” See at least col. 17, lines 6-41; “The control commands engine 124 provides the generated control commands to actuators 126 and/or other operational components to control the robot 120.” See at least col 16, lines 47-50)
Jules does not explicitly teach, but Kilibarda teaches
save the work program in the memory of the end effector (““smart” end effector 10, control unit 110 includes … memory storage device which may include read only memory (ROM) and random access memory (RAM) for storage of data or executable instructions.” See at least [0044]; “the end effector control unit 110 can receive signals and instructions from a central control unit (not shown) through hard wire or known wireless communication protocols for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16. These programmable instructions stored in the flexible end effector control unit 110 can be manually programmed/stored in the control unit 110.” See at least [0049])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Jules to further include the teachings of Kilibarda with a reasonable expectation of success for a more “adaptable or flexible robot end effector” (See at least [0007] and [0010]) and “for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16” (See at least [0049]).
Regarding Claim 17,
Jules teaches
An end effector to be detachably attached to a robot, (“The robot 120 of FIG. 1 also includes an end effector attachment area 122 that enables removable attachment of any one of multiple end effectors such as end effectors 150A-D of FIG. 1.” See at least col. 8, lines 59-62)
comprising: a memory configured to save control information used by a robot controller to control the end effector, (“The end effector 150B includes memory 152B that stores parameters of the end effector 150B. The robot 120 may access the memory 152B via a wired communication connection between the robot 120 and the end effector 150B after the end effector 150B is attached to the end effector attachment area 122. For example, robot 120 may access the memory 152B in response to detecting the end effector 150B has been attached and receive the parameters from the memory 152B. The robot 120 may utilize the parameters to generate control commands as described herein and/or may forward the parameters to the computing device 110 for use by the robot programming application 116 as described herein.” See at least col. 9, line 59 through col. 10, line 4, wherein the parameters of the end effector are control information.; “control commands engine 124 of robot 120 receives parameters from end effector 150B. For example, the memory 152B of end effector 150B may store the parameters and control commands engine 124 may access the memory 152B via a wired data connection between the robot 120 and the end effector 150B after the end effector 150B is attached to the end effector attachment area 122.” See at least col. 16, lines 1-8)
wherein the robot controller is configured to control the end effector by the control information obtained from the memory, the robot controller is configured to cause the robot and the end effector to perform a predetermined operation in cooperation, the operation includes a robot operation performed by the robot and an end effector operation performed by the end effector, the robot controller is configured to cause the end effector to perform the end effector operation by controlling the end effector based on the control information obtained from the memory, (“control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector. For instance, the torque needed at one or more points along the defined path, to drive a first end effector having a first inertia along the defined path at the defined speed may be vastly different than the torque needed to drive a second end effector having a second inertia along the defined path at the defined speed. In some of those implementations, the torque at any given point along the path may be determined based on applying the physical property parameter as a value for determining the torque.” See at least col. 17, lines 33-49, wherein the parameters were received from the memory of the end effector (See at least col. 16, lines 9-36))
and the robot controller is configured to create a work program that defines the end effector operation, based on the control information, (“the control commands engine 124 may determine a path of the end effector based on an action location parameter. For example, the control commands stored in memory 128 may define that the end effector is to traverse a path to position the reference point of the end effector at a particular location at the end of the path. The control commands engine 124 may include a path planner that determines a path for the end effector based on the reference point defined by the action location parameter, so that the reference point of the end effector is at the particular location at the end of the path. As another example of generating a control command based on a physical property parameter, control commands engine 124 may determine a path of an end effector based on geometric dimensions of a gripper end effector based on a “closed” state of the gripper end effector. As yet another example of generating a control command based on a physical property parameter, control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector.” See at least col. 17, lines 6-41; “The control commands engine 124 provides the generated control commands to actuators 126 and/or other operational components to control the robot 120.” See at least col 16, lines 47-50)
Jules does not explicitly teach, but Kilibarda teaches
save the work program in the memory of the end effector (““smart” end effector 10, control unit 110 includes … memory storage device which may include read only memory (ROM) and random access memory (RAM) for storage of data or executable instructions.” See at least [0044]; “the end effector control unit 110 can receive signals and instructions from a central control unit (not shown) through hard wire or known wireless communication protocols for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16. These programmable instructions stored in the flexible end effector control unit 110 can be manually programmed/stored in the control unit 110.” See at least [0049])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Jules to further include the teachings of Kilibarda with a reasonable expectation of success for a more “adaptable or flexible robot end effector” (See at least [0007] and [0010]) and “for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16” (See at least [0049]).
Regarding Claim 18,
Jules teaches
An end effector control method, (“methods and apparatus that adapt programming of a robot and/or control of the robot based on received parameters of an end effector attached (or to be attached) to the robot.” See at least col. 1, lines 22-25)
comprising: obtaining control information used to control an end effector from a memory provided in the end effector by a robot controller; (“control commands engine 124 of robot 120 receives parameters from end effector 150B. For example, the memory 152B of end effector 150B may store the parameters and control commands engine 124 may access the memory 152B via a wired data connection between the robot 120 and the end effector 150B after the end effector 150B is attached to the end effector attachment area 122.” See at least col. 16, lines 1-8)
and controlling the end effector by the control information obtained from the memory by the robot controller, (“control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector. For instance, the torque needed at one or more points along the defined path, to drive a first end effector having a first inertia along the defined path at the defined speed may be vastly different than the torque needed to drive a second end effector having a second inertia along the defined path at the defined speed. In some of those implementations, the torque at any given point along the path may be determined based on applying the physical property parameter as a value for determining the torque.” See at least col. 17, lines 33-49, wherein the parameters were received from the memory of the end effector (See at least col. 16, lines 9-36))
wherein the robot controller is configured to control the end effector by the control information obtained from the memory, the robot controller is configured to cause the robot and the end effector to perform a predetermined operation in cooperation, the operation includes a robot operation performed by the robot and an end effector operation performed by the end effector, the robot controller is configured to cause the end effector to perform the end effector operation by controlling the end effector based on the control information obtained from the memory, (“control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector. For instance, the torque needed at one or more points along the defined path, to drive a first end effector having a first inertia along the defined path at the defined speed may be vastly different than the torque needed to drive a second end effector having a second inertia along the defined path at the defined speed. In some of those implementations, the torque at any given point along the path may be determined based on applying the physical property parameter as a value for determining the torque.” See at least col. 17, lines 33-49, wherein the parameters were received from the memory of the end effector (See at least col. 16, lines 9-36))
and the robot controller is configured to create a work program that defines the end effector operation, based on the control information, (“the control commands engine 124 may determine a path of the end effector based on an action location parameter. For example, the control commands stored in memory 128 may define that the end effector is to traverse a path to position the reference point of the end effector at a particular location at the end of the path. The control commands engine 124 may include a path planner that determines a path for the end effector based on the reference point defined by the action location parameter, so that the reference point of the end effector is at the particular location at the end of the path. As another example of generating a control command based on a physical property parameter, control commands engine 124 may determine a path of an end effector based on geometric dimensions of a gripper end effector based on a “closed” state of the gripper end effector. As yet another example of generating a control command based on a physical property parameter, control commands engine 124 may determine control commands to provide to one or more actuators of the robot to traverse the end effector along a defined path a at a defined speed, in view of one or more of the physical property parameters. For example, the control commands engine 124 may determine the control commands in view of an inertia parameter of the end effector.” See at least col. 17, lines 6-41; “The control commands engine 124 provides the generated control commands to actuators 126 and/or other operational components to control the robot 120.” See at least col 16, lines 47-50)
Jules does not explicitly teach, but Kilibarda teaches
save the work program in the memory of the end effector (““smart” end effector 10, control unit 110 includes … memory storage device which may include read only memory (ROM) and random access memory (RAM) for storage of data or executable instructions.” See at least [0044]; “the end effector control unit 110 can receive signals and instructions from a central control unit (not shown) through hard wire or known wireless communication protocols for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16. These programmable instructions stored in the flexible end effector control unit 110 can be manually programmed/stored in the control unit 110.” See at least [0049])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Jules to further include the teachings of Kilibarda with a reasonable expectation of success for a more “adaptable or flexible robot end effector” (See at least [0007] and [0010]) and “for more dynamic and rapid changeover to an assembly line or re-tasking of the robot 16” (See at least [0049]).
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Jules (IDS: US 9687982 B1) in view of Kilibarda (US 20170173789 A1) and Quinn (US 20110224842 A1).
Regarding Claim 9,
Modified Jules does not explicitly teach, but Quinn teaches
wherein the display information is described in an HTML (HyperText Markup Language). (“The rendering engine 52 is used to receive the data signals in the markup language and the style sheet language format and displays the data signals on the display monitor 20 as a graphical user interface (GUI). The rendering engine 52 receives data signals from the vehicle module 24 as well as the memory 56 of the client module 22, where the memory 56 includes localized markup language files. For example, in one embodiment the memory 56 includes several HTML files.” See at least [0033])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Jules to further include the teachings of Quinn with a reasonable expectation of success because it is “preferable to use HTML in some types of applications in an effort to reduce development time, as HTML is an industry standard language.” (See at least [0031])
Allowable Subject Matter
Claims 13 and 14 are allowed.
Reasons for Allowance
The following is an examiner’s statement of reasons for allowance: The relevant prior art evaluated separately and in combination, do not disclose the entirety of the limitations of the independent claims 13 and 14 since the particular communication techniques used by the robot controller to use the memory of the end effector as a storage as disclosed by the applicant in combination with the entire claim is not taught. The closest prior art found is Brik (US 20230013550 A1) as it discloses communicating data received from an end effector memory to a robot controller by a wired connection, for example USB or Ethernet. Though, Brik does not teach the different end points of the USB or different ports of the LAN used for different communication purposes between the robot controller and end effector and does not disclose all of the claim limitations of any of the claims on its own or in combination with other relevant art.
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
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Brik (US 20230013550 A1) is pertinent because it discusses communicating data received from an end effector memory to a robot controller by a wired connection, for example USB or Ethernet.
Nabeshima (Translated WO 2021132107 A1) is pertinent because it discusses a robot arm to which an end effector can be attached and acquiring identifying information from the end effector to update a robot model which is used to control at least the arm. Nabeshima also discloses a USB connection between robot parts and LAN communication.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Karston G Evans whose telephone number is (571)272-8480. The examiner can normally be reached Mon-Fri 9:00-5:00.
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, Abby Lin can be reached at (571)270-3976. 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.
/KARSTON G. EVANS/Examiner, Art Unit 3657