Dividing mapping method and apparatus for map generation, and mobile robot using the same

The segmented mapping method for mobile robots addresses errors in map generation by dividing spaces into regions and aligning sensor data, ensuring accurate and efficient map creation for autonomous navigation.

WO2025225825A1PCT designated stage Publication Date: 2025-10-30RAINBOW ROBOTICS INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/001054
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-24
Filing Date
2025-01-20
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing methods for generating maps for autonomous mobile robots, such as serving robots, face challenges with increased errors in map generation as the operating space expands, leading to failures in the map creation process.

Method used

A segmented mapping method that divides the space into regions, creating separate maps using sensor data from different areas and aligning these maps to minimize distance between measurement points, reducing accumulated errors.

Benefits of technology

This approach allows for accurate and efficient map creation for autonomous driving by minimizing errors in large spaces, enabling precise navigation and collision avoidance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025001054_30102025_PF_FP_ABST
    Figure KR2025001054_30102025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to a dividing mapping method and apparatus for map generation, and a mobile robot using same, the method comprising the steps of: generating a first map for a first area by using first sensor data measured through a sensor; generating a second map for a second area, which partially overlaps the first area, by using second sensor data; and constructing a map for a space by matching the first and second sensor data, wherein the step of constructing a map for a space includes calculating the relative positions of the first and second maps, which minimize the distance between the first measurement points according to the first sensor data and the second measurement points according to the second sensor data.
Need to check novelty before this filing date? Find Prior Art

Description

Method and device for segmentation mapping for map generation, and mobile robot using the same

[0001] The present invention relates to a method for generating a map for autonomous driving of a mobile robot, such as a serving robot.

[0002] Mobile robots are robots that can move under their own control, and are utilized in various forms and functions, such as robot vacuum cleaners, AGVs (Automated Guided Vehicles), AMRs (Autonomous Mobile Robots), airport guide robots, and restaurant serving robots.

[0003] Recently, the use of robots to provide services has become widespread, and development is actively underway on serving robots that can drive along a set path within a store in place of humans, or recognize obstacles along the path and transport cooked food to customers' tables.

[0004] The serving robot determines its current location while moving and recognizes surrounding terrain features along its driving path to drive autonomously. Simultaneous localization and mapping (SLAM) technology is used for this purpose.

[0005] Typically, serving robots use sensing devices such as LiDAR (Light Detection And Ranging) to identify surrounding terrain features and perform map generation and location estimation based on the identified results.

[0006] In order to perform SLAM of the serving robot as described above, a great deal of calculation and data processing is required, and as the size of the operating space increases, the accumulated errors occurring in map generation increase, causing the map generation process to fail.

[0007] The technical problem to be solved by the present invention is to provide a segmented mapping method and device that enable more easily creating a map for autonomous driving of a mobile robot, and a mobile robot using the same.

[0008] According to an embodiment of the present invention for solving the above-described problem, a method for dividing a space into a plurality of regions and mapping them to create a map comprises: a step of creating a first map for a first region using first sensor data measured by a sensor; a step of creating a second map for a second region partially overlapping the first region using second sensor data measured by the sensor; and a step of configuring a map for the space by matching the first and second sensor data; wherein the step of configuring the map for the space calculates relative positions of the first and second maps that minimize a distance between first measurement points according to the first sensor data and second measurement points according to the second sensor data.

[0009] At least some of the partition mapping methods for generating the above maps can be implemented as a computer-readable recording medium having recorded thereon a program for executing on a computer, and can be provided as a program itself.

[0010] Meanwhile, the segmentation mapping method for generating the above map can be performed by a mobile robot according to an embodiment of the present invention.

[0011] A map generation device according to an embodiment of the present invention includes a map generation unit that generates a first map for a first area using first sensor data measured through a sensor and generates a second map for a second area partially overlapping the first area using second sensor data; and a map synthesis unit that configures a map for a space by matching the first and second sensor data; wherein the map synthesis unit synthesizes the first and second maps by calculating relative positions of the first and second maps that minimize a distance between first measurement points according to the first sensor data and second measurement points according to the second sensor data.

[0012] According to an embodiment of the present invention, by repeating the process of matching sensor data and synthesizing maps for divided areas, it is possible to reduce accumulated errors that may occur when creating a map for a wide space, thereby easily creating a map for autonomous driving of a mobile robot.

[0013] FIG. 1 is a block diagram showing the overall configuration of a mobile robot system according to one embodiment of the present invention.

[0014] FIG. 2 is a block diagram showing another embodiment of the configuration of a mobile robot system according to the present invention.

[0015] FIG. 3 is a drawing for explaining the program structure of a robot operation system according to one embodiment of the present invention.

[0016] Figure 4 is a perspective view showing an example of a mobile robot.

