DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Objections
Claim 13 is objected to because of the following informalities:
Claim 13 appears to contain a typographical error, and should read as follows:
The robot control module of claim 1, wherein:
the robot body carries the at least one sensor, the at least one processor, and the at least one non-transitory processor-readable storage medium;
and the processor-executable instructions or data which cause the processor-based system to capture the sensor data, access the object model, access the touch heatmap, and control the at least one end effector, are executed at the robot body.
Appropriate correction is required.
Specification
The disclosure is objected to because of the following informalities: Paragraph [0024] appears to contain a typographical error similar to the one found in claim 13, and should read as follows:
[0024]The robot body may carry the at least one sensor, the at least one processor, and the at least one non-transitory processor-readable storage medium; and the processor-executable instructions or data which cause the processor-based system to capture the sensor data, access the object model, access the touch heatmap, and control the at least one end effector, may be executed at the robot body.
Appropriate correction is required.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-12, 14-15 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-12, 14-15 of copending Application No. 18/799719 in view of Lian (US-20220402128-A1).
Claims 1-12, 14-15 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-12 and 14 of copending Application No. 18/799726.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented. The accompanying tables below show the similarities and differences (bolded, where applicable) between the instant application and the copending applications.
Although conflicting claims are not identical, they are not patentably distinct from each other because removing inherent and/or unnecessary limitation(s)/step(s) or adding an element and its function would be within the level of one of ordinary skill in the art. It is well settled that the adding or deleting of an element and its function(s) in the claim of the present application are an obvious expedient if the remaining elements perform the same function as before. In re Karlson, 136 USPQ 184 (CCPA 1963). Also note Ex parte Rainu, 168 USPQ 375 (Bd. App. 1969). Omission of a referenced element or step whose function is not needed would be obvious to one of ordinary skill in the art. Examiner further notes wherein although the claims are not identical (slightly broader), they are commensurate in scope to the claim limitations provided in the issued U.S. Patent, and likewise would anticipate the currently provided claim limitations.
Table 1: comparison of claims in instant application vs co-pending application no 18/799719
instant application (18/799731)
18/799719
Statement of Obviousness
claim no.
limitation
claim no
limitation
1
A robot control module comprising
1
A robot system comprising: a robot body having at least one end effector;
In light of Lian, it is known to aggregate heatmaps for access (access from a library), and one of ordinary skill in the art would recognize that in order to access a heatmap, it must be derived or retrieved from a source.
at least one non-transitory processor-readable storage medium storing
a library of object models,
...access, in a library of object models,
a library of touch heatmaps associated with the library of object models,
and processor-executable instructions or data that, when executed by at least one processor of a processor-based system, cause the processor-based system to:
a robot controller including at least one processor and at least one non-transitory processor-readable storage medium storing processor-executable instructions which, when executed by the at least one processor, cause the robot system to:
capture, by at least one sensor carried by a robot body of the processor-based system, sensor data including a representation of an object;
at least one sensor; … capture, by the at least one sensor, sensor data including a representation of an object;
access, in the library of object models, an object model representation of the object based on the sensor data;
access, in a library of object models, an object model representation of the object based on the sensor data;
access, in the library of touch heatmaps, a touch heatmap associated with the object model, the touch heatmap indictive of at least one touch region of the object model;
access a touch heatmap associated with the object model, the touch heatmap indictive of at least one touch region of the object model;
and control, by the at least one processor, the at least one end effector to grasp the object based on the at least one touch region of the object model.
and control, by the robot controller, the at least one end effector to grasp the object based on the at least one touch region of the object model.
2
The robot control module of claim 1, wherein:
2
The robot system of claim 1, wherein:
Controller and processor are effectively interchangeable and serve the same purpose
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives;
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives;
the processor-executable instructions or data further cause the at least one processor to access a first grasp primitive from the library of grasp primitives;
the processor-executable instructions further cause the at least one processor to access a first grasp primitive from the library of grasp primitives;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object further cause the at least one processor to control the at least one end effector to grasp the object in accordance with the first grasp primitive.
and the processor-executable instructions which cause the robot controller to control the at least one end effector to grasp the object further cause the robot controller to control the at least one end effector to grasp the object in accordance with the first grasp primitive.
3
3. The robot control module of claim 2, wherein the touch heatmap is further indicative of at least one grasp primitive including the first grasp primitive for grasping the object model at the at least one touch region.
3
3. The robot control module of claim 2, wherein the touch heatmap is further indicative of at least one grasp primitive including the first grasp primitive for grasping the object model at the at least one touch region.
4
The robot control module of claim 2, wherein the processor-executable instructions or data further cause the at least one processor to select the first grasp primitive from the library of grasp primitives based on the touch heatmap.
4
The robot system of claim 2, wherein the processor-executable instructions further cause the robot controller to select the first grasp primitive from the library of grasp primitives based on the touch heatmap.
5
wherein: the touch heatmap is indicative of a plurality of touch regions of the object model;
5
wherein: the touch heatmap is indicative of a plurality of touch regions of the object model;
the processor-executable instructions or data further cause the at least one processor to select a subset of touch regions from the plurality of touch regions;
the processor-executable instructions further cause the robot controller to select a subset of touch regions from the plurality of touch regions;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object cause the at least one processor to control the at least one end effector to grasp the object based on the subset of touch regions.
and the processor-executable instructions which cause the robot controller to control the at least one end effector to grasp the object cause the robot controller to control the at least one end effector to grasp the object based on the subset of touch regions.
6
The robot control module of claim 5,
6
The robot system of claim 5,
wherein: the processor-executable instructions or data further cause the at least one processor to
wherein: the processor-executable instructions further cause the robot controller to
access a work objective of the processor-based system
access a work objective of the robot system;
and the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on the work objective of the processor-based system.
and the processor-executable instructions which cause the robot controller to select the subset of touch regions cause the robot controller to select the subset of touch regions based on the work objective of the robot system.
7
The robot control module of claim 5,
7
The robot system of claim 5,
wherein the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on proximity of the subset of touch regions at the object to the robot body or to the at least one end effector.
wherein the processor-executable instructions which cause the robot controller to select the subset of touch regions cause the robot controller to select the subset of touch regions based on proximity of the subset of touch regions at the object to the robot body or to the at least one end effector.
8
The robot control module of claim 5, wherein:
8
The robot system of claim 5, wherein:
the touch heatmap is indicative of frequency of touch at each touch region in the plurality of touch regions;
the touch heatmap is indicative of frequency of touch at each touch region in the plurality of touch regions;
and the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on frequency of touch as indicated in the touch heatmap.
and the processor-executable instructions which cause the robot controller to select the subset of touch regions cause the robot controller to select the subset of touch regions based on frequency of touch as indicated in the touch heatmap.
9
The robot control module of claim 5, wherein:
9
The robot system of claim 5, wherein:
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
and the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on the subset of touch regions being graspable in accordance with at least one grasp primitive in the library of grasp primitives.
and the processor-executable instructions which cause the robot controller to select the subset of touch regions cause the robot controller to select the subset of touch regions based on the subset of touch regions being graspable in accordance with at least one grasp primitive in the library of grasp primitives.
10
The robot control module of claim 5, wherein:
10
The robot system of claim 5, wherein:
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
the processor-executable instructions or data further cause the at least one processor to select a first grasp primitive of the library of grasp primitives capable of grasping the object in accordance with the subset of touch regions;
the processor-executable instructions further cause the robot controller to select a first grasp primitive of the library of grasp primitives capable of grasping the object in accordance with the subset of touch regions;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object based on the subset of touch regions further cause the at least one processor to grasp the object in accordance with the first grasp primitive.
and the processor-executable instructions which cause the robot controller to control the at least one end effector to grasp the object based on the subset of touch regions further cause the robot controller to grasp the object in accordance with the first grasp primitive.
11
The robot control module of claim 1, wherein:
11
The robot system of claim 1, wherein:
the at least one end effector includes a first end effector and a second end effector;
the at least one end effector includes a first end effector and a second end effector;
the touch heatmap is indicative of a plurality of touch regions of the object model;
the touch heatmap is indicative of a plurality of touch regions of the object model;
the processor-executable instructions or data further cause the at least one processor to select a first subset of touch regions and a second subset of touch regions from the plurality of touch regions;
the processor-executable instructions further cause the robot controller to select a first subset of touch regions and a second subset of touch regions from the plurality of touch regions;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object cause the at least one processor to control the first end effector to grasp the object in accordance with the first subset of touch regions and to control the second end effector to grasp the object in accordance with the second subset of touch regions.
and the processor-executable instructions which cause the robot controller to control the at least one end effector to grasp the object cause the robot controller to control the first end effector to grasp the object in accordance with the first subset of touch regions and to control the second end effector to grasp the object in accordance with the second subset of touch regions.
12
The robot control module of claim 1, wherein the touch heatmap is stored as metadata associated with the object model.
12
The robot control module of claim 1, wherein the touch heatmap is stored as metadata associated with the object model.
14
The robot control module of claim 1, wherein:
14
The robot system of claim 1, further comprising
the robot body carries the at least one sensor;
… wherein: the robot body carries the at least one sensor;
a remote device remote from the robot body includes the at least one processor;
a remote device remote from the robot body, and a communication interface which communicatively couples the remote device and the robot body, the remote device includes the robot controller; the processor-executable instructions further cause the communication interface to transmit the sensor data from the robot body to the remote device;
the processor-executable instructions or data further cause the processor-based system to transmit, by a communication interface between the robot body and the remote device, the sensor data from the robot body to the remote device;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector cause the at least one processor to prepare and send control instructions to the robot body via the communication interface.
and the processor-executable instructions which cause the robot controller to control the at least one end effector cause the robot controller to prepare and send control instructions to the robot body via the communication interface.
15
The robot control module of claim 1, wherein:
15
The robot system of claim 1, further comprising
the robot body carries the at least one sensor, a first processor of the at least one processor, and a first non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
… wherein: the robot body carries the at least one sensor, a first processor of the at least one processor, and a first non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
the remote device includes a second processor of the at least one processor, and a second non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
… a remote device remote from the robot body, and a communication interface which communicatively couples the remote device and the robot body,
the remote device includes a second processor of the at least one processor, and a second non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
the processor-executable instructions or data include first processor-executable instructions or data stored at the first non-transitory processor-readable storage medium that when executed cause the robot system to:
the processor-executable instructions include first processor-executable instructions stored at the first non-transitory processor-readable storage medium that when executed cause the robot system to:
capture the sensor data by the at least one sensor;
capture the sensor data by the at least one sensor;
transmit, via a communication interface between the robot body and the remote device, the sensor data from the robot body to the remote device;
transmit, via the communication interface, the sensor data from the robot body to the remote device;
and control, by the first at least one processor, the at least one end effector to grasp the object;
and control, by the first at least one processor, the at least one end effector to grasp the object;
and the processor-executable instructions or data include second processor-executable instructions or data stored at the second non-transitory processor-readable storage medium that when executed cause the robot system to:
and the processor-executable instructions include second processor-executable instructions stored at the second non-transitory processor-readable storage medium that when executed cause the robot system to:
access, from the second non-transitory processor-readable storage medium, the object model representation;
access, from the second non-transitory processor-readable storage medium, the object model representation;
access, from the second non-transitory processor-readable storage medium, the touch heatmap;
access, from the second non-transitory processor-readable storage medium, the touch heatmap;
and transmit, via the communication interface, data indicating the object model and the at least one touch region to the robot body.
and transmit, via the communication interface, data indicating the object model and the at least one touch region to the robot body.
Table 2: comparison of claims in instant application vs co-pending application 18/799726
instant application (18/799731)
18/799726
Statement of Obviousness
claim no.
limitation
claim no.
limitation
1
A robot control module comprising
1
a method for operating a robot system …
The claims recite substantially similar subject matter, the difference in the co-pending application being the claims are recited as a method.
at least one non-transitory processor-readable storage medium storing
a robot controller including at least one processor and at least one non-transitory processor-readable storage medium storing a library of object models and a library of associated touch heatmaps,
a library of object models,
a library of touch heatmaps associated with the library of object models,
and processor-executable instructions or data that, when executed by at least one processor of a processor-based system, cause the processor-based system to:
capture, by at least one sensor carried by a robot body of the processor-based system, sensor data including a representation of an object;
…robot system including a robot body, at least one sensor… capturing, by the at least one sensor, sensor data including a representation of an object;
access, in the library of object models, an object model representation of the object based on the sensor data;
accessing, by the robot controller in the library of object models, an object model representation of the object based on the sensor data;
access, in the library of touch heatmaps, a touch heatmap associated with the object model, the touch heatmap indictive of at least one touch region of the object model;
accessing, by the robot controller in the library of touch heatmaps, a touch heatmap associated with the object model, the touch heatmap indictive of at least one touch region of the object model;
and control, by the at least one processor, the at least one end effector to grasp the object based on the at least one touch region of the object model.
and controlling, by the robot controller, the at least one end effector to grasp the object based on the at least one touch region of the object model.
2
The robot control module of claim 1, wherein:
2
The method of claim 1, wherein:
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives;
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives;
the processor-executable instructions or data further cause the at least one processor to access a first grasp primitive from the library of grasp primitives;
the method further comprises accessing, by the robot controller, a first grasp primitive from the library of grasp primitives;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object further cause the at least one processor to control the at least one end effector to grasp the object in accordance with the first grasp primitive.
and controlling the end effector to grasp the object further comprises controlling the at least one end effector to grasp the object in accordance with the first grasp primitive.
3
3. The robot control module of claim 2, wherein the touch heatmap is further indicative of at least one grasp primitive including the first grasp primitive for grasping the object model at the at least one touch region.
3
3. The method of claim 2, wherein the touch heatmap is further indicative of at least one grasp primitive including the first grasp primitive for grasping the object model at the at least one touch region.
4
The robot control module of claim 2, wherein the processor-executable instructions or data further cause the at least one processor to select the first grasp primitive from the library of grasp primitives based on the touch heatmap.
4
4. The method of claim 2, further comprising selecting, by the robot controller, the first grasp primitive from the library of grasp primitives based on the touch heatmap.
5
wherein: the touch heatmap is indicative of a plurality of touch regions of the object model;
5
wherein: the touch heatmap is indicative of a plurality of touch regions of the object model;
the processor-executable instructions or data further cause the at least one processor to select a subset of touch regions from the plurality of touch regions;
the method further comprises selecting, by the robot controller, a subset of touch regions from the plurality of touch regions
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object cause the at least one processor to control the at least one end effector to grasp the object based on the subset of touch regions.
and controlling the at least one end effector to grasp the object comprises controlling the at least one end effector to grasp the object based on the subset of touch regions.
6
The robot control module of claim 5,
6
The method of claim 5, wherein:
wherein: the processor-executable instructions or data further cause the at least one processor to
the method further comprises accessing, by the robot controller, a work objective of the robot system;
access a work objective of the processor-based system
and the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on the work objective of the processor-based system.
and the processor-executable instructions which cause the robot controller to select the subset of touch regions cause the robot controller to select the subset of touch regions based on the work objective of the robot system.
7
The robot control module of claim 5,
7
The method of claim 5,
wherein the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on proximity of the subset of touch regions at the object to the robot body or to the at least one end effector.
wherein selecting the subset of touch regions comprises selecting the subset of touch regions based on proximity of the subset of touch regions at the object to the robot body or to the at least one end effector.
8
The robot control module of claim 5, wherein:
8
The method of claim 5, wherein:
the touch heatmap is indicative of frequency of touch at each touch region in the plurality of touch regions;
the touch heatmap is indicative of frequency of touch at each touch region in the plurality of touch regions;
and the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on frequency of touch as indicated in the touch heatmap.
and selecting the subset of touch regions comprises selecting the subset of touch regions based on frequency of touch as indicated in the touch heatmap.
9
The robot control module of claim 5, wherein:
9
The method of claim 5, wherein:
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector
and the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on the subset of touch regions being graspable in accordance with at least one grasp primitive in the library of grasp primitives.
and selecting the subset of touch regions comprises selecting the subset of touch regions based on the subset of touch regions being graspable in accordance with at least one grasp primitive in the library of grasp primitives.
10
The robot control module of claim 5, wherein:
10
The method of claim 5, wherein:
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
the processor-executable instructions or data further cause the at least one processor to select a first grasp primitive of the library of grasp primitives capable of grasping the object in accordance with the subset of touch regions;
the method further comprises selecting, by the robot controller, a first grasp primitive of the library of grasp primitives capable of grasping the object in accordance with the subset of touch regions;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object based on the subset of touch regions further cause the at least one processor to grasp the object in accordance with the first grasp primitive.
and controlling the at least one end effector to grasp the object based on the subset of touch regions comprises controlling the at least one end effector to grasp the object the object in accordance with the first grasp primitive.
11
The robot control module of claim 1, wherein:
11
The method of claim 1, wherein:
the at least one end effector includes a first end effector and a second end effector;
the at least one end effector includes a first end effector and a second end effector;
the touch heatmap is indicative of a plurality of touch regions of the object model;
the touch heatmap is indicative of a plurality of touch regions of the object model;
the processor-executable instructions or data further cause the at least one processor to select a first subset of touch regions and a second subset of touch regions from the plurality of touch regions;
the method further comprises selecting, by the robot controller, a first subset of touch regions and a second subset of touch regions from the plurality of touch regions;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object cause the at least one processor to control the first end effector to grasp the object in accordance with the first subset of touch regions and to control the second end effector to grasp the object in accordance with the second subset of touch regions.
and controlling the at least one end effector to grasp the object comprises controlling the first end effector to grasp the object in accordance with the first subset of touch regions and to control the second end effector to grasp the object in accordance with the second subset of touch regions.
12
The robot control module of claim 1, wherein the touch heatmap is stored as metadata associated with the object model.
12
The method of claim 1, wherein accessing the touch heatmap comprises accessing metadata associated with the object model which represents the touch heatmap.
14
The robot control module of claim 1, wherein:
14
the robot body carries the at least one sensor;
...the robot body carries the at least one sensor…
a remote device remote from the robot body includes the at least one processor;
the robot system further comprises a remote device remote from the robot body, and a communication interface which communicatively couples the remote device and the robot body; … the remote device includes a second processor of the at least one processor, and a second non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
the processor-executable instructions or data further cause the processor-based system to transmit, by a communication interface between the robot body and the remote device, the sensor data from the robot body to the remote device;
the method further comprises transmitting, by the communication interface, the sensor data from the robot body to the remote device;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector cause the at least one processor to prepare and send control instructions to the robot body via the communication interface.
capturing the sensor data and controlling the at least one end effector are performed at the robot body;
15
The robot control module of claim 1, wherein:
14
The method of claim 1, wherein:
the robot body carries the at least one sensor, a first processor of the at least one processor, and a first non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
the robot body carries the at least one sensor, a first processor of the at least one processor, and a first non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
the remote device includes a second processor of the at least one processor, and a second non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
the remote device includes a second processor of the at least one processor, and a second non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
the processor-executable instructions or data include first processor-executable instructions or data stored at the first non-transitory processor-readable storage medium that when executed cause the robot system to:
capture the sensor data by the at least one sensor;
capturing the sensor data and controlling the at least one end effector are performed at the robot body;
transmit, via a communication interface between the robot body and the remote device, the sensor data from the robot body to the remote device;
the method further comprises transmitting, by the communication interface, the sensor data from the robot body to the remote device;
and control, by the first at least one processor, the at least one end effector to grasp the object;
capturing the sensor data and controlling the at least one end effector are performed at the robot body;
and the processor-executable instructions or data include second processor-executable instructions or data stored at the second non-transitory processor-readable storage medium that when executed cause the robot system to:
accessing the object model and accessing the touch heatmap are performed at the remote device;
access, from the second non-transitory processor-readable storage medium, the object model representation;
access, from the second non-transitory processor-readable storage medium, the touch heatmap;
and transmit, via the communication interface, data indicating the object model and the at least one touch region to the robot body.
and the method further comprises transmitting, by the communication interface, data indicating the object model and the at least one touch region from the remote device to the robot body.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-15 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 1 recites the limitation "the at least one end effector" in line 11. There is insufficient antecedent basis for this limitation in the claim. Because all other claims depend from claim 1, the other claims are also rejected under the same rationale.
Claim 15 recites the limitations “the robot system” (line 10) and “the remote device” (line 12). There is insufficient antecedent basis for this limitation in the claim.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-10 and 12-15 are rejected under 35 U.S.C. 103 as being unpatentable over Lian (US-20220402128-A1) in view of Stubbs (US-9694494).
Claim 1
Lian teaches
at least one non-transitory processor-readable storage medium storing
(Lian - [0052] Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.)
a library of object models,
(Lian - [0030] FIG. 2 illustrates an example framework 200. The framework 200 can include different functional subsystems that include category level prior learning 210, instance segmentation 220, knowledge transfer 230, and grasp candidates evaluation 240. These subsystems can be implemented by a system of one or more computers in one or more locations.
[0031] The category level prior learning 210 functional subsystem can include … multiple CAD models 215, multiple grasp codebooks 216, task-relevant contact experience 217, and multiple canonical models 218.)
a library of touch heatmaps associated with the library of object models,
(Lian - [0029] … Learnt grasping information 120 can include information from multiple sources, to include multiple canonical object category representations 122, multiple grasping area heatmaps 124, and a 6D grasp codebook 126. A canonical object category representation 122 is a spatial representation of the object category to which new objects 132 are compared for the purpose of grasping. The data from these various methods is combined and ranked, with the ideal grasp of object 132 passed to the workspace 130.)
EXAMINER NOTE: The heatmaps are used to inform grasping for each object, which indicates an association of the heat maps with the object models.
and processor-executable instructions or data that, when executed by at least one processor of a processor-based system, cause the processor-based system to:
EXAMINER NOTE: See [0052] cited above. Lian discusses processor-executable instructions.
Access, in the library of object models, an object model representation of the object … access, in the library of touch heatmaps, a touch heatmap associated with the object model, the touch heatmap indictive of at least one touch region of the object model;
(Lian - [0029] FIG. 1 illustrates an example system 100. This system 100 can include major functional areas to include 3D model simulation training 110, learnt grasping information 120, and the workspace 130 which includes at least one object 132 which can be assigned to an object category. … 3D model simulation training 110 with the select object category is used to generate data that informs the grasping information 120. Learnt grasping information 120 can include information from multiple sources, to include multiple canonical object category representations 122, multiple grasping area heatmaps 124, and a 6D grasp codebook 126. A canonical object category representation 122 is a spatial representation of the object category to which new objects 132 are compared for the purpose of grasping. The data from these various methods is combined and ranked, with the ideal grasp of object 132 passed to the workspace 130.)
PNG
media_image1.png
525
760
media_image1.png
Greyscale
and control, by the at least one processor, the at least one end effector to grasp the object based on the at least one touch region of the object model.
(Lian - [0049] After generating the task-specific, category-level grasping areas, the system can apply them to a newly seen instance of an object to perform the task. For example, the system can determine a correspondence between the new object and the canonical representation to generate task-specific, instance-specific grasping areas on the object. …
[0050] The system can then use these task-specific, instance-specific grasping areas to cause a physical robot to perform the task by manipulating the physical object. In other words, the system can cause a manipulator or an end effector of the robot to make contact with the object at one or more of the specified task-specific, instance-specific grasping areas.)
Lian is vague as to how real world objects are identified, but Stubbs teaches
capture, by at least one sensor carried by a robot body of the processor-based system, sensor data including a representation of an object;
access, in the library of object models, an object model representation of the object based on the sensor data;
(Stubbs - [col 5, ln 26-52] As introduced above, the manipulator system 206 may include the management device 212 in electrical and/or network communication with the robotic manipulator 110. The robotic manipulator 110 may include any suitable type and number of sensors disposed throughout the robotic manipulator 110 (e.g., sensors in the base, in the arm, in joints in the arm, in the end of arm tool 126, or in any other suitable location). The sensors can include sensors configured to detect pressure, force, weight, light, objects, slippage, and any other information that may be used to control and/or monitor the operation of the robotic manipulator 110, including the end of arm tool 126. The sensors may be in communication with the management device 212. In this manner, the management device 212 may control the operation of the robotic manipulator 110 and the end of arm tool 126 based at least in part on sensing information received from the sensors.
[col 7, ln 42-50] The item database 232 may be configured to retain information such as the item information 104 and other suitable information that identifies items. The information in the item database 232 may be organized in any suitable manner to enable access by components of the grasp management service 102 such as the grasp management engine 220. The item database 232 may include an entry for each inventory item that the grasp management service 102 may encounter.
[col 9, ln 31-43] The item identification module 302 may be configured to access information about items in the item database 232. … In some examples, the item identification module 302 receives sensing information captured by a robotic arm and identifies an item based on the sensing information. For example, a sensor may scan a barcode on the item and barcode information may be used by the item identification module 302 to identify the item.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the teachings of Lian and Stubbs in order to provide Lian's system with a known way of identifying objects, furthering Lian's automation goals mentioned in [0019] by eliminating the need for an operator to identify the item manually.
Claim 2
Lian and Stubbs teaches the limitations of claim 1 as outlined above. Lian further teaches
wherein: the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives;
(Lian - [0012] During offline training, grasp poses can be uniformly sampled from the point cloud of each object instance, covering the feasible grasp space around the object. For each grasp, the grasp quality can be evaluated in simulation.)
the processor-executable instructions or data further cause the at least one processor to access a first grasp primitive from the library of grasp primitives;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object further cause the at least one processor to control the at least one end effector to grasp the object in accordance with the first grasp primitive.
(Lian - [0043] The system evaluates each grasp according to the performance of the downstream task (440). The probability of a successful grasp and of successful task completion can be captured for each position 440.
[0046] The total probability of successful task completion following a successful grasp is then calculated for each position and the results and ranked by probability 450.
[0050] The system can then use these task-specific, instance-specific grasping areas to cause a physical robot to perform the task by manipulating the physical object. In other words, the system can cause a manipulator or an end effector of the robot to make contact with the object at one or more of the specified task-specific, instance-specific grasping areas.)
EXAMINER NOTE: A number of grasp poses (grasp primitives) are sampled and evaluated, and the object is grasped as a result of these analyses.
Claim 3
Lian and Stubbs teaches the limitations of claim 2 as outlined above. Lian further teaches
wherein the touch heatmap is further indicative of at least one grasp primitive including the first grasp primitive for grasping the object model at the at least one touch region.
(Lian - [0015] This system is designed to discover grasp affordance via self-interaction. In particular, the objective is to compute a probabilistic function that describes the relative merit of different grasping positions not only for a successful grasp but also the subsequent completion of a task.
[0016] To achieve these results, a dense 3D point-wise grasping area heatmap can be modeled. For each grasp in the codebook, a grasping process can first be simulated. The hand-object contact points can be identified by computing their signed distance with respect to the gripper mesh. If the grasp is stable, for example the object is lifted successfully against gravity, the count n(G) for all contacted points on the object can be increased by 1. … After all grasps are verified, for each point on the object point cloud, its task relevance can be computed. … Eventually, for each of the training objects within the category, the hand-object contact heatmap P(T|G) is transformed to the canonical model. The task-relevant heatmaps over all training instances are aggregated and averaged to be the final canonical model's task-relevance heatmap.)
EXAMINER NOTE: The heatmaps are generated based on the sampled grasps, and are therefore indicative of at least one grasp primitive.
Claim 4
Lian and Stubbs teaches the limitations of claim 2 as outlined above. Lian further teaches
wherein the processor-executable instructions or data further cause the at least one processor to select the first grasp primitive from the library of grasp primitives based on the touch heatmap.
(Lian - [0016] … Eventually, for each of the training objects within the category, the hand-object contact heatmap P(T|G) is transformed to the canonical model. The task-relevant heatmaps over all training instances are aggregated and averaged to be the final canonical model's task-relevance heatmap. During testing, due to the partial view of the object's segment, the antipodal contact points are identified between the system and the transformed canonical model. For each grasp candidate, the score P.sub.G(T|G) is computed and combined with the predicted P.sub.G(G) from the grasping network to compute the grasp's task-relevance score P.sub.G(T,G). The highest task-relevance score indicates the best grasp for the object for the given task.)
EXAMINER NOTE: The best grasp for the task is chosen based on the relevance score obtained from transforming the heat map to the model.
Claim 5
Lian and Stubbs teaches the limitations of claim 1 as outlined above. Lian further teaches
wherein: the touch heatmap is indicative of a plurality of touch regions of the object model;
(Lian - [0016] To achieve these results, a dense 3D point-wise grasping area heatmap can be modeled. For each grasp in the codebook, a grasping process can first be simulated. The hand-object contact points can be identified by computing their signed distance with respect to the gripper mesh. If the grasp is stable, for example the object is lifted successfully against gravity, the count n(G) for all contacted points on the object can be increased by 1.)
EXAMINER NOTE: During simulation, if a grasp is stable, the heatmap records the contact locations. In this way, the heatmap is representative of how frequently the locations are touched when performing a successful grasp. Because there are multiple contact points, there are multiple touch regions.
the processor-executable instructions or data further cause the at least one processor to select a subset of touch regions from the plurality of touch regions;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object cause the at least one processor to control the at least one end effector to grasp the object based on the subset of touch regions.
(Lian - [0016] … If the manipulator does not obstruct the placement, and if the object can steadily rest in the receptacle, the count of joint grasp and task success n(G,T) on the contact points can be increased by 1. After all grasps are verified, for each point on the object point cloud, its task relevance can be computed according to:
P(T|G)=n(G,T)/n(G)
… The highest task-relevance score indicates the best grasp for the object for the given task.)
EXAMINER NOTE: The relevance score is computed at each location based on the number of successful grasps, and is used to determine the best grasp for the task. The successful grasp locations (subset of touch regions) determine the relevance.
Claim 6
Lian and Stubbs teaches the limitations of claim 5 as outlined above. Lian further teaches
wherein: the processor-executable instructions or data further cause the at least one processor to access a work objective of the processor-based system;
and the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on the work objective of the processor-based system.
(Lian - [0019] In addition, the grasping areas are task-specific, meaning that they are optimized for performing a particular downstream task. For example, while holding a nut by inserting an end effector in the hole of the nut might provide a secure grasp generally, a downstream task of attaching the nut to a bolt is sure to fail if the hole is obstructed. Using the techniques described in this specification will cause the system to automatically learn that all instances in the category of nuts should be grasped on the sides and not in the hole for fastener tasks that require attaching the nut to a corresponding bolt. And the system can automatically learn different grasps for different tasks. Thus, if the task is simply picking up a nut and placing it into a receptacle, the system might automatically learn that a grasp that uses the hole is best.)
Claim 7
Lian and Stubbs teaches the limitations of claim 5 as outlined above. Lian further teaches
wherein the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on proximity of the subset of touch regions at the object to the robot body or to the at least one end effector.
(Lian - [0016] To achieve these results, a dense 3D point-wise grasping area heatmap can be modeled. For each grasp in the codebook, a grasping process can first be simulated. The hand-object contact points can be identified by computing their signed distance with respect to the gripper mesh. If the grasp is stable, for example the object is lifted successfully against gravity, the count n(G) for all contacted points on the object can be increased by 1. Otherwise, the grasp can be skipped. )
Claim 8
Lian and Stubbs teaches the limitations of claim 5 as outlined above. Lian further teaches
the touch heatmap is indicative of frequency of touch at each touch region in the plurality of touch regions;
(Lian - [0016] To achieve these results, a dense 3D point-wise grasping area heatmap can be modeled. For each grasp in the codebook, a grasping process can first be simulated. The hand-object contact points can be identified by computing their signed distance with respect to the gripper mesh. If the grasp is stable, for example the object is lifted successfully against gravity, the count n(G) for all contacted points on the object can be increased by 1.) Otherwise, the grasp can be skipped.
EXAMINER NOTE: During simulation, if a grasp is stable, the heatmap records the contact locations. In this way, the heatmap is representative of how frequently the locations are touched when performing a successful grasp.
and the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on frequency of touch as indicated in the touch heatmap.
(Lian - [0016] … If the manipulator does not obstruct the placement, and if the object can steadily rest in the receptacle, the count of joint grasp and task success n(G,T) on the contact points can be increased by 1. After all grasps are verified, for each point on the object point cloud, its task relevance can be computed according to:
P(T|G)=n(G,T)/n(G)
… The highest task-relevance score indicates the best grasp for the object for the given task.)
EXAMINER NOTE: The relevance score is computed based on the number of successful grasps (frequency of successful touch), and is used to determine the best grasp for the task.
Claim 9
Lian and Stubbs teaches the limitations of claim 5 as outlined above. Lian further teaches
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
(Lian - [0012] During offline training, grasp poses can be uniformly sampled from the point cloud of each object instance, covering the feasible grasp space around the object. For each grasp, the grasp quality can be evaluated in simulation.)
and the processor-executable instructions or data which cause the at least one processor to select the subset of touch regions cause the at least one processor to select the subset of touch regions based on the subset of touch regions being graspable in accordance with at least one grasp primitive in the library of grasp primitives.
(Lian - [0043] The system evaluates each grasp according to the performance of the downstream task (440). The probability of a successful grasp and of successful task completion can be captured for each position 440.
[0046] The total probability of successful task completion following a successful grasp is then calculated for each position and the results and ranked by probability 450. For example, the objective is to compute P(T|G)=P(T,G)/P(G) automatically for all graspable regions on the object. To achieve this, a dense 3D point-wise grasping area heatmap is modeled. For each grasp in the codebook, a grasping process is first simulated. The hand-object contact points are identified by computing their signed distance with respect to the gripper mesh. If it is a stable grasp, for example the object is lifted successfully against gravity, the count n(G) for all contacted points on the object are increased by a fixed interval, for example, one. … For these stable grasps, a placement process is simulated, for example placing the grasped object on a receptacle, to verify the task relevance. Collision is checked between the gripper and the receptacle during this process. If the gripper does not obstruct the placement and if the object can steadily rest in the receptacle, the count of joint grasp and task success n(G,T) on the contact points is increased by a fixed interval, for example, one. After all grasps are verified, for each point on the object point cloud, its task relevance can be computed as P(T|G)=n(G,T)/n(G).
[0048] … The highest success probability grasp can then be selected and used as the category-level grasping area.)
EXAMINER NOTE: Only successful (graspable) grasping locations are considered. Of the successful grasps, the one with the highest probability of success is chosen.
Claim 10
Lian and Stubbs teaches the limitations of claim 5 as outlined above. Lian further teaches
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
(Lian - [0012] During offline training, grasp poses can be uniformly sampled from the point cloud of each object instance, covering the feasible grasp space around the object. For each grasp, the grasp quality can be evaluated in simulation.)
the processor-executable instructions or data further cause the at least one processor to select a first grasp primitive of the library of grasp primitives capable of grasping the object in accordance with the subset of touch regions;
(Lian - [0043] The system evaluates each grasp according to the performance of the downstream task (440). The probability of a successful grasp and of successful task completion can be captured for each position 440.
[0046] The total probability of successful task completion following a successful grasp is then calculated for each position and the results and ranked by probability 450. For example, the objective is to compute P(T|G)=P(T,G)/P(G) automatically for all graspable regions on the object. To achieve this, a dense 3D point-wise grasping area heatmap is modeled. For each grasp in the codebook, a grasping process is first simulated. The hand-object contact points are identified by computing their signed distance with respect to the gripper mesh. If it is a stable grasp, for example the object is lifted successfully against gravity, the count n(G) for all contacted points on the object are increased by a fixed interval, for example, one. … For these stable grasps, a placement process is simulated, for example placing the grasped object on a receptacle, to verify the task relevance. Collision is checked between the gripper and the receptacle during this process. If the gripper does not obstruct the placement and if the object can steadily rest in the receptacle, the count of joint grasp and task success n(G,T) on the contact points is increased by a fixed interval, for example, one. After all grasps are verified, for each point on the object point cloud, its task relevance can be computed as P(T|G)=n(G,T)/n(G).
[0048] … The highest success probability grasp can then be selected and used as the category-level grasping area.)
EXAMINER NOTE: Only successful (graspable) grasping locations are considered. Of the successful grasps at each location, the one with the highest probability of success is chosen.
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object based on the subset of touch regions further cause the at least one processor to grasp the object in accordance with the first grasp primitive.
(Lian - [0050] The system can then use these task-specific, instance-specific grasping areas to cause a physical robot to perform the task by manipulating the physical object. In other words, the system can cause a manipulator or an end effector of the robot to make contact with the object at one or more of the specified task-specific, instance-specific grasping areas.)
Claim 12
Lian and Stubbs teaches the limitations of claim 1 as outlined above. Lian further teaches
wherein the touch heatmap is stored as metadata associated with the object model.
(Lian - [0016] … Eventually, for each of the training objects within the category, the hand-object contact heatmap P(T|G) is transformed to the canonical model. The task-relevant heatmaps over all training instances are aggregated and averaged to be the final canonical model's task-relevance heatmap. )
EXAMINER NOTE: The heatmap is stored with the model in association with a particular task.
Claim 13
Lian and Stubbs teaches the limitations of claim 1 as outlined above. As shown above, Stubbs teaches
the robot body carries the at least one sensor,
(Stubbs - [col 5, ln 26-52] (26) As introduced above, the manipulator system 206 may include the management device 212 in electrical and/or network communication with the robotic manipulator 110. The robotic manipulator 110 may include any suitable type and number of sensors disposed throughout the robotic manipulator 110 (e.g., sensors in the base, in the arm, in joints in the arm, in the end of arm tool 126, or in any other suitable location). The sensors can include sensors configured to detect pressure, force, weight, light, objects, slippage, and any other information that may be used to control and/or monitor the operation of the robotic manipulator 110, including the end of arm tool 126. The sensors may be in communication with the management device 212. In this manner, the management device 212 may control the operation of the robotic manipulator 110 and the end of arm tool 126 based at least in part on sensing information received from the sensors.)
The combination of Lian and Stubbs may not explicitly teach
the robot body carries … the at least one processor, and the at least one non-transitory processor-readable storage medium;
and the processor-executable instructions or data which cause the processor-based system to capture the sensor data, access the object mode, access the touch heatmap, and control the at least one end effector, are executed at the robot body.
While Stubbs may not explicitly teach the robot carrying a processor and storage, Stubbs does make clear that the manipulator system Fig. 1 includes a processor for executing instructions.
(Stubbs - [col 4, ln 28-41] (22) In order to expand the grasps 112 and/or to validate the grasps 112, the robotic manipulator 110 may be configured to receive the grasps 112 from the grasp management service 102 and attempt to execute the grasps 112, as illustrated by the arrow 116. … the grasp management service 102 may provide instructions to the robotic manipulator 110 regarding how to attempt to execute the grasps 112. For example, the instructions may include computer executable instructions that a processor associated with the robotic manipulator 110 can execute…)
With reference to Fig. 2, Stubbs shows management device 212 being included with the manipulator system, which presumably corresponds to the above processor
(Stubbs - [col 5, ln 16-18] The manipulator system 206 may include the robotic manipulator 110 and a management device 212.)
Stubbs goes on to discuss the breadth of the computing arrangements of the disclosed embodiments.
(Stubbs - [col 23, ln 17-21] The various embodiments further can be implemented in a wide variety of operating environments, which in some cases can include one or more user computers, computing devices or processing devices which can be used to operate any of a number of applications.
[col 23, ln 62 thru col 24, ln 5] The environment can include a variety of data stores and other memory and storage media as discussed above. These can reside in a variety of locations, such as on a storage medium local to (and/or resident in) one or more of the computers or remote from any or all of the computers across the network. In a particular set of embodiments, the information may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers, servers, or other network devices may be stored locally and/or remotely, as appropriate.
[col 24, ln 17-27] Such devices also can include a computer-readable storage media reader, a communications device (e.g., a modem, a network card (wireless or wired)), an infrared communication device, etc.), and working memory as described above. The computer-readable storage media reader can be connected with, or configured to receive, a computer-readable storage medium, representing remote, local, fixed, and/or removable storage devices as well as storage media for temporarily and/or more permanently containing, storing, transmitting, and retrieving computer-readable information.)
In light of Stubbs' teachings, it is apparent that the specific locations of the processing equipment and/or storage devices is arbitrary, and placing equipment in one location or another would yield the same results. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to locate the processor and storage carrying out the above instructions on the robot body. Stubbs illustrates that this is commonly known in the art, and one of ordinary skill would have reasonable expectation of success based on the success shown by Stubbs.
Claim 14
Lian and Stubbs teaches the limitations of claim 1 as outlined above. As shown above, Stubbs teaches
the robot body carries the at least one sensor;
(Stubbs - [col 5, ln 26-52] (26) As introduced above, the manipulator system 206 may include the management device 212 in electrical and/or network communication with the robotic manipulator 110. The robotic manipulator 110 may include any suitable type and number of sensors disposed throughout the robotic manipulator 110 (e.g., sensors in the base, in the arm, in joints in the arm, in the end of arm tool 126, or in any other suitable location). The sensors can include sensors configured to detect pressure, force, weight, light, objects, slippage, and any other information that may be used to control and/or monitor the operation of the robotic manipulator 110, including the end of arm tool 126. The sensors may be in communication with the management device 212. In this manner, the management device 212 may control the operation of the robotic manipulator 110 and the end of arm tool 126 based at least in part on sensing information received from the sensors.)
Lian is vague as to the locations of various computing arrangements. However, Stubbs further teaches
a remote device remote from the robot body includes the at least one processor;
the processor-executable instructions or data further cause the processor-based system to transmit, by a communication interface between the robot body and the remote device, the sensor data from the robot body to the remote device;
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector cause the at least one processor to prepare and send control instructions to the robot body via the communication interface.
(Stubbs - [col 4, ln 28-41] (22) In order to expand the grasps 112 and/or to validate the grasps 112, the robotic manipulator 110 may be configured to receive the grasps 112 from the grasp management service 102 and attempt to execute the grasps 112, as illustrated by the arrow 116. … the grasp management service 102 may provide instructions to the robotic manipulator 110 regarding how to attempt to execute the grasps 112. For example, the instructions may include computer executable instructions that a processor associated with the robotic manipulator 110 can execute…
[col 5, ln 7-13] (24) FIG. 2 illustrates an example architecture 200 for implementing techniques relating generating grasp sets and validating grasp sets as described herein. The architecture 200 may include the grasp management service 102 in communication with a user device 204 and a manipulator system 206 via one or more networks 208 …
[col 5, ln 47-52] The sensors may be in communication with the management device 212. In this manner, the management device 212 may control the operation of the robotic manipulator 110 and the end of arm tool 126 based at least in part on sensing information received from the sensors.
[col 6, ln 36-38] The grasp management service 102 may include at least one memory 214 and one or more processing units (or processor(s)) 216.)
EXAMINER NOTE: See also Fig. 2. The grasp management service includes the data store, which is stored in memory.
Stubbs goes on to discuss the breadth of the computing arrangements of the disclosed embodiments.
(Stubbs - [col 23, ln 17-21] The various embodiments further can be implemented in a wide variety of operating environments, which in some cases can include one or more user computers, computing devices or processing devices which can be used to operate any of a number of applications.
[col 23, ln 62 thru col 24, ln 5] The environment can include a variety of data stores and other memory and storage media as discussed above. These can reside in a variety of locations, such as on a storage medium local to (and/or resident in) one or more of the computers or remote from any or all of the computers across the network. In a particular set of embodiments, the information may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers, servers, or other network devices may be stored locally and/or remotely, as appropriate.
[col 24, ln 17-27] Such devices also can include a computer-readable storage media reader, a communications device (e.g., a modem, a network card (wireless or wired)), an infrared communication device, etc.), and working memory as described above. The computer-readable storage media reader can be connected with, or configured to receive, a computer-readable storage medium, representing remote, local, fixed, and/or removable storage devices as well as storage media for temporarily and/or more permanently containing, storing, transmitting, and retrieving computer-readable information.)
In light of Stubbs' teachings, it is apparent that the specific locations of the processing equipment and/or storage devices is arbitrary, and placing equipment in one location or another would yield the same results. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to locate the processor and storage carrying out the above instructions remotely. Stubbs illustrates that this is commonly known in the art, and one of ordinary skill would have reasonable expectation of success based on the success shown by Stubbs.
Claim 15
The combination of Lian and Stubbs teaches the limitations of claim 1 as outlined above. As outlined above, Lian and Stubbs teaches the aspects of
access … the touch heatmap
EXAMINER NOTE: See Lian, [0029] cited above with respect to claim 1
the robot body carries the at least one sensor,
EXAMINER NOTE: See Stubbs, [col 5, ln 26-52] cited above with respect to claim 1
Lian is vague as to the specific locations of computing equipment. Lian alone may not explicitly teach the following limitations in combination. However, Stubbs teaches
the remote device includes a second processor of the at least one processor, and a second non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
(Stubbs - [col 6, ln 36-38] The grasp management service 102 may include at least one memory 214 and one or more processing units (or processor(s)) 216.)
EXAMINER NOTE: See figs 1-2. The grasp management service is remote from the robot.
the processor-executable instructions or data include first processor-executable instructions or data stored at the first non-transitory processor-readable storage medium that when executed cause the robot system to:
capture the sensor data by the at least one sensor;
transmit, via a communication interface between the robot body and the remote device, the sensor data from the robot body to the remote device;
and control, by the first at least one processor, the at least one end effector to grasp the object;
(Stubbs - [col 4, ln 28-41] (22) In order to expand the grasps 112 and/or to validate the grasps 112, the robotic manipulator 110 may be configured to receive the grasps 112 from the grasp management service 102 and attempt to execute the grasps 112, as illustrated by the arrow 116. … the grasp management service 102 may provide instructions to the robotic manipulator 110 regarding how to attempt to execute the grasps 112. For example, the instructions may include computer executable instructions that a processor associated with the robotic manipulator 110 can execute…
[col 5, ln 7-13] (24) FIG. 2 illustrates an example architecture 200 for implementing techniques relating generating grasp sets and validating grasp sets as described herein. The architecture 200 may include the grasp management service 102 in communication with a user device 204 and a manipulator system 206 via one or more networks 208 …
[col 5, ln 47-52] The sensors may be in communication with the management device 212. In this manner, the management device 212 may control the operation of the robotic manipulator 110 and the end of arm tool 126 based at least in part on sensing information received from the sensors.)
EXAMINER NOTE: The sensor data is transmitted to the grasp management service (remote device) via manipulator system (includes first processor and storage) and network (communication interface). The grasp management service then instructs the manipulator system to control the robot accordingly.
and the processor-executable instructions or data include second processor-executable instructions or data stored at the second non-transitory processor-readable storage medium that when executed cause the robot system to:
access, from the second non-transitory processor-readable storage medium, the object model representation;
(Stubbs - [col 3, ln 15-18] A grasp management service may access a three-dimensional model of the teddy bear to determine a basic shape such as a cylinder that corresponds to the shape of the arm. …)
and transmit, via the communication interface, data indicating the object model and the at least one touch region to the robot body
(Stubbs - [col 3, ln 66 thru col 4, ln 14] Information about the grasps 112 can be provided to the robotic manipulator 110, as illustrated by arrow 116. This information can include arm tool information 118, item information 120, contact point information 122, and surface information 124 related to the grasps 112. For example, the arm tool information 118 may indicate which arm tools have been used or could be used to execute the grasps 112. Likewise, the item information 120 may indicate which items and item features have been used or could be used to execute the grasps 112. The contact point information 122 may indicate contact points on the items 120 and/or features of the items 120 that have been used or could be used to execute the grasps 112. The surface information 124 may indicate surfaces on the items 120, which include one or more contact points 122 and which have been used or could be used to execute the grasps 112.)
EXAMINER NOTE: The grasp management transmits contact points (touch regions), and item features and surfaces (object model) to the robot management device. As shown in Fig. 2, this is done via the network (communication interface).
While Stubbs may not use the grasp management service to transmit a heatmap, the above is shown to transmit touch points, which are derived from Lian's heatmap in the proposed combination.
Additionally, Stubbs may not explicitly teach the aspects of
the robot carries … a first processor of the at least one processor, and a first non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
However, Stubbs goes on to discuss the breadth of the computing arrangements of the disclosed embodiments.
(Stubbs - [col 23, ln 17-21] The various embodiments further can be implemented in a wide variety of operating environments, which in some cases can include one or more user computers, computing devices or processing devices which can be used to operate any of a number of applications.
[col 23, ln 62 thru col 24, ln 5] The environment can include a variety of data stores and other memory and storage media as discussed above. These can reside in a variety of locations, such as on a storage medium local to (and/or resident in) one or more of the computers or remote from any or all of the computers across the network. In a particular set of embodiments, the information may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers, servers, or other network devices may be stored locally and/or remotely, as appropriate.
[col 24, ln 17-27] Such devices also can include a computer-readable storage media reader, a communications device (e.g., a modem, a network card (wireless or wired)), an infrared communication device, etc.), and working memory as described above. The computer-readable storage media reader can be connected with, or configured to receive, a computer-readable storage medium, representing remote, local, fixed, and/or removable storage devices as well as storage media for temporarily and/or more permanently containing, storing, transmitting, and retrieving computer-readable information.)
In light of Stubbs' teachings, it is apparent that the specific locations of the processing equipment and/or storage devices is arbitrary, and placing equipment in one location or another would yield the same results. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to locate the processor and storage carrying out the above instructions on the robot body, and to access the heatmap and object information from a remote device. Stubbs illustrates that this type of computing configuration and data transfer is commonly known in the art, and one of ordinary skill would have reasonable expectation of success based on the success shown by Stubbs. It should also be noted that while Lian is vague as to the precise locations of various computing components, Lian does state that the system may be implemented in multiple devices remote from one another, and that the devices interact through a communication network, which supports the maintained functionality of modification by Stubbs.
(Lian - [0056] … Additionally, two or more of the engines may be implemented on the same computing device, or on different computing devices.
[0061] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
[0062] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network.)
Claim(s) 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lian and Stubbs as applied to claim 1 above, and further in view of Welland (US-20160167228-A1).
Claim 11
The combination of Lian and Stubbs teaches the limitations of claim 1 as outlined above. Lian further teaches
the touch heatmap is indicative of a plurality of touch regions of the object model;
(Lian - [0016] To achieve these results, a dense 3D point-wise grasping area heatmap can be modeled. For each grasp in the codebook, a grasping process can first be simulated. The hand-object contact points can be identified by computing their signed distance with respect to the gripper mesh. If the grasp is stable, for example the object is lifted successfully against gravity, the count n(G) for all contacted points on the object can be increased by 1.)
EXAMINER NOTE: During simulation, if a grasp is stable, the heatmap records the contact locations. In this way, the heatmap is representative of how frequently the locations are touched when performing a successful grasp. Because there are multiple contact points, there are multiple touch regions.
the processor-executable instructions or data further cause the at least one processor to select a first subset of touch regions
(Lian - [0016] … If the manipulator does not obstruct the placement, and if the object can steadily rest in the receptacle, the count of joint grasp and task success n(G,T) on the contact points can be increased by 1. After all grasps are verified, for each point on the object point cloud, its task relevance can be computed according to:
P(T|G)=n(G,T)/n(G)
… The highest task-relevance score indicates the best grasp for the object for the given task.)
EXAMINER NOTE: The relevance score is computed at each location based on the number of successful grasps, and is used to determine the best grasp for the task. The successful grasp locations (subset of touch regions) determine the relevance.
and the processor-executable instructions or data which cause the at least one processor to control the at least one end effector to grasp the object cause the at least one processor to
control the first end effector to grasp the object in accordance with the first subset of touch regions
(Lian - [0050] The system can then use these task-specific, instance-specific grasping areas to cause a physical robot to perform the task by manipulating the physical object. In other words, the system can cause a manipulator or an end effector of the robot to make contact with the object at one or more of the specified task-specific, instance-specific grasping areas.)
Lian is silent as to a second end effector performing similar operations. However, Wellman teaches the use of multiple end effectors in grasping strategies
(Welland - [0080] As to end effectors identified in a grasping strategy, the robotic arm 12 may include one or more end effectors and may be capable of utilizing multiple end effectors in conjunction with one another or as alternatives to one another. As illustrative examples, a grasping strategy may call for a number of different robotic arms each having different end effectors or combinations of end effectors, or a grasping strategy may involve activating a combination of end effectors available on a single robotic arm. … Other end effectors may also be utilized to facilitate additional grasping techniques. For example, a magnetic or electromagnetic end effector may be useful for grasping items having ferro-magnetic materials.
Welland system is very similar to that of Lian, but includes the possibility of multiple end effectors when appropriate. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to further modify the combination of Lian and Stubbs by incorporating a second end effector in order to make the system more versatile and adaptable, and allow additional grasping techniques, as suggested by Welland above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Non-final rejection of application number 18/799719 includes additional prior art used to reject substantially similar subject matter. Examiner additionally encourages Applicant to review office actions associated with application numbers 19/033317, 17/641485, 18/079916, 18/723816, 17/680861, and 17/680861. Each of the aforementioned applications discusses similar grasp planning strategies to those claimed, and the prior art cited therein is considered relevant to the instant application.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAMES MILLER WATTS whose telephone number is (703)756-1249. The examiner can normally be reached 7:30-5:30 M-TH.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Adam Mott can be reached at 571-270-5376. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/JAMES MILLER WATTS III/Examiner, Art Unit 3657
/ADAM R MOTT/Supervisory Patent Examiner, Art Unit 3657