WO2003040846A1 - Machine autonome - Google Patents
Machine autonome Download PDFInfo
- Publication number
- WO2003040846A1 WO2003040846A1 PCT/GB2002/004955 GB0204955W WO03040846A1 WO 2003040846 A1 WO2003040846 A1 WO 2003040846A1 GB 0204955 W GB0204955 W GB 0204955W WO 03040846 A1 WO03040846 A1 WO 03040846A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- machine
- area
- boundary
- navigation system
- scanning pattern
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 54
- 230000008569 process Effects 0.000 description 33
- 238000004140 cleaning Methods 0.000 description 19
- 239000013598 vector Substances 0.000 description 16
- 230000008859 change Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 239000000523 sample Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000010485 coping Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 235000004443 Ricinus communis Nutrition 0.000 description 1
- 230000003749 cleanliness Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0272—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45098—Vacuum cleaning robot
Definitions
- This invention relates to an autonomous machine, such as an autonomous machine for cleaning a floor area.
- an autonomous machine requires a training phase during which the machine is manually led around the area in which it is to work. Following this training phase, the autonomous machine will then perform the required work as it follows the path which it stored in its memory during the training phase. Other machines may simply follow a predetermined route which is marked by means such as a cable which is buried beneath the working area.
- the present invention seeks to provide an improved autonomous machine.
- a first aspect of the present invention provides an autonomous machine for traversing an area comprising:
- - power operated means for moving the machine along a surface of an area
- a navigation system including sensors and a memory means, for navigating the machine around the area, the navigation system being arranged, in use, to store information about the area and to traverse the area by a scanning pattern, wherein the navigation system is also arranged to determine, from the stored information, an optimum direction for the machine to traverse the area.
- the navigation system is arranged to determine, from the stored information, a direction for the machine to traverse the area which maximises the length between turning points of the scanning pattern.
- a direction for the machine By selecting an optimum direction for the scanning pattern, the machine reduces the number of turning points and hence reduces the errors which can accumulate in the navigation system. This is particularly important where the navigation system relies on odometry information.
- the navigation system is arranged to cause the machine to follow a boundary of the area to acquire the information about the area.
- This information can include information about the amount of free space to one or both sides of the machine.
- the navigation system can find the longest length of boundary having free space alongside it, or it can find the nearest part of the boundary, to the current position of the machine, having free space alongside it.
- the navigation system is arranged to update the stored information about the amount of free space as the machine traverses the area to account for the places where the machine has visited.
- the navigation system can be arranged to determine a dominant orientation of the edges of an area and to use the dominant orientation as the direction of each path of the scanning pattern. This should minimise the number of turning points as the machine performs the scanning operation.
- the navigation system is also arranged to determine, for the area selected for scanning, a starting point to begin the scanning pattern which will cause the machine to move outwardly from the edges of the area.
- the navigation system is arranged to determine the direction of a line which connects the end points of the boundary of the selected area and to use the determined direction as the direction of each path of the scanning pattern.
- the navigation system can be implemented entirely in hardware, in software running on a processor, or a combination of these. Accordingly, a further aspect of the present invention provides software for operating the cleaning machine in the manner described herein.
- the software is conveniently stored on a machine-readable medium such as a memory device.
- the autonomous machine can take many forms: it can be a robotic vacuum cleaner, floor polisher, lawn mower or a robotic machine which performs some other function. Alternatively, it could be a general purpose robotic vehicle which is capable of carrying or towing a work implement chosen by a user.
- Figure 2 shows the electrical systems in the machine of Figure 1
- Figure 3 shows the overall set of machine behaviours
- Figure 4 shows the method for navigating the machine around the boundary of a working area
- Figures 5 and 6 show the machine operating in an example room scenario
- Figure 7 shows the process for matching path sections
- Figure 8 shows the machine-generated map of the working area following an initial traverse of the boundary of the working area
- Figure 9 shows the map correction process
- Figure 10 shows the coordinate system used in the map correction process
- Figure 11 shows the method for scanning the working area
- Figure 12 shows a reciprocating scanning movement
- Figure 13 shows the map of a room and free space areas
- Figures 14 and 14A show two schemes for scanning one of the selected free space areas of the room
- Figures 15 and 16 show the room of Figure 13 as the machine performs a scanning pattern across the room;
- Figure 17 shows types of free space areas which may exist within the room;
- Figure 18 shows a way of reaching scanning start points
- Figure 19 shows a way of coping with centrally positioned objects
- Figures 20-22 show scanning behaviours.
- Figure 1 of the drawings shows a robotic, or autonomous, floor cleaning machine in the form of a robotic vacuum cleaner 100.
- the cleaner comprises a main body or supporting chassis 102, two driven wheels 104, a brushbar housing 120, batteries 110, a dust separating and collecting apparatus 130, a user interface 140 and various sensors 150, 152, 154.
- the supporting chassis 102 is generally circular in shape and is supported on the two driven wheels 104 and a castor wheel (not shown).
- the driven wheels 104 are arranged at either end of a diameter of the chassis 102, the diameter lying perpendicular to the longitudinal axis of the cleaner 100.
- the driven wheels 104 are mounted independently of one another via support bearings (not shown) and each driven wheel 104 is connected directly to a traction motor which is capable of driving the respective wheel 104 in either a forward direction or a reverse direction. A full range of manoeuvres are possible by independently controlling each of the traction motors.
- a cleaner head 120 Mounted on the underside of the chassis 102 is a cleaner head 120 which includes a suction opening facing the surface on which the cleaner 100 is supported.
- a brush bar 122 (not shown) is rotatably mounted in the suction opening and a motor is mounted on the cleaner head 120 for driving the brush bar.
- the chassis 102 carries a plurality of sensors 150, 152, 154 which are positioned on the chassis such that the navigation system of the cleaner can detect obstacles in the path of the cleaner 100 and the proximity of the cleaner to a wall or other boundary such as a piece of furniture.
- the sensors shown here comprise several ultrasonic sensors 150 which are capable of detecting walls and objects and several passive infra red (PIR) sensors which can detect the presence of humans, animals and heat sources such as a fire.
- PIR passive infra red
- the array of sensors can take many different forms.
- Position Sensitive Devices (PSDs) may be used instead of, or in addition to, the ultrasonic sensors.
- the cleaner may navigate by mechanically sensing the boundary of the working area and boundaries of obstacles placed within the area.
- Each side of the vehicle carries an odometry wheel.
- This is a non-driven wheel which rotates as the machine moves along the surface.
- Each wheel has an optical encoder associated with it for monitoring the rotation of the odometry wheel.
- the navigation system can determine both the distance travelled by the machine and the change in angular direction of the machine.
- the odometry wheel is a non-driven wheel as this increases the accuracy of the information obtained from the wheel.
- a simpler embodiment of the machine can derive odometry information directly from one of the driven wheels.
- the vacuum cleaner 100 also includes a motor and fan unit supported on the chassis 102 for drawing dirty air into the vacuum cleaner 100 via the suction opening in the cleaner head 120.
- FIG. 2 shows, in schematic form, the electrical systems for the cleaner of Figure 1.
- the navigation system comprises a microprocessor 200 which operates according to control software which is stored on a non- volatile memory 210, such as a ROM or FLASH ROM. Another memory 220 is used during normal operation of the machine to store data, such as the path data and a map of the working area, and other operating parameters.
- the navigation system receives inputs about the environment surrounding the machine from sensor array 150, 152, 154 and inputs about movement of the machine from odometry wheel movement sensors 160, 162.
- the navigation system also receives inputs from switches 142 on the user interface, such as start, pause, stop or a selection of operating speed or standard of required cleanliness.
- the navigation system provides a plurality of output control signals: signals for driving the traction motors 105 of the wheels 104, a signal for operating the suction motor 132 which drives the suction fan 130 and a signal for operating the motor 122 which drives the brush bar 125. It also provides outputs from illuminating indicator lamps 144 on the user interface 140. Power is supplied by rechargeable battery packs 110.
- Figure 3 is a flow chart of the overall set of behaviours followed by the machine.
- Figure 4 is a flow chart of the process for navigating around a boundary of the working area.
- Figures 5 and 6 show an example of a working area in a room of a house, the room having a boundary which is defined by walls 405, a doorway 410, a fire place 415 and articles of furniture 420 - 426 (e.g. sofa, chair) placed against the walls of the room.
- Figure 6 illustrates the path matching process.
- the machine is left in the room by a user. Ideally the user is required to place the machine pointing towards an outer boundary of the room or with its left side against the boundary. The user can start the machine at any point on the boundary.
- the machine is shown starting at point A.
- the first action of the machine is to detect the closest wall 405 (step 305) and move towards it.
- the machine then aligns to the wall (point B) and starts the suction motor 132 and brush bar motor 122. It waits until the motors reach operating speed and then moves off.
- 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.
- the machine derives information on the distance and direction of travel from the odometry wheel sensors 160, 162.
- 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. The distance between samples will depend, inter alia, on the environment where the machine is used, the processing power available, memory size, the matching criteria.
- the navigation system determines the angular change in the direction of the machine compared with the previous sample. The angular change is stored in the memory 220 as part of a vector of all sampled values.
- Figure 5 shows part of the path 430 followed by the machine.
- the navigation system also plots, in detail, the path followed by the machine in order to construct a map of the working area.
- Figure 8 shows an example of the map of the room shown in Figure 4.
- Each point of the machine's path around the boundary is defined by a coordinate on the map.
- the machine uses sensors on the left and right hand sides of the machine to detect the distance to the nearest obstacles on each side of the machine. This 'distance to obstacle' information is recorded on the map for points along the machine's path.
- the machine 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.
- the matching process should not yet have found a suitable path match, so the machine continues to follow the boundary.
- point C i.e. point C on the second lap of the room
- the machine recognises that it has returned to a previously visited position on the boundary of the room. This is because the matching process will have found a suitable match between the most recent L metres worth of path data and the initial L metres worth of path data stored by the machine. This completion point will always result in a L metre overlap of the boundary that is double covered.
- the matching process works by comparing a block ('window') of the stored direction data with a previously stored block of direction data. This technique is often called a sliding window technique.
- the angular change of direction data is processed by a sub-sampling process to derive three other sets of data, which are also stored in the path data vector. (Note, for simplicity only two sub-sampled sets of data are shown in Figure 7.) Each sub-sampled set of data represents a coarser interpretation of the actual path travelled by the machine. Since even a good machine is likely to vary in the first and second attempts that it takes to traverse the same portion of boundary, these sub-sampled data sets provide useful information on the underlying direction changes which are likely to form a good match in the matching process.
- the most recent window of data is compared with earlier, equally sized, windows of data in the overall data vector. For each comparison, each element in the new and tested windows of data are compared.
- the overall difference between the two windows of data, at each sub-sampling level is converted to a metric representative of the 'quality of match'.
- 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.
- the matching process allows the machine to establish when it has returned to a start position on the boundary. This is something that a machine must discover when it is set to work in an area of which it has no advance knowledge of the size, shape, layout etc.
- markers While the machine is moving around the boundary it stores sections of path data from the boundary path as "markers".
- the use of markers will be described more fully below. They are a way of allowing the machine to quickly determine its position on the boundary.
- the number of markers that are stored around the boundary depends on the amount of processing power available in the matching engine of the machine - more markers requires more comparisons. If the machine can only store a limited number of markers, the navigation system can automatically expand the distance between the markers as the length of the perimeter increases.
- the path length L required for matching, the distance between sampling points and the quality metric threshold indicative of a strong match are all dependent on the working area and conditions where the machine will be used. These can be readily determined by trial. In a domestic environment we have found that a distance L of 3.6m, a distance between sampling points of 7.5 cm and markers positioned every 2m around the boundary provides good results.
- the initial exploration process involves the machine following the boundary for just over one full circuit, and storing the path that the machine follows.
- the machine determines that it has returned to the starting point on the boundary after an overlap distance.
- the boundary map produced in this way is usually not closed, which means that the common start 800 and finish 802 path sections (which in the real world are the same, as identified by the path matching process) have different locations and orientations due to accumulated odometry errors. It is necessary to represent all path points on a single Cartesian co-ordinate system (frame), though the choice of frame is arbitrary. If we choose the frame to be that of the finish point of the robot, then the error in the path increases as we move backwards from the finish section, along the travelled path, towards the start point.
- frame Cartesian co-ordinate system
- the map closure (correction) process progressively deforms the map as we travel from the end (no deformation) to the start (maximum deformation) such that the start segment maps onto the finish segment. This ensures that we have zeroed the error at the start point and have generally reduced the error elsewhere.
- Figure 9 shows the steps of the map correction process.
- the initial steps of the process 355, 360 are the boundary following method.
- a view is defined by three vectors, a position vector r for the origin, and unit vectors for the local x and y axes, e x and e y .
- the view which projects each point into the new map changes smoothly from the start view to the end view as we travel along the boundary path from start to finish.
- a post-projection rotation and translation is applied (step 380).
- the basic technique that the machine uses to cover a floor area is a reciprocating scanning movement, as shown in Figure 12. That is, from a start point 450, the machine follows a set of parallel straight line paths 451, each path 451 being followed by a step across movement 455 that positions the machine pointing back in the direction from which it has just come but translated one brush bar width across in the direction of the scan.
- the straight line path is maintained by monitoring the orientation of the machine and correcting the speeds of the left and right traction motors so as to maintain a straight line.
- the step across action can take place in multiple segments, as shown by action 460. This allows the machine to match the profile of the object that has impeded the straight trajectory.
- the machine may be able to completely traverse the floor area with one reciprocating scanning movement.
- the combination of unusual room shape and objects placed within the room will require two or more separate scanning movements.
- the machine examines the shape of the room and looks for the most appropriate point to start the cleaning scan from. There are various ways of doing this.
- the machine looks for uncleaned regions that are adjacent to the boundary. As the machine travelled around the boundary of the area it also used the sensor or sensors on the sides of the machine to measure the distance to the nearest obstacles located to the sides of the machine and recorded that information on the map. Once the machine completes a lap of the boundary of the area it then processes the 'distance to obstacle' data to derive a free space vector.
- the free space vector (605, Figure 13) represents the amount of uncleaned space in a direction from that point on the map. The free space will be the distance to an obstacle minus any distance that the machine has already covered during its path.
- the free space vectors are plotted on the map at regular points around the boundary path.
- the navigation system looks at where, on the map, the free space vectors are located (step 505, Figure 11). The system looks for the longest length of boundary with free space vectors. An alternative criterion is for the system to choose the closest boundary section to the machine's current position which has free space located adjacent to it. Boundary sections with free space adjacent to them are located at 610, 612, 614. Having found the longest boundary with free space (section 610), the navigation system attempts to find the dominant edge orientation of this part of the area (step 520).
- the machine is particularly prone to accumulating odometry errors at the places where it turns through 180 degrees.
- it is preferred to traverse an area in a manner which minimises the number of rums.
- the dominant edge orientation of an area has been found to be the best direction to traverse an area.
- One way is to plot the direction (as an absolute angle) of each segment of the selected path section 610 on a histogram.
- One axis of the chart represents the absolute angle of the paths and the other axis represents the accumulated length of path segments at a particular angle. For a complicated path this could result in a lot of computation.
- the computation can be simplified by only recording a segment of the path as a different angle when its angular direction differs from an earlier part of the path by more than a particular angular range, e.g. ten degrees. If this simplification is followed, the plot at each angular value can be represented by a distribution curve. Segments which are separated by 180 degrees can be plotted at the same angular value on the bar chart since they are parallel to one another. This bar chart can be readily processed to derive the dominant direction of the area.
- the navigation system isolates the area of the map in which the selected boundary path section lies, as shown in Figure 14.
- the navigation system rotates the isolated part of the area until it is ahgned in the dominant direction and then finds the extremities of this part of the area.
- the navigation system selects one of the extremities as a start point for the scan.
- FIG. 15 shows two types of area which can be encountered. An internal free space area is enclosed by the boundary section whereas an external area free space area surrounds the boundary section.
- the navigation system can determine the type of free space area by summing the angular change between each segment of the boundary section. An angular change sum of 360 degrees indicates an internal area whereas an angular sum of -360 degrees represents an external area.
- the start point There are some heuristics in selecting the start point. If the end points 620, 630 of a scan area are spaced apart from one another on the map by more than a predetermined distance then they are considered to represent an open area. If the free space area is an internal area, the navigation system will try not to choose one of these end points as a start point as this will tend to cause the machine to scan towards the boundary in a direction which is possibly away from other free space that could be cleaned. The navigation system attempts to select a start point located elsewhere on the boundary, i.e. bounded on both sides by other path segments of the selected path section. A start point of this type has been found to cause the machine to scan inwards into the area rather than outwards.
- the machine When the machine scans inwards it can often clean other free space areas after the isolated area has been cleaned, which can reduce the overall number of separate scanning operations that are required to cover the room area. Also, if there is a choice of start point, the nearer start point to the current position of the machine is chosen, providing the machine is able to localise (reset odometry errors) before reaching the start point.
- an L meter section of the boundary path data preceding the desired scan start point is extracted from the memory (step 530). If necessary, the machine then selects a point further back along the boundary from the start of the extracted section and marks this as a target point. The machine then attempts to find a path across the room to this target point from its current location. It does this by searching the room map for places that it has previously visited it then plots a path over these spaces to the target point on the boundary. It then moves to the target point and follows the boundary until it matches the trajectory section for the start of the next cleaning scan. Matching of this segment of the boundary path data is carried out in the same way as that of matching to find the start position.
- step 545 If it fails to find a route to the target point (step 545), either because the route was too risky or because it encountered an object on the way, then it moves onto the boundary. It moves round the boundary until it reaches one of the better free space points and starts a scan from there.
- step 550 Once the machine reaches the scan start point it orients to the chosen scan direction (the dominant direction identified earlier) and proceeds to scan in a reciprocating manner into the uncleaned space (step 550). While the machine is moving in a straight line it is constantly checking to see if it has akeady visited the space it is on. Once it sees that it has run over a previously visited space by its own length then it stops and carries out a step across. Since this step across is in open space it is a single segment step across. This cleaning scan continues until either it is blocked or there have been a small number of short traverses or the whole of the previous traverse was on space that had been visited previously.
- the navigation system records the travelled path on the map, such that the machine knows which positions of the map have been cleaned, and also continues to record the distance to the nearest obstacle seen by the machine's sensors on the map. After each scanning operation the machine processes the distance information recorded on the map, taking account of the areas already cleaned by the machine, to calculate a free space vector. The free space vectors are plotted on the map and can then be used by the navigation system to decide the next area where scanning should occur.
- 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 rest the odometry error to zero. If the matching process fails to find a good match then the machine will continue on the boundary until it should have reached one of the marker positions. If this also fails then it assumes that it is on a central object.
- the machine If the machine correctly recognised a position on the boundary then it reahgns the just completed traverse scan and the boundary section onto the free space map, based on the measured error between the machine's perceived position on the map and the actual position on the map.
- the navigation system finds the next largest uncleaned part of the area (step 505).
- the machine then repeats the search for freespace and the moves to them until all the space that can be identified on the map has been completed (steps 510, 515).
- the matching process in addition to looking for a strong match between blocks of data, the matching process also makes a number of safety checks. It makes sure that the orientation of the matching section is roughly the same as the extracted section and that they both roughly lie in the same part of the internal map.
- the odometry error gradually increases with distance travelled.
- the matching process sets an event horizon, i.e. a boundary for possible positions on the map where, due to odometry error, a match may occur. Any matches which correspond to positions in the room which are not, due to the size of the odometry error, possible positions for the machine are discounted.
- the navigation system looks at where, on the map, the free space vectors are located (step 505, Figure 11). The system looks for the longest length of boundary with free space vectors or for the closest boundary section to the machine's current position which has free space located adjacent to it. However, rather than finding the dominant edge orientation of this part of the area (step 520), the navigation system simply joins the two ends 620, 630 of the selected boundary section and takes the connecting hne 615 as the direction to be used during the scanning operation. The navigation system selects a start point 640 for the scan which is opposite the connecting line 615, i.e.
- the start point 640 is the furthest point on the boundary from the connecting Hne 615. As shown in Figure 14A, this is the point on the boundary which lies at a furthest distance from the connecting line 615 when a hne is drawn perpendicular to the connecting hne 615.
- the machine locates the start point using the same techniques as previously described. Once the machine has arrived at the start point it begins the reciprocating scanning pattern, with a direction which is parallel to the connecting line 615. The progression of the scan, i.e. the direction in which the machine moves after each line of the scan, is generally perpendicular to the connecting hne 615. The machine stops when it cannot continue the scanning pattern any further.
- the reason for stopping the scanning pattern will be that the machine has reached an object or the boundary.
- the machine may stop, or restrict the width of the scanned pattern if the map of visited places indicates that the position has previously been traversed.
- This alternative scheme has several benefits. Firstly, it reduces the amount of computation required to find the initial direction of the scan compared to the technique for finding the dominant direction, as described above. Secondly, it has been found that this technique is successful in allowing the machine to traverse most or all of the selected area before proceeding to other free space areas.
- Figures 15 and 16 show the same room as Figure 13, and illustrate the scanning patterns performed by the machine.
- the direction of the scan patterns follows the scheme just described. Having identified a part of the boundary 610 which has free space located adjacent to it, the machine determines the connecting line 615 and selects the start point 640. The machine finds the start point and then begins to perform the scan 650, with each path of the scan being ahgned parallel with the connecting line 615. The scan continues beyond the area that was initially identified (see Figure 14A) and the machine stops the scanning pattern when it reaches the boundary on the far side of the area at point 652. The machine updates the map of visited places and then examines the updated map to select the next part of the boundary which has free space located alongside it.
- part 614 of the boundary As part 614 of the boundary is a straight line, the connecting Hne between the boundary points is a straight line too, and thus the direction of each path of this next scan pattern is parallel with part 614 of the boundary.
- the machine begins a second scanning pattern, away from the boundary, into the uncleaned area.
- the navigation system will determine when the machine arrives at a position which has previously been visited, and will stop. In this simple example there are no other areas remaining to be cleaned. However, for a more complex area, the navigation system of the machine will continue to select parts of the boundary which have uncleaned (unvisited) free space alongside them and will select a direction for the scanning pattern based on the shape of those parts of the boundary.
- the machine selects those areas which are adjacent to objects placed within the area.
- the procedure for deahng with central objects is described more fully below. If, after this, there are still uncleaned (unvisited) areas, the machine will select a part of the boundary, or an object, near to the uncleaned area and will begin a scanning pattern from this starting point, with the scanning pattern progressing into the uncleaned area.
- the use of a part of the boundary or an object as a starting point allows the machine to have a good reference for the scanning pattern.
- FIG. 19 shows a strategy for coping with central objects.
- the machine performs a scanning operation 750 and eventually reaches a point at 760 where it can no longer continue the scanning movement.
- the machine then proceeds to follow the edge of the object 785, cleaning around the edge of the object.
- After travelling a distance of L metres around the object 785 the machine will attempt to match the last L metre path section with the path recorded around the boundary of the room. This should fail to give a suitable match.
- the machine recognises that it is following the edge of an object.
- the machine jumps off of the object at position 780, on the remote side of the object in the direction of the scan, and follows the boundary of the room 790 until it can match the travelled path with the previously stored boundary path data. At this point the navigation system can reset any odometry error and accurately place the position of the object 785. Note, in following the edge of a central object, the machine may travel around the object several times until it has travelled a distance of L metres.
- Figures 20-22 show some of the ways in which the machine operates during a scanning operation.
- the scanning operation comprises a series of parallel straight line paths which are offset from one another by a distance W, which will usually be equal to the width of the cleaning head of the machine.
- W which will usually be equal to the width of the cleaning head of the machine.
- irregular boundary shapes do not always permit the machine to follow a regular scanning pattern.
- Figure 20 shows a segmented step across where the machine follows the boundary 800 of the room in segments 804, 806 until it has travelled the total required step across distance W. At each step the machine rotates until it sees a clear path ahead and travels forward until it needs to turn.
- the step across distance W can be determined from trigonometry of the travelled paths 804, 806.
- a complex step across movement may comprise more segments than are shown here. This movement allows the machine to properly cover the floor surface and to continue the scanning movement at the regular width W.
- Figures 21 and 22 show other situations where the boundary prevents the machine from performing a regular step across movement.
- the machine reaches the end of movement 810 and follows the wall along path 812 until it can step across at 813 to the proper scan separation distance W.
- Figure 22 shows a similar scenario where the machine must travel back on itself along path 822 until it can travel across along path 823 and continue the scanning movement at the regular width W. In these movements the machine monitors, during path 810, 820 the distance on its right hand side to the wall/obstacles to determine whether the machine will be able to step across to continue its scanning movement.
- Markers are L metre sections of path data which can be used at various times by the navigation system to quickly determine the current position on the boundary. They are particularly useful in allowing the machine to cope with the kinds of errors that can occur when the machine is forced to folow a different path around the boundary, e.g. because something has been moved. If the machine is travelling around the boundary looking for a particular L metre section of the path but fails to find it, it will usually find the marker positioned after that particular section of required boundary and thus allow the machine to quickly recognise the error. Markers are also useful when the machine attempts to travel across a room area to reach a start point for a scan but misses it for some reason.
- the described method of recognising a previously visited position in an area by matching travelled path sections is dependent on several factors. Firstly, the navigation system should be able to cause the machine to travel in a closely similar manner when negotiating the same boundary on different occasions. The value of the 'quality of match' threshold and the process of sub-sampling path data so that the matching process considers the underlying path rather than the detailed path does allow for some variation between travelled paths while still allowing a successful match. Secondly, the matching process is dependent on the L metre path that is used during the matching process being unique to a position in the room. 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. Obviously, a truly rectangular room with no other obstacles on the boundary would cause a problem. The system can be made more robust in several ways.
- the length of the path used in the matching process can be increased until it does represent a unique position in the room. This can be performed automatically as part of the navigation method. Should the machine travel for more than a predetermined time period without finding a match, the navigation system can automatically increase the length of the matching window.
- the path data can be supplemented by other information gathered by the machine during a traverse of the area.
- This additional information can be absolute direction information obtained from an on-board compass, information about the direction, intensity and/or colour of the light field around the machine obtained from onboard light detectors or information about the distance of near or far objects from the machine detected by on-board distance sensors.
- this additional information is recorded against positions on the travelled path.
- the map correction process described above applies a linear correction to the travelled path.
- the accumulated error can be divided among the set of coordinates in a more complex manner. For example, if the machine is aware that wheel slippage occurred half way around the traverse of the room boundary, it can distribute more (or all) of the accumulated error to the last half of the path coordinates.
- the above method describes the machine following a clockwise path around an area.
- the machine may equally take an anti-clockwise path around the area during its initial lap of the boundary of the area. Also, in following the boundary to reach a start position for area scanning, the machine may follow the boundary in a clockwise or anti-clockwise direction.
- the cleaning machine steps across by substantially the width of the cleaner head on the cleaner so that the cleaning machine covers all of the floor surface in the minimum amount of time.
- the distance by which the cleaning machine steps inwardly or outwardly can have other values. For example, by stepping by only a fraction of the width of the cleaner head, such as one half of the width, the cleaning machine overlaps with a previous traverse of the room which is desirable if a user requires a particularly thorough cleaning of the floor.
- the step distance can be chosen by the user.
- buttons can be incorporated in the user panel (140, Fig. 1), a remote control or both of these.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Acoustics & Sound (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0126492.8 | 2001-11-03 | ||
GBGB0126492.8A GB0126492D0 (en) | 2001-11-03 | 2001-11-03 | An autonomous machine |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003040846A1 true WO2003040846A1 (fr) | 2003-05-15 |
Family
ID=9925142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2002/004955 WO2003040846A1 (fr) | 2001-11-03 | 2002-11-01 | Machine autonome |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB0126492D0 (fr) |
WO (1) | WO2003040846A1 (fr) |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6809490B2 (en) | 2001-06-12 | 2004-10-26 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
WO2005055796A2 (fr) * | 2003-12-10 | 2005-06-23 | Vorwerk & Co. Interholding Gmbh | Appareil de nettoyage pour sols |
DE102004013811A1 (de) * | 2004-03-20 | 2005-10-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Verfahren zur flächendeckenden Befahrung eines Gebietes sowie Fahrzeug zur Durchführung des Verfahrens |
DE102006040146A1 (de) * | 2006-08-26 | 2008-03-13 | Inmach Intelligente Maschinen Gmbh | Abstoßungsgeführte Bewegungssteuerung eines Mobilgeräts |
DE102007040081A1 (de) * | 2007-08-24 | 2009-02-26 | BSH Bosch und Siemens Hausgeräte GmbH | Vorrichtung zum Regeln eines mechanischen Bewegungsverhaltens eines bewegbaren Elements eines Hausgeräts und entsprechendes Verfahren |
DE102007040082A1 (de) * | 2007-08-24 | 2009-02-26 | BSH Bosch und Siemens Hausgeräte GmbH | Vorrichtung zum Regeln eines mechanischen Bewegungsverhaltens eines bewegbaren Elements eines Hausgeräts und entsprechendes Verfahren |
US7706917B1 (en) | 2004-07-07 | 2010-04-27 | Irobot Corporation | Celestial navigation system for an autonomous robot |
US8239992B2 (en) | 2007-05-09 | 2012-08-14 | Irobot Corporation | Compact autonomous coverage robot |
EP2551739A1 (fr) * | 2011-07-25 | 2013-01-30 | Deere & Company | Système de point de lancement de tondeuse mécanique |
US8386081B2 (en) | 2002-09-13 | 2013-02-26 | Irobot Corporation | Navigational control system for a robotic device |
US8417383B2 (en) | 2006-05-31 | 2013-04-09 | Irobot Corporation | Detecting robot stasis |
US8428778B2 (en) | 2002-09-13 | 2013-04-23 | Irobot Corporation | Navigational control system for a robotic device |
US8456125B2 (en) | 2004-01-28 | 2013-06-04 | Irobot Corporation | Debris sensor for cleaning apparatus |
US8463438B2 (en) | 2001-06-12 | 2013-06-11 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
US8474090B2 (en) | 2002-01-03 | 2013-07-02 | Irobot Corporation | Autonomous floor-cleaning robot |
US8515578B2 (en) | 2002-09-13 | 2013-08-20 | Irobot Corporation | Navigational control system for a robotic device |
US8565920B2 (en) | 2000-01-24 | 2013-10-22 | Irobot Corporation | Obstacle following sensor scheme for a mobile robot |
US8572799B2 (en) | 2006-05-19 | 2013-11-05 | Irobot Corporation | Removing debris from cleaning robots |
US8659255B2 (en) | 2001-01-24 | 2014-02-25 | Irobot Corporation | Robot confinement |
US8661605B2 (en) | 2005-12-02 | 2014-03-04 | Irobot Corporation | Coverage robot mobility |
US8739355B2 (en) | 2005-02-18 | 2014-06-03 | Irobot Corporation | Autonomous surface cleaning robot for dry cleaning |
US8761931B2 (en) | 2005-12-02 | 2014-06-24 | Irobot Corporation | Robot system |
US8780342B2 (en) | 2004-03-29 | 2014-07-15 | Irobot Corporation | Methods and apparatus for position estimation using reflected light sources |
US8854001B2 (en) | 2004-01-21 | 2014-10-07 | Irobot Corporation | Autonomous robot auto-docking and energy management systems and methods |
US8855813B2 (en) | 2005-02-18 | 2014-10-07 | Irobot Corporation | Autonomous surface cleaning robot for wet and dry cleaning |
US8868237B2 (en) | 2006-03-17 | 2014-10-21 | Irobot Corporation | Robot confinement |
US8930023B2 (en) | 2009-11-06 | 2015-01-06 | Irobot Corporation | Localization by learning of wave-signal distributions |
US8950038B2 (en) | 2005-12-02 | 2015-02-10 | Irobot Corporation | Modular robot |
US8954192B2 (en) | 2005-12-02 | 2015-02-10 | Irobot Corporation | Navigating autonomous coverage robots |
US8972052B2 (en) | 2004-07-07 | 2015-03-03 | Irobot Corporation | Celestial navigation system for an autonomous vehicle |
US8985127B2 (en) | 2005-02-18 | 2015-03-24 | Irobot Corporation | Autonomous surface cleaning robot for wet cleaning |
US9008835B2 (en) | 2004-06-24 | 2015-04-14 | Irobot Corporation | Remote control scheduler and method for autonomous robotic device |
US9420741B2 (en) | 2014-12-15 | 2016-08-23 | Irobot Corporation | Robot lawnmower mapping |
US9510505B2 (en) | 2014-10-10 | 2016-12-06 | Irobot Corporation | Autonomous robot localization |
US9516806B2 (en) | 2014-10-10 | 2016-12-13 | Irobot Corporation | Robotic lawn mowing boundary determination |
US9538702B2 (en) | 2014-12-22 | 2017-01-10 | Irobot Corporation | Robotic mowing of separated lawn areas |
US9554508B2 (en) | 2014-03-31 | 2017-01-31 | Irobot Corporation | Autonomous mobile robot |
WO2018043180A1 (fr) * | 2016-08-31 | 2018-03-08 | 村田機械株式会社 | Procédé de création d'itinéraire de déplacement, dispositif de déplacement autonome et programme |
US10021830B2 (en) | 2016-02-02 | 2018-07-17 | Irobot Corporation | Blade assembly for a grass cutting mobile robot |
US10314449B2 (en) | 2010-02-16 | 2019-06-11 | Irobot Corporation | Vacuum brush |
US10459063B2 (en) | 2016-02-16 | 2019-10-29 | Irobot Corporation | Ranging and angle of arrival antenna system for a mobile robot |
US11115798B2 (en) | 2015-07-23 | 2021-09-07 | Irobot Corporation | Pairing a beacon with a mobile robot |
US11470774B2 (en) | 2017-07-14 | 2022-10-18 | Irobot Corporation | Blade assembly for a grass cutting mobile robot |
US11835343B1 (en) * | 2004-08-06 | 2023-12-05 | AI Incorporated | Method for constructing a map while performing work |
EP4303686A1 (fr) * | 2022-07-05 | 2024-01-10 | Willand (Beijing) Technology Co., Ltd. | Procédé de construction de carte pour tondeuse, support de stockage, tondeuse et terminal mobile |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4674048A (en) * | 1983-10-26 | 1987-06-16 | Automax Kabushiki-Kaisha | Multiple robot control system using grid coordinate system for tracking and completing travel over a mapped region containing obstructions |
WO2000038025A1 (fr) * | 1998-12-18 | 2000-06-29 | Dyson Limited | Ameliorations apportees a des dispositifs de nettoyage du sol |
US6128574A (en) * | 1996-07-23 | 2000-10-03 | Claas Kgaa | Route planning system for agricultural work vehicles |
US6240342B1 (en) * | 1998-02-03 | 2001-05-29 | Siemens Aktiengesellschaft | Path planning process for a mobile surface treatment unit |
-
2001
- 2001-11-03 GB GBGB0126492.8A patent/GB0126492D0/en not_active Ceased
-
2002
- 2002-11-01 WO PCT/GB2002/004955 patent/WO2003040846A1/fr not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4674048A (en) * | 1983-10-26 | 1987-06-16 | Automax Kabushiki-Kaisha | Multiple robot control system using grid coordinate system for tracking and completing travel over a mapped region containing obstructions |
US6128574A (en) * | 1996-07-23 | 2000-10-03 | Claas Kgaa | Route planning system for agricultural work vehicles |
US6240342B1 (en) * | 1998-02-03 | 2001-05-29 | Siemens Aktiengesellschaft | Path planning process for a mobile surface treatment unit |
WO2000038025A1 (fr) * | 1998-12-18 | 2000-06-29 | Dyson Limited | Ameliorations apportees a des dispositifs de nettoyage du sol |
Non-Patent Citations (1)
Title |
---|
LANG S Y T ET AL: "Coordination of behaviours for mobile robot floor cleaning", INTELLIGENT ROBOTS AND SYSTEMS, 1998. PROCEEDINGS., 1998 IEEE/RSJ INTERNATIONAL CONFERENCE ON VICTORIA, BC, CANADA 13-17 OCT. 1998, NEW YORK, NY, USA,IEEE, US, 13 October 1998 (1998-10-13), pages 1236 - 1241, XP010311567, ISBN: 0-7803-4465-0 * |
Cited By (111)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8565920B2 (en) | 2000-01-24 | 2013-10-22 | Irobot Corporation | Obstacle following sensor scheme for a mobile robot |
US9446521B2 (en) | 2000-01-24 | 2016-09-20 | Irobot Corporation | Obstacle following sensor scheme for a mobile robot |
US9144361B2 (en) | 2000-04-04 | 2015-09-29 | Irobot Corporation | Debris sensor for cleaning apparatus |
US9582005B2 (en) | 2001-01-24 | 2017-02-28 | Irobot Corporation | Robot confinement |
US9038233B2 (en) | 2001-01-24 | 2015-05-26 | Irobot Corporation | Autonomous floor-cleaning robot |
US8659255B2 (en) | 2001-01-24 | 2014-02-25 | Irobot Corporation | Robot confinement |
US9167946B2 (en) | 2001-01-24 | 2015-10-27 | Irobot Corporation | Autonomous floor cleaning robot |
US9622635B2 (en) | 2001-01-24 | 2017-04-18 | Irobot Corporation | Autonomous floor-cleaning robot |
US7173391B2 (en) | 2001-06-12 | 2007-02-06 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
US6809490B2 (en) | 2001-06-12 | 2004-10-26 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
US8463438B2 (en) | 2001-06-12 | 2013-06-11 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
US8838274B2 (en) | 2001-06-12 | 2014-09-16 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
US9104204B2 (en) | 2001-06-12 | 2015-08-11 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
US8763199B2 (en) | 2002-01-03 | 2014-07-01 | Irobot Corporation | Autonomous floor-cleaning robot |
US8671507B2 (en) | 2002-01-03 | 2014-03-18 | Irobot Corporation | Autonomous floor-cleaning robot |
US8656550B2 (en) | 2002-01-03 | 2014-02-25 | Irobot Corporation | Autonomous floor-cleaning robot |
US8474090B2 (en) | 2002-01-03 | 2013-07-02 | Irobot Corporation | Autonomous floor-cleaning robot |
US9128486B2 (en) | 2002-01-24 | 2015-09-08 | Irobot Corporation | Navigational control system for a robotic device |
US8781626B2 (en) | 2002-09-13 | 2014-07-15 | Irobot Corporation | Navigational control system for a robotic device |
US9949608B2 (en) | 2002-09-13 | 2018-04-24 | Irobot Corporation | Navigational control system for a robotic device |
US8515578B2 (en) | 2002-09-13 | 2013-08-20 | Irobot Corporation | Navigational control system for a robotic device |
US8428778B2 (en) | 2002-09-13 | 2013-04-23 | Irobot Corporation | Navigational control system for a robotic device |
US8793020B2 (en) | 2002-09-13 | 2014-07-29 | Irobot Corporation | Navigational control system for a robotic device |
US8386081B2 (en) | 2002-09-13 | 2013-02-26 | Irobot Corporation | Navigational control system for a robotic device |
WO2005055796A3 (fr) * | 2003-12-10 | 2005-11-10 | Vorwerk Co Interholding | Appareil de nettoyage pour sols |
WO2005055796A2 (fr) * | 2003-12-10 | 2005-06-23 | Vorwerk & Co. Interholding Gmbh | Appareil de nettoyage pour sols |
US8854001B2 (en) | 2004-01-21 | 2014-10-07 | Irobot Corporation | Autonomous robot auto-docking and energy management systems and methods |
US9215957B2 (en) | 2004-01-21 | 2015-12-22 | Irobot Corporation | Autonomous robot auto-docking and energy management systems and methods |
US8456125B2 (en) | 2004-01-28 | 2013-06-04 | Irobot Corporation | Debris sensor for cleaning apparatus |
DE102004013811A1 (de) * | 2004-03-20 | 2005-10-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Verfahren zur flächendeckenden Befahrung eines Gebietes sowie Fahrzeug zur Durchführung des Verfahrens |
US9360300B2 (en) | 2004-03-29 | 2016-06-07 | Irobot Corporation | Methods and apparatus for position estimation using reflected light sources |
US8780342B2 (en) | 2004-03-29 | 2014-07-15 | Irobot Corporation | Methods and apparatus for position estimation using reflected light sources |
US9008835B2 (en) | 2004-06-24 | 2015-04-14 | Irobot Corporation | Remote control scheduler and method for autonomous robotic device |
US9486924B2 (en) | 2004-06-24 | 2016-11-08 | Irobot Corporation | Remote control scheduler and method for autonomous robotic device |
US7706917B1 (en) | 2004-07-07 | 2010-04-27 | Irobot Corporation | Celestial navigation system for an autonomous robot |
US8972052B2 (en) | 2004-07-07 | 2015-03-03 | Irobot Corporation | Celestial navigation system for an autonomous vehicle |
US9223749B2 (en) | 2004-07-07 | 2015-12-29 | Irobot Corporation | Celestial navigation system for an autonomous vehicle |
US9229454B1 (en) | 2004-07-07 | 2016-01-05 | Irobot Corporation | Autonomous mobile robot system |
US8874264B1 (en) | 2004-07-07 | 2014-10-28 | Irobot Corporation | Celestial navigation system for an autonomous robot |
US11835343B1 (en) * | 2004-08-06 | 2023-12-05 | AI Incorporated | Method for constructing a map while performing work |
US8739355B2 (en) | 2005-02-18 | 2014-06-03 | Irobot Corporation | Autonomous surface cleaning robot for dry cleaning |
US8782848B2 (en) | 2005-02-18 | 2014-07-22 | Irobot Corporation | Autonomous surface cleaning robot for dry cleaning |
US10470629B2 (en) | 2005-02-18 | 2019-11-12 | Irobot Corporation | Autonomous surface cleaning robot for dry cleaning |
US9445702B2 (en) | 2005-02-18 | 2016-09-20 | Irobot Corporation | Autonomous surface cleaning robot for wet and dry cleaning |
US8966707B2 (en) | 2005-02-18 | 2015-03-03 | Irobot Corporation | Autonomous surface cleaning robot for dry cleaning |
US8855813B2 (en) | 2005-02-18 | 2014-10-07 | Irobot Corporation | Autonomous surface cleaning robot for wet and dry cleaning |
US8985127B2 (en) | 2005-02-18 | 2015-03-24 | Irobot Corporation | Autonomous surface cleaning robot for wet cleaning |
US8661605B2 (en) | 2005-12-02 | 2014-03-04 | Irobot Corporation | Coverage robot mobility |
US10524629B2 (en) | 2005-12-02 | 2020-01-07 | Irobot Corporation | Modular Robot |
US8954192B2 (en) | 2005-12-02 | 2015-02-10 | Irobot Corporation | Navigating autonomous coverage robots |
US9392920B2 (en) | 2005-12-02 | 2016-07-19 | Irobot Corporation | Robot system |
US8950038B2 (en) | 2005-12-02 | 2015-02-10 | Irobot Corporation | Modular robot |
US8978196B2 (en) | 2005-12-02 | 2015-03-17 | Irobot Corporation | Coverage robot mobility |
US9599990B2 (en) | 2005-12-02 | 2017-03-21 | Irobot Corporation | Robot system |
US9144360B2 (en) | 2005-12-02 | 2015-09-29 | Irobot Corporation | Autonomous coverage robot navigation system |
US8761931B2 (en) | 2005-12-02 | 2014-06-24 | Irobot Corporation | Robot system |
US9149170B2 (en) | 2005-12-02 | 2015-10-06 | Irobot Corporation | Navigating autonomous coverage robots |
US10037038B2 (en) | 2006-03-17 | 2018-07-31 | Irobot Corporation | Lawn care robot |
US9043952B2 (en) | 2006-03-17 | 2015-06-02 | Irobot Corporation | Lawn care robot |
US9043953B2 (en) | 2006-03-17 | 2015-06-02 | Irobot Corporation | Lawn care robot |
US11194342B2 (en) | 2006-03-17 | 2021-12-07 | Irobot Corporation | Lawn care robot |
US8954193B2 (en) | 2006-03-17 | 2015-02-10 | Irobot Corporation | Lawn care robot |
US9713302B2 (en) | 2006-03-17 | 2017-07-25 | Irobot Corporation | Robot confinement |
US8868237B2 (en) | 2006-03-17 | 2014-10-21 | Irobot Corporation | Robot confinement |
US8572799B2 (en) | 2006-05-19 | 2013-11-05 | Irobot Corporation | Removing debris from cleaning robots |
US9955841B2 (en) | 2006-05-19 | 2018-05-01 | Irobot Corporation | Removing debris from cleaning robots |
US9492048B2 (en) | 2006-05-19 | 2016-11-15 | Irobot Corporation | Removing debris from cleaning robots |
US10244915B2 (en) | 2006-05-19 | 2019-04-02 | Irobot Corporation | Coverage robots and associated cleaning bins |
US8417383B2 (en) | 2006-05-31 | 2013-04-09 | Irobot Corporation | Detecting robot stasis |
US9317038B2 (en) | 2006-05-31 | 2016-04-19 | Irobot Corporation | Detecting robot stasis |
DE102006040146A1 (de) * | 2006-08-26 | 2008-03-13 | Inmach Intelligente Maschinen Gmbh | Abstoßungsgeführte Bewegungssteuerung eines Mobilgeräts |
US8239992B2 (en) | 2007-05-09 | 2012-08-14 | Irobot Corporation | Compact autonomous coverage robot |
US9480381B2 (en) | 2007-05-09 | 2016-11-01 | Irobot Corporation | Compact autonomous coverage robot |
US8347444B2 (en) | 2007-05-09 | 2013-01-08 | Irobot Corporation | Compact autonomous coverage robot |
US10299652B2 (en) | 2007-05-09 | 2019-05-28 | Irobot Corporation | Autonomous coverage robot |
US11498438B2 (en) | 2007-05-09 | 2022-11-15 | Irobot Corporation | Autonomous coverage robot |
US10070764B2 (en) | 2007-05-09 | 2018-09-11 | Irobot Corporation | Compact autonomous coverage robot |
US8370985B2 (en) | 2007-05-09 | 2013-02-12 | Irobot Corporation | Compact autonomous coverage robot |
US8839477B2 (en) | 2007-05-09 | 2014-09-23 | Irobot Corporation | Compact autonomous coverage robot |
DE102007040081B4 (de) * | 2007-08-24 | 2010-04-08 | BSH Bosch und Siemens Hausgeräte GmbH | Vorrichtung zum Regeln eines mechanischen Bewegungsverhaltens eines bewegbaren Elements eines Hausgeräts und entsprechendes Verfahren |
DE102007040081A1 (de) * | 2007-08-24 | 2009-02-26 | BSH Bosch und Siemens Hausgeräte GmbH | Vorrichtung zum Regeln eines mechanischen Bewegungsverhaltens eines bewegbaren Elements eines Hausgeräts und entsprechendes Verfahren |
DE102007040082B4 (de) * | 2007-08-24 | 2016-09-22 | BSH Hausgeräte GmbH | Vorrichtung zum Regeln eines mechanischen Bewegungsverhaltens eines bewegbaren Elements eines Hausgeräts und entsprechendes Verfahren |
DE102007040082A1 (de) * | 2007-08-24 | 2009-02-26 | BSH Bosch und Siemens Hausgeräte GmbH | Vorrichtung zum Regeln eines mechanischen Bewegungsverhaltens eines bewegbaren Elements eines Hausgeräts und entsprechendes Verfahren |
US8930023B2 (en) | 2009-11-06 | 2015-01-06 | Irobot Corporation | Localization by learning of wave-signal distributions |
US10314449B2 (en) | 2010-02-16 | 2019-06-11 | Irobot Corporation | Vacuum brush |
US11058271B2 (en) | 2010-02-16 | 2021-07-13 | Irobot Corporation | Vacuum brush |
EP2551739A1 (fr) * | 2011-07-25 | 2013-01-30 | Deere & Company | Système de point de lancement de tondeuse mécanique |
US9554508B2 (en) | 2014-03-31 | 2017-01-31 | Irobot Corporation | Autonomous mobile robot |
US11452257B2 (en) | 2014-10-10 | 2022-09-27 | Irobot Corporation | Robotic lawn mowing boundary determination |
US10750667B2 (en) | 2014-10-10 | 2020-08-25 | Irobot Corporation | Robotic lawn mowing boundary determination |
US9854737B2 (en) | 2014-10-10 | 2018-01-02 | Irobot Corporation | Robotic lawn mowing boundary determination |
US9510505B2 (en) | 2014-10-10 | 2016-12-06 | Irobot Corporation | Autonomous robot localization |
US9516806B2 (en) | 2014-10-10 | 2016-12-13 | Irobot Corporation | Robotic lawn mowing boundary determination |
US10067232B2 (en) | 2014-10-10 | 2018-09-04 | Irobot Corporation | Autonomous robot localization |
US11231707B2 (en) | 2014-12-15 | 2022-01-25 | Irobot Corporation | Robot lawnmower mapping |
US10274954B2 (en) | 2014-12-15 | 2019-04-30 | Irobot Corporation | Robot lawnmower mapping |
US9420741B2 (en) | 2014-12-15 | 2016-08-23 | Irobot Corporation | Robot lawnmower mapping |
US10159180B2 (en) | 2014-12-22 | 2018-12-25 | Irobot Corporation | Robotic mowing of separated lawn areas |
US20190141888A1 (en) | 2014-12-22 | 2019-05-16 | Irobot Corporation | Robotic Mowing of Separated Lawn Areas |
US11589503B2 (en) | 2014-12-22 | 2023-02-28 | Irobot Corporation | Robotic mowing of separated lawn areas |
US9538702B2 (en) | 2014-12-22 | 2017-01-10 | Irobot Corporation | Robotic mowing of separated lawn areas |
US10874045B2 (en) | 2014-12-22 | 2020-12-29 | Irobot Corporation | Robotic mowing of separated lawn areas |
US9826678B2 (en) | 2014-12-22 | 2017-11-28 | Irobot Corporation | Robotic mowing of separated lawn areas |
US11115798B2 (en) | 2015-07-23 | 2021-09-07 | Irobot Corporation | Pairing a beacon with a mobile robot |
US10426083B2 (en) | 2016-02-02 | 2019-10-01 | Irobot Corporation | Blade assembly for a grass cutting mobile robot |
US10021830B2 (en) | 2016-02-02 | 2018-07-17 | Irobot Corporation | Blade assembly for a grass cutting mobile robot |
US10459063B2 (en) | 2016-02-16 | 2019-10-29 | Irobot Corporation | Ranging and angle of arrival antenna system for a mobile robot |
WO2018043180A1 (fr) * | 2016-08-31 | 2018-03-08 | 村田機械株式会社 | Procédé de création d'itinéraire de déplacement, dispositif de déplacement autonome et programme |
US11470774B2 (en) | 2017-07-14 | 2022-10-18 | Irobot Corporation | Blade assembly for a grass cutting mobile robot |
EP4303686A1 (fr) * | 2022-07-05 | 2024-01-10 | Willand (Beijing) Technology Co., Ltd. | Procédé de construction de carte pour tondeuse, support de stockage, tondeuse et terminal mobile |
US11917938B2 (en) | 2022-07-05 | 2024-03-05 | Willand (Beijing) Technology Co., Ltd. | Method for constructing map for mower, storage medium, mower, and mobile terminal |
Also Published As
Publication number | Publication date |
---|---|
GB0126492D0 (en) | 2002-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2002337343B2 (en) | An autonomous machine | |
US7053580B2 (en) | Autonomous machine | |
WO2003040846A1 (fr) | Machine autonome | |
AU2002337343A1 (en) | An autonomous machine | |
US10882187B2 (en) | Method of planning a cleaning route for a cleaning robot and a chip for achieving the same | |
US11960304B2 (en) | Localization and mapping using physical features | |
US20220324112A1 (en) | Domestic robotic system and method | |
WO2000038025A1 (fr) | Ameliorations apportees a des dispositifs de nettoyage du sol | |
EP1593012B1 (fr) | Machine autonome | |
US7206677B2 (en) | Efficient navigation of autonomous carriers | |
CN109068933A (zh) | 借助机器人的机器人辅助表面处理 | |
JP2005124753A (ja) | 自走式掃除機 | |
JP2004275468A (ja) | 自走式掃除機およびその運転方法 | |
CN113100663A (zh) | 自主式地板清洁器和用于自主式地板清洁的方法 | |
WO2023091804A1 (fr) | Localisation et cartographie basées sur une trajectoire | |
Palacín et al. | Measuring coverage performances of a floor cleaning mobile robot using a vision system | |
ES2902427T3 (es) | Sistema que comprende un primer aparato de tratamiento de suelos y un segundo aparato de tratamiento de suelos y método para operar un sistema de este tipo | |
Goel et al. | Systematic floor coverage of unknown environments using rectangular regions and localization certainty | |
JP7161602B2 (ja) | 移動ロボット及び当該移動ロボットを制御するための方法 | |
WO2020059292A1 (fr) | Appareil de nettoyage à déplacement autonome | |
JP2019101871A (ja) | 電気掃除機 | |
TW432266B (en) | Improvements in or relating to floor cleaning devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |