DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
The amendment filed 12/5/2025 has been entered. Claims 1 and 13 are amended. Claims 1-20 remain pending in the application. Applicant’s amendments to the claims have overcome each and every objection and 101 rejection set forth in the Non-Final Office Action mailed 9/10/2025.
Applicant’s arguments, see pages 8-9, with respect to Allen not teaching the amended subject matter have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Allen (IDS: US 5995884 A) and Aldred (IDS: US 20050046373 A1).
Applicant’s argument, see page 9, with respect to Aldred not rectifying the deficiency of Allen has been fully considered and is unpersuasive. Aldred at least teaches identifying a suspected location based on a distance differential from a first traversal of the suspected location by the autonomous mobile robot (“As soon as the machine has travelled a distance L, it begins to compare the last L metres worth of the angular path data with previous L metre blocks of path data to find a match and hence to establish whether the machine has returned to a previously visited position along the boundary.” See at least [0050]). It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Allen (IDS: US 5995884 A) in view of Aldred (IDS: US 20050046373 A1).
Regarding Claim 1,
Allen teaches
An autonomous mobile robot comprising: (“The present invention relates to automatic guided vehicles (AGVs)” See at least col. 1, lines 7-8)
a drive system configured to move the autonomous mobile robot to traverse a surface of an environment in one of a plurality of operating modes; (“Rear wheels 51 include separate drive mechanisms 53, each of which comprise a variable-speed DC motor and reduction gearing.” See at least 29-31; See at least col. 45, lines 8-56 for operating behaviors/modes and traversing the floor/carpet. Also see at least col. 40, lines 26-50 describing a path-planning subsystem which is responsible for calculating a course for vehicle to follow through the working environment in order to carry out its various functions wherein the path planning is categorized “as strategic and tactical path-planning. Strategic path planning is the process for determining where vehicle 1 should go in order to accomplish the purpose at hand (for example, cleaning or exploring a boundary). Tactical path-planning is the process by which the subsystem computes a set of path segments which will carry vehicle 1 to a given destination without colliding with any (mapped) obstacles.”)
a sensor system configured to generate sensor data related to a physical interaction of the autonomous mobile robot with an object in the environment; (“the system's principal means for detecting objects and obstacles in the working environment is by colliding with them.” See at least col. 15, lines 39-41; “The system detects collisions by means of one or more electromechanical switches 78 mounted behind each bumper element 46. … Signals from switches 78 are presented to vehicle control system 41.” See at least col. 16, lines 13-29)
and a controller circuit configured to: (“Control program 16 running on host computer 9 is responsible for processing data gathered from sensors on vehicle 1 and creating from the data an estimated location of vehicle 1 in the working environment.” See at least col. 17, lines 51-54)
determine a pose of the autonomous mobile robot and a pose estimation accuracy level when the autonomous mobile robot traverses to a location in the environment using non-unique features extracted from the sensor data related to the physical interaction between the autonomous mobile robot and the object; (“Navigation in regions from which no reference reflectors are visible ("blind zones") is performed by standard methods of odometry, also known as dead-reckoning. … dead-reckoning position estimates are notoriously susceptible to accumulated error … Thus position-determination subsystem 151 continuously maintains an estimate 159 of the accumulated errors in the calculated vehicle location 152.” See at least col. 28, lines 24-46; “If the vehicle 1 is currently in contact with an obstacle, control passes to step 175. In step 175 position determination subsystem 151 queries mapping subsystem 153 to identify any obstacles or boundaries that lie within the current region of uncertain location 165 in the direction indicated by sensor signals 150. … If the query identifies any previously-mapped obstacles or boundaries which could account for the collision, control flows to step 176. In step 176 position-determination subsystem 151 verifies that only one mapped obstacle could account for the reported collision; if the query of step 175 identified more than one possible obstacle, then no navigational inference can be drawn and control returns to step 169. If, in step 176, only one mapped obstacle is identified, control flows to step 177. In step 177 estimated vehicle location 152 is adjusted to agree with the known position of the object previously identified in step 175. For example, suppose vehicle 1 is moving east (+X), and reports a collision on its forward bumper 46 at a position which agrees with a previously mapped north-south wall (parallel to X=0). In this example, the east-west (X) coordinate of location estimate 152 can be set directly, though the north-south (Y) coordinate remains uncertain. In step 178, the estimated error 159 is reduced in accordance with the new position information gained from the collision.” See at least col. 30, lines 24-41 and fig. 30 (provided below); Also see at least col. 16, lines 42-48 describing the objects which are interpreted as non-unique features.)
PNG
media_image1.png
664
452
media_image1.png
Greyscale
when the pose estimation accuracy level is (“If the magnitude of error estimate 159 (either orientation or position) exceeds a predefined maximum value, then the system will interrupt its activity and seek a navigational reference. The system of the preferred embodiment chooses one of two independent methods to acquire a navigational reference: (a) vehicle 1 can be momentarily diverted back into a navigational reference zone from which two or more reference reflectors 4 are visible, or (b) vehicle I can be directed towards an obstacle at a known position (e.g. a wall or corner) and re-calibrate its position by colliding one or more times with the obstacle.” See at least col. 29, lines 8-19; Also see at least col. 30, lines 13-21 and fig. 30 steps 172 and 173.)
and operate the drive system to move the autonomous mobile robot from the suspected location back to the location where the pose estimation accuracy level is (“After vehicle location estimate 152 has been re-calibrated, vehicle 1 is directed back into the blind zone to resume its previous task. Thus it is a normal behavior of the system to periodically suspend its cleaning function when operating in a blind zone in order to re-calibrate its dead-reckoning calculations.” See at least col. 29, lines 19-24, wherein the blind zone is a location where the pose estimation accuracy level is below the threshold.; “Path-planning subsystem 155 also computes a return path that will allow the system to resume its previous activities.” See at least col. 41, lines 24-26)
Allen does not specifically teach the pose estimation accuracy level being below a threshold in the citations provided. Rather, Allen teaches “magnitude of error estimate 159 (either orientation or position) exceeds a predefined maximum value” (See at least col. 29, lines 8-11). The error estimate is a pose estimation accuracy level because it describes an estimation of inaccuracy of the pose. However, error is the inverse of accuracy and therefore accuracy level decreases as the error estimate increases. Accordingly, the magnitude of error estimate exceeding a predefined maximum value is equivalent to the pose estimation accuracy level being below a threshold because they both indicate that the robot is lost to a threshold degree. Therefore, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Allen with a reasonable expectation of success to operate the drive system to move the autonomous mobile robot to a suspected location when the pose estimation accuracy level is below a threshold because it is the alternative method of determining that the robot is lost to a threshold degree.
Allen does not explicitly teach, but Aldred teaches
identify or select a suspected location … based on a distance differential from a first traversal of the suspected location by the autonomous mobile robot (“As soon as the machine has travelled a distance L, it begins to compare the last L metres worth of the angular path data with previous L metre blocks of path data to find a match and hence to establish whether the machine has returned to a previously visited position along the boundary.” See at least [0050])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 2,
Allen further teaches
wherein the controller circuit is configured to: generate a template representing one or more locational or geometric features associated with the object using the sensor data related to the physical interaction between the autonomous mobile robot and the object; (“FIG. 33A shows a two-dimensional representation of an example database of collision events. Each .sym. in the figure corresponds to the estimated vehicle location 152 recorded at the time of the collision. Also stored with each collision event is the date and time of the collision (not shown), and the estimated error 159 at the time of the collision (also not shown). This example database of collision records is typical of what vehicle 1 might encounter after a few hours of operation in a simplified example environment with one obstacle. FIG. 33B shows a two-dimensional map of the working environment divided into a uniform grid. Each grid square is shaded according to the calculated probability of an obstacle being present. This probability is calculated by an algorithm (described below) that processes each of the collision records stored by mapping subsystem 153. FIG. 34 shows a flowchart of an example algorithm used to convert the database of collision records into a grid map of obstacle probabilities.” See at least col. 35, lines 9-35 and figs. 33A-33B (provided below), wherein the mapped data is the template.)
PNG
media_image2.png
336
636
media_image2.png
Greyscale
and determine the pose and the pose estimation accuracy level using the generated template. (“In step 177 estimated vehicle location 152 is adjusted to agree with the known position of the object previously identified in step 175. For example, suppose vehicle 1 is moving east (+X), and reports a collision on its forward bumper 46 at a position which agrees with a previously mapped north-south wall (parallel to X=0). In this example, the east-west (X) coordinate of location estimate 152 can be set directly, though the north-south (Y) coordinate remains uncertain. In step 178, the estimated error 159 is reduced in accordance with the new position information gained from the collision. In the cited example, the X-cordinate of estimate 159 would be set to zero, but the Y-coordinate would be unaffected. Control then returns to step 169.” See at least col. 30, lines 43-55)
Regarding Claim 3,
Allen does not explicitly teach, but Aldred teaches
wherein the template includes one or more locational or geometric features of a path segment adjacent the object traversed by the autonomous mobile robot. (“The machine then begins to navigate around the boundary of the room, continuously detecting the presence of the wall and maintaining the machine at a predetermined distance from the wall. The machine navigates around the obstacles 420-426 in the same manner as for the walls 405, maintaining the machine at a predetermined distance from the obstacles. The machine continuously records information about the path that it takes in following the boundary of the room. … As the machine follows the boundary of an area, the navigation system samples, at regular distance intervals, the angular change in direction of the machine (compared with the direction at the previous sample). It is important to note that this information represents the path (or trajectory) of the machine rather than information about objects that it senses around it. … In addition to recording the angular direction changes at regular, fairly widely spaced apart intervals, the navigation system also plots, in detail, the path followed by the machine in order to construct a map of the working area.” See at least [0047-0049] and figs. 5-6 (provided below))
PNG
media_image3.png
742
512
media_image3.png
Greyscale
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 4,
Allen further teaches
wherein the object interacted by the autonomous mobile robot includes a wall or wall segment, (“Bumper elements 46 and switches 78 shown in FIGS. 12 and 13 are suitable for detecting collisions with objects in the environment tall enough to come into contact with bumpers 46 (i.e. taller than 1-3cm). This mechanism allows for detection of most large, immobile objects in the operating environment including walls,” See at least col. 16, lines 42-48)
Allen does not explicitly teach, but Aldred teaches
and wherein the template includes one or more locational or geometric features of a path segment adjacent the wall or wall segment. (“The machine then begins to navigate around the boundary of the room, continuously detecting the presence of the wall and maintaining the machine at a predetermined distance from the wall. … The machine continuously records information about the path that it takes in following the boundary of the room. … As the machine follows the boundary of an area, the navigation system samples, at regular distance intervals, the angular change in direction of the machine (compared with the direction at the previous sample). It is important to note that this information represents the path (or trajectory) of the machine rather than information about objects that it senses around it. … In addition to recording the angular direction changes at regular, fairly widely spaced apart intervals, the navigation system also plots, in detail, the path followed by the machine in order to construct a map of the working area.” See at least [0047-0049] and figs. 5-6)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 5,
Allen does not explicitly teach, but Aldred teaches
wherein the one or more locational or geometric features of the path segment include path length or path orientation non-unique to the path segment. (“As the machine follows the boundary of an area, the navigation system samples, at regular distance intervals, the angular change in direction of the machine (compared with the direction at the previous sample). It is important to note that this information represents the path (or trajectory) of the machine rather than information about objects that it senses around it. … In addition to recording the angular direction changes at regular, fairly widely spaced apart intervals, the navigation system also plots, in detail, the path followed by the machine in order to construct a map of the working area.” See at least [0047-0049] and fig. 6 illustrating some path segments with non-unique path orientations as shown as a 0 degree angular change between path segements.; “As soon as the machine has travelled a distance L, it begins to compare the last L metres worth of the angular path data with previous L metre blocks of path data to find a match and hence to establish whether the machine has returned to a previously visited position along the boundary.” See at least [0050]; “In rooms that possess one or more lines of symmetry, it is possible for the L metre path to be common to two or more positions within the room.” See at least [0094])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 6,
Allen further teaches
wherein the controller circuit is configured to: generate the template using first sensor data acquired when the autonomous mobile robot operates in a first mode; (“Map Generation … Immediately after being installed in a new working environment, the system of the preferred embodiment will have no a priori information about the size or shape of the area to be cleaned, nor the number and placement of obstacles therein. Thus, the system's first order of business is to "explore" the environment and construct a mathematical representation (i.e. map) of its boundaries, obstacles, and reference reflectors 4. This map-making function is carried out by mapping subsystem 153 of control program 16 running on host computer 9. Exploration starts with vehicle 1 in its docked position on charging station 2. The location of every obstacle, boundary, or reference reflector which vehicle 1 encounters is measured relative to the position (and orientation) of charging station 2. The system starts its exploration by commanding vehicle 1 to move directly away from the charging station 2 until it encounters an obstacle or a reflector.” See at least col. 33, lines 7-24; “Path-planning subsystem 155 divides each sortie into two distinct periods: a cleaning period and an exploration period.” See at least col. 41, lines 58-60, wherein the exploration is a first mode.)
and determine the pose and the pose estimation accuracy level using second sensor data acquired when the autonomous mobile robot operates in a second mode different than the first mode. (“If the magnitude of error estimate 159 (either orientation or position) exceeds a predefined maximum value, then the system will interrupt its activity and seek a navigational reference. … (b) vehicle I can be directed towards an obstacle at a known position (e.g. a wall or corner) and re-calibrate its position by colliding one or more times with the obstacle. After vehicle location estimate 152 has been re-calibrated, vehicle 1 is directed back into the blind zone to resume its previous task. Thus it is a normal behavior of the system to periodically suspend its cleaning function when operating in a blind zone in order to re-calibrate its dead-reckoning calculations.” See at least col. 29, lines 6-27, wherein at least the cleaning function is the second mode. Also see at least col. 30, lines 29-53, wherein operation in this process is a second mode because it is different than the exploration mode.)
Regarding Claim 7,
Allen further teaches
wherein the first mode is a wall-following mode, the second mode is a coverage mode. (“Path-planning subsystem 155 divides each sortie into two distinct periods: a cleaning period and an exploration period.” See at least col. 41, lines 58-60, wherein the exploration is a first mode and the cleaning is a second mode.; “Thus, the system's first order of business is to "explore" the environment and construct a mathematical representation (i.e. map) of its boundaries, obstacles, and reference reflectors 4. This map-making function is carried out by mapping subsystem 153 of control program 16 running on host computer 9. … Mapping Obstacles and Boundaries … control program 16 will direct vehicle 1 to "probe" the obstacle (or boundary) using recursive boundary-following techniques similar to those described in the prior art …the map of obstacles and boundaries in the working environment is stored as the set of all recorded collision-event data structures, which represent every obstacle that vehicle 1 has ever detected. From such a set of data structures, it is possible to create a useful representation of the locations of obstacles and boundaries likely to be found in the current environment.” See at least col. 33, line 7 through col. 34, line 25, wherein the exploration for mapping includes boundary-following techniques which is equivalent to a wall following mode.; “Some functions of path-planning subsystem 155 are relatively straightforward, such as calculating a path which completely covers a region to be cleaned in a systematic pattern” See at least col. 40, lines 28-32, wherein the cleaning operation is a coverage mode.)
Regarding Claim 8,
Allen further teaches
further comprising a cleaning system operable to clean the surface of the environment when the autonomous mobile robot operates in the coverage mode. (“Some functions of path-planning subsystem 155 are relatively straightforward, such as calculating a path which completely covers a region to be cleaned in a systematic pattern” See at least col. 40, lines 28-32; See at least col. 14, lines 43-65 and fig. 14 describing the vacuum-cleaning system.)
Regarding Claim 9,
Allen does not explicitly teach, but Aldred teaches
wherein the controller circuit is configured to perform the robot localization at the suspected location based on a comparison between the template and the second sensor data acquired when the autonomous mobile robot operates in the second mode. (“A period of reciprocating scanning will induce odometry errors. Therefore, between each period of scanning, the machine looks for the boundary of the area and follows the boundary of the area (step 560). As the machine travels around the boundary of the area it stores the path travelled by the machine. The machine travels for a distance of at least the minimum distance necessary for finding a match, i.e. L metres. The matching process attempts to match the new block of boundary path data with the boundary path data that was originally stored in the memory. If a block of path data matches positively then the machine knows it has returned to a known position on the map and can thus reset the odometry error to zero.” See at least [0082-0083], wherein the reciprocating behavior is equivalent to operating in the second mode.)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 10,
Allen does not explicitly teach, but Aldred teaches
wherein the comparison is between (i) one or more locational or geometric features of a first path segment adjacent the object traversed by the autonomous mobile robot when operating in the first mode and (ii) one or more locational or geometric features of a second path segment adjacent the object traversed by the autonomous mobile robot when operating in the second mode. (“The machine then begins to navigate around the boundary of the room, continuously detecting the presence of the wall and maintaining the machine at a predetermined distance from the wall. … The machine continuously records information about the path that it takes in following the boundary of the room. … the navigation system also plots, in detail, the path followed by the machine in order to construct a map of the working area.” See at least [0047-0049] and figs. 5-6; “A period of reciprocating scanning will induce odometry errors. Therefore, between each period of scanning, the machine looks for the boundary of the area and follows the boundary of the area (step 560). As the machine travels around the boundary of the area it stores the path travelled by the machine. The machine travels for a distance of at least the minimum distance necessary for finding a match, i.e. L metres. The matching process attempts to match the new block of boundary path data with the boundary path data that was originally stored in the memory. If a block of path data matches positively then the machine knows it has returned to a known position on the map and can thus reset the odometry error to zero.” See at least [0082-0083], wherein the reciprocating behavior is equivalent to operating in the second mode.)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 11,
Allen further teaches
wherein the pose estimation accuracy level includes at least one of a confidence measure or an uncertainty measure associated with the determined pose. (“Position-determination subsystem 151 uses processed sensor signals 150 and map data stored on mass-storage device 20 to calculate vehicle 1's estimated location 152 and an associated error estimate 159.” See at least col. 26, lines 43-46; “As vehicle 1 moves through a blind zone, position-determination subsystem 151 accumulates these measurement uncertainties (and similar uncertainties in the commanded steering angle) in order to calculate error estimate 159.” See at least col. 28, lines 52-56)
Regarding Claim 12,
Allen further teaches
wherein the controller circuit is configured to: estimate an accumulated drift using the sensor data collected as the autonomous mobile robot traverses the environment; (“Navigation in regions from which no reference reflectors are visible ("blind zones") is performed by standard methods of odometry, also known as dead-reckoning. Position-determination subsystem 151 keeps track of the distance traveled by each of the vehicle's front wheels 50 and also the instantaneous value of the commanded steering angle. This information gives a set of movement vectors which indicate how far, and in what direction, vehicle 1 has traveled. Integrating these vectors over time produces the estimated vehicle location 152. Such dead-reckoning position estimates are notoriously susceptible to accumulated error from a variety of sources including uneven terrain, inaccuracies in the manufactured wheel diameter, etc. Thus position-determination subsystem 151 continuously maintains an estimate 159 of the accumulated errors in the calculated vehicle location 152.” See at least col. 28, lines 24-39)
and determine the pose estimation accuracy level based at least in part on the estimated accumulated drift. (“As vehicle 1 moves through a blind zone, position-determination subsystem 151 accumulates these measurement uncertainties (and similar uncertainties in the commanded steering angle) in order to calculate error estimate 159. Thus vehicle 1 will be surrounded by a slowly-growing region of uncertain location (and a corresponding cone of uncertain orientation) as it maneuvers through a blind zone.” See at least col. 28, lines 52-59)
Regarding Claim 13,
Allen teaches
A method comprising: (“The present invention relates to automatic guided vehicles (AGVs), methods and apparatus for controlling AGVs.” See at least col. 1, lines 7-8)
causing an autonomous mobile robot to traverse a surface of an environment in one of a plurality of operating modes; (See at least col. 45, lines 8-56 for operating behaviors/modes and traversing the floor/carpet. Also see at least col. 40, lines 26-50 describing a path-planning subsystem which is responsible for calculating a course for vehicle to follow through the working environment in order to carry out its various functions wherein the path planning is categorized “as strategic and tactical path-planning. Strategic path planning is the process for determining where vehicle 1 should go in order to accomplish the purpose at hand (for example, cleaning or exploring a boundary). Tactical path-planning is the process by which the subsystem computes a set of path segments which will carry vehicle 1 to a given destination without colliding with any (mapped) obstacles.”)
receiving sensor data related to a physical interaction of the autonomous mobile robot with an object in the environment; (“the system's principal means for detecting objects and obstacles in the working environment is by colliding with them.” See at least col. 15, lines 39-41; “The system detects collisions by means of one or more electromechanical switches 78 mounted behind each bumper element 46. … Signals from switches 78 are presented to vehicle control system 41.” See at least col. 16, lines 13-29)
determining a pose of the autonomous mobile robot and a pose estimation accuracy level when the autonomous mobile robot traverses to a location in the environment using non-unique features extracted from the received sensor data related to the physical interaction between the autonomous mobile robot and the object; (“Navigation in regions from which no reference reflectors are visible ("blind zones") is performed by standard methods of odometry, also known as dead-reckoning. … dead-reckoning position estimates are notoriously susceptible to accumulated error … Thus position-determination subsystem 151 continuously maintains an estimate 159 of the accumulated errors in the calculated vehicle location 152.” See at least col. 28, lines 24-46; “If the vehicle 1 is currently in contact with an obstacle, control passes to step 175. In step 175 position determination subsystem 151 queries mapping subsystem 153 to identify any obstacles or boundaries that lie within the current region of uncertain location 165 in the direction indicated by sensor signals 150. … If the query identifies any previously-mapped obstacles or boundaries which could account for the collision, control flows to step 176. In step 176 position-determination subsystem 151 verifies that only one mapped obstacle could account for the reported collision; if the query of step 175 identified more than one possible obstacle, then no navigational inference can be drawn and control returns to step 169. If, in step 176, only one mapped obstacle is identified, control flows to step 177. In step 177 estimated vehicle location 152 is adjusted to agree with the known position of the object previously identified in step 175. For example, suppose vehicle 1 is moving east (+X), and reports a collision on its forward bumper 46 at a position which agrees with a previously mapped north-south wall (parallel to X=0). In this example, the east-west (X) coordinate of location estimate 152 can be set directly, though the north-south (Y) coordinate remains uncertain. In step 178, the estimated error 159 is reduced in accordance with the new position information gained from the collision.” See at least col. 30, lines 24-41 and fig. 30; Also see at least col. 16, lines 42-48 describing the objects which are interpreted as non-unique features.)
when the pose estimation accuracy level is (“If the magnitude of error estimate 159 (either orientation or position) exceeds a predefined maximum value, then the system will interrupt its activity and seek a navigational reference. The system of the preferred embodiment chooses one of two independent methods to acquire a navigational reference: (a) vehicle 1 can be momentarily diverted back into a navigational reference zone from which two or more reference reflectors 4 are visible, or (b) vehicle I can be directed towards an obstacle at a known position (e.g. a wall or corner) and re-calibrate its position by colliding one or more times with the obstacle.” See at least col. 29, lines 8-19; Also see at least col. 30, lines 13-21 and fig. 30 steps 172 and 173.)
and causing the autonomous mobile robot to move from the suspected location back to the location where the pose estimation accuracy level is (“After vehicle location estimate 152 has been re-calibrated, vehicle 1 is directed back into the blind zone to resume its previous task. Thus it is a normal behavior of the system to periodically suspend its cleaning function when operating in a blind zone in order to re-calibrate its dead-reckoning calculations.” See at least col. 29, lines 19-24, wherein the blind zone is a location where the pose estimation accuracy level is below the threshold.; “Path-planning subsystem 155 also computes a return path that will allow the system to resume its previous activities.” See at least col. 41, lines 24-26)
Allen does not specifically teach the pose estimation accuracy level being below a threshold in the citations provided. Rather, Allen teaches “magnitude of error estimate 159 (either orientation or position) exceeds a predefined maximum value” (See at least col. 29, lines 8-11). The error estimate is a pose estimation accuracy level because it describes an estimation of inaccuracy of the pose. However, error is the inverse of accuracy and therefore accuracy level decreases as the error estimate increases. Accordingly, the magnitude of error estimate exceeding a predefined maximum value is equivalent to the pose estimation accuracy level being below a threshold because they both indicate that the robot is lost to a threshold degree. Therefore, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Allen with a reasonable expectation of success to operate the drive system to move the autonomous mobile robot to a suspected location when the pose estimation accuracy level is below a threshold because it is the alternative method of determining that the robot is lost to a threshold degree.
Allen does not explicitly teach, but Aldred teaches
identifying or selecting a suspected location … based on a distance differential from a first traversal of the suspected location by the autonomous mobile robot (“As soon as the machine has travelled a distance L, it begins to compare the last L metres worth of the angular path data with previous L metre blocks of path data to find a match and hence to establish whether the machine has returned to a previously visited position along the boundary.” See at least [0050])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 14,
Allen further teaches
comprising generating a template representing one or more locational or geometric features associated with the object using the sensor data related to the physical interaction between the autonomous mobile robot and the object, (“FIG. 33A shows a two-dimensional representation of an example database of collision events. Each .sym. in the figure corresponds to the estimated vehicle location 152 recorded at the time of the collision. Also stored with each collision event is the date and time of the collision (not shown), and the estimated error 159 at the time of the collision (also not shown). This example database of collision records is typical of what vehicle 1 might encounter after a few hours of operation in a simplified example environment with one obstacle. FIG. 33B shows a two-dimensional map of the working environment divided into a uniform grid. Each grid square is shaded according to the calculated probability of an obstacle being present. This probability is calculated by an algorithm (described below) that processes each of the collision records stored by mapping subsystem 153. FIG. 34 shows a flowchart of an example algorithm used to convert the database of collision records into a grid map of obstacle probabilities.” See at least col. 35, lines 9-35 and figs. 33A-33B, wherein the mapped data is the template.)
wherein determining the pose and the pose estimation accuracy level includes using the generated template. (“In step 177 estimated vehicle location 152 is adjusted to agree with the known position of the object previously identified in step 175. For example, suppose vehicle 1 is moving east (+X), and reports a collision on its forward bumper 46 at a position which agrees with a previously mapped north-south wall (parallel to X=0). In this example, the east-west (X) coordinate of location estimate 152 can be set directly, though the north-south (Y) coordinate remains uncertain. In step 178, the estimated error 159 is reduced in accordance with the new position information gained from the collision. In the cited example, the X-cordinate of estimate 159 would be set to zero, but the Y-coordinate would be unaffected. Control then returns to step 169.” See at least col. 30, lines 43-55)
Regarding Claim 15,
Allen does not explicitly teach, but Aldred teaches
wherein the template includes one or more locational or geometric features of a path segment adjacent the object traversed by the autonomous mobile robot. (“The machine then begins to navigate around the boundary of the room, continuously detecting the presence of the wall and maintaining the machine at a predetermined distance from the wall. The machine navigates around the obstacles 420-426 in the same manner as for the walls 405, maintaining the machine at a predetermined distance from the obstacles. The machine continuously records information about the path that it takes in following the boundary of the room. … As the machine follows the boundary of an area, the navigation system samples, at regular distance intervals, the angular change in direction of the machine (compared with the direction at the previous sample). It is important to note that this information represents the path (or trajectory) of the machine rather than information about objects that it senses around it. … In addition to recording the angular direction changes at regular, fairly widely spaced apart intervals, the navigation system also plots, in detail, the path followed by the machine in order to construct a map of the working area.” See at least [0047-0049] and figs. 5-6)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 16,
Allen further teaches
wherein the object interacted by the autonomous mobile robot includes a wall or wall segment, (“Bumper elements 46 and switches 78 shown in FIGS. 12 and 13 are suitable for detecting collisions with objects in the environment tall enough to come into contact with bumpers 46 (i.e. taller than 1-3cm). This mechanism allows for detection of most large, immobile objects in the operating environment including walls,” See at least col. 16, lines 42-48)
Allen does not explicitly teach, but Aldred teaches
and wherein the template includes one or more locational or geometric features of a path segment adjacent the wall or wall segment. (“The machine then begins to navigate around the boundary of the room, continuously detecting the presence of the wall and maintaining the machine at a predetermined distance from the wall. … The machine continuously records information about the path that it takes in following the boundary of the room. … As the machine follows the boundary of an area, the navigation system samples, at regular distance intervals, the angular change in direction of the machine (compared with the direction at the previous sample). It is important to note that this information represents the path (or trajectory) of the machine rather than information about objects that it senses around it. … In addition to recording the angular direction changes at regular, fairly widely spaced apart intervals, the navigation system also plots, in detail, the path followed by the machine in order to construct a map of the working area.” See at least [0047-0049] and figs. 5-6)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 17,
Allen further teaches
wherein generating the template includes using first sensor data acquired when the autonomous mobile robot operates in a first mode, (“Map Generation … Immediately after being installed in a new working environment, the system of the preferred embodiment will have no a priori information about the size or shape of the area to be cleaned, nor the number and placement of obstacles therein. Thus, the system's first order of business is to "explore" the environment and construct a mathematical representation (i.e. map) of its boundaries, obstacles, and reference reflectors 4. This map-making function is carried out by mapping subsystem 153 of control program 16 running on host computer 9. Exploration starts with vehicle 1 in its docked position on charging station 2. The location of every obstacle, boundary, or reference reflector which vehicle 1 encounters is measured relative to the position (and orientation) of charging station 2. The system starts its exploration by commanding vehicle 1 to move directly away from the charging station 2 until it encounters an obstacle or a reflector.” See at least col. 33, lines 7-24; “Path-planning subsystem 155 divides each sortie into two distinct periods: a cleaning period and an exploration period.” See at least col. 41, lines 58-60, wherein the exploration is a first mode.)
wherein determining the pose and the pose estimation accuracy level includes using second sensor data acquired when the autonomous mobile robot operates in a second mode different than the first mode. (“If the magnitude of error estimate 159 (either orientation or position) exceeds a predefined maximum value, then the system will interrupt its activity and seek a navigational reference. … (b) vehicle I can be directed towards an obstacle at a known position (e.g. a wall or corner) and re-calibrate its position by colliding one or more times with the obstacle. After vehicle location estimate 152 has been re-calibrated, vehicle 1 is directed back into the blind zone to resume its previous task. Thus it is a normal behavior of the system to periodically suspend its cleaning function when operating in a blind zone in order to re-calibrate its dead-reckoning calculations.” See at least col. 29, lines 6-27, wherein at least the cleaning function is the second mode. Also see at least col. 30, lines 29-53, wherein operation in this process is a second mode because it is different than the exploration mode.)
Regarding Claim 18,
Allen further teaches
wherein the first mode is a wall-following mode, the second mode is a coverage mode of cleaning the surface of the environment. (“Path-planning subsystem 155 divides each sortie into two distinct periods: a cleaning period and an exploration period.” See at least col. 41, lines 58-60, wherein the exploration is a first mode and the cleaning is a second mode.; “Thus, the system's first order of business is to "explore" the environment and construct a mathematical representation (i.e. map) of its boundaries, obstacles, and reference reflectors 4. This map-making function is carried out by mapping subsystem 153 of control program 16 running on host computer 9. … Mapping Obstacles and Boundaries … control program 16 will direct vehicle 1 to "probe" the obstacle (or boundary) using recursive boundary-following techniques similar to those described in the prior art …the map of obstacles and boundaries in the working environment is stored as the set of all recorded collision-event data structures, which represent every obstacle that vehicle 1 has ever detected. From such a set of data structures, it is possible to create a useful representation of the locations of obstacles and boundaries likely to be found in the current environment.” See at least col. 33, line 7 through col. 34, line 25, wherein the exploration for mapping includes boundary-following techniques which is equivalent to a wall following mode.; “Some functions of path-planning subsystem 155 are relatively straightforward, such as calculating a path which completely covers a region to be cleaned in a systematic pattern” See at least col. 40, lines 28-32, wherein the cleaning operation is a coverage mode.)
Regarding Claim 19,
Allen does not explicitly teach, but Aldred teaches
wherein performing the robot localization at the suspected location is based on a degree of match between (i) one or more locational or geometric features of a first path segment adjacent the object traversed by the autonomous mobile robot when operating in the first mode and (ii) one or more locational or geometric features of a second path segment adjacent the object traversed by the autonomous mobile robot when operating in the second mode. (“The machine then begins to navigate around the boundary of the room, continuously detecting the presence of the wall and maintaining the machine at a predetermined distance from the wall. … The machine continuously records information about the path that it takes in following the boundary of the room. … the navigation system also plots, in detail, the path followed by the machine in order to construct a map of the working area.” See at least [0047-0049] and figs. 5-6; “A period of reciprocating scanning will induce odometry errors. Therefore, between each period of scanning, the machine looks for the boundary of the area and follows the boundary of the area (step 560). As the machine travels around the boundary of the area it stores the path travelled by the machine. The machine travels for a distance of at least the minimum distance necessary for finding a match, i.e. L metres. The matching process attempts to match the new block of boundary path data with the boundary path data that was originally stored in the memory. If a block of path data matches positively then the machine knows it has returned to a known position on the map and can thus reset the odometry error to zero.” See at least [0082-0083], wherein the reciprocating behavior is equivalent to operating in the second mode.; “The matching process has a threshold value for the `quality of match` metric which indicates, from experience, a positive match between two sets of path data. For example, we have found a match of >98% is indicative of a positive match between two sets of path data which represent the same position in a room.” See at least [0053] and [0094], wherein the ‘quality of match’ is equivalent to a degree of match.)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of modified Allen to further include the teachings of Aldred with a reasonable expectation of success “to provide an improved autonomous machine” (See at least [0007]) and because “the path taken by the machine in following the boundary will uniquely match only one position in the area. Thus, the machine can make use of this property of the environment as a form of navigation. This approach to navigation allows for a more modest sensor and processing requirement than feature based navigation systems, and therefore is easier and cheaper to implement. It also saves user effort in installing navigation beacons in the working area.” (See at least [0014])
Regarding Claim 20,
Allen further teaches
comprising: estimating an accumulated drift using the sensor data as the autonomous mobile robot traverses the environment; (“Navigation in regions from which no reference reflectors are visible ("blind zones") is performed by standard methods of odometry, also known as dead-reckoning. Position-determination subsystem 151 keeps track of the distance traveled by each of the vehicle's front wheels 50 and also the instantaneous value of the commanded steering angle. This information gives a set of movement vectors which indicate how far, and in what direction, vehicle 1 has traveled. Integrating these vectors over time produces the estimated vehicle location 152. Such dead-reckoning position estimates are notoriously susceptible to accumulated error from a variety of sources including uneven terrain, inaccuracies in the manufactured wheel diameter, etc. Thus position-determination subsystem 151 continuously maintains an estimate 159 of the accumulated errors in the calculated vehicle location 152.” See at least col. 28, lines 24-39)
and determining the pose estimation accuracy level based at least in part on the estimated accumulated drift. (“As vehicle 1 moves through a blind zone, position-determination subsystem 151 accumulates these measurement uncertainties (and similar uncertainties in the commanded steering angle) in order to calculate error estimate 159. Thus vehicle 1 will be surrounded by a slowly-growing region of uncertain location (and a corresponding cone of uncertain orientation) as it maneuvers through a blind zone.” See at least col. 28, lines 52-59)
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Karston G Evans whose telephone number is (571)272-8480. The examiner can normally be reached Mon-Fri 9:00-5:00.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Abby Lin can be reached at (571)270-3976. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/K.G.E./Examiner, Art Unit 3657 /ABBY LIN/Supervisory Patent Examiner, Art Unit 3657