Robot-friendly building, and method and system for controlling robot travelling inside building
The system addresses the limitations of existing robot control methods by using a node map to control a robot's behavior based on its location, enabling simultaneous driving and behavior control, and enhancing service provision within a building.
Patent Information
- Application Number
- PCT/KR2024/004867
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-29
- Filing Date
- 2024-04-11
- Publication Date
- 2025-06-05
AI Technical Summary
Existing methods for controlling robots within buildings are limited, as they primarily focus on robot driving and do not effectively manage the robot's behavior beyond its movement path, requiring robots to stop to change behavior.
A method and system that utilize a node map to control a robot's behavior based on its location, allowing for simultaneous control of the robot's driving and behavior by transmitting control variables related to behavior control when assigned to specific nodes on the movement path.
Enables the robot to perform new behaviors while moving, without needing to stop at specific locations, and allows for systematic management of robot operations within a building, enhancing service provision by ensuring safety, speed, and accuracy.
Smart Images

Figure KR2024004867_05062025_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 room and system applicable to an eco-friendly building. In particular, the present invention relates to a method and system for controlling the behavior of a robot based on its location.
[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 on methods for controlling robot movement to provide services within buildings. Korean Patent Publication No. 10-2023-0155896 discloses an invention that generates a safe robot movement path based on an obstacle occupancy map. However, this invention focuses solely on robot movement along the path, limiting the need to stop the robot movement to control any behavior other than movement.
[0008] Accordingly, there is a need for a method to control the robot's behavior as well as its driving control.
[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 the behavior of a robot along with driving control for the robot.
[0011] More specifically, the present invention provides a robot control method and system capable of controlling the behavior of a robot based on the location of the moving robot.
[0012] In order to achieve the above-described object, the present invention provides a method for controlling a robot moving through a space based on a node map including a plurality of nodes, the method including: receiving location information of the robot moving through the space along a preset movement path including a plurality of nodes; specifying a node where the robot is located based on the location information; and, if a control variable related to behavior control of the robot is assigned to the specified node, transmitting the control variable to the robot so that the robot performs a behavior according to the control variable.
[0013] Meanwhile, a robot control system according to the present invention is a system for controlling a robot moving through a space based on a node map including a plurality of nodes, and may include a communication unit for receiving location information of the robot moving through the space along a preset movement path including a plurality of nodes, and a control unit for specifying a node where the robot is located based on the location information, and transmitting a control variable related to behavior control of the robot to the robot when the control variable is assigned to the specified node so that the robot performs a behavior according to the control variable.
[0014] Meanwhile, a 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 commands for performing the steps of: receiving position information of the robot moving in the space along a preset movement path including a plurality of nodes; specifying a node where the robot is located based on the position information; and, if a control variable related to behavior control of the robot is assigned to the specified node, transmitting the control variable to the robot so that the robot performs a behavior according to the control variable.
[0015] Meanwhile, in a building in which a robot controlled by a cloud server moves, the building includes a communication unit that receives location information of the robot moving through space along a preset movement path including a plurality of nodes from the cloud server, and the cloud server, based on the location information, specifies a node in which the robot is located, and if a control variable related to behavior control of the robot is assigned to the specified node, transmits the control variable to the robot so that the robot performs a behavior according to the control variable.
[0016] The method and system for controlling a building and a robot moving through a building according to the present invention control a robot moving through a space based on a node map including a plurality of nodes, receive location information of the robot moving through the space along a preset movement path, and can specify the node where the robot is located based on the location information. Through this, the present invention can control the behavior of a moving robot based on various locations along the robot's movement path.
[0017] Furthermore, the robot control method and system according to the present invention can control the movement and behavior of the robot in parallel using a node map by transmitting the control variable to the robot so that the robot performs a behavior according to the control variable when the control variable related to the behavior control of the robot is assigned to the specified node, and can control the robot to perform a new behavior even when the robot is moving to a destination or not stopping at a specific location.
[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] Figure 13 is a flowchart for explaining a robot control method according to the present invention.
[0026] Figures 14a, 14b, 15, 16, 17, 18a, 18b, 19 and 20 are conceptual diagrams for explaining a method of controlling the behavior of a robot according to the location of the robot using a node map.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] Singular expressions include plural expressions unless the context clearly indicates otherwise.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] Below, the present invention will be described in more detail with reference to the attached drawings.
[0040] FIGS. 1, 2, and 3 are conceptual diagrams for explaining a robot-friendly building according to the present invention, and FIGS. 4, 5, and 6 are conceptual diagrams for explaining a system for controlling a robot that moves around a robot-friendly building according to the present invention and various facilities provided in the robot-friendly building. Furthermore, FIGS. 7 and 8 are conceptual diagrams for explaining facility infrastructure provided in a robot-friendly building according to the present invention. FIGS. 9 to 11 are conceptual diagrams for explaining a method for estimating the location of a robot that moves around a robot-friendly building according to the present invention.
[0041] First, for convenience of explanation, we will define representative drawing symbols.
[0042] 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.
[0043] 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).
[0044] 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.
[0045] 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.
[0046] 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.
[0047] As illustrated in Fig. 1, in a building (1000) according to the present invention, a robot can move and provide various services.
[0048] 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).
[0049] 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).
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] In this way, robots controlled by the cloud server (20) can move around the building (1000) and provide various services.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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, and can be configured to drive within the building (1000) FF or provide a service corresponding to an assigned task.
[0066] 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.).
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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).
[0072] However, in this specification, brainless robots are not named separately, but are all referred to as “robots.”
[0073] 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.
[0074] 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).
[0075] 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.
[0076] 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.
[0077] 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."
[0078] 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).
[0079] 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.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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).
[0084] For example, a robot may utilize charging facility infrastructure to achieve a purpose according to a charging function, and may utilize cleaning facility infrastructure to achieve a purpose according to a cleaning function.
[0085] In this way, in order to achieve a certain purpose, the robot in the present invention can drive in the indoor space of a building (1000), move using the facility infrastructure (200), and further utilize the facility infrastructure (200).
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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).
[0090] 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.
[0091] 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.
[0092] 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.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0097] 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.
[0098] 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.”
[0099] The cloud server (20) can specify at least one robot to perform a task upon request or at its own discretion.
[0100] 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).
[0101] 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.
[0102] Furthermore, the cloud server (20) can specify at least one robot to perform a task based on its own judgment.
[0103] Here, the cloud server (20) can perform its own judgment based on various causes.
[0104] 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.
[0105] 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.
[0106] For this purpose, the cloud server (20) can specify at least one robot that will provide a specific service to a specific target.
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 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.
[0111] 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.
[0112] 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.
[0113] 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).
[0114] 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.
[0115] Furthermore, the movement path may be a movement path from a mission execution start location to a destination where the mission is performed.
[0116] 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.
[0117] The present invention relates to a method and system for controlling a robot moving around a building based on a node map including a plurality of nodes, and can control various actions (e.g., sound on / off, light on / off, rotation, interaction with a user (e.g., greeting, knock)) based on the current location of the moving robot.
[0118] Hereinafter, a method for controlling the behavior of a robot based on the robot's location 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. Fig. 13 is a flowchart for explaining a robot control method according to the present invention, and Figs. 14a, 14b, 15, 16, 17, 18a, 18b, 19, and 20 are conceptual diagrams for explaining a method for controlling the behavior of a robot based on the robot's location using a node map.
[0119] 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).
[0120] 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 the robot (R) as shown in the illustration. 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).
[0121] Furthermore, the communication unit (310) may be configured to receive a robot service request from at least one service server (or external server, 400). Here, the service server (400) is a server that provides robot services (e.g., order service, delivery service, courier service, etc.) in conjunction with the robot control system (300), and may perform a series of data processing (e.g., order reception, robot task specification, etc.) according to the scenario of each service. For example, the service server (400) may include a customer system, an operator system, a robot service system, a courier system, an order system, a delivery system, a guide system, a secretary system, a cafe system, a lunchbox system, etc.
[0122] The communication unit (310) can support various communication methods according to the communication standards of the communicating device.
[0123] 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).
[0124] 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 at least one of the cloud server (20) and the database (20a). 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), the cloud server (20), and the database (20a) will not be separately distinguished, and will all be referred to as the storage unit (320). In this case, the cloud server (210) may refer to a “cloud storage.”
[0125] In the storage unit (320), information about the robot (R) can be stored.
[0126] Information about the robot (R) can be very diverse, and the information about the robot (R) may include, for example, 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, battery status, etc.), vi) image information received from a camera equipped in the robot (R), etc.
[0127] 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.
[0128] 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 matching information about specific nodes, control parameters assigned to the specific nodes, and service codes dependent on the control parameters. This matching information may also be described as being included in the node map (M).
[0129] Here, “control variable” may mean information (or control command) related to controlling the behavior of the robot (R). More specifically, the control variable may be understood as information that controls the behavior of the robot (R) by controlling at least some of the components of the robot (R) (e.g., sound output unit, display unit, driving unit, lighting unit, receiving unit, etc.). For example, control variables may be predefined and exist as “Robot Sound On (activate sound or activate sound output)”, “Robot Sound Off (deactivate sound or deactivate sound output)”, “Trun Left (turn left)”, “Turn Right (turn right)”, “Turn Signal (activate signal or activate light)”, “Greeting Point (perform greeting interaction, for example, output greeting information “Hello” through the robot’s display or sound output)”, “Knock Point (perform knock interaction, for example, output knock sound “Knock Knock” through the robot’s sound output)”.
[0130] Furthermore, the “service code” dependent on the control variable is information that specifies the robot (R) to be controlled according to the control variable, and the robot (R) assigned with the task corresponding to the service code can be specified as the robot (R) to be controlled according to the control variable. For example, if the service code matching “Robot Sound On” is “Cafe Service,” in the present invention, the robot (R) performing the task corresponding to “Robot Sound On” “Cafe Service” can be specified as the robot (R) to be controlled by the control variable.
[0131] 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.
[0132] In the present invention, the control unit (330) may be used interchangeably with the cloud server (20). As described above, the cloud server (20) may perform integrated control over a plurality of robots (R) moving around a building (1000). The cloud server (20) may i) monitor a plurality of robots (R) located within the building (1000), ii) assign tasks (or work) to the plurality of robots, and iii) control the movement and behavior (operations) of the robots (R) so that the plurality of robots (R) successfully perform the tasks. Accordingly, the robot control system (300) according to the present invention may be understood as a part of the cloud server (20), and in particular, the robot control system (300) may be understood as data processing performed under the control of the cloud server (20).
[0133] The control unit (330) can use the node map (M) to generate a movement path from a node corresponding to the current 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 a starting node, transit nodes, and a 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.
[0134] The control unit (330) can control the robot (R) to behave according to the control variable assigned to the node based on the robot (R) moving along the movement path being located at a node among a plurality of nodes to which the control variable is assigned.
[0135] That is, the control unit (330) is controlling the driving of the robot (R) so that the robot (R) drives from the starting node (or starting point) to the destination node (or destination), and when the robot (R) is located at a node to which a control variable is assigned, the control unit (330) can additionally and in parallel (simultaneously) perform braking control on the robot (R) according to the control variable.
[0136] Below, we will describe in more detail how to additionally control the behavior of the driving robot (R).
[0137] In the present invention, a process of receiving location information of a robot moving through space along a preset movement path including a plurality of nodes may be performed (S310, see FIG. 13).
[0138] The control unit (330) can receive the location information of the robot (R) from any one of i) the robot (R), ii) the sensing unit (120, see FIG. 6) provided in the building (1000), and iii) the sensing unit (201b, 202b, 203b, 204b, see FIG. 4) provided in the equipment. The control unit (330) can obtain the current location information of the robot (R) from any one of i) to iii) or a combination of at least two of them.
[0139] More specifically, the control unit (330) can receive real-time location information of the robot (R) from the robot (R). In this case, the location information is information including the current location of the robot (R), and may correspond not only to information directly specifying the current location of the robot (R), but also to various pieces of information used to specify the current location of the robot (R).
[0140] As an example, as illustrated in FIG. 9, the control unit (330) according to the present invention may be configured to receive an image of a space (10) using a camera (not shown) equipped in the robot (R) and perform Visual Localization to estimate the location of the robot from the received image. At this time, the camera is configured to capture (or sense) an image of the space (10), that is, an image of the surroundings of the robot (R). Hereinafter, for the convenience of explanation, an image acquired using a camera equipped in the robot (R) will be referred to as a “robot image.” In addition, an image acquired through a camera placed in the space (10) will be referred to as a “space image.”
[0141] The control unit (330) is configured to acquire a robot image (910) through a camera (not shown) equipped on the robot (R), as illustrated in (a) of Fig. 9. In addition, the control unit (330) can estimate the current location of the robot (R) using the acquired robot image (910).
[0142] The control unit (330) can compare the robot image (910) with the map information stored in the database, and extract the location information corresponding to the current location of the robot (R) (e.g., “3rd floor, Zone A (3, 1, 1)”), as shown in (b) of FIG. 9.
[0143] As previously discussed, the map for the space (10) in the present invention may be a map created based on Simultaneous Localization and Mapping (SLAM) by at least one robot moving through the space (10) in advance. In particular, the map for the space (10) may be a map created based on image information.
[0144] That is, the map for space (10) may be a map generated by vision (or visual)-based SLAM technology.
[0145] Accordingly, the control unit (330) can specify coordinate information (e.g., (3rd floor, area A (3, 1, 1,)) for the robot image (910) acquired from the robot (R) as shown in (b) of FIG. 9. In this way, the specified coordinate information can become the current location information of the robot (R).
[0146] At this time, the control unit (330) can estimate the current location of the robot (R) by comparing the robot image (910) obtained from the robot (R) with a map generated by vision (or visual)-based SLAM technology. In this case, the control unit (330) can specify the location information of the robot (R) by i) using an image comparison between the robot image (910) and images constituting the previously generated map to specify the image most similar to the robot image (910), and ii) obtaining location information matched to the specified image.
[0147] In this way, when a robot image (910) is acquired from a robot (R), as illustrated in (a) of FIG. 9, the control unit (330) can use the acquired robot image (910) to determine the current location of the robot. As previously described, the control unit (330) can extract location information (e.g., coordinate information) corresponding to the robot image (910) from map information (e.g., which can also be named a “reference map”) stored in a database.
[0148] The control unit (330) can estimate the current location of the robot (R) using a spatial image acquired from a camera (121) installed in the building (1000). The camera (121) installed (placed) in the building (1000) may be a closed circuit television (CCTV). The fact that the camera (121) is placed in the building (1000) may mean that the camera (121) is placed in an indoor space (10) of the building (1000).
[0149] The control unit (330) can extract location information corresponding to the current location of the robot (R) by comparing the spatial image with map information stored in the database. In this case, the control unit (330) can also consider the placement of the camera (121) that captured the spatial image. Since the method of utilizing the spatial image may be the same as the method of utilizing the robot image described above, a detailed description will be omitted.
[0150] As another example, the position estimation of a robot moving in an indoor space (10) can be performed based on a tag (1010) provided in the indoor space (10), as shown in (a) of FIG. 10.
[0151] Referring to FIG. 10, a tag (1010) may have location information corresponding to the point where the tag (1010) is attached, as illustrated in FIG. 10 (b). That is, tags (1010) having different identification information may be provided at different points in the indoor space (10) of a building (1000). The identification information of each tag and the location information of the point where the tag is attached may be matched with each other and exist in a database.
[0152] Furthermore, the tags (1010) may be configured to include location information matching each tag (1010).
[0153] The robot (R) can recognize a tag (1010) provided in a space (10) using a sensor provided in the robot (R). The control unit (330) can determine the current location of the robot (R) by extracting location information included in the tag (1010) received from the robot (R).
[0154] The robot (R) can recognize a tag (1010) provided in a space (10) using a sensor provided in the robot (R). Through this recognition, the robot (R) or the control unit (330) can extract the location information included in the tag (1010) to determine the current location of the robot (R). Accordingly, the control unit (330) of the robot control system (300) can monitor the locations of robots moving in the building (20) based on the location information received from the robot (R) that sensed the tag. The term for the tag (1010) described above can be variously named. For example, the tag (1010) can be variously named as a QR code, a barcode, an identification mark, etc. Meanwhile, the term for the tag discussed above can be used instead of “marker.”
[0155] Meanwhile, in the present invention, a process of specifying a node where a robot is located can be performed based on the location information of the robot (S230, see FIG. 13).
[0156] As described above, the robot (R) can move in space (10) based on a node map including multiple nodes. The control unit (330) can use the node map to generate a movement path from the current location of the robot (R) to the destination, and perform movement control on the robot (R) so that the robot (R) moves according to the movement path.
[0157] As illustrated in Fig. 14a, a node map may include multiple nodes (Node, N1, N2, N3) and edges (Edge, E1, E2) connecting the nodes. In the present invention, a 'node' may refer to a point or area that serves as a unit target for the movement of a robot. An 'edge' may refer to information defining another node to which a robot (R) can move from a specific node, and may also be referred to as connection information. Nodes and edges may include specific coordinate information on a map (or space).
[0158] The control unit (330) can use the location information of the robot (R) and the node map to determine which node among multiple nodes the robot (R) is located in.
[0159] There may be various methods for specifying the node where the robot (R) is located. For example, the control unit (330) may determine that the robot (R) is located at a specific node if the robot (R) is located within a preset distance (or error range) from the specific node. As another example, the control unit (330) may determine the node where the robot (R) is currently located by comprehensively considering the movement path of the robot (R), the movement time of the robot (R), and the current location information of the robot (R). In the present invention, the node where the robot (R) is located may be specified by considering the fact that each robot (R) has a different size and that a communication delay occurs between the robot (R) and the system (300).
[0160] Meanwhile, in the present invention, for the convenience of explanation, a node where a robot (R) is located may be named a “target node.”
[0161] In the present invention, when a control variable related to the behavior control of the robot is assigned to a specific node, a process of transmitting the control variable to the robot so that the robot performs a behavior according to the control variable may be performed (S330, see FIG. 13).
[0162] The control unit (330) may additionally and in parallel perform behavior control on the robot (R) so that the robot (R) acts according to the control variable based on the control variable being assigned to the target node where the robot (R) is located, while performing driving control on the robot (R) so that the robot (R) moves along the movement path.
[0163] The “control variable” described in the present invention may mean information (or control command) related to controlling the behavior of the robot (R). More specifically, the control variable may be understood as information that controls the behavior of the robot (R) by controlling at least a portion of the components of the robot (R) (e.g., sound output unit, display unit, driving unit, lighting unit, receiving unit, etc.). For example, the control variable may exist in advance as “Robot Sound On (activate sound or activate sound output unit)”, “Robot Sound Off (deactivate sound or deactivate sound output unit)”, “Trun Left (turn left)”, “Turn Right (turn right)”, “Turn Signal (activate signal or activate lighting unit)”, “Greeting Point (perform greeting interaction)”, “Knock Point (perform knock interaction)”.
[0164] As illustrated in Fig. 14a, control variables may be pre-assigned and exist in at least some of the plurality of nodes (N5, N6, N7, N9, N10, N11) located in space (10). For example, the “Robot Sound On (sound activation, 510)” control variable may be assigned to the “N5” node, and the “Turn Signal (signal activation)” control variable may be assigned and exist in the “N6” node.
[0165] The control unit (330) can check whether a control variable is assigned to the target node where the robot (R) is located. If the control variable is assigned to the target node as a result of the check, the control unit (330) can transmit the control variable to the robot (R). In this case, the control unit (330) can control the robot (R) so that the robot (R) performs an action according to the control variable while driving. For example, as illustrated in FIG. 14A, if the driving robot (R) is located at the “N5” node, the control unit (330) can control the robot (R) so that the robot (R) performs the “Robot Sound On (sound activation, 510)” action while driving.
[0166] For example, as illustrated in (a) of FIG. 15, when the variable value corresponding to the current node (CurrentNode) of the robot (R) is “null” and the robot (R) is located at a node (e.g., “N5”) to which the control variable “Robot Sound On (sound activation, 510)” is assigned, the control unit (330) can input “Robot Sound On (sound activation, 510)” to the variable value of the current node (CurrentNode) of the robot (R). Based on the input of “Robot Sound On (sound activation, 510)” to the variable value of the current node (CurrentNode), the robot (R) can perform an action of activating the sound according to the input variable value. The robot can continue to move along a preset movement path while performing an action according to the control variable.
[0167] On the other hand, if a control variable is not assigned to the target node where the robot (R) is located (i.e., unassigned), the control unit (330) can continuously perform only driving control without performing action control on the robot (R).
[0168] Meanwhile, if a control variable is assigned to a target node where the robot (R) is located, the control unit (330) can transmit a target control variable to the robot (R) based on the robot (R) corresponding to the control target robot (R) according to the control variable (hereinafter referred to as “target control variable”).
[0169] The control unit (330) can determine whether the robot (R) is a robot (R) to be controlled according to the target control variable based on the service code matched to the target control variable and the mission information assigned to the robot (R).
[0170] As illustrated in Fig. 14a, a control variable may be paired with a service code that is dependent on the control variable. The service code is information that specifies the robot (R) that is the control target according to the control variable, and can be understood as information that specifies the robot service type (or robot service type). For example, in the present invention, the service code may be defined as “cafe,” “lunch box,” or “delivery.” However, this is an example for convenience of explanation, and the service code may be defined in various ways depending on the service type provided by the robot (R).
[0171] The control unit (330) can specify a robot (R) assigned a task corresponding to the service code as a control target robot (R) based on a service code matched to a target control variable. In addition, the control unit (330) can transmit the target control variable to the control target robot (R).
[0172] For example, as illustrated in FIG. 14a, assume that the “N5” node matches the “Robot Sound On (sound activation, 510)” control variable and the “Cafe (510a)” service code. The control unit (330) can specify the robot (R) located at the “N5” node as the control target robot (R) according to the “Robot Sound On (sound activation, 510)” target control variable based on the fact that the task assigned to the robot (R) corresponds to the service code “Cafe (510a)” matched to the target control variable, and can transmit the target control variable to the robot (R). In this case, the sound output unit of the robot (R) can be switched from an inactive state to an active state.
[0173] In contrast, if the service code matched to the control variable does not correspond to the task performed by the robot (R), the control unit (330) may restrict transmission of the control variable to the robot (R), even if the robot (R) is located at the node to which the control variable is assigned. In other words, the control unit (330) may continue to control only the driving of the robot (R), and may not additionally control actions other than driving.
[0174] For example, as illustrated in FIG. 14b, even if the robot (R) is located at the “N5” node to which the control variable (510) is assigned, if the robot (R) is not a robot (R) performing a task corresponding to the service code “Cafe (510a)” matching the control variable (510), the control unit (330) may restrict the transmission of the control variable (510) to the robot (R). In this case, the sound output unit of the robot (R) may be continuously maintained in an inactive state.
[0175] Furthermore, multiple service codes may be matched to a single specific control variable. In the “N7” node, the “Trun Left (rotate left, 520)” control variable may be matched to three service codes: “Cafe,” “Delivery,” and “Lunchbox (520a).” The control unit (330) may transmit the “Trun Left (rotate left, 520)” control variable to the robot (R) if the task assigned to the robot (R) corresponds to any one of the three service codes: “Cafe,” “Delivery,” and “Lunchbox (520a).”
[0176] Meanwhile, the control unit (330) can receive control variables and service codes for each node from a user (or system administrator).
[0177] To this end, as illustrated in FIG. 16, the control unit (330) may provide an interface (or editing interface, 600) including a node map (610) to the user terminal. The control unit (330) may assign (or match) the control variable and service code input to the selected node (611) based on the control variable (Robot Sound On, 620) and service code (lunch box, delivery, cafe, 620a) being input by the user when at least one node (611) among the plurality of nodes included in the node map (610) is selected. The control unit (330) may also assign the control variable and service code to the plurality of nodes at once. When a plurality of nodes (611, 612, 613) are selected on the node map (610) or a map area (610a) is specified, the control unit (330) can assign the same control variable (620) and service code (620a) to the nodes (611, 612, 613) included in the specified map area (610a).
[0178] There can be a variety of combinations of control variables and service codes. For example, the combination of “Knock Point (perform knock interaction)” and “Café”, the combination of “Greeting Pint (perform greeting interaction)” and “Café”, and the combination of “Robot Sound On (activate sound)” and “Café, lunch box, delivery”, the user can set a variety of combinations of “node-control variable-service code” so that the robot (R) performing a task corresponding to a specific service operates according to a specific control variable when it locates at a specific node while driving.
[0179] For example, the control unit (330) may assign a control variable related to the on-off of the sound output unit of the robot to the disembarkation node of the elevator (see reference numeral “204” in FIG. 8) provided in the space (10) according to the user’s settings. In this case, the control unit (330) may assign different control variables related to the on-off of the sound output unit (140) to each elevator disembarkation node on each floor. For example, the sound output unit off (or Robot Sound Off) control variable may be assigned to the elevator disembarkation node on an office floor, and the sound output unit off (or Robot Sound On) control variable may be assigned to the elevator (204) disembarkation node on a floor located in a cafe or restaurant. The robot (R) disembarking from the elevator (204) may turn off (or deactivate) and on (or activate) the sound output unit (140) based on entering the elevator disembarkation node.
[0180] For another example, let's assume that a portion of the space (10) corresponds to a conference room. The control unit (330) can assign a knock interaction control variable (e.g., "Knock Point") of the robot to the entry node of the conference room. Before entering the conference room, the robot (R) can output a knock sound at the entry node of the conference room to notify the user or the robot (R) of its arrival in the conference room.
[0181] As another example, a node that requires a right or left turn on the path can be assigned a control variable that causes lights and screens corresponding to the turn signal to be sent out.
[0182] In the present invention, a pair of control variables and service codes assigned to a node can be described by naming them as a control data set or behavioral trigger information.
[0183] Meanwhile, as illustrated in FIG. 17, the node map may include multiple nodes (N1, N2, N3) and edges (Edge, E1, E2) connecting the nodes. In the present invention, an edge may refer to information defining another node (e.g., “N7” or “N9”) to which the robot (R) can move from a specific node (e.g., “N8”), and may also be referred to as connection information. Nodes and edges may include specific coordinate information on a map (or space).
[0184] The control unit (330) can additionally, parallelly, and simultaneously perform behavior control of the robot (R) according to the control variable based on the robot (R) moving along the space (10) along the movement path being located at an edge to which the control variable is assigned, together with the driving control.
[0185] The control unit (330) can use the location information of the robot (R) to determine which element (node or edge) among the plurality of nodes and the plurality of edges the robot (R) is located in. That is, the control unit (330) can determine which element among the plurality of elements including nodes and edges the robot (R) is located in. Since the method of controlling the robot (R) based on the 'node' element has been previously described, the following description will be based on the 'edge' element.
[0186] There may be various ways to determine that the robot (R) is located at a specific edge. For example, if the robot (R) is located between a plurality of adjacent nodes (“N8” and “N9”), the control unit (330) may determine that the robot (R) is located at an edge (E1) connecting the plurality of nodes (“N8” and “N9”). As another example, if the robot (R) located between a plurality of nodes (“N8” and “N9”) is located outside a preset distance (or error range) from each of the plurality of nodes (“N8” and “N9”), the control unit (330) may determine that the robot (R) is located at an edge (E1) connecting the plurality of nodes (“N8” and “N9”). For another example, if the robot (R) is moving to the next node (ex: “N9”) via a specific node (ex: “N8”) included in the movement path, the control unit (330) may determine that the robot (R) is located at the edge (E1) connecting the specific node (ex: “N8”) and the next node (ex: “N9”). There may be various methods for determining whether the robot (R) is located at the edge.
[0187] In the present invention, for the convenience of explanation, the edge where the robot (R) is located may be named as a “target edge.”
[0188] The control unit (330) may additionally, in parallel, and simultaneously perform behavior control on the robot (R) so that the robot (R) acts according to the control variable assigned to the target edge (E1) where the robot (R) is located, while performing driving control on the robot (R) so that the robot (R) moves along the movement path.
[0189] The control unit (330) can check whether a control variable is assigned to the target edge where the robot (R) is located. If the control variable is assigned to the target edge as a result of the check, the control unit (330) can transmit the control variable to the robot (R). In this case, the control unit (330) can control the robot (R) so that the robot (R) performs an action according to the control variable assigned to the target edge while driving. For example, as illustrated in FIG. 17, if the robot (R) is located at the “E1” target edge, the control unit (330) can control the robot (R) so that the robot (R) performs the “Robot Sound On (sound activation, 510)” action while driving.
[0190] On the other hand, if a control variable is not assigned to the target edge where the robot (R) is located, the control unit (330) can continuously perform only driving control without performing additional action control for the robot (R).
[0191] Meanwhile, if a control variable (hereinafter referred to as a “target control variable”) is assigned to a target edge where the robot (R) is located, the control unit (330) can transmit the target control variable to the robot (R) based on the fact that the task performed by the robot (R) corresponds to the service code matched to the control variable. For example, as illustrated in FIG. 17, let us assume that the “Robot Sound Off (sound deactivation, 710)” target control variable and the “Cafe (710a)” service code are matched to the “E1” edge where the robot (R) is located. The control unit (330) can specify the robot (R) as the control target robot (R) according to the target control variable (710) based on the fact that the task of the robot (R) corresponds to the service code “Cafe (710a)” matched to the target control variable. In addition, the control unit (330) can transmit the target control variable (710) to the control target robot (R). In this case, the sound output unit of the robot (R) can be switched from an activated state to a deactivated state.
[0192] In contrast, if the robot's (R) mission (e.g., delivery service) does not correspond to a service code (“cafe”, 710a) matched to the target control variable (710), the control unit (330) may restrict the transmission of the control variable to the robot (R), even if the robot (R) is located at an edge to which the control variable is assigned. In this case, the sound output state of the robot (R) may be continuously maintained at a previous state (e.g., activated).
[0193] Meanwhile, the control unit (330) can receive control variables and service codes for the edge from a user (or system administrator). As described above, the control unit (330) can provide an interface (or editing interface, 600) including a node map (610) to the user terminal (see FIG. 16). The control unit (330) can assign (or match) the control variable and service code input to the selected node (611) based on the control variable (Robot Sound On (sound activation, 620) and service code (lunch box, delivery, cafe, 620a) input by the user when at least one (631) of the plurality of edges included in the node map (610) is selected. In addition, the control unit (330) can collectively assign the control variable and service code to a plurality of edges and nodes. When a map area (610a) is specified on the node map (610), the control unit (330) can assign the same control variable (620) and service code (620a) to the nodes (611, 612, 613) and edges (631, 632) included in the specified map area (610a). In this case, in the present invention, the control is performed based on a specific map area (610a). It can be understood that a variable (620) and a service code (620a) have been allocated.
[0194] In this way, in the present invention, control variables and service codes are assigned to edges in the same manner as nodes, and control of the robot (R) can be performed according to the control variables and service codes based on the robot (R) being located at the corresponding edge. Accordingly, for convenience of explanation, the following description will continue with 'nodes' as the main topic, but it is obvious that the contents regarding nodes can also be applied to 'edges'.
[0195] Meanwhile, the control unit (330) may terminate the behavior control for the robot (R) based on whether the robot (R) is located in another new node or in a node to which another control variable that conflicts with the current control variable is assigned.
[0196] The control unit (330) can simultaneously perform driving control and behavior control for the robot (R), and when the robot (R) is located at a new node, the behavior control according to the control variables assigned to the previous node can be terminated. When the robot (R) leaves the previous node and moves to a new next node, the control unit (330) can transmit a control command to the robot (R) so that the behavior according to the control variables assigned to the previous node is terminated. In other words, the control unit (330) can refresh or reset the behavior control for the robot (R). Even when the behavior according to the control variables is terminated, the robot can continue to drive along the preset movement path.
[0197] For example, as illustrated in FIG. 18a, let us assume that the behavior control for the robot (R) according to the “Robot Sound On” control variable is performed based on the robot (R) being located at the first node (N5) to which the control variable “Robot Sound On” and the service code “Cafe (510a)” are assigned. The control unit (330) can terminate the “Robot Sound On” behavior control for the robot (R) based on the robot (R) moving from the first node (N5) to the second node (N6). In this case, the robot (R) can activate the sound output unit equipped in the robot (R) at the first node (N5), and switch the state of the sound output unit equipped in the robot (R) from activation to deactivation at the second node (N6).
[0198] Although not shown, the control unit (330) can continue to control the behavior of the robot (R) that started at the previous node without terminating it, if the same control variables as those of the previous node are assigned to the new node where the robot (R) is located. In this case, it can be assumed that the control variables assigned to the new node are matched with a service code corresponding to the task of the robot (R).
[0199] That is, the control unit (330) can control the robot (R) to maintain the behavior control according to the previous control variable until the robot (R) is located in a new node to which a control variable different from the control variable assigned to the previous node is assigned or to which no control variable is assigned at all.
[0200] As described above, the control unit (330) can collectively assign control variables and service codes to multiple nodes (611, 612, 613) in the node map (610) of the editing interface (600). Accordingly, the control unit (330) can maintain, without terminating, the behavioral control according to the corresponding control variable when the robot (R) is sequentially located in multiple nodes (611, 612, 613) to which the same control variable and service code are assigned.
[0201] Furthermore, although not shown, the control unit (330) may terminate the behavior control according to the control variable assigned to the previous node and initiate the behavior control according to the control variable assigned to the new node when the robot (R) is located in a new node to which a control variable different from the control variable assigned to the previous node is assigned. In this case, the control variable assigned to the new node may be matched with a service code corresponding to the task of the robot (R).
[0202] The control unit (330) can continuously perform driving control for the robot (R) while controlling the behavior of the robot (R) according to the control variables assigned to the new node.
[0203] That is, the control unit (330) can change the behavior control for the robot (R) from the control variable assigned to the previous node to the control variable assigned to the new node while maintaining the driving control for the robot (R). More specifically, when the robot (R) is located at a new node while performing the driving control for the robot (R) and the behavior control according to the control variable assigned to the previous node at the same time, the control unit (330) can terminate the behavior control according to the previous node while maintaining the driving control for the robot (R) and perform the behavior control according to the control variable assigned to the new node in parallel with the driving control.
[0204] Meanwhile, the control unit (330) can continue to control the behavior started at the previous node until the robot (R) is located at a new node to which a conflicting control variable is assigned. In this case, the service code matching the conflicting control variable can be assumed to correspond to the task of the robot (R).
[0205] More specifically, when the control unit (330) is simultaneously performing driving control and behavior control for the robot (R), if the robot (R) is located in a new node to which a control variable that conflicts with the control variable assigned to the previous node is assigned, the control unit (330) can terminate the behavior control according to the control variable assigned to the previous node.
[0206] On the other hand, the control unit (330) can continue to maintain behavioral control according to the control variables assigned to the previous node, if the control variables assigned to the new node where the robot (R) is located do not conflict with the control variables assigned to the previous node.
[0207] For example, as illustrated in FIG. 18b, let us assume that behavioral control according to the control variable “Robot Sound On (sound activation, 510)” is performed for the robot (R) based on the robot (R) being located at the first node (N5) to which the control variable “Robot Sound On (sound activation, 10)” and the service code “Cafe (810a)” are assigned. The control unit (330) can continuously maintain the behavioral control according to the control variable (810) assigned to the first node (N5) without terminating it, based on the control variable “Trun Signal (signal activation, 820)” that does not conflict with the first node (N5) is assigned to the second node (N6), even if the robot (R) moves from the first node (N5) to the second node (N6). In addition, the control unit (330) can terminate the behavior control according to the control variable (810) of the first node (N5) when the robot (R) is located at the third node (N9) to which “Robot Sound Off (sound deactivation, 830)” is assigned, which conflicts with the control variable (810) of the first node (N5). In this case, the service code (830a) matched to the control variable (830) of the third node (N9) can correspond to the task of the robot (R).
[0208] Furthermore, although not shown, if a new control variable that does not conflict with the control variable assigned to the previous node is assigned to the new node where the robot (R) is located, and a service code corresponding to the task of the robot (R) is matched to the new control variable, the control unit (330) can additionally perform behavior control according to the new node in addition to the behavior control according to the previous node. For example, let's assume that the robot (R) is located in a new node to which the non-conflicting "Trun Signal" control variable is assigned while the behavior control for the robot (R) is being performed according to the "Robot Sound On" control variable assigned to the previous node. The control unit (330) can further perform additional control so that the signal module (e.g., lighting unit, display unit, etc.) of the robot (R) is activated while controlling the sound output unit of the robot (R) to be maintained in an activated state.
[0209] Meanwhile, a plurality of control variables may be assigned and exist in one node. If a first control variable and a second control variable are assigned to a target node where a robot (R) is located, the control unit (330) can determine whether the robot (R) is a controlled robot (R) for each of the first control variable and the second control variable. More specifically, the control unit (330) can determine whether a first service code matched to the first control variable corresponds to the task of the robot (R), and can determine whether a second service code matched to the second control variable corresponds to the task of the robot (R). The control unit (330) can transmit a control variable matched to a service code corresponding to the task of the robot (R) to the robot (R). The control unit (330) can control the robot (R) so that actions according to the first control variable and the second control variable are performed sequentially or simultaneously.
[0210] For example, as shown in (a) of Fig. 19, let us assume that “Trun Left (rotate left, 910)” - “Cafe, delivery, lunch box (910a)” and “Greeting Pint (perform greeting interaction, 920)” - “Cafe (920a)” are assigned to the “N7” node, and that the task of the robot (R) corresponds to the “Cafe” service code. The control unit (330) can transmit the “Trun Left (turn left, 910)” and “Greeting Pint (perform greeting interaction, 920)” control variables to the robot (R) so that the robot (R) performs a greeting interaction when it turns left, based on the fact that the robot (R)’s mission corresponds to the service codes (910a, 920a) of “Trun Left (turn left, 910)” and “Greeting Pint (perform greeting interaction, 920).”
[0211] For another example, as shown in (b) of Fig. 19, for example, let us assume that “Knock Point (perform knock interaction, 930)” - “Delivery (930a)” and “Robot Sound On (activate sound, 950)” - “Delivery (940a)” are assigned to the “N11” node, and the task of the robot (R) corresponds to the “Delivery” service code. The control unit (330) can transmit the “Knock Point (performing a knock interaction, 930)” and “Robot Sound On (activating a sound, 950)” control variables to the robot (R) so that the robot (R) performs a knock interaction while switching from an audio output state to an activated state based on the fact that the robot (R)’s mission corresponds to the service codes (930a, 940a) of “Knock Point (performing a knock interaction, 930)” and “Robot Sound On (activating a sound, 950).”
[0212] Although not shown, the control unit (330) may transmit only the first control variable to the robot (R) among the first service code matched to the first control variable and the second service code matched to the second control variable if the task of the robot (R) corresponds only to the first service code. In addition, the control unit (330) may restrict the transmission of both the first control variable and the second control variable if neither the first service code nor the second service code corresponds to the task of the robot (R).
[0213] Meanwhile, as described above, the control unit (330) can determine that the robot (R) is located at a specific node based on the robot (R) being located at a certain distance (or within an error range) from a specific node.
[0214] As illustrated in FIG. 20, when a robot (R) is moving along a movement path toward a specific node (N5), the control unit (330) can determine that the robot (R) is located at the specific node (N5) based on the robot (R) approaching within a certain distance (e.g., L) from the specific node (N5). That is, the control unit (330) can assign a control variable to the robot (R) the moment it enters the specific node (N5).
[0215] The predetermined distance (L) or error range can be set in various ways. For example, the control unit (330) can set the predetermined distance based on the nodes included in the movement path of the robot (R), the movement speed of the robot (R), the distance between a specific node and the previous node, etc.
[0216] The method and system for controlling a building and a robot moving through a building according to the present invention control a robot moving through a space based on a node map including a plurality of nodes, receive location information of the robot moving through the space along a preset movement path, and can specify the node where the robot is located based on the location information. Through this, the present invention can control the behavior of a moving robot based on various locations along the robot's movement path.
[0217] Furthermore, the robot control method and system according to the present invention can control the movement and behavior of the robot in parallel using a node map by transmitting the control variable to the robot so that the robot performs a behavior according to the control variable when the control variable related to the behavior control of the robot is assigned to the specified node, and can control the robot to perform a new behavior even when the robot is moving to a destination or not stopping at a specific location.
[0218] 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.
[0219] 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.
[0220] 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.
[0221] 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.
[0222] 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.
[0223] Meanwhile, the above detailed description 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 receiving position information of the robot moving through the space along a preset movement path including a plurality of nodes; A step of specifying a node where the robot is located based on the above location information; and A robot control method, comprising: a step of transmitting a control variable to a robot so that the robot performs a behavior according to the control variable when a control variable related to behavior control of the robot is assigned to the specified node.
2. In paragraph 1, The above control variables are, A robot control method characterized by being related to controlling at least one of on-off of an audio output unit of the robot, rotation of the robot, greeting interaction of the robot, and knock interaction of the robot.
3. In paragraph 2, The above-mentioned specific node is any one of the plurality of nodes included in the above-mentioned preset movement path, If the control variable is assigned to the specified node, the robot, A robot control method characterized by continuously moving along the preset movement path while performing actions according to the above control variables.
4. In paragraph 3, Further comprising a step of terminating the action of the robot according to the control variable based on the new position information of the robot; A robot control method characterized in that the robot continues to move along the preset movement path even when the action according to the control variable is terminated.
5. In paragraph 4, In the step of terminating the above robot's actions, A robot control method characterized by terminating the action of the robot according to the control variable based on the robot being located in a new node different from the specified node.
6. In paragraph 4, If the control variable assigned to the above-mentioned specific node is related to the on-off of the sound output section of the robot, In the step of terminating the above robot's actions, A robot control method characterized in that the action of the robot is terminated based on a control variable assigned to a new node where the robot is located conflicting with a control variable assigned to the specific node.
7. In paragraph 1, The step of transmitting the above control variables to the robot is: A step of determining whether the robot is a control target robot according to the control variable; and A robot control method, characterized by comprising a step of transmitting the control variable to the control target robot.
8. In paragraph 7, The above robot is assigned a task corresponding to one of multiple service types, A robot control method, characterized in that the above-mentioned control target robot is determined based on the above-mentioned task assigned to the robot.
9. In paragraph 8, The above control variable is matched with a service code corresponding to at least one of the above multiple service types, In the step of determining whether the above control target robot is: A robot control method characterized in that the robot is determined to be the control target robot based on the fact that the task of the robot corresponds to the service code.
10. In paragraph 9, If a first control variable and a second control variable different from the first control variable are assigned to the above-mentioned specified node, In the step of determining whether the above control target robot is: A robot control method characterized by comparing a service code matched to each of the first control variable and the second control variable with a service corresponding to the task of the robot.
11. In paragraph 1, In the step of specifying the node where the above robot is located, A robot control method characterized in that a node existing within a preset error range from the position of the robot among the plurality of nodes is specified as the node where the robot is located.
12. In paragraph 2, The above space is equipped with an elevator, The control variable assigned to the disembarkation node of the above elevator is related to the on-off of the sound output section of the robot, A robot control method characterized in that the robot located at the disembarkation node of the elevator sets the state of the sound output unit to either activation or deactivation according to the control variable.
13. In paragraph 2, At least some of the above spaces are conference rooms, The control variable assigned to the entry node of the above conference room corresponds to the knock interaction of the robot, A robot control method, characterized in that the robot located at the entry node of the above conference room outputs a knock sound according to the control variable.
14. In paragraph 1, The above node map includes edges connecting the plurality of nodes, In the step of transmitting the above control variables to the robot, A robot control method characterized in that when the robot is located at the edge to which the control variable is assigned, the control variable assigned to the edge is transmitted to the robot.
15. In paragraph 14, A robot control method characterized in that the robot, which has received the control variable assigned to the edge, continues to drive along the edge while performing an action according to the control variable assigned to the edge.
16. In a system for controlling a robot moving through space based on a node map including multiple nodes, A communication unit that receives position information of the robot moving through the space along a preset movement path including a plurality of nodes; and Based on the above location information, the node where the robot is located is specified, A robot control system characterized by including a control unit that transmits a control variable to the robot so that the robot performs a behavior according to the control variable when a control variable related to behavior control of the robot is assigned to the specified node.
17. In a building where robots run and are controlled by a cloud server, The above building, Includes a communication unit that receives location information of the robot moving through space along a preset movement path including a plurality of nodes from the cloud server, The above cloud server, Based on the above location information, the node where the robot is located is specified, A building characterized in that, when a control variable related to behavior control of the robot is assigned to the specified node, the control variable is transmitted to the robot so that the robot performs a behavior according to the control variable.
Citation Information
Patent Citations
Target route setting support system
JP2009136995A
Robot apparatus, control method thereof, and methodfor judging character of robot apparatus
KR1020010101883A
A system for user-robot interaction, and information processing method for the same
KR1020170105768A
Method and system for specifying node for robot path plannig
KR102337531B1
Robot-friendly building
KR102473630B1