EP-4742188-A2 - TRAVELING ROBOT FOR GENERATING TRAVEL MAP AND CONTROL METHOD THEREOF
Abstract
A driving robot includes: a camera including a depth camera; and at least one processor configured to: control the camera to acquire depth data in one or more areas where the driving robot moves, identify, from the acquired depth data, a plurality of scan data sets corresponding to a plurality of predetermined height levels, identify, based on the plurality of scan data sets, a plurality of feature scores corresponding to the plurality of scan data sets, and generate at least one area map corresponding to at least one scan data set among the plurality of scan data sets, wherein a feature score, among the plurality of feature scores, corresponding to the at least one scan data set is greater than or equal to a predetermined critical value.
Inventors
- LEE, TAEYOON
- CHOI, Kuyoung
- LEE, HYUNJOONG
Assignees
- Samsung Electronics Co., Ltd.
Dates
- Publication Date
- 20260513
- Application Date
- 20230721
Claims (15)
- A driving robot (100) comprising: a camera (110) comprising a depth camera; and at least one processor (120) configured to: control the camera (110) to acquire depth data (10) in one or more areas where the driving robot (100) moves, identify, from the acquired depth data (10), a plurality of scan data (21, 24, 25, 27) sets corresponding to a plurality of predetermined height levels (11, 14, 15, 17), identify, based on the plurality of scan data (21, 24, 25, 27) sets, a plurality of feature scores corresponding to the plurality of scan data (21, 24, 25, 27) sets, generate at least one area map (31, 34, 35, 37) corresponding to at least one scan data (21, 24, 25, 27) set among the plurality of scan data (21, 24, 25, 27) sets based on the plurality of feature scores, compare the plurality of scan data (21, 24, 25, 27) sets with the at least one area map (31, 34, 35, 37), and identify a current position of the driving robot (100) based on an area map (31, 34, 35, 37), among the at least one area map (31, 34, 35, 37), matching the plurality of scan data (21, 24, 25, 27) sets or having a highest similarity to the plurality of scan data (21, 24, 25, 27) sets.
- The driving robot (100) of claim 1, wherein the at least one processor (120) is further configured to: identify as a main area map a first scan data (21, 24, 25, 27) set among the plurality of scan data (21, 24, 25, 27) sets corresponding to a highest identified feature score among the plurality of feature scores, and based on identification of one or more feature scores, among the plurality of feature scores, greater than a predetermined critical value, identify as a sub-area map (35, 37) each scan data (21, 24, 25, 27) set of the plurality of scan data (21, 24, 25, 27) sets, other than the first scan data (21, 24, 25, 27) set, having a corresponding feature score, among the plurality of feature scores, greater than the predetermined critical value.
- The driving robot (100) of claim 2, wherein the at least one processor (120) is further configured to downscale each identified sub-area map (35, 37).
- The driving robot (100) of claim 1, wherein the at least one processor (120) is further configured to identify the plurality of feature scores based on at least one of a number of angles, an angle size, a number of lines, and a sharpness of the scan data (21, 24, 25, 27).
- The driving robot (100) of claim 1, wherein the one or more areas where the driving robot (100) moves collectively form an entire area, and wherein the at least one processor (120) is further configured to: identify, within the plurality of scan data (21, 24, 25, 27) sets, one or more area scan data (21, 24, 25, 27) sets corresponding to each of the one or more areas within the entire area, identify, for each of the one or more area scan data (21, 24, 25, 27) sets, a plurality of area feature scores corresponding to each of the plurality of predetermined height levels (11, 14, 15, 17), identify, based on the plurality of area feature scores, a plurality of area-wide feature scores corresponding to the plurality of predetermined height levels (11, 14, 15, 17) in the entire area, identify a first predetermined height level, among the plurality of predetermined height levels (11, 14, 15, 17), corresponding to a highest area-wide feature score among the plurality of area-wide feature scores, and generate a map of the entire area based on each scan data (21, 24, 25, 27) set of the plurality of scan data (21, 24, 25, 27) sets corresponding to the first predetermined height level.
- The driving robot (100) of claim 5, wherein the at least one processor (120) is further configured to: set a weight for the at least one area map (31, 34, 35, 37) based on the feature score of the at least one area map (31, 34, 35, 37), and identify the current position and a direction of the driving robot (100) based on the at least one area map (31, 34, 35, 37) having the set weight and the plurality of scan data (21, 24, 25, 27) sets.
- The driving robot (100) of claim 1, wherein the at least one processor (120) is further configured to: identify a height level among the plurality of predetermined height levels (11, 14, 15, 17) as a reference height level, and generate a map of the entire area based on scan data (21, 24, 25, 27) sets, among the plurality of scan data (21, 24, 25, 27) sets, corresponding to the reference height level identified in each of the one or more areas.
- The driving robot (100) of claim 7, wherein the at least one processor (120) is further configured to identify as the reference height level a height level among the plurality of predetermined height levels (11, 14, 15, 17) corresponding to a highest feature score among the plurality of feature scores identified in an area of the one or more areas where the driving robot (100) is initially positioned.
- A method of controlling a driving robot (100), the method comprising: acquiring depth data (10) in one or more areas where the driving robot (100) moves; identifying, from the acquired depth data (10), a plurality of scan data (21, 24, 25, 27) sets corresponding to a plurality of predetermined height levels (11, 14, 15, 17); identifying, based on the plurality of scan data (21, 24, 25, 27) sets, a plurality of feature scores corresponding to the plurality of scan data (21, 24, 25, 27) sets; and generating at least one area map (31, 34, 35, 37) corresponding to at least one scan data (21, 24, 25, 27) set among the plurality of scan data (21, 24, 25, 27) sets based on the plurality of feature scores; comparing the plurality of scan data (21, 24, 25, 27) sets with the at least one area map (31, 34, 35, 37); and identifying a current position of the driving robot (100) based on an area map (31, 34, 35, 37), among the at least one area map (31, 34, 35, 37), matching the plurality of scan data (21, 24, 25, 27) sets or having a highest similarity to the plurality of scan data (21, 24, 25, 27) sets.
- The method of claim 9, wherein the generating the at least one area map (31, 34, 35, 37) further comprises: identifying as a main area map a first scan data (21, 24, 25, 27) set among the plurality of scan data (21, 24, 25, 27) sets corresponding to a highest identified feature score among the plurality of feature scores, and based on identifying one or more feature scores among the plurality of feature scores greater than a predetermined critical value, identifying as a sub-area map (35, 37) each scan data (21, 24, 25, 27) set of the plurality of scan data (21, 24, 25, 27) sets, other than the first scan data (21, 24, 25, 27) set, having a corresponding feature score, among the plurality of feature scores, greater than the predetermined critical value.
- The method of claim 10, further comprising: downscaling each identified sub-area map (35, 37).
- The method of claim 9, wherein the identifying of the plurality of feature scores further comprises identifying the plurality of feature scores based on at least one of a number of angles, an angle size, a number of lines, and a sharpness of the scan data (21, 24, 25, 27).
- The method of claim 9, wherein the one or more areas where the driving robot (100) moves collectively form an entire area, and wherein the method further comprises: identifying, within the plurality of scan data (21, 24, 25, 27) sets, one or more area scan data (21, 24, 25, 27) sets corresponding to each of the one or more areas within the entire area, identifying, for each of the one or more area scan data (21, 24, 25, 27) sets, a plurality of area feature scores corresponding to each of the plurality of predetermined height levels (11, 14, 15, 17), identifying, based on the plurality of area feature scores, a plurality of area-wide feature scores corresponding to the plurality of predetermined height levels (11, 14, 15, 17) in the entire area, identifying a first predetermined height level among the plurality of predetermined height levels (11, 14, 15, 17) corresponding to a highest area-wide feature score among the plurality of area-wide feature scores, and generating a map of the entire area based on each scan data (21, 24, 25, 27) set of the plurality of scan data (21, 24, 25, 27) sets corresponding to the first predetermined height level.
- The method of claim 13, further comprising: setting a weight for the at least one area map (31, 34, 35, 37) based on the feature score of the at least one area map (31, 34, 35, 37); and identifying the current position and a direction of the driving robot (100) based on the at least one area map (31, 34, 35, 37) having the set weight and the plurality of scan data (21, 24, 25, 27) sets.
- A non-transitory computer-readable storage medium having instructions stored therein, which when executed by a processor (120) cause the processor (120) to execute a method of controlling a driving robot (100), the method comprising: acquiring depth data (10) in one or more areas where the driving robot (100) moves; identifying, from the acquired depth data (10), a plurality of scan data (21, 24, 25, 27) sets corresponding to a plurality of predetermined height levels (11, 14, 15, 17); identifying, based on the plurality of scan data (21, 24, 25, 27) sets, a plurality of feature scores corresponding to the plurality of scan data (21, 24, 25, 27) sets; and generating at least one area map (31, 34, 35, 37) corresponding to at least one scan data (21, 24, 25, 27) set among the plurality of scan data (21, 24, 25, 27) sets based on the plurality of feature scores; comparing the plurality of scan data (21, 24, 25, 27) sets with the at least one area map (31, 34, 35, 37); and identifying a current position of the driving robot (100) based on an area map (31, 34, 35, 37), among the at least one area map (31, 34, 35, 37), matching the plurality of scan data (21, 24, 25, 27) sets or having a highest similarity to the plurality of scan data (21, 24, 25, 27) sets.
Description
[Technical Field] The disclosure relates to a driving robot generating a driving map and a controlling method thereof. [Background Art] Automation technologies using robots have been provided in various fields. In a factory, a robot is used to produce a product. A robot that cooks ordered food has also appeared, and a robot that serves food has also appeared. The robot may receive an order from a user in a touch or voice manner, and cook food based on a set recipe. The robot may identify a user position and its surrounding environment, and autonomously drive to serve the ordered food to the user position in consideration of the identified surrounding environment. The autonomously driving robot may generate a map by using various sensors, and set a driving path plan on the map to thus perform its autonomous driving. Many robots use a two-dimensional (2D) light detection and ranging (LiDAR) sensor as a sensor for their driving. However, the 2D LiDAR sensor may scan the surrounding environment only at a height at which the sensor is mounted in the robot, and may perform inaccurate scanning in an environment with a black material absorbing light. A small robot may also use a depth camera. However, three-dimensional (3D) simultaneous localization and mapping (SLAM) using all depth data may require a lot of computing resources. A method has been recently devised in which only a specific height of the depth data is used as virtual scan data just like the 2D LiDAR sensor. However, also in this method, the surrounding environment may be scanned at a specific height like the method using the 2D LiDAR sensor. Therefore, in a case where there is no feature data at the scanned height, position recognition and localization on the map may become inaccurate. [Disclosure] [Technical Solution] According to an aspect of the disclosure, a driving robot includes: a camera including a depth camera; and at least one processor configured to: control the camera to acquire depth data in one or more areas where the driving robot moves, identify, from the acquired depth data, a plurality of scan data sets corresponding to a plurality of predetermined height levels, identify, based on the plurality of scan data sets, a plurality of feature scores corresponding to the plurality of scan data sets, and generate at least one area map corresponding to at least one scan data set among the plurality of scan data sets, wherein a feature score, among the plurality of feature scores, corresponding to the at least one scan data set is greater than or equal to a predetermined critical value. According to an aspect of the disclosure, a method of controlling a driving robot, the method including: acquiring depth data in one or more areas where the driving robot moves; identifying, from the acquired depth data, a plurality of scan data sets corresponding to a plurality of predetermined height levels; identifying, based on the plurality of scan data sets, a plurality of feature scores corresponding to the plurality of scan data sets; and generating at least one area map corresponding to at least one scan data set among the plurality of scan data sets, wherein a feature score, among the plurality of feature scores, corresponding to the at least one scan data set is greater than or equal to a predetermined critical value. According to an aspect of the disclosure, a non-transitory computer-readable storage medium has instructions stored therein, which when executed by a processor cause the processor to execute a method of controlling a driving robot, the method including: acquiring depth data in one or more areas where the driving robot moves; identifying, from the acquired depth data, a plurality of scan data sets corresponding to a plurality of predetermined height levels; identifying, based on the plurality of scan data sets, a plurality of feature scores corresponding to the plurality of scan data sets; and generating at least one area map corresponding to at least one scan data set among the plurality of scan data sets, wherein a feature score, among the plurality of feature scores, corresponding to the at least one scan data set is greater than or equal to a predetermined critical value. [Description of Drawings] The above and other aspects, features, and advantages of certain embodiments of the present disclosure will be more apparent from the following description taken in conjunction with the accompanying drawings, in which: FIG. 1 is a view showing a driving robot according to one or more embodiments;FIG. 2 is a block diagram showing a configuration of the driving robot according to one or more embodiments;FIG. 3 is a block diagram showing a specific configuration of the driving robot according to one or more embodiments;FIGS. 4A, 4B, 4C, and 4D are views showing a process of generating an area map having a plurality of height levels according to one or more embodiments;FIGS. 5A and 5B are views showing a localization process according to one o