Electronic device and control method thereof
The electronic device and control method address the challenges of robotic pathfinding by identifying pre-existing routes, dividing maps into sub-maps, and applying learned route generation models, resulting in efficient and safe route generation with reduced resource consumption.
Patent Information
- Application Number
- JP2024039145
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-12
- Filing Date
- 2024-03-13
- Publication Date
- 2025-06-24
AI Technical Summary
Existing robotic pathfinding technologies face challenges such as increased hardware costs, power consumption, and decreased startup times, which can reduce the robot's competitiveness. Additionally, there is a need for efficient route generation techniques that minimize performance degradation, especially in large-capacity maps.
The proposed solution involves an electronic device and control method that receive a target map and waypoint group, identify a pre-existing main route, and divide the map into sub-maps based on waypoints. These sub-maps are then applied to learned route generation models to calculate optimal sub-routes, improving route generation performance while reducing resource consumption.
This approach enables efficient route generation with low resource consumption, improves pathfinding performance, and ensures safety by validating waypoints and preventing errors caused by user input failures.
Smart Images

Figure 2025093835000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an electronic device and a control method thereof, and more particularly to a technique for generating an optimal route by applying a plurality of route generation models to a map.
Background Art
[0002] When a robot autonomously performs path finding, the performance of the hardware must be guaranteed, which inevitably leads to an increase in the price of the robot, an increase in power consumption, and a decrease in startup time, and the competitiveness of the robot may decrease.
[0003] In order to solve such problems, it is necessary to develop a technique for generating an optimal route by applying a plurality of route generation models to a target map. For example, a technique is needed to ensure faster performance than the robot's own path generation by utilizing cloud resources for the robot's path generation. Also, in a target map that is a large-capacity map, in order to minimize the performance degradation of path generation, a sub-map is generated by dividing the target map based on waypoints, and the performance of the path generation model is evaluated as a race model and the results are grouped and aggregated.
Summary of the Invention
Problems to be Solved by the Invention
[0004] An embodiment of the present invention is based on receiving a target map including a region determined in advance based on the position of a robot and a waypoint group including waypoints set in the target map, and identifying a first main route generated at a time point before the time point when the target map and the waypoint group are received and in which the set waypoints are connected, thereby obtaining an effective result with a low resource consumption amount through the identification of a similar route for a route generation request. An electronic device and a control method are provided.
[0005] In addition, an embodiment of the present invention is configured to be learned to calculate an optimal route on a map based on the determined type of the sub-map, apply the sub-map to at least one or more route generation models, and obtain a sub-route of the sub-map, thereby providing an electronic device and a control method capable of improving the performance of route generation.
[0006] In addition, an embodiment of the present invention aims to provide an electronic device and a control method that can prevent errors caused by user input errors or failures and ensure safety by performing inspections on whether a waypoint is included in a target map and whether each of the waypoints is a location where a robot can move.
[0007] The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned should be clearly understood by those skilled in the art from the following description.
Means for Solving the Problems
[0008] An electronic device according to an embodiment of the present invention includes a memory storing computer-executable instructions; and at least one or more processors accessing the memory and executing the instructions. The at least one or more processors receive a target map including a region determined in advance based on the position of a robot and a point group including points set in the target map, and based on this, identify a first main path generated at a time point before the time point when the target map and the point group are received and in which the set points are connected. Based on the fact that the first main path is not identified, at least one or more types of a first sub-map, a second sub-map, or a combination thereof obtained by dividing the target map based on the points included in the point group are determined. Based on the fact that at least one or more of the type of the first sub-map, the type of the second sub-map, or a combination thereof are determined, the first sub-map and the second sub-map are applied to a path generation model learned to calculate an optimal path on a map, a first sub-path of the first sub-map and a second sub-path of the second sub-map are obtained, and by connecting the first sub-path and the second sub-path, a second main path in which the set points are connected can be generated.
[0009] In one embodiment, the at least one or more processors identify a starting point, a destination point, and a transit point included in the first main path based on the fact that the first main path is identified, and based on the fact that the difference between each of the starting point, the destination point, and the transit point and each of the points included in the point group is included in a predetermined error distance, the first main path can be transmitted to the robot.
[0010] In one embodiment, the at least one or more processors identify a transit point among the points included in the point group, and based on the transit point being included in the target map, determine whether each of the transit points is a point where the robot can move. Based on each of the transit points being a point where the robot can move, the target map can be divided based on the points included in the point group.
[0011] In one embodiment, the at least one or more processors obtain a first transit point included in the transit points, and obtain a second transit point different from the first transit point among the points separated from the first transit point by a predetermined distance. By dividing the target map based on the first transit point and the second transit point, the first sub-map and the second sub-map can be obtained.
[0012] In one embodiment, the at least one or more processors identify a center point of the first sub-map and a boundary point that is farthest from the center point among the points separated from the center point in the first sub-map, and determine a sub-region including the point separated from the center point by the distance between the center point and the boundary point and a predetermined distance from the center point. The first sub-map can be determined as the sub-region.
[0013] In one embodiment, the at least one or more processors identify a preset map for determining the type of at least one of the first sub-map and the second sub-map in the database storing the first main route, and determine the type of the sub-map by performing type matching between the sub-map and the preset map.
[0014] In one embodiment, the at least one or more processors adjust the sub-map and the preset map to a predetermined size, identify a first pixel of the sub-map and a second pixel at the same position as the first pixel in the preset map, and perform the type matching based on the difference between the first pixel and the second pixel.
[0015] In one embodiment, the at least one or more processors determine the similarity between the sub-map and the preset map based on performing the type matching, and determine the type of the sub-map as the type of the preset map based on the similarity exceeding a predetermined similarity.
[0016] In one embodiment, the at least one or more processors generate the type of the sub-map based on the similarity not exceeding the predetermined similarity, and can store the type of the sub-map in the database.
[0017] In one embodiment, the at least one or more processors can identify a first unit path generation model and a second unit path generation model among the path generation models based on the path generation model including at least one or more unit path generation models.
[0018] In one embodiment, the at least one or more processors apply the first sub-map to the first unit path generation model to obtain a first_1 sub-path, apply the first sub-map to the second unit path generation model to obtain a first_2 sub-path, apply the second sub-map to the first unit path generation model to obtain a second_1 sub-path, and apply the second sub-map to the second unit path generation model to obtain a second_2 sub-path.
[0019] In one embodiment, the at least one or more processors obtain a first required time including a period between a time when the first sub-map is applied to the first unit path generation model and a time when the first_1 sub-path is obtained, and obtain a first cost based on the usage amount of the processor and the usage amount of the memory during the first required time, obtain a second required time including a period between a time when the first sub-map is applied to the second unit path generation model and a time when the first_2 sub-path is obtained, and can obtain a second cost based on the usage amount of the processor and the usage amount of the memory during the second required time.
[0020] In one embodiment, the at least one or more processors apply a predetermined weight value group to each of the first required time, the first cost, and the length of the first sub-path to determine a first score, apply the weight value group to each of the second required time, the second cost, and the length of the second sub-path to determine a second score, and can obtain the first sub-path based on a comparison of the first score and the second score.
[0021] In one embodiment, the at least one or more processors include a first processor, a second processor, and a target processor. The first processor applies the first sub-map to the first unit path generation model to obtain the first_1 sub-path, the second processor applies the first sub-map to the second unit path generation model to obtain the first_2 sub-path, and the target processor can perform the operations of the first processor and the second processor asynchronously.
[0022] In one embodiment, the at least one or more processors provide data regarding the first unit path generation model and the second unit path generation model to a user who uses the robot, and based on receiving at least one selection from the user among the first unit path generation model and the second unit path generation model, the first sub-map and the second sub-map can be applied to the unit path generation model selected by the user.
[0023] The control method according to an embodiment of the present invention includes an operation of identifying a first main path that was generated at a time point prior to the time point when the target map and the point group are received, based on receiving a target map including a region determined in advance based on the position of the robot and a point group including points set in the target map, and the set points are connected; an operation of determining at least one or more types of a first sub-map, a second sub-map, or a combination thereof obtained by dividing the target map based on the points included in the point group based on the fact that the first main path is not identified; an operation of applying the first sub-map and the second sub-map to a path generation model learned to calculate an optimal path on a map based on the fact that at least one or more of the type of the first sub-map, the type of the second sub-map, or a combination thereof are determined, and obtaining a first sub-path of the first sub-map and a second sub-path of the second sub-map; and an operation of generating a second main path in which the set points are connected by connecting the first sub-path and the second sub-path.
[0024] In one embodiment, the operation of identifying the first main path includes an operation of identifying a starting point, a destination point, and a via point included in the first main path based on the fact that the first main path is identified; and an operation of transmitting the first main path to the robot based on the fact that the difference between each of the starting point, the destination point, and the via point and each of the points included in the point group is included in a predetermined error distance.
[0025] In one embodiment, an operation of identifying a transit point among the points included in the point group; an operation of determining whether each of the transit points is a point where the robot can move based on the fact that the transit points are included in the target map; and an operation of dividing the target map based on the points included in the point group based on the fact that each of the transit points is a point where the robot can move may be included.
[0026] In one embodiment, the operation of determining at least one type among the first sub-map, the second sub-map, or a combination thereof may include an operation of identifying a preset map for determining a type of at least one of the first sub-map and the second sub-map in a database storing the first main route; and an operation of determining the type of the sub-map by performing type matching between the sub-map and the preset map.
[0027] In one embodiment, the control method may include an operation of identifying a first unit route generation model and a second unit route generation model among the route generation models based on the fact that the route generation model includes at least one unit route generation model; an operation of providing data regarding the first unit route generation model and the second unit route generation model to a user using the robot; and an operation of applying the first sub-map and the second sub-map to the unit route generation model selected by the user based on receiving at least one selection from the user among the first unit route generation model and the second unit route generation model.
Advantages of the Invention
[0028] The effects of the electronic device and the control method according to the present invention will be described.
[0029] According to at least one of the embodiments of the present invention, based on receiving a target map including a region determined in advance with reference to the position of a robot and a point group including points set in the target map, a first main path generated and set at a time point before the time point when the target map and the point group are received, and by identifying the first main path in which the set points are connected, it is possible to have an effect of obtaining an effective result with a low resource consumption amount through identification of a similar path for a path generation request.
[0030] Also, according to at least one of the embodiments of the present invention, based on determining the type of a sub-map, learning to calculate an optimal path on the map, applying the sub-map to at least one or more path generation models, and obtaining a sub-path of the sub-map, it is possible to have an effect of improving the performance of path generation.
[0031] Also, according to at least one of the embodiments of the present invention, by performing an inspection on whether a via point is included in a target map and whether each of the via points is a point where a robot can move, it is possible to have an effect of preventing an error due to a user input error or failure and ensuring safety.
[0032] In addition, various effects directly or indirectly grasped through this document can be provided.
Brief Description of the Drawings
[0033]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
[0034] Regarding the description of the figures, the same or similar reference numerals may be used for the same or similar components.
Mode for Carrying Out the Invention
[0035] Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary figures. It should be noted that when adding reference numerals to the components of each figure, for the same components, even if they are shown on other figures, they should have the same numerals as much as possible. Also, in describing the embodiments of the present invention, if a detailed description of related known configurations or functions is determined to interfere with the understanding of the embodiments of the present invention, the detailed description thereof will be omitted. In particular, various embodiments of this document are described with reference to the figures. However, this is not intended to limit the technology described in this document to specific embodiments, and should be understood to include various modifications, equivalents, and / or alternatives of the embodiments of this document. In connection with the description of the figures, similar reference numerals may be used for similar components.
[0036] In describing the components of the embodiments of the present invention, terms such as first, second, A, B, (a), (b), etc. can be used. Such terms are merely for distinguishing the components from other components, and do not limit the essence, order, or sequence of the components. Also, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by those of ordinary skill in the technical field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or overly formal sense unless clearly defined in this application. For example, expressions such as "first", "second", "first", or "second" used in this document can modify various components regardless of order and / or importance, and are only used to distinguish one component from another, without limiting the component. For example, the first user device and the second user device may indicate different user devices regardless of order or importance. For example, without departing from the scope of the rights described in this document, the first component may be named the second component, and similarly, the second component may also be named the first component.
[0037] In this document, expressions such as "have", "be able to have", "include", or "be able to include" refer to the presence of the feature (e.g., a component such as a numerical value, function, operation, or part), and do not exclude the presence of additional features.
[0038] When it is mentioned that a certain component (e.g., the first component) is "(operatively or communicatively) coupled with / to" or "connected to" another component (e.g., the second component), it should be understood that the certain component may be directly coupled to the other component or may be coupled via another component (e.g., the third component). On the other hand, when it is mentioned that a certain component (e.g., the first component) is "directly coupled to" or "directly connected to" another component (e.g., the second component), it may be understood that there is no other component (e.g., the third component) between the certain component and the other component.
[0039] As used herein, the expression "configured to" may, depending on the context, be used interchangeably with, for example, "suitable for", "having the capacity to", "designed to", "adapted to", "made to", or "capable of".
[0040] The term "configured (or set) to ~" does not necessarily have to mean "specifically designed to" in terms of hardware. Instead, in some situations, the expression "a device configured to ~" can mean that the device "can ~" together with other devices or components. For example, the phrase "a processor configured (or set) to perform A, B, and C" can mean a dedicated processor (e.g., an embedded processor) for performing the operation, or a generic-purpose processor (e.g., a CPU or an application processor) that can perform the operation by executing one or more software programs stored in a memory device. The terms used in this document are merely used to describe specific embodiments and may not be intended to limit the scope of other embodiments. Singular expressions can include plural expressions unless the context clearly indicates otherwise. The terms used here, including technical or scientific terms, can have the same meaning as those generally understood by a person having ordinary skill in the technical field described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted to have the same or similar meaning as the meaning they have in the context of the related art, and unless clearly defined in this document, they are not to be interpreted in an ideal or overly formal sense. In some cases, even terms defined in this document may not be interpreted so as to exclude the embodiments of this document.
[0041] In this document, expressions such as "A or B", "at least one of A or / and B", or "one or more of A or / and B" can include all possible combinations of the items listed together. For example, "A or B", "at least one of A and B", or "at least one of A or B" can all refer to cases including (1) including at least one A, (2) including at least one B, or (3) including all of at least one A and at least one B. Also, when describing the components of the embodiments of the present invention, each of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C", "at least one of A, B, or C", and "at least one of A, B, C, or any combination thereof" can include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. In particular, a phrase such as "at least one of A, B, C, or any combination thereof" can include A or B or C or combinations thereof such as AB or ABC.
[0042] Hereinafter, embodiments of the present invention will be specifically described with reference to FIGS. 1 to 12.
[0043] FIG. 1 is a diagram showing an electronic device according to an embodiment of the present invention.
[0044] An electronic device 100 according to an embodiment can include a processor 110, a memory 120 including instruction words 122, and a communication unit 130.
[0045] The electronic device 100 can be shown as a device that generates an optimal route based on receiving a target map, a starting point, a destination point, and waypoints at a target time. For example, the electronic device 100 can receive the starting point, the destination point, and the waypoints from the robot 140. The electronic device 100 can identify whether it has received the same request as the aforementioned route request in order to generate an optimal route within the shortest period in response to the route request. Specifically, the electronic device 100 can search for a first main route including the starting point, the destination point, and the waypoints in the database. When the first main route is retrieved from the database, the electronic device 100 can transmit the first main route to the robot 140 as a response to the aforementioned route request.
[0046] Based on at least one or more of the starting point, the destination point, and the waypoints of the first main route being different from the points of the aforementioned route request (e.g., the starting point, the destination point, and the waypoints), the electronic device 100 can generate a second main route. Specifically, the first main route can indicate a route generated by the starting point, the destination point, and the waypoints at a time point before the target time point. The second main route can indicate a route generated by the starting point, the destination point, and the waypoints at the target time point. The electronic device 100 can perform the following operations to generate the second main route.
[0047] The electronic device 100 can obtain a first sub-map and a second sub-map by dividing the target map. For example, each of the first sub-map and the second sub-map can be a part of the target map. Also, the electronic device 100 can generate at least two or more sub-maps by dividing the target map, but in this specification, for the convenience of explanation, an example of generating the first sub-map and the second sub-map from the target map is mainly described. Each of the first sub-map and the second sub-map can be a map obtained by the waypoints in the target map. A detailed description of this will be described in detail in FIG. 4 below.
[0048] Based on obtaining the first sub-map and the second sub-map, the electronic device 100 can obtain the first sub-route of the first sub-map and the second sub-route of the second sub-map. For example, if the target map includes only the first sub-map and the second sub-map, the second main route may be a concatenated route of the first sub-route and the second sub-route.
[0049] The electronic device 100 can perform asynchronously the operation of obtaining the first sub-route in the first sub-map and the operation of obtaining the second sub-route in the second sub-map. A detailed description thereof will be given later in FIG. 11 below in detail.
[0050] The electronic device 100 can use at least one or more route generation algorithms to obtain a sub-route (eg, the first sub-route or the second sub-route) in a sub-map (eg, the first sub-map or the second sub-map). Specifically, the electronic device 100 can apply the sub-map to a route generation model learned to calculate an optimal route in the map to obtain a sub-route. The route generation model can include at least one or more unit route generation models. The unit route generation model may be a model to which at least one of the above-described route generation algorithms is applied.
[0051] Exemplarily, the electronic device 100 can apply the first sub-map to the first unit route generation model to obtain the first_1 sub-route. The electronic device 100 can apply the first sub-map to the second unit route generation model to obtain the first_2 sub-route. The electronic device 100 can determine a score for each of the first_1 sub-route and the first_2 sub-route. The electronic device 100 can determine an algorithm suitable for the first sub-map based on a comparison of the score of the first_1 sub-route and the score of the first_2 sub-route. A detailed description thereof will be given later in FIGS. 6 and 7 below. Through such an operation, the electronic device 100 can efficiently generate a movement route (ie, the second main route) in the target map of the robot 140 via resources (eg, multi-core or multi-thread) that can be used for the route generation operation.
[0052] By generating the movement route on the target map of the robot 140 through the above-described operations, the electronic device 100 can achieve the following effects. Specifically, the electronic device 100 can reduce the resource consumption cost of the robot 140. For example, the electronic device 100 can reduce the resource consumption cost of the robot 140 by not generating a second main route under the same conditions (e.g., the same location condition) and transmitting the previously generated first main route. Also, the electronic device 100 can reduce the battery consumption amount of the robot 140 and increase the operation time. Furthermore, the electronic device 100 can quickly transmit a result (e.g., the first main route or the second main route) in response to a route request. For example, the electronic device 100 can quickly transmit a result in response to a route request by not generating a second main route under the same conditions, that is, by generating only the first main route under the same conditions.
[0053] The processor 110 can execute software and control at least one other component (e.g., a hardware or software component) connected to the processor 110. The processor 110 can also perform various other data processing or operations. For example, the processor 110 can store a target map, a group of locations including the locations set on the target map, a first main route, and a second main route, etc. in the memory 120.
[0054] For reference, the processor 110 can perform all operations that the electronic device 100 performs. Therefore, in this specification, for convenience of explanation, the operations performed by the electronic device 100 are mainly described as the operations performed by the processor 110. Also, in this specification, for convenience of explanation, the processor 110 is mainly described as being one processor, but is not limited thereto. For example, the electronic device 100 can include at least one or more processors. Each of the at least one or more processors can perform all operations related to the first main path identification and the second main path generation operations.
[0055] The memory 120 can temporarily and / or permanently store various data and / or information required to perform the first main path identification and the second main path generation operations. For example, the memory 120 can store a target map, a group of points including the points set on the target map, a first main path, and a second main path, etc.
[0056] The communication unit 130 can assist in performing communication between the electronic device 100 and the robot 140. For example, the communication unit 130 can include one or more components that enable communication between the electronic device 100 and the robot 140. For example, the communication unit 130 can include a short range wireless communication unit, a microphone, etc. At this time, the short range communication technology can include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth, ZigBee, WFD (Wi-Fi Direct), UWB (ultra-wideband), infrared communication (IrDA, infrared Data Association), BLE (Bluetooth Low Energy), NFC (Near Field Communication), etc.
[0057] Figure 2 is a flowchart for explaining a control method of an electronic device according to an embodiment of the present invention.
[0058] According to one embodiment, an electronic device (e.g., the electronic device 100 in FIG. 1) can identify a first main path generated at a time point before the time point when the target map and the point group are received, based on receiving a target map including an area determined in advance with reference to the position of the robot and a point group including points set on the target map, where the set points are connected.
[0059] The electronic device can receive a target map and a point group from the robot. The target map can include an area where the robot moves, with reference to the position of the robot. The point group can include at least one or more points. Specifically, the point group can include a starting point, a target point, and a via point. The starting point can include the position of the robot at the time when the robot transmits a route request to the electronic device. The target point can include the position set as a target through the movement of the robot. The via point can include a point where an operation that can be provided to the user is performed while the robot moves from the starting point to the target point.
[0060] The first main route can indicate a route formed by connecting the set points and generated at a time point before the time point when the target map and the point group are received. That is, based on receiving the target map and the point group, when the first main route is identified, the electronic device can transmit the first main route to the robot. Through such an operation, the electronic device can quickly respond to the route request of the robot. Specifically, the electronic device can perform a comparison between the point group and the point group of the first main route. For example, if the time point when the first main route is generated is the first time point and the time point when the electronic device receives the target map and the point group is the second time point, the electronic device can perform the following operations. The electronic device can compare the starting point at the first time point with the starting point at the second time point. The electronic device can compare the target point at the first time point with the target point at the second time point. The electronic device can compare the waypoint at the first time point with the waypoint at the second time point. As a result of the comparison of the starting point, the target point, and the waypoint, if the position of each point is within a predetermined distance, it can be identified as the same point.
[0061] In operation 220, based on the fact that the first main route is not identified, the electronic device can determine at least one type among the first sub-map, the second sub-map, or a combination thereof obtained by dividing the target map with reference to the points included in the point group. For example, the electronic device can obtain the first sub-map and the second sub-map by dividing the target map. The electronic device can perform the division of the target map with reference to the waypoints among the points included in the point group. A detailed description of dividing the target map will be described later with reference to FIGS. 3 and 4 below.
[0062] The electronic device can determine at least one or more types among the first sub-map, the second sub-map, or a combination thereof. For example, the type of the sub-map can include a pattern of the sub-map. The pattern of the sub-map can represent an abstract form (e.g., corridor type, indoor type, entrance type, or road type, etc.) of a specific location (e.g., corridor, indoor, entrance, or road, etc.). More specifically, the pattern of the sub-map can include a preset of the sub-map and can include a pre-determined map form. The type of the sub-map will be described in detail later in FIG. 9 below.
[0063] In operation 230, based on at least one or more of the type of the first sub-map, the second sub-map, or a combination thereof being determined, the electronic device applies the first sub-map and the second sub-map to a route generation model learned to calculate an optimal route on a map, and can obtain a first sub-route of the first sub-map and a second sub-route of the second sub-map.
[0064] Exemplarily, when the type of a sub-map (e.g., the first sub-map or the second sub-map) is similar to the type of a preset map, the electronic device can determine the type of the sub-map as the type of the preset map. When the type of the sub-map is similar to the type of the preset map, the electronic device can apply the sub-map to the route generation model used in the preset map.
[0065] The electronic device can, for example, newly define the type of the sub-map when the type of the sub-map is not similar to the type of the preset map. When the type of the sub-map is newly defined, the electronic device can apply the sub-map to a route generation model including at least one unit route generation model. By applying the sub-map to a route generation model including at least one unit route generation model, the electronic device can obtain at least one sub-route for one sub-map. The electronic device can determine the sub-route of the sub-map through comparison of the scores of at least one sub-route. A detailed description thereof will be given in FIG. 8 below.
[0066] In operation 240, the electronic device can generate a second main route in which the set points are connected by connecting the first sub-route and the second sub-route. For example, when the target map includes only the first sub-map and the second sub-map, the connected route of the first sub-route and the second sub-route (i.e., the second main route) can include a location group. The second main route can include the optimal route obtained through the first sub-map and the optimal route obtained through the second sub-map. The electronic device can obtain the second main route, which is the optimal route of the target map, by obtaining the optimal route of each of the maps (e.g., sub-maps) divided in the target map. The electronic device can transmit the second main route to the robot based on the generation of the second main route.
[0067] FIG. 3 is a flowchart for explaining a method of dividing a target map in an electronic device according to an embodiment of the present invention.
[0068] An electronic device according to an embodiment (e.g., the electronic device 100 in FIG. 1) can perform an inspection on whether a via point is included in a target map in operation 310. For example, when the via point is not included in the target map, the electronic device can recognize the route request as an error and skip it. Also, the electronic device can detect data errors and transmit a stable route to the robot via operation 310.
[0069] In operation 320, the electronic device can determine whether each of the via points is a point where the robot can move based on the fact that the via point is included in the target map. For example, even if the via point is included in the target map, if it is a point where the robot cannot move, the electronic device can recognize the route request as an error and skip it. Also, the electronic device can detect data errors and transmit a stable route to the robot via operation 320.
[0070] In operation 330, the electronic device can identify the via points among the points included in the point group and obtain a first via point and a second via point among the via points. For example, the first via point and the second via point may be consecutive via points in the target map among the via points included in the point group. The electronic device can divide the target map into sub - maps based on the consecutive via points (e.g., the first via point and the second via point).
[0071] In operation 340, the electronic device can inspect whether the distance between the first via point and the second via point is separated by a predetermined distance. For example, when the distance between the first via point and the second via point is less than or equal to the predetermined distance, the electronic device can divide the target map into sub - maps based on the first via point and the third via point. The electronic device can prevent the sub - map from being overly divided in the target map via operation 340 and prevent the probability of guiding the robot to an incorrect route compared to the performance advantages. Also, when the distance between the first via point and the second via point is less than or equal to the predetermined distance, the electronic device can perform operation 310 again.
[0072] In operation 350, when the distance between the first via point and the second via point is equal to or greater than a predetermined distance, the electronic device can obtain the first sub-map and the second sub-map. The detailed method for obtaining the sub-map will be described later with reference to FIG. 4 below.
[0073] In operation 360, the electronic device can perform an inspection to determine whether there is a via point in the point group. For example, if the via points excluding the first via point and the second via point are included in the point group, a new sub-map can be obtained based on the via points excluding the first via point and the second via point.
[0074] FIG. 4 is a diagram showing a process of obtaining a sub-map from a target map in an electronic device according to an embodiment of the present invention.
[0075] An electronic device according to an embodiment (e.g., the electronic device 100 in FIG. 1) can identify a starting point, a destination point, and via points in a target map 410. The electronic device can obtain a first via point 411 included in the via points in the target map 410, and obtain a second via point 413 different from the first via point 411 among the points separated from the first via point 411 by a predetermined distance. The target map 410 includes a point group (e.g., a starting point, a destination point, and via points), and may be used as an input value transmitted when a route request is transmitted from a robot to the electronic device.
[0076] The electronic device can obtain a first sub-map 421 and a second sub-map 423 by dividing the target map 410 based on the first via point 411 and the second via point 413. Specifically, the sub-map group 420 can include a plurality of sub-maps (e.g., the first sub-map 421 and the second sub-map 423).
[0077] The electronic device can, for example, acquire a first sub-map 421 that includes a first waypoint 411 and a second waypoint 413 and the area between the first waypoint 411 and the second waypoint 413, with reference to the first waypoint 411 and the second waypoint 413. Similarly, the electronic device can acquire a third waypoint different from the second waypoint 413 (i.e., the waypoint closest to the second waypoint 413) among the second waypoint 413 and the points separated from the second waypoint 413 by a predetermined distance. The electronic device can acquire a second sub-map 423 with reference to the second waypoint 413 and the third waypoint. In the operation of acquiring sub-maps by dividing the target map 410, the electronic device can ignore and / or skip the areas unnecessary for route requests in the target map 410.
[0078] The electronic device can identify the center point of the first sub-map 421 and the boundary point with the highest distance from the center point among the points separated from the center point in the first sub-map 421. The electronic device can determine a sub-region 430 that includes the distance between the center point and the boundary point and the points separated from the center point by a predetermined distance from the center point. For example, the sub-region 430 can include a margin interval that allows the robot to detour and return in case the straight course to the waypoint and the target point is blocked. The electronic device can determine the first sub-map 421 as the sub-region 430. Specifically, the electronic device can combine the sub-region 430 with the first sub-map 421. That is, the sub-region 430 can indicate the area where the first sub-map 421 and the area including the margin interval where the robot can detour and return are combined.
[0079] FIG. 5 is a flowchart for explaining a method of determining the type of a sub-map in an electronic device according to an embodiment of the present invention.
[0080] According to one embodiment, an electronic device (e.g., the electronic device 100 in FIG. 1) can identify a preset map in operation 510. The preset map can include a map used to determine the type of a sub-map. For example, the preset map can include items where distinct features appear, such as a maze, an apartment corridor, a hotel lobby, an intersection, etc. Specifically, the electronic device can identify a preset map for determining the type of at least one of the first sub-map and the second sub-map in a database where the first main route is stored.
[0081] In operation 520, the electronic device can perform type matching between the sub-map and the preset map. For example, the electronic device can determine the type of the sub-map by performing type matching between the sub-map and the preset map. The type matching operation can include an operation of determining the similarity between the sub-map and the preset map.
[0082] In operation 530, the electronic device can perform an operation of comparing the similarity determined through the type matching operation with a predetermined similarity. For example, the electronic device can adjust the sub-map and the preset map to a predetermined size. The electronic device can identify the first pixel of the sub-map and the second pixel at the same position as the first pixel in the preset map. The electronic device can perform type matching based on the difference between the first pixel and the second pixel. The electronic device can determine the similarity between the sub-map and the preset map based on having performed type matching. Specifically, the electronic device can determine the similarity by the following mathematical formula 1:
Equation
[0083] The electronic device can determine the similarity between all the pixels of the sub-map and all the pixels of the preset map via Equation 1. The electronic device can determine the similarity between the sub-map and the preset map via the similarity between all the pixels of the sub-map and all the pixels of the preset map respectively. However, the method for determining the similarity between the sub-map and the preset map is not limited thereto. For example, the electronic device can determine the similarity between the sub-map and the preset map via object-based similarity (e.g., classifying buildings and numbers as objects and calculating the similarity based on the size, shape, and relationship with the surrounding terrain of the objects), logistic regression, and linear discriminant analysis.
[0084] In operation 540, the electronic device can perform an inspection to determine whether there is an additional preset map in the database based on the similarity not exceeding a predetermined similarity. If there is an additional preset map in the database, the electronic device can perform operation 520 again. In contrast, if there is no additional preset map in the database, the electronic device can generate the type of the sub-map in operation 560. Here, the newly generated type of the sub-map may be stored in the database under the name of "Auto_generated_xxx".
[0085] In operation 550, the electronic device can determine the type of the sub-map as the type of the preset map based on the similarity exceeding a predetermined similarity. Based on the type of the sub-map being determined as the type of the preset map, the electronic device can determine the sub-route of the preset map as the sub-route of the sub-map without obtaining the sub-route of the sub-map.
[0086] FIG. 6 is a diagram showing an example of the attributes of a sub-map in an electronic device according to an embodiment of the present invention.
[0087] As shown in FIG. 6, FIG. 6 shows the attribute 600 of the sub-map. For example, the attribute 600 of the sub-map can include the path length, required time, and cost of the sub-path. Specifically, the path length of the sub-path can indicate the length of the sub-path obtained by the electronic device (e.g., the electronic device 100 in FIG. 1). The electronic device can apply the sub-map to the path generation model to obtain the sub-path. Here, the sub-path can indicate the optimal path for the robot to move in the sub-map.
[0088] The required time can include the interval between the time when the sub-map is applied to the path generation model and the time when the sub-path is obtained. The cost can indicate the cost obtained based on the usage amount of the processor (e.g., the processor 110 in FIG. 1) and the usage amount of the memory (e.g., the memory 120 in FIG. 1) during the required time. For example, the cost can include the usage rate of the processor during the usage time of the thread that can be executed by the processor. The electronic device can obtain the cost based on the usage rate of the processor and the usage rate of the memory.
[0089] As shown in FIG. 6, the electronic device can apply a plurality of unit path generation models to one sub-map. Exemplarily, the unit path generation model can include the A* algorithm, BestFirstSearch algorithm, JumpPointSearch algorithm, Dijkstra algorithm, RRT algorithm, and user-defined algorithm (e.g., shown as User_custom_01 in FIG. 6). The electronic device can apply one sub-map to each of the plurality of unit path generation models and obtain the attributes of the plurality of sub-maps (including, for example, the path length, required time, and cost of the sub-path). For this purpose, the electronic device can perform the operation of applying the sub-map to each of the plurality of unit path generation models asynchronously. A detailed description of this will be described later in FIG. 11 below.
[0090] FIG. 7 is a diagram showing an example of a path generation model in an electronic device according to an embodiment of the present invention.
[0091] As shown in FIG. 7, FIG. 7 shows an example 700 of a path generation model. For example, the path generation model can include at least one or more unit path generation models. The unit path generation model can represent a model that outputs a sub-path from a sub-map by one algorithm. As shown in FIG. 7, the unit path generation model can include the applied algorithm, options, and set values.
[0092] The electronic device (e.g., the electronic device 100 in FIG. 1) can identify a first unit path generation model (e.g., the model to which the No. 1 algorithm shown in FIG. 7 is applied) and a second unit path generation model (e.g., the model to which the No. 3 algorithm shown in FIG. 7 is applied) among the path generation models based on the fact that the path generation model includes at least one or more unit path generation models. The electronic device can provide data regarding the first unit path generation model and the second unit path generation model to the user who uses the robot. Through this, based on receiving at least one selection from the user among the first unit path generation model and the second unit path generation model, the electronic device can apply the first sub-map and the second sub-map to the unit path generation model selected by the user.
[0093] The electronic device can provide the example 700 of the path generation model shown in FIG. 7 to the user in the form of a user interface. The user can use editing functions such as addition, modification, and deletion for the example 700 of the path generation model. Also, the user can modify the example 700 of the path generation model so that the unit generation model to which the set algorithms (e.g., the User_custom_01 and User_coustom_02 algorithms shown in FIG. 7) are applied can be preferentially used for the operation of obtaining the sub-path from the sub-map.
[0094] The unit path generation model is not limited by the above-described algorithm. For example, the unit path generation model can represent a machine learning model trained to calculate an optimal path on a map. Specifically, the electronic device can train the unit path generation model. Exemplarily, the unit path generation model can include a neural network. The neural network can include multiple layers, and each layer can include multiple nodes. The nodes can have node values determined based on an activation function. The nodes of any layer may be connected via a link (e.g., a connection edge) having a connection weight with the nodes of other layers (e.g., other nodes). The node value of a node may be propagated to other nodes via the link. In the inference operation of the neural network, the node values may be forward propagated from the previous layer to the next layer.
[0095] Exemplarily, the forward propagation operation in the unit path generation model can represent an operation of propagating node values based on the input data in the direction from the input layer to the output layer of the unit path generation model. That is, after being connected via a node and a connection line, the node value of the node (e.g., the next node) of the layer may be propagated (e.g., forward propagated). For example, a node can receive a value weighted by a connection weight from a previous node (e.g., multiple nodes) connected via a connection line.
[0096] The node value of a node may be determined based on applying an activation function to the sum (e.g., weighted sum) of the weighted values received from the previous nodes. The parameters of the neural network can exemplarily include the above-described connection weights. The parameters of the neural network may be updated so as to be changed in the direction in which the objective function value described later is targeted (e.g., the direction in which the loss is minimized).
[0097] The learned unit path generation model can represent a model learned through machine learning and can be a learned machine learning model that outputs a training output (e.g., a sub-path) from a training input (e.g., a sub-map). The machine learning model (e.g., the learned unit path generation model) may be generated through machine learning. The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above.
[0098] The machine learning model can include a plurality of artificial neural network layers. Specifically, the learned unit path generation model can include a shared layer that includes at least one convolution operation and a plurality of classifier layers (e.g., task-specific layers) connected to the shared layer. The artificial neural network can be at least one combination of a deep neural network (DNN), a convolutional neural network (CNN), a U-Net (U-Net for Image Segmentation), a recurrent neural network (RNN), a restricted boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-networks, or a combination thereof, but is not limited to the examples described above.
[0099] In the case of supervised learning, the machine learning model described above may be learned based on training data including pairs of training inputs and training outputs mapped to the training inputs. For example, the machine learning model may be learned to output a training output from a training input. The machine learning model during learning can generate a temporary output in response to a training input, and may be learned so that the loss between the temporary output and the training output (e.g., the target of training) is minimized. During the learning process, the parameters of the machine learning model (e.g., the connection weight values between nodes / layers in a neural network) may be updated by the loss. Such learning may be performed, for example, by the electronic device itself on which the machine learning model is executed, or may be performed via a separate server. The machine learning model after learning (e.g., the learned unit path generation model) may be stored in a memory (e.g., the memory 120 in FIG. 1).
[0100] FIG. 8 is a diagram showing examples of types, required times, algorithms, scores, and similarities for each sub-map in an electronic device according to an embodiment of the present invention.
[0101] As shown in FIG. 8, FIG. 8 shows examples of types, required times, algorithms, scores, and similarities for each sub-map. For example, the table 800 may be stored in a database.
[0102] An electronic device according to an embodiment (e.g., the electronic device 100 in FIG. 1) can apply a first sub-map (e.g., shown as sub-map P3-1 in FIG. 8) to a first unit path generation model (e.g., shown as Dijkstra_01 in FIG. 7) to obtain a first_1 sub-path, and apply the first sub-map to a second unit path generation model (e.g., shown as A_01 in FIG. 7) to obtain a first_2 sub-path.
[0103] The electronic device can perform a comparison of scores calculated while acquiring a first sub-route and a second sub-route for a first sub-map. For example, the electronic device can acquire a first required time including a period between the time when the first sub-map is applied to the first unit route generation model and the time when the first sub-route is acquired. The electronic device can acquire a first cost based on the usage amount of the processor and the usage amount of the memory during the first required time. The electronic device can acquire a second required time including a period between the time when the first sub-map is applied to the second unit route generation model and the time when the second sub-route is acquired. The electronic device can acquire a second cost based on the usage amount of the processor and the usage amount of the memory during the second required time.
[0104] The electronic device can apply a predetermined weighted value group to each of the first required time, the first cost, and the length of the first sub-route to determine a first score. The electronic device can apply the weighted value group to each of the second required time, the second cost, and the length of the second sub-route to determine a second score. The electronic device can acquire the first sub-route based on a comparison of the first score and the second score.
[0105] The electronic device can include in a table 800 a unit route generation model for acquiring the first sub-route, the required time, the score, and the similarity between the first sub-map and a preset map.
[0106] FIG. 9 is a diagram showing an example of a preset map in an electronic device according to an embodiment of the present invention.
[0107] As shown in FIG. 9, FIG. 9 shows an illustration 900 of a preset map. For example, the illustration 900 of the preset map can include an explanation, an algorithm, settings, and a storage path. Specifically, the explanation of the preset map can include an explanation of the object to which the preset map is abstracted. The algorithm of the preset map can indicate the algorithm selected by the user in a predetermined number in descending order of the scores calculated in FIG. 6 based on the scores. Such an algorithm may be immediately applied to a sub-map having a high similarity to the preset map. The settings of the preset map can indicate the settings of the user. That is, the user can determine whether to use the preset map by inputting a setting value.
[0108] FIG. 10 is a diagram showing an illustration of a first main path in an electronic device according to an embodiment of the present invention.
[0109] As shown in FIG. 10, FIG. 10 shows an illustration 1010 of the first main path. For example, as described above with reference to FIG. 1, the first main path can indicate a path generated by a departure point, a destination point, and a via point at a time point before the target time point. Specifically, the illustration 1010 of the first main path can include an explanation of the first main path, points of the first main path, and a path of the first main path.
[0110] The explanation of the first main path can exemplarily include the width and length of an alleyway. The points of the first main path can indicate the points received by the electronic device (e.g., the electronic device 100 in FIG. 1) at the time of generating the first main path (i.e., the departure point, the target point, and the via point). The path of the first main path can include the points that the robot must necessarily visit in the target map in order to move along the first main path.
[0111] FIG. 11 is a diagram showing a method of generating a second main path in an electronic device according to an embodiment of the present invention.
[0112] An electronic device according to an embodiment can receive a route request from a robot 1120. Here, the robot 1120 can not only transmit a target map and a location group to the electronic device 1110, but also transmit the result of autonomously performing route generation from the robot 1120.
[0113] Based on receiving a route request from the robot 1120, the electronic device 1110 can determine whether a first main route is identified and whether a via point on the first main route is changed. When the first main route is identified and the via point on the first main route has not been changed, the electronic device 1110 can transmit the first main route as a response to the route request of the robot 1120.
[0114] Based on the target map, the electronic device 1110 can determine whether a sub-map exists in the database. For example, if the electronic device 1110 has a history of splitting a sub-map through the target map, it may not be necessary to newly split a sub-map from the target map.
[0115] When the sub-map does not exist in the database based on the target map, the electronic device 1110 can obtain the sub-map by splitting the target map. Here, the electronic device 1110 can perform type matching of the sub-map based on the case where the size of the sub-map is equal to or greater than a certain size. Specifically, based on performing type matching, the electronic device 1110 can determine the similarity between the sub-map and the preset map, and based on the similarity exceeding a preset similarity, determine the type of the sub-map as the type of the preset map. Different from this, the electronic device 1110 can generate the type of the sub-map based on the similarity not exceeding the preset similarity.
[0116] Based on the generation of the type of the sub-map, the electronic device 1110 can apply the sub-map to the path generation model. The electronic device 1110 can apply the sub-map to the path generation model to obtain the sub-path of the sub-map. The electronic device 1110 can apply the first sub-map to the first path generation model (or the first unit path generation model) by the first processor to obtain the first_1 sub-path. The electronic device 1110 can apply the first sub-map to the second path generation model (or the second unit path generation model) by the second processor to obtain the first_2 sub-path. The electronic device 1110 can perform the operations of the first processor and the second processor asynchronously by the target processor.
[0117] Based on performing the above-described operations for all sub-maps divided from the target map, the electronic device can generate the second main path of the target map. Exemplarily, when the aggregation and / or combination of all sub-maps divided from the target map is required as a result, the electronic device can generate the second main path through the aggregation and / or combination of sub-paths for each sub-map.
[0118] By performing the operations shown in FIG. 11, the electronic device 1110 can have the following effects. For example, the electronic device 1110 can improve the method of processing only the path generation operation in the internal system of the robot 1120 and can provide various choices in the selection of the map-based path planning algorithm. Through this, the electronic device 1110 can have the effect of maximizing the performance without changing the hardware of the robot 1120 through parallel processing of path planning like a cloud server.
[0119] FIG. 12 is a diagram showing a computing system related to an electronic device or a control method according to an embodiment of the present invention.
[0120] As shown in FIG. 12, a computing system 1000 related to an electronic device or a control method can include at least one processor 1100, a memory 1300, a user interface input device 1400, a user interface output device 1500, a storage 1600, and a network interface 1700 that are connected via a bus 1200.
[0121] The processor 1100 may be a semiconductor device that executes processing on instruction words stored in a central processing unit (CPU) or the memory 1300 and / or the storage 1600. The memory 1300 and the storage 1600 can include various types of volatile or non-volatile storage media. For example, the memory 1300 can include a ROM (read only memory) and a RAM (random access memory).
[0122] Therefore, the steps of the method or algorithm described with respect to the embodiments disclosed herein may be directly embodied in hardware, a software module, or a combination of the two executed by the processor 1100. The software module may also reside in a recording medium such as a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, a CD-ROM (i.e., the memory 1300 and / or the storage 1600).
[0123] An exemplary recording medium is coupled to the processor 1100, and the processor 1100 can read information from the recording medium and write information to the recording medium. As another method, the recording medium may be integrated with the processor 1100. The processor and the recording medium can also reside within an application specific integrated circuit (ASIC). The ASIC can also reside within a user terminal. As another method, the processor and the recording medium can also reside as separate components within a user terminal.
[0124] The above description merely exemplarily explains the technical idea of the present invention, and those with ordinary knowledge in the technical field to which the present invention pertains can make various modifications and variations without departing from the essential characteristics of the present invention.
[0125] The embodiments described above can be implemented by hardware components, software components, and / or combinations of hardware components and software components. For example, the devices, methods, and components described in the embodiments can be implemented using a general-purpose computer or a special-purpose computer, such as a processor, a controller, an ALU (arithmetic logic unit), a digital signal processor, a microcomputer, an FPGA (field programmable gate array), a PLU (programmable logic unit), a microprocessor, or any other device capable of executing and responding to instructions. The processing device can execute an operating system (OS) and software applications executed on the operating system. Also, the processing device can access, store, operate on, process, and generate data in response to the execution of software. For the sake of convenience of understanding, the processing device may be described as being used singly, but those with ordinary knowledge in the art will understand that the processing device can include a plurality of processing elements and / or multiple types of processing elements. For example, the processing device can include a plurality of processors or one processor and one controller. Also, other processing configurations, such as a parallel processor, are possible.
[0126] Software can include a computer program, code, instruction, or a combination of one or more of these, and can configure a processing device to operate as desired or can instruct the processing device independently or collectively. Software and / or data can be permanently or temporarily embodied in a certain type of machine, component, physical device, virtual equipment, computer recording medium or device, or signal wave being transmitted. Software can be distributed on a computer system connected by a network and stored or executed in a distributed manner. Software and data can be stored in a computer-readable recording medium.
[0127] The method according to the embodiment can be embodied in the form of program instructions executable via various computer means and recorded on a computer-readable medium. The computer-readable medium can include program instructions, data files, data structures, etc. alone or in combination, and the program instructions recorded on the medium can be those specially designed and configured for the embodiment or those known to and usable by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions such as ROMs, RAMs, flash memories, etc. Examples of program instructions include not only machine language codes such as those made by compilers, but also high-level language codes that can be executed by a computer using an interpreter or the like.
[0128] The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
[0129] As described above, even if the embodiments are described by way of example with reference to limited figures, those of ordinary skill in the art can apply various technical modifications and variations based thereon. For example, whether the described techniques are performed in an order different from the described method, and / or whether the components of the described system, structure, device, circuit, etc. are combined or combined in a form different from the described method, or replaced or substituted by other components or equivalents, appropriate results can be achieved.
[0130] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims described below.
[0131] Accordingly, the embodiments disclosed in the present invention are for the purpose of illustration rather than limitation of the technical idea of the present invention, and the scope of the technical idea of the present invention is not limited by such embodiments. The scope of protection of the present invention should be construed in accordance with the following claims, and all technical ideas within the equivalent scope thereof should be construed as being included within the scope of the rights of the present invention.
Claims
1. 1. An electronic device comprising: a memory storing computer-executable instructions; and At least one processor that accesses the memory and executes the instructions. Including, The at least one processor Based on receiving a target map including a predetermined area based on a position of the robot and a point group including points set on the target map, identifying a first main route that was generated at a time prior to receiving the target map and the point group and that connects the set points; determining at least one type of a first sub-map, a second sub-map, or a combination thereof obtained by dividing the target map based on the points included in the point group based on the fact that the first main route is not identified; applying the first submap and the second submap to a route generation model trained to calculate an optimal route on a map based on at least one of the type of the first submap, the type of the second submap, or a combination thereof, to obtain a first sub-route of the first submap and a second sub-route of the second submap; generating a second main route in which the set points are connected by connecting the first sub-route and the second sub-route; electronic equipment.
2. The at least one processor Based on the identification of the first main route, identifying a starting point, a destination point, and a waypoint included in the first main route; transmitting the first main path to the robot based on the fact that differences between each of the starting point, the destination point, and the waypoint and each of the points included in the point group are included in a predetermined error distance; 2. The electronic device of claim 1.
3. The at least one processor Identifying a waypoint among the points included in the group of points; determining whether each of the waypoints is a location to which the robot can move based on the fact that the waypoints are included in the target map; Dividing the target map based on the points included in the point group on the basis that each of the waypoints is a point to which the robot can move.
2. The electronic device of claim 1.
4. The at least one processor Obtaining a first waypoint included in the waypoint; acquiring a second waypoint different from the first waypoint among points spaced a predetermined distance from the first waypoint; Dividing the target map based on the first waypoint and the second waypoint to obtain the first sub-map and the second sub-map.
4. The electronic device of claim 3.
5. The at least one processor identifying a center point of the first sub-map and a border point that is the closest to the center point among points in the first sub-map that are spaced apart from the center point; determining a sub-area including a point spaced from the center point by a distance between the center point and the boundary point and a predetermined distance; determining the first sub-map as the sub-region; 5. The electronic device of claim 4.
6. The at least one processor identifying a preset map in a database in which the first main route is stored, for determining a type of at least one of the first sub-map and the second sub-map; determining a type of the sub-map by performing type matching of the sub-map and the preset map; 2. The electronic device of claim 1.
7. The at least one processor Adjusting the sub-map and the preset map to a predetermined size; identifying a first pixel in the sub-map and a second pixel in the preset map that is co-located with the first pixel; performing the type matching based on a difference between the first pixel and the second pixel; 7. The electronic device of claim 6.
8. The at least one processor determining a similarity between the sub-map and the preset map based on the type matching; determining a type of the sub-map as a type of the preset map based on the degree of similarity exceeding a predetermined degree of similarity; 8. The electronic device of claim 7.
9. The at least one processor generating a type of the sub-map based on the similarity not exceeding the predetermined similarity; storing the type of the sub-map in the database; 9. The electronic device of claim 8.
10. The at least one processor identifying a first unit path generation model and a second unit path generation model from among the path generation models based on the fact that the path generation models include at least one unit path generation model; 2. The electronic device of claim 1.
11. The at least one processor Applying the first sub-map to the first unit path generation model to obtain a 1_1 sub-path, and applying the first sub-map to the second unit path generation model to obtain a 1_2 sub-path; applying the second sub-map to the first unit path generation model to obtain a 2_1 sub-path, and applying the second sub-map to the second unit path generation model to obtain a 2_2 sub-path; 11. The electronic device of claim 10.
12. The at least one processor obtain a first required time including a section between a time when the first sub-map is applied to the first unit route generation model and a time when the first_1 sub-route is obtained; obtaining a first cost based on the processor usage and the memory usage during the first duration; obtain a second required time including a section between a time when the first sub-map is applied to the second unit route generation model and a time when the first_2 sub-route is obtained; acquiring a second cost based on the processor usage and the memory usage during the second duration; 12. The electronic device of claim 11.
13. The at least one processor applying a predetermined group of weights to each of the first duration, the first cost, and the length of the first sub-route to determine a first score; applying the group of weights to each of the second duration, the second cost, and the length of the second sub-route to determine a second score; acquiring the first sub-path based on a comparison of the first score and the second score; 13. The electronic device of claim 12.
14. The at least one processor a first processor, a second processor, and a target processor; The first processor, Applying the first sub-map to the first unit path generation model to obtain the 1_1 sub-path; The second processor Applying the first sub-map to the second unit path generation model to obtain the first_2 sub-path; The target processor is The operation of the first processor and the operation of the second processor are performed asynchronously.
12. The electronic device of claim 11.
15. The at least one processor providing data relating to the first unit path generation model and the second unit path generation model to a user who uses the robot; applying the first sub-map and the second sub-map to the unit path generation model selected by the user based on receiving a selection of at least one of the first unit path generation model and the second unit path generation model from the user; 11. The electronic device of claim 10.
16. an operation of identifying a first main route that is generated at a time prior to receiving the target map and the group of points and that connects the set points, based on receiving a target map including a predetermined area based on a position of the robot and a group of points including the set points on the target map; determining at least one type of a first sub-map, a second sub-map, or a combination thereof obtained by dividing the target map based on points included in the point group based on the fact that the first main route is not identified; applying the first sub-map and the second sub-map to a route generation model trained to calculate an optimal route in a map based on at least one of the first sub-map type, the second sub-map type, or a combination thereof, to obtain a first sub-route of the first sub-map and a second sub-route of the second sub-map; and generating a second main route in which the set points are connected by connecting the first sub-route and the second sub-route; Control methods.
17. The operation of identifying the first main path includes: based on the first main route being identified, identifying a start point, a destination point, and a waypoint included in the first main route; and transmitting the first main path to the robot based on a difference between each of the starting point, the destination point, and the waypoint and each of the points included in the point group being included in a predetermined error distance; 17. The control method according to claim 16.
18. identifying waypoints among the points included in the group of points; determining whether each of the waypoints is a location to which the robot can move based on the inclusion of the waypoints in the target map; and and further comprising an operation of dividing the target map based on points included in the point group on the basis that each of the waypoints is a point to which the robot can move.
17. The control method according to claim 16.
19. The operation of determining the type of at least one of the first sub-map, the second sub-map, or a combination thereof includes: identifying a preset map in a database in which the first main route is stored, for determining a type of at least one of the first sub-map and the second sub-map; and determining a type of the sub-map by performing type matching of the sub-map and a preset map; 17. The control method according to claim 16.
20. an operation of identifying a first unit path generation model and a second unit path generation model among the path generation models based on the path generation models including at least one unit path generation model; An operation of providing data related to the first unit path generation model and the second unit path generation model to a user who uses the robot; and and applying the first sub-map and the second sub-map to the unit path generation model selected by the user based on receiving a selection of at least one of the first unit path generation model and the second unit path generation model from the user.
17. The control method according to claim 16.