Reconnaissance of robot working area by autonomous mobile robot
Through the autonomous mobile robot re-survey and update the map, the instability and inefficiency of maps caused by environmental changes is solved, and more stable and efficient navigation and task execution is achieved.
Patent Information
- Application Number
- CN202510220938.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2018-08-31
- Filing Date
- 2019-08-30
- Publication Date
- 2025-07-08
AI Technical Summary
When handling maps stored permanently, existing autonomous mobile robots face the problems of map instability and inefficiency caused by frequent environmental changes, and the survey itinerary is prone to map errors due to interruptions in obstacles, affecting the robot's navigation and task execution.
Re-survey the recorded areas through autonomous mobile robots, update the map, combine sensor information and existing map information, identify environmental changes, and store updated maps to maintain the stability and adaptability of the map.
Improve the stability and navigation efficiency of the map, reduce interruptions in the survey itinerary, and ensure that the robot can effectively adapt to environmental changes and complete tasks.
Smart Images

Figure CN120274733A_ABST
Abstract
Description
[0001] Divisional Application
[0002] This application is a divisional application of a Chinese patent application with application number 201980056333.7, filing date August 30, 2019, and titled "Survey of a Robot's Working Area by an Autonomous Mobile Robot". Technical Field
[0003] The present invention relates to the field of autonomous mobile robots, particularly robots using map-based navigation. Background Art
[0004] In recent years, autonomous mobile robots, particularly service robots, have been increasingly used in the household domain, for example for cleaning or monitoring a deployment area, such as an apartment. Here, robot systems are increasingly used which create an environmental map for navigation using the SLAM algorithm (Simultaneous Localization and Mapping). Here, sensors (laser range scanners, cameras, contact sensors, odometers, acceleration sensors, etc.) are used to determine the map and the position of the robot in the map.
[0005] The map generated in this way can be stored persistently (permanently) and used for subsequent use of the robot. Thus, the robot can be selectively dispatched to a location to perform a task, such as cleaning the living room. In addition, the workflow of the robot can be designed more efficiently because the robot can use the foreknowledge about its deployment area (stored in the map) for pre-planning.
[0006] Basically, there are two strategies for dealing with a persistently stored map. On the one hand, the once-recorded map can be used unchanged until the user decides to discard the map. Then the map must be re-recorded and all inputs and matches made by the user must be done again. Especially in a living environment that undergoes frequent changes, this results in additional costs that are not desired by the user. On the other hand, each change can optionally be recorded in the map and taken into account in subsequent use. Here, for example, a temporarily closed door can be recorded as an obstacle in the map, so that the path is no longer guided in the map to the space behind the door. Thus, the robot can no longer drive into this space, and the functionality of the robot is severely restricted.
[0007] Another problem is stability and efficiency, using which to build a map. The map should cover as many details as possible. To ensure this with sensors having a limited effective range, in today's robotic systems, the entire area is traversed during an exploration run, so the exploration run lasts for a very long time. In addition, unforeseen interruptions may occur during the exploration run, such as the robot getting stuck on difficult-to-traverse objects (e.g., surrounding cables, elevated carpets). This may lead to errors in the map, making the map unusable. Therefore, the exploration run needs to be restarted, and at this time the robot forgets the areas that have been explored. This requires a great deal of time and patience from the robot user.
[0008] The object on which the present invention is based is to perform map building more stably and efficiently. In addition, the map should be maintained persistently stable and match the changing environment. Summary of the Invention
[0009] The above object is achieved by the methods according to claims 1, 12, 19, 24 and 28 and by the robot according to claim 11 or 37. Different embodiments and further extensions are the subject of the dependent claims.
[0010] An embodiment relates to a method for an autonomous mobile robot to re-explore an area that has been recorded in the robot's map. According to an example, the method includes storing a map of the deployment area of the autonomous mobile robot, where the map includes orientation information representing the environmental structure in the deployment area and meta information. The method also includes receiving, via the communication unit of the robot, a command that causes the robot to start re-exploring at least a part of the deployment area. Accordingly, the robot re-explores at least a part of the deployment area, where the robot obtains information about the structure of the surrounding environment in the deployment area by means of sensors. The method also includes updating the map of the deployment area and storing the updated map for use by the robot during multiple future robot deployments. Herein, the mentioned update includes determining the changes in the deployment area based on the information about the environmental structure detected during the exploration and the orientation information already stored in the map, and updating the orientation information and the meta information based on the determined changes.
[0011] In addition, an autonomous mobile robot is also involved. According to an embodiment, the robot includes: a drive unit for moving the robot in the deployment area of the robot, a sensor unit for acquiring information about the environmental structure in the deployment area, and a control unit having a navigation module. The navigation module is configured to establish a map of the deployment area by means of a reconnaissance journey and store the map persistently for use in future deployments of the robot. The robot further includes a communication unit for receiving user instructions related to service tasks and for receiving user instructions to update the stored map. The navigation module is also configured to navigate the robot through the robot deployment area by means of the stored map and the information acquired by the sensor unit when the service task is completed, wherein the information contained in the stored map and important for navigation is not persistently changed during the completion of the service task. The navigation module is further configured such that user instructions for updating the stored map at least partially re-reconnaissance the deployment area, wherein the information contained in the stored map and important for navigation is updated during the process of reconnaissance.
[0012] Another method involves robot-assisted searching for objects and / or events to be searched in an area by an autonomous mobile robot. For this purpose, the robot is set to persistently store at least one map of the deployment area of the robot for use when the robot is deployed in the future, acquire information about the surrounding environment of the robot in its deployment area through a sensor unit, and detect and locate objects and / or events in the detection area of the sensor unit with a given accuracy based on the information acquired by the sensor unit. According to an example, the method includes robot navigation through the deployment area by means of the stored map to search for the objects and / or events to be searched, determining the position of the objects and / or features to be searched relative to the map when detected and located by the sensors of the sensor unit, and recording the area covered by the detection area of each sensor in the map. The position is repeatedly determined and the area covered by the detection area of the sensor is recorded until an interruption criterion is met.
[0013] Another method involves robot-assisted reconnaissance of an area. According to an example, the method includes: establishing a map of the deployment area of an autonomous mobile robot during a reconnaissance journey through the deployment area, wherein the robot navigates in the deployment area and acquires information about the environment and its own position by means of sensors; detecting problems that interfere with the robot's navigation and map building; determining in the map up to the point where the problem is detected a time point and / or a position that may be associated with the detected problem; possibly re-detecting interference-free navigation; and continuing to build the map taking into account the time point and / or position associated with the problem, wherein the robot determines its position in the established map in the map built up to the point where the problem is detected and further builds the map using the information contained therein.
[0014] Another example described herein relates to a method for an autonomous mobile robot, in which the autonomous mobile robot navigates in a defined area with the aid of a map, determines a first measurement value representing the actually drivable area in the area, and thereby determines a numerical value for the drivability of the area based on the first measurement value and a stored reference value. The user is informed according to the determined numerical value of the drivability.
[0015] Finally, a method is described for surveying a robot deployment area by an autonomous mobile robot to create a map of the robot deployment area. According to one example, the method includes: surveying the robot deployment area in a first mode according to a first survey strategy, according to which the robot detects a first structure in a first detection area and a second structure in a second detection area by means of a sensor unit; when the robot in the first mode detects the second structure, surveying the robot deployment area in a second mode according to a second survey strategy; and creating a map based on the structures detected in the first mode and the second mode, and storing the map for navigation during subsequent robot deployments.
[0016] In addition, examples of autonomous mobile robots configured to perform the methods described herein are described. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The present invention will be further explained below with the aid of embodiments shown in the drawings. These drawings are not necessarily to scale, and the present invention is not limited to the aspects shown. More precisely, it is important that the basic principles based on the present invention are shown.
[0018] Figure 1 Exemplarily, the situation of an autonomous mobile robot in its robot deployment area is shown.
[0019] Figure 2 is an exemplary block diagram showing the different units of an autonomous mobile robot and peripheral devices, such as the base station of the robot.
[0020] Figure 3 An example of a deployment area for an autonomous mobile robot is shown.
[0021] Figure 4 Visually shows the Figure 3 azimuth information detected by the robot associated with the deployment area in.
[0022] Figure 5 Shows according to Figure 3 a map of the robot deployment area and the meta information contained in the map.
[0023] Figure 6 Shows the detection of obstacles using a sensor with a defined detection area (defined field of view).
[0024] Figure 7 Shows the movement of the robot through the deployment area during the survey trip and the surveyed area of the deployment area.
[0025] Figure 8 Shows a first example related to the steps of creating a map within the deployment area of the survey robot.
[0026] Figure 9 Shows a second example related to the steps of creating a map within the deployment area of the survey robot.
[0027] Figure 10 Shows a third example related to the steps of the survey robot deployment area, where the situation where the robot encounters problems is considered.
[0028] Figure 11 Shows examples of problems that may occur to the robot during the survey trip.
[0029] Figure 12 Shows Figure 3 with multiple deployment areas detected by the robot to have changed.
[0030] Figure 13 Shows the detection area of the sensor, which is taken into account for the search of the area. Detailed Description
[0031] An autonomous mobile robot as a service robot automatically performs one or more tasks (i.e., jobs) in a robot deployment area. Examples of the above tasks are cleaning the floor in the deployment area, monitoring and inspecting the robot deployment area, transporting objects in the deployment area (such as a residence), or other jobs for user entertainment, for example. Such tasks meet the actual purpose of the service robot and are therefore called service tasks. Most of the embodiments described here relate to a cleaning robot. However, this is not limited to cleaning robots, but can be applied to all applications. In these applications, the autonomous mobile robot should perform tasks in a defined deployment area. In this application, the autonomous mobile robot can move and navigate autonomously with the help of a map.
[0032] Figure 1 Exemplarily shows the autonomous mobile robot 100, especially other cleaning robots. Examples of other autonomous mobile robots include, but are not limited to, transport robots, monitoring robots, telepresence robots etc. Modern autonomous mobile robots are map-based in navigation, i.e. they use an electronic map of the deployment area. However, in some cases the robot has no or no current map of the deployment area and it must explore and map out its (yet unknown to it) environment. This process is also called an exploration run, a learning run or exploration (exploration). Here, the robot detects obstacles during its movement through the robot's deployment area. Figure 1 In the example shown, the robot 100 has identified a part of the walls W1 and W2 of the room. Methods for surveying and mapping the environment of an autonomous mobile robot are known per se. For example, a surface that the robot can drive into can be completely driven over, while a map is created with the aid of a SLAM method (Simultaneous Localization and Mapping). Carrying out a survey trip is not a service task, since the robot does not necessarily perform its determined activities (e.g. floor cleaning) here. However, it is not excluded that the robot simultaneously performs service tasks during a survey trip. During the deployment of the robot, the robot can complete one or more service tasks as well as supplemental tasks, such as surveying the deployment area to create or update a map.
[0033] Figure 2 The different units of the autonomous mobile robot 100 are shown by way of example in the form of a block diagram. Here, a unit can be an independent component or a part (module) of the software for controlling the robot. A unit can have multiple subunits. A unit can be implemented completely in hardware or as a combination of hardware and software (e.g. firmware). The software responsible for the behavior of the robot 100 can be executed by a control unit 150 of the robot 100. In the example shown, the control unit 150 includes a processor 155, which is configured to execute software instructions contained in a memory 156. Some functions of the control unit 150 can also be performed at least partially with the aid of an external computer. That is, the computing power required by the control unit 150 can be at least partially transferred to an external computer, which can be implemented for the robot, for example, via a local area network (e.g. WLAN, wireless local area network) or via the Internet. For example, the external computer can provide cloud computing services.
[0034] The autonomous mobile robot 100 includes a drive unit 170 which, for example, can have an electric motor, a motor controller for controlling the electric motor, as well as a transmission and wheels. With the help of the drive unit 170, the robot 100 can at least theoretically reach every point in its deployment area. The drive unit 170 (for example, the aforementioned motor controller) is configured to convert the instructions or signals received from the control unit 150 into the movement of the robot 100.
[0035] The autonomous mobile robot 100 includes a communication unit 140 to establish a communication connection 145 with a human-machine interface (HMI) 200 and / or other external devices 300. The communication connection 145 is, for example, a direct wireless connection (such as Bluetooth), a local wireless local area network connection (such as WLAN or ZigBee), or an Internet connection (such as for cloud services). The human-machine interface 200 can output information about the autonomous mobile robot 100 (such as battery status, current work task, map information such as a cleaning map, etc.) to the user in a visual or auditory form, and receive user commands. The user commands can, for example, represent work tasks for the autonomous mobile robot 100 to perform specific tasks.
[0036] Examples of the HMI 200 include a tablet PC, a smart phone, a smart watch and other wearable devices, a personal computer, a smart TV, or a head-mounted display, etc. The HMI 200 can be directly integrated into the robot, whereby the robot 100 can be operated, for example, through buttons, gestures, and / or voice input and output.
[0037] Examples of the external device 300 include computers and servers that transfer computing and / or data, external sensors that provide additional useful information, or other household appliances (such as other autonomous mobile robots) that can cooperate with and / or exchange information with the autonomous mobile robot 100.
[0038] The autonomous mobile robot 100 can have a service unit 160 for performing service tasks (see Figure 2 ). The service unit 160 is, for example, a cleaning unit for cleaning the floor (such as a brush, a suction device) or a gripper arm for grasping and transporting objects. In a telepresence robot, the service unit 160 can be a multimedia unit which, for example, consists of a microphone, a camera, and a screen to enable communication between multiple people spatially remote from each other. A robot for monitoring or inspection (such as a robot for night monitoring) uses its sensors to determine abnormal events (such as fires, lights, unauthorized persons, etc.) during an inspection trip and notifies the inspection location of the situation. Here, the service unit 160 includes, for example, all functions for identifying abnormal events.
[0039] The autonomous mobile robot 100 includes a sensor unit 120 having different sensors, such as one or more sensors for obtaining information about the environmental structure of the robot in its deployment area, such as the position and size of obstacles or other landmarks in the deployment area. Sensors for obtaining environmental information are, for example, sensors for measuring the distance to objects (such as walls or other obstacles, etc.) in the robot's environment, such as optical and / or acoustic sensors, which can measure the distance by triangulation or time-of-flight measurement of the transmitted signal (triangulation sensors, 3D cameras, laser scanners, ultrasonic sensors, etc.). Optionally or additionally, cameras can be used to collect information about the environment. In particular, when observing an object from two or more positions, the position and size of the object can also be determined.
[0040] In addition, the sensor unit 120 of the robot can include sensors suitable for detecting contact (or collision) with obstacles (at least accidental). This can be achieved by an accelerometer (e.g., detecting the change in the robot's speed during a collision), a contact switch, a capacitance sensor, or other tactile or touch-sensitive sensors. In addition, the robot can also have a ground sensor to be able to determine the distance to the ground or to be able to recognize changes in the distance to the ground (e.g., at the edge of a drop on the ground, such as a step). Other commonly used sensors in the field of autonomous mobile robots are sensors for determining the speed and / or travel path of the robot, such as an odometer or an inertial sensor (acceleration sensor, rotational speed sensor) for determining the position and movement changes of the robot, and a wheel contact switch for detecting the contact between the wheel and the ground. For example, the sensor is designed to detect the structure of the ground, such as the ground covering, the boundary of the ground covering, and / or (door) protrusions. This is achieved, for example, by means of an image from a camera, a distance measurement between the robot and the ground, and / or measuring the change in the position of the robot when passing over a protrusion (e.g., by means of an inertial sensor).
[0041] The autonomous mobile robot 100 can be associated with a base station 110, where the autonomous mobile robot 100 can, for example, charge its energy storage (battery). The robot 100 is able to return to this base station 110 after the end of the operation. When the robot no longer needs to process tasks, it can wait in the base station 110 for a new deployment.
[0042] The control unit 150 can be configured to prepare all the functions required for the robot so that it can move independently in its deployment area and perform tasks. To this end, the control unit 150 includes, for example, a storage module 156 and a processor 155, and the processor 155 is configured to execute software instructions contained in the memory. The control unit 150 can generate control commands (such as control signals) for the work unit 160 and the drive unit 170 based on the information received from the sensor unit 120 and the communication unit 140. The drive unit 170 can convert these control commands or control signals into the movement of the robot as already mentioned. The software contained in the memory 156 can also be modularly constructed. For example, the navigation module 152 provides functions for automatically building a map of the area, determining the position of the robot 100 in the map, and motion planning (path planning) for the robot 100. The control software module 151 provides, for example, general (global) control functions and can form an interface between the individual modules.
[0043] Navigation module and map - Thus, for the robot to be able to perform tasks autonomously, the control unit 150 can include functions for navigating the robot in its deployment area, and these functions are provided, for example, by the above-mentioned navigation module 152. These functions are known per se and can include, but are not limited to, one or more of the following:
[0044] · Establishing an (electronic) map by collecting information about the environment with the aid of the sensor unit 120, for example ultimately not by means of the SLAM method;
[0045] · Determining the position of the robot in the map without or with very limited prior knowledge based on environmental information (global self-localization) determined by sensors of the sensor unit 120;
[0046] · Path planning (trajectory planning) from the current position (starting point) of the robot to the destination based on the map;
[0047] · Functions for interpreting the map and the environment, for example for identifying rooms or other sub-areas (e.g., by means of recognized doors, boundaries between different floor coverings, etc.);
[0048] · Managing one or more maps of one or more deployment areas of the robot related to the map.
[0049] Figure 3Exemplarily shown is the deployment area DA for the autonomous mobile robot 100 and its current position within the deployment area. The position of the robot can be described as a point in the motion plane (e.g., the midpoint of the robot) and its orientation (e.g., the forward direction) (also referred to as the pose). The deployment area is, for example, a residence having a plurality of rooms (such as a kitchen, a living room, a hallway, a bedroom), which rooms have different furniture and floor coverings. In order to be able to move within this deployment area, the robot 100 requires a map 500 of the deployment area DA. This map can be automatically constructed by the robot and stored permanently. In this context, "permanently stored" means that the map is available for any number of future robot deployments for navigation (planning and execution of robot motion). However, this does not mean that the map is immutable or non-deletable, but only that it is stored in order to be reused during an indeterminate number of future deployments of the robot. Different from the permanently stored map, a temporary map is constructed only for the current robot deployment and subsequently discarded again (i.e., not reused).
[0050] Generally, the (electronic) map 500 that can be used by the robot 100 is a collection for storing location-related information about the deployment area DA of the robot and map data of the environment related to the robot in this deployment area. Thus, the map represents a plurality of data groups with map data, and the map data can contain any location-related information. Partial aspects of these data groups, such as identified dirt, performed cleaning, or identified spaces, can also be referred to as maps (in particular, a dirt map, a cleaning map, a space map).
[0051] For the robot 100, an important technical prerequisite for enabling it to process multiple location-related information is to know its own position. That is to say, the robot must be able to orient and position itself as well and as reliably as possible. To this end, the map 500 contains orientation information 505 (also referred to as navigation features), which describes, for example, the positions of landmarks and / or obstacles in the deployment area. The positions of the orientation information are mostly defined with the aid of coordinates. The orientation information is, for example, map information processed using the SLAM method.
[0052] In addition to the orientation information, the robot collects other information about the deployment area, which may be important for navigation and / or interaction with the user, but is not necessary for the robot's position determination. This information can be determined based on sensor measurements (e.g., contamination), work tasks (e.g., the surfaces to be cleaned), the robot's own interpretation of the orientation information 505 about the environment stored in the map (e.g., space recognition), and / or user input (e.g., space names, blocked areas, schedules). All this information will hereinafter be referred to as meta-information.
[0053] Figure 4Exemplarily, the orientation information 505 of the map 500 of the deployment area DA is shown. The robot is oriented towards the map 500 and can be located by means of this map 500. As mentioned, such orientation information 505 can be established by the robot, for example, by means of sensors and SLAM algorithms, and can be recorded on the map. For example, the robot measures the distance to obstacles (such as walls, furniture, doors, etc.) by means of distance sensors and calculates the line segments that define the boundaries of its deployment area based on the measurement data (usually a scatter plot). The deployment area of the robot can be defined, for example, by a closed chain of line segments (broken lines). Additionally, other obstacles H within the deployment area may also be part of the orientation information. An alternative to the chain of line segments is a grid map, where a grid of cells (e.g., 10×10 cm 2 ) is laid over the deployment area of the robot, and for each cell, it is indicated whether it is occupied by an obstacle and / or whether it is unoccupied. Another possibility is to construct a map based on camera image information, where the image information is likewise associated with the position where the image was taken. The image information can be recognized again, whereby the robot can also be located and oriented in its environment.
[0054] The robot can determine its position in the deployment area based on the specific structure of the orientation information. Thus, methods for global self-localization are known, by means of which the robot can determine its position in the deployment area based on the orientation information without or with only limited prior knowledge. This is necessary, for example, after moving or switching off the robot. Since global self-localization has no specific prior knowledge about the position of the robot, in principle, global self-localization methods differ from position tracking (e.g., based on an odometer) during the execution of the SLAM method.
[0055] The living environment of the deployment area 200 of the robot 100 is constantly changing due to the inhabitants. Thus, doors can be opened and closed, or new obstacles (such as bags, parking lights, etc.) can be placed temporarily or permanently in the robot's deployment area. Thereby, individual aspects of the orientation information are also changed. However, other aspects, such as especially the position of walls or large furniture (cupboards, sofas), usually remain unchanged, enabling continued robust navigation. Common methods for navigating robots can be designed to be robust with respect to such changes.
[0056] However, when there are no marked obstacles in the map (e.g., due to a closed door) or no obstacles are marked, for example, the navigation of the robot may be disturbed for a long time. To avoid the disturbing effects of previous deployments, the map 500 can be generated during a survey or learning journey, during which the user has cleared the dwelling as well as possible. This map 500 is stored permanently. For performing service tasks (e.g., cleaning, transportation, inspection, entertainment, etc.), a working copy can be used. In the working copy, all changes important for performing the service task are detected, while the permanently stored map 500 remains unchanged. The working copy and the resulting changes to the map 500 can be discarded after the service task is completed, so that the map 500 remains unchanged. Thereby, unwanted changes in the permanently stored map 500 can be avoided, such as recording obstacles that are only temporarily placed in the deployment area, or map errors that occur during deployment (e.g., incorrect measurements, within the scope of navigation problems).
[0057] Optionally or additionally, for example, by comparing the working copy and the permanently stored map, these changes can be analyzed and evaluated. The result of this analysis can be incorporated into the permanently stored map 500, thereby enabling the robot's persistent learning behavior and matching behavior with respect to its environment. Here, to avoid unwanted effects on the robot's orientation ability, this information can be stored as meta-information 510, where the orientation information 505 of the permanently stored map 500 remains unchanged. For example, the orientation information 505 is updated only after user confirmation. For example, it may also be necessary to perform a new survey journey to update the orientation information 505. Details regarding the evaluation of changes in the environment and regarding new survey journeys will be further discussed below after the mentioned meta-information has been discussed in more detail.
[0058] Meta-information is location-related data associated with the map that is not necessary for the robot's position determination. For example, this information can be utilized so that the robot can "learn" its environment more and better adapt to the environment, as well as perform user-robot interaction more effectively. For example, meta-information can be used for better path and work planning. Meta-information here includes, for example (but not exclusively), one or more of the following information:
[0059] · Information based on user input;
[0060] · Information learned through multiple robot deployments, especially (statistical) information such as the duration of service task processing, the frequency of service tasks, navigation problems, pollution information;
[0061] · Dividing the deployment area into sub-areas (e.g., individual rooms), and naming the room or sub-area and / or other objects;
[0062] · Characteristics of a space or sub-region, especially dimensions, surface characteristics, e.g., floor covering in a sub-region, blocked areas;
[0063] · Schedule and specifications of service tasks; time required to perform service tasks in a sub-region
[0064] · Topological map information and relationships (e.g., linked areas and spaces); and
[0065] · Information about path drivability.
[0066] Figure 5 By way of example, the meta-information 510 of the permanently stored map 500 of the deployment area DA is shown. It shows examples: naming of rooms (e.g., "corridor", "bedroom", "living room", "kitchen", etc., for natural interaction of the user with the robot), schedule (e.g., "not open from 11 p.m. to 6 a.m.", for task planning), information about the degree of pollution (e.g., usually heavier pollution in the corridor, higher frequency of robot cleaning), information about floor covering (e.g., "parquet", "tile", "carpet", etc. and any relevant working procedures), warning prompts (e.g., "steps", robot moves slowly), etc.
[0067] One type of meta-information that can be stored in the map is the division of the robot area into several rooms and / or sub-regions. This division can be carried out by the robot 100 in an automated manner, e.g., interpreting or analyzing the orientation information and other information recorded during the survey trip. Additionally or optionally, the user can manually carry out the division and / or manually modify the automatic division. As described above, the names of the rooms (e.g., "corridor", "living room", "bedroom", etc.) can also be included in the meta-information.
[0068] For example, for a room and / or sub-region, the user can specify whether navigation is allowed in that area. For example, a sub-region can be divided into a virtual exclusion region (keep-out region) so that the robot does not drive through that area independently. This is very useful if the robot cannot safely drive through the sub-region or if the robot will interfere with the user in that sub-region.
[0069] Optionally or additionally, the user can create, edit, and delete user-defined sub-regions. User-defined sub-regions can define, for example, areas where the robot is not allowed to drive automatically (blocked areas), or areas that the user wishes to clean regularly or occasionally in a targeted manner.
[0070] The meta-information may include objects that can be uniquely recognized by the robot, such as objects with their meanings and names. For example, one or more attributes (characteristics) can be assigned to the objects entered in the map. Thus, for example, the planar elements recorded in the map can be associated with the attribute of drivability ("free", "blocked by obstacles", "blocked"), and with the attribute of the treatment status ("not cleaned" or "cleaned") of the floor covering ("carpet", "wood floor", etc.).
[0071] The meta-information may include drivable (accessible to the robot) surfaces and / or cleanable surfaces. Here, the size and / or exact shape and dimensions of the drivable / cleanable surfaces for each sub-region and / or the entire deployment area of the robot can be stored. This surface can be used as a reference, for example, to evaluate the work results (e.g., the cleaned surface relative to the theoretically cleanable surface).
[0072] As mentioned, the meta-information can be based on user input and / or the robot's (100) interpretation of the orientation information stored in the map. Thus, hazardous areas can also belong to the meta-information. In these areas, for example, there may be obstacles such as surrounding cables, which severely limit the robot's navigation and movement capabilities. Therefore, these areas can be avoided by the robot and / or driven through with special care. For example, the robot can autonomously learn such areas by storing the navigation and movement problems detected during previous deployments (or during a reconnaissance trip) in association with the corresponding locations. Optionally, the hazardous areas can also be defined by the user.
[0073] The reconnaissance trip for creating the map - The permanently stored map can be created by the robot itself during a previous deployment (e.g., during a reconnaissance trip), or provided by another robot and / or user and stored, for example, persistently (permanently) in the memory 156 (see Figure 2 ). Optionally, the map to be permanently stored for the robot's deployment area can also be stored outside the robot, for example, on a computer (such as a tablet, home server) in the user's household of the robot or on a computer (such as a cloud server) accessible via the Internet. The map data is stored and managed, for example, by the navigation module 152.
[0074] Roaming can be initiated at any point in the deployment area (such as from a base station). The robot has no or very little information about its surrounding environment at the start of the survey trip. During the survey trip, the robot 100 moves through the deployment area and uses its sensors to detect information about the surrounding structures, in particular the positions or other orientation information of obstacles, and thereby builds a map. For example, walls and other obstacles (such as furniture and other objects) are detected and their positions and locations are stored in the map. The sensing devices for detection are known per se and can be included in the sensor unit 120 of the robot 100 (see Figure 2 ). The calculations required for detection can be performed by a program included in the control unit 150 of the robot 100 (see Figure 2 ). For example, while building a map based on the movement of the robot (especially ranging) and the already surveyed (and thus known) parts of the map, the position of the robot in the map is continuously determined (SLAM, simultaneous localization and mapping). This tracking of the robot's position during the creation of a new map is not to be confused with the already existing self-localization (without prior knowledge of the robot's position).
[0075] The survey trip can be executed until the map is locked. This means, for example, that the surface on which the robot can travel is completely surrounded by obstacles (see Figure 4 ). Optionally or additionally, it can be determined whether there is new orientation information and whether the acquired orientation information has a sufficiently high accuracy. The accuracy can be determined, for example, within the scope of the SLAM method of probability theory, based on the probabilities, variances and / or correlations obtained here.
[0076] There are different scenarios for the navigation strategy during the exploration trip, which depend crucially on the sensors used. For example, the surface can be completely traversed, which is particularly suitable for detecting obstacles in short-range sensors (operating range, for example, less than 10 cm, or less than 1 m). For example, the deployment area can be traversed such that all areas are detected using long-range sensors (such as an operating range greater than 1 m). For example, rooms and doors can be detected during the survey trip and the survey can be carried out spatially. Here, one room is completely surveyed before starting to survey the next room.
[0077] Figure 6 The figures in Figure 6 illustrate how the autonomous mobile robot 100 explores its environment. In the example shown in figure (a) of Figure 2) It has a navigation sensor 121 that covers a specified detection area Z (coverage area). In the example shown, the detection area Z approximately has the shape of a sector with a radius d. The navigation sensor 121 is configured to detect an object (e.g., an obstacle, furniture, and other objects) in the environment of the robot 100 by measuring the distance to the contour of the object once the object is within the detection area Z of the sensor 121. The detection area Z moves with the robot, and the detection area Z can overlap with the object when the robot is closer to them than the distance d. Figure 6 The (b) of Figure 6 shows a situation where the obstacle H is within the detection area Z of the navigation sensor 121 of the robot. The robot can recognize a part of the contour of the obstacle H, which is, in this example, the line L on the side of the obstacle H facing the sensor 121. The position of the line L can be stored in the map. During the survey, the robot will detect the obstacle H from other viewpoints and thus can refine the contour of the obstacle H on the map.
[0078] In Figure 6 In the example shown, the detection area Z of the sensor system has a relatively small field of view (detection area). However, there are also some sensors that can cover a range of 360°. In this case, the detection area Z has the shape of a (complete) circle. Depending on the sensor, other detection areas are possible and are known per se. In particular, especially for sensors used for three-dimensional detection of the environment, its detection area can be defined by a volume, for example, by an aperture cone. If the sensor is additionally mounted on an actuator (especially a motor), the detection area can move relative to the movement of the robot, whereby the robot can "look" in different directions.
[0079] The detection area Z is given not only by the range of the sensor but also based on the desired measurement accuracy. For example, for a triangulation sensor, the measurement uncertainty increases rapidly with the measurement distance. For example, an ultrasonic sensor can only reliably detect the structure of the environment at an appropriate distance from the environmental structure.
[0080] For some sensors, the detection area Z may be restricted to the current position of the robot. For example, in order to detect a drop edge (e.g., a step) on the floor, a conventional ground sensor is aligned with the floor below or directly in front of the robot, so that the detection area does not exceed the position of the robot. Another example is the detection of a change in the floor covering. Such a change can be detected, for example, by a short-term change in position during travel (e.g., when driving over the edge of a carpet) and / or a change in the driving behavior (e.g., drift and slip on the carpet, surface roughness). Another example is an obstacle (e.g., an obstacle such as a glass door that is difficult to detect visually) that can only be detected by a tactile sensor such as a contact switch when the robot touches it.
[0081] The detection area Z can generally be described by one or more points, distances, areas or volumes, depending on the selected sensor and its arrangement on the robot, and is arranged relative to the robot in a suitable manner.
[0082] As Figure 7 shown, the detection area Z can be marked as "explored" on the map. In this way, the robot can "know" which areas in the robot's operating area have been explored and mapped. In Figure 7 the example shown, the surveyed area E includes all points within the robot deployment area that were at least once within the detection area Z (moving with the robot 100) during the survey trip. It can be said that the surveyed / search area E represents the "trajectory" of the sensor detection area E. The map areas not marked as explored can be regarded as "white spots" for which the robot has (as yet) no information. At this point, it should also be noted that an object H located within the detection area Z obscures a part of the detection area and effectively makes it smaller (see the schematic diagram (b) in Figure 6 ). In a practical implementation, the angular spread of the sensor's field of view is generally significantly larger than Figure 7 the angle shown.
[0083] Long-range and short-range exploration - As mentioned above, general service robots for the domestic domain have some short-range sensors that can only detect environmental structures such as the edges of floor coverings or drop edges when driving over or about to drive over them. Therefore, for these short-range sensors, the detection area Z roughly corresponds to the size of the robot, and thus in a survey trip, it is usually necessary to drive over the entire area of the deployment area in order to detect these structures. This takes a lot of time and poses a risk of interrupting the survey trip due to unexpected disturbances (such as navigation problems, user interruptions).
[0084] If the robot explores using a long-range sensor with a correspondingly large detection area Z (see Figure 6 ), then this problem is alleviated. Thereby, the survey can be completed significantly faster because it is not necessary to drive completely over the surface, but rather relevant orientation information can be collected from a few selected areas. In addition, a safe distance can be maintained for areas that may cause navigation problems (such as directly adjacent to obstacles). A possible drawback of this method is the lack of exploration of environmental structures, which can only be recognized in the immediate vicinity of the robot, especially when passing by these structures.
[0085] To perform exploration quickly and still be able to collect all structures of interest, the robot can combine two strategies. To this end, in the first mode (or under the first exploration strategy), at least one first sensor with a first detection area Z1 is used to explore the environment, especially using a long-range sensor as the first sensor. Here, the exploration strategy used in the first mode can be designed to detect the deployment area as quickly and effectively as possible using the first sensor. The first sensor used is, for example, a sensor for non-contact distance measurement at a large distance, such as an optical triangulation sensor, a laser scanner, a so-called rangefinder scanner, a stereo camera, or a ToF camera (Time-of-Flight-Kamara). Optionally or additionally, the first sensor can be a camera, the image of which or the features (navigation features) extracted therefrom can be used to map the deployment area.
[0086] Generally, in this first mode, the robot will also use at least one short-range second sensor with a second detection area Z2 (for example, a ground sensor for measuring the distance to the ground and detecting edges / steps, a sensor for detecting the edge of the ground covering, a contact switch for detecting "invisible" obstacles such as glass doors, etc.) to detect information. Such a short-range sensor, for example, only detects the environmental structure when the robot is adjacent to the environmental structure (for example, in the case of a fall edge) or when driving over it (for example, in the case of the edge of the ground covering). Examples of this are: information on detected collisions, ground covering, and / or changes in the ground covering (edge of the ground covering), information on a fall edge below or immediately in front of the robot, obstacle information with a short-range proximity sensor, and the ground image below or immediately adjacent to the robot.
[0087] In the second mode, the robot can use a second exploration strategy and specifically use short-range sensors to explore the structure. For example, this is done by tracking the structure of the entire room. This is particularly advantageous in the case of linear structures such as the edge of the ground covering or a fall edge.
[0088] The two detection areas Z1, Z2 generally at least partially do not intersect. That is, they do not overlap or only partially overlap. By combining the two detection areas Z1, Z2 using two exploration strategies (modes), a map can be created that contains all the basic structures of the deployment area environment without having to fully traverse the area.
[0089] For example, if a relevant structure is detected by the second sensor in the first mode, a switch from the first mode to the second mode can be made immediately (see also Figure 8)。In step S20, at startup, the robot explores the surrounding environment in a first mode (Mode 1) based on the measurement results of a long-range first sensor that can detect a first type of structure, such as the collective structure of the environment in the deployment area (i.e., objects that act as obstacles, such as walls, doors, furniture, etc.). If the detection in this step S21 indicates that the short-range second sensor has detected a second type of structure (e.g., the edge of the floor covering, the threshold, the step, etc.), the robot switches to the second mode (Mode 2). In step S22, the identified second structure is surveyed until the detection (step S23) indicates that the second structure has been fully surveyed. In this case, the robot continues to survey the geometric structure of the surrounding environment in the first mode (step S20). This process continues until the detection (step S24) indicates that the deployment area has been fully explored. Then the survey is ended, and the robot returns to its starting position, for example.
[0090] Optionally or additionally, the survey can continue in the first mode until a suitable sub-region (e.g., a room) or the entire deployment area has been surveyed (see Figure 9 )。In step S10, after starting the exploration, the robot explores the environment in the first mode based on the measurement results of the long-range first sensor. Here, the positions of the structures detected by the short-range second sensor can be plotted on the map. However, these will not be tracked further. In step S11, the robot checks whether the survey is complete (room or entire deployment area). If not, it continues the survey in the first mode 1 (step S10). In step S12, when the survey in the first mode is completed, the robot will continue the survey in the second mode. Here, the robot moves to, for example, the position saved in the first mode (where the second sensor has detected a structure). Starting from this position, the structure is explored comprehensively in a targeted manner, for example, by the robot attempting to follow the detected structure (such as the edge, the edge of the floor covering, etc.) for the survey. If it is determined in step S13 that all previously identified structures have been fully surveyed, the survey trip ends, and the robot returns to its starting position, for example.
[0091] These methods can be extended and combined as needed and used for other sensors (and other modes). For example, when a drop edge is detected, it is possible to immediately switch from the first mode to the second mode to effectively close the deployment area with the drop edge. For example, if the edge of the floor covering is detected, the exploration can continue in the first mode until it is completely finished. Then the edge of the floor covering can be refined based on the known map. That is, the methods according to Figure 8 and Figure 9 are combinable.
[0092] Additionally, in the second mode, hypotheses about changes in the environmental structure detected by the second sensor can be created in the second mode. An example of such a hypothesis is that the carpet has a rectangular shape. The carpet can, for example, be freely located within the room or extend up to an obstacle (such as a wall, furniture). Optionally, the shape of the carpet is usually circular, oval, or fan-shaped. There are also carpets with irregular shapes (e.g., animal fur). By calculating predictions using the measurement values of the sensor at specific locations and detecting them by approaching that location, these hypotheses can be targeted tested in the second mode (e.g., based on the hypothesis of a rectangular carpet, the positions of the corners of the rectangle can be determined). The robot can then move to that location to confirm or reject the hypothesis. If the hypothesis about the carpet shape is confirmed, the curve from the edge of the floor covering to the carpet can be transferred to the map without having to drive completely over it. If the hypothesis is rejected, new hypotheses can be created and tested, or the edge of the floor covering can be fully surveyed by driving completely over it.
[0093] Another example of a hypothesis is the curve of a threshold or the curve of the edge of the floor covering in a door. These curves are usually straight lines between the door frames and are usually extensions of the wall. For example, this hypothesis can be tested when the robot has fully explored a room and leaves the room through the door again.
[0094] An advantage of creating hypotheses is to reduce the locations to be reached and fully map the structures identified by the second sensor. Thus, in the case where the hypothesis is successfully tested, there is no need to drive completely over and survey the structure. For example, in the case of a rectangular carpet, the four corners can be approached. If they are in the expected positions, there is no need to additionally survey the remaining carpet edge. This can reduce the time required for surveying and thus improve the efficiency of the robot.
[0095] In the first mode (survey strategy), small structures (such as small carpets with correspondingly small carpet edges) can be ignored as floor covering edges because the robot will not drive over them. However, in a residential environment, typical relevant structures have typical dimensions (e.g., 2m). During the survey in the first mode, care should be taken to ensure that the robot approaches each reachable point in the operating area at least once, i.e., moves to a predetermined distance (e.g., 1m) at least once. In this way, it can be ensured that the second sensor can reliably detect the presence of structures whose typical dimensions are equivalent to twice the given distance, and these structures will not be ignored.
[0096] This can be achieved by recording the travel path of the robot in the first mode. Alternatively or additionally, after exploration in the first mode, the robot can travel to points in the operation deployment areas that the robot did not approach sufficiently closely during the survey in the first mode. Another alternative possibility for approaching all reachable points of the operation area is to virtually reduce the detection area Z1, which can be achieved, for example, by programming the control unit 150 (such as the navigation module 152) accordingly. This causes the robot to drive to points closer to the deployment area than theoretically required in order to mark them as the explored area E. Additionally or alternatively, based on the positions of the detected obstacles (walls, furniture, etc.), positions with an appropriate distance (based on the typical dimensions of the structure to be detected) from the obstacles can be determined and approached so that potentially existing structures can be actually detected and further surveyed in the second mode.
[0097] Continuing exploration after interruption during the survey journey - many problems can occur that interfere with the navigation and movement of the autonomous mobile robot. For example, when driving over a threshold, severe slipping may occur, which interferes with the odometer so that the position of the robot can no longer be reliably determined. Another example is a cable placed on the floor that interferes with the movement of the robot. It is even possible for the robot to get stuck and unable to move. In this case, for example, the generation of the map can be paused (interrupted) so that, for example, the robot can free itself and / or the user can free the robot. When the robot can again reliably determine its position, the survey journey should be continued to create the map. This can avoid having to start the map construction completely from scratch. Therefore, this improves the reliability and efficiency of the robot.
[0098] Two technical problems arise here. On the one hand, the robot may get stuck again in the same area, which may delay the construction of the map or make it impossible to proceed at all. On the other hand, it may lead to the later discovery of navigation or movement problems, so that the map construction cannot be interrupted in time. As a result, (between the occurrence of the problem and the robot's recognition of the problem) incorrect map data will be collected because, for example, the robot incorrectly estimates its position and thus records the detected environmental information and especially the orientation information (such as obstacles, landmarks, etc.) at the wrong position in the map. Such errors are acceptable for maps used temporarily (reconstructed each time they are used) because the map errors have no impact on subsequent use. However, for maps to be used permanently, such map errors may severely limit the functionality of the robot because these map errors may cause systematic errors when the robot performs tasks in subsequent uses.
[0099] Therefore, a method is needed that can not only continue to conduct surveys and map structures after problems occur in the navigation or movement of the robot, but also reliably handle navigation or movement problems to avoid errors in the map structure. For example, this can be solved by determining the time and / or location (problem area) where the problem occurs. From this, for example, incorrect data can be deleted or the problem area can be blocked for further navigation.
[0100] It should be noted that in some cases, the location of the problem can be well located. In this case, the problem area can be reduced to a point on the map. But generally, the location of the problem is inaccurate and / or the problem occurs in a relatively large area. In this case, the problem area can be described as an area or sub-area.
[0101] Figure 10 An example of a possible method for surveying a deployment area is shown. After startup, the deployment area is systematically surveyed (see Figure 10 , S30). Here, for example, one of the methods discussed above can be used. Alternatively, the area can also be completely traversed or other suitable methods can be used to survey the deployment area of the robot. As long as no problems (especially navigation or movement problems) are detected ( Figure 10 , step S31) and the deployment area has not been completely surveyed ( Figure 10 , step S32), this survey trip will continue. If it is determined that the deployment area has been completely surveyed ( Figure 10 , step S32), that is, for example, the robot has no unreached areas to survey and / or the deployment area shown on the map is completely surrounded by obstacles, then the survey ends. The robot can then return to its starting initial position or base station and save the created map as a permanent map for subsequent tasks and interaction with the user.
[0102] During exploration, many problems (as described above) may occur and be recognized by the robot ( Figure 10 , step S31). For example, the robot can plan an action and attempt to execute the action (by controlling the drive unit 170). For example, when the drive unit 170 is locked, then this movement cannot be executed. For example, it can be determined that no movement has occurred by using an odometer and / or an inertial sensor. Alternatively or additionally, problems can be identified based on the power consumption of the drive unit. For example, in the case of problems such as the robot being stuck, the power consumption of the drive unit may be abnormally high.
[0103] Similar problems also occur in the case of wheel slip or skidding, so that the controlled movement can only be carried out incompletely or not at all. Slip can occur, for example, when the robot drives over a step or a ground elevation, or when the robot gets stuck on an obstacle (such as a surrounding cable (e.g., the power cable of a floor lamp)). Similarly, strong drift of the robot (e.g., uncontrolled lateral movement) can occur on cables, steps or ground elevations. In addition, when trying to drive over a cable, a step or a ground elevation, the robot loses contact with the ground (especially the contact between the drive unit and the ground), and thus further movement can no longer be achieved or can only be achieved with difficulty. In the worst case, the robot sits on the obstacle and no longer has ground adhesion.
[0104] Another example of an uncontrolled (i.e., not caused by the robot) movement is an external shock, for example due to an externally applied force on the robot, which may be applied, for example, by a person or a pet who wants to interact (e.g., play) with a new and unfamiliar robot. For example, it may happen that the robot is lifted, held high or moved to another place (so-called kidnapping), where the robot also loses contact with the ground completely or partially.
[0105] Another problem may be the blocking of the robot. For example, when the robot explores a room, the door of the room can be closed or shut. Another example is that the robot moves under a sofa and then the sofa cover slips down. This is considered an obstacle and the robot cannot find its way under the sofa without hitting the obstacle. Incorrect measurement (e.g., reflection) of one of the sensors may simulate an obstacle that does not actually exist, but seems to block the path of the robot (in the map). This problem can be identified by the fact that the drawn obstacle cannot be used to plan a route from the current robot position to another drawn sub-region (especially the starting point).
[0106] All these problems lead to a more inaccurate position of the robot or a complete lack of knowledge of the robot's position, and / or meaningful map building is thus difficult or impossible. For example, for this reason, when a problem is detected ( Figure 10 , step S31), map building can be stopped (paused).
[0107] In some cases, the problem cannot be directly identified (e.g., if there are no suitable sensors, or in the case of small and continuous disturbances), which is the reason for the incorrect construction of the map. These errors usually result in inconsistent map data that cannot describe the real environment. If such an inconsistency is identified, it is also possible to infer problems with navigation or movement from this. For example, an inconsistency can be identified by entering obstacles on the map multiple times (e.g., overlapping with itself or with each other), because it cannot be directly associated with the obstacles that have already been mapped. An inconsistency can be identified, for example, by the fact that an obstacle is recorded in the map multiple times (e.g., overlapping with itself or successively), because the obstacle cannot be directly associated with the obstacles that have already been surveyed. Alternatively, the obstacle can be associated with the obstacles recorded on the map, in which case the drawn position deviates significantly and repeatedly from the measured position. If the navigation features newly recorded in the map (azimuth information 505, see Figure 4 ) are "incompatible" with the navigation features already present in the map (the azimuth information is contradictory and mutually exclusive), an inconsistency can also be identified.
[0108] For some problems, after the problem is solved, the robot can continue the exploration journey independently (without user interaction). However, in this case, there is also a risk that it will encounter the problem again and / or incorrect map data has been generated during this period. To prevent these risks, the robot can, for example, try to isolate the location (area) and / or time of the problem ( Figure 10 , step S33). If the problem can be well detected using sensors (e.g., the vibration of the accelerometer), the time TP1 of problem detection and the position of the robot known at this time can be used. Additionally or alternatively, the time point TP2 can be used, which is a definable time period before the detection time point TP1. This allows for the delay to be taken into account during the detection.
[0109] To determine the problem area, the position at time TP2 can be used, for example. Alternatively or additionally, the last position that can be predetermined as accurate can be used. Usually, the scale of position accuracy / safety is recorded by the SLAM method, and this scale will be reduced if unknown and / or incorrect measurements occur. To narrow down the problem area, these positions can be connected. Additionally, the area around these positions can be marked as the problem area. For example, an area with the size of the robot.
[0110] Additionally or alternatively, the area can be determined based on a map analysis (e.g. an analysis of logical inconsistencies in the map data). This allows the locations of inconsistent data to be determined. Starting from this point, for example, the time points at which the data were collected can be determined. To this end, for example, each map registration is provided with one or more timestamps, which, for example, indicate the time when the registration was created and / or the time of the last confirmation by measurement. For example, each time point or measurement frequency of a measurement of a map registration can be stored with the registration. As described above, based on this time point, the position of the robot can be determined as described above by means of the data collected from this position. For example, if the analysis shows that an obstacle has been registered in the map several times, the time of the first registration of the obstacle and / or the time of the previous map registration can be used. Alternatively or additionally, the area can be determined from which data can be collected.
[0111] When a robot is blocked in a sub-area, then the sub-area can be marked as a problem area.
[0112] For many navigation or motion problems, several release strategies can be used: Figure 10 , step S34). For example, if the robot loses contact with the ground due to driving over a low obstacle (e.g. a cable, a step or a ground protrusion), its direction of movement can be reversed immediately to prevent it from getting stuck. If the robot is stuck, it can try to get out by means of a rapid impact movement. If the robot is (seemingly) blocked in a subarea, it can try to make contact and thereby find a way out. In particular in the case of erroneous measurements (e.g. due to reflections, which interfere with optical distance measurements, e.g. by means of a triangulation sensor), this problem can often be solved.
[0113] If the robot has successfully solved the problem ( Figure 10 , step S35), it can then (re)determine its position in the map, which has been at least partially surveyed ( Figure 10 , step S36). In some cases, if the position of the robot is known with sufficient accuracy after a successful escape attempt, the existing positioning by the SLAM algorithm is sufficient.
[0114] Optionally, global self-localization can be performed. This allows the robot's position to be determined more accurately and can avoid map errors caused by inaccurate or erroneous estimates of the robot's position in the SLAM algorithm. However, global self-localization requires some time and computation, so a trade-off must be made here. For example, depending on the severity of the problem, it can be determined whether the SLAM algorithm is sufficient or whether global self-localization should be performed.
[0115] In the global self-localization, for example, the prior knowledge that after successful unwinding, the robot is located in the vicinity of an identified problem area can be utilized. For example, the robot can be steered away from the problem area. In addition, the spatial solution for the global self-localization (i.e., the portion of the map in which the robot is attempted to be localized) can be reasonably limited by the prior knowledge. Alternatively or additionally, the result of the global self-localization can be used in order to determine or further limit the location of the problem area, since the robot is located in the vicinity thereof after successful unwinding and therefore at the start of the global self-localization.
[0116] In some cases, rescue operations ( Figure 10 , step S34) cannot solve the problem. This can be determined by ( Figure 10 , step 535), that is, the problem still exists after a certain period of time. In this case, the robot stops and waits for the user's help ( Figure 10 , step S37). For example, a sound or visual signal sent directly by the robot indicates that the robot needs help. Alternatively or additionally, the user may be notified by a corresponding message transmitted to the external HMI 200 (see Figure 2 ).
[0117] The user can then release the robot, thus resolving the problem. Typically, the robot is lifted by the user and placed in a new location. In turn, the robot can begin global self-localization ( Figure 10 , step 536), the robot is able to determine its position relative to the already (incompletely) constructed map 500. This method is known. For example, the robot builds a new (temporary) map 501 and searches for places that match the previously constructed map 500. If the match is clear enough, the information on the temporary map 501 can be transferred to the map 500 and the survey trip can continue.
[0118] Alternatively or additionally, the user can be instructed (e.g. on the HMI 200) to move the robot to a known location (a location already contained in the map). For example, this location is the starting location or a location close to it. In particular, the starting location can be the base station 110. If the robot is reset to the base station 110, the global self-localization can be canceled instead, for example if the location of the base station is already shown on the map. Alternatively or additionally, the user can also use the HMI to tell the robot the location on the map where the problem occurs. If necessary, the user can define a blockade area around this location before the robot continues the survey.
[0119] It should be noted that the determination of the problem area and / or the determination of the time point of the problem ( Figure 10 , step S33) does not necessarily follow immediately after a problem is detected ( Figure 10 , step S31) occurs (such as Figure 10). Instead, it can also be performed, for example, after an escape attempt (S34), after self-positioning (S36) or at another suitable point in time. For example, the user can also be asked to confirm and / or mark the problem area on the (still incomplete) map displayed on the HMI 200.
[0120] This can be used during map construction and further exploration of the deployment area (S30) by knowing the problem area and / or the time point of the problem. In addition to the problem area, the cause of the problem (in this respect, known from the problem detection) can also be stored. Therefore, after processing the problem area determined in this way, the cause of the problem can also be considered (e.g. abnormally high slip, robot stuck).
[0121] For example, problem areas can be blocked off for continued driving. This allows the problem to be reliably avoided. Alternatively, areas in the map can be marked with properties such as "difficult to drive" or "avoid". The robot can take these properties into account during navigation and try to avoid the corresponding areas whenever possible. In contrast to restricted areas (virtual blocked areas), the robot can drive in areas marked with the "avoid" property if, for example, this is necessary to complete the survey.
[0122] For example, some objects, such as chair legs or table legs or elevated chairs or other furniture, may have unusual geometries. For example, table legs, chair legs or high stools are very curved, causing unexpected navigation or movement problems. So, for example, very flat and raised legs (usually found on high stools or coffee tables) can cause the robot to collide with them and lose contact with the floor. Even if its sensors show enough space for navigation, pointed legs may become so narrow that the robot gets stuck.
[0123] Figure 11 In (a), the problem of navigation or manipulation of a robot on a high stool H (or a similar piece of furniture, such as a table) and the associated problem area S (see Figure 11 (b)). Because such problems or furniture often occur multiple times in a home, one can try to associate navigation or movement problems and related problem areas with objects that the robot can detect and / or patterns that the robot can detect. Figure 11In this case, for example, this is part of the foot / support of a high stool H, which has an area with a certain radius that can be detected by the robot. For this purpose, the already recorded map can be analyzed, in particular the sensor measurements in the vicinity of the problem area. If the object or pattern is detected again, the robot can maintain a corresponding safety distance. For example, the area S around the object or pattern can be marked as "blocked" or "avoided". This area can be determined based on the problem areas that have been identified. Alternatively, a simple basic shape (such as a circle) can be selected.
[0124] For example, before the problem was detected, erroneous map data may have been generated. The problem area can be taken into account, for example, by deleting and / or correcting map data based on measurement results in the complete or partial problem area and / or at a specific point in time at which the problem was detected. If the survey trip is continued, this sub-area will be explored again (if necessary, taking into account the "blocked" or "avoided" attributes previously set for the problem area).
[0125] Optionally, the problem area can be resurveyed without deleting the map data. For example, the robot (as described above) can recognize that it is blocked in an area constituted by, for example, closed doors. At this time, it will notify the user, so that the user can, for example, make the route self-use by opening the door so that the robot can get out of trouble. The user can then notify the robot via the HMI 200 that the survey should continue. In this case, it may be useful to resurvey the problem area (i.e., room) again in full or in part. For example, a doorway (reopened door) can be identified as freely traversable. For example, the resurvey of the problem area can be carried out from the edge of the problem area or limited to the edge of the problem area (e.g., searching for and identifying a doorway).
[0126] If the user unblocks the robot, the user can eliminate potential problems. For example, he can lay out cables that are located around so that they no longer hinder the robot in the future. For example, problematic chairs and stools can be placed on the table so that they are no longer obstacles for the survey trip, at least temporarily. However, the user cannot eliminate other problems, such as table legs.
[0127] A possible solution for detecting user behavior and intent is to send a message with a corresponding question to the user via, for example, the HMI 200. The robot can, for example, wait for the user to input information on whether a navigation or movement problem has been permanently or temporarily resolved, or information on whether the robot is waiting to process this problem. Thus, for example, the problem area can be considered based on this user input. If the problem is permanently eliminated, the problem area can be surveyed again and then "forgotten" (not saved). If the problem is temporarily resolved, sampling can be surveyed again. In addition, the robot can suggest to the user (via the HMI) to create a sub-area in this area, which is prohibited for the robot to drive automatically according to the standard. If necessary (for example, if the user removes a problematic chair), the user can specifically send the robot to this area (for example, for cleaning). If the robot has to handle the problem itself, a blocked area can be created based on the identified problem area. This can be shown to the user. In addition, confirmation from the user can also be awaited.
[0128] Another problem with permanently stored maps is the handling of environmental changes. These can be permanent or temporary. However, it may be difficult for the robot to estimate which of these are permanent or only temporary. People usually try to use complex statistical models to solve this problem so that the robot "learns" about this over time.
[0129] However, collecting a large amount of data can have a negative impact on the robot's navigation and efficiency. Therefore, it may make sense to resurvey the map at regular intervals (for example, after a major change). However, the resurvey of the deployment area and the subsequent regeneration of the map result in the loss of most of the meta-information (such as room layout, room name, pollution frequency) stored in the map that has been learned over time or input by the user. Especially when the user has to re-enter the lost information, it is considered very troublesome. To improve this situation, a method is needed that can reliably update the orientation information 505 on the map 500 on the one hand, but does not lose the meta-information 510 (especially the information input by the user).
[0130] The above problem can be solved, for example, in the following way, that is, the user triggers a new survey trip of the robot within all or part of the deployment area, where the robot uses an existing permanently stored map during the survey trip. If necessary, the robot can notify the user before the start of the survey trip that the area to be surveyed again must be cleared again so as not to damage the navigation of the robot, so that the best map can be created. Then, the robot can start to resurvey the part of the deployment area assigned to it. During the survey trip, the differences between the information about the environmental structure in the robot deployment area recorded by the sensors of the sensor unit 120 and the orientation information already stored in the map and the orientation information of the sensors can be analyzed.
[0131] Thereby, the robot can provide an updated map 502 of the deployment area. For example, based on the (orientation) information recorded by the sensors, the robot can identify objects that have not been stored on the map or objects that do not exist but are stored in the map (because the sensors cannot provide the corresponding orientation information). The robot can also identify whether an object has been pushed and adjust the orientation information stored in the map accordingly. This method has the following advantages: the meta-information can be easily transferred to the updated map, so it will not be lost. This is not the case in a simpler method, that is, a new map is simply created without considering the old map, and the meta-information is also lost. At this time, the map 502 updated in this way can be permanently stored and used for navigation and user interaction in subsequent use of the robot. Thereby, the previously existing map 500 can be completely replaced. Additionally or alternatively, a backup of the map 500 can be retained. This can be stored, for example, on an external device 300 (such as a cloud server).
[0132] The resurvey desired by the user can cover the entire deployment area or only cover a part of the deployment area. This can be notified to the robot, for example, through the HMI 200 (such as a command input through the HMI). For example, the survey can be limited to a room, and the user can select the room, for example, via the map displayed on the HMI or via the name of the room. For example, the user can mark the area he wants to survey on the map displayed on the HMI200.
[0133] During the survey, the robot can move within some of the deployment areas so that it is fully detected by one (or more) of the sensors included in the sensor unit. Additionally, the measurement accuracy used to detect information can be changed. Thus, the detected changes can be measured more precisely, while in cases where parts of the deployment area remain unchanged, a sufficiently rough measurement accuracy is sufficient. Possible strategies will be described in detail later. For example, the measurement accuracy can be increased by one of the following methods: increasing the dwell time in an area, approaching obstacles more closely, increasing the area traversed by the robot during exploration, a longer survey time, or reducing the driving speed.
[0134] If the user only wishes to resurvey a certain sub - area (e.g., a room) for an updated map, then only the changes detected in that sub - area or room need to be considered. This means that when traveling to the new sub - area to be surveyed, the differences between the map and the actual (seen by the sensors) information will be ignored. Thus, the user only needs to prepare (clear) the sub - area that needs to be resurveyed for the exploration survey.
[0135] Additionally, the deployment area may be extended compared to the original map 500. It must be noted here that the updated map will fully record this extension in order to recreate the complete map.
[0136] Generally, during a resurvey trip, the deployment area may be larger or smaller than the area recorded in map 500. This is usually due to new furniture (limiting the deployment area), removed furniture (extending the deployment area), or moved furniture (extending the deployment area at one point and limiting it in another area). Additionally or alternatively, the user can, for example, decide to open a room for the robot that was not previously mapped. Figure 12 By way of example, possible changes to the Figure 3 deployment area are shown. Thus, the sofa S and the carpet C in front of it have been repositioned, and the new room R has become accessible to the robot 100. This requires at least some adaptation of the meta - information. To this end, it is necessary to identify and analyze the changes in the deployment area.
[0137] To create an updated map 502, changes in the used area can be determined in comparison to the time point at which the already existing map 500 was created. Here, in particular, information about the structure of the environment recorded and stored in a new temporary map during exploration is compared with the orientation information (e.g., detected walls, obstacles, and other landmarks) contained in the existing map 500. Alternatively or additionally, a copy 501 of the permanently stored map 500 can be created at the start of the survey trip (especially in the main memory of the processor 155), and the robot 100 determines its position therein (e.g., starting from a base station or by global self-localization). During resurvey, information can be updated directly in this working copy 501. In particular, obstacles and / or landmarks that no longer exist are deleted, new obstacles and / or landmarks are added, and the identified obstacles and / or landmarks are confirmed. After the resurvey is completed, the working copy 501 created in this way can be compared with the still-existing map 500. Alternatively or additionally, the data to be deleted and the data to be added can be directly used for the determination of changes. When, for example, newly identified obstacles are added to the map, attention is also paid to the added information (e.g., a marker with a timestamp).
[0138] Additionally, at least some meta-information must be updated for the changed area. This includes the area in which the autonomous mobile robot performs service tasks (e.g., the changed cleaning area, new objects to be inspected) as well as the shape, size, and number of sub-areas and / or rooms. Furthermore, the calendar information created for the work plan can be adjusted. For example, newly added rooms must be integrated into the task schedule (e.g., for cleaning and / or inspection). Additionally, the planned usage duration and / or the reference value of the area to be cleaned must be adjusted according to the new information.
[0139] Additionally or optionally, it is possible to register the floor covering for newly added surfaces. This can be determined, for example, by measuring the floor covering edge and the floor covering previously registered in the map. For example, a cabinet in a room may have been moved or removed by the user. This creates a new area for the robot, for which a floor covering can be assigned. If no floor covering edge is detected on this new surface area, the floor covering information of the surrounding area can be transferred to the new surface area. If the floor covering edge is determined, the floor covering of the new area can be automatically determined or entered by the user. The cleaning program associated with this floor covering can be automatically used for the newly identified area. Additionally or alternatively, the cleaning program specified for the surrounding environment can be transferred to the new surface area.
[0140] For example, the robot can identify whether the floor covering edge has shifted, e.g., due to Figure 12caused by the carpet C in the example. If the dimensions of the carpet C (e.g., the length, width, height of the carpet C) remain unchanged, the information on the floor covering can be transferred from the previously available map 500 to the updated map 502, and the position data is updated. Additionally, the carpet C can be associated with a sub-region created by the user. The position of this sub-region can also be automatically updated to the new position of the carpet C, for example, based on the edge of the floor covering.
[0141] For example, the danger area associated with an obstacle or an object can also be updated. Additionally, Figure 12 the carpet C shown in may be provided with long fringes on one side, which can block the rotating brush during cleaning. Therefore, in the original map 500, this side can be marked so that it is only cleaned with the brush turned off. This meta-information (e.g., stored in the map as an attribute of the sub-region) can also be transferred to the new position of the carpet C. That is, the meta-information related to the behavior or operation of the service unit 160 can also be automatically adapted to the updated sub-region (defined by the carpet C in this example).
[0142] The update of the meta-information can be automatic or performed with the help of the user. In a simple variant, the robot itself can know which meta-information needs to be updated and if necessary. Then, a message with a request can be sent to the user to update the specified information or adapt it to his requirements. Alternatively or additionally, the robot can create suggestions for the update and send them to the user for confirmation and / or adjustment. For this purpose, in particular, the updated map 502 can be sent to the HMI 200. For example, this can be the meta-information to be updated, such as showing the map to the user. The user can now accept, correct, or discard these. Alternatively or additionally, the update can be performed completely automatically without the user having to confirm the changes.
[0143] Example of a "new room" - as Figure 12 shown, the user can allow the robot to enter a new room R. This has not yet been recorded in the permanent map of the robot 100. Since the area not recorded in the map is a potential danger for the robot (e.g., the external area when the house door is open), the area that is not recorded in the map but is accessible (e.g., due to the door being open) can be ignored during the operation of the robot.
[0144] Through a re - surveying trip of the robot 100 in the deployment area DA, the map can be extended in such a way that the room R is entered and registered in the updated map so that it can be considered and planned for in future operations. To start a new surveying trip, the user can have the entire deployment area DA re - surveyed and / or select a sub - area for surveying. For example, the user can send the robot 100 to a position in front of an open door in the room R. Then the robot will start exploring the surrounding environment from this point and immediately recognize that the previously mapped deployment area is no longer enclosed. Instead, it can now recognize the room R behind the door as a passable area, and it will survey the room R and add it to its map accordingly. The orientation information (i.e., detected walls, obstacles, and other landmarks) related to the new room R (including information about the now - open door) is registered in the updated map 502. The remaining orientation information can be transmitted to the updated map as it is.
[0145] The meta - information can also be received substantially unchanged, but information about the new room R must be added. For example, a new sub - area associated with the room R is created. This new sub - area can be added to the task list (e.g., stored in a calendar). When cleaning the entire residence, the new room R can now also be scheduled. For example, the new room R can be scheduled as the last room to be cleaned in the future. For example, objects to be inspected may have been identified during the survey, and an inspection trip can be scheduled.
[0146] Example of "changing a room" - In a large room (e.g., "living room"), there is a space divider P ( Figure 12 represented by the dashed line in) that divides the room into two areas (e.g., "dining area" and "living area"). Thus, the robot will clean the two areas separately (e.g., one after the other). For example, the user can decide to remove or move the room divider. In principle, the robot will recognize the absence of the space divider P during navigation but will continue to clean the two partial areas separately. Cleaning the room separately is usually less efficient and may annoy the user.
[0147] The user can now instruct the robot to rediscover either both areas or only one area in the two areas "dining area" and "living area". During or after the surveying process, the robot can determine that the user has removed the space divider. Based on the clear user instructions, it can be ensured that this is not a temporary change but a permanent one. Based on the map data of the updated obstacle positions during the survey, the robot can recognize that the no - longer - existing space divider P has created a larger free area that can be efficiently cleaned in one go. For example, the two sub - areas "dining area" and "living area" can now be automatically combined, or by suggesting to the user, a sub - area "living / dining area" that encloses the entire room can be formed.
[0148] If one of two sub - regions related to the task plan, "dining area" and "living area", exists, this area can also match the user automatically or by prompting. For example, the cleaning of the "living area" and the cleaning of the "dining area" can be scheduled in the calendar of a day. These two calendar records can be deleted and replaced with a single record to clean the new sub - region "dining and living area". Thus, for example, the entire cleaning schedule of a day can be made faster and more efficient.
[0149] In addition, it can be determined that the cleaning frequency of the "dining area" is higher. For example, this can be determined with the help of the task schedule stored in the calendar or statistical information based on the cleaning frequency or average dirtiness level. For example, it can be automatic or suggested to the user to maintain the sub - region "dining area" as an additional sub - region, overlapping with the sub - region "living / dining area". This also makes the cleaning (manually or automatically initiated) of the "dining area" more frequent, while the cleaning of the entire room "living room" (= "living / dining area") can effectively adapt to changing conditions.
[0150] Example of a "new apartment" - Consider the case where a user moves into a new apartment. Before the user furnishes the apartment, he has the robot survey the empty apartment. This enables the robot to create a very simple map in which the room layout can be easily determined. In addition, the user can also receive precise measurement data of the apartment, which he can use to furnish the apartment. Moreover, he can compare this information with the information provided by the seller or landlord of the apartment to check its correctness.
[0151] After moving in, the user has the robot survey the apartment again. In this way, the positions of the decorated objects (furniture) can be entered into the map. In addition, the map also contains the previously determined room layout information. However, now the information about the drivable area (map information) can be adjusted.
[0152] Survey strategy with a known map as the search function - A special problem with surveying an inherently known map is that the robot does not know where and how to search for changes. When a new map is created, it is surveyed until it is completely finished. During the navigation required for the service task, updates may occur. For example, when the robot is moving forward, it detects a closed door, so it cannot complete any tasks in the sub - region behind the door (such as a room) because it is inaccessible. However, this kind of update is not carried out systematically, but randomly. Therefore, a method is needed by which the robot can systematically search for changes in its surveyed area relative to the permanently stored map. Such a search method can be used to systematically search for other events, objects, or people in a similar way.
[0153] For searching, the robot has suitable sensors (in the sensor unit 120, see Figure 2 ), and, if necessary, also has an evaluation algorithm to detect the searched event, object or person. For example, the sensor is a navigation sensor 121 (refer to Figure 6 ) and / or another sensor for detecting environmental structure information. With this sensor, the robot can, for example, recognize the "deployment area change" event. This is mainly achieved by comparing the measurement information about the environmental structure of the deployment area with the information stored in the map. As mentioned before, this can be used to update the map. If a new area (such as a new room) or a new obstacle is found but not recorded in the map, one of the strategies discussed earlier can be used to further explore it.
[0154] To identify a specific object, the environmental structure information can be examined to search for predefined patterns. Thus, specific objects and / or specially marked objects can be recognized. For example, an object can be recognized by its characteristic shape, especially its length, width and / or specific shape, which are determined by distance measurement, for example. For example, a camera and object recognition can be used to detect the searched object. Additionally or alternatively, the searched object can be marked with an optically detectable pattern (such as a QR code), which can be detected in the image of the camera. Furthermore, or alternatively, the robot can have sensors for detecting objects marked with RFID chips.
[0155] Additionally or alternatively, the robot can be configured to recognize the searched object or object in an image. For example, the robot can recognize a face in an image, thus searching for a person or a pet. Suitable image processing algorithms are known per se. A person or a pet or a determined object (such as a hot stove or a burning candle) can also optionally be recognized by the thermal radiation emitted by it. Furthermore, additionally or alternatively, a person, an animal or an object can be recognized by its specific three-dimensional shape by means of 3D measurement.
[0156] Similar to the method of exploring the deployment area discussed earlier to construct a deployment area map, a detection area can be assigned to the sensor, within which the searched event or object can be reliably recognized (i.e., detected and located with a certain accuracy) (see Figure 6)。An important difference is that the map is now available and does not need to be rebuilt. The detection area may depend on the type of event or object being searched, especially the required measurement accuracy or resolution. If high measurement accuracy is required, the robot usually has to get closer to the event or object to be detected (for triangulation sensors, the accuracy decreases with increasing distance). This means that the detection area must be chosen small to achieve high accuracy. For example, if significant changes in the environment are sought as part of a resurvey of the deployment area, the detection area can be chosen as a relatively large area. The detected changes can then be surveyed with the accuracy required for the survey map (and the correspondingly adjusted detection area).
[0157] The detection area can also depend on nearby obstacles and objects. For example, the robot can be instructed to search for a specific person in the deployment area. Since a person is usually clearly visible from the wall, a greater distance from the wall can be maintained. Therefore, corridors or large rooms can be searched quite effectively. On the other hand, the person being searched can be lying in bed or on a couch. The robot has to move closer to identify whether the person being searched is on it.
[0158] Figure 13 An example is shown. For example, if an RFID chip is set for the object X being searched, enabling the robot 100 to detect and locate the object X, then the theoretical detection area Z (which is also the accuracy of the location) is given by the operating range of the RFID transceiver used. For example, this detection area Z can be modeled as a hemisphere centered on the robot (i.e., the RFID transceiver of the robot). The radius of the hemisphere corresponds to the operating range of the RFID transmission. On a plane, this detection area appears as a circle. Near furniture (such as a shelf), it may be useful to reduce this detection area Z (the reduced detection area Z'). For example, if the detection area is a circle with a radius of one meter, but the object X being searched and equipped with an RFID chip is located on a sideboard ( Figure 3 which is an obstacle H in it) about one meter above the ground, then it is not enough for the robot to pass only one meter from the sideboard H, and the object will still be out of range. However, if for motion planning, the robot adjusts the detection area near obstacles such as furniture (for example, reducing the radius to 20 centimeters, the detection area is Z'), then the robot 100 has a chance to detect the object on the sideboard. In this regard, the detection area can depend on the object being searched on the one hand (an object with an RFID chip is detected by sensors with different detection areas, for example, if it is recognized by an optical sensor, it is detected by the base station of the robot), and on the other hand, it also depends on the orientation information included in the map (for example, near the contour of an obstacle, the detection area is chosen to be smaller).
[0159] The detection area can also depend on the sensor information itself. For example, the achievable accuracy when using an optical triangulation sensor for measurement depends to a large extent on the measurement distance. For example, at two distances, the measurement tolerance can be + / - 10 cm, while at a distance of half a meter, the measurement tolerance is only + / - 5 mm. Suppose the detection area E of the optical triangulation sensor is initially 3 meters. If the robot detects an object that may be relevant to the search within a distance of 2 meters, the detection area can be reduced, which means that the robot has to approach the object in order to search the entire area completely (because only the trajectory of the reduced detection area Z’ is marked as “searched” on the map). If the robot moves away from the object again, the detection area can be enlarged again.
[0160] When the robot navigates in the deployment area, the detection area (which may be a reduced detection area) is marked as “searched” on the map. As a result, the robot can “know” at any point in time that a part of the deployment area has been searched and can plan the search in a structured manner. Additionally, the information stored on the map can be accessed during the search. For example, if the robot is looking for a new room, it will always find it on the outer wall indicated by the map. This means that they can be searched with a higher priority during the search.
[0161] For example, if a person is to be searched, the search can be carried out according to the time of day and typical staying locations. For example, the robot can start the search in the bedroom early in the morning, while the search can start in the kitchen around noon.
[0162] Therefore, the robot will determine one or more points and / or the deployment area of the area to be searched according to the above criteria. Among them, one of them can be sorted and then selected, and then (based on the map information) a path to the selected point and / or area can be planned. Subsequently, the robot can be maneuvered along this path. For example, during the movement, the robot can check the selected point and / or area based on (long-distance) sensor measurements and reorder. If necessary, a new point or area with a higher priority can be selected and controlled. The path of the robot can be adjusted accordingly.
[0163] For example, the map can indicate the area to be searched (search area) and / or the known area in which the search will be carried out. For example, the user can input the search area through a human-machine interface and in this way determine, for example, to search in a specific room (such as the living room). Then this room can be marked as “to be searched”. Additionally, the search area can also be defined indirectly by marking the rest of the deployment area as “known” except for the room to be searched. For example, the area marked as “known” can be marked as being completely covered by the detection area of the sensor.
[0164] Based on the area to be searched (search area) (or the area marked as known), determine the point or sub-area to approach for the search. For example, points on or near the edge of the area to be searched or the known area can be controlled.
[0165] If several points or areas can be selected, for example, the point or area that can be reached fastest (according to path planning in the existing map) can be selected. For example, the shortest path to the point / area can also be selected. Additionally, as mentioned before, the distance between the point / area and obstacles or other specific objects in the map can be used (e.g., close to the outer wall, bed). Moreover, the attributes of obstacles, objects, areas, and / or rooms recorded in the map (e.g., room name) or the time of day are also used.
[0166] The search can be executed until an interruption condition is met. For example, the deployment area may have been completely searched without success. This is identified by the detection area stored in the map completely covering the deployment area stored in the map and / or the area considered to be "searched". For example, the search terminates when the object or event being searched for is found. If necessary, the robot can continue with another program or strategy in this case. Additionally, the search can continue until a predefined number of objects or events are found.
[0167] Evaluate changes in the deployment area - Since changes in the environment can interfere with the robot's navigation, it is beneficial if the robot can identify, evaluate these changes, and alert the user when interference is detected. For example, the robot can suggest that the user re-survey the map or ask the user to clean up.
[0168] A very easily determinable measure for the robot is the drivable area or non-drivable area. This can be determined when the robot is navigating within its deployment area while performing a task. Based on this, at least a measure of drivability can be determined. For example, this is the quotient of the drivable area (actual value) determined during deployment and the (theoretically) drivable area (rated value) determined based on the permanently stored map. This quotient can be expressed as a percentage. If the value is below a predefined threshold, the user can be notified. For example, if the actual drivable area of the robot is only 75% or less, the robot can notify the user via the HMI.
[0169] Another example of a measure of the drivability of an area is the time required to drive over the area. For example, for a cleaning robot, the quotient of the time required for each cleaning area can be determined and compared with a reference value. For example, it can be determined for individual sub-areas (such as rooms). If the time required for each area is less, the robot can perform tasks (such as cleaning) very efficiently. For example, if the robot has to avoid numerous obstacles, the time required for each area increases and the execution of the task (such as cleaning) becomes inefficient. By comparing with the reference value, the robot can determine whether the efficiency of performing the task is within the normal tolerance range or severely restricted. For example, if it is determined that the efficiency of a certain sub-area is limited, a message can be sent to the user to request cleaning or re-surveying of this sub-area.
[0170] Other examples of measuring drivability are: the time required within a sub-area, the time required for each journey, or the total distance required to complete a certain task within a sub-area.
[0171] In addition, the development over time and / or the location of the restrictions can be considered. For this purpose, the determined drivable areas and / or the measures of drivability can be stored for a certain time (for example, one week, one month). The stored information can be taken into account when deciding whether and how to inform the user. For example, within a sub-area marked as "children's room", it can be determined that the drivable area decreases or remains very small over a long period of time (such as one week). Now, the robot can send a message to the HMI 200 assigned to the children's room (such as the child's smartphone) requesting "cleaning". If this does not result in any change, for example, the next day, another message can be sent to another HMI 200 (such as the parent's smartphone). Additionally, or alternatively, a corresponding message can be sent on a social network.
[0172] For example, it can detect a drivable area that is not on the map. The robot determines that the area not shown on the map is a new sub-area (new space) and suggests to the user that he go and survey it and update the existing map accordingly. It should be noted that a new drivable area can also be identified through an open house or apartment door. Therefore, it may make sense to wait for the user's confirmation before surveying the new sub-area.
[0173] When detecting drivable areas, it can be specifically checked whether areas marked as non-drivable on the map are drivable. For example, this may be an indication of relocated furniture. Additionally or alternatively, it can also be checked whether the area is passable and whether it is outside the mapped area. This may indicate that there is a new area that has not been mapped yet (see above).
[0174] Additionally or alternatively, it can also be checked whether areas that were driveable in previous deployments and / or areas marked as driveable on the map are no longer driveable. This can be an indication of a new piece of furniture. Thus, the robot can suggest to the user to update the map. But it could also be a case of temporarily parked items. To distinguish between these, it can be determined what is blocking movement in the area. Large obstacles with straight edges are likely to indicate furniture. Scattered small obstacles are likely to indicate temporary disturbances. Obstacles standing in front of a wall will usually also be a piece of furniture or a non-temporary obstacle, while an irregularly shaped obstacle (such as a travel bag) standing in the middle of an open area is usually more likely to be a temporary obstacle. Thus, non-traversable areas can be classified as "temporary disturbances" (temporary obstacles) or "persistent disturbances" (persistent obstacles). As explained, the classification is based on, for example, the detected geometry, its size, and its position in the deployment area (e.g., relative to walls or other obstacles). Such disturbance classification can be used to decide whether to suggest updating the map or sending a cleaning reminder to the user.
Claims
1. A method, comprising: Storing a map (500) of a deployment area (DA) of an autonomous mobile robot (100), wherein the map (500) contains orientation information (505) that represents the structure of the environment in the deployment area (DA), and the map (500) contains meta - information (510); Receiving, via a communication unit (140) of the robot (100), a command that causes the robot to start re - surveying at least a portion of the deployment area (DA) of the robot (100); Re - surveying at least a portion of the deployment area (DA), wherein the robot detects information about the structure of the environment in the deployment area (DA) by means of a sensor (121); Updating the map (500) of the deployment area (DA), and Storing the updated map (500) for use in robot navigation during multiple future deployments of the robot, wherein the update of the map (500) includes: Determining changes in the deployment area (DA) based on the information about the structure of the environment detected during the survey and the orientation information (505) already stored in the map (500), and Updating the orientation information (505) and the meta - information (510) based on the determined changes.
2. The method according to claim 1, Performing a service task by means of the robot, wherein, The orientation information (505) contained in the stored map (505) remains unchanged, wherein the service task is specifically one of the following tasks: a cleaning task, a transportation task, an inspection task, or a maintenance task.
3. The method according to claim 1 or 2, Among them, The received command contains information specifying the portion of the deployment area (DA) to be newly explored, wherein the portion to be newly explored can be the entire deployment area (DA), a predefined partial area, or an area specified by the user.
4. The method according to any one of claims 1 to 3, Among them, The determination of changes in the deployment area (DA) includes establishing a new map (502), and determining the changes by comparing the new map (502) with the stored map (500), wherein the new map (502) at least partially contains the meta - information from the stored map (500); wherein, after completing the re - survey, the new map (502) replaces the stored map (500).
5. The method according to any one of claims 1 to 3, Among them, Updating the orientation information (505) and the meta - information (510) includes: Establishing a temporary working copy of the stored map (500) and recording the identified changes in the working copy.
6. The method according to any one of claims 1 to 5, Among them, Re - surveying at least a portion of the deployment area (DA) includes; Navigating through the deployment area (DA) until the portion to be surveyed is completely detected by the detection area (Z) of the sensor (121), and the map of the portion to be surveyed includes at least the area enclosed by the obstacles and the non - surveyed portions of the deployment area.
7. The method according to any one of claims 1 to 6, Among them, using the sensor (121) to detect a structure in a region of the determined change in the deployment region (DA) with higher accuracy than in other regions.
8. The method according to claim 8, Among them, increasing the detection accuracy by one of the following: increasing the dwell time in the region, approaching the obstacle closer, increasing the driving-in area during the survey robot, reducing the speed, increasing the duration of structure detection.
9. The method according to any one of claims 1 to 8, wherein The update of the meta-information (510) includes one or more of the following: matching the region where the robot performs service tasks; matching the size, shape, and / or number of sub-regions in the deployment region (DA); matching calendar information; recording the ground cover for a newly identified region based on adjacent surfaces; or staying away from dangerous areas or blocked areas associated with obstacles.
10. The method according to any one of claims 1 to 9, wherein, Updating the orientation information (505) includes: locating the robot in the stored map (500); and matching the orientation information (505) stored in the map based on the information about the structure of the environment in the deployment region (DA) detected by the sensor.
11. An autonomous mobile robot, comprising: a drive unit (170) for moving the robot (100) within the deployment region (DA) of the robot (100); a sensor unit (120) for detecting information about the structure of the environment in the deployment region (DA); a control unit (150) having a navigation module (151), configured to establish a map of the deployment region (DA) by means of a survey trip and permanently store it for future deployment of the robot; a communication unit (140) for receiving user commands regarding service tasks and for receiving user commands to update the stored map (500); wherein the navigation module (151) is further configured to, navigate the robot (100) through the deployment region (DA) of the robot by means of the stored map (500) and the information detected by the sensor unit (120) when performing a service task, wherein the information contained in the stored map (500) and important for navigation is not permanently changed during the execution of the service task; and at least partially re-survey the deployment region (DA) by updating the stored map (500) according to a user command, wherein the information contained in the stored map (500) and important for navigation is updated during the survey process.
12. A method for an autonomous mobile robot (100), the robot being configured to permanently store at least one map of the deployment region (DA) of the robot (100) for use when deploying the robot (100) in the future, and detecting information about the environment of the robot in the deployment region (DA) by a sensor unit (120) and detecting and locating objects and / or events in the detection region of the sensor (121) with a given accuracy based on the information detected by the sensor unit (120); The method includes: (A) Navigate the robot (100) through the deployment area (DA) with the aid of the stored map (500) in order to search for the object and / or event being searched for; (B) When detecting and positioning by means of the sensors of the sensor unit (120), determine the position of the object being searched for and / or the event being searched for with respect to the map (500); (C) Record in the map the area (E) of the deployment area covered by the detection area (Z) of the respective sensor; (D) Repeat B and C until a termination condition is met.
13. The method according to claim 12, wherein, The termination condition includes one or more of the following conditions: Locate a predefined number of objects and / or events being searched for and record them in the map; A predefined part of the deployment area is detected by the detection area (Z) of the respective sensor.
14. The method according to claim 12 or 13, wherein, Detecting the object and / or event being searched for includes: Identifying the deviation between the information on the environment of the robot detected by each sensor and the corresponding information recorded in the map; Identifying a predefined geometric pattern in the information on the environment of the robot detected by each sensor; Identifying a marker on the object; Identifying an object in the information on the environment by means of image processing; Identifying an object, a person or an animal based on the measured temperature.
15. The method according to any one of claims 12 to 14, Among them, Select the detection area of the respective sensor according to the information contained in the map and / or by the type of the object or event being searched for and / or by the information on the environment determined by using the sensor unit.
16. The method according to any one of claims 12 to 16, wherein, The navigation of the robot (100) further includes: Determining the points and / or areas in the deployment area (DA) to which the robot should travel for searching; Selecting one of the determined points and / or areas based on the information contained in the existing map; Controlling the robot to face the selected point and / or area.
17. The method according to claim 16, Among them, In the search area stored in the map by means of user input, select points and / or areas, and in particular select points and / or areas on the edge of the search area.
18. The method according to claim 16 or 17, Among them, The selection of the points and / or areas is carried out based on one of the following criteria: The travel length to the respective point and / or area; The distance between each point / area and the obstacle; The distance from each point / area to a specific object recorded in the map; The characteristics indicated in the map of the obstacle, object, area and / or part of the deployment area.
19. A method, comprising: During the exploration journey through the deployment area (DA), establish a map (500) of the deployment area (DA) of the autonomous mobile robot (100), wherein the robot (100) navigates through the deployment area (DA) and detects information on the environment and its own position by means of sensors; Detect problems that interfere with the navigation of the robot and the creation of the map (500); Until the problem is detected, determine the time point and / or position associated with the detected problem in the established map; Detect possible interference-free navigation; While taking into account the time point and / or location associated with the problem, continue to build the map (500), where the robot determines its position in the map built until the problem is detected and further builds the map (500) using the information contained therein.
20. The method according to claim 19, wherein, The detection of the problem includes one or more of the following: Detecting an unsuccessful execution of a controlled movement; Detecting a loss of contact with the ground; Detecting severe slippage or drift of the robot; Detecting an uncontrolled movement; Detecting an inconsistency in the built map; Detecting that the robot cannot leave a partial area, especially cannot reach an area that has been mapped.
21. The method according to claim 19 or 20, wherein Determining the time and / or location that can be associated with the detected problem, including one or more of the following: Determining the location where the problem is detected; Determining the latest position with a pre - determinable reliability; Analyzing the consistency of the map data and determining at which time point and / or in which area the inconsistent map data is determined; Receiving user input.
22. The method according to any one of claims 19 to 21, wherein Detecting that interference - free navigation can be performed again, based on one or more of the following criteria: The robot starts an escape movement and can successfully complete it; The robot is notified by user input that it has been manually escaped by the user.
23. The method according to any one of claims 19 to 22, wherein The consideration of the time point and / or location associated with the problem includes one of the following: Determining that the robot does not automatically drive into a blocked area; Determining an avoidance area that the robot will only drive into if necessary to complete map building; Associating the problem with specific, robot - detectable objects and / or patterns, and recording other similar objects and / or patterns detected in the deployment area in the area to be avoided or blocked; Deleting map data at least partially based on sensor measurements at or after the determined time point and / or area.
24. A method, including Autonomously moving a robot (100) through a specific area with the aid of a map, Determining a first measurement value that represents the actually drivable area in the area; Based on the first measurement value and a stored reference value, determining a measure of the drivability of the area; Notifying the user according to the determined measure.
25. The method according to claim 24, Among them, The reference value is a theoretically drivable area determined according to the map, or where the reference value is the first measurement value detected in a previous deployment of the robot, or where the reference value is based on a plurality of first measurement values determined in a previous deployment.
26. The method according to claim 24 or 25, wherein Notifying the user according to the determined measure includes: Deciding whether to notify the user according to the change in the measure of the drivability of the area compared with one or more previous deployments of the robot.
27. The method according to any one of claims 24 to 26, wherein Determining the first measurement value includes: Determining a drivable area marked as non - drivable in the map and a non - drivable area marked as drivable in the map, Classifying the difference between the drivable area and the area marked as drivable in the map as a permanent or temporary interference.
28. A method for surveying a robot deployment area (DA) by an autonomous mobile robot in order to build a map of the robot deployment area (DA); the method includes: Survey the robot deployment area (DA) in the first mode according to a first survey strategy. According to the first survey strategy, the robot detects a first structure in a first detection area and a second structure in a second detection area through a sensor unit (120). When the robot in the first mode detects the second structure, survey the robot deployment area (DA) in the second mode according to a second survey strategy. Build a map based on the structures detected in the first mode and the second mode, and store the map for navigation during subsequent robot deployments.
29. The method according to claim 28, Among them, The sensor unit (120) includes a first sensor for detecting the first structure and a second sensor for detecting the second structure. Wherein, the first sensor (121) covers the first detection area, especially a relatively large detection area, and the second sensor covers the second detection area, especially a relatively small detection area.
30. The method according to claim 28 or 29, wherein The first detection area and the second detection area are substantially non-overlapping.
31. The method according to any one of claims 28 to 30, Among them, The robot is controlled to pass through the deployment area in the first mode to map the first structure.
32. The method according to any one of claims 28 to 31, Among them, In the second mode, the robot starts from the position where the second structure is recognized in the first mode, tracks and maps the second structure.
33. The method according to any one of claims 28 to 32, Among them, The robot builds a hypothesis about the shape of the second structure based on the detected part of the second structure in the second mode, and based on the hypothesis, travels to the position by determining where the other parts of the structure should be located and detects the second structure.
34. The method according to any one of claims 28 to 32, Among them, In the second mode, the robot builds a hypothesis about the shape of the second structure based on the detected part of the second structure, and then tests the hypothesis to verify, prove or adjust the hypothesis.
35. The method according to claim 29, wherein, The first sensor is configured to measure the distance to obstacles in the robot's environment.
36. The method according to claim 29 or 35, wherein, The second sensor is configured to detect structures on the ground.
37. An autonomous mobile robot having a control unit that enables the robot to perform the method according to any one of claims 1 to 10 or 12 to 36.