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 .
Status of Claims
• This action is in reply to the amendments filed on 05/25/2026 for Application No. 18/351,484.
• Claims 1, 5 – 10, 13 – 15 and 18 are currently pending and have been examined. Claims 1 and 15 have been amended. Claims 2 – 4, 11 – 12 and 16 – 17 have been cancelled.
• This action is made FINAL.
Information Disclosure Statement
The information disclosure statements filed 05/10/2026 have been received and considered.
Claim Objections
Claim 1 is objected to because of the following informalities:
Claim 1 recites the limitation “selecting each candidate navigation point” in line 5 is unclear as it is not claimed there to be a plurality of candidate navigation points. For example, if the claim stated “selecting a plurality of candidate navigation points”, it is clear that there are multiple candidate navigation points which can be selected.
Claim 1 recites the limitation “determining a target navigation point from each candidate navigation point”. It is unclear however, if a target navigation point is one of the candidate navigation points or does each candidate navigation point have their own target navigation point?
Claim 1 recites the limitation "the access status" in lines 9 – 10. There is insufficient antecedent basis for this limitation in the claim.
Claim 1 recites the limitation "the vertical line" in lines 14 – 15. There is insufficient antecedent basis for this limitation in the claim.
Appropriate correction is required.
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, 6 – 10, 14 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Afrouzi et al. (US 11274929 B1), further in view of Park et al. (US 20210331315 A1) and Liu et al. (CN115639827A).
Regarding claim 1, Afrouzi teaches a robot control method performed by a processer for building a complete map (Afrouzi: Col. 2, lines 20 – 30 “Some aspects include a method for mapping and covering a workspace, including: capturing, with at least one sensor of a robot, first data indicative of the position of the robot in relation to objects within the workspace and second data indicative of movement of the robot; recognizing, with a processor of the robot, a first area of the workspace based on observing at least one of: a first part of the first data and a first part of the second data; generating, with the processor of the robot, at least part of a map of the workspace based on at least one of: the first part of the first data and the first part of the second data.”,
Supplemental Note: teaches a method of creating a map of the environment by the use of the robot sensors)
before a robot performs a task, comprising: (Afrouzi: Col. 1, line 65 – Col. 2, lines 6: “To operate autonomously or to operate with minimal (or less than fully manual) input and/or external control within a working environment, mapping, localization, and path planning methods may be such that robotic devices may autonomously create a map of the working environment, subsequently use the map for navigation, and devise intelligent path plans and task plans for efficient navigation and task completion.”)
performing preliminary map construction to obtain an initial map, wherein the initial map comprises unknown regions; (Afrouzi: Col. 59, lines 32 – 45: “In some embodiments, the processor may determine an amount of time for building the map. In some embodiments, an Internet of Things (IoT) subsystem may create and/or send a binary map to the cloud and an application of a communication device. In some embodiments, the IoT subsystem may store unknown points within the map. In some embodiments, the binary maps may be an object with methods and characteristics such as capacity, raw size, etc. having data types such as a bydxbvte. In some embodiments, a binary map may include the number of obstacles. In some embodiments, the map may be analyzed to find doors within the room. In some embodiments, the time of analysis may be determined. In some embodiments, the global map may be provided in ASCII format.”)
selecting each candidate navigation point from the initial map of the robot, wherein each candidate navigation point corresponds to an unknown region; (Afrouzi: Col. 59, lines 55 – 60: “In some embodiments, the map may be pushed to the cloud after completion of coverage wherein the robot has examined every area within the map by visiting each area implementing any required corrections to the map. In some embodiments, the map may be provided after a few runs to provide an accurate representation of the environment.”,
Supplemental Note: an incomplete map can be sent to the robot where it can complete the coverage of the map)
… controlling the robot to move to the target navigation point, so
as to explore an unknown region corresponding to the target navigation point, thereby building the complete map (Afrouzi: Col. 54, lines 64 – Col. 55, line 2: “the processor identifies gaps in the map (e.g., due to areas blind to a sensor or a range of a sensor). In some embodiments, the processor may actuate the robot to move towards and investigates the gap, collecting observations and mapping new areas by adding new observations to the map until the gap is closed.”: Col. 55, lines 13 – 38: “Issues related to incorrect perimeter prediction may be eradicated with thorough inspection of the environment and training. For example, data from a second type of sensor may be used to validate a first map constructed based on data collected by a first type of sensor. In some embodiments, additional information discovered by multiple sensors may be included in multiple layers or different layers or in the same layer. In some embodiments, a training period of the robot may include the robot inspecting the environment various times with the same sensor or with a second (or more) type of sensor. In some embodiments, the training period may occur over one session (e.g., during an initial setup of the robot) or multiple sessions. In some embodiments, a user may instruct the robot to enter training at any point. In some embodiments, the processor of the robot may transmit the map to the cloud for validation and further machine learning processing. For example, the map may be processed on the cloud to identify rooms within the map. In some embodiments, the map including various information may be constructed into a graphic object and presented to the user (e.g., via an application of a communication device). In some embodiments, the map may not be presented to the user until it has been fully inspected multiple times and has high accuracy. In some embodiments, the processor disables a main brush and/or a side brush of the robot when in training mode or when searching and navigating to a charging station.”,
Supplemental Note: based on a gap in the map data, the robot can travel to that location to fill in the data. It should be noted that the system registers unknown areas as gaps as well as doorways).
In sum, Afrouzi teaches a robot control method performed by a processer for building a complete map before a robot performs a task, comprising: performing preliminary map construction to obtain an initial map, wherein the initial map comprises unknown regions; selecting each candidate navigation point from the initial map of the robot, wherein each candidate navigation point corresponds to an unknown region; controlling the robot to move to the target navigation point, so as to explore an unknown region corresponding to the target navigation point, thereby building the complete map. Afrouzi however does not teach determining a target navigation point from each candidate navigation point according to a relative positional relationship between each candidate navigation point and the robot, wherein the relative positional relationship comprises the access status and the distance; the determining the target navigation point comprising: constructing a connecting line between a current candidate navigation point and the robot, wherein the current candidate navigation point is any candidate navigation point; determining whether the connecting line passes through a long-side obstacle in the map, wherein the long-side obstacle is an obstacle whose projected length on the vertical line of the connecting line between the candidate navigation point and the robot is greater than a preset length threshold; when the connecting line passes through the long-side obstacle in the map, determining that the current candidate navigation point and the robot are in a blocked status; when the connecting line does not pass through the long-side obstacle in the map, determining that the current candidate navigation point and the robot are in a directly communicated status; determining a first weight of each candidate navigation point respectively according to the access status between each candidate navigation point and the robot, wherein compared with the candidate navigation point that is in the blocked status related to the robot, the candidate navigation point that is in the directly communicated status related to the robot is assigned with a higher first weight to perform priority exploration.
Liu teaches determining a target navigation point from each candidate navigation point according to a relative positional relationship between each candidate navigation point and the robot, wherein the relative positional relationship comprises the access status and the distance; the determining the target navigation point comprising: (Liu: lines 64 – 69 :“The parent node in the path planning of the robot searches for the coordinate change value of the child nodes in the path planning of the robot, so as to determine the child nodes of the infeasible path for the path planning of the robot, and obtain an open node set; wherein, the open A plurality of child nodes contained in the node set are all feasible paths of the robot; based on the Manhattan distance of the eight-direction A-star algorithm after searching for nodes, the minimum distance child node of the current parent node in the open node set is the next path node to generate the robot's initial path.”; lines 71 – 76: “performing backtracking calculation on the initial path based on the extracted vertices to generate the robot's Optimizing the path includes: generating a primary planning path of the robot based on the extracted vertices; The end point of the path is associated with the furthest search path without obstacles; the first-time plan is determined In the forward connection of the path, the th vertex corresponding to the farthest search path that is associated with the vertex and has no obstacles Points are cycled in turn until reaching the starting point of the first planned path to obtain the optimized path of the robot; wherein, are all positive integers.”,
Supplemental Note: the path is optimized to find the child nodes which corresponding to an open path, thus a node with no obstacles, and also nodes which are in the direction of the target point)
constructing a connecting line between a current candidate navigation point and the robot, wherein the current candidate navigation point is any candidate navigation point;
determining whether the connecting line passes through a long-side obstacle in the map, wherein the long-side obstacle is an obstacle whose projected length on the vertical line of the connecting line between the candidate navigation point and the robot is greater than a preset length threshold; when the connecting line passes through the long-side obstacle in the map, determining that the current candidate navigation point and the robot are in a blocked status; when the connecting line does not pass through the long-side obstacle in the map, determining that the current candidate navigation point and the robot are in a directly communicated status; (Liu: lines 161 – 163: “The planning of the robot path only considers the length of the path, but does not consider the concept of space. Therefore, in the planned path, there is a phenomenon that it is close to the vertex of the obstacle and crosses the diagonal of the connected obstacle. The planned path is not suitable for the robot to travel.”; lines 293 – 298: “In order to avoid the intersection of the planned path and the obstacle vertex, when the child node appears in [upper left; upper right; lower left; lower right], add Determine whether the two sides of the child node adjacent to the parent node are obstacle grids. For example, when the upper left child node appears, it is judged that the There is no obstacle grid on the right and lower side of the node. If there is an obstacle grid, the node is not a feasible path and cannot be placed in the open in the node.”; lines 347 – 354: “first obtain the vertex set file_list of the initial path; then, through the backtracking algorithm, connect the second vertex in the path from the end point, and judge whether the line segment has an intersection with the obstacle. If there is no intersection point, the end point is connected At the third vertex in the path, continue to judge whether there is an intersection with the obstacle, knowing that the line segment encounters an obstacle; finally, backtrack to the third vertex in turn (assuming that the line segment connecting the third vertex and the end point encounters an obstacle) For the remaining nodes between the second vertex, finally find a line segment that does not intersect with the obstacle, determine the first and last nodes of the line segment, and discard other intermediate nodes in the backtracking process.”; lines 356 – 360: “As shown in Figure 9, point A and point B are similar vertices that can be connected by a straight line, the distance between point A and point B is defined as, and so on, when point A and point C, point A and point D are connected, the line segment There is no intersection with obstacles, so the initial path The diameter can be changed to a line segment AD. If the path intersects with obstacles, such as , then the path length tends to at infinity. Accordingly, there are: Then it can be determined that point B is a redundant node in the path, and node B is removed from the path.”,
Supplemental Note: the preset length threshold is equivalent to the path from current point of the robot to the target position being blocked. In these scenarios, the robot travels to an open point until the path to the target position is open, thus being able to determine a directly communicated status. The candidate navigation points are equivalent to the child nodes as the vehicle is traveling and determining the closest open child node enroute to the target position. This is further shown in Figure A. Furthermore the preset length threshold is equivalent to the obstacle grid as if there are obstacles on a node the robot has to travel to, the robot is to travel to another open node. The grid map is shown in Figure B)
PNG
media_image1.png
550
747
media_image1.png
Greyscale
Figure A: Liu: Fig. 9
PNG
media_image2.png
594
728
media_image2.png
Greyscale
Figure B: Liu: Fig. 2
determining a first weight of each candidate navigation point respectively according
to the access status between each candidate navigation point and the robot, wherein compared with the candidate navigation point that is in the blocked status related to the robot, the candidate navigation point that is in the directly communicated status related to the robot is assigned with a higher first weight to perform priority exploration; (Liu: lines 290 – 301: “For the problems of the multi-directional A-star algorithm in path planning (as shown in Figure 6), this application, according to the parent node The coordinate change value of the child node that can be searched, the eight search direction locators [0 1;0 -1;-1 0;1 0;-1 1; -1 - 1; 1 1; 1 -1], corresponding to the parent node [up; down; left; right; upper left; upper right; lower left; lower right] eight directions of child nodes. for In order to avoid the intersection of the planned path and the obstacle vertex, when the child node appears in [upper left; upper right; lower left; lower right], add Determine whether the two sides of the child node adjacent to the parent node are obstacle grids. For example, when the upper left child node appears, it is judged that the There is no obstacle grid on the right and lower side of the node. If there is an obstacle grid, the node is not a feasible path and cannot be placed in the open in the node. If there are no obstacle nodes on the right side and the lower side of the node, then the child node is a feasible path and put it into an open node middle. In the next step, in the open node, find the minimum distance child node of the parent node through the Manhattan distance of the A-star algorithm as next path node.”).
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have been modified the invention disclosed by Afrouzi with the teachings of Liu with a reasonable expectation of success. Afrouzi and Liu both teaches robots with sensors able to identify and traverse their environment. Afrouzi teaches this mapping method to be done as the robot is performing work whereas Liu teaches solely searching the optimal path from a starting point to target location. One of ordinary skill would find it obvious to try to implement the optimal path determination method of Liu to be combined with the robot of Afrouzi. For example, Afrouzi teaches finding gaps along the boundary of the working area and in the working area map which causes the robot to move and explore that area (Afrouzi: Col. 54, line 64 – Col. 55, line 11). The optimal path of Liu allows the determination of obstacles along the way to the target position (such as the gaps of Afrouzi) by creating child nodes in which the robot can travel to the closest open node in the direction of the target position. The obstacles are identified (shown in Figure A) by an obstacle grid in which the child nodes are evaluated to get the shortest path to the target position, as further shown in Figure C below. This ability increases the efficiency of the robot of Afrouzi as it travels around the environment as it can further travel optimally around the various obstacles. For these reasons, one of ordinary skill would find it obvious to try to implement the optimal path method of Liu with the robot of Afrouzi.
PNG
media_image3.png
589
677
media_image3.png
Greyscale
Figure C: Liu: Fig. 3
Afrouzi in view of Liu however still do not teach determining a second weight of each candidate navigation point respectively according to a distance between each candidate navigation point and the robot; calculating a comprehensive weight of each candidate navigation point respectively according to the first weight and the second weight of each candidate navigation point; and determining a candidate navigation point with a highest comprehensive weight as the target navigation point.
Park teaches determining a second weight of each candidate navigation point respectively according to a distance between each candidate navigation point and the robot;
calculating a comprehensive weight of each candidate navigation point respectively according to the first weight and the second weight of each candidate navigation point; and
determining a candidate navigation point with a highest comprehensive weight as the target navigation point; (Park: Paragraph 0113: “Accordingly, as illustrated in FIG. 4, a waypoint, through which the robot is required pass to arrive at a destination, may be stored in the storage 730, and the robot may move while continuously changing a detailed plan for a path considering the position of a sensed (recognized) obstacle between waypoints.”; Paragraph 0115: “The robot goes through W1, W2, W3, W4, and W5 while moving from a start point (START) to a destination point (END). The waypoints may be classified as essential waypoints and non-essential waypoints, and the essential waypoints and non-essential waypoints may be stored in the storage 730.”; Paragraph 0121: “When the controller confirms that the robot may not approach to the first waypoint, but a distance between the current position of the robot and the coordinate of the first waypoint is longer than the preset reference distance, the robot may search for a path with no obstacle between the first waypoint and the robot while moving around the first waypoint, or when the second waypoint, through which the robot passes next, takes higher priority over the first waypoint, the controller may store the state of non-arrival at the first waypoint, and may generate a navigation route to the second waypoint (S106).”: Paragraph 0123: “Further, when a range of waypoints (effective area range) is fixed, the robot may wander around a waypoint in the case in which there are lots of obstacles in the effective area range. Furthermore, when an effective area range is too wide, the robot is highly likely to navigate away from a waypoint. Accordingly, the above-describe effective area range may be changed while the robot is navigating. Additionally, the robot may choose to move to the next waypoint on the basis of the current position of the robot and the location of the waypoint.”,
Supplemental Note: the robot is able to travel to various waypoints. If the distance to one waypoint is longer than expected (the waypoint surrounded by obstacles), the robot determines to move to the next way point. The access status is determining whether or not the robot is able to reach the waypoint based on the obstacles and if the distance to reach the waypoint is too large to then move to the next waypoint. These parameters of a distance to a waypoint and the access to a waypoint are interpreted as weights, thus both are evaluated in determining which waypoint the robot is to travel to. The multiple waypoints and their position in relation to the robot is shown below in Table A).
PNG
media_image4.png
266
501
media_image4.png
Greyscale
Table A - Park; Table 1
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the invention disclosed by Afrouzi with the teachings of Park with a reasonable expectation of success. Both Afrouzi and Park teach autonomous robots which are able to sense and map out their surroundings. Both robots have the ability to independently navigate while also avoiding obstacles in which Park teaches a method of evaluating distances to waypoints and their access status depending on how many obstacles are around a particular waypoint. This evaluation is used to determine which of the waypoints the robot is to travel to. This would be obvious to try to implement with the cleaning robot of Afrouzi by one of ordinary skill in the art. For example, if the cleaning robot is traveling to multiple waypoints and a user is in the way of one of the waypoints (named “W1”), the robot is now able to determine whether the distance to W1 is too large and if the robot is able to have access to W1 with the user in the way. Per this evaluation, the robot can determine whether or not to travel to W1 or another waypoint (named “W2”). This increases the efficiency in which the robot cleans the room as it can now clean areas with shorter distances and a higher access status, thus increasing the safety of the user/robot as, for example, if the user accidently steps on the robot as it is cleaning near them.
Regarding claim 6, Afrouzi, as modified, teaches wherein the selecting each candidate navigation point from a map of a robot comprises:
identifying, by the at least one processer, boundary pixel points in the map, wherein the boundary pixel points are known region pixel points adjacent to unknown region pixel points; (Afrouzi: Col. 2, lines 20 – 46: “Some aspects include a method for mapping and covering a workspace, including: capturing, with at least one sensor of a robot, first data indicative of the position of the robot in relation to objects within the workspace and second data indicative of movement of the robot; recognizing, with a processor of the robot, a first area of the workspace based on observing at least one of: a first part of the first data and a first part of the second data; generating, with the processor of the robot, at least part of a map of the workspace based on at least one of: the first part of the first data and the first part of the second data; generating, with the processor of the robot, a first movement path covering at least part of the first recognized area of the workspace; actuating, with the processor of the robot, the robot to move along the first movement path; recognizing, with the processor of the robot, a second area of the workspace based on observing at least one of: a second part of the first data and a second part of the second data; updating, with the processor of the robot, the at least the part of the map of the workspace based on at least one of: the second part of the first data and the second part of the second data; generating, with the processor of the robot, a second movement path covering at least part of the second recognized area of the workspace; and actuating, with the processor of the robot, the robot to move along the second movement path, wherein actuating the robot to move along at least one of the first movement path and the second movement path comprises at least a repetitive iteration”; Col. 29, lines 32 – 38: “In some embodiments, a modified RANSAC approach is used where any two points, one from each data set, are connected by a line. A boundary is defined with respect to either side of the line. Any points from either data set beyond the boundary are considered outliers and are excluded. The process is repeated using another two points. The process is intended to remove outliers to achieve a higher probability of being the true distance to the perceived wall.”; Col. 20, lines 2 – 11: “In some embodiments, the processor may generate or update a map using captured images of the environment. In some embodiments, a captured image may be processed prior to using the image in generating or updating the map. In some embodiments, processing may include replacing readings corresponding to each pixel with averages of the readings corresponding to neighboring pixels. FIG. 18 illustrates an example of replacing a reading 1800 corresponding with a pixel with an average of the readings 1801 of corresponding neighboring pixels 1802.”,
Supplemental Note: the robot is able to make movement paths from recognized areas to unrecognized areas to update the map. The boundaries are shown on the map which can be updated by pixel values)
clustering, by the at least one processer, the boundary pixel points to obtain each boundary line; and (Afrouzi: Col. 26, lines 44 – 46: “Some embodiments may then determine the centroid of each cluster in the spatial dimensions of an output depth vector for constructing floor plan maps.”,
Supplemental Note: the floor maps which are interpreted as the boundaries are cited to be created by the centroid of each captured spatial dimension)
selecting, by the at least one processer, a midpoint of each boundary line as each candidate navigation point (Afrouzi: Col. 37, lines 12 – 17: “The robot, in some embodiments, then moves in a forward direction (defined as the direction in which the sensor points, e.g., the centerline of the field of view of the sensor) by some first distance allowing the sensors to observe surroundings areas within the detection range as the robot moves.”,
Supplemental Note: the vehicle creates its recognized boundaries by the acquired censor data, thus when the movements of the robot are from the centerline of field of view of the sensors, it is interpreted as the claim limitation).
Regarding claim 7, Afrouzi, as modified, teaches, wherein, before the selecting each candidate navigation point from a map of a robot, the robot control method further comprises: identifying, by the at least one processer, a gap region in the map, wherein the gap region is a region whose entrance width is smaller than a preset width threshold; and (Afrouzi: Col. 56, lines 45 – 51: “In some embodiments, the processor may use a threshold to determine whether the data points considered indicate an opening in the wall when, for example, the error exceeds some threshold value. In some embodiments, the processor may use an adaptive threshold wherein the values below the threshold may be considered to be a wall.”)
removing, by the at least one processer, the gap region from the map (Afrouzi: Col. 54, line 64 – Col. 55, line 2: “In some embodiments, the processor identifies gaps in the map (e.g., due to areas blind to a sensor or a range of a sensor). In some embodiments, the processor may actuate the robot to move towards and investigates the gap, collecting observations and mapping new areas by adding new observations to the map until the gap is closed”; Col. 55, lines 40 – 56: “In some embodiments, a gap in the perimeters of the environment may be due to an opening in the wall (e.g., a doorway or an opening between two separate areas). In some embodiments, exploration of the undiscovered areas within which the gap is identified may lead to the discovery of a room, a hallway, or any other separate area. In some embodiments, identified gaps that are found to be, for example, an opening in the wall may be used in separating areas into smaller subareas. For example, the opening in the wall between two rooms may be used to segment the area into two subareas, where each room is a single subarea. This may be expanded to any number of rooms. In some embodiments, the processor of the robot may provide a unique tag to each subarea and may use the unique tag to order the subareas for coverage by the robot, choose different work functions for different subareas, add restrictions to subareas, set cleaning schedules for different subareas, and the like.”).
Regarding claim 8, Afrouzi, as modified, teaches a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores a computer program that, when executed by a processor,(Afrouzi: Claim 21: “A robot, comprising: a drive motor configured to actuate movement of the robot; at least one sensor coupled to the robot; a processor onboard the robot and configured to communicate with the sensor and the drive motor; and memory storing instructions that when executed by the processor cause the robot to effectuate operations comprising:”)
executes steps of the robot control method according to claim 1 (Afrouzi: Col. 8, lines 7 – 24: “In some embodiments, a robot may include, but is not limited to include, one or more of a casing, a chassis including a set of wheels, a motor to drive the wheels, a receiver that acquires signals transmitted from, for example, a transmitting beacon, a transmitter for transmitting signals, a processor, a memory, a controller, tactile sensors, obstacle sensors, network or wireless communications, radio frequency communications, power management such as a rechargeable battery or solar panels or fuel, one or more clock or synchronizing devices, temperature sensors, imaging sensors, and at least one cleaning tool (e.g., impeller, brush, mop, scrubber, steam mop, polishing pad, UV sterilizer, etc.). The processor may, for example, receive and process data from internal or external sensors, execute commands based on data received, control motors such as wheel motors, map the environment, localize the robot, determine division of the environment into zones, and determine movement paths.”).
Regarding claim 9, Afrouzi, as modified, teaches a robot, comprising a memory, a processor and a computer program stored in the memory and operable on the processor (Afrouzi: Claim 21: “A robot, comprising: a drive motor configured to actuate movement of the robot; at least one sensor coupled to the robot; a processor onboard the robot and configured to communicate with the sensor and the drive motor; and memory storing instructions that when executed by the processor cause the robot to effectuate operations comprising:”)
when executed by the processor, the computer program executes steps of the robot control method according to claim 1 is realized, when the processor executes the computer program (Afrouzi: Col. 8, lines 7 – 24: “In some embodiments, a robot may include, but is not limited to include, one or more of a casing, a chassis including a set of wheels, a motor to drive the wheels, a receiver that acquires signals transmitted from, for example, a transmitting beacon, a transmitter for transmitting signals, a processor, a memory, a controller, tactile sensors, obstacle sensors, network or wireless communications, radio frequency communications, power management such as a rechargeable battery or solar panels or fuel, one or more clock or synchronizing devices, temperature sensors, imaging sensors, and at least one cleaning tool (e.g., impeller, brush, mop, scrubber, steam mop, polishing pad, UV sterilizer, etc.). The processor may, for example, receive and process data from internal or external sensors, execute commands based on data received, control motors such as wheel motors, map the environment, localize the robot, determine division of the environment into zones, and determine movement paths.”; Col. 161, lines 27 – 30: “In some embodiments, boot up time of the robot may be reduced or performance may be improved by using a higher frequency CPU. In some instances, an increase in frequency of the processor may decrease runtime for all programs.”).
Regarding claim 10, Afrouzi teaches wherein, before the selecting each candidate navigation point from a map of a robot, the robot control method further comprises:
identifying a gap region in the map, wherein the gap region is a region whose entrance width is smaller than a preset width threshold; and (Afrouzi: Col. 56, lines 45 – 51: “In some embodiments, the processor may use a threshold to determine whether the data points considered indicate an opening in the wall when, for example, the error exceeds some threshold value. In some embodiments, the processor may use an adaptive threshold wherein the values below the threshold may be considered to be a wall.”)
removing the gap region from the map (Afrouzi: Col. 54, line 64 – Col. 55, line 2: “In some embodiments, the processor identifies gaps in the map (e.g., due to areas blind to a sensor or a range of a sensor). In some embodiments, the processor may actuate the robot to move towards and investigates the gap, collecting observations and mapping new areas by adding new observations to the map until the gap is closed”; Col. 55, lines 40 – 56: “In some embodiments, a gap in the perimeters of the environment may be due to an opening in the wall (e.g., a doorway or an opening between two separate areas). In some embodiments, exploration of the undiscovered areas within which the gap is identified may lead to the discovery of a room, a hallway, or any other separate area. In some embodiments, identified gaps that are found to be, for example, an opening in the wall may be used in separating areas into smaller subareas. For example, the opening in the wall between two rooms may be used to segment the area into two subareas, where each room is a single subarea. This may be expanded to any number of rooms. In some embodiments, the processor of the robot may provide a unique tag to each subarea and may use the unique tag to order the subareas for coverage by the robot, choose different work functions for different subareas, add restrictions to subareas, set cleaning schedules for different subareas, and the like.”).
Regarding claim 14, Afrouzi, as modified, teaches wherein, before the selecting each candidate navigation point from a map of a robot, the robot control method further comprises:
identifying a gap region in the map, wherein the gap region is a region whose entrance width is smaller than a preset width threshold; and (Afrouzi: Col. 56, lines 45 – 51: “In some embodiments, the processor may use a threshold to determine whether the data points considered indicate an opening in the wall when, for example, the error exceeds some threshold value. In some embodiments, the processor may use an adaptive threshold wherein the values below the threshold may be considered to be a wall.”)
removing the gap region from the map (Afrouzi: Col. 54, line 64 – Col. 55, line 2: “In some embodiments, the processor identifies gaps in the map (e.g., due to areas blind to a sensor or a range of a sensor). In some embodiments, the processor may actuate the robot to move towards and investigates the gap, collecting observations and mapping new areas by adding new observations to the map until the gap is closed”; Col. 55, lines 40 – 56: “In some embodiments, a gap in the perimeters of the environment may be due to an opening in the wall (e.g., a doorway or an opening between two separate areas). In some embodiments, exploration of the undiscovered areas within which the gap is identified may lead to the discovery of a room, a hallway, or any other separate area. In some embodiments, identified gaps that are found to be, for example, an opening in the wall may be used in separating areas into smaller subareas. For example, the opening in the wall between two rooms may be used to segment the area into two subareas, where each room is a single subarea. This may be expanded to any number of rooms. In some embodiments, the processor of the robot may provide a unique tag to each subarea and may use the unique tag to order the subareas for coverage by the robot, choose different work functions for different subareas, add restrictions to subareas, set cleaning schedules for different subareas, and the like.”).
Regarding claim 15, Afrouzi, as modified, does not teach wherein the long-side obstacle comprises wall.
Liu teaches wherein the long-side obstacle comprises wall (Liu: lines 356 – 360: “As shown in Figure 9, point A and point B are similar vertices that can be connected by a straight line, the distance between point A and point B is defined as, and so on, when point A and point C, point A and point D are connected, the line segment There is no intersection with obstacles, so the initial path The diameter can be changed to a line segment AD. If the path intersects with obstacles, such as , then the path length tends to at infinity. Accordingly, there are: Then it can be determined that point B is a redundant node in the path, and node B is removed from the path.”,
Supplemental Note: as shown in Figure A, the robot is able to detect the obstacle within the middle of the room. One of ordinary skill can interpret these obstacles as wall separating different rooms of a space).
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have been modified the invention disclosed by Afrouzi with the teachings of Liu with a reasonable expectation of success. As stated for claim 1, Afrouzi and Liu both teaches robots with sensors able to identify and traverse their environment. The optimal path of Liu allows the determination of obstacles along the way to the target position (such as the gaps of Afrouzi) by creating child nodes in which the robot can travel to the closest open node in the direction of the target position. The obstacles are identified (shown in Figure A) by an obstacle grid in which the child nodes are evaluated to get the shortest path to the target position, as further shown in Figure C. This ability increases the efficiency of the robot of Afrouzi as it travels around the environment as it can further travel optimally around the various obstacles. For these reasons, one of ordinary skill would find it obvious to try to implement the optimal path method of Liu with the robot of Afrouzi.
Claim(s) 5 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Afrouzi et al. (US 11274929 B1), Park et al. (US 20210331315 A1) and Liu et al. (CN115639827A) as applied to claim 1 above, and further in view of Artes et al. (US 20200150655 A1).
Regarding claim 5, Afrouzi, as modified, teaches does not teach wherein the controlling the robot to move to the target navigation point comprises: moving, by the at least one processer, the target navigation point in a direction away from a target boundary to obtain a corrected target navigation point, wherein the target boundary is an unknown region boundary corresponding to the target navigation point; and controlling, by at least one processer, the robot to move to the corrected target navigation point.
Artes teaches wherein the controlling the robot to move to the target navigation point comprises: moving, by the at least one processer, the target navigation point in a direction away from a target boundary to obtain a corrected target navigation point, wherein the target boundary is an unknown region boundary corresponding to the target navigation point; and controlling, by at least one processer, the robot to move to the corrected target navigation point (Artes: Paragraph 0005: “In the case of autonomous mobile robots that store and maintain a map of their area of deployment in order to use it during their subsequent deployment, a virtual exclusion region can be entered directly into the map. Such an exclusion region may be delineated, for example, by a virtual boundary over which the robot is prohibited from moving. The advantage provided by this purely virtual prohibited are is that no additional markings are needed in the environment of the robot.”; Paragraph 0009: “Further described is a method for controlling an autonomous mobile robot that is configured to independently navigate in an area of robot deployment using sensors and a map, wherein the map comprises at least one virtual boundary line with an orientation that allows to distinguish a first side and a second side of the boundary line. When navigating the robot moving over the boundary line in a first direction—coming from the first side of the boundary line—is avoided, whereas moving over the boundary line in a second direction—coming from the second side of the boundary line—is permitted.”; Paragraph 0039: “Thus, in order to prevent the robot 100 from entering the exclusion region S, the control unit 150 of the robot 100 can employ an obstacle avoidance strategy, also known as obstacle avoidance algorithm, which is configured to control the robot, based on the location of identified obstacles, to prevent the robot from colliding with these obstacles. The location of one or more exclusion regions can be determined based on the virtual exclusion region S stored in the map data. These locations can then be treated in the obstacle avoidance strategy in the same manner as a real obstacle at this location would be treated. Thus, in a simple and easy manner, the robot 100 is prevented from autonomously entering and/or travelling over a virtual exclusion region S. The following examples will illustrate this in greater detail:”; Paragraph 0116: “During the self-localization the robot can test, based on localization hypotheses (that is, on hypotheses based on the sensor and map data regarding the possible position of the robot, for example, a probability model) whether it is in or near a virtual exclusion region S. Based on this information, the robot can adapt its exploratory run for the global self-localization in order to reduce the risk (i.e. the probability) of unintentionally entering a virtual exclusion region. Localization hypotheses for (global) self-localization that are based on probability are known and will therefore not be discussed here in detail. Relevant to this example is the fact that, if the robot does not know its exact position during an exploratory run for self-localization, it can only determine probabilities for specific map positions. When doing so the robot can also test to determine with what probability it is located in an exclusion region. The robot can then adapt its current path in dependency on this probability. If, for example, the probability of the robot finding itself in an exclusion region S increases while it moves along a given path it can change its direction of movement until the probability once again decreases.”,
Supplemental Note: the robot has virtual lines which dictate boundaries in which the robot is able to travel within. The robot is able to travel in and out of the boundary however only one side. This is interpreted to teach the claim limitation as any movement path outside of the boundary, unless from the approved side, is subject to be adjusted to stay within the boundary).
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the invention disclosed by Afrouzi with the teachings of Artes with a reasonable expectation of success. Afrouzi and Artes both teach cleaning robots able to autonomously travel throughout an area equipped with sensors to map out their environment. Artes teaches an additional function of being able to create boundaries in which the robot cannot travel onto, one with knowledge in the art would find it obvious to try to combine this function with the robot of Afrouzi to increase the usability of the robot. For example, if there are parts of a room that the cleaning robot is to avoid, the ability to Artes allows the user to create a boundary in which a robot cannot enter. This allows for additional flexibility of controlling where the robot is traveling to mitigate, for example, the robot traveling in areas where it might be stuck or damage an object in the room.
Regarding claim 13, Afrouzi, as modified, teaches wherein, before the selecting each candidate navigation point from a map of a robot, the robot control method further comprises:
identifying a gap region in the map, wherein the gap region is a region whose entrance width is smaller than a preset width threshold; and (Afrouzi: Col. 56, lines 45 – 51: “In some embodiments, the processor may use a threshold to determine whether the data points considered indicate an opening in the wall when, for example, the error exceeds some threshold value. In some embodiments, the processor may use an adaptive threshold wherein the values below the threshold may be considered to be a wall.”)
removing the gap region from the map (Afrouzi: Col. 54, line 64 – Col. 55, line 2: “In some embodiments, the processor identifies gaps in the map (e.g., due to areas blind to a sensor or a range of a sensor). In some embodiments, the processor may actuate the robot to move towards and investigates the gap, collecting observations and mapping new areas by adding new observations to the map until the gap is closed”; Col. 55, lines 40 – 56: “In some embodiments, a gap in the perimeters of the environment may be due to an opening in the wall (e.g., a doorway or an opening between two separate areas). In some embodiments, exploration of the undiscovered areas within which the gap is identified may lead to the discovery of a room, a hallway, or any other separate area. In some embodiments, identified gaps that are found to be, for example, an opening in the wall may be used in separating areas into smaller subareas. For example, the opening in the wall between two rooms may be used to segment the area into two subareas, where each room is a single subarea. This may be expanded to any number of rooms. In some embodiments, the processor of the robot may provide a unique tag to each subarea and may use the unique tag to order the subareas for coverage by the robot, choose different work functions for different subareas, add restrictions to subareas, set cleaning schedules for different subareas, and the like.”).
Claim 18 is rejected under 35 U.S.C. 103 as being unpatentable over Afrouzi et al. (US 11274929 B1), Park et al. (US 20210331315 A1) and Liu et al. (CN115639827A) as applied to claim 1 above, and further in view of Dong et al. (CN114442618A).
Regarding claim 18, Afrouzi, as modified, does not teach wherein a higher second weight is assigned to a candidate navigation point that is closer to the robot, and a lower second weight is assigned to a candidate navigation point that is farther from the robot.
Dong teaches wherein a higher second weight is assigned to a candidate navigation point that is closer to the robot, and a lower second weight is assigned to a candidate navigation point that is farther from the robot (Dong: Lines 88 – 115: “Preferably, the specific process of the step 4 is as follows: 1)Taking the current position of the mobile robot as the center, a circle with a radius of 20 grid lengths is equally divided into 12 sectors, the sector number is represented by s, s=0,1,...,12, then the current position of the robot reaches the stage target point There are a total of 12 directions of candidate travel directions between; 2)The mobile robot scans the above 12 sectors, and assigns each grid in the sector a probability value P representing the characteristics of the obstacles it contains; 3)For each sector, calculate D(s) of the density of obstacles in all grids covered by it:
D(s)=∑p(i,j)∈Pij
Among them, Pij represents the obstacle feature probability value P contained in the grid p(i,j) whose coordinates are (i,j); the threshold TD is set, and when D(s)⟨TD, the sector s is selected as a candidate Area; 4)Search for the most suitable moving direction V in all candidate regions, that is, the V sector with the smallest cost function as follows:
w(V)=μ1Diff(V,Vtar)+μ2Diff(V,Vcur)
Among them, w(V) represents the cost function of the V sector, Diff(V, Vtar) represents the angular difference between the moving direction V and the direction of the stage target point, and Diff(V, Vcur) represents the moving direction V and the robot's current The angle difference between the traveling directions, the coefficients μ1 and μ2 both represent the weight ratio, and μ1+μ2=1; 5)The mobile robot moves one step along the most suitable moving direction V, returns to 2.1, and repeats the above process until it reaches the stage target point.”,
Supplemental Note: the cost function is activated when an obstacle is in the path of the robot in which multiple candidate navigation points are taken. The robot is further able to recognize if an obstacle is persistent in those paths and analyzes a path to take with the smallest angular difference and moving direction not in contact with the obstacle).
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the invention disclosed by Afrouzi with the teachings of Dong with a reasonable expectation of success. As discussed in claim 4, both Afrouzi and Dong teach autonomous cleaning robots that are able to sense and map out their surroundings. Both robots have the ability to independently navigate while also avoiding obstacles in which Dong teaches utilizing a cost function within an obstacle avoidance algorithm. One with knowledge in the art would find this method of Dong as a simple substation with the obstacle avoidance technique of Afrouzi or using a known technique (cost function obstacle avoidance algorithm) to improve similar devices. For example, the technique of Dong teaches the ability of the robot to avoid an obstacle based on the shortest turning angle and movement distance needed to get around the obstacle, thus implementing this technique with the robot of Afrouzi is a simple substitution with the current obstacle avoidance technique and may also improve the current avoidance method as utilizing Dong’s technique of selecting the shortest path to avoid the obstacle may also increase the battery life of the robot, thus it can perform longer cleaning tasks.
Response to Arguments
Applicant’s arguments, see section Discussion of Claim Rejections under 35 U.S.C. 103 of the REMARKS, filed 05/25/2026, with respect to the 35 U.S.C. 103 prior art rejections of claims 1, 5 – 18 have been considered but are not fully persuasive.
Applicant states the entire system of the map-building process is done before executing tasks, rather than real-time exploration during the cleaning operation. Applicant states this function increases exploration efficiency as it can complete the map faster and allowing the robot to start cleaning faster. Examiner states how claim 1 states: “a robot control method performed by a processer for building a complete map before a robot performs a task”. The robot as taught by Afrouzi is updating the map while doing a cleaning task the first time however the next time the robot is do a task, the map is already updated. Therefore the mapping is done prior to the next task. If the claim stated, for example, ‘building a complete map prior to a robot performing it’s initial task’, this iteration limits the mapping to be done prior to any tasks.
Applicant further states that the prior art of Afrouzi fails to teach the amended limitation of a “long-side obstacle”. Applicant further describes that a long-sided object is longer than a preset length threshold. Examiner agrees that none of the previously used prior art teaches identifying a long-side obstacle, however through further search and consideration, a 35 U.S.C. 103 prior art rejection is made in view of Liu (CN 115639827 A).
Applicant further states how the neither the prior art of Afrouzi or Dong teach more than one type of obstacle such as a “long-side obstacle” and a “non-long-side obstacle”, thus two types of obstacles. Examiner states that claim 1 has been amended to only recite a long-side obstacle, therefore only claiming one type of obstacle. This obstacle as stated above is rejected in view of Liu. Please see section Claim Rejections - 35 USC § 103.
Applicant further states the rest of the claims are allowable per their dependency of claim 1. Examiner respectfully disagrees. Since claim 1 is still rejected, the rejection of the dependent claims also stand.
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 SHIVAM SHARMA whose telephone number is (703)756-1726. The examiner can normally be reached Monday-Friday 8:00-5:00.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Erin Bishop can be reached at 571-270-3713. 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.
/SHIVAM SHARMA/Examiner, Art Unit 3665
/Erin D Bishop/Supervisory Patent Examiner, Art Unit 3665