Autonomous mobile robot working method, autonomous mobile robot and system
By constructing a permanent map and using SLAM methods to create an autonomous cleaning robot, combined with human-machine interface interaction, the problem of users having difficulty in influencing the robot's behavior has been solved, achieving efficient and complete autonomous cleaning and improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- PAPST LICENSING GMBH & CO KG
- Filing Date
- 2013-09-24
- Publication Date
- 2026-04-24
AI Technical Summary
When faced with irregular situations or inaccessible areas, existing autonomous cleaning robots are difficult for users to effectively influence the robot's behavior, resulting in either too frequent or too infrequent intervention, and failing to achieve fully autonomous and efficient cleaning results.
An autonomous robot equipped with a navigation module, sensor module, analysis unit, and communication module is used to construct a permanent map, navigate using the SLAM method, and interact with users through a human-machine interface. It can autonomously adjust its cleaning strategy according to user needs and environmental changes to achieve autonomous handling of incomplete coverage.
It improves the robot's ability to autonomously handle changing environments, reduces the frequency of user intervention, enhances the user experience, and ensures the integrity and efficiency of cleaning.
Smart Images

Figure CN109613913B_ABST
Abstract
Description
[0001] This application is a divisional application filed in China on September 24, 2013, with application number 201380049511.6, entitled "Robot and method for autonomously detecting or handling the ground". Technical Field
[0002] This specification relates to a method for operating an autonomous mobile robot, an autonomous mobile robot and system, and in particular a method for detecting or processing the ground using an autonomous robot. Background Technology
[0003] Many self-driving robots for cleaning or treating surfaces are known and available for purchase. The principle is to treat the surface as completely as possible in the shortest possible time. Simple systems can use random navigation systems (such as iRobot's EP 2287697A2) without needing to establish or use a map of the environment of the surface to be treated. That is, location information involving obstacles, surface boundaries, and cleaned / uncleaned areas is unnecessary. When combined with local movement strategies, the direction of travel is only (randomly) changed upon collision with an obstacle. Therefore, although the surface may be cleaned multiple times, complete cleaning cannot be (ultimately) guaranteed.
[0004] More complex systems establish maps of the surrounding environment to plan routes and clean the floor in a targeted manner using SLAM (Simultaneous Localization and Mapping) algorithms. Sensors are used to obtain the map and the robot's position within it, such as laser rangefinders, triangulation using cameras and lasers, contact sensors, distance sensors, and accelerometers. In new cleaning robots with such SLAM modules, the map is not permanent; a new map is created for each new cleaning process (i.e., after the previous cleaning process is completed). In such systems, map-based information (how and how cleaning is performed) is mostly not communicated to the user, and the user cannot control the internal application of the map (e.g., dividing the floor into areas to be cleaned and areas not to be cleaned).
[0005] In contrast to non-permanent maps, using permanently stored maps enables more efficient processing because it eliminates the need for repeated surveys of the surrounding environment. Therefore, the processing can be calculated immediately. Here, additional map-based information (e.g., problem areas, heavily contaminated areas, etc.) can be obtained and reused. For example, EP 1 967 116 A1 identifies the degree of ground contamination and stores it in a map so that the processing intensity (e.g., duration, number of cycles) can be adjusted accordingly in subsequent processing cycles. Intellibot's US 6,667,592 B2, for example, uses stored / permanent maps to assign (potentially different) functions (e.g., suction, wiping) to individual local areas of the map, which are then performed autonomously by the cleaning equipment. Samsung's US 2009 / 0182464 A1 breaks down an available map into local areas that are subsequently cleaned one after another.
[0006] However, the conditions in the area to be cleaned often change from one process to the next. Therefore, people or unknown objects (such as shoes or bags) may be present in the area, or it may be obstructed by furniture. This makes it difficult for the robot to perform its tasks entirely autonomously. In many systems, this is why the interaction between the user and the robot is prescribed. Advantageously, if the robot detects, for example, a change in the environment, it can then specifically request assistance from the user.
[0007] US 5,995,884 A describes a cleaning system that is an extension of a computer. The computer manages a permanent map that can be updated. This map forms the basis of the cleaning operation. The computer is the user interface, which outputs information about potential obstacles.
[0008] Another known method is to use it to exclude areas not reached during the processing, and then retroactively address these areas in the same or subsequent processing steps. This method is described, for example, in document WO 03 / 014852 A1.
[0009] US 2010 / 0313364 A1 describes a robot that is able to clean areas that may not have been cleaned during the processing drive during a reprocessing trip.
[0010] US 2011 / 0264305 describes a method in which a cleaning robot transmits a map of the area to be cleaned to an external device and can interact with a user in this manner and method.
[0011] However, users often cannot influence the robot's behavior when there are irregularities or inaccessible areas. For example, robot systems may not have any maps or may only be able to work with the help of temporary maps, or users may have to pre-determine what actions the robot should take for each specific irregularity.
[0012] In this context, users often feel disturbed when the robot intervenes too frequently or repeatedly to address the same issue. Conversely, too little or no intervention usually indicates that the robot is not intelligent enough.
[0013] The purpose of this invention is to provide an autonomous robot that adapts its interactions to the user's needs and expectations as well as the robot's task scope. Summary of the Invention
[0014] The objective is achieved by the mobile robot according to claim 1 and the method according to claim 17. Different embodiments and modifications of the invention are the subject of the dependent claims.
[0015] The following describes a mobile, self-propelled robot for autonomously performing tasks. According to embodiments of the invention, the robot comprises: a drive module for moving the robot on the ground; a processing module for performing tasks during processing; and a navigation module configured to navigate the robot on the ground using a map of the surrounding environment during processing, and to store or manage one or more maps of the surrounding environment. Furthermore, the robot includes: at least one sensor module for detecting information about the structure of the surrounding environment; an analysis unit configured to determine the surface being processed during processing, compare the surface with a reference object, and store information about the deviation between the reference object and the actually processed surface; and a communication module configured to establish a connection with a human-machine interface during processing, or after the processing has ended or been interrupted, to communicate the stored information about the deviation between the reference object and the actually processed surface, thereby enabling the user to intervene in the processing, change the surrounding environment, or start a new processing step, wherein the decision to communicate, or to communicate without user request, or even not at all, is made using defined, predefined criteria. The communication module is also configured to accept user control commands to interrupt, continue, modify, or restart the processing procedure.
[0016] Furthermore, a corresponding method is described for automatically performing tasks using a self-propelled, autonomous robot. The processing module does not necessarily need to handle the ground. Simple detection or transport tasks can also be performed. Not all modules need to be integrated into the mobile robot. For example, the analysis unit can also perform analysis tasks on a stationary computer that communicates with the mobile robot (e.g., via radio).
[0017] The embodiments and technical features of this mobile robot described in the context, involving ground handling, can also be adapted to mobile robots used to perform other or additional tasks. Tasks performed by the mobile robot may include, for example, handling the ground, detecting the ground or surrounding environment, transporting objects, cleaning the air, and / or performing recreational activities. For example, in applications used solely for detection, a processing module is not mandatory. Attached Figure Description
[0018] The following figures and other descriptions should aid in a better understanding of the invention. Elements in the figures are not necessarily to be construed as limiting, but are merely used to illustrate the principles of the invention. In these figures, the same reference numerals denote the same or similar parts or signals having the same or similar meaning. The figures show:
[0019] Figure 1 This is an exemplary schematic perspective view of a self-propelled robot used for autonomously cleaning floors;
[0020] Figure 2 This is an exemplary block diagram of the structure of a robot used for autonomously handling the ground;
[0021] Figure 3 This is an exemplary view of a robot used for autonomously cleaning the floor at different locations in the area to be cleaned;
[0022] Figure 4 This is an exemplary view of a self-driving robot for autonomously cleaning the floor in an area with irregular shapes.
[0023] Figure 5 This is an exemplary block diagram of a robot structure for autonomously handling the ground according to the present invention;
[0024] Figure 6 This is an exemplary flowchart of a method for handling the ground with the help of user intervention. Detailed Implementation
[0025] Figure 1 An exemplary schematic perspective view of a self-driving robot 100 for autonomously cleaning the floor is shown. Figure 1A Cartesian coordinate system is also shown, with the origin of the coordinate axes located at the midpoint of robot 100. This device is typically configured as a disk, but is not mandatory. The vertical axis z passes through the center of the disk. The longitudinal axis is denoted by x, and the transverse axis by y.
[0026] Robot 100 includes a drive module (not shown) having, for example, an electric motor, a transmission, and wheels. The drive module is designed, for example, to move the robot in forward and backward directions (in...). Figure 1 In the view, it is along the x-axis, and rotated about the vertical axis (in Figure 1 (The z-axis is shown in the view). Therefore, the robot's wheels can travel to every point on the ground (parallel to the plane defined by the x and y axes). Furthermore, the robot has processing modules, such as a cleaning module, designed to clean the ground beneath (and / or beside) the robot. For example, it sucks dust and contaminant particles into a collector, or conveys them mechanically (or otherwise arbitrarily) into that collector. Such robots are known, differing primarily in their navigation methods and the "strategy" employed when processing the ground (e.g., cleaning operations).
[0027] Another known type of robot is one that can function without the establishment or application of a map. In such a relatively simple system, a random navigation method is typically employed. Here, no location-related information (such as information about obstacles) or orientation points are stored and not reused during processing. Combined with a localized motion strategy, such a robot typically changes direction (randomly) upon colliding with an obstacle. The ground in the area to be cleaned is thus locally cleaned multiple times, while other areas may remain uncleaned.
[0028] For this reason, more sophisticated, “intelligent” systems have been developed that map the surrounding environment and simultaneously determine the robot’s position within that map, thereby enabling the robot to become as autonomous as possible and achieve the best possible cleaning efficiency, requiring minimal or no reprocessing from the user. This method is known and is called the SLAM method (Simultaneous Localization and Mapping, see, for example, H. Durrant-Whyte and T. Bailey: Simultaneous Localization and Mapping (SLAM): Part I The Essential Algorithms, in: IEEE Robotics and Automation Magazine, Bd. 13, Nr. 2, pp. 99-110, Juni 2006). Purposeful navigation is achieved in this way. The map and the robot’s position within it are determined using one or more sensors. In known systems, a new map is created for each new cleaning operation; that is, these maps are not permanent.
[0029] Compared to systems with temporary maps, a more efficient process can be achieved using a system where the map established by the robot is permanently stored and reused in subsequent cleaning operations, eliminating the need for a re-survey of the surrounding environment. Additionally, map-based information can be identified and reused. For example, heavily contaminated areas can be marked on the map and treated specially in subsequent cleaning operations. User-specific information (e.g., room identification) can also be received. According to the embodiments described herein, users can particularly influence the process by responding to messages about the process or the surrounding environment. This possibility of intervention, or related user applications, can ensure increased consumer acceptance of such robots.
[0030] Figure 2This is a block diagram illustrating a schematic construction of an embodiment of a robot 100 for autonomously processing (e.g., cleaning) a floor. The drive module 130 and processing module 140, already mentioned above, are also shown. These two modules 130 and 140 are controlled by a control and navigation module 110. The navigation module 110 is configured to navigate the robot on the floor using a map of the surrounding environment during cleaning operations. This map is stored here as map data in the memory of the control and navigation module 110. Different strategies are known for planning the robot's nominal trajectory to achieve navigation in the surrounding environment. Typically, efforts are made to cover the floor to be processed (e.g., cleaned) as completely as possible using the shortest possible strategy (path) to ensure that processing (e.g., cleaning) of these surfaces is achieved.
[0031] Robot 100 also includes a sensor module 120 for detecting information about the structure of the surrounding environment and / or about ground features. For this purpose, the sensor module can have one or more sensor units designed to detect information, build a map of the surrounding environment based on this information, and determine the robot's position on the map. Suitable sensors for this purpose include, for example, laser rangefinders, cameras, triangulation sensors, contact sensors, etc., for detecting collisions with obstacles. To build the map and simultaneously determine the robot's position within the map, a SLAM-based method is applied, as described. The newly constructed (temporary) map and its equivalent permanent local map can then be aggregated to identify possible distinctions. Identified distinctions may, for example, indicate obstacles. A person in the space can point to, for example, moving obstacles (see below).
[0032] A communication connection to the human-machine interface (HMI) 200 can be established using the communication module 160. Here, a personal computer (PC) is considered as the HMI, but it could also refer simply to a screen on the robot housing, a mobile phone, or a smartphone. An external screen (e.g., a display screen) can be part of the HMI 200. According to an embodiment of the invention, the HMI 200 can notify the user of information about the processing or the surrounding environment (e.g., map information), and the user can provide feedback (i.e., user feedback). The user can output control commands, for example, via a PC or buttons located on the robot housing. Other variations of human-machine communication are also known. The HMI 200 can present stored information (with corresponding locations on a map) to the user, thus enabling the user to intervene in the processing (or alternatively, a detection operation) or change the surrounding environment. The HMI 200 can cancel, modify, continue, or restart the processing (or detection operation) through user-input control commands.
[0033] Figure 3 An autonomous robot 100 is illustrated at location A within a cleaning area G. The cleaning area G is divided into different rooms G1 and G2, which are connected to each other by doors. Different types of objects (black surfaces) are located in individual rooms G1 and G2. The entire cleaning surface G, along with the objects within it, can be stored in a map stored by the robot 100. During processing, the robot 100 can then process the cleaning area G using the map.
[0034] During normal processing, the robot is able to handle the entire area G to be cleaned, except for the area beneath the objects. Therefore, it can move, for example, from position A to position A' to process the object in the second room G2.
[0035] However, other possibilities include, for example, objects being moved, local areas being enclosed, or unknown objects not marked on the map being located within the area G to be cleaned. This is in... Figure 4 As exemplarily shown in the diagram. In this view, object 20 in the first room G1 is moved (with...) Figure 3 In contrast, robot 100 is no longer able to process area GN (shown as small dots). Furthermore, the door to the second room G2 is closed, so robot 100 cannot move within room G2 (also shown as small dots) and therefore cannot perform the aforementioned processing work.
[0036] The sensor unit can be used to identify obstacles on an existing map (not yet recorded), providing the environmental information needed to build the map. Contact sensors can detect collisions, and current sensors, used to measure the load current of the drive unit, can detect when the robot trips (e.g., on carpet fringes). Other sensor units, for example, can detect whether the robot is tripped by the rotation of the drive wheels. Other sensor units can be configured, for example, to determine the degree of soiling on the floor. The detected environmental information, along with the robot's position on the map (which is subordinate to this information), can be transmitted to the control and navigation module 110. Obstacles that appear "suddenly" and then "disappear" again after a short time suggest movement in the space, especially people moving in the space. Therefore, the robot can identify whether someone is moving in the space and, in particular, react to this.
[0037] Robot 100 can be configured to purposefully initiate interactions with the user to notify the user of incomplete ground coverage and to inform the robot to reprocess the unprocessed areas to eliminate the incomplete coverage. However, users may find overly frequent interventions annoying.
[0038] Figure 5 Another embodiment of a robot for autonomously handling the ground is shown. This robot... Figure 2 The difference in the illustrated embodiment lies in the additional analysis unit 150. Analysis unit 150 is capable of processing different information and, using specific criteria, determining whether an interaction with the user should be initiated. If an interaction is initiated, it can also be determined whether the interaction should be implemented only after receiving a user request, or whether it should be implemented automatically by the robot. The robot's behavior can be matched in this way and method with the given conditions in the area G to be cleaned, and with the user's expectations and needs.
[0039] like Figure 5 As shown, the analysis unit 150 can be executed as an autonomous module. However, it can also be integrated, for example, into any component of the navigation module 110, communication module 160, or robot 100. Furthermore, it is also possible that the analysis unit 150 is not located in robot 100, but rather, for example, in the human-machine interface 200 used (e.g., in a computer or smartphone).
[0040] exist Figure 6 The example illustrates a method for regulating robot behavior. For instance, a reference point is first provided to the robot. This allows the robot to pre-define the area to be cleaned and the desired coverage level. This reference point can be pre-defined by the user in the form of a map, on which the area to be cleaned is recorded. However, the reference point can also be established by the robot itself, for example, through surveying or during processing. If needed, this establishment or the user-pre-defined reference point can also be automatically adjusted by the robot through user interaction.
[0041] The reference point in map form can be a so-called feature map, in which the robot's surrounding environment is generalized from various features. These features can then be connected into a target using logical rules. Such a target is, for example, a room or an object located within a room. Once such a map is provided, the surface to be reached can be calculated before processing. With the help of path planning, for example, the reachability of all points in the space can be detected from the robot's current position.
[0042] Then, during the processing, the robot can measure the surface it is actually processing. During this measurement, the surface it passes over can be recorded, for example. This can be achieved using a stored map, but it can also be achieved using a newly created map, which can be compared with existing maps. The type of map created during measurement can match the type of stored map. For example, a local area can be described simultaneously using a grid map (a map partitioned by a network (grid)), and this local area can be associated with a feature map. This can be achieved by converting the local area into "features" (e.g., a description of the local area using straight lines or crossbeams) and inserting them into these feature maps (in the simplest case, referring to the endpoint of a line and information about the line containing the point). However, it can also be simply recorded in an existing grid map by marking each grid point (whose corresponding surface has been processed) as processed.
[0043] In addition to measuring ground cover, obstacles are identified during processing, which is essentially achieved by recording the processed surface. Furthermore, the surrounding environment can be further "scanned" to identify new targets. Thus, for example, doors can be identified through target recognition (such as doorknobs) and with the help of an image database. Detected targets can be recorded in a map.
[0044] A robot can cause incomplete processing of a region by autonomously interrupting the processing of that region or part thereof. For example, if the robot detects (too many) people in an area, these people might disrupt its processing, or the robot might interfere with these people through its processing. The reasons why the robot interrupts processing manipulation can also be related to the map. This association can be achieved, for example, by linking the corresponding target (e.g., space, a portion of space, furniture parts, etc., which are composed of features) to these reasons.
[0045] The subsequent analysis is based on the ground measurements performed during the processing. In the analysis below, the reference and the performed measurements are compared. These existing data can be edited, and relevant (interested) parameters (e.g., cleaned surfaces, uncleaned areas, reasons for uncleaning) can be extracted. Comparisons are performed in various ways, either at the end of the processing and / or at one or more points during the process. If such a comparison is performed during the processing, it is limited to the area where the processing has been completed. Therefore, the area to be processed is divided into local areas both in the reference and during the actual measurement. The comparison begins only after the processing of the local area is complete.
[0046] Various algorithms are known to perform the comparison. For example, these algorithms can be grid-to-grid comparisons (e.g., in the case of applying a referenced and generated grid map), or they can combine rule-based logic to determine complex relationships. The advantage of complex analysis is that an updated measurement map is re-presented after each (local) measurement process. If a closed door completely blocks a passageway into a room, it can be subsequently considered an obstacle, for example, due to logical rules in the feature map. Therefore, in the absence of a target, a closed door can be identified using logic, or the detection of a door in previous measurement steps can be confirmed.
[0047] During analysis, for example, the surface can be evaluated based on a cost function. When using a cleaning robot, for example, for the i-th local surface A... i The desired vacuuming performance S i (As can be known from the preceding processing) and (untreated) local surface A i The product is calculated, and the possible local cleanliness benefit R is derived from it using the following formula. i :
[0048] R i =A i ·S i ·W i (1)
[0049] Where w i This refers to the weight of the i-th local surface Ai (see below). If (by definition) for example, S is set to... i =1, as a special case of cleaning benefits, its area benefit can be obtained. By considering all surfaces Ai and all marked i, the partial cleaning benefit R i The total quantity I is used to obtain the complete (total) cleaning benefit R:
[0050] R = ∑i∈I R i ... (2)
[0051] Therefore, surfaces that are typically heavily contaminated have a higher cleaning efficiency than surfaces that are typically lightly contaminated. On surfaces with high cleaning efficiency, the "cost" of cleaning is high. This cleaning efficiency is used in the general cost function, which the robot should minimize. Alternatively, the handling risk of the surface should be calculated. Risk, for example, refers to the robot getting stuck on slippery or smooth surfaces. This risk can be taken into account by adjusting the weighting factor (which can usually be set to 1). This cost function serves as a standard to determine whether information about the process, obstacles, identified targets, or similar purposes should be communicated to the user only upon request, or communicated without user request or even not at all.
[0052] This cost function can be adapted and adjusted based on previous user feedback. When a previous user input command is repeated, the command indicates that small, unprocessed local areas should no longer be processed. This adjustment is made when the area is small (e.g., by using a weighting factor W). i This reduces the calculated potential benefits.
[0053] For example, if a robot cannot access the area under a dining table because chairs typically block it, the user might notify the robot to discontinue access to that area. However, the positions of chairs and sofas in a home can vary significantly between previous and subsequent access processes. Therefore, while the area under the dining table can be blocked during one access process, subsequent access may involve partial or complete blocking. Analysis ensures that the area is re-identified as a dining area in each access process, reliably preventing situations where the user is notified.
[0054] In the feature map (which is divided into targets), this is achieved, for example, by abstracting the target "the area under the dining table" as a very vague description of its location, shape, and size. Furthermore, the target is also associated, for example, with "chair obstacles." The robot is able to identify inaccessible areas in the room (those unreachable due to chair obstacles) as dining areas in this way, which are not communicated to the user.
[0055] In many cases, due to limited information, the areas that a robot can measure using its sensor elements cannot be identified. For this reason, a detection probability can be calculated from a cost function. This detection probability can be increased, for example, by detecting obstacles (such as chair obstacles). Therefore, the structure of this analysis can also be a static description of the unprocessed area.
[0056] During the analysis, new information may also be obtained, for example. Thus, a doorknob detected in the measurement step might be interpreted as a door to a previously undiscovered (and therefore unprocessed) area. Another consideration during analysis might be to process only a portion of the entire area to be processed. This can be achieved by adjusting the reference object accordingly.
[0057] The following steps, for example, can determine what information to convey to the user and / or what feedback is desired from the user. By separating the analysis and decision-making steps, the method can be given multiple structures, thus enabling the generation of complex behavioral patterns at a low cost. However, it is also possible to combine the analysis and decision-making processes.
[0058] For example, data extracted during analysis can be used to make decisions based on predefined rules. In simple cases, this might involve comparing calculated cleaning efficiency with a threshold (a rated value, such as part of the definition of maximum possible cleaning efficiency) and making a decision accordingly. More complex state machines can also be implemented. Therefore, the robot's battery charging status can be additionally determined before being communicated to the user. A user might request immediate reprocessing of an untreated surface, which might not be possible given the given battery charging status due to low power. In this case, the robot would only notify the user if its battery charging status is sufficient for reprocessing. The current time can also be considered. Late at night or in the evening, notification to the user could be postponed to the next day instead of immediately.
[0059] For example, it can also detect whether a user is inside the house. As long as the user is inside the house and logged into the local WLAN (Wireless Local Area Network), the robot can detect whether the user is inside the house. In addition to the factors mentioned above, or alternatively, many other factors can be considered, which can influence the decision made (i.e., whether or when to notify the user).
[0060] During interaction, data is edited for the user based on the decisions made and transmitted to the human-machine interface. The way the data is displayed can vary depending on the type of human-machine interface. For example, it can be marked with color on a map of an unprocessed area and displayed only through a drawing-enabled user interface (e.g., via smartphone application software).
[0061] It's also possible to communicate the robot's decisions to the user simultaneously in multiple different ways. Therefore, in addition to highlighting unprocessed areas with color via a smartphone app, as mentioned above, emails with concise summaries of the information could be sent. Furthermore, the reasons for incomplete processing could be communicated to the user so they can easily eliminate those reasons and allow for reprocessing of the ground.
[0062] In addition to sending information to the user, the robot also wants to receive feedback from the user. Since the type of feedback expected can depend on the information being delivered, the type of expected response can also be conveyed to the user. Therefore, for example, if a message appears saying, "The kitchen cannot be cleaned because the door is closed; please notify me when the kitchen needs cleaning," the robot is simply waiting for an operation notification. However, if a message appears saying, "Please mark the area that needs to be processed again," the robot is waiting for a map description of the local area.
[0063] Furthermore, during the interaction, the previous decision can be communicated to the user by highlighting the areas where notification was not intended for the user with color on the map. This allows the user to correct the previous feedback. For example, the user can select the corresponding area on the map and delete the "notified" record.
[0064] The robot's behavior can be used to make decisions or influence future decisions based on user feedback. For example, the robot might move to the next module when the user gives a positive answer (requiring work), but disconnect when the user gives a negative answer (not requiring work). It's also possible to link the user's answers with previous answers and other rules to determine, on the one hand, which tasks should be performed currently (e.g., a complete or partial re-cleaning of a local area), and on the other hand, to prepare for future interactions.
[0065] If the user notifies the robot to initiate a new processing attempt for an "untreated localized area" later, the robot waits until it confirms the user is no longer in the house (e.g., via a record on the local Wi-Fi network) before scheduling a new attempt. If the user again communicates that they do not wish to process areas below the shoe surface in the foyer, the robot can adapt the analysis or decision rule accordingly, so the user will no longer be bothered by small untreated surfaces that likely originate from shoes located around them in the foyer.
[0066] Alternatively, this user feedback can be stored in a reference map and have a corresponding impact. Therefore, for example, the abstract target "lobby" can be represented by the characteristic "surface area less than 27 cm²". More precisely, the lobby can be completely excluded from the notification by setting the reference object used for the lobby to "no cleaning required".
[0067] During preparation, the task determined by this method is edited so that the robot can perform it. The implementation of this task depends on the robot's capabilities. Therefore, in this module, when multiple untreated surfaces exist, it should be able to initiate another treatment attempt for these surfaces, for example, by performing the following steps: 1. Select surfaces based on different criteria (e.g., accessibility of the treatment attempt, risk). 2. Calculate the path to a single surface. 3. Communicate the path list to the robot.
[0068] The functions of the robot 100 for autonomously handling the ground according to the present invention are explained in detail below with the help of five examples.
[0069] First Example During the processing (e.g., triggered by the user adjusting their calendar), the living room sofa is moved so that the robot cannot enter or clean the area beneath it (e.g., the sofa is moved close to a wall, leaving no space for the robot between the wall and the sofa). The user is not in the house during the processing and returns only after the processing is complete. The robot cleans the rest of the house, stores the current processing information, and returns to its charging station.
[0070] Next, the robot analyzes the map and determines whether moving the sofa back to its original position would achieve the main cleaning benefits (i.e., the degree of improvement in the cleanliness of the house to be cleaned). If the main cleaning benefits are achieved, the robot notifies the user (via the human-machine interface 200) of the uncleaned areas of the house (in this example, the uncleaned area is under the sofa) and provides the corresponding reasons (e.g., the area cannot be accessed, there is not enough space).
[0071] The user then intervenes in the cleaning process. Simply pushing the sofa back creates enough space for the robot to clean. The user can then communicate the command "Finish Cleaning Kommando" (cleaning complete) to the robot via the human-machine interface 200, such as buttons on the robot. Using a stored map of the surrounding environment and information about uncleaned areas, the robot can now purposefully attempt to move into and clean the area behind the sofa. If the sofa is moved sufficiently, the robot will clean, for example, only the area behind the sofa, thus concluding the cleaning of the entire house.
[0072] Alternatively, the user can tell the robot that they don't want to receive notifications about moving the sofa in the future. In this case, the robot can associate this information with the target "sofa" on a map and store it there. If the main cleaning benefits are achieved, the robot won't ask again when moving the sofa. Furthermore, by associating user interactions with the map and storing this association, the information (if the user doesn't want to be bothered by obstructions in that area) can be displayed to the user on the map later. The user can then process and change this association in this way.
[0073] Through the information conveyed by the robot, users also learn that the robot has difficulty reaching areas behind the sofa. To improve the effectiveness of future cleaning operations, users can now also make these hard-to-reach areas easier to access. However, the robot may also learn from simple user commands what actions it can take from the user regarding obstacle information, and consider these actions later.
[0074] Second Example During the cleaning process, the area under the dining table was obstructed by the chairs, preventing proper cleaning coverage. The robot ignored this area and continued cleaning other areas. After cleaning the house, the robot returned to its base station. Analysis of the cleaning map, compared to stored data and previous cleaning results, revealed that the ignored area was typically a heavily soiled area, thus allowing for greater cleaning efficiency. For this reason, the robot informed the user that it could not clean the area under the table because the chair legs were too narrow.
[0075] The user can then make the area more accessible (e.g., by placing a chair on a table) and use the "Finish Cleaning" button to have the robot re-attempt to clean any missed areas. Alternatively, the user can decide that they generally prefer to clean the area by hand and mark it as an exclusion zone on the map. In this case, the robot will no longer attempt to enter the area, thus reducing the risk of getting stuck.
[0076] Third Example During the cleaning operation, the robot "detects" that a door is closed or blocked. The robot cleans the rest of the house and returns to its base station. Next, by analyzing the cleaning map, it concludes that the entire room was inaccessible and could not be cleaned due to the closed door. When the user (or the user themselves) inquires, the robot (via the human-machine interface 200) informs the user of the uncleaned areas of the house, comparing them to the last cleaning operation (in this case, the closed room) and providing a reason (e.g., the room cannot be entered because the door was closed).
[0077] The user now intervenes in the cleaning process by opening the door, allowing the robot to enter the room. The user can then (again via the human-machine interface 200, such as a button on the robot) give the robot the command "Finish Cleaning Kommando". Using a stored map of the surrounding environment and information about uncleaned areas, the robot can now purposefully attempt to enter and clean the room. If successful, the cleaning of the entire house can be completed. To improve the effectiveness of future cleaning operations, the user can now also ensure that the door leading to the room is open.
[0078] Alternatively, the user can (via the human-machine interface 200, or through other buttons) inform the robot that they want the room cleaned only when the door is open. For example, in a subsequent conversation, it can also choose to expect a new notification if the room has not been cleaned for more than a week (or other definable time period). The robot can then associate this information about the desired behavior with the corresponding map location, store it, and later act according to the user's expectations.
[0079] Fourth Paradigm The robot interrupts its current cleaning operation in the kitchen because too many moving obstacles (such as people) are causing the cleaning operation to be delayed for too long (based on a predefined time limit). The robot cleans the rest of the house, stores the current cleaning operation, and returns to its base station. After analyzing the cleaning map, the robot decides that it should notify the user because cleaning the kitchen yields the main cleaning benefits. It (via the human-machine interface 200) sends information about the areas of the house that were not cleaned sufficiently (in this case, the insufficiently cleaned kitchen area) to the user and gives the corresponding reasons (e.g., the area was not cleaned sufficiently—too many moving objects).
[0080] Users can now communicate the command "Finish Cleaning Kommando" (cleaning complete) to the robot via a human-machine interface 200, such as buttons on the robot. The robot can then purposefully enter and clean the kitchen. If this is achieved, the cleaning of the entire house can be completed. Based on this information, users now also know that the robot struggled to clean the kitchen at its usual time (due to too many people). To improve future cleaning efficiency, users can now, for example, change the robot's calendar to more likely result in fewer people remaining in the kitchen during the newly selected time slot.
[0081] If there isn't a suitable time to clean the room, the user can instruct the robot to clean the kitchen as efficiently as possible in the future, even if there is movement. Another possibility is to instruct the robot to process the area again during a cleaning operation to ensure better coverage even with movement. This information can also be recorded in a map and later used to match the robot to the desired behavior.
[0082] Fifth Paradigm The mobile robot is used to thoroughly inspect water dispensers, photocopiers, automatic coffee machines, lighting fixtures, etc., located within a building, and to search the building after the appearance of any unexpected targets or (unauthorized) persons. For this purpose, the mobile robot has already built a complete map of the surrounding environment during previous inspections. The robot cannot enter the space because the sliding door is stuck. The robot carefully inspects the rest of the building and returns to its starting position, notifying the user (e.g., a night doorman) via email through a wireless LAN interface (LAN: local area network) that the space cannot be inspected. The user can repair the stuck door and then reply to the email to allow the robot to continue its inspection.
[0083] In the fifth example, the human-machine interface 200 is configured on a computer, for example, via an email client, and the communication module 150 is configured via the robot's wireless LAN interface, which can communicate with the user via a (local) network. However, other implementations of the human-machine interface 200 and the communication module 150 are also possible.
[0084] The embodiments and technical features of this mobile robot described in the context of ground-based processing can also be adapted to mobile robots used to perform other tasks. All tasks that can be performed by autonomous, self-propelled robots can be considered here. These tasks may include, for example, detecting the ground or surrounding environment, transporting objects, cleaning the air, and / or performing recreational activities. The processing module 140 can be configured accordingly in robots performing other tasks or additional work different from floor processing. In many cases, such as when simply monitoring or carefully inspecting a space, surface, or object, the processing module 140 is not necessary.
[0085] This invention has been described with reference to exemplary construction schemes, but modifications can also be made within the basic concept and scope of this disclosure. Therefore, by applying the basic principles, this application should be able to cover numerous variations, applications, or adaptations of the invention. Furthermore, this application may also cover variations of this disclosure that describe known and common practices in the prior art upon which the invention is based. The invention is not limited to the details mentioned above and can be modified according to the appended claims.
Claims
1. A method for operating an autonomous mobile robot, the method comprising: Store a map of the surrounding environment; The robot navigates on the ground using the surrounding environment map during the processing; During the processing, information is acquired by sensor modules installed on or in the robot; Based on the first criterion, it is determined whether the information in the processing procedure is conveyed as requested by the user, or whether it is conveyed without user request or even not conveyed at all. If the information about the processing procedure needs to be conveyed to the user without the user's request, the second criterion will be used to determine whether the information should be conveyed immediately or subsequently. When subsequently communicated, the second criterion includes time, battery charging status, user presence or absence, and / or previously entered user feedback.
2. The method according to claim 1, characterized in that, The process includes: processing the ground area, detecting the ground or surrounding environment, transporting objects, cleaning the air, and / or performing recreational activities.
3. The method according to claim 1, characterized in that, The presence of a user is confirmed based on whether the user is logged into a wireless local area network (WLAN).
4. The method according to claim 1, characterized in that, During the processing, the information related to the environmental structure continuously acquired by the sensor module is analyzed and classified.
5. The method according to claim 1, characterized in that, The acquired environmental information can be conveyed along with the robot's location in the relevant information specified on the map.
6. The method according to claim 1, characterized in that, The information acquired during the processing includes one or more of the following: Identify obstacles that are not yet recorded on existing maps; The robot was detected to be stuck; and Determine the degree of pollution on the ground.
7. The method according to claim 1, characterized in that, The method further includes: Determine the reason why the process was not completed, or The processing in a certain area is automatically terminated.
8. The method according to claim 1, characterized in that, The information conveyed includes information about the reason why the process was not completed, previous user feedback, or the type of expected user response; or a combination of the above.
9. The method according to claim 1, characterized in that, The communication of information includes the communication of information about the processing procedure and / or environmental information, and also includes requesting user feedback.
10. The method according to claim 9, characterized in that, The user feedback is stored in the environment map.
11. The method according to claim 1, characterized in that, The information is obtained through a mobile phone, smartphone, computer, television, display screen, or a combination thereof.
12. An autonomous mobile robot, comprising: A drive module for moving the robot on the ground; A navigation module is configured to store an environment map of the robot for navigating the robot on the ground based on the environment map during processing; The sensor module is used to acquire information related to the structure of the environment; An analysis unit is used to process various information and determine, based on a first criterion, whether to convey the information of the processing procedure according to the user's request, or to convey it or not at all if there is no user request. The communication module is used to establish a connection with the human-machine interface during the processing or after the processing ends or is interrupted, so as to convey information about the processing so that the user can intervene in the processing, change the surrounding environment or start a new processing. If the information about the processing procedure needs to be conveyed to the user without the user's request, the analysis unit will determine whether the information should be conveyed immediately or subsequently based on a second criterion. When subsequently communicated, the second criterion includes time, battery charging status, user presence or absence, and / or previously entered user feedback.
13. The autonomous mobile robot according to claim 12, characterized in that, In order to process various types of information, the analysis unit is configured to evaluate a region or a portion of a region based on a cost function.
14. The autonomous mobile robot according to claim 12, characterized in that, In order to process various information, the analysis unit is configured to evaluate detected obstacles and identify whether the obstacles are closed doors.
15. The autonomous mobile robot according to claim 12, characterized in that, In order to process various types of information, the analysis unit is configured to determine the ground extent reached during the processing and compare the determined ground extent with a reference object.
16. An autonomous mobile robot system, comprising: Autonomous mobile robots The autonomous mobile robot includes: A drive module for moving the robot on the ground; A navigation module is configured to store an environment map of the robot for navigating the robot on the ground based on the environment map during processing; The sensor module is used to acquire information related to the structure of the environment; An analysis unit is communicatively connected to the robot, wherein the analysis unit is used to process various information and determine, based on a first criterion, whether to convey information about the processing procedure according to the user's request, or to convey it or not at all if there is no user request. The communication module is configured to establish a connection with the human-machine interface during the processing or after the processing is completed or interrupted to convey information about the processing, wherein the human-machine interface communicating with the robot is used to enable the user to intervene in the processing, change the surrounding environment, or start a new processing. If the information about the processing procedure needs to be conveyed to the user without the user's request, the analysis unit will determine whether the information should be conveyed immediately or subsequently based on a second criterion. When subsequently communicated, the second criterion includes battery charging status, user presence or absence, and / or previously entered user feedback.
Citation Information
Patent Citations
Method for cleaning a floor area with a self-propelling cleaning device, in particular a robotic vacuum cleaner
EP1967116A1
Method and apparatus for planning path of mobile robot
US20090182464A1
Robot cleaner and control method thereof
US20100313364A1
Computer peripheral floor cleaning system and navigation method
US5995884A
Mapped robot system
US6667592B2