Robot-friendly building, and method and system for controlling robot traveling in building
The robot control method and system address the challenge of managing multiple robots moving to the same destination by generating and updating movement paths to include layover nodes, ensuring safe and efficient traffic management within the building.
Patent Information
- Application Number
- PCT/KR2024/013635
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-18
- Filing Date
- 2024-09-09
- Publication Date
- 2025-06-26
AI Technical Summary
Existing methods for controlling robots within a building do not effectively manage the traffic of multiple robots moving to the same destination, leading to potential collisions and deadlocks.
A robot control method and system that generates a movement path for each robot based on a node map, checks the occupancy status of the destination node, and updates the path to include a layover node if the destination is occupied, ensuring that robots move sequentially and avoid collisions.
The system efficiently manages robot traffic by ensuring that only one robot moves to the destination at a time, preventing collisions and deadlocks, and allowing robots to move safely, quickly, and accurately within the building.
Smart Images

Figure KR2024013635_26062025_PF_FP_ABST
Abstract
Description
Robot-friendly building, method and system for controlling a robot that moves through a building
[0001] The present invention relates to a robot control method and system applicable to an eco-friendly building. In particular, the present invention relates to a method and system for controlling the traffic of multiple robots moving toward the same destination.
[0002] As technology advances, various service devices are emerging, and in particular, technological development for robots that perform various tasks or services is actively underway.
[0003] Furthermore, recent advancements in artificial intelligence and cloud technologies have made it possible to control robots with greater precision and safety, leading to a gradual increase in their utility. In particular, technological advancements have enabled robots to safely coexist with humans in indoor spaces.
[0004] Accordingly, robots are recently replacing human tasks or operations, and various methods for robots to directly provide services to people, especially in indoor spaces, are being actively researched.
[0005] For example, robots provide navigation services in public spaces like airports, train stations, and department stores, and serve customers in restaurants. Furthermore, robots provide delivery services, delivering mail and packages in offices, shared living spaces, and other spaces. Furthermore, robots provide a variety of services, including cleaning, security, and logistics. The types and scope of services provided by robots are expected to grow exponentially in the future, and the level of service provided is also expected to continue to evolve.
[0006] These robots provide various services not only in outdoor spaces but also in indoor spaces of buildings (or premises) such as offices, apartments, department stores, schools, hospitals, and amusement facilities. In this case, the robots are controlled to move around the indoor spaces of the buildings and provide various services.
[0007] Meanwhile, active research is underway into methods for controlling robot movement to provide services within buildings. Korean Patent Publication No. 10-2023-0153788 discloses a method for determining a robot's autonomous navigation path. However, the invention focuses only on the movement path of a specific robot. Therefore, collisions or deadlocks can occur when multiple robots are moving toward the same destination.
[0008] Accordingly, there is a need for a method to control the traffic of multiple robots moving to the same destination.
[0009] The present invention provides a control method and system for a robot that moves within a building.
[0010] In particular, the present invention provides a robot control method and system capable of controlling a plurality of robots moving to the same destination.
[0011] More specifically, the present invention provides a robot control method and system that controls a plurality of robots to sequentially move to the same destination.
[0012] In order to achieve the above-described purpose, a robot control method according to the present invention may include a step of generating a movement path of a specific robot based on a node map including a plurality of nodes, a step of controlling the specific robot so that the specific robot moves along the movement path, a step of checking an occupancy status of a destination node included in the movement path, and a step of updating the movement path so that a specific node located around the destination node is included in the movement path based on the occupancy status of the destination node.
[0013] Furthermore, the robot control system according to the present invention includes a control unit that generates a movement path of a specific robot based on a node map and controls the specific robot to move along the movement path, and the control unit can check the occupancy status of a destination node included in the movement path and, based on the occupancy status of the destination node, update the movement path so that a specific node located around the destination node is included in the movement path.
[0014] Furthermore, the program according to the present invention is a program stored in a computer-readable recording medium and executed by one or more processes in an electronic device, and may include instructions for performing a step of generating a movement path of a specific robot based on a node map including a plurality of nodes, a step of controlling the specific robot so that the specific robot moves along the movement path, and a step of updating the movement path so that a specific node located around the destination node is included in the movement path based on an occupancy state of the destination node.
[0015] The robot control method and system according to the present invention generates a movement path of a specific robot based on a node map, and controls the specific robot to move along the movement path, thereby controlling the robot to move safely, quickly, and accurately within a building.
[0016] Furthermore, the robot control method and system according to the present invention can check the occupancy status of a destination node included in a movement path, and based on the occupancy status of the destination node, update the movement path so that a specific node located around the destination node is included in the movement path. Through this, in the present invention, when multiple robots move to the same destination, the multiple robots are sequentially moved to the destination one by one, and other robots are controlled to wait at a layover node, thereby preventing collisions and deadlocks between the robots.
[0017] More specifically, the present invention can efficiently manage the traffic of robots not only when the destination is occupied by a robot, but also when there is a robot that has reserved to move to the destination first even if the destination is not physically occupied by a robot.
[0018] Furthermore, the robot-friendly building according to the present invention utilizes technological convergence, where robots, autonomous driving, AI, and cloud technologies are integrated and connected, and can provide a new space where these technologies, robots, and facility infrastructure within the building are organically combined.
[0019] Furthermore, the robot-friendly building according to the present invention utilizes a cloud server that interfaces with multiple robots, allowing for the systematic management of the robots' operations, enabling them to provide services more systematically by organically controlling multiple robots and equipment infrastructure. This allows the robot-friendly building according to the present invention to provide a variety of services to people more safely, quickly, and accurately.
[0020] Figures 1, 2 and 3 are conceptual diagrams illustrating a robot-friendly building according to the present invention.
[0021] FIGS. 4, 5 and 6 are conceptual diagrams for explaining a system for controlling a robot that drives a robot-friendly building and various facilities provided in the robot-friendly building according to the present invention.
[0022] Figures 7 and 8 are conceptual diagrams for explaining the facility infrastructure provided in a robot-friendly building according to the present invention.
[0023] Figures 9 to 11 are conceptual diagrams for explaining a method for estimating the position of a robot driving a robot-friendly building according to the present invention.
[0024] Figure 12 is a conceptual diagram for explaining a robot control system according to the present invention.
[0025] Figures 13 and 14 are flowcharts for explaining a robot control method according to the present invention.
[0026] Figure 15 is a conceptual diagram for explaining the node occupancy status and node reservation status in the present invention.
[0027] Figures 16a, 16b, 16c and 17 are conceptual diagrams for explaining a method of controlling the movement of multiple robots moving to the same destination.
[0028] Figure 18 is a conceptual diagram for explaining a map creation interface for robot operation according to the present invention.
[0029] Figures 19a and 19b are conceptual diagrams for explaining a method of controlling the movement of multiple robots according to priority changes in the present invention.
[0030] Figure 20 is a conceptual diagram for explaining a specific method of a layover node in the present invention.
[0031] Hereinafter, embodiments disclosed in this specification will be described in detail with reference to the attached drawings. Regardless of the drawing numbers, identical or similar components will be given the same reference numbers, and redundant descriptions thereof will be omitted. The suffixes "module" and "part" used for components in the following description are assigned or used interchangeably only for the convenience of writing the specification, and do not in themselves have distinct meanings or roles. In addition, when describing the embodiments disclosed in this specification, if it is determined that a specific description of a related known technology may obscure the gist of the embodiments disclosed in this specification, a detailed description thereof will be omitted. In addition, the attached drawings are only intended to facilitate easy understanding of the embodiments disclosed in this specification, and the technical ideas disclosed in this specification are not limited by the attached drawings, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and technical scope of the present invention.
[0032] Terms that include ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by these terms. These terms are used solely to distinguish one component from another.
[0033] When a component is referred to as being "connected" or "connected" to another component, it should be understood that it may be directly connected or connected to that other component, but that there may be other components intervening. Conversely, when a component is referred to as being "directly connected" or "connected" to another component, it should be understood that there are no other components intervening.
[0034] Singular expressions include plural expressions unless the context clearly indicates otherwise.
[0035] In this application, terms such as “include” or “have” are intended to specify the presence of a feature, number, step, operation, component, part or combination thereof described in the specification, but should be understood not to exclude in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof.
[0036] The present invention relates to a robot-friendly building, and proposes a robot-friendly building in which people and robots can safely coexist and, further, robots can provide useful services within the building.
[0037] More specifically, the present invention provides a method for providing useful services to people using robots, robot-friendly infrastructure, and various systems for controlling them. In a building according to the present invention, people and multiple robots can coexist, and various infrastructures (or facility infrastructures) can be provided that allow multiple robots to move freely within the building.
[0038] In the present invention, a building is a structure constructed for continuous residence, living, work, etc., and may take various forms, such as a commercial building, an industrial building, an institutional building, or a residential building. Furthermore, the building may be a multi-story building with multiple floors, or a single-story building, as opposed to a multi-story building. However, for convenience of explanation, the present invention will be described as an example of infrastructure or facility infrastructure applicable to a multi-story building.
[0039] In the present invention, infrastructure or facility infrastructure refers to facilities installed in a building for the purpose of providing services, moving robots, maintaining their functions, maintaining cleanliness, etc., and their types and forms may vary greatly. For example, infrastructure installed in a building may include various types of moving equipment (e.g., robot passageways, elevators, escalators, etc.), charging equipment, communication equipment, cleaning equipment, structures (e.g., stairs, etc.), etc. In this specification, these facilities are referred to as facilities, infrastructure, facility infrastructure, or facility infrastructure, and in some cases, the terms may be used interchangeably.
[0040] Furthermore, in a building according to the present invention, at least one of the building, various facility infrastructures provided in the building, and a robot are controlled in conjunction with each other, so that the robot can safely and accurately provide various services within the building.
[0041] The present invention proposes a building equipped with various facility infrastructures that enable multiple robots to move within the building, provide services according to their tasks (or work), and support standby or charging functions, as well as repair and cleaning functions for the robots as needed. Such a building provides an integrated solution (or system) for robots, and the building according to the present invention can be designated by various modifiers. For example, the building according to the present invention can be expressed in various ways, such as i) a building equipped with infrastructure utilized by robots, ii) a building equipped with robot-friendly infrastructure, iii) a robot-friendly building, iv) a building where robots and people live together, and v) a building that provides various services utilizing robots.
[0042] Meanwhile, the meaning of "robot-friendly" in the present invention refers to a building where robots coexist. More specifically, it can mean that the building allows robots to operate, provides services to robots, has facility infrastructure available to robots, or has facility infrastructure providing functions necessary for robots (e.g., charging, repair, cleaning, etc.). In this case, "robot-friendly" in the present invention can be used to mean that the building has an integrated solution for the coexistence of robots and humans.
[0043] Below, the present invention will be described in more detail with reference to the attached drawings.
[0044] FIGS. 1, 2, and 3 are conceptual diagrams illustrating a robot-friendly building according to the present invention, and FIGS. 4, 5, and 6 are conceptual diagrams illustrating a system for controlling a robot that moves around a robot-friendly building according to the present invention and various facilities equipped in the robot-friendly building. Furthermore, FIGS. 7 and 8 are conceptual diagrams illustrating facility infrastructure equipped in a robot-friendly building according to the present invention.
[0045] First, for convenience of explanation, we will define representative drawing symbols.
[0046] In the present invention, a building is given the drawing code “1000”, and a space (indoor space or indoor area) of the building (1000) is given the drawing code “10” (see Fig. 8). Furthermore, indoor spaces corresponding to a plurality of floors constituting the indoor space of the building (1000) are given drawing codes 10a, 10b, 10c, etc. (see Fig. 8). In the present invention, the indoor space or indoor area means the interior of a building protected by an exterior wall, as opposed to the exterior of the building, and is not limited to meaning a space.
[0047] Furthermore, in the present invention, the robot is given a drawing symbol “R”, and even if a drawing symbol is not indicated for the robot in the drawing or specification, it can all be understood as a robot (R).
[0048] Furthermore, in the present invention, a person or human is given the drawing symbol “U,” and a person or human can be designated as a dynamic object. In this case, the dynamic object does not necessarily mean only a person, but can be understood to include an animal such as a dog or cat, or at least one other robot (e.g., a user’s personal robot, a robot providing other services, etc.), a drone, a vacuum cleaner (e.g., a robot vacuum cleaner), or other objects capable of movement.
[0049] Meanwhile, the building (building, structure, edifice, 1000) described in the present invention is not limited to a specific type, and may mean a structure built for people to live in, work in, raise animals, or store objects.
[0050] For example, the building (1000) may be an office, an officetel, an apartment, a mixed-use apartment, a house, a school, a hospital, a restaurant, a government office, etc., and the present invention may be applied to these various types of buildings.
[0051] As illustrated in Fig. 1, in a building (1000) according to the present invention, a robot can move and provide various services.
[0052] One or more different types of multiple robots may be located within the building (1000), and these robots may, under the control of the server (20), move within the building (1000), provide services, and utilize various facility infrastructures provided in the building (1000).
[0053] In the present invention, the location of the server (20) may vary. For example, the server (20) may be located at least within the building (1000) and outside the building (1000). That is, at least a portion of the server (20) may be located within the building (1000), and the remaining portion may be located outside the building (1000). Alternatively, the server (20) may be located entirely within the building (1000), or only outside the building (1000). Accordingly, the present invention does not impose any particular limitations on the specific location of the server (20).
[0054] Furthermore, in the present invention, the server (20) may be configured to utilize at least one of a cloud computing-based server (cloud server, 21) and an edge computing-based server (edge server, 22). Furthermore, in addition to the cloud computing or edge computing methods, the server (20) may be applied to the present invention as long as it is capable of controlling a robot.
[0055] Meanwhile, the server (20) according to the present invention may, in some cases, perform control of at least one of the robot and the facility infrastructure provided in the building (1000) by combining the server (21) of the cloud computing method and the edge computing method.
[0056] Meanwhile, the robot (R) can be driven according to control commands. For example, the robot (R) can move its position or change its posture by changing its movements, and can perform software updates.
[0057] In the present invention, for convenience of explanation, the server (20) is uniformly named as a “cloud server” and is assigned the drawing symbol “20.” Meanwhile, it goes without saying that the cloud server (20) can also be replaced with the term “edge server (22)” of edge computing.
[0058] Furthermore, the term “cloud server” can be variously changed to terms such as cloud robot system, cloud system, cloud robot control system, and cloud control system.
[0059] Meanwhile, the cloud server (20) according to the present invention can perform integrated control on a plurality of robots running in a building (1000). That is, the cloud server (20) can i) monitor a plurality of robots (R) located in the building (1000), ii) assign tasks (or work) to the plurality of robots, iii) directly control the facility infrastructure provided in the building (1000) so that the plurality of robots (R) successfully perform the tasks, or iv) control the facility infrastructure through communication with a control system that controls the facility infrastructure.
[0060] Furthermore, the cloud server (20) can check the status information of robots located in the building and provide (or support) various functions required by the robots. These various functions may include a charging function for the robots, a cleaning function for contaminated robots, and a standby function for robots whose missions have been completed.
[0061] The cloud server (20) can control the robots so that they can utilize various facility infrastructures provided in the building (1000) to provide various functions to the robots. Furthermore, the cloud server can directly control the facility infrastructures provided in the building (1000) or control the facility infrastructures through communication with a control system that controls the facility infrastructures to provide various functions to the robots.
[0062] In this way, robots controlled by the cloud server (20) can move around the building (1000) and provide various services.
[0063] Meanwhile, the cloud server (20) can perform various controls based on information stored in the database. The present invention does not impose any particular limitations on the type and location of the database. The term "database" may be freely modified and used to refer to any means of storing information, such as memory, storage, repository, cloud storage, external storage, or external server. The term "database" will be used hereafter for explanation.
[0064] Meanwhile, the cloud server (20) according to the present invention can perform distributed control of robots based on various criteria such as the type of service provided by the robots, the type of control for the robots, etc. In this case, the cloud server (20) may have sub-servers of lower concept.
[0065] Furthermore, the cloud server (20) according to the present invention can control a robot moving through a building (1000) based on various artificial intelligence algorithms.
[0066] Furthermore, the cloud server (20) performs artificial intelligence-based learning by utilizing data collected during the process of controlling the robot as learning data, and by utilizing this for robot control, the more control is achieved over the robot, the more accurately and efficiently the robot can be operated. In other words, the cloud server (20) can be configured to perform deep learning or machine learning. In addition, the cloud server (20) can perform deep learning or machine learning through simulations or the like, and control the robot using the artificial intelligence model constructed as a result.
[0067] Meanwhile, the building (1000) may be equipped with various facility infrastructures for robot driving, robot function provision, robot function maintenance, robot mission performance, or coexistence of robots and humans.
[0068] For example, as illustrated in (a) of FIG. 1, various facility infrastructures (1, 2) capable of supporting the driving (or movement) of a robot (R) may be provided within a building (1000). These facility infrastructures (1, 2) may support horizontal movement of the robot (R) within a floor of the building (1000), or may support vertical movement of the robot (R) between different floors of the building (1000). In this way, the facility infrastructures (1, 2) may be provided with a transportation system that supports the movement of the robot. The cloud server (20) may control the robot (R) to utilize these various facility infrastructures (1, 2), so that the robot (R) may move within the building (1000) to provide a service, as illustrated in (b) of FIG. 1.
[0069] Meanwhile, the robots according to the present invention can be controlled based on at least one of a cloud server (20) and a control unit provided in the robot itself, so as to drive within a building (1000) or provide a service corresponding to an assigned task.
[0070] Furthermore, as illustrated in (c) of FIG. 1, a building according to the present invention is a building in which robots and people coexist, and the robots are configured to avoid obstacles such as people (U), objects used by people (e.g., baby strollers, carts, etc.), and animals while driving, and in some cases, may be configured to output notification information (3) related to the driving of the robot. Such driving of the robot may be performed to avoid obstacles based on at least one of a cloud server (20) and a control unit equipped in the robot. The cloud server (20) may control the robot so that the robot avoids obstacles and moves within the building (1000) based on information received through various sensors equipped in the robot (e.g., a camera (image sensor), a proximity sensor, an infrared sensor, etc.).
[0071] In addition, a robot that moves inside a building through the processes of (a) to (c) of FIG. 1 can be configured to provide a service to a person or target object existing inside the building, as shown in (d) of FIG. 1.
[0072] The types of services provided by robots can vary from robot to robot. In other words, robots can exist in various types for different purposes, have different structures for each purpose, and can be equipped with programs appropriate for each purpose.
[0073] For example, a building (1000) may be equipped with robots that provide at least one of the following services: delivery, logistics, guidance, interpretation, parking assistance, security, crime prevention, guarding, public order, cleaning, quarantine, disinfection, laundry, beverage preparation, food preparation, serving, fire suppression, medical assistance, and entertainment. The services provided by the robots may vary in addition to the examples listed above.
[0074] Meanwhile, the cloud server (20) can assign appropriate tasks to the robots by considering the purpose of each robot and control the robots so that the assigned tasks are performed.
[0075] At least some of the robots described in the present invention can drive or perform tasks under the control of a cloud server (20). In this case, the amount of data processed by the robot itself for driving or performing tasks can be minimized. In the present invention, such robots can be referred to as brainless robots. Such brainless robots can rely on the control of the cloud server (20) for at least a portion of their control when performing actions such as driving, performing tasks, charging, waiting, and cleaning within a building (1000).
[0076] However, in this specification, brainless robots are not named separately, but are all referred to as “robots.”
[0077] Hereinafter, with reference to the contents of the building (1000), building system (1000a), facility infrastructure (200), and cloud server (20) discussed above, the process of the robot (R) utilizing the facility infrastructure (200) will be examined in more detail. At this time, the robot (R) may drive in the indoor space (10)(10) of the building (1000), move using the facility infrastructure (200), and further utilize the facility infrastructure (200) for the purpose of performing a task (or providing a service), driving, charging, maintaining cleanliness, waiting, etc.
[0078] In this way, the robot (R) can drive in the indoor space of a building (1000) or move using the facility infrastructure (200) to achieve the “purpose” based on a certain “purpose”, and further, can utilize the facility infrastructure (200).
[0079] At this point, the purpose the robot must achieve can be determined based on various factors. The purpose the robot must achieve can be classified into two types: first-type and second-type.
[0080] Here, the first type of purpose may be for the robot to perform its original mission, and the second type of purpose may be for the robot to perform a mission or function other than its original mission.
[0081] In other words, the purpose that a Type 1 robot must achieve may be to perform its original mission. This purpose can also be understood as the robot's "task."
[0082] For example, if the robot is a robot that provides serving services, the robot may drive within the indoor space of the building (1000) or move using the facility infrastructure (200) to achieve the purpose or task of providing the serving services, and further, may utilize the facility infrastructure (200). In addition, if the robot is a robot that provides a route guidance service, the robot may drive within the indoor space of the building (1000) or move using the facility infrastructure (200) to achieve the purpose or task of providing the route guidance service, and further, may utilize the facility infrastructure (200).
[0083] Meanwhile, a building according to the present invention may house multiple robots operating for different purposes. That is, different robots capable of performing different tasks may be deployed within the building. Different types of robots may be deployed within the building based on the needs of the building manager and various entities occupying the building.
[0084] For example, a building may be equipped with robots that provide at least one of the following services: delivery, logistics, guidance, interpretation, parking assistance, security, crime prevention, guarding, public order, cleaning, quarantine, disinfection, laundry, beverage preparation, food preparation, serving, fire suppression, medical assistance, and entertainment. The services provided by the robots may vary beyond the examples listed above.
[0085] Meanwhile, the second type of purpose is for the robot to perform tasks or functions outside of its original mission. This purpose may be unrelated to the robot's original mission. While not directly related to the robot's original mission, this second type of purpose may be a task or function indirectly necessary for the robot to perform.
[0086] For example, for robots to perform their intended tasks, they require sufficient power for operation. Furthermore, for them to provide pleasant services to people, they must be kept clean. Furthermore, for multiple robots to operate efficiently within a building, they may sometimes be required to wait in a designated space.
[0087] In this way, in order to achieve the second type of purpose, the robot in the present invention can drive in the indoor space of a building (1000) or move using the facility infrastructure (200), and further, can utilize the facility infrastructure (200).
[0088] For example, a robot may utilize charging facility infrastructure to achieve a purpose according to its charging function, and may utilize washing facility infrastructure to achieve a purpose according to its washing function.
[0089] In this way, in the present invention, the robot can drive in the indoor space of a building (1000) or move using the facility infrastructure (200) to achieve a certain purpose, and further, can utilize the facility infrastructure (200).
[0090] Meanwhile, the cloud server (20) can perform appropriate control on each of the robots located in the building based on information corresponding to each of the multiple robots located in the building stored in the database.
[0091] Meanwhile, various information about each of a plurality of robots located within a building may be stored in the database, and the information about the robot (R) may be very diverse. For example, there may be i) identification information for identifying the robot (R) placed in the space (10) (e.g., serial number, TAG information, QR code information, etc.), ii) mission information assigned to the robot (R) (e.g., type of mission, operation according to the mission, target user information for the mission, mission performance location, mission performance scheduled time, etc.), iii) driving path information set for the robot (R), iv) location information of the robot (R), v) status information of the robot (R) (e.g., power status, breakdown status, cleaning status, battery status, etc.), vi) image information received from a camera equipped in the robot (R), vii) motion information related to the operation of the robot (R), etc.
[0092] Meanwhile, appropriate control of robots may be related to the control of operating robots according to the first type of purpose or the second type of purpose discussed above.
[0093] Here, operation of the robot may mean control to enable the robot to drive in the indoor space of the building (1000), move using the facility infrastructure (200), and further, use the facility infrastructure (200).
[0094] The movement of the robot may be referred to as the driving of the robot, and therefore, in the present invention, the movement path and the driving path may be used interchangeably.
[0095] The cloud server (20) can assign appropriate tasks to each robot based on the information about each robot stored in the database, according to the purpose (or original mission) of each robot, and control the robots to ensure that the assigned tasks are performed. The assigned tasks may be tasks aimed at achieving the first type of purpose discussed above.
[0096] Furthermore, the cloud server (20) can perform control on each robot to achieve a second type of purpose based on information about each robot stored in the database.
[0097] At this time, the robot that has received a control command to achieve the second type of purpose from the cloud server (20) can move to the charging facility infrastructure or the washing facility infrastructure, etc., based on the control command, to achieve the second type of purpose.
[0098] Meanwhile, in the following, the terms "purpose" and "mission" will be used without distinguishing between Type 1 and Type 2 purposes. The purpose described below may be either Type 1 or Type 2.
[0099] Likewise, the mission described below may be a mission to achieve the first type of objective or a mission to achieve the second type of objective.
[0100] For example, if there is a robot capable of providing a serving service and there is a target user to serve, the cloud server (20) can control the robot so that the robot performs a task corresponding to serving the target user.
[0101] For another example, if there is a robot that needs to be charged, the cloud server (20) can perform control to move the robot to the charging facility infrastructure so that the robot performs a task corresponding to charging.
[0102] Hereinafter, a method for a robot to perform a purpose or task using the facility infrastructure (200) under the control of a cloud server (20), regardless of whether the purpose is a first type or a second type, will be examined in more detail. Meanwhile, in this specification, a robot controlled by a cloud server (20) to perform a task may also be referred to as a “target robot.”
[0103] The cloud server (20) can specify at least one robot to perform a task upon request or at its own discretion.
[0104] Here, requests can be received from various entities. For example, a cloud server can receive requests in various ways (e.g., user input via electronic devices, user input via gestures) from various entities, such as visitors, managers, residents, and workers located in the building. Here, the request may be a service request for a robot to provide a specific service (or task).
[0105] Based on such a request, the cloud server (20) can specify a robot capable of performing the service among a plurality of robots located within the building (1000). The cloud server (20) can specify a robot capable of responding to the request based on i) the type of service that the robot can perform, ii) the task previously assigned to the robot, iii) the current location of the robot, and iv) the status of the robot (e.g., power status, cleanliness status, battery status, etc.). As previously described, various information about each robot exists in the database, and the cloud server (20) can specify a robot that will perform the task based on the request based on such database.
[0106] Furthermore, the cloud server (20) can specify at least one robot to perform a task based on its own judgment.
[0107] Here, the cloud server (20) can perform its own judgment based on various causes.
[0108] As an example, the cloud server (20) can determine whether a specific user or specific space within a building (1000) requires provision of a service. The cloud server (20) can extract a specific target requiring provision of a service based on information sensed and received from at least one of a sensing unit (120, see FIGS. 4 to 6) within the building (1000), a sensing unit included in the facility infrastructure (200), and a sensing unit equipped in a robot.
[0109] Here, a specific target may include at least one of a person, a space, or an object. The object may refer to a facility, object, etc. located within a building (1000). Furthermore, the cloud server (20) can specify the type of service required for the extracted specific target and control the robot to provide the specific service to the specific target.
[0110] For this purpose, the cloud server (20) can specify at least one robot that will provide a specific service to a specific target.
[0111] The cloud server (20) can determine a target requiring service provision based on various judgment algorithms. For example, the cloud server (20) can specify a type of service, such as route guidance, serving, or stair navigation, based on information sensed and received from at least one of a sensing unit (120, see FIGS. 4 to 6) present in a building (1000), a sensing unit included in the facility infrastructure (200), and a sensing unit equipped in a robot. Furthermore, the cloud server (20) can specify a target requiring the service. Furthermore, the cloud server (20) can specify a robot capable of providing the specified service, so that the service is provided by the robot.
[0112] Furthermore, the cloud server (20) can determine a specific space requiring service provision based on various judgment algorithms. For example, the cloud server (20) can extract a specific space or object requiring service provision, such as a target user for delivery, a guest requiring guidance, a contaminated space, a contaminated facility, a fire zone, etc., based on information sensed and received from at least one of a sensing unit (120, see FIGS. 4 to 6) existing in a building (1000), a sensing unit included in the facility infrastructure (200), and a sensing unit equipped in a robot, and can specify a robot capable of providing the service so that the service is provided by the robot to the specific space or object.
[0113] In this way, when a robot to perform a specific task (or service) is specified, the cloud server (20) can assign a task to the robot and perform a series of controls necessary for the robot to perform the task.
[0114] At this time, the series of controls may include at least one of i) setting the movement path of the robot, ii) specifying the facility infrastructure to be used for moving to the destination where the mission is to be performed, iii) communicating with the specific facility infrastructure, iv) controlling the specific facility infrastructure, v) monitoring the robot performing the mission, vi) evaluating the driving of the robot, and vii) monitoring whether the robot has completed the mission.
[0115] The cloud server (20) can specify the destination where the robot's mission is to be performed and set a movement path for the robot to reach that destination. Once the movement path is set by the cloud server (20), the robot (R) can be controlled to move to that destination in order to perform the mission.
[0116] Meanwhile, the cloud server (20) can set a movement path for the robot to reach the destination from the location where the robot starts (or initiates) performing a task (hereinafter referred to as the “task performance start location”). Here, the location where the robot starts performing a task may be the robot’s current location or the robot’s location at the time the robot starts performing the task.
[0117] The cloud server (20) can generate a movement path of a robot to perform a task based on a map (or map information) corresponding to an indoor space (10) of a building (1000).
[0118] Here, the map may include map information for each space of a plurality of floors (10a, 10b, 10c, …) that constitute the interior space of the building.
[0119] Furthermore, the movement path may be a movement path from a mission execution start location to a destination where the mission is performed.
[0120] While the present invention describes map information and movement paths for indoor spaces, the present invention is not necessarily limited thereto. For example, the map information may include information for outdoor spaces, and the movement path may be a path connecting an indoor space to an outdoor space.
[0121] The present invention relates to a method and system for controlling a robot moving through a building (1000) based on a node map including nodes, and can control the traffic of robots moving to the same destination. In the present invention, a plurality of robots may be located within the building (1000), and these robots may move through the building (1000) and provide services under the control of a cloud server (20). Accordingly, the robot control system (300) may also be referred to as a cloud server (20).
[0122] Hereinafter, a method for controlling the traffic of robots will be described in more detail with reference to the attached drawings. Fig. 12 is a conceptual diagram for explaining a robot control system according to the present invention. Figs. 13 and 14 are flowcharts for explaining a robot control method according to the present invention, Fig. 15 is a conceptual diagram for explaining a node occupancy state and a node reservation state in the present invention, Figs. 16a, 16b, 16c, and 17 are conceptual diagrams for explaining a method for controlling the movement of a plurality of robots moving to the same destination, Fig. 18 is a conceptual diagram for explaining a map creation interface for robot operation according to the present invention, Figs. 19a and 19b are conceptual diagrams for explaining a method for controlling the movement of a plurality of robots according to a priority change in the present invention, and Fig. 20 is a conceptual diagram for explaining a specific method of a layover node in the present invention.
[0123] As illustrated in FIG. 12, the robot control system (300) according to the present invention may be configured to include at least one of a communication unit (310), a storage unit (320), and a control unit (330).
[0124] The communication unit (310) may be configured to communicate with various devices placed in the space (10) via wired or wireless communication. The communication unit (310) may communicate with at least one robot (R) located within a building (1000), such as a city. The communication unit (310) may be configured to transmit a control command to the robot (R) to control the robot (R) through communication with the robot (R).
[0125] The communication unit (310) can support various communication methods according to the communication standards of the communicating device. For example, the communication unit (310) may be configured to communicate with a device (including a cloud server) located inside or outside the space (20) using at least one of the following technologies: WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Wi-Fi (Wireless Fidelity) Direct, DLNA (Digital Living Network Alliance), WiBro (Wireless Broadband), WiMAX (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), 5G (5th Generation Mobile Telecommunication), Bluetooth (Bluetooth™), RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra-Wideband), ZigBee, NFC (Near Field Communication), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus).
[0126] Next, the storage unit (320) may be configured to store various information related to the present invention. In the present invention, the storage unit (320) may be provided in the robot control system (300) itself. Alternatively, at least a portion of the storage unit (320) may refer to a database (20a) included in a cloud server (20). That is, the storage unit (320) may be sufficient as long as it stores information necessary for robot control according to the present invention, and it may be understood that there are no restrictions on physical space. Accordingly, hereinafter, the storage unit (320) and the database (20a) will not be separately distinguished, and will both be referred to as the storage unit (320). In this case, the database (20a) may refer to a “cloud storage.”
[0127] In the storage unit (320), information about the robot (R) can be stored.
[0128] Information about the robot (R) can be very diverse, and for example, information about the robot (R) can include i) identification information for identifying the robot (R) placed in the space (10) (e.g., serial number, TAG information, QR code information, etc.), ii) mission information assigned to the robot (R), iii) movement path (or driving path) information set for the robot (R), iv) location information of the robot (R), v) status information of the robot (R) (e.g., power status, breakdown status, battery status, etc.), vi) image information received from a camera equipped in the robot (R), etc.
[0129] In the storage unit (320), a map (or map information) for the space (10) can be stored. The map for the space (10) can mean a map that can be used to determine the current location of the robot (R) or to set the movement path of the robot.
[0130] The map information stored in the storage unit (320) may correspond to a node map (M) including multiple nodes. The storage unit (320) may contain type information (attribute information) that defines the node type (or node attribute) for each node.
[0131] In the present invention, each of the plurality of nodes may be configured to have one type of node and a second type of node dependent on the first type of node.
[0132] Specifically, a first type of node may include a general node, and a second type of node dependent on the first type of node may include a layover node.
[0133] Here, the subordination of a layover node to a general node can be understood as meaning that the layover node can be linked to at least one of a plurality of general nodes. In the present invention, a layover node can be derived from a general node and can be understood as a subnode of the general node. These layover nodes can be co-located based on the general node's allocation in space (or node map).
[0134] In the present invention, a robot (R) can move from a general node to a layover node subordinate to the general node and wait for the next movement. By controlling the robot to wait for a control command for the next movement while positioned at the layover node subordinate to the general node, the robot can avoid interfering with or colliding with the movement of other robots moving through the general node.
[0135] A layover node may be connected to a general node to which the layover node is dependent by an edge. For example, as illustrated in FIG. 18, a layover node (812) may be matched with each of a plurality of general nodes (811) assigned to a node map (M) and connected by an edge. More specifically, a first layover node (812a) may be matched with a first general node (811a) and connected by an edge, and a second layover node (812b) may be matched with a second general node (811b) and connected by an edge. In this case, the general node and the layover node dependent on the general node may include an edge (or edge information) connecting them to each other.
[0136] Meanwhile, general nodes (type 1 nodes) are nodes associated with the robot's movement and can be used to configure a robot's movement path, allowing the robot to move from a starting point to a destination. For example, general nodes may include at least one of a starting node, a transit node, a facility node, an open waiting node, a docking node, and a destination node.
[0137] A layover node (a second type of node) is a node where a robot temporarily (or temporarily) passes through for robot traffic control. In the present invention, an area (region) containing at least one layover node may be referred to as a layover zone. Such a layover node may be linked to at least one of a plurality of nodes included in the movement path.
[0138] Next, the control unit (330) may be configured to control the overall operation of the robot control system (300) related to the present invention. The control unit (330) may control the driving and behavior (operation) of the robot (R) by processing signals, data, information, etc. input or output through the components discussed above.
[0139] The control unit (330) can use the node map (M) to generate a movement path from a node corresponding to the current location (starting location) of the robot (R) to another node corresponding to the destination. More specifically, the control unit (330) can specify at least one transit node that the robot (R) must pass through to reach the destination in order to perform a task. The control unit (330) can generate a movement path by connecting the starting node, transit nodes, and the destination node. The control unit (330) can transmit a control command to the robot (R) so that the robot (R) moves according to the generated movement path.
[0140] The robot control system (300) according to the present invention can provide various robot services (e.g., order service, delivery service, courier service, etc.) by linking with at least one service server (or external server, 400).
[0141] The service server (400) may be named variously, such as a courier system, an ordering system, a delivery system, a guidance system, a secretary system, a cafe system, or a lunchbox system, depending on the type of service. The service server (400) may be configured to perform a series of data processing operations, depending on each service. For example, if the service server (400) is a product (or food) ordering system, the service server (400) may receive a product order from a user (customer) (S311, see FIG. 13). Upon receiving a product order, the service server (400) may request the robot control system (300) to provide a robot service corresponding to the order.
[0142] The robot control system (300) can, in response to a service provision request from the service server (400), identify a specific robot (R) among multiple robots located within the building to perform a task corresponding to the robot service (e.g., a delivery task) (S312). The robot control system (300) can generate a movement path for the specific robot and control the robot's movement according to the movement path.
[0143] More specifically, the robot control system (300) can check whether the destination node corresponding to the destination is preempted (occupied or reserved) by another robot (S313, see FIG. 13). If the destination node is preempted by another robot, the robot control system (300) can control the movement of a specific robot (R) to a layover node located around the destination node (S314). In addition, the robot control system (300) can continuously monitor whether the destination node is preempted (S315).
[0144] On the other hand, the robot control system (300) can preempt a destination node for a specific robot if the destination node is not already preempted by another robot (S316). In addition, the robot control system (300) can control the movement of a specific robot (R) so that the specific robot moves to the destination node (S317).
[0145] A specific robot (R) can move to a destination node under the control of a robot control system (300) and perform a task assigned to the specific robot (R) at the destination node. For example, if the task assigned to the specific robot is a delivery task, the specific robot can complete the delivery task by having the user receive the item at the destination node (S318).
[0146] The robot control system (300) can control the movement of a specific robot (R) so that the specific robot (R) moves from a destination node to another node when the specific robot (R) completes its task (S319). The robot control system (300) can release the destination node preemption for the specific robot (R) based on the specific robot (R) leaving the destination node (S320).
[0147] The robot control system (300) can prevent a situation in which multiple robots moving to the same destination node collide or become deadlocked by controlling a specific robot to pass through a layover node if the destination node is preempted by another robot.
[0148] Below, with reference to the attached drawings, a method for controlling a robot to move to a destination node via a layover node will be described. For convenience of explanation, another robot (or may be designated as the first robot) will be designated with the drawing symbol "R1," and a specific robot (or may be designated as the second robot) will be designated with the drawing symbol "R2."
[0149] In the present invention, a process for generating a movement path for a specific robot may be performed (S410, see FIG. 14). The control unit (330) may use a node map including multiple nodes to generate a movement path from the node where the specific robot is currently located to the destination node.
[0150] In the present invention, a process of controlling a specific robot to move along a specific path may be performed (S420, see FIG. 14). The control unit (330) may transmit driving information including the movement path to the specific robot.
[0151] Furthermore, in the present invention, a process of checking the occupancy status of a destination node included in a movement path may be performed (S430, see FIG. 14).
[0152] In the present invention, the occupancy state of the destination node may correspond to either a first state in which the destination node cannot be occupied by a specific robot or a second state in which the destination node can be occupied by a specific robot.
[0153] The first state may include a state in which the destination node is occupied by a robot (R1) other than a specific robot (R2), or the other robot (R1) has reserved the occupancy of the destination node.
[0154] For example, as shown in (a) of Fig. 15, if another robot (R1) is located within a certain error range area (520) based on the destination node (N5), the control unit (330) can determine that the destination node (N5) is in the first state already occupied by another robot (R1).
[0155] For another example, as shown in (b) of FIG. 15, if another robot (R1) is not located at the destination node (N5), but another robot (R1) has reserved occupancy while driving toward the node (N5) as its destination, the control unit (330) can determine that the destination node (N5) is in the first state reserved by the other robot (R1).
[0156] The control unit (330) can determine the occupancy status of the destination node (N5) as a first state in which occupancy by a specific robot (R2) is impossible, not only when another robot (R1) is physically located at the destination node (N5), but also when another robot (R1) has made a reservation to occupy the destination node (N5) first (or to move to the destination node (N5) first) even when another robot (R1) is not physically located at the destination node (N5).
[0157] On the other hand, as illustrated in (c) of FIG. 15, the second state may correspond to a case where the destination node (N5) is not occupied by another robot (R1) and is not reserved by another robot (R1). The control unit (330) may determine the occupancy state of the destination node (N5) as the second state in which the occupancy of the specific robot (R2) is possible based on the fact that the destination node (N5) is not occupied and not reserved by another robot (R1). In this case, the control unit (330) may continuously control the movement of the specific robot (R2) according to the existing movement path of the specific robot (R2) so that the specific robot (R2) moves to the destination node (N5).
[0158] Meanwhile, there may be a priority for the destination node between a specific robot (R) and another robot (R) based on certain criteria.
[0159] The control unit (330) can specify the occupancy status of the destination node as the first status (a status in which occupancy by a specific robot is impossible) based on the destination node (N5) being occupied or reserved by another robot (R1) having a higher priority for the destination node (N5) than a specific robot (R2).
[0160] The priorities of the robots can be set in various ways. The control unit (330) can determine the priorities of multiple robots for a destination node based on at least one of: i) the order in which service provision requests are received, ii) the locations of the robots, iii) the expected arrival time at the destination node, and iv) the level of mission urgency. The control unit (330) can reserve the destination node corresponding to the destination for a robot with the highest priority among multiple robots targeting the same node.
[0161] For example, if the control unit (330) sequentially receives a first service provision request and a second service provision request for the same destination from the service server (400), the control unit (330) may set the priority of the first robot (R1) assigned a task corresponding to the first service provision request to be higher than the priority of the second robot (R2) assigned a task corresponding to the second service provision request. In this case, the execution locations of the task assigned to the first robot (R1) and the task assigned to the second robot may correspond to the same destination node (N5). That is, the control unit (330) may occupy or reserve the destination node for the other robot (R1) based on the fact that the first service provision request was received before the second service provision request.
[0162] For another example, the control unit (330) may set the priority of the first robot (R1) to be higher than that of the second robot (R2) if the distance from the destination node of the first robot (R1) is relatively closer than that of the second robot (R2).
[0163] As another example, the control unit (330) can set a higher priority to a robot that is expected to arrive at the destination node first, based on the expected arrival times of the first robot (R1) and the second robot (R2) at the destination node, respectively.
[0164] For another example, if the level of urgency of the first task assigned to the first robot (R1) is higher than the level of urgency of the second task assigned to the second robot (R2), the control unit (330) may set the priority of the first robot (R1) to be higher than the priority of the second robot (R2).
[0165] If the destination node (N5) is occupied or reserved by another robot (R1) with a lower priority than the specific robot (R2), the control unit (330) may specify the occupancy state of the destination node as the second state (a state in which occupancy by the specific robot is possible). In this case, the control unit (330) may control the specific robot (R2) to continue to move along the movement path toward the destination node (N5) and change the movement path of the other robot (R1) that is occupying or reserving the destination node (N5). This will be described in more detail later.
[0166] Meanwhile, in the present invention, a process of updating a movement path may be performed so that a specific node located around the destination node is included in the movement path based on the occupancy status of the destination node (S440, see FIG. 14).
[0167] The control unit (330) can update the movement path to include a layover node located around the destination node (N5) if the destination node cannot be occupied by a specific robot (R2).
[0168] As illustrated in Fig. 16a, a plurality of nodes (N1 to N9, L1 to L5) may be arranged in a space (10). The plurality of nodes may correspond to either general nodes (N1 to N9) or layover nodes (L1 to L5) depending on the node type.
[0169] The general nodes (N1 to N9) can be understood as nodes associated with the movement of the robot. The control unit (330) primarily generates a movement path (610) including multiple general nodes (N1 to N9) to move the robot from a starting point to a destination. The robot must pass through at least one general node to move from the starting point to the destination.
[0170] Layover nodes (L1 to L5) can be understood as nodes associated with a waiting operation in which a robot moving along a general node stops moving and waits. The robot can stop moving, move away from the general node to the layover node, and wait for the next movement. A specific layover node (e.g., L3) may be located at a point (area) adjacent to one of a plurality of general nodes (e.g., N6) and may include connection information with the adjacent general node (N6).
[0171] The control unit (330) can secondarily generate (or update) the robot's movement path to include layover nodes (L1 to L5) based on the occupancy status of the destination node (N5) being the first state (unoccupied by a specific robot). The robot does not necessarily have to pass through a layover node to move from the starting point to the destination, and can pass through a layover node flexibly depending on the occupancy status of the destination node (N5).
[0172] As illustrated in FIG. 16b, when the destination node (N5) is occupied or reserved by another robot (R1) and thus the destination node (N5) cannot be occupied by a specific robot (R2) (first state), the control unit (330) can update the existing movement path (first movement path, see reference numeral “610” in FIG. 16a) to a new movement path (second movement path, 620) so that the specific robot (R2) moving along the existing movement path (first movement path, see reference numeral “610” in FIG. 16a) to the destination node (N5) passes through one of the layover nodes (L3) located around the destination node (N5).
[0173] In this case, the control unit (330) can perform a reservation for a specific layover node (L3) for a specific robot (R2). Based on the reservation of a specific layover node (L3) for a specific robot (R2), the control unit (330) can control another robot (ex: a third robot, R3) that has the same node as the specific robot (R2) to pass through a layover node other than the specific layover node (L3). That is, the control unit (330) can control the specific robot (R2) to pass through a specific layover node (L3), and control another robot (R3) to pass through a layover node other than the specific layover node (L3).
[0174] The control unit (330) can transmit a control command including an updated movement path (620) to a specific robot (R2), so that the specific robot (R2) moves to a specific layover node (L3) according to the updated movement path (620). For example, as illustrated in FIG. 17, the control unit (330) can transmit a control command (700) including unique information (or identification information, ID, ex: “LayoverZoneIds”: [“pickup-zone-0801”, “pickup-zone-0802”], 710) of a specific layover node located around a destination node (N5) and a route command (ex: “useLayoverZone”: true, 720) of the specific layover node to the specific robot (R2). Although not shown, the control unit (330) can transmit a control command (700) including a non-pass command of a layover node (ex: “useLayoverZone”: false) to a specific robot (R2) if the robot’s movement path does not include a layover node.
[0175] The control unit (330) can continuously monitor the occupancy status of the destination node (N5) while simultaneously moving a specific robot (R2) to the layover node (L3). Based on the cancellation of occupancy and reservation of the destination node (N5), the control unit (330) can determine that the occupancy status of the destination node (N5) has changed from a first state in which occupancy by the specific robot (R2) is impossible to a second state in which occupancy by the specific robot (R2) is possible.
[0176] For example, the control unit (330) may determine that the destination node (N5) can be occupied by a specific robot (R2) when another robot (R1) located at the destination node (N5) moves from the destination node (N5) to another node, or when another robot (R1) that has reserved the destination node (N5) moves to another node (a node surrounding the destination node (N5)) after occupying the destination node (N5).
[0177] For another example, the control unit (330) can determine that the destination node (N5) can be occupied by a specific robot (R2) based on the completion of the task of another robot (R1) that occupies or reserves the destination node (N5). That is, even if the destination node (N5) is occupied by another robot (R1), the control unit (330) can quickly determine that the destination node (N5) can be occupied by a specific robot (R2) based on the fact that the other robot (R1) that has completed the task is scheduled to leave the destination node (N5).
[0178] As illustrated in FIG. 16c, the control unit (330) can update the movement path of the specific robot (R2) so that the specific robot (R2) moves from the layover node (L3) to the destination node (N5) based on the transition of the occupancy state of the destination node (N5) to a second state in which the occupancy of the specific robot (R2) is possible (third movement path, 630). In addition, the control unit (330) can control the movement of the specific robot (R2) so that the specific robot (R2) moves to the destination node (N5) along the updated movement path (third movement path, 630).
[0179] In this case, the control unit (330) can perform an occupancy reservation for the destination node (N5) for a specific robot (R2). Based on the reservation of the destination node (N5) for the specific robot (R2), the control unit (330) can control another robot (e.g., a third robot, R3) having the same node as the specific robot (R2) to move to the destination node (N5).
[0180] Meanwhile, even if the destination node (N5) is occupied or reserved by another robot (ex: third robot, R3) that has a lower priority for the destination node (N5) than the other robot (R1) and a higher priority for the destination node (N5) than the specific robot (R2), the control unit (330) may determine that the destination node (N5) is still unoccupied by the specific robot (R2).
[0181] For example, let's assume that between the time when the first service provision request and the second service provision request are received, a third service provision request is received from the service server (400), and a task corresponding to the third service provision request is assigned to another third robot (R3). Even if another robot (R1) moves from the destination node (N5) to a peripheral node of the destination node (N5), if the destination node (N5) is occupied or reserved by the third robot (R3), the control unit (330) can determine that the node (N5) is still unoccupied by a specific robot (R2).
[0182] In this case, the control unit (330) can monitor the occupancy status of the destination node (N5) while controlling the specific robot (R2) to continue to be located at the layover node (L3). The control unit (330) can determine that the destination node (N5) can be occupied by the specific robot (R2) based on the fact that the third robot (R3), following the other robots, completes the task assigned to the third robot (R3) at the destination node (N5) and moves to a node surrounding the destination node (N5).
[0183] Furthermore, the control unit (330) can control the destination node in the first state to be switched to the second state and no update is made to the movement path if a specific robot (R2) has a priority over another robot (R1) for the destination node (N5). Based on the priority of the specific robot (R2) over another robot (R1), the specific robot (R2) can move to the destination node (N5) and the other robot (R1) can move to the layover node.
[0184] Meanwhile, in the present invention, an editing interface (800) that can edit a node map corresponding to a space within a building (1000) can be provided to a user (display unit of a user terminal).
[0185] When the control unit (330) receives a map editing request for a specific floor (or specific space) among multiple floors of a building (1000) from a user terminal, the control unit (330) may provide an editing interface (800) including at least a portion of a map corresponding to the specific floor (or specific space) on the display of the user terminal in response to the map editing request. The user may perform node allocation and node type setting for the node map (or the space corresponding to the node map) through the editing interface (800). In the present invention, the editing interface (800) may be named as an “editing screen”, an “editing user graphical interface (GUI)”, an “editing page”, a “map editor”, etc.
[0186] As illustrated in FIG. 18, the editing interface (800) may include at least one of a first area (“map area”, 810) including at least a portion of a node map (M) corresponding to a specific layer (specific space) and a second area (“setting area”, 820) including a function for editing a node assigned to the node map (M).
[0187] The control unit (330) can place at least one node (or node graphic object, 811, 812) on the node map (M) based on a user input for a point of the node map (M) in the first area (810). In addition, the control unit (330) can set editing information (or node information) for the nodes (811, 812) based on a user input for the second area (820). The editing information may be diverse. For example, the node information may include at least one of node unique information (identification information or ID, 821), node coordinate information (822), node type information (823), and node area information (or node zone information, 824).
[0188] The control unit (330) may set the node types of some of the plurality of nodes (811, 812) allocated to the node map (M) as general nodes (811) based on user input, and may set the node types of other some as layover nodes (812). The control unit (330) may match and connect a specific layover node with a general node adjacent to the specific layover node. For example, the control unit (330) may match and connect a first layover node (812a) with a first general node (811a), and may match and connect a second layover node (812b) with a second general node (811b). The control unit (330) may set an area (zone) including at least one layover node (812) as a layover area.
[0189] The control unit (330) can update the node map (M) to which nodes are assigned to the cloud server so that the robots (R) can drive on a specific floor according to the type of node assigned to the node map (M).
[0190] The control unit (330) can, based on the node map updated in the cloud server (20), when multiple robots move to the same destination node, move only one of the multiple robots to the destination node and move the remaining robots to the layover node.
[0191] As described above, if the destination node (N5) is occupied or reserved by another robot (R1) having a lower priority for the destination node (N5) than a specific robot (R2), the control unit (330) can specify the occupancy state of the destination node as the second state (a state in which occupancy by a specific robot is possible).
[0192] In this case, the control unit (330) controls a specific robot (R2) to continue to drive along a movement path toward a destination node (N5), and can change the movement path of another robot (R1) that is occupying or reserving the destination node (N5).
[0193] As illustrated in Fig. 19a, let us assume that in response to receiving a first service provision request from a service server (400), a task corresponding to the first service provision request is assigned to a first robot (R1), and the movement of the first robot (R1) is controlled along a movement path (first movement path, 900a) that has a destination node (N5) as its destination. The control unit (330) may, in a state where the destination node (N5) is reserved by the first robot (R1), in response to receiving a second service provision request different from the first service provision request from the service server (400), assign a task corresponding to the second service provision request to the second robot (R2). In addition, the control unit (330) may determine which robot among the first robot (R1) and the second robot (R2), which must perform a task at the same destination node (N5), has a higher priority for the destination node (N5). For example, the control unit (330) may calculate the expected arrival times of the first robot (R1) and the second robot (R2) at the destination node (N5), respectively, and determine that the second robot (R2), which is scheduled to arrive at the destination node (N5) first, has a higher priority for the destination node (N5) than the first robot (R1). That is, if the priority for the destination node (N5) is the first robot (R1), and there is a second robot (R2) with a higher priority than the first robot (R1), the control unit (330) may set the priority of the second robot (R2) for the destination node (N5) to the highest, and change the priority of the first robot (R1) to a priority next to the second robot (R2).
[0194] In this case, the control unit (330) can cancel the first robot's (R1) occupancy or reservation for the destination node (N5). Based on the cancellation of the occupancy or reservation of the first robot (R1), the destination node (N5) can be switched to the second state where it can be occupied by the second robot (R2). Based on the transition of the destination node (N5) to the second state, the control unit (330) can reserve the occupancy of the destination node for the second robot (R2).
[0195] As illustrated in FIG. 19b, the control unit (330) can update the existing movement path (first movement path, 900a) of the first robot (R1) to a new movement path (second movement path, 900b) so that the first robot (R1) passes through a specific layover node (L3) located around the destination node (N5). In addition, the control unit (330) can generate a movement path (920) of the second robot (R2) so that the second robot (R2) moves from its current location to the destination node (N5). The control unit (330) monitors the occupancy status of the destination node (N5) while the first robot (R1) is located at the layover node (L3), and can control the first robot (R1) to move to the destination node (N5) based on whether the occupancy status of the destination node (N5) is a state that can be occupied by the first robot (R1) (e.g., the second robot has completed performing a task at the destination node).
[0196] Meanwhile, if multiple layover nodes are located around the destination node (N5), the control unit (330) can control a specific robot (R2) to pass through any one of the multiple layover nodes.
[0197] More specifically, the control unit (330) can specify, among a first state layover node that cannot be occupied by a specific robot (R2) and a second state layover node that can be occupied by a specific robot (R2), a layover node in the second state as the layover node through which the specific robot (R2) will pass. In this case, the control unit (330) can specify, among a plurality of layover nodes having the second state, any one of them that is located closest to the destination node (N5) as the layover node through which the specific robot (R2) will pass.
[0198] That is, the control unit (330) can specify a layover node that can be occupied by a specific robot (R2) among multiple layover nodes (layover node in the second state) and is located closest to the destination node (N5) as the layover node that the specific robot (R2) will pass through.
[0199] For example, as illustrated in FIG. 20, let us assume that the first layover node (L3) is located at a first distance (D1) from the destination node (N5), and the second layover node (L4) is located at a second distance (D2) from the destination node (N5) that is further than the first distance (D1). If both the first layover node (L3) and the second layover node (L4) can be occupied by a specific robot (R2), the control unit (330) can specify the first layover node (L3) that is located closer to the destination node (N5) as the node that the specific robot (R2) will pass through. On the other hand, if the first layover node (L3) cannot be occupied by a specific robot (R2) based on the fact that the first layover node (L3) is occupied (reserved) by another robot (R3), the control unit (330) can specify the second layover node (L4) located next closest to the first layover node (L3) from the destination node (N5) as the node through which the specific robot (R2) will pass. The control unit (330) can control the movement of the specific robot (R2) by generating a movement path to the second layover node (L4).
[0200] The robot control method and system according to the present invention generates a movement path of a specific robot based on a node map, and controls the specific robot to move along the movement path, thereby controlling the robot to move safely, quickly, and accurately within a building.
[0201] Furthermore, the robot control method and system according to the present invention can check the occupancy status of a destination node included in a movement path, and based on the occupancy status of the destination node, update the movement path so that a specific node located around the destination node is included in the movement path. Through this, in the present invention, when multiple robots move to the same destination, the multiple robots are sequentially moved to the destination one by one, and other robots are controlled to wait at a layover node, thereby preventing collisions and deadlocks between the robots.
[0202] More specifically, the present invention can efficiently manage the traffic of robots not only when the destination is occupied by a robot, but also when there is a robot that has reserved to move to the destination first even if the destination is not physically occupied by a robot.
[0203] Meanwhile, the present invention discussed above can be implemented as a program that is executed by one or more processes on a computer and can be stored on a medium that can be read by the computer.
[0204] Furthermore, the present invention discussed above can be implemented as computer-readable code or instructions on a program-recorded medium. That is, the various control methods according to the present invention can be provided in the form of programs, either integrated or individually.
[0205] Meanwhile, computer-readable media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include hard disk drives (HDDs), solid-state disk drives (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices.
[0206] Furthermore, the computer-readable medium may include a storage device and may be a server or cloud storage device accessible via communication. In this case, the computer may download the program according to the present invention from the server or cloud storage device via wired or wireless communication.
[0207] Furthermore, in the present invention, the computer described above is an electronic device equipped with a processor, i.e., a CPU (Central Processing Unit), and there is no particular limitation on its type.
[0208] Meanwhile, the detailed description above should not be construed as limiting in any respect and should be considered illustrative. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are intended to be included within the scope of the present invention.
Claims
1. A method for controlling a robot moving through space based on a node map including a plurality of nodes, A step of generating a movement path of a specific robot based on the above node map; A step of controlling the specific robot so that the specific robot moves along the movement path; A step of checking the occupancy status of a destination node included in the above movement path; and A robot control method, characterized by including a step of updating the movement path so that a specific node located around the destination node is included on the movement path based on the occupancy status of the destination node.
2. In paragraph 1, The occupancy status of the above destination node is: A first state in which the destination node is occupied based on a robot other than the specific robot being located at the destination node, or the occupancy of the destination node is reserved by another robot not located at the destination node; and A robot control method, characterized in that the destination node includes a second state that is not occupied or reserved by the other robot.
3. In paragraph 2, In the step of updating the above movement path, A robot control method characterized by updating the movement path so that the specific robot moves to the specific node based on the occupancy state of the destination node being the first state.
4. In paragraph 3, The above specific node, A robot control method characterized in that it is linked to at least one of a plurality of nodes included in the above movement path.
5. In paragraph 4, Each of the above multiple nodes, Having a node type of one of a first type of node and a second type of node dependent on the first type of node, The above specific node, A robot control method, characterized in that the second type of node is dependent on the first type of node included in the above movement path.
6. In paragraph 5, The above second type of node It corresponds to one of the occupancy states among the first state in which the occupancy of the specific robot is impossible and the second state in which the occupancy of the specific robot is possible, A robot control method, characterized in that the specific node is a node of the second type having an occupied state of the second state.
7. In paragraph 2, The destination node of the above first state is, A robot control method characterized in that the other robot is switched to the second state based on moving from the destination node to a node other than the destination node.
8. In paragraph 7, A robot control method, characterized in that it further includes a step of moving the specific robot from the specific node to the destination node based on the occupancy state of the destination node changing from the first state to the second state.
9. In paragraph 2, Between the above specific robot and the other robot, there is a priority for the destination node according to certain criteria, A robot control method, characterized in that if the specific robot has a priority for the destination node over the other robot, the destination node in the first state is switched to the second state, and no update is made to the movement path.
10. In paragraph 9, A robot control method, characterized in that the specific robot moves to the destination node and the other robot moves to the specific node based on the priority of the specific robot being higher than that of the other robot.
11. In paragraph 10, Further comprising the step of calculating the expected arrival time of each of the specific robot and the other robot to the destination node, A robot control method, characterized in that the specific robot is given priority over the other robots for the destination node based on the expectation that the specific robot will arrive at the destination node before the other robots.
12. In paragraph 2, The tasks assigned to the above other robots correspond to the first service provision request received from the service server, The task assigned to the above specific robot corresponds to a second service provision request received after the first service provision request, A robot control method, characterized in that the destination node is occupied or reserved by the other robot based on the fact that the first service provision request is received before the second service provision request.
13. In paragraph 12, The destination node of the above first state is, A robot control method characterized in that the other robot is switched to the second state based on completing the task assigned to the other robot at the destination node and moving to a node other than the destination node.
14. In paragraph 1, further comprising a step of updating the node map stored in the cloud server; The steps to update the above node map are: A step of receiving a map editing request for a specific floor among multiple floors of a building; In response to the above editing request, a step of providing an editing interface including at least a part of the node map corresponding to the specific layer on a display unit of a user terminal; A step of allocating at least one node on the node map included in the editing interface based on editing information received from the user terminal; and A robot control method, characterized by including a step of updating the node map to a cloud server so that the specific robot drives on the specific floor according to the node type of the node allocated on the node map.
15. In paragraph 14, On the above node map, based on the above editing information, Nodes of type 1 and A robot control method, characterized in that at least one of the second type nodes dependent on the first type node is allocated.
16. In a system for controlling a robot moving through space based on a node map including multiple nodes, Generate a movement path for a specific robot based on the node map, Including a control unit that controls the specific robot so that the specific robot moves along the above movement path, The above control unit, Check the occupancy status of the destination node included in the above movement path, A robot control system characterized in that the movement path is updated so that a specific node located around the destination node is included in the movement path based on the occupancy status of the destination node.
17. A program that is executed by one or more processes in an electronic device and stored in a computer-readable recording medium, A step of generating a movement path of a specific robot based on a node map including a plurality of nodes; A step of controlling the specific robot so that the specific robot moves along the movement path; A step of checking the occupancy status of a destination node included in the above movement path; and A computer-readable program stored in a recording medium, characterized in that it includes commands for performing a step of updating the movement path so that a specific node located around the destination node is included in the movement path based on the occupancy status of the destination node.
Citation Information
Patent Citations
Method for planning path for avoiding collision between multi-mobile robot
KR1020160021161A
Apparatus for removing beehive and assembly for removing beehive including the same
KR1020250020967A
Method and system for specifying node for robot path plannig
KR102337531B1
Robot Management System
US20210018912A1
KR20230130827A