[0017] FIG. 5 is a block diagram showing the configuration of a map generation device according to one embodiment of the present invention.

[0018] FIG. 6 is a flowchart illustrating a sensor data processing method for map generation according to one embodiment of the present invention.

[0019] Figures 7 to 12 are drawings for explaining embodiments of a map generation method performed in a mobile robot.

[0020] Fig. 13 is a block diagram showing the configuration of a map generation device according to another embodiment of the present invention.

[0021] Fig. 14 is a flowchart illustrating a segmentation mapping method for map generation according to one embodiment of the present invention.

[0022] FIGS. 15 to 21 are drawings for explaining embodiments of a segmentation mapping method performed in a mobile robot.

[0023] The following merely exemplifies the principles of the present invention. Therefore, those skilled in the art will be able to implement the principles of the present invention and invent various devices within the scope and spirit of the present invention, even if not explicitly described or illustrated herein. Furthermore, all conditional terms and embodiments listed herein are expressly intended, in principle, to facilitate understanding of the present invention, and should be understood as being in no way limiting to the specifically enumerated embodiments and conditions.

[0024] Furthermore, all detailed descriptions of the principles, aspects, and embodiments of the present invention, as well as specific embodiments, should be understood to encompass structural and functional equivalents thereof. Furthermore, such equivalents should be understood to encompass not only currently known equivalents but also equivalents developed in the future, i.e., all devices invented to perform the same function, regardless of structure.

[0025] Thus, for example, the block diagrams herein should be understood as representing conceptual views of exemplary circuits embodying the principles of the present invention. Similarly, all flowcharts, state transition diagrams, pseudocode, and the like, which may be substantially represented on a computer-readable medium, should be understood as representing various processes performed by a computer or processor, regardless of whether a computer or processor is explicitly depicted.

[0026] The functions of various components depicted in the drawings, including functional blocks represented by processors or similar concepts, may be provided using dedicated hardware as well as hardware capable of executing software in conjunction with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, a single shared processor, or multiple individual processors, some of which may be shared.

[0027] Furthermore, any explicit use of terms such as processor, controller, or similar concepts should not be construed as exclusively referring to hardware capable of executing software, but should be understood to implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM), random access memory (RAM), and non-volatile memory for storing software. Other commonly used hardware may also be included.

[0028] In the claims of this specification, a component expressed as a means for performing a function described in the detailed description is intended to include any method for performing the function, including, for example, a combination of circuit elements performing the function, or any form of software including firmware / microcode, combined with appropriate circuitry for executing said software to perform the function. The invention defined by these claims should be understood to be equivalent to any means found in this specification for providing the functions provided by the various enumerated means, as long as they are combined and combined in the manner required by the claims.

[0029] The above-described purposes, features, and advantages will become more apparent through the following detailed description, taken in conjunction with the accompanying drawings. Accordingly, those skilled in the art will be able to readily implement the technical concepts of the present invention. Furthermore, in describing the present invention, detailed descriptions of known technologies related to the present invention will be omitted if they are deemed to unnecessarily obscure the gist of the invention.

[0030] FIG. 1 is a block diagram illustrating the overall configuration of a mobile robot system according to an embodiment of the present invention. The mobile robot system (100) may be configured to include a control server (110) and a robot (120).

[0031] A robot (120) may mean a machine that automatically processes or operates a given task with its own abilities, and may be an intelligent robot that has the function of recognizing the environment, making judgments on its own, and performing actions.

[0032] Meanwhile, the robot (120) has a driving unit including an actuator or motor and can perform various physical movements, and specifically, as a mobile robot capable of moving, the driving unit includes wheels, brakes, etc. and can drive in a specific space.

[0033] In one embodiment of the present invention, the robot (120) may be a serving robot that is placed in a restaurant or the like and autonomously drives to a customer's table carrying food or the like, but the present invention is not limited thereto.

[0034] The robot (120) is capable of autonomous driving and can wirelessly communicate with a control server (110) or a call unit (not shown) mounted on a table to transmit and receive various information and perform actions accordingly.

[0035] For this purpose, the robot (120) may be equipped with various communication modules such as a mobile communication module, a wireless Internet module, and a short-range communication module.

[0036] For example, a mobile communication module can transmit and receive wireless signals with at least one of a base station, an external terminal, and a server on a mobile communication network constructed according to technical standards or communication methods for mobile communication, such as GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EVDO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed ​​Downlink Packet Access), HSUPA (High Speed ​​Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), 5G mobile communication, etc.

[0037] The wireless Internet module is a module for wireless Internet access and can be configured to transmit and receive wireless signals in a communication network according to wireless Internet technologies.

