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 .
Claims 1 – 14, all of the claims in this application, are pending.
Claim Objections
Claims 1, 5, 10, and 14 are objected to because of the following informalities:
Claim 1 recites “combining the count occupancy grid and contour occupancy grid using a filtered occupancy grid”. It should read as “combining the count occupancy grid and a contour occupancy grid using a filtered occupancy grid”.
Claim 1 recites “converting the filtered occupancy grid as a point cloud”. It should read as “converting the filtered occupancy grid to a point cloud”.
Claim 5 recites “wherein the output of point cloud provided to a user or a remotely to central server”. It should read as “wherein the output of the point cloud is provided to a user or remotely to a central server”.
Claim 10 recites “wherein the occupancy grid filter is optimized 3D filtering is configured to minimize high CPU usage”. It should read as “wherein the occupancy grid filter for optimized 3D filtering is configured to minimize high CPU usage”.
Claim 14 is objected to for the same reasons as applied to claim 5.
Appropriate correction is required.
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 – 14 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 count” in the limitation “increasing the count on the projected cells of the occupancy grid”. It is unclear as to what “the count” is being referenced to and the specification fails to further clarify the issue. Therefore, claim 1 is rejected. Claims 3 and 11 similarly recite this claim language. Non-application of prior art to claims 3 and 11 is an indication of their indefiniteness and not their allowability.
Claims 2 – 8 are also rejected by virtue of their dependency upon claim 1.
Claim 11 is rejected for the same reasons as applied to claim 1.
Claim 1 recites “providing an output of the point cloud of an occupancy grid image”. It is unclear as to how a point cloud (raw data points) provides an output without the data being used in a formula or function to produce such an output; or is converting the occupancy grid to a point cloud the "output" in itself. Therefore, claim 1 is rejected. Claims 5 and 13 – 14 similarly recite this claim language.
Claims 2 – 8 are also rejected by virtue of their dependency upon claim 1.
Claims 13 – 14 are rejected for the same reasons as applied to claim 1.
The term “large enough” in claim 1 is a relative term which renders the claim indefinite. The term “large enough” is not defined by the claim, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention. Therefore, claim 1 is rejected. Claims 4 and 12 similarly recite this relative terminology.
Claims 2 – 8 are also rejected by virtue of their dependency upon claim 1.
Claim 12 is rejected for the same reasons as applied to claim 1.
Claim 1 recites the limitation "the count" in “increasing the count on the projected cells of the occupancy grid”. There is insufficient antecedent basis for this limitation in the claim.
Claim 1 recites the limitation "the threshold" in “processing the threshold of the occupancy grid based on count”. There is insufficient antecedent basis for this limitation in the claim.
Claim 1 recites the limitation "the count occupancy grid" in “combining the count occupancy grid and contour occupancy grid using a filtered occupancy grid”. There is insufficient antecedent basis for this limitation in the claim.
Claim 1 recites the limitation "contour occupancy grid" in “combining the count occupancy grid and contour occupancy grid using a filtered occupancy grid”. There is insufficient antecedent basis for this limitation in the claim.
Claim 3 recites the limitation "the threshold" in “the method of Claim 1 wherein the step of processing the threshold of the occupancy grid based on count is done by the occupancy counting grid module.”. There is insufficient antecedent basis for this limitation in the claim.
Claim 3 recites the limitation "the occupancy counting grid module" in “the method of Claim 1 wherein the step of processing the threshold of the occupancy grid based on count is done by the occupancy counting grid module.”. There is insufficient antecedent basis for this limitation in the claim.
Claim 4 recites the limitation "the occupancy grid filtering module" in “wherein the step of processing the occupancy grid based with large enough contours is done by the occupancy grid filtering module”. There is insufficient antecedent basis for this limitation in the claim.
Claim 7 recites the limitation "the values" in “the static calibration loader module configured to determine whether the values are true”. There is insufficient antecedent basis for this limitation in the claim.
Claim 11 recites the limitation "the threshold" in “wherein the system is further configured for processing the threshold of the occupancy grid based on count is done by the occupancy counting grid module.”. There is insufficient antecedent basis for this limitation in the claim.
Claim 11 recites the limitation "the occupancy counting grid module" in “wherein the system is further configured for processing the threshold of the occupancy grid based on count is done by the occupancy counting grid module.”. There is insufficient antecedent basis for this limitation in the claim.
Claim 13 recites the limitation "the point cloud" in “wherein the system is configured to provide an output of the point cloud of an occupancy grid image”. There is insufficient antecedent basis for this limitation in the claim.
Claim 9, an independent system claim, recites a processor. The specification states that a processor as described herein can be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein, Paragraph [0055]. Absent a hard-wired system such as an ASIC, a processor holds only a very limited number of instructions at any given point in time as a device (as opposed to a method where the instructions are understood to be serially fetched from a memory and executed by the processor). It is unclear at what point the processor would be configured as claimed, as a typical processor would hold nowhere near the number of instructions needed to perform the steps of claim 1. What state is the processor in when it is configured as claimed?
Furthermore, the processor isn’t in any way coupled to the other components or the program from which it is executing instructions to perform specified functions. It is unclear as to where the processor is receiving its instructions or how it is going about executing these instructions.
Claims 10 – 14 are also rejected by virtue of their dependency upon claim 9.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 9 – 14 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. Although claim 9 only states a processor, there is no mention of that processor being coupled to a non-transitory storage medium of any type. Furthermore, when seeking clarification from the specification, the specification discloses that the processor may be a digital signal processor (DPS) at Paragraph [0055] and that the instructions may just be code from a software at Paragraph [0054]. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because the claim is directed to towards a "computer program product" that includes "code instructions", which broadly encompasses a computer program per se. Such computer programs, per se, are not, in and of themselves, methods or machines, nor are they physical products of manufacture or compositions of matter. Therefore, such programs do not fall into any of the categories of eligible subject matter defined in 35 U.S.C. § 101 and are not, by themselves, eligible for patent protection. Such programs can be eligible for patent protection if claimed as embodied on or in a computer readable storage device or medium, but only if the claim clearly and unambiguously excludes transitory, propagating signals from the full scope of the claimed subject matter, as such signals are also not eligible under 35 U.S.C. § 101. It is suggested that amending the claim language to define the computer program product as having the code instructions embodied on a "non-transitory computer-readable medium" would satisfy these requirements and would limit the claimed invention to eligible subject matter.
Furthermore, claim 9 recites the device comprising various parts (i.e. a processor, camera, one or more 3D sensors, etc.), but doesn’t recite these components being couples to each other. Examiner interprets this as merely being some known parts and some program, with the program performing some functions disregarding the need for a processor reading instructions from a non-transitory computer readable storage medium. Paraphrasing and simplifying, this claim recites a computer and a program, but the program isn’t stored on the computer. The computer per se is old and well known; “adding” an abstract program as a non-coupled element does not pass 35 USC 101.
Claims 10 – 14 are also rejected by virtue of their dependency upon claim 9.
Claim Rejections - 35 USC § 102
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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim 7 as best understood is rejected under 35 U.S.C 102(a)(2) as being anticipated by US Publication No. 2022/0265110 A1 to MOLINA CABRERA et al. (hereinafter MOLINA CABRERA).
Claim 7
Regarding claim 7, an independent method claim, MOLINA CABRERA teaches a computer-implemented method using a calibration health monitor module for monitoring obstacle and cliff detection on a semi-autonomous cleaning device having a processor, a camera and one or more sensors, the method comprising the steps of: receiving data at a static calibration loader module, the static calibration loader module configured to determine whether the values are true ("Cliff Candidates Finder 1203: Filters the cliff candidates and rejects ones that do not pass a series of checks. Ground Contour Extractor 1204: Extracts the contour of ground mask as cliff candidates. Candidates Neighbour Checker 1205: Cliff candidates should only be adjacent with ground and unknown area. Strangely Shaped Cliff Checker 1206: Cliff candidates should be adjacent with regular shaped unknown area. Cliff Size Checker 1207: Filters out too small sized cliff. Obstacles Candidates Finder 1209: Filters the obstacle candidates and rejects ones that do not pass a series of checks. Obstacle Contour Extractor 1210: Extracts the contour of obstacle mask as obstacle candidates. Obstacles Size Checker 1211: Filters out obstacles that are too small. Cliff Temporal Filter 1208: The Cliff Temporal Filter tracks the boundaries of the detected cliffs in time. True cliffs should be static with respect to the relative motion of the robot. Obstacles Temporal Tracker 1212: Tracks the pose and velocity of each obstacle relative to the robot and classifies them into static and dynamic obstacles.", Paragraph [0078 - 0087]);
if true, sending the data to the static calibration validator module (Rejected as applied directly above);
receiving depth data from a depth streaming module (Figure 16, #1601 and #1602; "Some features of the electrical system include the following: LIDAR 1601, 3D Cameras 1602 and 2D Camera 1603 modules", Paragraphs [0153-0154]; "Referring to FIG. 8, in the sensing and decision making subsystem 801, the camera manager 802 controls the streaming of the cameras and dictates how and when frames are captured from the individual camera within the sensor modules 803, 804, 805.", Paragraph [0052]); and
generating a calibration status at the calibration health monitor module ("According to FIG. 12, the components of this module consists of: Masks Merger 1202: Merges masks from Voxel Grid Mapper module 1001, Floor Mapper module 1101 and Processing module 901 together and generates new obstacles mask, ground mask, and unknown mask.", Paragraph [0076 - 0077]).
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.
Claims 1 – 2, 4 – 6, 8 – 10, and 12 – 14 as best understood are rejected under 35 U.S.C. 103 as being unpatentable over US Publication No. 2022/0265110 A1 to MOLINA CABRERA et al. (hereinafter MOLINA CABRERA) in view of Non-Patent Literature “A random finite set approach for dynamic occupancy grid maps with real-time application” to Nuss et al. (hereinafter Nuss).
Claim 1
Regarding claim 1, an independent method claim, MOLINA CABRERA teaches a computer-implemented method for optimized 3D filtering for obstacle and cliff detection on a semi- autonomous cleaning device having a processor, a camera and one or more sensors, the method comprising the steps of: acquiring a depth image with the camera and sensor (Figure 16, #1601 and #1602; "Some features of the electrical system include the following: LIDAR 1601, 3D Cameras 1602 and 2D Camera 1603 modules", Paragraphs [0153-0154]);
PNG
media_image1.png
510
547
media_image1.png
Greyscale
converting the depth image to 3D coordinate points (Rejected as applied directly above), where the RGB-D camera (3D camera) creates the set of 3D data points (coordinate points) for every pixel in the image;
projecting the 3D coordinate points onto an occupancy grid (Figure 10; "Components of the Voxel Grid Mapper module 1001 of FIG. 10, consists of such components as: Voxel Grid Translation 1006: The voxel grid only represents a certain range of 3d space around the robot. For each input frame, it has to be translated to the current robot position. Point Cloud Insertion 1007: Update the voxel grid by the current input point cloud probabilistically. 3D Ray-tracing 1008: Ray-tracing from current hit voxels to camera position probabilistically to update voxel grid with free space values. 2D Obstacles/Ground/Unknown Segmentation 1009: Project all occupied voxels to z=0 and segment it to obstacles 1010, ground mask 1012 and unknown mask 1011, thus producing a revised path map that may in turn be used for cleaning path alteration.", Paragraphs [0063 - 0067]);
Although MOLINA CABRERA discloses the use of a Floor Mapper module at Paragraph [0076] using Ground Contour Extractor, the Contour Grid is not explicitly taught. MOLINA CABRERA also fails to teach processing the occupancy grid based with large enough contours;
combining the count occupancy grid and contour occupancy grid using a filtered occupancy grid;
converting the filtered occupancy grid as a point cloud; and
providing an output of the point cloud of an occupancy grid image.
However, Nuss teaches processing the occupancy grid based with large enough contours (Figure 4), where the occupancy grid details targets large enough to interrupt movement;
PNG
media_image2.png
619
836
media_image2.png
Greyscale
combining the count occupancy grid and contour occupancy grid using a filtered occupancy grid (Figure 7; "The PHD/MIB filter expresses the posterior multi-object state of time step by its PHD . In practical applications, PHDs are commonly represented by particles or Gaussian mixtures. However, the following derivation is independent of its practical representation form. Figure 7 shows an exemplary PHD of a traffic situation using contour lines. The birth process of point objects is defined by the birth PHD and the persistence probability of each point object is denoted by.", Section 4.4. Multi-object state transition in PHD representation);
PNG
media_image3.png
567
829
media_image3.png
Greyscale
converting the filtered occupancy grid as a point cloud (Figure 5); and
PNG
media_image4.png
467
833
media_image4.png
Greyscale
providing an output of the point cloud of an occupancy grid image (Rejected as applied directly above).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of MOLINA CABRERA to incorporate converting the filtered occupancy grid to a point cloud and creating a contour occupancy grid based on the point data, as disclosed by Nuss. The suggestion/motivation for doing so would have been to detect potential hazards in the vicinity, using the contour lines to safely plan out new paths of navigation.
Claim 2
Regarding claim 2, dependent on claim 1, MOLINA CABRERA, in view of Nuss, teaches the invention as claimed in claim 1.
MOLINA CABRERA further teaches wherein the sensor is a 3D sensor (Rejected as applied to claim 1).
Claim 4
Regarding claim 4, dependent on claim 1, MOLINA CABRERA, in view of Nuss, teaches the invention as claimed in claim 1.
MOLINA CABRERA does not teach wherein the step of processing the occupancy grid based with large enough contours is done by the occupancy grid filtering module.
However, Nuss further teaches wherein the step of processing the occupancy grid based with large enough contours is done by the occupancy grid filtering module (Rejected as applied to claim 1).
Claim 5
Regarding claim 5, dependent on claim 1, MOLINA CABRERA, in view of Nuss, teaches the invention as claimed in claim 1.
MOLINA CABRERA further teaches wherein the output of point cloud provided to a user or a remotely to central server ("These stimuli and measurements may be initiated, received, stored and correlated on the semi-autonomous vehicle itself in an advanced diagnostics module, may be sent to a central server for storage and correlation, or may employ a hybrid approach.", Paragraph [0127]).
Claim 6
Regarding claim 6, dependent on claim 1, MOLINA CABRERA, in view of Nuss, teaches the invention as claimed in claim 1.
MOLINA CABRERA, in view of Nuss, teaches wherein the method for optimized 3D filtering is configured to minimize high CPU usage.
Official Notice: It is well known to one skilled in the art that optimization (i.e. reduction in steps, processes, size, etc.), when referenced in respect to a CPU, will obviously minimize the amount of CPU usage compared to the usage before the optimizing occurred.
Claim 8
Regarding claim 8, dependent on claim 1, MOLINA CABRERA, in view of Nuss, teaches the invention as claimed in claim 1.
MOLINA CABRERA further teaches further comprising the step of providing an output of the calibration status to the semi-autonomous cleaning device (Rejected as applied to claim 7).
Claim 9, an independent system claim, is rejected for the same reasons as applied to the above rejected claims.
Claims 10 and 12 – 14 are rejected for the same reasons as applied to the above rejected claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Ronde Miller whose telephone number is (703) 756-5686 The examiner can normally be reached Monday-Friday 8:00-4: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 Gregory Morse can be reached on (571) 272-3838. 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.
/RONDE LEE MILLER/Examiner, Art Unit 2663
/GREGORY A MORSE/Supervisory Patent Examiner, Art Unit 2698