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 .
This is a Final Action on the Merits. Claims 1, 3-19, and 21-24 are currently pending and are addressed below.
Response to Amendments
The amendment filed on July 9th, 2026 has been considered and entered. Claims 1, 3, 12, 19, and 21 have been amended. Claims 2 and 20 have been cancelled.
Response to Arguments
The previous rejection of claims 1, 3-19, and 21-24 under 35 USC 101 has been overcome to due to the applicant’s amendments.
The applicant states that Kleiner (US 20180074508 A1) (“Kleiner”) fails to teach the limitation, “the boundary of traversable space at least partially defining non-traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; and generate a modified boundary of the environment using the non-traversable space and the sensor data”. The examiner respectfully disagrees. Kleiner is not cited for this feature. Rather, Herlant is cited to disclose this feature. In addition, such an assertion amounts to no more than reciting the disputed limitations and generally alleging that the cited prior art references are deficient. Merely pointing out certain claim features recited in independent claim 1 and nakedly asserting that none of the cited prior art references teach or suggest such features does not amount to a separate patentability argument. Attorney arguments that are conclusory in nature, i.e., providing no further substantive explanation or evidence in support is afforded little weight. See In re Geisler, 116 F.3d 1465, 1470 (Fed. Cir. 1997). See also Enzo Biochem, Inc. v. Gen-Probe, Inc., 424 F.3d 1276, 1284 (Fed. Cir. 2005) (“Attorney argument is no substitute for evidence.”). Furthermore, arguments of counsel cannot take the place of factually supported objective evidence. See, e.g., In re Huang, 100 F.3d 135, 139-40, 40 USPQ2d 1685, 1689 (Fed. Cir. 1996); In re De Blauwe, 736 F.2d 699, 705, 222 USPQ 191, 196 (Fed. Cir. 1984; Accord M.P.E.P. 2145. In addition, the arguments of counsel cannot take the place of evidence in the record. In re Schulze, 346 F.2d 600, 602, 145 USPQ 716, 718 (CCPA 1965); In re Geisler, 116 F.3d 1465, 43 USPQ2d 1362 (Fed. Cir. 1997) ("An assertion of what seems to follow from common experience is just attorney argument and not the kind of factual evidence that is required to rebut a prima facie case of obviousness.").
The applicant states Williams (US 202002938520 A1) (“Williams”) fails to teach the amended limitation “generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment”. The examiner respectfully disagrees. Williams teaches a determination of a barrier for a mobile robot based on a boundary detected, generating a map based on the barrier and controlling a vehicle based on the generated map (See at least Williams FIG. 6C). Furthermore, pointing out certain claim features recited in independent claim 1 and nakedly asserting that none of the cited prior art references teach or suggest such features does not amount to a separate patentability argument. Attorney arguments that are conclusory in nature, i.e., providing no further substantive explanation or evidence in support is afforded little weight. See In re Geisler, 116 F.3d 1465, 1470 (Fed. Cir. 1997). See also Enzo Biochem, Inc. v. Gen-Probe, Inc., 424 F.3d 1276, 1284 (Fed. Cir. 2005) (“Attorney argument is no substitute for evidence.”). Furthermore, arguments of counsel cannot take the place of factually supported objective evidence. See, e.g., In re Huang, 100 F.3d 135, 139-40, 40 USPQ2d 1685, 1689 (Fed. Cir. 1996); In re De Blauwe, 736 F.2d 699, 705, 222 USPQ 191, 196 (Fed. Cir. 1984; Accord M.P.E.P. 2145. In addition, the arguments of counsel cannot take the place of evidence in the record. In re Schulze, 346 F.2d 600, 602, 145 USPQ 716, 718 (CCPA 1965); In re Geisler, 116 F.3d 1465, 43 USPQ2d 1362 (Fed. Cir. 1997) ("An assertion of what seems to follow from common experience is just attorney argument and not the kind of factual evidence that is required to rebut a prima facie case of obviousness.").
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1, 3-8, 11-16, 19, 21-24 are rejected under 35 U.S.C. 103 as being unpatentable over Kleiner (US 20180074508 A1) (“Kleiner”) in view of Herlant (US 20220206507 A1) (“Herlant”) in view of Williams (US 20200238520 A1) (“Williams”).
With respect to claim 1, Kleiner teaches at least one non-transitory machine-readable medium, including instructions, which when executed, cause processing circuitry to perform operations to:
receive sensor data from a mobile cleaning robot based on interactions between the mobile cleaning robot and an environment (See at least Kleiner Paragraph 7 “In some embodiments, the computing device may be a component of the mobile robot, and the occupancy data may be detected by at least one sensor of the mobile robot. The operations may further include operating a drive of the mobile robot to sequentially navigate the non-clutter and clutter areas of the at least one of the respective regions of the surface in the sequence indicated by the coverage pattern.”);
generate a boundary of traversable space by the mobile cleaning robot within the environment using the sensor data (See at least Kleiner Paragraph 5 “Some embodiments of the present invention include a method of operating a mobile robot. The method includes executing, by at least one processor, computer readable instructions stored in a non-transitory computer readable storage medium to perform operations including generating a segmentation map defining respective regions of a surface based on occupancy data that is collected by the mobile robot responsive to navigation of the surface, classifying or otherwise identifying sub-regions of at least one of the respective regions as non-clutter and clutter areas, and computing a coverage pattern based on identification of the sub-regions. The coverage pattern indicates a sequence for navigation of the non-clutter and clutter areas, and is provided to the mobile robot. Responsive to the coverage pattern, the mobile robot sequentially navigates the non-clutter and clutter areas of the at least one of the respective regions of the surface in the sequence indicated by the coverage pattern.” | Paragraphs 222-223); and
generate a modified boundary of the environment using the sensor data (See at least Kleiner Paragraphs 20-30 “In some embodiments, the segmentation map may include simplified boundaries relative to actual boundaries indicated by the occupancy data collected by the mobile robot responsive to navigation of the surface. In some embodiments, the operations may further include modifying the segmentation map having the simplified boundaries to indicate the clutter areas responsive to identification thereof prior to providing the segmentation map to a user device. In some embodiments, identifying the sub-regions as non-clutter and clutter areas may further include accessing a data store comprising a plurality of patterns and identifications thereof, and classifying pixel regions within the sub-regions based on similarities to the plurality of patterns stored in the data store. … Some embodiments provide that the modified segmentation map identifies a subset of the plurality of regions to be cleaned, the subset including a portion of one of the plurality of regions, and the modified segmentation map identifies an order in which the plurality of regions are to be cleaned …” | Paragraphs 222-223).
Kleiner, however, fails to explicitly disclose that the boundary of traversable space at least partially defining non- traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; and generate a modified boundary of the environment using the non-traversable space and the sensor data.
Herlant teaches that the boundary of traversable space at least partially defining non- traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; and generate a modified boundary of the environment using the non-traversable space and the sensor data (See at least Herlant Paragraph 77 “As the controller circuit 109 directs the mobile robot 100 about the floor surface 10 during the mission, the controller circuit 109 uses SLAM techniques to determine a location of the mobile robot 100 within the map by detecting features represented in collected sensor data and comparing the features to previously stored features. The map formed from the sensor data can indicate locations of traversable and nontraversable space within the environment. For example, locations of obstacles are indicated on the map as nontraversable space, and locations of open floor space are indicated on the map as traversable space”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kleiner to include that the boundary of traversable space at least partially defining non- traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; and generate a modified boundary of the environment using the non-traversable space and the sensor data, as taught by Herlant as disclosed above, in order to ensure accurate traversal of the mobile cleaning robot (Herlant Paragraph 1 “This document relates generally to mobile robots and, more particularly, to systems, devices, and methods for validating a dock location for docking a mobile robot”).
Kleiner in view of Herlant fail to explicitly disclose to generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment.
Williams teaches to generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment (See at least Williams FIG. 6C and Paragraphs 72-86 “In the example illustrated in FIGS. 6A to 6C, a user places a robot (e.g., the robot 200 described with respect to FIGS. 3A to 3B) in an environment 502 before the robot 200 executes a cleaning operation to clean the floor surface 10 of the environment 502. A controller (e.g., the controller 390) of the robot 200 generates an occupancy grid 518 corresponding to the environment 502. In this example, the user may wish to sequentially clean a first room 504 during a first cleaning operation and a second room 506 during a second cleaning operation. The user may seek to have the robot 200, in one cleaning operation, clean the first room 504 without cleaning the second room 506 in the environment 502 … Referring to FIG. 6C, a flow chart 560 illustrates a method for a robot to generate a virtual barrier based on an instruction from a user. The flow chart includes user operations 565 corresponding to operations executed by the user and robot operations 570 corresponding to operations executed by the robot. At operation 572, the user positions the robot within an environment. The position of the robot will serve as both the starting location of the robot and the location of the virtual barrier. As such, the user can position the robot such that a feature on the robot is aligned with (e.g., parallel to) an edge in the environment that the user does not want to the robot to cross (e.g., across which a virtual barrier is to be erected). For example, as described herein, the feature can be lights on the robot or a surface of the robot body. In some cases, the user may wish to create two (e.g., perpendicular) virtual barriers so that the robot does not cross two edges in the environment, and in such cases, the robot may have two features, each indicating a position and orientation of a virtual barrier. At operation 574, the user instructs the robot to enter a virtual barrier mode. The user may issue this instruction using any of the methods described herein, or any other appropriate method, that trigger the robot to enter the handshake mode. At operation 576, a controller of the robot receives the instruction and places the robot into the virtual barrier mode. At operation 578, the user instructs the robot to generate a virtual barrier. The instruction to generate the virtual barrier can be the instruction to place the robot into the virtual barrier mode (e.g., to place the robot into the handshake mode). In some cases, the user may issue a subsequent instruction—apart from the instruction to place the robot into the virtual barrier mode—to generate the virtual barrier. For example, the user may trigger additional sensors to send the instructions to create the virtual barrier. At operation 580, the controller receives the instructions to create the virtual barrier. The controller may receive the instructions by sensing that the sensors have been triggered in the manners described herein. In some cases, the robot may include a wireless transceiver that allows the controller to communicate with a mobile device to receive instructions from the user. At operation 582, the controller generates the virtual barrier. For example, the controller may define cells in an occupancy grid as being part of the virtual barrier. For example, the virtual barrier can correspond to one or more cells that are designated as non-traversable. In some implementations, the virtual barrier may not be defined in terms of cells in the occupancy grid. Instead, the virtual barrier may be defined based on coordinates on the occupancy grid or some other features that are within, or outside of, the context of the occupancy grid. For example, the virtual barrier is defined based on the initial orientation and position of the robot. Measurements of these orientation may be obtained, e.g., based on signals output from the gyroscope housed within the body of the robot. The controller may know the initial location of the robot, or a part thereof, in the occupancy grid immediately following the handshake. Using this information, namely the orientation and the initial location, the controller may create the virtual barrier by defining a boundary (e.g., a straight line) on the occupancy grid (or elsewhere) that the robot cannot cross. In some cases the controller may generate more than one virtual barrier as described herein. In some examples, the user can select the length of the virtual barrier by providing the controller with appropriate parameters either directly on the robot or through a remote interface. For example, the user can select a 3 to 5-foot (0.9 to 1.6 meter) barrier length to prohibit the robot from passing through a door. In some examples, the user can instruction the robot place a full length barrier of cells in a row/column for sub-dividing an open space. In another case, the user can select a rectangular region surrounding the robot, forming four virtual barriers that the robot should not cross. At operation 584, the controller can provide a visual indication of generation of the virtual barrier. For example, the controller can instruct lights on the robot to illuminate or can issue an audible alert. At operation 586, the user instructs the robot to clean the environment. The user can instruct the robot to clean by pressing the clean button on the robot or by using the mobile device to remotely control the robot. The virtual barrier can be displayed on a map displayed on a user's mobile device.”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kleiner in view of Herlant to generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment, as taught by Williams as disclosed above, in order to ensure optimal robot traversal (Williams Paragraph 2 “A mobile robot can maneuver around surfaces defined by objects, obstacles, walls, and other structures in its surroundings. In some cases, it may be desirable to restrict movement of the robot to particular regions of its surroundings. To do this, barriers can be erected to prevent the robot from passing into restricted regions. For example, a beacon that is detectable by the robot can be placed in the environment to restrict the robot from entering the restricted regions.”).
With respect to claim 3, and similarly claims 14 and 21, Kleiner in view of Herlant in view of Williams teaches to segment the map into rooms defined by room boundaries based at least in part on the modified boundary (See at least Kleiner Paragraph 11 “In some embodiments, the respective regions defined by the segmentation map may correspond to respective rooms. The coverage pattern may further indicate an order of navigation of the respective rooms, and the mobile robot may sequentially navigate the non-clutter and clutter areas of one of the respective rooms in the sequence indicated by the coverage pattern before navigation of a next one of the respective rooms in the order indicated by the coverage pattern.”).
With respect to claim 4, and similarly claim 15, Kleiner in view of Herlant in view of Williams teaches that the map is segmented into rooms based at least in part on the non-traversable space (See at least Kleiner Paragraph 184-186 “FIGS. 8A through 8C are graphical representations that may be displayed via a user interface of a communication device illustrating a raw data map, a cleaned map and a segmentation map in an automated map cleaning and segmentation operation according to some embodiments of the present invention. Some embodiments provide that a robot explores a surface of an enclosed space during a first pass. An occupancy grid is generated that includes raw data that is generated during the first pass. The occupancy grid is presented to a user on a user device as a raw data map 802 as illustrated in FIG. 8A. The raw data map 802 may include multiple pixels that may be shaded white for traversable space and black for obstacles, including occupancy walls … FIG. 8C illustrates a segmentation map 822 that may be displayed to the user on the user device. Similar to the cleaned map 812, the segmentation map 822 illustrates the enclosed space with the boundary data 826. Additionally, the traversable space is segmented into regions 824 that may correspond to different rooms in the enclosed space according to some embodiments. Based on the segmentation map 822, the robot may perform room-by-room cleaning in which the cleaning operation in a given region 824 is completed before the robot begins to perform a cleaning operation in another region 824.”).
With respect to claim 5, and similarly claim 16, Kleiner in view of Herlant in view of Williams teaches to characterize1 portions of the non-traversable space using the sensor data (See at least Kleiner Paragraph 184-186 “FIGS. 8A through 8C are graphical representations that may be displayed via a user interface of a communication device illustrating a raw data map, a cleaned map and a segmentation map in an automated map cleaning and segmentation operation according to some embodiments of the present invention. Some embodiments provide that a robot explores a surface of an enclosed space during a first pass. An occupancy grid is generated that includes raw data that is generated during the first pass. The occupancy grid is presented to a user on a user device as a raw data map 802 as illustrated in FIG. 8A. The raw data map 802 may include multiple pixels that may be shaded white for traversable space and black for obstacles, including occupancy walls … FIG. 8C illustrates a segmentation map 822 that may be displayed to the user on the user device. Similar to the cleaned map 812, the segmentation map 822 illustrates the enclosed space with the boundary data 826. Additionally, the traversable space is segmented into regions 824 that may correspond to different rooms in the enclosed space according to some embodiments. Based on the segmentation map 822, the robot may perform room-by-room cleaning in which the cleaning operation in a given region 824 is completed before the robot begins to perform a cleaning operation in another region 824.”).
With respect to claim 6, and similarly claim 17, Kleiner in view of Herlant in view of Williams teaches to modify the room boundaries based at least in part on the characterized portions of the non-traversable space (See at least Williams FIG. 7C and Paragraphs 105-107 “At operation 680, the robot detects the markers in the environment. The controller can use a camera, ultrasonic sensor, or some other sensor on the robot to detect the markers. In some cases, as described herein, the camera may detect a color, image, or other distinctive feature of the markers. The controller can receive image data from the camera corresponding to the detection of the markers. At operation 682, the controller determines whether the detected markers are virtual barrier markers. The controller may also post-process the image data of the detected markers and make a determination of whether the image data correspond to reference images that the controller may expect from detecting the markers. The controller may compare the image data to reference images in a library stored on a memory storage element operable with the controller. The controller can determine whether the detected markers indicate a virtual barrier, a location, or other information about the environment. If the controller determines that the detected markers are virtual barrier markers, at operation 684, the controller generates a virtual barrier in an occupancy grid that, for example, corresponds to the location of the detected markers. The virtual barrier, as described herein, can correspond to a set of non-traversable cells to be marked on the occupancy grid. In some cases, the length or width of the non-traversable barrier may depend on distinctive features detected on the markers. If the controller determines that the detected marker is not a virtual barrier marker, at operation 686, the controller stores data related to the detected marker in the occupancy grid. The data may be, for example, a name of the room, a name of the location of the detected markers. In some implementations, the controller may determine that the controller has misidentified the detected markers and that the detected markers do not indicate information about the environment. In some examples, the controller may determine that the detected markers indicate both a virtual barrier and data related to the name of the room or the location of the detected markers”).
With respect to claim 7, Kleiner in view of Herlant in view of Williams teach that the portions are characterized using images captured by an image capture device of the cleaning of the mobile cleaning robot (See at least Kleiner Paragraph 118 “The environmental sensors 270A-270H may include a camera 270B mounted on a top surface of the mobile robot 100, as shown in the top perspective view of FIG. 2A. The camera 270B can be used to navigate the robot 100 and acquire images for other operational use. In some embodiments, the camera 270B is a visual simultaneous location and mapping (VSLAM) camera and is used to detect features and landmarks in the operating environment and build an occupancy map based thereon.”).
With respect to claim 8, Kleiner in view of Herlant in view of Williams teach that the images are captured using a VSLAM process (See at least Kleiner Paragraph 137 “In some embodiments, the segmentation map is generated from an occupancy grid that is generated by the mobile floor cleaning robot during one or more exploration and/or cleaning missions, more generally referred to herein as navigation. For example, the occupancy grid may be generated by exploring the surface of the enclosed space with the mobile floor cleaning robot by generating one or more visual maps for localization of the mobile floor cleaning robot within the enclosed space. In some embodiments, the visual maps may be generated by detecting features using multiple images that may be captured by one or more cameras in the mobile floor cleaning robot. For example, visual features (VSLAM) generated from the video images may be used in order build the “visual map” used to localize the robot. For each feature, a feature description may be determined and the feature may be classified by performing a feature lookup in a feature database. The occupancy grid may be integrated with the visual map, and may further include information generated from bumper hits or collisions (“bumping” events) and/or IR/PixArt data (i.e., time of flight and/or ranging sensor data for obstacle detection).”).
With respect to claim 11, and similarly claims 13 and 22, Kleiner in view of Herlant in view of Williams teaches that the non-traversable space includes space beyond the boundary of traversable space that has been observed by the mobile cleaning robot and has not been traversed by the mobile cleaning robot. (See at least Williams Paragraph 74 “In some cases, the virtual barrier 516 passes through the back side 202A of the robot 200. In other cases, the virtual barrier 516 intersects the robot body, e.g., the virtual barrier passes through the lights 242 a and 242 b enabling the user to align the lights with the location of the virtual barrier. The lights 242 a and 242 b therefore may serve as visual indicators of the location of the virtual barrier 516. The virtual barrier 516 can prevent the robot 200 from passing from the first room 504 through a doorway 517 into the room 506 of the environment 502. In some implementations, the robot can be placed in the doorway 517 so that the controller generates the virtual barrier 516 that prevents the robot 200 from passing through the doorway 517.”).
With respect to claim 12, Kleiner teaches a method of generating a map of an environment using a mobile cleaning robot, the method comprising:
receive sensor data from a mobile cleaning robot based on interactions between the mobile cleaning robot and an environment (See at least Kleiner Paragraph 7 “In some embodiments, the computing device may be a component of the mobile robot, and the occupancy data may be detected by at least one sensor of the mobile robot. The operations may further include operating a drive of the mobile robot to sequentially navigate the non-clutter and clutter areas of the at least one of the respective regions of the surface in the sequence indicated by the coverage pattern.”);
generate a boundary of traversable space by the mobile cleaning robot within the environment using the sensor data (See at least Kleiner Paragraph 5 “Some embodiments of the present invention include a method of operating a mobile robot. The method includes executing, by at least one processor, computer readable instructions stored in a non-transitory computer readable storage medium to perform operations including generating a segmentation map defining respective regions of a surface based on occupancy data that is collected by the mobile robot responsive to navigation of the surface, classifying or otherwise identifying sub-regions of at least one of the respective regions as non-clutter and clutter areas, and computing a coverage pattern based on identification of the sub-regions. The coverage pattern indicates a sequence for navigation of the non-clutter and clutter areas, and is provided to the mobile robot. Responsive to the coverage pattern, the mobile robot sequentially navigates the non-clutter and clutter areas of the at least one of the respective regions of the surface in the sequence indicated by the coverage pattern.” | Paragraphs 222-223); and
generate a modified boundary of the environment using the sensor data (See at least Kleiner Paragraphs 20-30 “In some embodiments, the segmentation map may include simplified boundaries relative to actual boundaries indicated by the occupancy data collected by the mobile robot responsive to navigation of the surface. In some embodiments, the operations may further include modifying the segmentation map having the simplified boundaries to indicate the clutter areas responsive to identification thereof prior to providing the segmentation map to a user device. In some embodiments, identifying the sub-regions as non-clutter and clutter areas may further include accessing a data store comprising a plurality of patterns and identifications thereof, and classifying pixel regions within the sub-regions based on similarities to the plurality of patterns stored in the data store. … Some embodiments provide that the modified segmentation map identifies a subset of the plurality of regions to be cleaned, the subset including a portion of one of the plurality of regions, and the modified segmentation map identifies an order in which the plurality of regions are to be cleaned …” | Paragraphs 222-223).
Kleiner, however, fails to explicitly disclose that the boundary of traversable space at least partially defining non- traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; generate a modified boundary of the environment using the non-traversable space and the sensor data; generate a map of the environment based on the modified boundary.
Herlant teaches that the boundary of traversable space at least partially defining non- traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; generate a modified boundary of the environment using the non-traversable space and the sensor data; generate a map of the environment based on the modified boundary (See at least Herlant Paragraph 77 “As the controller circuit 109 directs the mobile robot 100 about the floor surface 10 during the mission, the controller circuit 109 uses SLAM techniques to determine a location of the mobile robot 100 within the map by detecting features represented in collected sensor data and comparing the features to previously stored features. The map formed from the sensor data can indicate locations of traversable and nontraversable space within the environment. For example, locations of obstacles are indicated on the map as nontraversable space, and locations of open floor space are indicated on the map as traversable space”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kleiner to include that the boundary of traversable space at least partially defining non- traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; generate a modified boundary of the environment using the non-traversable space and the sensor data; generate a map of the environment based on the modified boundary, as taught by Herlant as disclosed above, in order to ensure accurate traversal of the mobile cleaning robot (Herlant Paragraph 1 “This document relates generally to mobile robots and, more particularly, to systems, devices, and methods for validating a dock location for docking a mobile robot”).
Kleiner in view of Herlant fail to explicitly disclose to generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment.
Williams teaches to generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment (See at least Williams FIG. 6C and Paragraphs 72-86 “In the example illustrated in FIGS. 6A to 6C, a user places a robot (e.g., the robot 200 described with respect to FIGS. 3A to 3B) in an environment 502 before the robot 200 executes a cleaning operation to clean the floor surface 10 of the environment 502. A controller (e.g., the controller 390) of the robot 200 generates an occupancy grid 518 corresponding to the environment 502. In this example, the user may wish to sequentially clean a first room 504 during a first cleaning operation and a second room 506 during a second cleaning operation. The user may seek to have the robot 200, in one cleaning operation, clean the first room 504 without cleaning the second room 506 in the environment 502 … Referring to FIG. 6C, a flow chart 560 illustrates a method for a robot to generate a virtual barrier based on an instruction from a user. The flow chart includes user operations 565 corresponding to operations executed by the user and robot operations 570 corresponding to operations executed by the robot. At operation 572, the user positions the robot within an environment. The position of the robot will serve as both the starting location of the robot and the location of the virtual barrier. As such, the user can position the robot such that a feature on the robot is aligned with (e.g., parallel to) an edge in the environment that the user does not want to the robot to cross (e.g., across which a virtual barrier is to be erected). For example, as described herein, the feature can be lights on the robot or a surface of the robot body. In some cases, the user may wish to create two (e.g., perpendicular) virtual barriers so that the robot does not cross two edges in the environment, and in such cases, the robot may have two features, each indicating a position and orientation of a virtual barrier. At operation 574, the user instructs the robot to enter a virtual barrier mode. The user may issue this instruction using any of the methods described herein, or any other appropriate method, that trigger the robot to enter the handshake mode. At operation 576, a controller of the robot receives the instruction and places the robot into the virtual barrier mode. At operation 578, the user instructs the robot to generate a virtual barrier. The instruction to generate the virtual barrier can be the instruction to place the robot into the virtual barrier mode (e.g., to place the robot into the handshake mode). In some cases, the user may issue a subsequent instruction—apart from the instruction to place the robot into the virtual barrier mode—to generate the virtual barrier. For example, the user may trigger additional sensors to send the instructions to create the virtual barrier. At operation 580, the controller receives the instructions to create the virtual barrier. The controller may receive the instructions by sensing that the sensors have been triggered in the manners described herein. In some cases, the robot may include a wireless transceiver that allows the controller to communicate with a mobile device to receive instructions from the user. At operation 582, the controller generates the virtual barrier. For example, the controller may define cells in an occupancy grid as being part of the virtual barrier. For example, the virtual barrier can correspond to one or more cells that are designated as non-traversable. In some implementations, the virtual barrier may not be defined in terms of cells in the occupancy grid. Instead, the virtual barrier may be defined based on coordinates on the occupancy grid or some other features that are within, or outside of, the context of the occupancy grid. For example, the virtual barrier is defined based on the initial orientation and position of the robot. Measurements of these orientation may be obtained, e.g., based on signals output from the gyroscope housed within the body of the robot. The controller may know the initial location of the robot, or a part thereof, in the occupancy grid immediately following the handshake. Using this information, namely the orientation and the initial location, the controller may create the virtual barrier by defining a boundary (e.g., a straight line) on the occupancy grid (or elsewhere) that the robot cannot cross. In some cases the controller may generate more than one virtual barrier as described herein. In some examples, the user can select the length of the virtual barrier by providing the controller with appropriate parameters either directly on the robot or through a remote interface. For example, the user can select a 3 to 5-foot (0.9 to 1.6 meter) barrier length to prohibit the robot from passing through a door. In some examples, the user can instruction the robot place a full length barrier of cells in a row/column for sub-dividing an open space. In another case, the user can select a rectangular region surrounding the robot, forming four virtual barriers that the robot should not cross. At operation 584, the controller can provide a visual indication of generation of the virtual barrier. For example, the controller can instruct lights on the robot to illuminate or can issue an audible alert. At operation 586, the user instructs the robot to clean the environment. The user can instruct the robot to clean by pressing the clean button on the robot or by using the mobile device to remotely control the robot. The virtual barrier can be displayed on a map displayed on a user's mobile device.”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kleiner in view of Herlant to generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment, as taught by Williams as disclosed above, in order to ensure optimal robot traversal (Williams Paragraph 2 “A mobile robot can maneuver around surfaces defined by objects, obstacles, walls, and other structures in its surroundings. In some cases, it may be desirable to restrict movement of the robot to particular regions of its surroundings. To do this, barriers can be erected to prevent the robot from passing into restricted regions. For example, a beacon that is detectable by the robot can be placed in the environment to restrict the robot from entering the restricted regions.”).
With respect to claim 19, Kleiner teaches at least one non-transitory machine-readable medium, including instructions, which when executed, cause processing circuitry to perform operations to:
receive sensor data from a mobile cleaning robot based on interactions between the mobile cleaning robot and an environment (See at least Kleiner Paragraph 7 “In some embodiments, the computing device may be a component of the mobile robot, and the occupancy data may be detected by at least one sensor of the mobile robot. The operations may further include operating a drive of the mobile robot to sequentially navigate the non-clutter and clutter areas of the at least one of the respective regions of the surface in the sequence indicated by the coverage pattern.”);
generate a boundary of traversable space by the mobile cleaning robot within the environment using the sensor data (See at least Kleiner Paragraph 5 “Some embodiments of the present invention include a method of operating a mobile robot. The method includes executing, by at least one processor, computer readable instructions stored in a non-transitory computer readable storage medium to perform operations including generating a segmentation map defining respective regions of a surface based on occupancy data that is collected by the mobile robot responsive to navigation of the surface, classifying or otherwise identifying sub-regions of at least one of the respective regions as non-clutter and clutter areas, and computing a coverage pattern based on identification of the sub-regions. The coverage pattern indicates a sequence for navigation of the non-clutter and clutter areas, and is provided to the mobile robot. Responsive to the coverage pattern, the mobile robot sequentially navigates the non-clutter and clutter areas of the at least one of the respective regions of the surface in the sequence indicated by the coverage pattern.” | Paragraphs 222-223); and
generate a modified boundary of the environment using the sensor data (See at least Kleiner Paragraphs 20-30 “In some embodiments, the segmentation map may include simplified boundaries relative to actual boundaries indicated by the occupancy data collected by the mobile robot responsive to navigation of the surface. In some embodiments, the operations may further include modifying the segmentation map having the simplified boundaries to indicate the clutter areas responsive to identification thereof prior to providing the segmentation map to a user device. In some embodiments, identifying the sub-regions as non-clutter and clutter areas may further include accessing a data store comprising a plurality of patterns and identifications thereof, and classifying pixel regions within the sub-regions based on similarities to the plurality of patterns stored in the data store. … Some embodiments provide that the modified segmentation map identifies a subset of the plurality of regions to be cleaned, the subset including a portion of one of the plurality of regions, and the modified segmentation map identifies an order in which the plurality of regions are to be cleaned …” | Paragraphs 222-223).
Kleiner, however, fails to explicitly disclose that the boundary of traversable space at least partially defining non- traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; and generate a modified boundary of the environment using the non-traversable space and the sensor data.
Herlant teaches that the boundary of traversable space at least partially defining non- traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; and generate a modified boundary of the environment using the non-traversable space and the sensor data (See at least Herlant Paragraph 77 “As the controller circuit 109 directs the mobile robot 100 about the floor surface 10 during the mission, the controller circuit 109 uses SLAM techniques to determine a location of the mobile robot 100 within the map by detecting features represented in collected sensor data and comparing the features to previously stored features. The map formed from the sensor data can indicate locations of traversable and nontraversable space within the environment. For example, locations of obstacles are indicated on the map as nontraversable space, and locations of open floor space are indicated on the map as traversable space”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kleiner to include that the boundary of traversable space at least partially defining non- traversable space of the environment, the non-traversable space including a region beyond the boundary of traversable space but within the environment; and generate a modified boundary of the environment using the non-traversable space and the sensor data, as taught by Herlant as disclosed above, in order to ensure accurate traversal of the mobile cleaning robot (Herlant Paragraph 1 “This document relates generally to mobile robots and, more particularly, to systems, devices, and methods for validating a dock location for docking a mobile robot”).
Kleiner in view of Herlant fail to explicitly disclose to generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment.
Williams teaches to generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment (See at least Williams FIG. 6C and Paragraphs 72-86 “In the example illustrated in FIGS. 6A to 6C, a user places a robot (e.g., the robot 200 described with respect to FIGS. 3A to 3B) in an environment 502 before the robot 200 executes a cleaning operation to clean the floor surface 10 of the environment 502. A controller (e.g., the controller 390) of the robot 200 generates an occupancy grid 518 corresponding to the environment 502. In this example, the user may wish to sequentially clean a first room 504 during a first cleaning operation and a second room 506 during a second cleaning operation. The user may seek to have the robot 200, in one cleaning operation, clean the first room 504 without cleaning the second room 506 in the environment 502 … Referring to FIG. 6C, a flow chart 560 illustrates a method for a robot to generate a virtual barrier based on an instruction from a user. The flow chart includes user operations 565 corresponding to operations executed by the user and robot operations 570 corresponding to operations executed by the robot. At operation 572, the user positions the robot within an environment. The position of the robot will serve as both the starting location of the robot and the location of the virtual barrier. As such, the user can position the robot such that a feature on the robot is aligned with (e.g., parallel to) an edge in the environment that the user does not want to the robot to cross (e.g., across which a virtual barrier is to be erected). For example, as described herein, the feature can be lights on the robot or a surface of the robot body. In some cases, the user may wish to create two (e.g., perpendicular) virtual barriers so that the robot does not cross two edges in the environment, and in such cases, the robot may have two features, each indicating a position and orientation of a virtual barrier. At operation 574, the user instructs the robot to enter a virtual barrier mode. The user may issue this instruction using any of the methods described herein, or any other appropriate method, that trigger the robot to enter the handshake mode. At operation 576, a controller of the robot receives the instruction and places the robot into the virtual barrier mode. At operation 578, the user instructs the robot to generate a virtual barrier. The instruction to generate the virtual barrier can be the instruction to place the robot into the virtual barrier mode (e.g., to place the robot into the handshake mode). In some cases, the user may issue a subsequent instruction—apart from the instruction to place the robot into the virtual barrier mode—to generate the virtual barrier. For example, the user may trigger additional sensors to send the instructions to create the virtual barrier. At operation 580, the controller receives the instructions to create the virtual barrier. The controller may receive the instructions by sensing that the sensors have been triggered in the manners described herein. In some cases, the robot may include a wireless transceiver that allows the controller to communicate with a mobile device to receive instructions from the user. At operation 582, the controller generates the virtual barrier. For example, the controller may define cells in an occupancy grid as being part of the virtual barrier. For example, the virtual barrier can correspond to one or more cells that are designated as non-traversable. In some implementations, the virtual barrier may not be defined in terms of cells in the occupancy grid. Instead, the virtual barrier may be defined based on coordinates on the occupancy grid or some other features that are within, or outside of, the context of the occupancy grid. For example, the virtual barrier is defined based on the initial orientation and position of the robot. Measurements of these orientation may be obtained, e.g., based on signals output from the gyroscope housed within the body of the robot. The controller may know the initial location of the robot, or a part thereof, in the occupancy grid immediately following the handshake. Using this information, namely the orientation and the initial location, the controller may create the virtual barrier by defining a boundary (e.g., a straight line) on the occupancy grid (or elsewhere) that the robot cannot cross. In some cases the controller may generate more than one virtual barrier as described herein. In some examples, the user can select the length of the virtual barrier by providing the controller with appropriate parameters either directly on the robot or through a remote interface. For example, the user can select a 3 to 5-foot (0.9 to 1.6 meter) barrier length to prohibit the robot from passing through a door. In some examples, the user can instruction the robot place a full length barrier of cells in a row/column for sub-dividing an open space. In another case, the user can select a rectangular region surrounding the robot, forming four virtual barriers that the robot should not cross. At operation 584, the controller can provide a visual indication of generation of the virtual barrier. For example, the controller can instruct lights on the robot to illuminate or can issue an audible alert. At operation 586, the user instructs the robot to clean the environment. The user can instruct the robot to clean by pressing the clean button on the robot or by using the mobile device to remotely control the robot. The virtual barrier can be displayed on a map displayed on a user's mobile device.”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kleiner in view of Herlant to generate a map of the environment based on the modified boundary; and control the mobile cleaning robot to execute one or more missions or behaviors based on the map of the environment, as taught by Williams as disclosed above, in order to ensure optimal robot traversal (Williams Paragraph 2 “A mobile robot can maneuver around surfaces defined by objects, obstacles, walls, and other structures in its surroundings. In some cases, it may be desirable to restrict movement of the robot to particular regions of its surroundings. To do this, barriers can be erected to prevent the robot from passing into restricted regions. For example, a beacon that is detectable by the robot can be placed in the environment to restrict the robot from entering the restricted regions.”).
With respect to claim 23, Kleiner in view of Herlant in view of Williams teach to replace a portion of the boundary of traversable space abutting an inner perimeter of a non- traversable space with an outer perimeter of the non-traversable space (See at least Kleiner Paragraph 223 “Accordingly, a coverage pattern may be determined and provided to the robot 100 such that the robot 100 first cleans the elongated corridor 2904 by efficient ranking without entering the shoe-cluttered area 2906. After executing the cleaning of the elongated corridor 2904, the robot 100 will sequentially clean the clutter area 2906 (to the left of the corridor) by edge cleaning, according to the coverage pattern. However, if people subsequently begin placing shoes near the right wall of the elongated corridor 2904 (and no longer in the area 2906 to the left), the area classifications and coverage pattern may be modified responsive to detection of this change after subsequent navigations, and the robot 100 may observably alter its cleaning behavior after a few cleaning runs. More particularly, the coverage pattern may be modified such that, in response to the coverage pattern, the robot 100 may first clean the now-open area (formerly classified as clutter area 2906) on the left side of the elongated corridor 2904, and then execute edge cleaning on the shoe-cluttered area along the right wall of the elongated corridor 2904. More generally, there may be multiple indications of clutter detection during navigation of the robot 100. These may include, but are not limited to, display and marking of the clutter areas 2906 and open areas 2904 via the user interface of a user device 202, different behavior of the robot 100 in navigating the open areas 2904 and clutter areas 2906, and repeated execution of the different behaviors in the same order or sequence (as well as changes to the repeated execution responsive to changes in the environment).”).
With respect to claim 24, Kleiner in view of Herlant in view of Williams teach that the non-traversable space includes space between an obstacle that physically prevents the mobile cleaning robot from traversing beyond the obstacle and a wall defining an edge of the environment (See at least Kleiner Paragraph 146 “For example, a robot attempting to wall follow along an edge of an obstacle or collection of obstacles constituting clutter may detect and avoid the clutter by turning left and/or right at least three times in a distance of less than 5 feet. For example, a robot attempting to wall follow along an edge of an obstacle or collection of obstacles constituting clutter may detect and avoid the clutter by turning left and/or right at least three times in a distance spanning the length of the clutter over a length of 10 feet or less. For example, a robot encountering an obstacle or collection of obstacles constituting clutter may detect and avoid the clutter by turning from a forward heading at least three times in a two foot distance. For example, a robot encountering an obstacle or collection of obstacles constituting clutter may detect and avoid the clutter by turning left and/or right at least three times in a distance of less than 10 feet along one primary direction and at least 10 feet along a direction orthogonal to the primary direction so as to identify an outer boundary of the clutter region.”).
Claims 9-10 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Kleiner (US 20180074508 A1) (“Kleiner”) in view of Herlant (US 20220206507 A1) (“Herlant”) in view of Williams (US 20200238520 A1) (“Williams”) further in view of Afrouzi (US 20200409376 A1) (“Afrouzi”).
With respect to claim 9, and similarly claim 18, Kleiner in view of Herlant in view of Williams fails to explicitly disclose to determine a height of the characterized portions using the sensor data; and generate a three dimensional representation for each of the characterized portions using the map and the height of the characterized portions.
Afrouzi teaches determine a height of the characterized portions using the sensor data (See at least Afrouzi Paragraph 187 “In some embodiments, the map may be a state space with possible values for x, y, z. In some embodiments, a value of x and y may be a point on a Cartesian plane on which the robot drives and the value of z may be a height of obstacles or depth of cliffs. In some embodiments, the map may include additional dimensions (e.g., debris accumulation, floor type, obstacles, cliffs, stalls, etc.)”); and
generate a three dimensional representation for each of the characterized portions using the map and the height of the characterized portions (See at least Afrouzi Paragraph 345 “FIG. 123A illustrates a flowchart depicting the combination of SLAM and AR. A SLAM enabled device 6500 (e.g., robot 6501, smart phone 6502, smart glasses, 6503, smart watch 6504, and virtual reality goggles 6505, etc.) generates information 6506, such as an environmental map, 3D outline of the environment, and other environmental data (e.g., temperature, debris accumulation, floor type, edges, previous collisions, etc.), and places them as overlaid layers of a video feed of the same environment in real time 6502 …”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kleiner in view of Herlant in view of Williams to include to determine a height of the characterized portions using the sensor data; and generate a three dimensional representation for each of the characterized portions using the map and the height of the characterized portions, as taught by Afrouzi as disclosed above, in order to ensure an accurate map for the cleaning robot to traverse (Afrouzi Abstract “Provided is a method for operating a robot, including capturing images of a workspace, comparing at least one object from the captured images to objects in an object dictionary, identifying a class to which the at least one object belongs using an object classification unit, instructing the robot to execute at least one action based on the object class identified, capturing movement data of the robot, and generating a planar representation of the workspace based on the captured images and the movement data, ”).
With respect to claim 10, Kleiner in view of Herlant in view of Williams in view of Afrouzi teach to generate a three dimensional map based on the map and based on the three dimensional representations of the characterized portions (See at least Afrouzi Paragraph 345 “FIG. 123A illustrates a flowchart depicting the combination of SLAM and AR. A SLAM enabled device 6500 (e.g., robot 6501, smart phone 6502, smart glasses, 6503, smart watch 6504, and virtual reality goggles 6505, etc.) generates information 6506, such as an environmental map, 3D outline of the environment, and other environmental data (e.g., temperature, debris accumulation, floor type, edges, previous collisions, etc.), and places them as overlaid layers of a video feed of the same environment in real time 6502 … FIG. 123E illustrates an example of a video of a camera feed with several layers of overlaid information, such as dimensions 6508, a three dimensional map of perimeters 6509, dynamic obstacle 6510, and information 6511. Because of SLAM, hidden elements, such as dynamic obstacle 6510 positioned behind a wall, may be shown. FIG. 123F illustrates the different layers 6512 that are overlaid on the video illustrated in FIG. 123E. FIG. 123G illustrates an example of an overlay of a map of an environment 6513 on a video of a camera feed observing the same environment.”).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to IBRAHIM ABDOALATIF ALSOMAIRY whose telephone number is (571)272-5653. The examiner can normally be reached M-F 7:30-5:30.
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, Faris Almatrahi can be reached at 313-446-4821. 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.
/IBRAHIM ABDOALATIF ALSOMAIRY/Examiner, Art Unit 3667 /KENNETH J MALKOWSKI/Primary Examiner, Art Unit 3667
1 There is no limiting definition as to what constitutes to characterize, but the published specification states in paragraph 77 “For example, based on the sensor data and the map, spaces or objects can be characterized as walls or other immobile objects”