[0038] And the robot (120) can transmit and receive data with a server and various communication-capable terminals through a 5G network, and for example, can communicate data with a server or terminal using at least one service among mobile broadband (Enhanced Mobile Broadband, eMBB), URLLC (Ultra-reliable and low latency communications), and mMTC (Massive Machine-type communications) through a 5G network.

[0039] Meanwhile, artificial intelligence (AI) technology can be applied to the robot (120), and the movement path of the robot (120) can be determined through machine learning using an artificial neural network (ANN).

[0040] The robot (120) has a map required for autonomous driving and can use the map to configure a driving route to go from the current location to the target location.

[0041] To this end, the robot (120) detects its current location while driving, identifies surrounding terrain features, and such location information can be transmitted to the control server (110).

[0042] For example, a robot (120) can use simultaneous localization and mapping (SLAM) technology for autonomous driving, and SLAM is a known technology, so a detailed description thereof will be omitted.

[0043] In order to proceed with SLAM as described above, the robot (120) is equipped with a sensing means such as a Light Detection And Ranging (LiDAR) device, and can use the equipped sensing head to identify surrounding terrain features and estimate a location and create a map based on the identified results.

[0044] As illustrated in FIG. 1, a robot operation system (100) according to one embodiment of the present invention may include a plurality of robots (120 to 150) moving together within a specific space.

[0045] In this case, the control server (110) can receive location information, etc. from multiple robots (120 to 150) and generate a movement path for each robot.

[0046] According to one embodiment of the present invention, by implementing a program executed by a processor of a robot operating system to enable a control module and a user interface module to communicate bidirectionally using shared memory that can be accessed simultaneously by multiple processes, there is no need to use a separate communication method that is affected by the network environment within the robot, and program resources of an operating system for a mobile robot can be reduced by using a function for sharing data within a fixed memory.

[0047] FIG. 2 is a block diagram illustrating another embodiment of a configuration of a mobile robot system according to the present invention. Among the configurations illustrated, descriptions of those identical to those described with reference to FIG. 1 will be omitted.

[0048] Referring to FIG. 2, the operating system of the robot (120) may include a memory and at least one processor connected to the memory and configured to execute at least one computer-readable program contained in the memory.

[0049] Meanwhile, the program included in the robot (120) may include a control module (SLAM / NAV, 121) and a user interface module (UI, 123).

[0050] The control module (SLAM / NAV, 121) can control sensors and motors equipped in the robot (120) and perform path search and position estimation algorithms.

[0051] Meanwhile, the user interface module (UI, 123) can provide an interactive user interface (UI) to enable a user to manipulate the movements of the robot (120) and to show various states of the robot (120).

[0052] A robot operation system according to one embodiment of the present invention can be implemented so that a control module (SLAM / NAV, 121) and a user interface module (UI, 123) can communicate bidirectionally using shared memory that can be accessed simultaneously by multiple processes.

[0053] Additionally, the memory of the robot (120) may store log data (Log), map data (map.png, annotation.ini), and configuration data (config.ini).

[0054] The robot operation system as described above may be implemented with software and / or hardware resources necessary to implement the technical idea of ​​the present invention, and does not necessarily mean one physical component or one device.

[0055] That is, the robot operation system may mean a logical combination of software and / or hardware provided to implement the technical idea of ​​the present invention, and, if necessary, may be implemented as a set of logical configurations for implementing the technical idea of ​​the present invention by installing them in devices spaced apart from each other and performing each function.

[0056] Additionally, the term "module" in this specification may refer to a functional and structural combination of hardware for implementing the technical concepts of the present invention and software for operating the hardware. For example, a module may refer to a logical unit of a given code and the hardware resources required to execute the code, and does not necessarily refer to physically connected code or a single type of hardware.

[0057] According to another embodiment of the present invention, by enabling the operating system of the robot (120) and the control server (110) to communicate using LCM (Lightweight Communication and Marshalling) communication, the communication delay time between the robot (120) and the control server (110) is reduced, thereby reducing the possibility of collision between multiple robots.

[0058] Specifically, the operating system of the robot (120) can be implemented so that the control module (SLAM / NAV, 121) and the control server (110) transmit and receive robot location and path information using LCM communication.

[0059] For example, a control server (110) is installed in the store to control the robots separately, and the control server (110) can reduce the communication delay time with the robots (120) by using LCM communication and generate a path by taking into account the location of each robot, etc.

[0060] LCM is a very lightweight communication method that minimizes data marshaling as a message and data transmission library, reduces communication delay time, and does not take up much program resources. Through fast data transmission and reception in short-distance communication of the same bandwidth, the control server (110) can quickly check the location of each of multiple robots (120 to 150) and prevent collisions between the robots.

[0061] According to another embodiment of the present invention, by using REST (Representational State Transfer) API to share data between the operating system of the robot (120) and the remote server (200), the status of the robot (120) can be easily checked on the web.

