WO2019053062A1 - Exploration einer unbekannten umgebung durch einen autonomen mobilen roboter - Google Patents

Exploration einer unbekannten umgebung durch einen autonomen mobilen roboter Download PDF

Info

Publication number
WO2019053062A1
WO2019053062A1 PCT/EP2018/074607 EP2018074607W WO2019053062A1 WO 2019053062 A1 WO2019053062 A1 WO 2019053062A1 EP 2018074607 W EP2018074607 W EP 2018074607W WO 2019053062 A1 WO2019053062 A1 WO 2019053062A1
Authority
WO
WIPO (PCT)
Prior art keywords
area
robot
sub
explored
robotic
Prior art date
Application number
PCT/EP2018/074607
Other languages
English (en)
French (fr)
Inventor
Harold Artes
Dominik Seethaler
Original Assignee
RobArt GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RobArt GmbH filed Critical RobArt GmbH
Priority to JP2020535308A priority Critical patent/JP2020533720A/ja
Priority to EP18769346.0A priority patent/EP3682305B1/de
Priority to CN201880072993.XA priority patent/CN111328386A/zh
Priority to US16/645,997 priority patent/US20210131822A1/en
Publication of WO2019053062A1 publication Critical patent/WO2019053062A1/de

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion

Definitions

  • the description relates to the field of autonomous mobile robots, in particular methods for the exploration of a still unknown to the autonomous mobile robot environment in a robotic area.
  • the robot Before the map can be used for path planning (and other purposes), the robot must explore its environment in the robotic field to create a map. Methods are known for exploring an environment unknown to the robot. For example, techniques such as Simultaneous Localization and Mapping (SLAM) are used in an exploration phase of a robotic task The inventors have set themselves the task of improving the process of exploration of an environment still unknown to the robot within a robotic area.
  • SLAM Simultaneous Localization and Mapping
  • the method comprises starting a reconnaissance trip, wherein the robot detects objects in its vicinity during the reconnaissance trip and stores detected objects as map data in a map while the robot is moving through the robotic use area.
  • the robot performs subarea detection based on the stored map data, wherein at least one reference subarea is detected. Subsequently, it is checked whether the reference subarea is completely explored.
  • the robot repeats the partial area detection to update the reference partial area and again checks whether the (updated) reference partial area is fully explored.
  • the exploration of the reference subarea is continued until the test reveals that the reference subarea is fully explored. Subsequently, the robot will continue the reconnaissance trip in a further subarea, provided that a further subarea has been detected, wherein the further subarea is used as the reference subarea.
  • the method includes starting a reconnaissance trip in a first of a plurality of robotic work area spaces connected by doorways.
  • the robot detects objects in its environment and stores detected objects as map data in a map while the robot is moving through the robot use area.
  • the robot detects one or more doorways during the reconnaissance trip and checks if the first space is already fully explored.
  • the reconnaissance trip will continue in the first room until the test reveals that the first room is fully explored. Afterwards the exploration trip can be continued in another room.
  • Figure 1 illustrates an autonomous mobile robot in a robotic deployment area.
  • Figure 2 illustrates by way of a block diagram by way of example the structure of an autonomous mobile robot.
  • Figure 3 shows an automatically generated by a mobile robot map of his robot use area (a flat) with a plurality of boundary lines.
  • FIG. 4 shows by way of example the result of an automated division of the robot application area into partial areas.
  • FIG. 5 illustrates, by way of a flow chart, an example of a method for the complete exploration of a robotic deployment area.
  • Figure 6 illustrates the mapping of obstacles by the robot.
  • FIG. 7 illustrates the movement of the robot through a field of application to be explored.
  • Figures 8-13 illustrate stepwise the exploration of a robotic deployment area with multiple rooms.
  • Fig. 1 exemplifies a cleaning robot 100 as an example of an autonomous mobile robot.
  • Other examples of autonomous mobile robots include service robots, surveillance robots, telepresence robots, etc.
  • Modern autonomous mobile robots navigate card-based, ie they have an electronic map of the robotic operational area. In some situations, however, the robot has no or no up-to-date map of the robotic field and he must explore and map his (unknown) environment. This process is also referred to as "exploration.”
  • the robot detects obstacles as it moves through the robotic field, and in the illustrated example, the robot 100 has already detected portions of the walls Wl and W2 of a room of an autonomous mobile robot are known per se
  • the subdivision of the map created by the robot into subareas is known per se (cf., for example, DE 10 2010 017 689 A1).
  • the robot subdivides its map according to predetermined criteria, such as door passages detected by sensors, detected floor coverings, etc.
  • the purpose of subdividing the robotic deployment area into several subareas is to create the possibility to individually treat different areas (eg rooms of an apartment).
  • different subregions can be cleaned, for example, with different frequency, with different intensities, at defined times, with certain tools or cleaning agents, etc.
  • the underlying idea of the invention is to fully explore (explore) a room before the robot changes to the next room.
  • the robot performs a division of the map into subareas in order, for example, to recognize a space as a meaningful subarea.
  • the robot can explore this sub-area and determine when this sub-area (and thus the space) is fully explored.
  • FIG. 2 shows by way of example a block diagram of various units (modules) of an autonomous mobile robot 100.
  • a unit or a module can in this case be an independent module or a part of a software for controlling the robot his.
  • a unit can have multiple subunits.
  • the software responsible for the behavior of the robot 100 may be executed by the control unit 150 of the robot 100.
  • the controller 150 includes a processor 155 configured to execute software instructions contained in a memory 156.
  • Some functions of the control unit 150 may also be performed, at least in part, with the aid of an external computer. That is, the computing power required by the control unit 150 may be at least partially outsourced to an external computer, which may be accessible, for example, via a home network or via the Internet (cloud).
  • the autonomous mobile robot 100 includes a drive unit 170, which may comprise, for example, electric motors, gears and wheels, whereby the robot 100 - at least theoretically - can approach every point of a field of application.
  • the drive unit 170 is designed to convert commands or signals received from the control unit 150 into a movement of the robot 100
  • the autonomous mobile robot 100 further includes a communication unit 140 for establishing a communication link 145 to a human machine interface (HMI) 200 and / or other external devices 300.
  • the communication link 145 is, for example, a direct wireless connection (eg, Bluetooth), a local wireless network connection (eg, WLAN or ZigBee), or an Internet connection (eg, to a cloud service).
  • the man-machine interface 200 may output to a user information about the autonomous mobile robot 100, for example, visually or acoustically (eg, battery status, current work order, map information such as a cleaning card, etc.) and user commands for a work order of the autonomous mobile robot 100.
  • Examples of an HMI 200 are tablet PC, smartphone, smartwatch and other wearables, computer, smart TV, or head-mounted displays, etc.
  • An HMI 200 may additionally or alternatively be integrated directly into the robot, whereby the robot 100, for example can be operated via buttons, gestures and / or voice input and output.
  • Examples of external devices 300 are computers and servers on which calculations and / or data are paged out, external sensors that provide additional information. or other household appliances (eg other autonomous mobile robots) with which the autonomous mobile robot 100 can cooperate and / or exchange information.
  • the autonomous mobile robot 100 may comprise a working unit 160, such as a processing unit for processing a floor surface and in particular for cleaning a floor surface (eg brush, suction device) or a gripping arm for grasping and transporting objects.
  • a processing unit for processing a floor surface and in particular for cleaning a floor surface (eg brush, suction device) or a gripping arm for grasping and transporting objects.
  • a telepresence robot may include a communication unit 140 coupled to the HMI, which may, for example, be equipped with a multimedia unit which may be e.g. Microphone, camera and screen included to allow communication between several distant people.
  • a surveillance robot determines unusual events (eg fire, light, unauthorized persons, etc.) on control trips with the aid of its sensors and, for example, informs a control center about this.
  • a monitoring unit with sensors for monitoring the robotic area is provided.
  • the autonomous mobile robot 100 includes a sensor unit 120 with various sensors, for example, one or more sensors for detecting information about the environment of the robot in its field of application, such as the position and extent of obstacles or other landmarks (landmarks ) in the field of application.
  • Sensors for acquiring information about the environment are, for example, sensors for measuring distances to objects (eg walls or other obstacles, etc.) in the environment of the robot, such as an optical and / or acoustic sensor, by means of triangulation or transit time measurement of an emitted signal Measure distances (triangulation sensor, 3D camera, laser scanner, ultrasonic sensors, etc.).
  • a camera can be used to collect information about the environment.
  • the robot may have sensors to detect a (mostly unintentional) contact (or collision) with an obstacle. This can be realized by accelerometers (which, for example, detect the speed change of the robot in a collision), contact switches, capacitive sensors or other tactile or touch-sensitive sensors.
  • the robot may have floor sensors to detect an edge in the floor, for example a step.
  • sensors for determining the speed and / or distance traveled by the robot such as o-dometer or inertial sensors (acceleration sensor, yaw rate sensor) for determining the position and movement of the robot and wheel contact switch to a contact between wheel and ground to detect.
  • o-dometer or inertial sensors acceleration sensor, yaw rate sensor
  • the autonomous mobile robot 100 may be associated with a base station 110, where it can load, for example, its energy storage (batteries). The robot 100 may return to this base station 110 upon completion of a task. If the robot no longer has a task to work on, it can wait in the base station 110 for a new mission.
  • a base station 110 where it can load, for example, its energy storage (batteries).
  • the robot 100 may return to this base station 110 upon completion of a task. If the robot no longer has a task to work on, it can wait in the base station 110 for a new mission.
  • the control unit 150 may be configured to provide all the functions that the robot needs to autonomously move in its field of application and to perform a task.
  • the control unit 150 comprises, for example, the processor 155 and the memory module 156 in order to execute software.
  • the control unit 150 may generate control commands (eg, control signals) for the work unit 160 and the drive unit 170 based on the information obtained from the sensor unit 120 and the communication unit 140.
  • the drive unit 170 can convert these control signals or control commands into a movement of the robot.
  • the software contained in the memory 156 may be modular.
  • a navigation module 152 provides functions for automatically creating a map of the robotic area, as well as for scheduling the robot 100.
  • the control software module 151 represents e.g. General (global) control functions are available and can form an interface between the individual modules.
  • control unit 150 may comprise functions for navigating the robot in its area of use, which provided by the above-mentioned navigation module 152. These functions are known per se and may include, but are not limited to, one of the following:
  • a map-based path planning (trajectory planning) from a current pose of the robot (starting point) to a destination point
  • Partial area recognition in which the map is analyzed and divided into subareas, identifying, for example, spatial boundaries such as walls and doorways, whereby the subareas describe the spaces of a dwelling and / or meaningful parts of these spaces.
  • the control unit 150 can continuously update a map of the robotic area using the navigation module 152 and based on the information of the sensor unit 120, for example, during operation of the robot, for example, when the environment of the robot changes (obstacle is shifted, door is opened, etc.). A current map may then be used by the controller 150 for short and / or long term motion planning for the robot.
  • the planning horizon refers to the way that the control unit 150 precalculates a (desired) movement of the robot before it is actually executed.
  • the embodiments described herein relate inter alia to different approaches and strategies for motion planning in certain situations, for example in situations in which certain maneuvers are blocked by obstacles and therefore can not be performed.
  • an (electronic) card usable by the robot 100 is a collection of map data (eg, a database) for storing location-related information about a field of use of the robot and the environment relevant to the robot in that field.
  • map data eg, a database
  • location-based means that the stored information is associated with each position or pose in a map, so a map represents a plurality of data records with map data, and the map data may contain any location-related information
  • individual pieces of information may be stored redundantly, but often a collection of several cards relating to the same area but stored in a different form (data structure) will also be stored referred to as "a card”.
  • a technical device is the most useful for a human user in daily life, on the one hand, the behavior of the device for the user is traceable and understandable and on the other hand, the operation is intuitively possible. It is generally desirable for an autonomous mobile robot (e.g., a floor cleaning robot) to exhibit an intuitively traceable and practical behavior for a human user.
  • the robot must interpret its field of application by technical methods similar and divide into subdivisions as a human user would do (for example, living room, bedroom, hallway, kitchen, dining area, etc.). This allows for easy user-robot communication, for example, in the form of simple commands to the robot (e.g., "clean the bedroom") and / or in the form of notifications to the user (e.g., "cleaning the bedroom completed").
  • the mentioned sub-areas can be used for the display of a map of the robotic area and the operation of the robot by means of this card.
  • a division of the robot use area in sub-areas by a user for a recognized convention and on the other hand according to personal preferences are made.
  • An example of a well-known convention is the subdivision of an apartment into different rooms such as bedroom, living room and hallway.
  • a living room could, for example, be converted into a cooking area, a dinette or areas in front of and next to the sofa.
  • the boundaries between these areas may sometimes be defined as "blurred” and are generally interpreted by the user, for example a cooking area may be characterized by a tiled floor whereas the dining area is characterized only by the presence of a table and chairs
  • Human user can be a very difficult task for a robot, and often a robot-user interaction may be necessary to correctly divide the robotic area, and in order to make this robotic-user interaction simple and understandable, the map data and information must already be automatic
  • the human user expects a behavior of the autonomous mobile robot which is adapted to the division made, and it may therefore be desirable for the subareas to be determined by the user or automatically by the user
  • the robot can be provided with attributes that influence the behavior of the robot.
  • a technical prerequisite for this is that the autonomous mobile robot has a map of its area of use, in order to orient itself in this map.
  • This map is for example built up automatically by the robot and stored permanently.
  • technical methods are required that (1) automatically divide the map of the robotic area such as a dwelling according to predetermined rules, (2) allow easy interaction with the user, in order to adapt to the a priori unavailable user wishes in the division, (3) pre-process the automatically generated distribution in order to present it to the user in a simple and understandable manner in a map, and (4) as far as possible automatically derive certain characteristics from the distribution thus created that are capable of achieving user-expected behavior.
  • FIG. 3 shows a possible representation of a map of a robot deployment area, as it is constructed by the robot, eg by means of sensors and a SLAM algorithm.
  • the robot uses a distance sensor to measure the distance to obstacles (eg a wall, a piece of furniture, a door, etc.) and uses the measured data (usually a point cloud) to calculate line segments that define the limits of its area of application.
  • the field of application of the robot for example, by a closed Chain of line segments (usually a concave, simple polygon) are defined, each line segment has a starting point, an end point and consequently also a direction.
  • the direction of the line segment indicates which side of the line segment points to the inside of the mission area or from which side the robot has "seen” the obstacle indicated by a certain line segment
  • the polygon shown in FIG if the robot is complete but not very suitable for robot-user communication, a human user may have difficulty recognizing and orienting their own home, as an alternative to the chain of line segments is a raster map. where a grid of eg 10x10cm is placed over the robotic area, and every cell (ie 10xl0cm box) is tagged if it is occupied by an obstruction.Also raster maps are difficult to interpret for a human user.
  • the robot should first of all automatically subdivide its robot deployment area into subareas (thus carry out a subarea detection) Such subdivision into subareas allows the robot to carry out its task more easily, more systematically, more differentiated, (from the point of view of the user) "logical", etc., and to improve the interaction with the user.
  • the robot In order to obtain a meaningful subdivision, the robot must weigh different sensor data against each other. In particular, he can use information about the navigability (difficult / easy) of a section of his field of application to define a sub-area. Furthermore, the robot can assume (refutable) that spaces are usually rectangular. The robot can learn that some changes in the split lead to more meaningful results (so that, for example, certain obstacles are likely to be in a particular sub-area).
  • a robot is usually able to detect obstacles by means of sensors (eg laser distance sensors, triangulation sensors, ultrasonic distance sensors, collision sensors or a combination of the above) and the limits of its application in Shape of boundary lines in a map to draw.
  • sensors eg laser distance sensors, triangulation sensors, ultrasonic distance sensors, collision sensors or a combination of the above
  • the limited sensor technology of a robot generally does not allow unambiguous recognition of a subdivision of the application area into different rooms (eg bedroom, living room, corridor, etc.) that is natural for a human user.
  • Even the decision as to whether the boundary lines contained in the map (for example the line between the points J and K in FIG. 3) belong to a wall or a piece of furniture is not automatically possible.
  • Even the "border" between two rooms is not easily recognizable to a robot.
  • the robot sets up "hypotheses” regarding the environment of the robot based on the sensor data, which are tested by means of different methods If two boundary lines (eg, the lines AA 'and OO' in Fig. 3) are approximately parallel and at a distance that corresponds to the usual clear width (there are standardized sizes) of a doorway, it can be discarded the robot sets up the "doorway” hypothesis and concludes that it separates two separate rooms.
  • two boundary lines eg, the lines AA 'and OO' in Fig. 3
  • an automated hypothesis can be tested by "polling" the user, that is, by asking the user for feedback, and then either confirming or rejecting the hypothesis, but a hypothesis can be tested automatically using the If the spaces recognized by the robot (eg by detecting the thresholds) comprise a central space that is smaller than one square meter, for example, then the hypothesis that ultimately led to this small central space is hypothesis-based conclusions.
  • Another automated test may be to check whether or not the two-hypothesis conclusions contradict each other: For example, if six hypotheses about a door can be set up and only five supposed doors, the robot can set a threshold (a small Stage), this can be an indication that the hypothesis concerning the door without a door sill is wrong.
  • Another example of a possible hypothesis is the course of walls in the robotic field. These are characterized inter alia by two parallel lines, which have a distance of a typical wall thickness (see FIG. 3, thickness dw) and have been seen by the robot from two opposite directions (eg the lines KL and L'-K 'in FIG. 3) ).
  • dw thickness of a typical wall thickness
  • other objects obstacles
  • a hypothesis can also be based on a different hypothesis. For example, a door is a break in a wall.
  • a reliable hypothesis can be made about the course of walls in the field of use of the robot, these can facilitate the recognition of doors and thus the automated subdivision of the robot deployment area.
  • a degree of plausibility can be assigned to them.
  • a hypothesis is credited with a predefined score for each confirmatory sensor measurement. If in this way a particular hypothesis reaches a minimum score, it is considered plausible. A negative score could lead to the rejection of the hypothesis.
  • a certain hypothesis is assigned a probability for applying it. This requires a probabilistic model that accounts for correlations between different sensor measurements, but also allows for complex probability statements using stochastic computational models, thus providing a more reliable prediction of user expectations. For example, in certain regions (eg, countries) where the robot is used, door widths may be standardized. If the robot measures such a standardized width, it is most likely a door.
  • Deviations from the standard width reduce the likelihood that it is a door delt.
  • a probability model based on a normal distribution can be used for this purpose.
  • Another way to create and evaluate hypotheses is to use "machine learning" to build appropriate models and measure functions (see, eg, Trevor Hastie, Robert Tibshirani, Jerome Friedman, "The Elements of Statistical Learning,” 2nd Edition, Springer - Publisher, 2008).
  • map data in different living environments are recorded by one or more robots. These can then be supplemented with floor plans or data entered by a user (eg concerning the course of walls or doorways or a desired partitioning) and evaluated by a learning algorithm.
  • Another method that can be used alternatively or in addition to the use of the hypotheses discussed above is to divide one robotic field (e.g., one apartment) into multiple rectangular areas (e.g., rooms).
  • This approach is based on the assumption that rooms are usually rectangular or can be composed of multiple rectangles.
  • this rectangular shape of the rooms is generally undetectable, because in the rooms there are numerous obstacles with complex boundaries such as e.g. Furniture restrict the field of application of the robot.
  • the robotic field is covered with rectangles of different sizes, which are intended to reproduce the rooms.
  • the rectangles are selected such that each point accessible to the robot in the map of the robotic area can be clearly assigned a rectangle. That is, the rectangles usually do not overlap. It is not excluded that a rectangle contains points that are not accessible to the robot (eg because furniture excludes accessibility). Thus, the area described by the rectangles may be larger and of a geometrically simpler shape than the actual robotic area.
  • long straight boundary lines are used in the map of the robotic area, as they occur along walls (see, for example, Fig.
  • a criterion may be, for example, that the respective boundary lines to a Variety of other boundary lines are approximately parallel or orthogonal.
  • Another criterion may be that the respective boundary lines are approximately on a straight line and / or comparatively long (ie in the order of the external dimensions of the robotic area).
  • Other criteria for choosing the orientation and size of the rectangles are, for example, recognized doorways or floor coverings.
  • These and other criteria can be used for their evaluation in one or more evaluation functions (analogous to the degree of plausibility of a hypothesis, eg the assignment of a score for a hypothesis) in order to determine the concrete shape and position of the rectangles.
  • the boundary lines are given points for satisfied criteria. The boundary line with the highest score is used as the boundary between two rectangles.
  • the robot can complete the map of the boundary lines (see FIG. 3) to complete the outermost boundary lines to a rectilinear polygon.
  • FIG. 4 A possible result of a subdivision of a map into subareas is shown by way of example in FIG. 4. Accordingly, the apartment has been divided into several rooms (for example, bedroom 10 with bed, hallway 20, living room with open kitchen area 30). The subdivision of the apartment into subareas 10, 20, 30 (room) has been described e.g. made due to detected doorways.
  • sub-area 30 living room with open kitchen area
  • sub-areas 31 kitchen area, tiled floor
  • 32 carpet
  • the remaining sub-area 30 has, for example, a parquet floor
  • a substantially complete map of the robot deployment area is usually required before the robot can make a meaningful automatic subdivision of a map into subareas (eg rooms).
  • the robot moves through the robot application area, without being able to pay attention to sub-area boundaries.
  • This can lead to inefficient and difficult-to-understand behavior of the robot in the "exploration phase.”
  • the robot passes through a doorway and enters another room before fully exploring a room, which can cause the robot to break through a large part of the robotic area (eg an apartment) is driven, and yet remain at different points of the apartment (in different rooms) "white spots" in the map.
  • the embodiments described herein relate, inter alia, to a method which, at least in some situations, makes the mentioned exploration phase more efficient in the behavior of the robot makes this exploration phase more "logical" for a user.
  • Figure 5 illustrates an exemplary example of a method for exploring a robotic mission area by an autonomous mobile robot (see Figure 1, robot 100).
  • a reconnaissance trip may be started at any point in the robotic area ( Figure 5, step S10), and during the reconnaissance trip the robot will move through the robotic area.
  • the robot has little or no information about its surroundings.
  • the (electronic) map of the robot is recreated and is thus virtually empty at the beginning of the exploration.
  • the robot 100 continuously performs measurements (Fig. 5, step S1) during the exploration run to detect objects (e.g., obstacles, also commonly referred to as navigation features) in its environment, and stores detected objects as map data in a map.
  • objects e.g., obstacles, also commonly referred to as navigation features
  • the sensor system used for the detection is known per se and can be contained in a sensor unit 120 of the robot 100 (see FIG. Calculations necessary for detection may be performed by a processor included in the controller 150 (see FIG. 2) of the robot 100.
  • the robot 100 performs sub-area detection based on the current map data (see FIG. 5, step S12), wherein at least one reference sub-area is detected (eg, a part of the robotic area in which the robot is currently located). Furthermore, it is checked whether the reference sub-area is completely explored (see FIG. 5, step S13). As long as this is not the case, the robot further explores (only) the reference sub-area (see FIG. 5, step S14) by continuously performing measurements in order to detect objects in the surroundings of the robot and to store detected objects in the map. The subarea detection is repeated continuously and / or according to predefinable rules in order to update the definition of the reference subarea.
  • the robot again checks whether the (updated) reference sub-area is completely explored (back to step S13). As soon as the test reveals that the (updated) reference sub-area has been fully explored, it is further examined whether the robot deployment area has already been completely explored (see FIG. 5, step S15). For example, in the case of a partial area detection, the robot may have detected a further subarea that has not yet been explored. From this, the robot can conclude that the exploration of the robot deployment area is not yet complete and that the exploration continues in another subarea (FIG. 5, step S16), which then becomes the reference subarea. If the robot can no longer detect another sub-area that has not yet been explored, the exploration of the robotic area is completed.
  • the already explored part of the robotic area can be subdivided into one or more sub-areas, wherein the reference sub-area is selected according to predefined criteria from the detected sub-areas. If only a single sub-area is detected, this is the reference sub-area.
  • a criterion for selecting the reference sub-area may be e.g. the extent of the overlap with the reference sub-area previously determined (in the previous sub-area detection). That is, it is selected from the detected sub-areas of that as the current reference sub-area, which has the largest overlap with the previously determined reference sub-area.
  • Algorithms for the automated division of a map into subareas are known per se. Some of these algorithms only work if the card is fully explored, ie completely enclosed by walls and other obstructions. These algorithms can be used for a not fully explored map when the map is "artificially" completed, for example, a bounding box can be placed around the already explored area, and considered as a "virtual" obstacle. Other ways of completing an incompletely explored map to use the algorithms to automatically map a complete map can also be used as alternatives. In the embodiments described herein, one or more information based on map data may be utilized for the partial area detection, such as the position of walls and / or other obstacles, the position of doorways, and the location of flooring boundaries.
  • Ceiling structures and in particular the corners between the ceiling and a wall can directly provide information about the shape and size of a room. From this, for example, doorways can be recognized as openings in the wall that do not reach to the ceiling. Wall structures, such as windows, can provide clues as to whether the wall is an exterior wall.
  • Floor structures such as, in particular, the change of floor covering or a threshold may be indicia of room boundaries and, in particular, doorways.
  • the boundary lines of a partial area can be determined at least partially predictively.
  • predictive means that existing contours already detected and stored in the map (e.g., a wall) are used to predict a boundary of a subarea.
  • an already detected and stored in the map contour of a wall (virtually) be extended straight to complete the boundary of a sub-area.
  • a boundary line of a subarea parallel or perpendicular to an already detected and stored in the map contour of a wall (or other obstacle) is set so that it touches the edge of the already explored area of the robotic area. An example of this will be explained later with reference to FIGS. 9 and 10.
  • the robot tracks its own position in the map. After a partial area detection, the robot can check whether it is still in the (updated) reference subarea. If this is not the case and if the reference sub-area is not yet fully explored, the robot travels back to the reference sub-area to continue the reconnaissance there. The reconnaissance trip will not continue outside the reference subarea. However, if the test indicates that the (updated) reference sub-area has already been completely explored (for example, because it is limited only by contours of obstacles or borderlines to other detected sub-areas), another sub-area will become the reference sub-area and the reconnaissance will continue there. As mentioned, the sub-area detection may be repeated regularly or in response to the detection of certain events.
  • a repetition of the partial area detection can be triggered, for example, if the robot determines that a certain time interval has elapsed since the last partial area detection that the robot has covered a certain distance since the last partial area detection that since the last partial area detection of the explored area of the robotic area to a certain area has grown or that the cost of further exploration of the reference sub-area exceeds a certain value.
  • the effort can be evaluated eg by means of a cost function.
  • a repetition of the partial area detection can also be triggered, for example, when the robot has reached a destination point determined for the exploration. Such a target point can be chosen, for example, on the border between explored and (still) unexplored subareas. While the robot is heading to this point, it can detect new areas with its sensors and thus extend the boundaries of the area explored.
  • the robot determines that the reference sub-area has been completely explored, then it is stored and its boundaries are not changed later. As long as there are more sub-regions that are not completely explored, the robot selects a further sub-area as reference sub-area and continues the exploration journey there.
  • the previous reference sub-area (or the previous reference sub-areas) can be considered in the further sub-area detection to the effect that its (or their) boundary lines are not changed and thus the boundaries of adjacent sub-areas (at least partially) are fixed. That is, the boundary lines of the previous reference sub-areas can be taken into account in the determination of the boundary lines of other sub-areas.
  • the robot If the robot is a cleaning robot, it can - after he has completely explored a reference sub-area - clean this before another sub-area selected as a reference area and the reconnaissance trip is continued there.
  • This behavior can be made dependent on a user input, which increases the flexibility of the robot.
  • the robot can therefore accept a user input, depending on which the robot distinguishes three operating modes.
  • the user input e.g., "explore,” “explore and clean,” “clean”
  • the user input may be, for example, via an HMI (e.g., on a portable external device or directly on the robot)
  • Robots go on a reconnaissance trip and the robot explores the robotic area and creates a new map.
  • the reconnaissance trip may be implemented according to the methods described herein.
  • the robot performs a reconnaissance trip, creating a new map while also cleaning the robotic area.
  • no new map is created, but the robotic area is cleaned based on an existing, stored map. This concept can also be applied to other robots that are not cleaning robots. In this case, the robot performs another activity instead of cleaning.
  • the robot may mark the already explored area of the robotic area as "explored” in the map (eg, by setting a particular bit or other marker, or by detecting, updating and storing the boundary between explored and unexplored areas). For example, those areas may be marked as explored in the map which are located at least once within a detection area of a navigation sensor of the robot during the exploration trip (see Fig. 7) .
  • the robot may usually detect objects by means of the navigation sensor within the detection area of the navigation sensor. for example, by measuring without contact the distance between the navigation sensor and a plurality of points of an object (see Fig. 6).
  • the robot may terminate the reconnaissance trip if it determines that the mission area has been fully explored (eg, because the area marked as explored is completely limited by obstacles) and / or if resumption of exploration travel is not possible because no further (FIG. not yet fully explored) sub-area was detected more. In this situation, the robot can again perform a partial area detection taking into account the map data concerning the fully explored robotic area. In this final partial area detection, the robot can use other (eg more accurate and / or more elaborate) algorithms than in the repeatedly performed partial area detection during the exploration trip. Alternatively, however, the same algorithm can be used with changed parameters. Finally, after completing the reconnaissance, the robot may return to a starting point where the reconnaissance trip was started or to a base station detected during the reconnaissance trip and stored in the map.
  • the robot may return to a starting point where the reconnaissance trip was started or to a base station detected during the reconnaissance trip and stored in the map.
  • the diagrams in Figure 6 exemplify how an autonomous mobile robot 100 explores its environment.
  • the sensor unit 120 of the robot 100 has a navigation sensor 121 which covers a defined coverage area Z (coverage ared).
  • the detection range Z has approximately the shape of a circular sector with the radius d.
  • the navigation sensor 121 is configured to detect objects (eg obstacles, furniture and other objects) in the vicinity of the robot 100 by measuring the distance to the contour of an object as soon as an object lies within the detection range Z of the sensor 121.
  • the detection area Z moves with the robot, and the detection area Z may overlap objects when the robot comes closer to them than the distance d.
  • the robot can recognize part of the contour of the obstacle H, in the present example this is the line L on the side of the obstacle H facing the sensor 121.
  • the line L is stored in the map.
  • the robot will detect the obstacle H from other directions, thus completing the contour of the obstacle in the map.
  • the detection range Z of the sensors has a comparatively small field of view.
  • the detection range Z has the form of a (complete) circle.
  • Other detection areas are possible depending on the sensor and known per se.
  • the detection area may be a volume, such as an opening cone, especially for sensors for three-dimensional detection of the environment.
  • the robot 100 usually knows its own position in the map;
  • the robot 100 can measure changes in its position, for example, by means of odometry (eg by means of wheel sensors, visual odometry, etc.).
  • the robot also "knows" which areas of the robotic area it has already explored and can mark these explored areas in the map as "explored”.
  • the explored area E encompasses all points of the robotic area which, during the reconnaissance trip, were located at least once in the detection area Z (moved along with the robot 100).
  • FIG. 8 shows a situation shortly after the start of a reconnaissance trip.
  • the illustrated robot use area corresponds to that shown in FIGS. 3 and 4.
  • the exploration trip starts in the upper area of the bedroom (see FIG. 4, room 10).
  • the detection range Z of the navigation sensor 121 covers 360 ° and is therefore circular.
  • the circle labeled Z indicates the theoretical maximum detection range of the sensor 121. Accordingly, the boundary EB of the explored area E is given by the detected obstacles around the robot and two circular arcs.
  • the robot 100 may now perform a partial area detection to establish a first reference partial area R (or its boundaries).
  • the reference subarea R is limited, for example, on the one hand by the detected obstacles.
  • two virtual tentative boundary lines are defined. Since there are no further clues for their position, they are defined, for example, as straight lines that are orthogonal to the detected obstacles that touch the boundary EB of the explored area E (see FIG. 8, horizontal and vertical dashed tangents to the circular arcs EB ).
  • the robot may try to travel to one of the boundary lines of the explored area EB that are not formed by a detected obstacle (eg, wall, bed, dresser, etc.).
  • a detected obstacle eg, wall, bed, dresser, etc.
  • the robot moves down into the area of the room 10 lying on the map while continuing to make measurements and detect obstacles in its surroundings and store them in its map.
  • FIG. 9 in FIG. 8, the explored area E is enlarged, with a corner of the wall to the left of the robot partially shading the field of view of the sensor 121 of the robot 100.
  • a part of a doorway (towards the corridor 20) is already in the explored area E.
  • the boundary lines are chosen such that the reference sub-area is a substantially rectangular area that includes the majority of the explored area.
  • the lower boundary line of the reference subarea R (horizontal dashed line in FIG. 9) is generated, for example, by extending the contour of the wall.
  • the left boundary line of the reference subarea R (vertical dashed line in FIG. 9) is set at right angles thereto, for example, so that no boundary line of the explored area EB intersects them (but touches only in the upper area).
  • the robot 100 Due to the definition of the reference subarea R, the robot 100 now does not drive through the doorway into the adjacent room, because that would leave the reference subarea. Instead, the robot 100 remains in the reference subarea R and explores the previously unrecognized area (white spot) at the bottom left (in the map) and the explored area E continues to grow and now covers almost the entire room (see FIG. 2, bedroom 10). This situation is shown in FIG. During the renewed partial area detection, the robot 100 recognizes the doorway to the adjacent room (see FIG. 4, corridor 20), which is entered as a line D in the map and is used to establish a boundary line between two partial areas. Therefore, the robot will assign the already explored area on the other side of the line D to another (new, not yet detected) subarea T. In the situation illustrated in FIG. 10, the subarea detection thus provides two subareas, the reference subarea R and the further subarea T.
  • Fig. 11 shows the robot 100 in the exploration of the sub-area T, which is now the reference sub-area. After the robot 100 has passed through the doorway, it is turned left in the illustrated example and followed the hallway (see Fig.
  • FIG. 11 again shows the boundaries EB of the explored area E and the boundaries of the reference subarea T determined (updated) in the subarea detection.
  • the boundary lines on the right and left sides of the reference subarea T are straight lines which are perpendicular to one Detected wall and affect the limits EB of the explored area.
  • the explored area E already extends into the adjacent room (cf., Fig. 4, living room 30), wherein the robot 100 has not yet recognized the doorway to the living room as such. Therefore, the robot 100 continues the exploration trip to the adjacent room and comes to a situation shown in FIG. 11.
  • the robot 100 recognizes the door passage D 'only after it has passed through it.
  • a subsequent partial area detection leads (due to the now recognized doorway D ') to the detection of a further subarea U.
  • the robot can recognize that it is no longer in the reference subarea T, although this is not yet fully explored (left If the reference sub-area is not yet bounded by a detected obstacle or a further already recognized sub-area and therefore not fully explored). The robot 100 will therefore travel back to the reference sub-area T and explore it further.
  • the robot 100 has also explored the left-hand area of the reference sub-area T, and the robot will detect that the reference sub-area T is now completely explored, since it only detects detected contours of obstacles (walls). and detected adjacent subregions R and U is limited. Starting from the situation illustrated in FIG. 13, the robot will now select the subarea U as a new reference subarea (because this is not yet fully explored) and continue the reconnaissance trip there.
  • the partial area detection is reduced to a detection of the door passages.
  • the detection of an (open) doorway implies the detection of an adjacent room.
  • this embodiment is the same as or similar to the above-described embodiments.
  • the robot will first fully explore a room before going through a doorway to continue exploration in a neighboring room. If the robot accidentally moves into a neighboring room, for example because a doorway is only recognized as such after the robot has detected this doorway as such, the robot can determine that it has left the previously explored space, although it has not yet fully explored is. In this situation, the robot will end the reconnaissance trip in the room in which it is currently located and drive through the previously accidentally passed doorway again (in the opposite direction), in this way return to the previously explored space and explore this further.
  • the methods described herein may be implemented in the form of software.
  • the software may be executed on a robot, on a man-machine interface (HMI) and / or on any other computer, in particular a home server or a cloud server.
  • HMI man-machine interface
  • individual parts of the method may be implemented by means of software which may be subdivided into different software modules and which may be executed on different devices.
  • the controller 150 see Fig. 2) .
  • This controller 150 may (optionally together with other units) be a controller for the autonomous mobile robot that controls all the functions and behaviors of the autonomous and mobile robot (using, among other things, other units and modules present in the robot).

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

Es wird ein Verfahren zur Erkundung eines Robotereinsatzgebietes durch einen autonomen mobilen Roboter beschrieben. Gemäß einem Ausführungsbeispiel umfasst das Verfahren das Starten einer Erkundungsfahrt, wobei der der Roboter während der Erkundungsfahrt Objekte in seiner Umgebung detektiert und detektierte Objekte als Kartendaten in einer Karte speichert, während der Roboter sich durch das Robotereinsatzgebiet bewegt. Während der Erkundungsfahrt führt der Roboter Teilgebietsdetektion basierend auf den gespeicherten Kartendaten durch, wobei zumindest ein Referenzteilgebiet detektiert wird. Anschließend wird geprüft, ob das Referenzteilgebiet vollständig erkundet ist. Der Roboter wiederholt die Teilgebietsdetektion, um das Referenzteilgebiet zu aktualisieren, und prüft erneut, ob das (aktualisierte) Referenzteilgebiet vollständig erkundet ist. Die Erkundung des Referenzteilgebiets wird fortgesetzt, bis dass die Prüfung ergibt, dass das Referenzteilgebiet vollständig erkundet ist. Anschließend wird der Roboter die Erkundungsfahrt in einem weiteren Teilgebiet fortsetzen, sofern ein weiteres Teilgebiet detektiert wurde, wobei das weitere Teilgebiet als Referenzteilgebiet verwendet wird.

Description

EXPLORATION EINER UNBEKANNTEN UMGEBUNG DURCH EINEN
AUTONOMEN MOBILEN ROBOTER
TECHNISCHES GEBIET
[0001] Die Beschreibung betrifft das Gebiet der autonomen mobilen Roboter, insbesondere Methoden zur Exploration einer für den autonomen mobilen Roboter noch unbekannten Umgebung in einem Robotereinsatzgebiet.
HINERGRUND
[0002] Zahlreiche autonome mobile Roboter sind für verschiedenste private oder gewerbliche Anwendungen erhältlich, beispielsweise die Bearbeitung oder Reinigung von Boden- flächen, der Transport von Gegenständen oder die Inspektion einer Umgebung. Einfache Geräte kommen ohne die Erstellung und Nutzung einer Karte des Robotereinsatzgebiets aus, indem sie sich beispielsweise zufällig über eine zu reinigende Bodenfläche bewegen (vgl. z.B. Publikation EP 2287697 A2 von iRobot Corp.). Komplexere Roboter nutzen eine Karte des Robotereinsatzgebiets, welche sie selber erstellen oder in elektronischer Form zur Verfügung gestellt bekommen.
[0003] Bevor die Karte für eine Pfadplanung (und andere Zwecke) genutzt werden kann, muss der Roboter seine Umgebung in dem Robotereinsatzgebiet erkunden, um eine Karte zu erstellen. Es sind Methoden für die Exploration einer für den Roboter unbekannten Umgebung bekannt. Beispielsweise können Techniken wie z.B. die„simultane Lokalisierung und Kartenerstellung" (Simultaneous Localization and Mapping, SLAM) in einer Explora- tionsphase eines Robotereinsatzes verwendet werden. Die Erfinder haben sich die Aufgabe gestellt, den Vorgang der Exploration einer für den Roboter noch unbekannten Umgebung innerhalb eines Robotereinsatzgebiets zu verbessern.
ZUSAMMENFASSUNG
[0004] Die oben genannte Aufgabe kann mit einem Verfahren gemäß Anspruch 1 oder 16 sowie mit einer Robotersteuerung gemäß Anspruch 19 gelöst werden. Unterschiedliche Ausführungsbeispiele und Weiterentwicklungen sind Gegenstand der abhängigen Ansprüche.
[0005] Es wird ein Verfahren zur Erkundung eines Robotereinsatzgebietes durch einen autonomen mobilen Roboter beschrieben. Gemäß einem Ausführungsbeispiel umfasst das Verfahren das Starten einer Erkundungsfahrt, wobei der der Roboter während der Erkundungsfahrt Objekte in seiner Umgebung detektiert und detektierte Objekte als Kartendaten in einer Karte speichert, während der Roboter sich durch das Robotereinsatzgebiet bewegt. Während der Erkundungsfahrt führt der Roboter Teilgebietsdetektion basierend auf den gespeicherten Kartendaten durch, wobei zumindest ein Referenzteilgebiet detektiert wird. Anschließend wird geprüft, ob das Referenzteilgebiet vollständig erkundet ist. Der Roboter wiederholt die Teilgebietsdetektion, um das Referenzteilgebiet zu aktualisieren, und prüft erneut, ob das (aktualisierte) Referenzteilgebiet vollständig erkundet ist. Die Erkundung des Referenzteilgebiets wird fortgesetzt, bis dass die Prüfung ergibt, dass das Referenzteilgebiet vollständig erkundet ist. Anschließend wird der Roboter die Erkundungsfahrt in einem weiteren Teilgebiet fortsetzen, sofern ein weiteres Teilgebiet detektiert wurde, wobei das weitere Teilgebiet als Referenzteilgebiet verwendet wird.
[0006] Gemäß einem weiteren Ausführungsbeispiel umfasst das Verfahren das Starten einer Erkundungsfahrt in einem ersten von mehreren Räumen des Robotereinsatzgebietes, welche durch Türdurchgänge verbunden sind. Während der Erkundungsfahrt detektiert der Roboter Objekte in seiner Umgebung und speichert detektierte Objekte als Kartendaten in einer Karte, während der Roboter sich durch das Robotereinsatzgebiet bewegt. Des Weiteren detektiert der Roboter während der Erkundungsfahrt einen oder mehrere Türdurchgänge und prüft, ob der erste Raum bereits vollständig erkundet ist. Die Erkundungsfahrt wird im ersten Raum fortgesetzt, bis dass die Prüfung ergibt, dass der erste Raum vollständig erkundet ist. Anschließend kann die Erkundungsfahrt in einem weiteren Raum fortgesetzt werden.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
[0007] Verschiedene Ausführungsbeispiele werden nachfolgend anhand von Abbildungen näher erläutert. Die Darstellungen sind nicht zwangsläufig maß Stabs getreu und die Erfindung beschränkt sich nicht nur auf die dargestellten Aspekte. Vielmehr wird Wert darauf gelegt, die zugrunde liegenden Prinzipien darzustellen. In den Abbildungen zeigt: [0008] Figur 1 illustriert einen autonomen mobilen Roboters in einem Robotereinsatzgebiet.
[0009] Figur 2 illustriert anhand eines Blockdiagramms exemplarisch den Aufbau eines autonomen mobilen Roboters.
[0010] Figur 3 zeigt eine von einem mobilen Roboter automatisiert erzeugte Karte seines Robotereinsatzgebietes (einer Wohnung) mit einer Vielzahl von Begrenzungslinien.
[0011] Figur 4 zeigt exemplarisch das Ergebnis eine automatisierten Aufteilung des Robotereinsatzgebietes in Teilgebiete.
[0012] Figur 5 illustriert anhand eines Flussdiagramms ein Beispiel eines Verfahrens zur vollständigen Exploration eines Robotereinsatzgebietes.
[0013] Figur 6 illustriert die Kartierung von Hindernissen durch den Roboter.
[0014] Figur 7 illustriert die Bewegung des Roboters durch ein zu erkundendes Einsatzgebiet.
[0015] Figuren 8-13 illustrieren schrittweise die Erkundung eines Robotereinsatzgebietes mit mehreren Zimmern.
DETAILLIERTE BESCHREIBUNG
[0016] Fig. 1 illustriert exemplarisch einen Reinigungsroboter 100 als Beispiel für einen autonomen mobilen Roboter. Andere Beispiele für autonomen mobile Roboter sind u.a. Serviceroboter, Überwachungsroboter, Telepräsenzroboter, etc. Moderne autonome mobile Roboter navigieren kartenbasiert, d.h. sie verfügen über eine elektronische Karte des Robotereinsatzgebietes. In manchen Situationen hat der Roboter jedoch keine oder keine aktuelle Karte des Robotereinsatzgebietes und er muss seine (ihm unbekannte) Umgebung erkunden und kartieren. Dieser Prozess wird auch als„Exploration" bezeichnet. Dabei detek- tiert der Roboter Hindernisse, während er sich durch das Robotereinsatzgebiet bewegt. In dem dargestellten Beispiel hat der Roboter 100 bereits Teile der Wände Wl und W2 eines Raumes erkannt. Verfahren zur Exploration der Umgebung eines autonomen mobilen Roboters sind an sich bekannt. Eine häufig eingesetzte Methode ist wie erwähnt SLAM. [0017] Des Weiteren ist die Unterteilung der vom Roboter erstellten Karte in Teilgebiete an sich bekannt (vgl. z.B. DE 10 2010 017 689 AI). Dabei unterteilt der Roboter seine Karte anhand vorgegebener Kriterien wie z.B. mittels Sensoren detektierter Türdurchgänge, detektierter Bodenbeläge, etc. Zweck der Unterteilung des Robotereinsatzgebietes in mehrere Teilgebiete ist es, die Möglichkeit zu schaffen unterschiedliche Gebiete (z.B. Zimmer einer Wohnung) individuell zu behandeln. Im Falle eines Reinigungsroboters können unterschiedliche Teilgebiete z.B. unterschiedlich häufig, unterschiedlich intensiv, zu definierten Uhrzeiten, mit bestimmten Werkzeugen oder Reinigungsmitteln, etc. gereinigt werden. Solange der Roboter seine Umgebung nicht (im Wesentlichen vollständig erkundet hat, ist eine endgültige Aufteilung der Karte in Teilgebiete jedoch noch nicht möglich. Es existieren verschieden Strategien zur Exploration eines Robotereinsatzgebiets. Beispiele hierfür sind zufälliges Fahren, Fahrten entlang von Hindernissen (um insbesondere die Außenkontur abzufahren) bis hin zu komplexen Verfahren, die einen nächsten Explorations- punkt bestimmen, den der Roboter anfahren kann und hierbei einen maximalen Explorati- onsgewinn macht (vgl. z.B. D. Lee: The Map -Building and Exploration Strategies of a Simple Sonar-Equipped Mobile Robot (Cambridge University Press, 1996)). Jedoch gibt es kein Verfahren, dass die besonderen Gegebenheiten von Wohnumgebungen mit einzelnen Räumen berücksichtigt. Die Räume sind in der Regel durch Türdurchgänge verbunden und somit klar voneinander abgegrenzt. Gleichzeitig kann ein Raum zumindest aus Sicht des Roboters auf Grund der Einrichtung (Hindernisse) sehr komplex sein. Dies führt dazu, dass bei übliche Strategien zur Exploration der Roboter sehr oft zwischen den Räumen hin und her fährt, was viel Zeit und Energie kostet. Die zugrundeliegende Idee der Erfindung ist, einen Raum vollständig zu erkunden (zu explorieren) bevor der Roboter in den nächsten Raum wechselt. Hierzu führt der Roboter während der Exploration eine Aufteilung der Karte in Teilgebiete aus, um beispielsweise einen Raum als sinnvolles Teilgebiet zu erkenn. Der Roboter kann dieses Teilgebiet erkunden und feststellen, wann dieses Teilgebiet (und somit der Raum) vollständig erkundet ist.
[0018] Bevor auf die Exploration der Umgebung des Roboters genauer eingegangen wird, soll zunächst der Aufbau eines autonomen mobilen Roboters kurz beschrieben werden. Fig. 2 zeigt beispielhaft anhand eines Blockdiagrams verschiedene Einheiten (Module) eines autonomen mobilen Roboters 100. Eine Einheit bzw. ein Modul kann dabei eine eigenständige Baugruppe oder ein Teil einer Software zur Steuerung des Roboters sein. Eine Einheit kann mehrere Untereinheiten aufweisen. Die für das Verhalten des Roboters 100 zuständige Software kann von der Steuereinheit 150 des Roboters 100 ausgeführt werden. In dem dargestellten Beispiel beinhaltet die Steuereinheit 150 einen Prozessor 155, der dazu ausgebildet ist, in einem Speicher 156 enthaltene Software-Instruktionen auszuführen. Einige Funktionen der Steuereinheit 150 können zumindest teilweise auch mit Hilfe eines externen Rechners durchgeführt werden. Das heißt, die von der Steuereinheit 150 benötigte Rechenleistung kann zumindest teilweise auf einen externen Rechner ausgelagert sein, welcher beispielsweise über ein Heimnetzwerk oder über das Internet (Cloud) erreichbar sein kann.
[0019] Der autonome mobile Roboter 100 umfasst eine Antriebseinheit 170, welche beispielsweise Elektromotoren, Getriebe und Räder aufweisen kann, wodurch der Roboter 100 - zumindest theoretisch - jeden Punkt eines Einsatzgebiets anfahren kann. Die Antriebseinheit 170 ist dazu ausgebildet, von der Steuereinheit 150 empfangene Kommandos oder Signale in eine Bewegung des Roboters 100 umzusetzen
[0020] Der autonome mobile Roboter 100 umfasst des Weiteren eine Kommunikationseinheit 140, um eine Kommunikationsverbindung 145 zu einer Mensch-Maschine-Schnittstelle (HMI) 200 und/oder anderen externen Geräten 300 herzustellen. Die Kommunikationsverbindung 145 ist beispielsweise eine direkte drahtlose Verbindung (z. B. Bluetooth), eine lokale drahtlose Netzwerkverbindung (z. B. WLAN oder ZigBee) oder eine Internetverbindung (z. B. zu einem Cloud-Service). Die Mensch-Maschine-Schnittstelle 200 kann einem Nutzer Informationen über den autonomen mobilen Roboter 100 beispielsweise in visueller oder auch akustischer Form ausgeben (z. B. Batteriestatus, aktueller Arbeitsauftrag, Karteninformationen wie eine Reinigungskarte, etc.) und Nutzerkommandos für einen Arbeitsauftrag des autonomen mobilen Roboters 100 entgegennehmen. Beispiele für eine HMI 200 sind Tablet-PC, Smartphone, Smartwatch und andere Wearables, Computer, Smart-TV, oder Head-Mounted Displays, usw. Eine HMI 200 kann zusätzlich oder alternativ direkt in den Roboter integriert sein, wodurch der Roboter 100 beispielsweise über Tasten, Gesten und/oder Sprachein- und -ausgäbe bedient werden kann.
[0021] Beispiele für externe Geräte 300 sind Computer und Server, auf denen Berechnungen und/oder Daten ausgelagert werden, externe Sensoren, die zusätzliche Informatio- nen liefern, oder andere Haushaltsgeräte (z.B. andere autonome mobile Roboter), mit denen der autonome mobile Roboter 100 zusammenarbeiten und/oder Informationen austauschen kann.
[0022] Der autonome mobile Roboter 100 kann eine Arbeitseinheit 160 aufweisen, wie beispielsweise eine Bearbeitungseinheit zur Bearbeitung einer Bodenfläche und insbesondere zur Reinigung einer Bodenfläche (z. B. Bürste, Saugvorrichtung) oder ein Greifarm zum Fassen und Transportieren von Gegenständen.
[0023] In einigen Fällen wie beispielsweise bei einem Telepräsenz-Roboter oder einem Überwachungsroboter wird eine andere Baueinheit zur Erfüllung der vorgesehenen Aufgaben genutzt und es ist keine Arbeitseinheit 160 notwendig. So kann ein Telepräsenz-Roboter eine mit der HMI gekoppelte Kommunikationseinheit 140 aufweisen, die beispielsweise mit einer Multimediaeinheit ausgestattet sein kann, welche z.B. Mikrofon, Kamera und Bildschirm umfasst, um die Kommunikation zwischen mehreren räumlich weit entfernten Personen zu ermöglichen. Ein Überwachungsroboter ermittelt auf Kontrollfahrten mit Hilfe seiner Sensoren ungewöhnliche Ereignisse (z. B. Feuer, Licht, unautorisierte Personen, etc.) und informiert beispielsweise eine Kontrollstelle hierüber. In diesem Fall ist statt der Arbeitseinheit 160 eine Überwachungseinheit mit Sensoren zur Überwachung des Robotereinsatzgebietes vorgesehen.
[0024] Der autonome mobile Roboter 100 umfasst eine Sensoreinheit 120 mit verschiedenen Sensoren, beispielsweise einen oder mehrere Sensoren zur Erfassung von Informationen über die Umgebung (environment) des Roboters in seinem Einsatzgebiet, wie z.B. die Position und Ausdehnung von Hindernissen oder anderen Landmarken (landmarks) im Einsatzgebiet. Sensoren zur Erfassung von Informationen über die Umgebung sind beispielsweise Sensoren zur Messung von Abständen zu Objekten (z.B. Wänden oder anderen Hindernissen, etc.) in der Umgebung des Roboters wie beispielsweise einen optischen und/oder akustischen Sensor, der mittels Triangulation oder Laufzeitmessung eines ausgesandten Signals Abstände messen kann (Triangulationssensor, 3D-Kamera, Laserscanner, Ultraschallsensoren, etc.). Alternativ oder zusätzlich kann eine Kamera genutzt werden, um Informationen über die Umgebung zu sammeln. Insbesondere bei Betrachtung eines Objekts von zwei oder mehr Positionen aus, kann ebenfalls die Position und Ausdehnung eines Objekts bestimmt werden. [0025] Zusätzlich kann der Roboter Sensoren besitzen, um einen (zumeist unbeabsichtigten) Kontakt (bzw. Kollision) mit einem Hindernis zu detektieren. Dies kann durch Beschleunigungsmesser (die z.B. die Geschwindigkeitsänderung des Roboters bei einer Kollision detektieren), Kontaktschalter, kapazitive Sensoren oder andere taktile bzw. berührungsempfindliche Sensoren realisiert werden. Zusätzlich kann der Roboter Bodensensoren besitzen, um eine Kante im Boden, beispielsweise einer Treppenstufe, zu erkennen. Weitere übliche Sensoren im Bereich autonomer mobiler Roboter sind Sensoren zur Bestimmung der Geschwindigkeit und/oder des zurückgelegten Weges des Roboters wie z.B. O- dometer bzw. Inertialsensoren (Beschleunigungssensor, Drehratensensor) zur Bestimmung von Lage- und Bewegungsänderung des Roboters sowie Radkontaktschalter, um einen Kontakt zwischen Rad und Boden zu detektieren.
[0026] Der autonome mobile Roboter 100 kann einer Basisstation 110 zugeordnet sein, an welcher er beispielsweise seine Energiespeicher (Batterien) laden kann. Zu dieser Basisstation 110 kann der Roboter 100 nach Abschluss einer Aufgabe zurückkehren. Wenn der Roboter keine Aufgabe mehr zu bearbeiten hat, kann er in der Basisstation 110 auf einen neuen Einsatz warten.
[0027] Die Steuereinheit 150 kann dazu ausgebildet sein, alle Funktionen bereit zu stellen, die der Roboter benötigt, um sich selbstständig in seinem Einsatzgebiet zu bewegen und eine Aufgabe zu verrichten. Hierzu umfasst die Steuereinheit 150 beispielsweise den Prozessor 155 und das Speichermodul 156, um eine Software auszuführen. Die Steuereinheit 150 kann basierend auf den von der Sensoreinheit 120 und der Kommunikationseinheit 140 erhaltenen Informationen Steuerkommandos (z. B. Steuersignale) für die Arbeitseinheit 160 und die Antriebseinheit 170 erzeugen. Die Antriebseinheit 170 kann wie bereits erwähnt diese Steuersignale bzw. Steuerkommandos in eine Bewegung des Roboters umsetzen. Auch die in dem Speicher 156 enthaltene Software kann modular ausgebildet sein. Ein Navigationsmodul 152 stellt beispielsweise Funktionen zum automatischen Erstellen einer Karte des Robotereinsatzgebietes, sowie zur Bewegungsplanung des Roboters 100 bereit. Das Steuersoftwaremodul 151 stellt z.B. allgemeine (globale) Steuerfunktionen bereit und kann eine Schnittstelle zwischen den einzelnen Modulen bilden.
[0028] Damit der Roboter autonom eine Aufgabe (task) verrichten kann, kann die Steuereinheit 150 Funktionen zur Navigation des Roboters in seinem Einsatzgebiet umfassen, die von dem oben erwähnten Navigationsmodul 152 bereitgestellt werden. Diese Funktionen sind an sich bekannt und können unter anderem eine der folgenden umfassen:
• das Erstellen von (elektronischen) Karten durch Sammeln von Informationen über die Umgebung mit Hilfe der Sensoreinheit 120, beispielsweise aber nicht ausschließlich mittels SLAM-Verfahren,
• das Management von einer oder mehreren Karten zu einem oder mehreren den Karten zugeordneten Einsatzgebieten des Roboters,
• das Bestimmen der Position und Orientierung (Pose) des Roboters in einer Karte basierend auf den mit den Sensoren der Sensoreinheit 120 ermittelten Informationen der Umgebung,
• eine kartenbasierte Pfadplanung (Trajektorienplanung) von einer aktuellen Pose des Roboters (Startpunkt) zu einem Zielpunkt,
• ein Konturfolgemodus, in dem der Roboter (100) sich entlang der Kontur eines o- der mehrerer Hindernisse (z.B. einer Wand) in einem im Wesentlichen konstanten Abstand d zur dieser Kontur bewegt,
• eine Teilgebietserkennung, bei der die Karte analysiert und in Teilgebiete zerlegt wird, wobei beispielsweise Raumgrenzen wie Wände und Türdurchgänge identifiziert werden, wodurch die Teilgebiete die Räume einer Wohnung und/oder sinnvolle Teilbereiche dieser Räume beschreiben.
Die Steuereinheit 150 kann mit Hilfe des Navigationsmoduls 152 und basierend auf den Informationen der Sensoreinheit 120 beispielsweise während des Betriebs des Roboters laufend eine Karte des Robotereinsatzgebietes aktualisieren z.B. wenn die Umgebung des Roboters sich verändert (Hindernis wird verschoben, Tür wird geöffnet, etc.). Eine aktuelle Karte kann dann von der Steuereinheit 150 zur kurz- und/oder langfristigen Bewegungsplanung für den Roboter verwendet werden. Als Planungshorizont wird jener Weg bezeichnet, den die Steuereinheit 150 eine (Soll-) Bewegung des Roboters vorherberechnet, bevor diese tatsächlich ausgeführt wird. Die hier beschriebenen Ausführungsbeispiele betreffen unter anderem verschiedene Ansätze und Strategien für die Bewegungsplanung in bestimmten Situationen, z.B. in Situationen, in denen bestimmte Manöver durch Hindernisse blockiert sind und daher nicht durchgeführt werden können. [0029] Im Allgemeinen ist eine vom Roboter 100 verwendbare (elektronische) Karte eine Sammlung von Kartendaten (z.B. eine Datenbank) zur Speicherung von ortsbezogenen Informationen über ein Einsatzgebiet des Roboters und die für den Roboter relevante Umgebung in diesem Einsatzgebiet. In diesem Zusammenhang bedeutet„ortbezogen", dass die gespeicherten Informationen jeweils einer Position oder einer Pose in einer Karte zugeordnet sind. Eine Karte repräsentiert also eine Vielzahl von Datensätzen mit Kartendaten, und die Kartendaten können beliebige ortsbezogene Informationen enthalten. Hierbei können die ortsbezogenen Informationen in unterschiedlichen Detail- und Abstraktionsgrad gespeichert sein, wobei dieser an eine spezifische Funktion angepasst sein kann. Insbesondere können einzelne Informationen redundant gespeichert sein. Häufig wird eine Zusammenstellung mehrerer Karten, die das gleiche Gebiet betreffen, jedoch in unterschiedlicher Form (Datenstruktur) gespeichert sind, ebenfalls als "eine Karte" bezeichnet.
[0030] Ein technisches Gerät ist für einen menschlichen Nutzer im täglichen Leben am nützlichsten, wenn einerseits das Verhalten des Geräts für den Nutzer nachvollziehbar und verständlich ist und andererseits die Bedienung intuitiv möglich ist. Es ist in der Regel wünschenswert, dass ein autonomer mobiler Roboter (z.B. ein Bodenreinigungsroboter) ein für einen menschlichen Nutzer intuitiv nachvollziehbares und praktisches Verhalten an den Tag legt. Dazu muss der Roboter sein Einsatzgebiet durch technische Verfahren ähnlich interpretieren und in Teilgebiete aufteilen wie dies ein menschlicher Nutzer tun würde (z.B. Wohnzimmer, Schlafzimmer, Flur, Küche, Essbereich, etc.). Dies ermöglicht eine einfache Kommunikation zwischen Nutzer und Roboter, beispielsweise in Form einfacher Kommandos an den Roboter (z.B. "Reinige das Schlafzimmer") und/oder in Form von Benachrichtigungen an den Nutzer (z.B. "Reinigung des Schlafzimmers abgeschlossen"). Darüber hinaus können die erwähnten Teilgebiete für die Anzeige einer Karte des Robotereinsatzgebiets und die Bedienung des Roboters mittels dieser Karte genutzt werden.
[0031] Nun kann eine Aufteilung des Robotereinsatzgebiets in Teilgebiete durch einen Nutzer zum Einen nach anerkannten Konvention und zum Anderen nach persönlichen Vorlieben (und somit benutzerspezifisch, z.B. Essbereich, Kinderspielecke, etc.) vorgenommen werden. Ein Beispiel einer bekannten Konvention ist die Unterteilung einer Wohnung in verschiedene Zimmer wie z.B. Schlafzimmer, Wohnzimmer und Flur. Gemäß einer beispielhaften benutzerspezifischen Unterteilung könnte ein Wohnzimmer z.B. in einen Koch- bereich, eine Essecke oder Bereiche vor und neben dem Sofa eingeteilt werden. Die Grenzen zwischen diesen Bereichen können mitunter sehr„unscharf" definiert sein und unterliegen im Allgemeinen der Interpretation des Nutzers. Ein Kochbereich könnte beispielsweise durch einen Fliesenboden gekennzeichnet sein, während der Essbereich lediglich durch die Anwesenheit eines Tisches mit Stühlen gekennzeichnet ist. Die Anpassung an den menschlichen Nutzer kann für einen Roboter eine sehr schwierige Aufgabe sein und häufig kann eine Roboter- Nutzer- Interaktion notwendig sein, um die Aufteilung des Robotereinsatzgebietes korrekt vorzunehmen. Um diese Roboter-Nutzer- Interaktion einfach und verständlich zu gestalten müssen die Kartendaten und die bereits automatisch vorgenommene Aufteilung vom Gerät interpretiert und aufbereitet werden. Des Weiteren erwartet sich der menschliche Nutzer ein an die vorgenommene Aufteilung angepasstes Verhalten des autonomen mobilen Roboters. Deshalb kann es gewünscht sein, dass die Teilgebiete vom Benutzer oder automatisch durch den Roboter mit Attributen versehen werden können, die das Verhalten des Roboters beeinflussen.
[0032] Eine technische Voraussetzung hierfür ist, dass der autonome mobile Roboter eine Karte seines Einsatzgebiets besitzt, um sich in diesem anhand der Karte zu orientieren. Diese Karte wird beispielsweise von dem Roboter selbsttätig aufgebaut und permanent gespeichert. Um das Ziel einer für den Nutzer intuitiven Aufteilung des Robotereinsatzgebiets zu erreichen, werden technische Verfahren benötigt, die (1) selbsttätig eine Aufteilung der Karte des Robotereinsatzgebiets wie beispielsweise einer Wohnung nach vorgegebenen Regeln vornehmen, (2) eine einfache Interaktion mit dem Benutzer zulassen, um sich den a-priori nicht bekannten Benutzerwünschen bei der Aufteilung anzupassen, (3) die automatisch generierte Aufteilung vorverarbeiten, um sie dem Benutzer einfach und verständlich in einer Karte darzustellen, und (4) aus der so erstellten Aufteilung möglichst selbsttätig gewisse Eigenschaften ableiten können, die geeignet sind, ein vom Nutzer erwartetes Verhalten zu erreichen.
[0033] Figur 3 zeigt eine mögliche Darstellung einer Karte eines Robotereinsatzgebietes, wie sie vom Roboter, z.B. mittels Sensoren und eines SLAM- Algorithmus aufgebaut wird. Beispielsweise misst der Roboter mittels eines Abstandssensors den Abstand zu Hindernissen (z.B. eine Wand, ein Möbelstück, eine Tür, etc.) und berechnet aus den Messdaten (üblicherweise eine Punktwolke) Liniensegmente, welche die Grenzen seines Einsatzgebietes definieren. Das Einsatzgebiet des Roboters kann beispielsweise durch eine geschlossene Kette von Liniensegmenten (meist ein konkaver, einfacher Polygonzug) definiert werden, wobei jedes Liniensegment einen Startpunkt, einen Endpunkt und folglich auch eine Richtung aufweist. Die Richtung des Liniensegmentes zeigt an, welche Seite des Liniensegmentes ins Innere des Einsatzgebietes zeigt, bzw. von welcher Seite der Roboter das Hindernis, welches durch ein bestimmtes Liniensegment angezeigt wird,„gesehen" hat. Das in Fig. 3 dargestellte Polygon beschreibt für den Roboter das Einsatzgebiet vollständig, ist jedoch für eine Roboter- Nutzer- Kommunikation nur sehr schlecht geeignet. Ein menschlicher Nutzer wird unter Umständen Schwierigkeiten haben, seine eigene Wohnung wiederzuerkennen und sich darin zu orientieren. Eine Alternative zu der genannten Kette von Liniensegmenten ist eine Rasterkarte, bei der ein Raster von z.B. 10x10cm über das Robotereinsatzgebiet gelegt wird, und jede Zelle (d.h. 10xl0cm-Box) markiert wird, sofern Sie von einem Hindernis belegt ist. Auch solche Rasterkarten sind für einen menschlichen Nutzer nur schwer interpretierbar.
[0034] Nicht nur um die Interaktion mit einem menschlichen Nutzer zu vereinfachen, sondern auch, um das Einsatzgebiet in (aus Sicht des Nutzers) sinnvollerweise„abzuarbeiten" soll der Roboter zunächst automatisiert sein Robotereinsatzgebiet in Teilgebiete unterteilen (also eine Teilgebietsdetektion durchführen). Eine solche Unterteilung in Teilgebiete ermöglicht dem Roboter, seine Aufgabe in seinem Einsatzgebiet leichter, systematischer, differenzierter, (aus Sicht des Nutzers)„logischer", etc. auszuführen und die Interaktion mit dem Nutzer zu verbessern. Um eine sinnvolle Unterteilung zu erhalten, muss der Roboter verschieden Sensordaten gegeneinander abwägen. Insbesondere kann er Informationen über die Befahrbarkeit (schwierig/leicht) eines Bereichs seines Einsatzgebietes nutzen, um ein Teilgebiet zu definieren. Des Weiteren kann der Roboter von der (widerlegbaren) Annahme ausgehen, dass Räume in der Regel rechteckig sind. Der Roboter kann lernen, dass einige Änderungen der Aufteilung zu sinnvolleren Ergebnissen führt (so dass z.B. bestimmte Hindernisse mit einer gewissen Wahrscheinlichkeit in einem bestimmten Teilgebiet liegen).
[0035] Wie in Fig. 3 dargestellt, ist ein Roboter üblicherweise in der Lage, Hindernisse mittels Sensoren (z.B. Laser-Abstandssensoren, Triangulations-Sensoren, Ultraschall-Abstandssensoren, Kollisionssensoren oder eine Kombination der genannten) zu erkennen und die Grenzen seines Einsatzgebietes in Form von Begrenzungslinien in einer Karte ein- zuzeichnen. Allerdings ermöglicht die beschränkte Sensorik eines Roboters im Allgemeinen kein eindeutiges Erkennen einer für einen menschlichen Nutzer selbstverständlichen Unterteilung des Einsatzgebietes in unterschiedliche Räume (z.B. Schlafzimmer, Wohnzimmer, Flur, etc). Selbst die Entscheidung, ob die in der Karte enthaltenen Begrenzungslinien (beispielsweise die Linie zwischen den Punkten J und K in Fig. 3) zu einer Wand oder zu einem Möbelstück gehören, ist nicht ohne weiteres automatisiert möglich. Auch die „Grenze" zwischen zwei Räumen ist für einen Roboter nicht ohne weiteres erkennbar.
[0036] Um die erwähnten Probleme zu lösen und eine Unterteilung des Robotereinsatzgebietes in unterschiedliche Teilgebiete (z.B. Zimmer) automatisiert zu ermöglichen, stellt der Roboter basierend auf den Sensordaten„Hypothesen" betreffend die Umgebung des Roboters auf, welche mittels unterschiedlicher Verfahren getestet werden. Kann eine Hypothese falsifiziert werden, wird sie verworfen. Sind zwei Begrenzungslinien (z.B. die Linien A-A' und O-O' in Fig. 3) annähernd parallel und in einem Abstand, der der üblichen lichten Breite (hierfür gibt es standardisierte Größen) eines Türdurchgangs entspricht, kann der Roboter die Hypothese„Türdurchgang" aufstellen und daraus schließen, dass dieser zwei unterschiedliche Zimmer trennt. Im einfachsten Fall kann eine automatisiert aufgestellte Hypothese getestet werden, indem der Roboter den Nutzer„befragt", d.h. Feedback des Nutzers einfordert. Der Nutzer kann die Hypothese dann entweder bestätigen oder verwerfen. Eine Hypothese kann jedoch automatisiert getestet werden, in dem die aus der Hypothese resultierenden Schlussfolgerungen im Hinblick auf Ihre Plausibilität geprüft werden. Wenn die vom Roboter erkannten Räume (z.B. mittels Erkennung der Türschwellen) einen zentralen Raum umfassen, der z.B. kleiner ist als ein Quadratmeter, ist die Hypothese, die letztendlich zu diesem kleinen zentralen Raum geführt hat, wahrscheinlich falsch. Ein weiterer automatisierter Test kann darin bestehen, zu prüfen, ob sich die aus zwei Hypothesen abgeleiteten Schlussfolgerungen widersprechen oder nicht. Wenn beispielsweise sechs Hypothesen betreffend eine Tür aufgestellt werden können und nur bei fünf vermeintlichen Türen kann der Roboter eine Türschwelle (eine kleine Stufe) detektie- ren, so kann dies ein Indiz dafür sein, dass die Hypothese betreffend die Tür ohne Türschwelle falsch ist.
[0037] Bei der Erstellung einer Hypothese durch den Roboter werden verschieden Sensormessungen kombiniert. Für einen Türdurchgang sind dies beispielsweise die Durchgangsbreite, Durchgangstiefe (gegeben durch Wanddicke), die Existenz einer Wand rechts und links des Durchgangs oder eine in den Raum ragende Tür. Diese Informationen können beispielsweise mit einem Abstandssensor durch den Roboter ermittelt werden. Mittels eines Beschleunigungssensors oder eines Lagesensors (z.B. ein gyroskopischer Sensor) kann eine möglicherweise vorhandene Türschwelle, welche der Roboter überfährt, detek- tiert werden. Durch Bildverarbeitung und eine Vermessung der Deckenhöhe können zusätzliche Informationen ermittelt werden.
[0038] Ein weiteres Beispiel für eine mögliche Hypothese ist der Verlauf von Wänden im Robotereinsatzgebiet. Diese sind unter anderem durch zwei parallele Linien gekennzeichnet, welche einen Abstand einer typischen Wanddicke (siehe Fig. 3, Dicke dw) haben und vom Roboter aus zwei entgegengesetzten Richtungen gesehen wurden (z.B. die Linien K-L und L'-K' in Fig. 3). Vor einer Wand können jedoch weitere Objekte (Hindernisse) wie beispielsweise Schränke, Regale, Blumentöpfe, etc., stehen, welche ebenfalls mit Hilfe von Hypothesen identifiziert werden können. Eine Hypothese kann auch auf einer anderen Hypothese beruhen. So ist beispielsweise eine Tür eine Unterbrechung einer Wand. Wenn also eine zuverlässige Hypothese über den Verlauf von Wänden im Einsatzgebiet des Roboters gemacht werden können, so können diese das Erkennen von Türen und somit die automatisierte Unterteilung des Robotereinsatzgebiets erleichtern.
[0039] Um Hypothesen zu testen und zu bewerten, kann ihnen ein Maß an Plausibilität zugeordnet werden. In einem einfachen Ausführungsbeispiel wird einer Hypothese für jede bestätigende Sensormessung ein vordefinierter Punktewert gutgeschrieben. Wenn auf diese Weise eine bestimmte Hypothese eine Mindestpunktzahl erreicht, so wird sie als plausibel angesehen. Eine negative Punktzahl könnte zum Verwerfen der Hypothese führen. In einem weiter entwickelten Ausführungsbeispiel wird einer bestimmten Hypothese eine Wahrscheinlichkeit für ihr zutreffen zugeordnet. Dies erfordert ein Wahrscheinlichkeitsmodel, welches Korrelationen zwischen verschiedenen Sensormessungen berücksichtigt, ermöglicht aber auch komplexe Wahrscheinlichkeitsaussagen mit Hilfe stochastischer Rechenmodelle und somit eine verlässlichere Vorhersage der Erwartungen des Benutzers. Beispielsweise können in gewissen Region (z.B. Ländern), in denen der Roboter zum Einsatz kommt, die Türbreiten standardisiert sein. Misst der Roboter eine solche standardisierte Breite, handelt es sich mit hoher Wahrscheinlichkeit um eine Tür. Abweichungen von den Standardbreiten reduzieren die Wahrscheinlichkeit, dass es sich um eine Tür han- delt. Hierfür kann beispielsweise ein Wahrscheinlichkeitsmodell basierend auf einer Normalverteilung verwendet werden. Eine weitere Möglichkeit zur Erstellung und Bewertung von Hypothesen ist die Nutzung von„maschinellem Lernen", um geeignete Modelle und Maßfunktionen zu erstellen (siehe z.B. Trevor Hastie, Robert Tibshirani, Jerome Friedman: „The Elements of Statistical Learning", 2. Auflage. Springer- Verlag, 2008). Hierzu werden beispielsweise Kartendaten in verschiedenen Wohnumgebungen durch einen oder mehr Roboter aufgenommen. Diese können dann mit Grundrissen oder durch einen Nutzer eingegebene Daten (z.B. betreffend den Verlauf von Wänden oder Türdurchgängen oder über eine gewünschte Aufteilung) ergänzt werden und von einem Lern- Algorithmus ausgewertet werden.
[0040] Eine weitere Methode, die alternativ oder zusätzlich zu der Verwendung der oben erläuterten Hypothesen verwendet werden kann, ist die Unterteilung eines Robotereinsatzgebietes (z.B. eine Wohnung) in mehrere rechteckige Bereiche (z.B. Zimmer). Dieser Ansatz basiert auf der Annahme, dass Zimmer in der Regel rechteckig sind oder aus mehreren Rechtecken zusammengesetzt werden können. In einer von einem Roboter erstellten Karte ist diese rechteckige Form der Zimmer im Allgemeinen nicht zu erkennen, da in den Zimmern zahlreiche Hindernisse mit komplexen Begrenzungen wie z.B. Möbel das Einsatzgebiet des Roboters einschränken.
[0041] Basierend auf der Annahme rechteckiger Zimmer wird das Robotereinsatzgebiet mit Rechtecken unterschiedlicher Größe überdeckt, welche die Zimmer wiedergeben sollen. Insbesondere werden die Rechtecke so gewählt, dass jedem für den Roboter zugänglichen Punkt in der Karte des Robotereinsatzgebiets eindeutig ein Rechteck zugeordnet werden kann. Das heißt, die Rechtecke überlappen sich in der Regel nicht. Dabei wird nicht ausgeschlossen, dass ein Rechteck Punkte enthält, die für den Roboter nicht zugänglich sind (z.B. weil Möbel die Zugänglichkeit ausschließen). Das durch die Rechtecke beschriebene Gebiet kann also größer und von geometrisch einfacherer Gestalt sein als das tatsächliche Robotereinsatzgebiet. Um die Orientierung und Größe der einzelnen Rechtecke zu bestimmen, werden beispielsweise lange gerade Begrenzungslinien in der Karte des Robotereinsatzgebiets genutzt, wie sie z.B. entlang von Wänden auftreten (siehe z.B. Fig. 3, Gerade durch die Punkte L' und K', Gerade durch die Punkte P und P' sowie P" und P'"). Zur Auswahl der zu verwendenden Begrenzungslinien werden verschiedene Kriterien verwendet. Ein Kriterium kann z.B. sein, dass die betreffenden Begrenzungslinien zu einer Vielzahl anderer Begrenzungslinien annähernd parallel oder orthogonal sind. Ein weiteres Kriterium kann sein, dass die betreffenden Begrenzungslinien annähernd auf einer Geraden liegen und/oder vergleichsweise (d.h. in der Größenordnung der Außenabmessungen des Robotereinsatzgebietes) lang sind. Andere Kriterien zur Wahl der Orientierung und Größe der Rechtecke sind beispielsweise erkannte Türdurchgänge oder Bodenbelagsgrenzen. Diese und andere Kriterien können zu ihrer Beurteilung in eine oder in mehreren Bewertung sfunktionen (analog zu dem Maß an Plausibilität einer Hypothese, z.B. dem Zuordnen eines Punktewertes für eine Hypothese) verwendet werden, um die konkrete Form und Lage der Rechtecke zu ermitteln. Beispielsweise werden den Begrenzungslinien Punkte für erfüllte Kriterien gegeben. Die Begrenzungslinie mit dem höchsten Punktwert wird als Grenze zwischen zwei Rechtecken genutzt.
[0042] Basierend auf der Annahme, dass Räume im Wesentlichen rechteckig sind, kann der Roboter aus der Karte der Begrenzungslinien (siehe Fig. 3) die äußersten Begrenzungslinien zu einem rechtwinkligen Polygon (rectilinear polygon) vervollständigen. Ein mögliches Ergebnis einer Unterteilung einer Karte in Teilgebiete ist exemplarisch in Fig. 4 dargestellt. Demnach wurde die Wohnung in verschiedene Zimmer unterteilt (z.B. Schlafzimmer 10 mit Bett, Flur 20, Wohnzimmer mit offenem Küchenbereich 30). Die Unterteilung der Wohnung in Teilgebiete 10, 20, 30 (Zimmer) wurde z.B. aufgrund detektierter Türdurchgänge vorgenommen. Von dem Teilgebiet 30 (Wohnzimmer mit offenem Küchenbereich) wurde basierend auf erkannten Bodenbelägen weiter die Teilgebiete 31 (Küchenbereich, gefliester Boden) und 32 (Teppichboden) abgeteilt (der verbleibende Teilgebiet 30 hat z.B. einen Parkettboden).
[0043] Wie bereits erwähnt wird in der Regel eine im Wesentlichen vollständige Karte des Robotereinsatzgebietes benötigt, bevor der Roboter eine sinnvolle automatische Unterteilung einer Karte in Teilgebiete (z.B. Zimmer) vornehmen kann. Bis dahin bewegt sich der Roboter durch das Roboter Einsatzgebiet, ohne Teilgebiets grenzen beachten zu können. Dies kann zu ineffizienten und für einem Nutzer schwer nachvollziehbaren Verhalten des Roboters in der„Explorationsphase" führen. Beispielsweise passiert der Roboter einen Türdurchgang und kommt in einen weiteren Raum bevor er einen Raum vollständig erkundet hat, was dazu führen kann, dass der Roboter durch einen großen Teil des Robotereinsatzgebietes (z.B. einer Wohnung) gefahren ist, und dennoch an unterschiedlichen Stellen der Wohnung (in unterschiedlichen Zimmern)„weiße Flecken" in der Karte bleiben. Der Roboter muss schließlich diese„weißen Flecken" in der Karte einzeln anfahren, um diese zu erkunden und eine vollständige Karte zu erhalten. Die hier beschriebenen Ausführungsbeispiele betreffen unter anderem ein Verfahren, welches zumindest in einigen Situationen die erwähnte Explorationsphase effizienter gestaltet das Verhalten des Roboters in dieser Explorationsphase für einen Nutzer„logischer" erscheinen lässt.
[0044] Figur 5 illustriert ein exemplarisches Beispiel eines Verfahrens zur Erkundung eines Robotereinsatzgebietes durch einen autonomen mobile Roboter (vgl. Fig. 1, Roboter 100). Eine Erkundungsfahrt kann an einem beliebigen Punkt im Robotereinsatzgebiet gestartet werden (Fig. 5, Schritt S10), und während der Erkundungsfahrt bewegt sich der Roboter durch das Robotereinsatzgebiet. Der Roboter hat am Anfang der Erkundungsfahrt keine oder nur sehr wenige Informationen über seine Umgebung. Die (elektronische) Karte des Roboters wird neu erstellt und ist somit mit Beginn der Erkundung praktisch leer. Der Roboter 100 führt während der Erkundungsfahrt laufend Messungen durch (Fig. 5, Schritt Si l), um Objekte (z.B. Hindernisse, allgemein auch als Navigationsfeatures bezeichnet) in seiner Umgebung zu detektieren, und speichert detektierte Objekte als Kartendaten in einer Karte. Beispielsweise werden Wände und andere Hindernisse (z.B. Möbel und andere Gegenstände) detektiert und deren Position und Lage in der Karte gespeichert. Die für die De- tektion verwendete Sensorik ist an sich bekannt und kann in einer Sensoreinheit 120 des Roboters 100 enthalten sein (vgl. Fig. 2). Für die Detektion notwendige Berechnungen können von einem in der Steuereinheit 150 (vgl. Fig. 2) des Roboters 100 enthaltenen Prozessor durchgeführt werden.
[0045] Während der Erkundungsfahrt führt der Roboter 100 basierend auf den aktuellen Kartendaten eine Teilgebietsdetektion durch (siehe Fig. 5, Schritt S12), wobei zumindest ein Referenzteilgebiet detektiert wird (z.B. ein Teil des Robotereinsatzgebietes, in dem der Roboter sich aktuell befindet). Des Weiteren wird geprüft, ob das Referenzteilgebiet vollständig erkundet ist (siehe Fig. 5, Schritt S13). Solange das nicht der Fall ist, erkundet der Roboter weiter (nur) das Referenzteilgebiet (siehe Fig. 5, Schritt S14), indem laufend Messungen durchgeführt werden, um Objekte in der Umgebung des Roboters zu detektieren und detektierte Objekte in der Karte zu speichern. Die Teilgebietsdetektion wird fortlaufend und/oder nach vorgebbaren Regeln wiederholt, um die Festlegung des Referenzteilgebietes zu aktualisieren. Anschließend prüft der Roboter erneut, ob das (aktualisierte) Referenzteilgebiet vollständig erkundet ist (zurück zu Schritt S13). Sobald die Prüfung ergibt, dass das (aktualisierte) Referenzteilgebiet vollständig erkundet ist, wird weiter geprüft, ob das Robotereinsatzgebiet schon vollständig erkundet ist (siehe Fig. 5, Schritt S15). Beispielsweise kann der Roboter bei einer Teilgebietsdetektion ein weiteres Teilgebiet detek- tiert haben, das noch nicht erkundet wurde. Daraus kann der Roboter schließen, dass die Erkundung des Robotereinsatzgebietes noch nicht vollständig ist und die Erkundung in einem anderen Teilgebiet fortsetzen (Fig. 5, Schritt S16), welches dann zum Referenzteilgebiet wird. Wenn der Roboter kein weiteres Teilgebiet mehr detektieren kann, welches noch nicht erkundet wurde, ist die Erkundung des Robotereinsatzgebietes abgeschlossen.
[0046] Zur Aktualisierung des Referenzteilgebietes können bei der Teilgebietsdetektion sowohl die aktuellen Kartendaten als auch die bisherigen (d.h. bei einer früheren Teilgebietsdetektion festgelegten) Grenzen des Referenzteilgebietes berücksichtigt werden. Die laufende Aktualisierung des Referenzteilgebietes wird später noch genauer erläutert (vgl. Fig. 8 bis 10). In einem Ausführungsbeispiel kann zur Aktualisierung des Referenzteilgebietes der bereits erkundete Teil des Robotereinsatzgebietes in ein oder mehrere Teilgebiete gegliedert werden, wobei aus den detektierten Teilgebieten das Referenzteilgebiet nach vordefinierten Kriterien ausgewählt wird. Wird nur ein einziges Teilgebiet detektiert, ist dieses das Referenzteilgebiet. Ein Kriterium zur Auswahl des Referenzteilgebietes kann z.B. das Ausmaß der Überlappung mit dem zuvor (bei der vorhergehenden Teilgebietsdetektion) festgelegten Referenzteilgebiet sein. Das heißt, es wird aus den detektierten Teilgebieten jenes als aktuelles Referenzteilgebiet ausgewählt, welches mit dem zuvor ermittelten Referenzteilgebiet die größte Überlappung aufweist.
[0047] Algorithmen zur automatisierten Aufteilung einer Karte in Teilgebiete sind an sich bekannt. Einige dieser Algorithmen funktionieren nur, wenn die Karte vollständig erkundet, also durch Wände und andere Hindernisse vollständig eingeschlossen ist. Diese Algorithmen können für eine nicht- vollständig erkundete Karte genutzt werden, wenn die Karte„künstlich" abgeschlossen wird. Hierzu kann beispielsweise ein Rahmen (bounding box) um das bereits erkundete Gebiet gelegt werden, und als„virtuelles" Hindernis berücksichtigt werden. Auch andere Möglichkeiten, eine unvollständig erkundete Karte abzuschließen um die Algorithmen zur automatisierten Aufteilung einer vollständigen Karte zu nutzen, können alternative verwendet werden. In den hier beschriebenen Ausführungsbeispielen können für die Teilgebietsdetektion eine oder mehrere auf Kartendaten basierenden Informationen genutzt werden, beispielsweise die Position von Wänden und/oder anderen Hindernissen, die Position von Türdurchgängen und die Position von Bodenbelagsgrenzen.
Zusätzlich oder alternativ können (z.B. in der Karte gespeicherte) Informationen über die Bodenstruktur, die Deckenstruktur und/oder die Wandstruktur berücksichtigt werden. Ein weiteres Kriterium für die Festlegung eines Teilgebiets sind vorgebbare geometrische Eigenschaften von Teilgebieten, wie beispielsweise eine minimale oder eine maximale Größe eines Teilgebiets. Deckenstrukturen und insbesondere die Ecken zwischen Decke und einer Wand können direkt Hinweise über die Form und Größe eines Raumes liefern. Hieraus können beispielsweise Türdurchgänge erkannt werden als Öffnungen in der Wand, die nicht bis an die Decke reichen. Wandstrukturen wie beispielsweise Fenster können Hinweise geben, ob es sich bei der besagten Wand um eine Außenwand handelt. Bodenstrukturen wie insbesondere der Wechsel des Bodenbelags oder eine Türschwelle können Indizien für Raumgrenzen und insbesondere für Türdurchgänge sein.
[0048] Je nach Implementierung der Teilbereichsdetektion können die Begrenzungslinien eines Teilgebietes zumindest teilweise prädiktiv ermittelt werden. In diesem Zusammenhang bedeutet prädiktiv, dass vorhandene, bereits detektierte und in der Karte gespeicherte Konturen (z.B. einer Wand) genutzt werden, um eine Begrenzungslinie eines Teilbereichs vorherzusagen. Beispielsweise kann eine bereits detektierte und in der Karte gespeicherte Kontur einer Wand (virtuell) geradlinig verlängert werden, um die Begrenzung eines Teilgebiets zu vervollständigen. Gemäß einem anderen Beispiel wird eine Begrenzungslinie eines Teilgebiets parallel oder rechtwinklig zu einer bereits detektierten und in der Karte gespeicherten Kontur einer Wand (oder eines anderen Hindernisses) so festgelegt, dass sie den Rand des bereits erkundeten Bereichs des Robotereinsatzgebietes berührt. Ein Beispiel hierfür wird später anhand Fig. 9 und 10 erläutert.
[0049] Der Roboter verfolgt (tracking) seine eigene Position in der Karte. Nach einer Teilgebietsdetektion prüft kann der Roboter prüfen, ob er sich noch in dem (aktualisierten) Referenzteilgebiet befindet. Falls das nicht der Fall ist und falls das Referenzteilgebiet noch nicht vollständig erkundet ist, fährt der Roboter in das Referenzteilgebiet zurück, um dort die Erkundungsfahrt fortzusetzen. Die Erkundungsfahrt wird außerhalb des Referenzteilgebietes nicht fortgesetzt. Ergibt die Prüfung jedoch, dass das (aktualisierte) Referenzteilgebiet bereits vollständig erkundet wurde (beispielsweise weil es ausschließlich durch Konturen von Hindernissen oder Grenzlinien zu anderen detektierten Teilgebieten begrenzt ist) wird ein anderes Teilgebiet zum Referenzteilgebiet und die Erkundungsfahrt wird dort fortgesetzt. [0050] Wie erwähnt kann die Teilgebietsdetektion regelmäßig oder als Reaktion auf die Detektion bestimmter Ereignisse wiederholt werden. Eine Wiederholung der Teilgebietsdetektion kann z.B. ausgelöst werden, wenn der Roboter feststellt, dass ein bestimmtes Zeitintervall ist seit der letzten Teilgebietsdetektion abgelaufen ist, dass der Roboter seit der letzten Teilgebietsdetektion eine bestimmte Wegstrecke zurückgelegt hat, dass seit der letzten Teilgebietsdetektion der erkundete Bereich des Robotereinsatzgebietes um eine bestimmte Fläche angewachsen ist oder dass der Aufwand für die weitere Erkundung des Referenzteilgebietes einen bestimmten Wert übersteigt. Der Aufwand kann z.B. mittels einer Kostenfunktion bewertet werden. Eine Wiederholung der Teilgebietsdetektion kann z.B. auch ausgelöst werden, wenn der Roboter einen für die Erkundung ermittelten Zielpunkt erreicht hat. Solch ein Zielpunkt kann beispielsweise auf der Grenze zwischen erkundetem und (noch) nicht-erkundetem Teilgebieten gewählt werden. Während der Roboter auf diesen Punkt zusteuert, kann er mit seinen Sensoren neue Bereiche erfassen und so die Grenzen des erkundeten Gebietes ausdehnen.
[0051] Wenn der Roboter feststellt, dass das Referenzteilgebiet vollständig erkundet wurde, dann wird es gespeichert und seine Grenzen werden später nicht mehr verändert. Solange noch weitere nicht vollständig erkundete Teilgebiete existieren, wählt der Roboter ein weiteres Teilgebiet als Referenzteilgebiet und setzt die Erkundungsfahrt dort fort. Das bisherige Referenzteilgebiet (oder die bisherigen Referenzteilgebiete) können bei der weiteren Teilgebietsdetektion dahingehend berücksichtigt werden, dass dessen (oder deren) Begrenzungslinien nicht mehr verändert werden und damit auch die Grenzen benachbarter Teilgebiete (zumindest teilweise) festgelegt sind. Das heißt, die Begrenzungslinien der bisherigen Referenzteilgebiete können bei der Ermittlung der Begrenzungslinien weiterer Teilgebiete berücksichtigt werden.
[0052] Falls der Roboter ein Reinigungsroboter ist, kann er - nachdem er ein Referenzteilgebiet vollständig erkundet hat - dieses reinigen, bevor ein weiteres Teilgebiet als Referenzgebiet gewählt und die Erkundungsfahrt dort fortgesetzt wird. Dieses Verhalten kann abhängig von einer Nutzereingabe gemacht werden, was die Flexibilität des Roboters erhöht. Der Roboter kann demnach eine Nutzereingabe entgegennehmen, abhängig von der der Roboter drei Betriebsmodi unterscheidet. Die Nutzereingabe (z.B.„erkunden",„erkunden und reinigen",„reinigen") kann beispielsweise über eine HMI erfolgen (z.B. auf einem portablen externen Gerät oder direkt am Roboter). In einem ersten Betriebsmodus führt der
Roboter eine Erkundungsfahrt durch und erkundet der Roboter das Robotereinsatzgebiet und erstellt dabei eine neue Karte. Die Erkundungsfahrt kann gemäß den hier beschriebenen Verfahren implementiert sein. In einem zweiten Betriebsmodus führt der Roboter eine Erkundungsfahrt durch, erstellt dabei eine neue Karte und reinigt dabei auch das Robotereinsatzgebiet. In einem dritten Betriebsmodus wird keine neue Karte erstellt, sondern das Robotereinsatzgebiet basierend auf einer bereits existierenden, gespeicherten Karte gereinigt. Dieses Konzept kann auch auf andere Roboter übertragen werden, die keine Reinigungsroboter sind. In diesem Fall führt der Roboter statt der Reinigung eine andere Tätigkeit aus.
[0053] Der Roboter kann den bereits erkundeten Bereich des Robotereinsatzgebietes als „erkundet" in der Karte markieren (z.B. durch Setzen eines bestimmten Bits oder einer anderen Markierung, oder durch erfassen, aktualisieren und speichern der Grenze zwischen erkundeten und nicht-erkundeten Bereichen). Beispielsweise können jene Bereiche als erkundet in der Karte markiert werden, die während der Erkundungsfahrt zumindest einmal innerhalb eines Erfassungsbereichs eines Navigationssensors des Roboters gelegen sind (vgl. Fig. 7). Der Roboter kann üblicherweise mittels des Navigationssensors innerhalb des Erfassungsbereichs des Navigationssensors Objekte detektieren, beispielsweise indem berührungslos der Abstand zwischen Navigationssensor und mehreren Punkten eines Objekts gemessen wird (vgl. Fig. 6).
[0054] Der Roboter kann die Erkundungsfahrt beenden, wenn er feststellt, dass das Einsatzgebiet vollständig erkundet wurde (z.B. weil der als erkundet markierte Bereich vollständig von Hindernissen begrenzt ist) und/oder falls ein Fortsetzen der Erkundungsfahrt nicht möglich ist, weil kein weiteres (noch nicht vollständig erkundetes) Teilgebiet mehr detektiert wurde. In dieser Situation kann der Roboter erneut eine Teilgebietsdetektion durchführen und dabei die Kartendaten betreffend das vollständig erkundete Robotereinsatzgebiet berücksichtigen. Bei dieser abschließenden Teilbereichsdetektion kann der Roboter andere (z.B. genauere und/oder aufwändigere) Algorithmen verwenden als bei der wiederholt durchgeführten Teilbereichsdetektion während der Erkundungsfahrt. Alternativ kann der gleiche Algorithmus jedoch mit veränderten Parametern verwendet werden. Schließlich kann der Roboter nach Beenden der Erkundungsfahrt zu einem Ausgangspunkt zurückkehren, an dem die Erkundungsfahrt gestartet wurde, oder zu einer Basisstation, die während der Erkundungsfahrt detektiert und in der Karte gespeichert wurde. [0055] Die Diagramme in Figur 6 illustrieren exemplarisch wie ein autonomer mobiler Roboter 100 seine Umgebung erkundet. In dem dargestellten Beispiel weist die Sensoreinheit 120 des Roboters 100 (siehe Fig. 2) einen Navigationssensor 121 auf, der einen definierten Erfassungsbereich Z (coverage ared) abdeckt. Im dargestellten Beispiel hat der Erfassung sbereich Z näherungsweise die Form eines Kreissektors mit dem Radius d. Diese Situation ist in Diagramm (a) der Fig. 6 dargestellt. Der Navigationssensor 121 ist dazu ausgebildet, Objekte (z.B. Hindernisse, Möbel und andere Gegenstände) in der Umgebung des Roboters 100 zu detektieren, indem er den Abstand zur Kontur eines Objekts misst, sobald ein Objekt innerhalb des Erfassungsbereichs Z des Sensors 121 liegt. Der Erfassungsbereich Z bewegt sich mit dem Roboter mit, und der Erfassungsbereich Z kann Objekte überlappen, wenn der Roboter ihnen näher kommt als die Distanz d. Diagramm (b) der Fig. 6 zeigt eine Situation, in der ein Hindernis H sich innerhalb des Erfassungsbereichs Z des Navigationssensors 121 des Roboters befindet. Der Roboter kann einen Teil der Kontur des Hindernisses H erkennen, im vorliegenden Beispiel ist das die Linie L auf der dem Sensor 121 zugewandten Seite des Hindernisses H. Die Linie L wird in der Karte gespeichert. Im Laufe der Erkundungsfahrt wird der Roboter das Hindernis H noch aus anderen Blickrichtungen detektieren, und so die Kontur des Hindernisses in der Karte vervollständigen können. In dem dargestellten Beispiel hat der Erfassungsbereich Z der Sensorik ein vergleichsweise kleines Blickfeld. Es gibt jedoch auch Sensoren, welche in der Lage sind, einen Bereich von 360° abzudecken. In diesem Fall, hat der Erfassungsbereich Z die Form eines (vollständigen) Kreises. Auch weitere Erfassungsbereiche sind je nach Sensor möglich und an sich bekannt. Insbesondere kann der Erfassungsbereich speziell bei Sensoren zur dreidimensionalen Erfassung der Umgebung ein Volumen wie beispielsweise ein Öffnungskegel sein.
[0056] Der Roboter 100 kennt in der Regel seine eigene Position in der Karte; Veränderungen seiner Position kann der Roboter 100 beispielsweise mittels Odometrie (z.B. mittels Radsensoren, visueller Odometrie, etc) messen. Somit„weiß" der Roboter auch, welche Bereiche des Robotereinsatzgebietes er bereits erkundet hat und kann diese erkundeten Bereiche in der Karte als„erkundet" markieren. In dem in Fig. 7 dargestellten Beispiel um- fasst der erkundete Bereich E alle Punkte des Robotereinsatzgebietes, die sich während der Erkundungsfahrt zumindest einmal in dem (mit dem Roboter 100 mitbewegten) Erfassungsbereich Z befunden haben. Die nicht als erkundet markierten Bereiche der Karte kön- nen als„weiße Flecken" betrachtet werden, über die dem Roboter (noch) keine Informationen vorliegen. Es sei an dieser Stelle noch angemerkt, dass ein in dem Erfassungsbereich Z befindliches Objekt H einen Teil des Erfassungsbereichs abschattet und diesen effektiv kleiner machen (siehe Diagramm (b) in Fig. 6).
[0057] Die Figuren 8 bis 10 illustrieren die fortschreitende Erkundung eines Robotereinsatzgebietes mit mehreren Zimmern. Figur 8 zeigt eine Situation kurz nach dem Beginn einer Erkundungsfahrt. Das dargestellte Robotereinsatzgebiet entspricht dem aus den Fig. 3 und 4. In dem vorliegenden Beispiel startet die Erkundungsfahrt in dem in der Darstellung oberen Bereich des Schlafzimmers (vgl. Fig. 4, Raum 10). Der einfach halber wird angenommen, dass der Erfassungsbereich Z des Navigationssensors 121 360° abdeckt und daher kreisförmig ist. Der mit Z bezeichnete Kreis kennzeichnet den theoretischen maximalen Erfassungsbereich des Sensors 121. Dementsprechend ist die Begrenzung EB des erkundeten Bereichs E durch die erkannten Hindernisse um den Roboter herum und zwei Kreisbögen gegeben.
[0058] Der Roboter 100 kann nun eine Teilgebietsdetektion durchführen, um ein erstes Referenzteilgebiet R (bzw. dessen Grenzen) festzulegen. Das Referenzteilgebiet R ist beispielsweise zum einen durch die erkannten Hindernisse begrenzt. Zum zweiten werden zwei virtuelle vorläufige Begrenzungslinien definiert. Da es für ihre Lage keine weiteren Anhaltspunkte gibt, werden sie beispielsweise als Geraden festgelegt, die orthogonal zu den erkannten Hindernissen liegen, welche die Begrenzung EB des erkundeten Bereichs E berühren (siehe Fig. 8, waagerecht und senkrecht liegende gestrichelte Tangenten an die Kreisbögen EB).
[0059] Um das Referenzteilgebiet weiter zu erkunden kann der Roboter beispielsweise versuchen zu einer der Begrenzungslinien des erkundeten Bereichs EB hin zu fahren, die nicht durch ein detektiertes Hindernis (z.B. Wand, Bett, Kommode, etc.) gebildet werden. Im vorliegenden Beispiel fährt der Roboter nach unten in den auf der Karte unten liegenden Bereich des Zimmers 10 während er weiter laufend Messungen durchführt und Hindernisse in seiner Umgebung detektiert und in seiner Karte speichert. Diese Situation ist in Fig. 9 dargestellt. Wie man in Fig. 9 sehen kann, hat sich im vgl. zur Fig. 8 der erkundete Bereich E vergrößert, wobei eine Ecke der Wand links neben dem Roboter das Sichtfeld des Sensors 121 des Roboters 100 teilweise abschattet. In der dargestellten Situation liegt ein Teil eines Türdurchgangs (hin zum Flur 20) bereits in dem erkundeten Gebiet E. Bei einer erneuten Teilgebietsdetektion ergeben sich andere Grenzen für das Referenzteilgebiet R. Bei der Teilgebietsdetektion können weitere, vordefinierte Annahmen einfließen, bei- spielswiese die Annahme, dass ein Zimmer eine im Wesentlichen rechteckige Grundfläche aufweist. Gemäß Fig. 9 werden die Begrenzungslinien so gewählt, dass das Referenzteilgebiet eine im Wesentlichen rechteckige Fläche ist, welche den Großteil des erkundeten Gebiets beinhaltet. Die untere Begrenzungslinie des Referenzteilgebiets R (waagrechte gestrichelte Linie in Fig. 9) wird beispielsweise generiert, indem die Kontur der Wand verlängert wird. Die linke Begrenzungslinie des Referenzteilgebiets R (senkrechte gestrichelte Linie in Fig. 9) wird beispielsweise rechtwinklig dazu festgelegt, so dass keine Begrenzungslinie des erkundeten Bereichs EB diese schneidet (sondern nur im oberen Bereich berührt).
[0060] Aufgrund der Festlegung des Referenzteilgebietes R fährt der Roboter 100 nun nicht durch den Türdurchgang in das benachbarte Zimmer, denn damit würde er ja das Referenzteilgebiet verlassen. Stattdessen bleibt der Roboter 100 in dem Referenzteilgebiet R und erkundet den zuvor noch nicht erkundeten Bereich (weißer Fleck) links unten (in der Karte) und das erkundete Gebiet E wächst weiter an und umfasst nun beinahe das gesamte Zimmer (siehe Fig. 2, Schlafzimmer 10). Diese Situation ist in Fig. 10 dargestellt. Bei der erneuten Teilgebietsdetektion erkennt der Roboter 100 den Türdurchgang zum benachbarten Zimmer (siehe Fig. 4, Flur 20), der als Linie D in die Karte eingetragen ist und zur Festlegung einer Begrenzungslinie zwischen zwei Teilgebieten genutzt wird. Deshalb wird der Roboter den bereits erkundeten Bereich auf der anderen Seite der Linie D einem weiteren (neuen, bisher noch nicht detektierten) Teilgebiet T zuordnen. In der in Fig. 10 dargestellten Situation liefert die Teilgebietsdetektion also zwei Teilgebiete, das Referenzteilgebiet R und das weitere Teilgebiet T.
[0061] Ausgehend von der in Fig. 10 dargestellten Situation wird der Roboter nicht direkt in das nächste Teilgebiet T fahren (obwohl es sehr nahe beim Roboter 100 liegt), um dort die Erkundung fortzusetzen, sondern zunächst den im Referenzgebiet R noch vorhandenen „weißen Fleck" (in der Karte links oben) erkunden. Danach wird der Roboter feststellen, dass das Referenzteilgebiet R vollständig erkundet ist, da es ausschließlich von Hindernissen (z.B. Wänden, Möbel, etc.) oder einer Begrenzungslinie zwischen zwei Teilgebieten (der Linie D, Türdurchgang) begrenzt ist. Erst danach fährt der Roboter in das weitere Teilgebiet T, welches als neues Referenzteilgebiet definiert wird, und setzt dort seine Erkundungsfahrt fort. [0062] Fig. 11 zeigt den Roboter 100 bei der Erkundung des Teilgebiets T, welches nun das Referenzteilgebiet ist. Nachdem der Roboter 100 durch den Türdurchgang durchgefahren ist, ist er in dem dargestellten Beispiel links abgebogen und dem Flur (vgl. Fig. 4, Flur 20) in Richtung des Wohnzimmers (vgl. Fig. 4, Wohnzimmer 30) gefolgt. In Fig. 11 sind wieder die Grenzen EB des erkundeten Bereichs E dargestellt sowie die bei der Teilbe- reichsdetektion festgelegten (aktualisierten) Grenzen des Referenzteilgebietes T. Die Begrenzung slinien auf der rechten und linken Seite des Referenzteilgebietes T sind gerade Linien, welche rechtwinklig zu einer detektierten Wand verlaufen und die Grenzen EB des erkundeten Bereichs tangieren. In der Darstellung gemäß Fig. 11 erstreckt sich der erkundete Bereich E bereits in das benachbarte Zimmer (vgl. Fig. 4, Wohnzimmer 30), wobei der Roboter 100 den Türdurchgang zum Wohnzimmer noch nicht als solchen erkannt hat. Deshalb setzt der Roboter 100 die Erkundungsfahrt bis in das benachbarte Zimmer hinein fort und kommt in eine Situation, die in Fig. 11 dargestellt ist.
[0063] In dem in Fig. 11 dargestellten Beispiel erkennt der Roboter 100 den Türdurchgang D' erst, nachdem er durch diesen durchgefahren ist. Eine anschließende Teilgebiets- detektion führt (aufgrund des nun erkannten Türdurchgangs D') zu der Detektion eines weiteren Teilgebietes U. In dieser Situation kann der Roboter erkennen, dass er sich nicht mehr im Referenzteilgebiet T befindet, obwohl dieses noch nicht vollständig erkundet ist (links ist das Referenzteilgebiet noch nicht durch ein detektiertes Hindernis oder ein weiteres bereits erkanntes Teilgebiet begrenzt und deshalb unvollständig erkundet). Der Roboter 100 wird also in das Referenzteilgebiet T zurückfahren und dieses weiter erkunden.
[0064] In der in Fig. 13 dargestellten Situation hat der Roboter 100 auch den linken Bereich des Referenzteilgebietes T erkundet, und der Roboter wird detektieren, dass das Referenzteilgebiet T nun vollständig erkundet ist, da es ausschließlich von detektierten Konturen von Hindernissen (Wänden) und detektierten benachbarten Teilgebieten R und U begrenzt wird. Ausgehend von der in Fig. 13 dargestellten Situation wird der Roboter nun das Teilgebiet U als neues Referenzteilgebiet wählen (weil dieses noch nicht vollständig erkundet ist) und die Erkundungsfahrt dort fortsetzen.
[0065] In einer einfachen Variante des hier beschriebenen Verfahrens ist die Teilgebiets- detektion reduziert auf eine Detektion der Türdurchgänge. Die Detektion eines (offenen) Türdurchganges impliziert die Detektion eines benachbarten Raumes. Das heißt, die Teil- gebietsdetektion detektiert während der Erkundungsfahrt praktisch nur verschiede Räume als unterschiedliche Teilgebiete. Im Übrigen ist dieses Ausführungsbeispiel gleich oder ähnlich zu den zuvor beschriebenen Ausführungsbeispielen. Der Roboter wird erst einen Raum vollständig erkunden, bevor er einen Türdurchgang durchfährt, um die Erkundungsfahrt in einem benachbarten Raum fortzusetzen. Sofern der Roboter zufällig in einen Benachbarten Raum fährt, beispielsweise weil ein Türdurchgang erst als solcher erkannt wird, nachdem der Roboter diesen Türdurchgang als solchen detektiert hat, kann der Roboter feststellen, dass er den zuvor erkundeten Raum verlassen hat, obwohl dieser noch nicht vollständig erkundet ist. In dieser Situation wird der Roboter die Erkundungsfahrt in dem Raum, in dem er sich aktuell befindet, beenden und den zuvor zufällig durchfahrenen Türdurchgang nochmal (in die entgegengesetzte Richtung) durchfahren, auf diese Weise in den zuvor erkundeten Raum zurückkehren und dieser weiter erkunden.
[0066] Die hier beschriebenen Verfahren können in Form von Software implementiert sein. Die Software kann auf einem Roboter, auf einem Mensch-Maschine-Schnittstelle (hu- man-machine Interface, HMI) und/oder auf einem beliebigen anderen Computer wie insbesondere einem Home-Server oder einem Cloud-Server ausgeführt werden. Insbesondere können einzelne Teile des Verfahrens mittels Software implementiert sein, die in verschieden Softwaremodule unterteilt sein kann und die auf verschiedenen Geräten ausgeführt werden können. Wenn der Roboter„etwas macht" (z.B. einen Verfahrensschritt ausführt) kann dieser Vorgang (z.B. Verfahrens schritt) von der Steuereinheit 150 initiiert worden sein (vgl. Fig. 2). Diese Steuereinheit 150 kann (ggf. zusammen mit anderen Einheiten) ein Steuergerät für den autonomen mobilen Roboter bilden, das sämtliche Funktionen und Verhaltensweisen des autonomen und mobilen Roboters steuert (unter anderem mit Hilfe anderer im Roboter vorhandener Einheiten und Module).

Claims

PATENTANSPRÜCHE
1. Verfahren zur Erkundung eines Robotereinsatzgebietes durch einen autonomen mobilen Roboter, wobei das Verfahren umfasst:
Starten einer Erkundungsfahrt, wobei der Roboter während der Erkundungsfahrt folgendes durchführt:
Detektieren von Objekten in der Umgebung des Roboters und speichern detektierter Objekte als Kartendaten in einer Karte während der Roboter sich durch das Robotereinsatzgebiet bewegt;
Durchführen einer Teilgebietsdetektion basierend auf den gespeicherten Kartendaten, wobei zumindest ein Referenzteilgebiet detektiert wird;
Prüfen, ob das Referenzteilgebiet vollständig erkundet ist; Wiederholen der Teilgebietsdetektion zur Aktualisierung des Referenzteilgebietes und Wiederholen der Prüfung, ob das aktualisierte Referenzteilgebiet vollständig erkundet ist, und Fortsetzen der Erkundung des aktualisierte Referenzteilgebiets, bis dass die Prüfung ergibt, dass das aktualisierte Referenzteilgebiet vollständig erkundet ist; und anschließend Fortsetzen der Erkundungsfahrt in dem weiteren Teilgebiet, sofern ein weiteres Teilgebiet detektiert wurde, wobei das weitere Teilgebiet als Referenzteilgebiet verwendet wird.
2. Das Verfahren gemäß Anspruch 1,
wobei zur Aktualisierung des Referenzteilgebietes die Teilgebietsdetektion sowohl die aktuellen Kartendaten als auch die bisherigen Grenzen des Referenzteilgebietes berücksichtigt.
3. Das Verfahren gemäß Anspruch 2,
wobei zur Aktualisierung des Referenzteilgebietes der Teil des Robotereinsatzgebietes, der bereits erkundet wurde, in ein oder mehrere Teilgebiete gegliedert wird, wobei aus den detektierten Teilgebieten das Referenzteilgebiet nach vordefinierten Kriterien ausgewählt wird.
4. Das Verfahren gemäß Anspruch 3, wobei aus den detektierten Teilgebieten jenes als Referenzteilgebiet ausgewählt wird, welches mit dem zuvor ermittelten Referenzteilgebiet die größte Überlappung aufweist.
5. Das Verfahren gemäß einem der Ansprüche 1 bis 4,
wobei für die Teilgebietsdetektion zumindest eine der folgenden auf den Kartendaten basierenden Informationen genutzt wird: Position von Wänden und/oder anderen Hindernissen, Position von Türdurchgängen, Bodenbelagsgrenzen, Bodenstruktur, Deckenstruktur, Wandstruktur, vorgebbare geometrische Eigenschaften eines Teilgebiets, wie beispielsweise eine minimale oder eine maximale Größe eines Teilgebiets.
6. Das Verfahren gemäß einem der Ansprüche 1 bis 5,
wobei bei der Teilgebietsdetektion die Begrenzungslinien eines Teilgebietes zumindest teilweise prädiktiv ermittelt werden, insbesondere indem Konturen bereits erkannter Objekte verlängert und als Begrenzungslinien verwendet werden und/oder indem nach vordefinierten Kriterien ermittelte Geraden als Begrenzungslinien verwendet werden, die jenen Teil des Robotereinsatzgebietes, der bereits erkundet wurde, berühren.
7. Das Verfahren gemäß einem der Ansprüche 1 bis 6,
wobei der Roboter nach einer Teilgebietsdetektion prüft, ob er sich noch in dem Referenzteilgebiet befindet, und, falls nicht, er in dieses zurück fährt.
8. Das Verfahren gemäß einem der Ansprüche 1 bis 7,
wobei das die Teilgebietsdetektion wiederholt wird, wenn der Roboter zumindest eines der folgenden Ereignisse feststellt:
ein bestimmtes Zeitintervall ist seit der letzten Teilgebietsdetektion abgelaufen,
der Roboter hat seit der letzten Teilgebietsdetektion eine bestimmte Wegstrecke zurückgelegt;
seit der letzten Teilgebietsdetektion ist der erkundete Bereich des Robotereinsatzgebietes um eine bestimmte Fläche angewachsen;
der Aufwand für die weitere Erkundung des Referenzteilgebietes übersteigt einen bestimmten Wert, wobei der Aufwand mit einer Kostenfunktion bewertet wird; und der Roboter hat einen für Erkundung ermittelten Zielpunkt erreicht.
9. Das Verfahren gemäß einem der Ansprüche 1 bis 8,
wobei ein Referenzteilgebiet gespeichert und nicht mehr verändert wird, nachdem der Roboter festgestellt hat, dass es vollständig erkundet ist.
10. Das Verfahren gemäß Anspruch 9,
wobei - wenn die Erkundung in einem weiteren Teilgebiet als Referenzteilgebiet fortgesetzt wird - das (die) vorherige(n) Referenzteilgebiet(e) bei der weiteren Teil- gebietsdetektion dahingehend berücksichtigt werden, dass dessen (deren) Begrenzungslinien nicht mehr verändert und/oder dass dessen (deren) Begrenzungslinien für die Ermittlung von Begrenzungslinien weiterer Teilgebiete berücksichtigt werden.
11. Das Verfahren gemäß einem der Ansprüche 1 bis 10,
wobei der Roboter ein Reinigungsroboter ist, und er ein Referenzteilgebiet reinigt, nachdem er festgestellt hat, dass es vollständig erkundet ist und bevor er die Erkundung in einem weiteren Teilgebiet als Referenzteilgebiet fortsetzt.
12. Das Verfahren gemäß einem der Ansprüche 1 bis 11,
wobei der Roboter jene Bereiche des Roboterteilgebiets als erkundet in der Karte markiert, welche während der Erkundungsfahrt zumindest einmal innerhalb eines Erfassungsbereichs eines Navigationssensors des Roboters gelegen sind.
13. Das Verfahren gemäß Anspruch 12,
wobei der Roboter mittels des Navigationssensors innerhalb des Erfassungsbereichs des Navigations sensors Objekte detektiert, indem berührungslos der Abstand zwischen Navigationssensor und mehreren Punkten eines Objekts gemessen wird.
14. Das Verfahren gemäß einem der Ansprüche 1 bis 13, das weiter umfasst,
Beenden der Erkundungsfahrt, falls ein Fortsetzen der Erkundungsfahrt nicht möglich ist, weil kein weiteres Teilgebiet mehr detektiert wurde; und
erneutes Durchführen einer Teilgebietsdetektion basierend auf den Kartendaten betreffend das vollständig erkundete Robotereinsatzgebiet.
15. Das Verfahren gemäß einem der Ansprüche 1 bis 13, das weiter umfasst, Beenden der Erkundungsfahrt, falls ein Fortsetzen der Erkundungsfahrt nicht möglich ist, weil kein weiteres Teilgebiet mehr detektiert wurde; und
Zurückkehren zu einem Ausgangspunkt, an dem der Roboter gestartet ist o- der Anfahren einer Basisstation, die während der Erkundungsfahrt detektiert wurde.
16. Verfahren zur Erkundung eines Robotereinsatzgebiets durch einen autonomen mobilen Roboter, wobei das Verfahren umfasst:
Starten einer Erkundungsfahrt in einem ersten von mehreren Räumen des Robotereinsatzgebietes, welche durch Türdurchgänge verbunden sind, wobei der Roboter während der Erkundungsfahrt folgendes durchführt:
Detektieren von Objekten in der Umgebung des Roboters und speichern detektierter Objekte als Kartendaten in einer Karte, während der Roboter sich durch das Robotereinsatzgebiet bewegt;
Detektieren eines oder mehrerer Türdurchgänge;
Prüfen, ob der erste Raum bereits vollständig erkundet ist, und Fortsetzen der Erkundungsfahrt im ersten Raum, bis dass die Prüfung ergibt, dass der erste Raum vollständig erkundet ist; und anschließend Fortsetzen der Erkundungsfahrt in einem weiteren Raum.
17. Verfahren gemäß Anspruch 16,
wobei ein Türdurchgang detektiert werden kann, bevor, während oder nachdem er durchfahren wurde, und
wobei der Roboter, falls er einen Türdurchgang durchfahren hat, bevor der erste Raum vollständig erkundet wurde, den Türdurchgang in entgegengesetzte Richtung durchfährt, um in den ersten Raum zurückzukehren.
18. Verfahren zum Steuern eines autonomen mobilen Roboters, das folgendes umfasst:
Entgegennehmen einer Nutzereingabe durch den autonomen mobilen Roboter,
Festlegen eines Betriebsmodus nach Maßgabe der Nutzereingabe, wobei der Roboter sich in einem Robotereinsatzgebiet befindet und
in einem ersten Betriebsmodus das Robotereinsatzgebiet gemäß einem Verfahren gemäß einem der Ansprüche 1 bis 17 erkundet und dabei eine Karte neu erstellt, in einem zweiten Betriebsmodus das Robotereinsatzgebiet gemäß einem Verfahren gemäß einem der Ansprüche 1 bis 17 erkundet, dabei eine Karte neu erstellt und eine Tätigkeit durchführt, insbesondere das Robotereinsatzgebiet reinigt, und
in einem dritten Betriebsmodus in dem Robotereinsatzgebiet eine Tätigkeit durchführt, insbesondere das Robotereinsatzgebiet reinigt, wobei für die Navigation in dem Robotereinsatzgebiet eine zuvor erstellte und gespeicherte Karte verwendet wird.
19. Robotersteuergerät für einen autonomen, mobilen Roboter, die folgendes aufweist:
einen Speicher zum Speichern von Softwareinstruktionen; mindestens einen Prozessor, der dazu ausgebildet ist, die Softwareinstruktionen auszuführen, wobei der Prozessor, wenn die Softwareinstruktionen ausgeführt werden, das Robotersteuergerät dazu veranlasst, ein Verfahren gemäß einem der Ansprüche 1 bis 17 auszuführen.
PCT/EP2018/074607 2017-09-12 2018-09-12 Exploration einer unbekannten umgebung durch einen autonomen mobilen roboter WO2019053062A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020535308A JP2020533720A (ja) 2017-09-12 2018-09-12 自律移動ロボットによる未知の環境の探索
EP18769346.0A EP3682305B1 (de) 2017-09-12 2018-09-12 Exploration einer unbekannten umgebung durch einen autonomen mobilen roboter
CN201880072993.XA CN111328386A (zh) 2017-09-12 2018-09-12 通过自主移动机器人对未知环境的探察
US16/645,997 US20210131822A1 (en) 2017-09-12 2018-09-12 Exploration of an unknown environment by an autonomous mobile robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102017121128.4 2017-09-12
DE102017121128 2017-09-12

Publications (1)

Publication Number Publication Date
WO2019053062A1 true WO2019053062A1 (de) 2019-03-21

Family

ID=63579352

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/074607 WO2019053062A1 (de) 2017-09-12 2018-09-12 Exploration einer unbekannten umgebung durch einen autonomen mobilen roboter

Country Status (5)

Country Link
US (1) US20210131822A1 (de)
EP (1) EP3682305B1 (de)
JP (1) JP2020533720A (de)
CN (1) CN111328386A (de)
WO (1) WO2019053062A1 (de)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111721280A (zh) * 2020-05-25 2020-09-29 科沃斯机器人股份有限公司 一种区域识别方法、自移动设备及存储介质
CN111813111A (zh) * 2020-06-29 2020-10-23 佛山科学技术学院 一种多机器人协同工作方法
CN113805590A (zh) * 2021-09-23 2021-12-17 云南民族大学 一种基于边界驱动的室内机器人自主探索方法及系统
EP3987995A4 (de) * 2020-05-30 2022-11-16 Amicro Semiconductor Co., Ltd. Arbeitsbereicherweiterungsverfahren auf der grundlage einer laserkarte sowie chip und roboter
EP3951544A4 (de) * 2019-04-02 2022-12-28 Beijing Roborock Innovation Technology Co., Ltd. Verfahren und vorrichtung zur erstellung einer roboterarbeitsbereichskarte, roboter und medium
JP2023501569A (ja) * 2020-06-12 2023-01-18 珠海一微半導体股▲ふん▼有限公司 ロボットがエッジに沿って走行する領域清掃計画方法、チップおよびロボット
US11656082B1 (en) * 2017-10-17 2023-05-23 AI Incorporated Method for constructing a map while performing work

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3907575B1 (de) * 2019-01-03 2023-09-06 Ecovacs Robotics Co., Ltd. Verfahren zur dynamischen bereichseinteilung und bereichskanalidentifizierung sowie ein reinigungsroboter
JP2022539936A (ja) * 2019-01-16 2022-09-14 ハイ ロボティクス カンパニー リミテッド 障害物回避方法、装置及び倉庫ロボット
TWI683197B (zh) * 2019-03-19 2020-01-21 東元電機股份有限公司 移動平台圖資校正系統
CN109946715B (zh) * 2019-04-09 2021-06-25 云鲸智能科技(东莞)有限公司 探测方法、装置、移动机器人及存储介质
CN110362079B (zh) * 2019-07-11 2022-07-08 珠海一微半导体股份有限公司 机器人的遍历控制方法和芯片以及清洁机器人
KR20210051014A (ko) * 2019-10-29 2021-05-10 엘지전자 주식회사 로봇 청소기 및 그의 동작 방법
CN111857156B (zh) * 2020-08-02 2024-04-02 珠海一微半导体股份有限公司 一种基于激光的机器人区域划分方法、芯片及机器人
CN112015175A (zh) * 2020-08-12 2020-12-01 深圳华芯信息技术股份有限公司 用于移动机器人的房间分割方法、系统、终端以及介质
CN112180940A (zh) * 2020-10-16 2021-01-05 三一机器人科技有限公司 用于有反定位的建图方法及装置、车辆运行方法及装置
CN112790669A (zh) * 2020-12-30 2021-05-14 北京奇虎科技有限公司 扫地机清扫方法、设备以及存储介质
JP2022113054A (ja) * 2021-01-22 2022-08-03 ソニーグループ株式会社 情報処理装置、情報処理方法、プログラムおよび移動装置
US20220397914A1 (en) * 2021-06-04 2022-12-15 Ubtech North America Research And Development Center Corp Fast continuous regulation of nonholonomic mobile robots
DE102021206121B3 (de) * 2021-06-16 2022-12-22 BSH Hausgeräte GmbH Regelmäßiges Reinigen eines Haushalts
CN113741446B (zh) * 2021-08-27 2024-04-16 深圳市优必选科技股份有限公司 一种机器人自主探索的方法、终端设备及存储介质
CN114595354A (zh) * 2022-01-04 2022-06-07 北京石头创新科技有限公司 机器人的建图方法、装置、机器人和存储介质
CN114543808A (zh) * 2022-02-11 2022-05-27 杭州萤石软件有限公司 室内重定位方法、装置、设备及存储介质
CN114589708B (zh) * 2022-02-28 2023-11-07 华南师范大学 基于环境信息的室内自主探索方法、装置及机器人
CN116182840B (zh) * 2023-04-28 2023-07-25 科大讯飞股份有限公司 地图构建方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050212680A1 (en) * 2004-03-25 2005-09-29 Funai Electric Co., Ltd. Self-propelled cleaner
EP2287697A2 (de) 2001-06-12 2011-02-23 iRobot Corporation Verfahren und System zur multimodalen Bedeckung für einen autonomen Roboter
DE102010017689A1 (de) 2010-07-01 2012-01-05 Vorwerk & Co. Interholding Gmbh Selbsttätig verfahrbares Gerät sowie Verfahren zur Orientierung eines solchen Gerätes
US20150212520A1 (en) * 2012-09-24 2015-07-30 RobArt GmbH Robot And Method For Autonomous Inspection Or Processing Of Floor Areas
US20160297072A1 (en) * 2015-04-09 2016-10-13 Irobot Corporation Restricting movement of a mobile robot
EP3184013A1 (de) * 2014-08-20 2017-06-28 Samsung Electronics Co., Ltd Reinigungsroboter und steuerungsverfahren dafür

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3198532B2 (ja) * 1991-05-14 2001-08-13 松下電器産業株式会社 自走式掃除機
JP2005275898A (ja) * 2004-03-25 2005-10-06 Funai Electric Co Ltd 自走式掃除機
KR100791382B1 (ko) * 2006-06-01 2008-01-07 삼성전자주식회사 로봇의 이동 경로에 따라 소정 영역의 특성에 관한 정보를수집하고 분류하는 방법 및 상기 영역 특성에 따라제어되는 로봇, 상기 영역 특성을 이용한 ui 구성 방법및 장치
KR100843085B1 (ko) * 2006-06-20 2008-07-02 삼성전자주식회사 이동 로봇의 격자지도 작성 방법 및 장치와 이를 이용한영역 분리 방법 및 장치
JP2008027267A (ja) * 2006-07-24 2008-02-07 Matsushita Electric Ind Co Ltd 自走式機器およびそのプログラム
DE102009041362A1 (de) * 2009-09-11 2011-03-24 Vorwerk & Co. Interholding Gmbh Verfahren zum Betreiben eines Reinigungsroboters
RU2012122469A (ru) * 2009-11-06 2013-12-20 Эволюшн Роботикс, Инк. Способы и системы для полного охвата поверхности автономным роботом
DE102012201870A1 (de) * 2012-02-08 2013-08-08 RobArt GmbH Verfahren zum automatischen Auslösen einer Selbstlokalisierung
KR102158695B1 (ko) * 2014-02-12 2020-10-23 엘지전자 주식회사 로봇 청소기 및 이의 제어방법
KR102431994B1 (ko) * 2014-09-24 2022-08-16 삼성전자주식회사 청소 로봇 및 청소 로봇의 제어 방법
EP3234713B1 (de) * 2014-12-16 2022-06-15 Aktiebolaget Electrolux Reinigungsverfahren für eine robotische reinigungsvorrichtung
DE102014226084A1 (de) * 2014-12-16 2016-06-16 Robert Bosch Gmbh Verfahren zur Kartierung einer Bearbeitungsfläche für autonome Roboterfahrzeuge
DE102015119501A1 (de) * 2015-11-11 2017-05-11 RobArt GmbH Unterteilung von Karten für die Roboternavigation
JP7058067B2 (ja) * 2016-02-16 2022-04-21 東芝ライフスタイル株式会社 自律走行体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2287697A2 (de) 2001-06-12 2011-02-23 iRobot Corporation Verfahren und System zur multimodalen Bedeckung für einen autonomen Roboter
US20050212680A1 (en) * 2004-03-25 2005-09-29 Funai Electric Co., Ltd. Self-propelled cleaner
DE102010017689A1 (de) 2010-07-01 2012-01-05 Vorwerk & Co. Interholding Gmbh Selbsttätig verfahrbares Gerät sowie Verfahren zur Orientierung eines solchen Gerätes
US20150212520A1 (en) * 2012-09-24 2015-07-30 RobArt GmbH Robot And Method For Autonomous Inspection Or Processing Of Floor Areas
EP3184013A1 (de) * 2014-08-20 2017-06-28 Samsung Electronics Co., Ltd Reinigungsroboter und steuerungsverfahren dafür
US20160297072A1 (en) * 2015-04-09 2016-10-13 Irobot Corporation Restricting movement of a mobile robot

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D. LEE: "The Map-Building and Exploration Strategies of a Simple Sonar-Equipped Mobile Robot", 1996, CAMBRIDGE UNIVERSITY PRESS
TREVOR HASTIE; ROBERT TIBSHIRANI; JEROME FRIEDMAN: "The Elements of Statistical Learning", 2008, SPRINGER-VERLAG

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11656082B1 (en) * 2017-10-17 2023-05-23 AI Incorporated Method for constructing a map while performing work
EP3951544A4 (de) * 2019-04-02 2022-12-28 Beijing Roborock Innovation Technology Co., Ltd. Verfahren und vorrichtung zur erstellung einer roboterarbeitsbereichskarte, roboter und medium
CN111721280A (zh) * 2020-05-25 2020-09-29 科沃斯机器人股份有限公司 一种区域识别方法、自移动设备及存储介质
EP3987995A4 (de) * 2020-05-30 2022-11-16 Amicro Semiconductor Co., Ltd. Arbeitsbereicherweiterungsverfahren auf der grundlage einer laserkarte sowie chip und roboter
JP2023501569A (ja) * 2020-06-12 2023-01-18 珠海一微半導体股▲ふん▼有限公司 ロボットがエッジに沿って走行する領域清掃計画方法、チップおよびロボット
JP7336118B2 (ja) 2020-06-12 2023-08-31 珠海一微半導体股▲ふん▼有限公司 ロボットがエッジに沿って走行する領域清掃計画方法、チップおよびロボット
CN111813111A (zh) * 2020-06-29 2020-10-23 佛山科学技术学院 一种多机器人协同工作方法
CN111813111B (zh) * 2020-06-29 2024-02-20 佛山科学技术学院 一种多机器人协同工作方法
CN113805590A (zh) * 2021-09-23 2021-12-17 云南民族大学 一种基于边界驱动的室内机器人自主探索方法及系统

Also Published As

Publication number Publication date
EP3682305A1 (de) 2020-07-22
US20210131822A1 (en) 2021-05-06
JP2020533720A (ja) 2020-11-19
EP3682305B1 (de) 2023-04-12
CN111328386A (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
EP3682305B1 (de) Exploration einer unbekannten umgebung durch einen autonomen mobilen roboter
EP3814067B1 (de) Exploration eines robotereinsatzgebietes durch einen autonomen mobilen roboter
DE102017121127A1 (de) Exploration einer unbekannten Umgebung durch einen autonomen mobilen Roboter
EP3494446B1 (de) Verfahren und vorrichtung zur steuerung eines autonomen mobilen roboters
EP3659001B1 (de) Magnetometer für die roboternavigation
EP3590014B1 (de) Verfahren zur steuerung eines autonomen, mobilen roboters
EP3417350B1 (de) Verfahren zur steuerung eines autonomen mobilen roboters
EP3374834A2 (de) Unterteilung von karten für die roboternavigation
DE102016114594A1 (de) Verfahren zur Steuerung eines autonomen mobilen Roboters
EP3676680A1 (de) Bewegungsplanung für autonome mobile roboter
EP2812766B1 (de) Verfahren zum automatischen auslösen einer selbstlokalisierung
EP2898382B1 (de) Roboter und verfahren zur autonomen inspektion oder bearbeitung von bodenflächen
EP3619585B1 (de) Verfahren zur steuerung von reinigungsgeräten
EP3709853B1 (de) Bodenbearbeitung mittels eines autonomen mobilen roboters
DE102017104427A1 (de) Verfahren zur Steuerung eines autonomen, mobilen Roboters
DE102011006062B4 (de) Verfahren zur autonomen Inspektion einer Umgebung oder Bearbeitung von Bodenflächen
DE102017104428A1 (de) Verfahren zur Steuerung eines autonomen, mobilen Roboters
EP3367200A1 (de) Verfahren zum betrieb eines sich selbsttätig fortbewegenden roboters
DE102016114593A1 (de) Verfahren zur Steuerung eines autonomen mobilen Roboters
EP3555721A1 (de) Verfahren zur erstellung einer umgebungskarte für ein bearbeitungsgerät

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18769346

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020535308

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018769346

Country of ref document: EP

Effective date: 20200414