[0062] Here, REST API is an application program interface that consists of resources, verbs, and representations, and is used to exchange status information about resources by distinguishing them by name.

[0063] Specifically, the operating system of the robot (120) can be implemented to share map and setting information between the user interface module (UI, 123) and the remote server (200) using REST API.

[0064] For example, by building a remote server (200), the robot (120) can receive program version and setting-related changes through a REST API, and upload maps and setting files, etc. to the remote server (200) to check the status of the robot (120) on the web.

[0065] FIG. 3 is a diagram illustrating a program structure of a robot operating system according to an embodiment of the present invention. Among the illustrated configurations, descriptions of those identical to those described with reference to FIG. 1 and FIG. 2 will be omitted.

[0066] Referring to FIG. 3, the control module (SLAM / NAV, 121) and the user interface module (UI, 123) can be driven by a single PC (Personal Computer) included in the robot (120), and accordingly, maps and setting files, etc. are read and written as files in the same path, and communication between the control module (SLAM / NAV, 121) and the user interface module (UI, 123) can exchange various commands and status values, etc. using shared memory (Shared Memory, 125).

[0067] As illustrated in FIG. 3, the shared memory (125) between the control module (SLAM / NAV, 121) and the user interface module (UI, 123) may be configured to include a plurality of shared memories that communicate different commands or status values.

[0068] Meanwhile, for each of the multiple shared memories, a tick count can be assigned so that the tick count changes whenever data is updated.

[0069] In this case, when either the control module (SLAM / NAV, 121) or the user interface module (UI, 123) writes data to a shared memory, the tick count of the shared memory changes, and accordingly, the other of the control module (SLAM / NAV, 121) or the user interface module (UI, 123) can read the data written to the shared memory.

[0070] For example, when a user interface module (UI, 123) writes a UI command (US command) to the shared memory corresponding to the command, the tick count of the shared memory changes, and according to the change in the tick count, the control module (SLAM / NAV, 121) can read the UI command (US command) written to the shared memory.

[0071] Shared memory can be accessed simultaneously by multiple processes, but does not support bidirectional communication. However, by configuring multiple shared memories as described above and adding a tick count to each shared memory, it is possible to implement bidirectional communication between the control module (SLAM / NAV, 121) and the user interface module (UI, 123) by using the function of sharing data in fixed memory without using a communication method that is unnecessarily affected by the network environment when operating within a single PC.

[0072] A robot operating system having a program structure as described above may be included in a mobile robot according to an embodiment of the present invention, and a mobile robot according to an embodiment of the present invention may be a serving robot (400) as illustrated in FIG. 4, but the present invention is not limited thereto.

[0073] Referring to FIG. 4, the serving robot (400) may be configured to include a driving unit (410), a main body (420), a tray (430, 431), a display unit (440), and a support unit (450), but some components may be omitted or added as needed.

[0074] FIG. 5 is a block diagram illustrating the configuration of a map generation device according to an embodiment of the present invention. The map generation device (500) may be configured to include a sensing unit (510), a storage unit (520), and a map generation unit (530).

[0075] Referring to FIG. 5, the sensing unit (510) detects surrounding objects and outputs measured sensor data, and as the robot moves, the sensor data output over time through the sensing unit (510) is collected and stored in the storage unit (520).

[0076] For example, the sensing unit (510) includes at least one two-dimensional LiDAR (Light Detection And Ranging) sensor, and sensor data measured through the two-dimensional LiDAR can be collected while the map generation device (500) moves within the operating space to generate a map of the space in which the mobile robot operates.

[0077] Meanwhile, in the storage unit (520), sensor data measured over time through a two-dimensional lidar equipped in the mobile robot (500) as described above can be collected and stored as lidar original data.

[0078] The map generation unit (530) generates a map for the operating space based on the sensor data stored in the storage unit (520), and data for the generated map is stored in the storage unit (520).

[0079] For example, the map generation unit (530) can generate an occupancy grid map (OGM) having a certain grid size using sensor data measured through a two-dimensional lidar sensor.

[0080] An occupancy grid map (OGM) divides the space where a robot moves into multiple grids, each with a certain size, and can represent areas where the robot cannot pass in grid units.

[0081] For example, the map generation unit (530) can estimate the positional relationship of surrounding objects using lidar sensor data stored in the storage unit (520) to create an occupancy grid map (OGM).

[0082] Afterwards, the mobile robot can estimate its current location using the map generated by the map generation unit (530) as described above, and then move along the driving path within the operating space while avoiding surrounding objects such as obstacles.

[0083] Meanwhile, the configurations described with reference to FIG. 5 may be included as a logical combination of software and / or hardware in the control module (SLAM / NAV, 121) of the robot operation system described with reference to FIGS. 2 and 3 as part of a mobile robot.

[0084] And the map data generated through the map generation unit (530) can be transmitted to the control server (110) and used to determine the driving path of multiple robots, and can also be uploaded to a remote server (200) to enable the current status of the robots to be checked on the web.

[0085] Additionally, the current location information of the robot estimated using the generated map can be transmitted to the control server (110), and accordingly, the control server (110) can prevent multiple robots from colliding with each other within the operating space.

[0086] The map generation device (500) as described above can be implemented to be included in a mobile robot according to an embodiment of the present invention, and accordingly, the mobile robot according to an embodiment of the present invention can generate a map while moving throughout the entire operating space.

[0087] Hereinafter, with reference to FIGS. 6 to 12, embodiments of a method for processing sensor data to create a map of an operating space of a mobile robot will be described.

[0088] FIG. 6 is a flowchart illustrating a sensor data processing method for map generation according to an embodiment of the present invention. The sensor data processing method will be described by way of example when performed by a mobile robot. Meanwhile, descriptions of the sensor data processing methods illustrated, which are identical to those described with reference to FIG. 1 and FIG. 5, will be omitted.

[0089] Referring to FIG. 6, the mobile robot acquires first sensor data measured through a sensor at a first location within a space where a map is to be created (step S600), and acquires second sensor data measured through a sensor at a second location (step S610).

[0090] A mobile robot according to one embodiment of the present invention is equipped with one or more two-dimensional lidar sensors, and can collect sensor data measured by detecting surrounding objects by the lidar sensors while moving through an operating space during a map generation process.

[0091] As illustrated in FIG. 7, the operating space (700) of the mobile robot may be a space surrounded by a wall (701), and there may be an object (702) inside that becomes an obstacle to the movement of the mobile robot.

[0092] Here, the object (702) located inside the operating space (700) is described as an object in the form of a thin wall, but the present invention is not limited thereto.

[0093] Referring to (a) of FIG. 8, when the mobile robot is at a first position (P1), the lidar sensor detects a wall (701) and an internal object (702), and the first sensor data measured is collected, and measurement points indicating the positions of the surrounding objects (701, 702) detected according to the first sensor data can be obtained.

[0094] As described above, the measurement points obtained using the lidar sensor can indicate that an object exists at a distance from the first location (P1) where the mobile robot is located to the corresponding measurement points, and that no object exists between the corresponding measurement points.

[0095] In addition, referring to (b) of FIG. 8, when the mobile robot is at the second position (P2), the lidar sensor detects the wall (701) and the internal object (702), and the second sensor data measured is collected, and the measurement points indicating the positions of the surrounding objects (701, 702) detected according to the second sensor data can be obtained.

[0096] As described above, as the mobile robot moves, measurement points obtained at different locations are matched to align sensor data, thereby reducing errors in the map generated using the lidar sensor.

[0097] Meanwhile, in the process of matching sensor data, pairs of adjacent measurement points obtained from different locations are matched, and the relative positions that minimize the sum of the distances between the two matched measurement points are calculated, thereby matching sensor data collected from different locations.

[0098] For example, if the sensor data shown in (a) of Fig. 8 and the sensor data shown in (b) of Fig. 8 are aligned, a second position (P1) that minimizes the distance between all matched measurement points based on the first position (P1) can be obtained, as shown in Fig. 9.

[0099] By aligning sensor data in the manner described above, errors that may occur during the alignment process can be reduced on average.

[0100] However, if the object (720) located inside the operating space (700) is a structure such as a thin wall, the sensor data is aligned so that the measurement points on opposite sides of the object (720) obtained from different locations, for example, the first location (P1) and the second location (P1), match and the distance between them is minimized, so that the measurement points on opposite sides of the object (720) may stick to each other or the gap may be narrowed to be smaller than the thickness of the actual object (720).

[0101] In this case, on the generated map, objects (720) such as thin walls may disappear or exist with a thickness smaller than the actual thickness, which may cause a problem in that the overall size of the operating space (700) may become smaller.

[0102] In order to solve such a problem and improve the accuracy of the map, a sensor data processing method according to an embodiment of the present invention matches sensor data by filtering adjacent measurement points detected at different locations by sensors according to the angle between view vectors, thereby reducing map generation errors that may occur when there is a thin object such as a wall inside a space.

[0103] Referring again to FIG. 6, the mobile robot calculates direction information from a first position for first measurement points according to first sensor data acquired in step S600, and calculates direction information from a second position for second measurement points according to second sensor data acquired in step S610 (step S620).

[0104] Next, based on the direction information produced in step S620, angle information between the first and second measurement points that are adjacent to each other is produced (step S630).

[0105] The direction information produced in step S620 may include first vectors directed toward a first location from each of the first measurement points obtained from the first sensor data, and second vectors directed toward a second location from each of the second measurement points obtained from the second sensor data.

[0106] For example, referring to (a) of FIG. 10, a view vector toward the first location (P1) can be calculated from a first measurement point (m1) for an internal object (702) obtained at a first location (P1), and a view vector toward the second location (P2) can be calculated from a second measurement point (m2) for an internal object (702) obtained at a second location (P2).

[0107] In addition, referring to (b) of FIG. 10, line-of-sight vectors toward the first location (P1) can be calculated from each of the first measurement points (n1, l1) for the wall (701) obtained at the first location (P1), and line-of-sight vectors toward the second location (P2) can be calculated from each of the second measurement points (n2, l2) for the wall (701) obtained at the second location (P2).

[0108] Meanwhile, the angle information produced in step S630 may include an angle between a first vector from the first measurement point toward the first position and a second vector from the second measurement point toward the second position, for the first measurement point and the second measurement point that are adjacent to each other.

[0109] For example, referring to (a) of FIG. 10, the angle between the first line of sight vector from the first measurement point (m1) toward the first location (P1) and the line of sight vector from the second measurement point (m2) toward the second location (P2) can be calculated.

[0110] In addition, referring to (b) of FIG. 10, an angle between a first line of sight vector from another first measurement point (n1) toward a first location (P1) and a line of sight vector from another second measurement point (n2) toward a second location (P2) can be calculated, and an angle between a first line of sight vector from another first measurement point (l1) toward a first location (P1) and a line of sight vector from another second measurement point (l2) toward a second location (P2) can be calculated.

[0111] After that, the mobile robot matches the first and second measurement points according to the angle information produced in step S630 (step S640) and aligns the first and second sensor data (step S650).

[0112] In step S640, the vector angle calculated in step S630 for the first and second measurement points adjacent to each other is compared with a preset reference value, and pairs of the first and second measurement points whose vector angle is greater than the reference value are filtered so as not to be used in the process of matching sensor data.

[0113] Meanwhile, pairs of first and second measurement points whose vector angles are less than a reference value can be used to align the first and second sensor data by determining their positions so that the distance between them is minimized, as described with reference to FIG. 9.

[0114] For example, referring to (a) of FIG. 10, the angle between the line-of-sight vectors of the first measurement point (m1) and the second measurement point (m2) for the internal object (702) may be greater than 90 degrees and may have a value close to 180 degrees.

[0115] Meanwhile, referring to (b) of FIG. 10, the angle between the line-of-sight vectors of the first measurement point (n1, l1) and the second measurement point (n2, l2) with respect to the wall (701) may have a value less than 90 degrees.

[0116] Accordingly, the reference value for which the vector angle is compared may be set to a value greater than 90 degrees, for example, may be set to a value of about 160 degrees, but the present invention is not limited thereto.

[0117] According to the comparison result of the vector angle and the reference value as described above, among the measurement points at the first position (P1) and the second position (P2), the measurement points for the internal object (702) in the form of a thin wall are filtered out, and only the remaining measurement points can be used to align the first and second sensor data.

[0118] As a result of matching the sensor data based only on the remaining measurement points (751), excluding the measurement points for internal objects (702) such as thin walls, as shown in FIG. 12, the measurement points (752) for the internal objects (702) have an interval close to the thickness of the actual internal objects (702), and accordingly, the size of the operational space (700) on the map and the thickness of the internal objects (702) can have values ​​close to the actual values.

[0119] In the above, embodiments of the present invention have been described by way of example, matching sensor data at a first location (P1) and a second location (P1). However, this is for convenience of explanation, and the present invention can be applied to all processes of matching sensor data collected at different locations while a mobile robot moves.

[0120] According to another embodiment of the present invention, when generating a map for a large space, the area is divided into multiple maps, and then the process of matching sensor data is repeated to synthesize maps for the divided areas, thereby reducing cumulative errors that may occur during map generation.

[0121] Fig. 13 is a block diagram illustrating the configuration of a map generation device according to another embodiment of the present invention. The map generation device (500) may be configured to include a sensing unit (510), a storage unit (520), a map generation unit (530), and a map synthesis unit (540). Descriptions of the configuration and operations of the illustrated map generation device (500) that are identical to those described with reference to Figs. 5 to 12 will be omitted.

[0122] Referring to FIG. 13, the map generation unit (530) generates a first map for a first area using first sensor data measured through a sensor of the sensing unit (510), and generates a second map for a second area that partially overlaps with the first area using second sensor data.

[0123] The map synthesis unit (540) aligns the first and second sensor data measured through the sensors of the sensing unit (510) to form a map for the entire space.

[0124] To this end, the map synthesis unit (540) can perform a sensor data matching process as described above with reference to FIG. 9.

[0125] For example, the map synthesis unit (540) can synthesize the first and second maps by calculating the relative positions of the first and second maps that minimize the distance between the first measurement points according to the first sensor data and the second measurement points according to the second sensor data.

[0126] More specifically, the map synthesis unit (540) can synthesize the first and second maps by calculating the distance between two adjacent measurement points for the first and second measurement points and repeating the matching of the first and second sensor data until the total sum or average value of the calculated distances becomes less than or equal to a reference value.

[0127] Meanwhile, the map generation device (500) may further include a display unit (not shown) for displaying the first and second maps generated by the map generation unit (530) on one screen, and a user input unit (not shown) for receiving a designation from the user on the screen of an area in which alignment of the first and second sensor data is to be performed.

[0128] As described above, the map generation device (500) is provided in a mobile robot according to the present invention, so that the mobile robot can perform the segmentation mapping method according to one embodiment of the present invention.

[0129] Hereinafter, with reference to FIGS. 14 to 21, embodiments of a method for performing segmentation mapping to create a map for an operating space of a mobile robot will be described.

[0130] FIG. 14 is a flowchart illustrating a segmentation mapping method for map generation according to an embodiment of the present invention. The segmentation mapping method will be described as being performed by a mobile robot as an example. Meanwhile, descriptions of the segmentation mapping methods illustrated, which are identical to those described with reference to FIGS. 1 to 13, will be omitted.

[0131] Referring to FIG. 14, the mobile robot generates a first map for a first area using first sensor data measured through a sensor (step S1400), and generates a second map for a second area partially overlapping with the first area using second sensor data measured through the sensor (step S1410).

[0132] For example, when a map for a space (800) as shown in Fig. 15 is to be created, the entire space (800) can be divided into two areas to create the map.

[0133] In this case, a first map (810) for the first area shown in (a) of FIG. 16 and a second map (820) for the second area shown in (b) of FIG. 16 can be generated separately.

[0134] To this end, in the map generation process, the mobile robot may generate a first map (810) based on first sensor data measured by one or more two-dimensional lidar sensors while moving through some locations corresponding to a first area in the entire space (800), and then generate a second map (820) based on second sensor data measured while moving through the remaining locations corresponding to a second area.

[0135] After that, the mobile robot aligns the first and second sensor data to create a map of the operating space (step S1420).

[0136] At step S1420, the mobile robot can calculate the relative positions of the first and second maps that minimize the distance between the first measurement points according to the first sensor data and the second measurement points according to the second sensor data, and move one of the first and second maps by the calculated relative position and synthesize them to form a map for the entire space.

[0137] Referring to FIG. 17, the first and second sensor data can be aligned by determining the similarity between the sensor data of the first map (810) and the second map (820) that include overlapping portions (811 and 821, 812 and 822) and obtaining a positional relationship that minimizes the difference in the sensor data.

[0138] Meanwhile, the matching process of the first and second sensor data may be repeated until the overlapping portions of the first map (810) and the second map (820) match each other.

[0139] That is, as the matching process of the first and second sensor data as described above is repeated, the overlapping parts of the first map (810) and the second map (820) become closer to each other, and when the matching process is repeated and the difference in sensor data disappears, the overlapping parts of the first map (810) and the second map (820) can match each other.

[0140] For example, the process of matching the first and second sensor data as described above is performed one or more times so that the overlapping parts of the first map (810) and the second map (820) become closer to each other as shown in (a) of FIG. 18, and the matching process is repeated so that a map for the entire space (800) can be formed by combining the first and second maps (810, 820) as shown in (b) of FIG. 18.

[0141] More specifically, in step S1420 of constructing a map for the entire space, for the first and second measurement points obtained from the sensor data for the first and second areas, respectively, the distance between two adjacent measurement points is calculated, and the process of matching the first and second sensor data can be repeated until the total sum or average value of the calculated distances becomes less than or equal to a preset reference value.

[0142] Referring to FIG. 19, pairs of adjacent first and second measurement points among the first measurement points of the first map (810) and the second measurement points of the second map (810) are matched, and the distance between the two measurement points can be calculated for each of the matched pairs.

[0143] And the positions of the first and second maps (810, 820) that minimize the total sum of distances calculated for the matched pairs are determined, so that the matching process of the first and second sensor data can be performed.

[0144] Meanwhile, if the above-described first and second sensor data matching process is performed for the entire area of ​​the first map (810) and the second map (810), the amount of computation for map creation may increase significantly, and in addition, the distance between areas other than overlapping areas may be minimized, resulting in incorrect map synthesis.

[0145] Accordingly, by setting an area where alignment of the first and second sensor data is performed, the alignment process of the first and second sensor data can be performed only for the set area.

[0146] For example, as illustrated in FIG. 20, the first and second maps (810, 820) are displayed on one screen, and the user can designate an overlapping area (850) on the screen.

[0147] In this case, the alignment process of the first and second sensor data as described above can be performed only for the user-specified area (850).

[0148] According to another embodiment, as illustrated in FIG. 21, the user may move one of the first and second maps (810, 820) displayed on the screen to position them so that they are somewhat aligned with each other, and then designate overlapping areas (851, 852).

[0149] In this case, the area (851, 852) where the matching process of the first and second sensor data is performed is reduced, so that the amount of computation for map creation can be greatly reduced, and errors in the map synthesis process can also be prevented.

[0150] In the above, embodiments of the present invention have been described by exemplifying mapping by dividing the operating space of a mobile robot into two areas, but the present invention is not limited thereto, and the entire space may be divided and mapped into two or three or more areas having a size that does not cause loop closing, which is an existing algorithm for map generation, to fail.

[0151] The methods according to the present invention described above can be produced as a program to be executed on a computer and stored in a computer-readable recording medium. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.

[0152] Computer-readable recording media can be distributed across network-connected computer systems, allowing computer-readable code to be stored and executed in a distributed manner. Furthermore, functional programs, codes, and code segments for implementing the above method can be readily inferred by programmers skilled in the art to which the present invention pertains.

[0153] Although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and various modifications can be made by those skilled in the art without departing from the gist of the present invention as claimed in the claims. Furthermore, such modifications should not be understood individually from the technical idea or prospect of the present invention.

Claims

1. In a method of dividing space into multiple areas and mapping them to create a map, A step of generating a first map for a first area using first sensor data measured through a sensor; A step of generating a second map for a second area partially overlapping with the first area using second sensor data measured through the sensor; and A step of aligning the first and second sensor data to form a map for the space; The steps for constructing a map for the above space are: A partition mapping method for creating a map, characterized in that the relative positions of the first and second maps are calculated to minimize the distance between the first measurement points according to the first sensor data and the second measurement points according to the second sensor data.

2. In the first paragraph, the sensor A segmentation mapping method for map generation characterized by a LiDAR (Light Detection And Ranging) sensor.

3. In the second paragraph, the first and second measurement points are A segmentation mapping method for generating a map, characterized in that it indicates the location of surrounding objects detected through the above lidar sensor.

4. In the first paragraph, the step of configuring a map for the space is: For the first and second measurement points, a step of calculating the distance between two adjacent measurement points is included; A segmentation mapping method for creating a map, characterized in that the alignment of the first and second sensor data is repeated until the total sum or average value of the calculated distances becomes less than or equal to a reference value.

5. In the first, A segmentation mapping method for creating a map, characterized in that it further comprises a step of setting an area in which alignment of the first and second sensor data is performed.

6. In paragraph 5, A step of displaying the first and second maps generated above on one screen; and A segmentation mapping method for creating a map, characterized in that it further includes a step of receiving a region designated by a user on the screen displayed above.

7. A computer program stored in a computer-readable recording medium to execute any one of the methods of claims 1 to 6 in combination with hardware.

8. A mobile robot performing any one of the methods of clauses 1 to 6.

9. A map generation unit that generates a first map for a first area using first sensor data measured through a sensor, and generates a second map for a second area partially overlapping with the first area using second sensor data; and A map synthesis unit that aligns the first and second sensor data to form a map for the space; The above map synthesis unit, A map generation device characterized in that it synthesizes the first and second maps by calculating the relative positions of the first and second maps that minimize the distance between the first measurement points according to the first sensor data and the second measurement points according to the second sensor data.

10. In paragraph 9, The above sensing unit includes one or more lidar sensors, A map generation device characterized in that the first and second measurement points indicate the positions of surrounding objects detected by the lidar sensor.

11. In paragraph 9, the map synthesis unit, For the above first and second measurement points, the distance between two adjacent measurement points is calculated, A map generation device characterized in that the matching of the first and second sensor data is repeated until the total sum or average value of the distances produced above becomes less than or equal to a reference value.

12. In paragraph 9, A display unit for displaying the first and second maps generated above on one screen; and A map generation device further comprising a user input unit for receiving from a user a designation of an area in which alignment of the first and second sensor data is to be performed on the screen displayed above.

Citation Information

Patent Citations

  • Apparatus and method for determining establishment position of image acquisition camera using 3 dimension space information

    KR100670816B1

  • Health functional food for adult men and Manufacturing method thereof

    KR1020210125273A

  • Method and system for collecting data

    KR102481615B1

  • Fixing Equipment of Overhead Electric Power Line

    KR102548499B1

  • KR20190071639A