Robot-friendly building, method and system for controlling a robot that moves through a building
The cloud-based robot control system optimizes navigation by selectively processing sensing data based on risk levels, addressing inefficiencies in obstacle avoidance and enhancing robot safety and service provision in indoor environments.
Patent Information
- Application Number
- JP2024523642
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-10-20
- Filing Date
- 2022-09-07
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2042-09-07
AI Technical Summary
Existing robot control systems face inefficiencies in path planning due to unnecessary consideration of all obstacles, leading to suboptimal navigation and service provision in indoor environments, and there is a need for a method that selectively accounts for relevant environmental factors to enhance robot safety and efficiency in buildings.
A robot control method and system that utilizes a cloud-based system to manage robot operations, selectively processing sensing data based on a region of interest set by risk levels, minimizing unnecessary calculations by focusing on areas that affect the robot's travel path.
This approach optimizes obstacle avoidance and service provision by reducing unnecessary calculations, enabling robots to coexist safely and efficiently with humans in buildings, providing accurate and timely services.
Smart Images

Figure 0007734837000001 
Figure 0007734837000002 
Figure 0007734837000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot-friendly building, a control method and system for a robot that moves through a building, and more specifically, to a robot control method and system that enables a robot to coexist with humans in the same space and provide useful services to humans. [Background technology]
[0002] As technology advances, various service devices have appeared, and in particular, technological development related to robots that perform various tasks or services has been actively carried out recently.
[0003] In addition, with the recent development of artificial intelligence and cloud technologies, robots can now be controlled more precisely and safely, which has led to a gradual increase in the use of robots. In particular, technological advances have led to robots being able to safely coexist with humans in indoor spaces.
[0004] Therefore, recently, robots have been replacing human tasks or work, and various methods for robots to provide services directly to humans, especially in indoor spaces, have been actively researched.
[0005] For example, robots are providing route guidance services in public places such as airports, train stations, and department stores, and serving services in restaurants. Robots are also providing delivery services, delivering mail and parcels in offices and shared living spaces. Robots are also providing a variety of other services, including cleaning services, security services, and logistics processing services. The types and range of services provided by robots are expected to continue to increase exponentially, and the level of service provision is also expected to continue to evolve.
[0006] Such robots provide various services not only in outdoor spaces but also in indoor spaces of buildings such as offices, apartment buildings, department stores, schools, hospitals, and amusement facilities. In such cases, the robots are controlled to provide various services while moving around the indoor spaces of the buildings.
[0007] Meanwhile, with the development of autonomous mobile robots, many robots have emerged that can detect obstacles around the robot and move freely while avoiding the obstacles. However, when a path plan is generated for a robot by taking into account all objects around the robot, unnecessary path planning may occur. Therefore, there is a need for a method for a robot to more efficiently consider obstacles.
[0008] Therefore, in order to provide higher-level services using robots within buildings, not only is research into robot control technology for individual services (e.g., route guidance services, delivery services, serving services, etc.) necessary, but fundamental research is also needed to enable the various infrastructure necessary for robots to be supported in the buildings themselves where the robots provide their services.
[0009] On the other hand, in order for robots to provide various services or live in indoor spaces, they must be able to move freely or pass through the indoor spaces of buildings, and in some cases, they may need to use the various facility infrastructures provided in the building (e.g., elevators, escalators, access control gates, etc.).
[0010] Therefore, in order to provide higher-level services using robots within buildings, not only is research into robot control technology for individual services (e.g., route guidance services, delivery services, serving services, etc.) necessary, but fundamental research is also needed to enable the various infrastructure necessary for robots to be supported in the buildings themselves where the robots provide their services. Summary of the Invention [Problem to be solved by the invention]
[0011] The present invention provides a method and system for controlling a robot that moves within a building.
[0012] More specifically, the present invention aims to provide a robot control method and system that can selectively take into account only factors that may affect the robot in the environment in which the robot resides.
[0013] Furthermore, the robot-friendly building according to the present invention can systematically manage the operation of the robots that provide services by organically controlling the robots and facility infrastructure using a cloud system that links with the robots, thereby enabling the robot-friendly building according to the present invention to provide various services to people more safely, quickly, and accurately. [Means for solving the problem]
[0014] To achieve the above object, the present invention can provide a method for controlling a robot traveling through a building based on a map of the building, comprising the steps of receiving a travel path of the robot from a server, sensing obstacles located around the robot using a sensor provided on the robot, calculating a risk level associated with the robot's traveling based on a relative distance between the robot and the obstacle, setting a region of interest associated with the robot's traveling based on the risk level, and performing different data processing on the sensing data received from the sensor provided on the robot depending on whether the sensing data is associated with the region of interest.
[0015] The present invention may also provide a building in which a robot controlled by a cloud server travels, the building including a communication unit that receives control commands related to the robot's travel from the cloud server and transmits the control commands to the robot, the cloud server transmitting a travel path to the robot, receiving sensing data generated by a sensor provided in the robot, sensing obstacles located around the robot, calculating a risk associated with the robot's travel based on a relative distance between the robot and the obstacle, setting a region of interest related to the robot's travel based on the risk, and performing different data processing on the sensing data depending on whether the sensing data is related to the region of interest.
[0016] Furthermore, the present invention can provide a system for controlling a robot traveling through a building based on a map of the building, comprising: a communication unit that receives a traveling route of the robot from a server; and a control unit that uses a sensor provided on the robot to sense obstacles located around the robot, calculates a risk associated with the traveling of the robot based on a relative distance between the robot and the obstacle, sets a region of interest associated with the traveling of the robot based on the risk, and performs different data processing on the sensing data received from the sensor provided on the robot depending on whether the sensing data is related to the region of interest.
[0017] Furthermore, the present invention can provide a program storable in a computer-readable medium that can be executed by one or more processes in an electronic device and includes commands to perform the following steps: receiving a robot's travel path from a server, sensing obstacles located around the robot using sensors provided in the robot, calculating a risk associated with the robot's travel based on the relative distance between the robot and the obstacles, setting a region of interest associated with the robot's travel based on the risk, and performing different data processing on the sensing data received from the sensors provided in the robot depending on whether the sensing data is associated with the region of interest. [Effects of the Invention]
[0018] The method and system for controlling a building and a robot that moves through a building according to the present invention selectively utilizes only sensing data related to an area of interest that is set based on the degree of danger, and does not utilize sensing data that is not related to the area of interest, thereby minimizing unnecessary calculations when the robot moves.
[0019] In addition, the present invention sets the risk level, which is the basis for setting a region of interest, based on the distance between the robot and an obstacle, so that when the distance between the robot and the obstacle is relatively short, even sensing data related to the area around the obstacle is used for obstacle avoidance control, and when the distance between the robot and the obstacle is relatively long, the robot's travel control is performed taking into account only sensing data related to the area where the obstacle is located, thereby making it possible to change the amount of sensing data to be processed depending on the current situation of the robot. As a result, the present invention enables obstacle avoidance control to be performed with an optimal amount of calculation depending on the situation of the robot.
[0020] Furthermore, the robot-friendly building of the present invention utilizes technological convergence, which combines and connects robots, autonomous driving, AI, and cloud technologies, and can provide a new space where such technologies are organically combined with robots and the equipment infrastructure installed within the building.
[0021] Furthermore, the robot-friendly building of the present invention can systematically manage the movement of robots that provide services by organically controlling the robots and facility infrastructure using a cloud server that links with the robots, thereby enabling the robot-friendly building of the present invention to provide various services to humans more safely, quickly, and accurately.
[0022] Furthermore, in a building according to the present invention, the tasks and movement conditions assigned to the multiple robots placed in the building are taken into consideration, and their movement is controlled to take humans into consideration, allowing robots and humans to coexist naturally in the same space. [Brief explanation of the drawings]
[0023] [Figure 1] FIG. 1 is a conceptual diagram for explaining a robot-friendly building according to the present invention. [Figure 2] FIG. 1 is a conceptual diagram for explaining a robot-friendly building according to the present invention. [Figure 3] FIG. 1 is a conceptual diagram for explaining a robot-friendly building according to the present invention. [Figure 4] FIG. 1 is a conceptual diagram illustrating a system for controlling a robot traveling through a robot-friendly building and various facilities installed in the robot-friendly building according to the present invention. [Figure 5] FIG. 1 is a conceptual diagram illustrating a system for controlling a robot traveling through a robot-friendly building and various facilities installed in the robot-friendly building according to the present invention. [Figure 6]FIG. 1 is a conceptual diagram illustrating a system for controlling a robot traveling through a robot-friendly building and various facilities installed in the robot-friendly building according to the present invention. [Figure 7] FIG. 1 is a conceptual diagram illustrating the equipment infrastructure provided in a robot-friendly building according to the present invention. [Figure 8] FIG. 1 is a conceptual diagram illustrating the equipment infrastructure provided in a robot-friendly building according to the present invention. [Figure 9] FIG. 1 is a conceptual diagram for explaining a method for estimating the position of a robot traveling in a robot-friendly building according to the present invention. [Figure 10] FIG. 1 is a conceptual diagram for explaining a method for estimating the position of a robot traveling in a robot-friendly building according to the present invention. [Figure 11] FIG. 1 is a conceptual diagram for explaining a method for estimating the position of a robot traveling in a robot-friendly building according to the present invention. [Figure 12] FIG. 1 is a conceptual diagram for explaining a robot controlled by a robot system according to the present invention. [Figure 13] FIG. 1 is a conceptual diagram illustrating a node map used to set a movement path for a robot. [Figure 14] 1 is a flowchart illustrating a robot control method according to the present invention. [Figure 15] 1 is a conceptual diagram illustrating a robot control method according to the present invention. [Figure 16] FIG. 10 is a conceptual diagram illustrating calculation of a risk level and setting of a region of interest according to an embodiment of the present invention. [Figure 17] FIG. 10 is a conceptual diagram illustrating calculation of a risk level and setting of a region of interest according to an embodiment of the present invention. [Figure 18] FIG. 10 is a conceptual diagram illustrating an embodiment of setting a region of interest taking into account moving obstacles. [Figure 19] FIG. 1 is a conceptual diagram illustrating an embodiment in which a region of interest is set taking into account the degree of congestion in a building. [Figure 20]FIG. 1 is a conceptual diagram showing an embodiment in which a region of interest is set in consideration of a robot's mission. [Figure 21] FIG. 10 is a conceptual diagram showing an embodiment in which only sensing data corresponding to a region of interest of a robot within a detection range of a sensor provided in the robot is selectively utilized. [Figure 22] FIG. 10 is a conceptual diagram showing an embodiment in which only sensing data corresponding to a region of interest of a robot within a detection range of a sensor provided in the robot is selectively utilized. [Figure 23] FIG. 10 is a conceptual diagram showing an embodiment in which only sensing data corresponding to a region of interest of a robot within a detection range of a sensor provided in the robot is selectively utilized. [Figure 24] FIG. 10 is a conceptual diagram showing an embodiment in which a region of interest is changed depending on the running speed of a robot. [Figure 25] FIG. 10 is a conceptual diagram illustrating an embodiment in which a robot changes a region of interest while traveling along a travel path. [Figure 26A] FIG. 10 is a conceptual diagram illustrating an embodiment in which obstacles used to calculate a risk level are changed by changing a region of interest. [Figure 26B] FIG. 10 is a conceptual diagram illustrating an embodiment in which obstacles used to calculate a risk level are changed by changing a region of interest. [Figure 26C] FIG. 10 is a conceptual diagram illustrating an embodiment in which obstacles used to calculate a risk level are changed by changing a region of interest. DETAILED DESCRIPTION OF THE INVENTION
[0024] Hereinafter, the embodiments disclosed herein will be described in detail with reference to the accompanying drawings. Regardless of the drawing number, identical or similar components will be designated by the same or similar reference numerals, and their description will be omitted. The suffixes "module" and "section" used in the following description are added or used interchangeably to facilitate the preparation of the specification and do not have any significance or utility in themselves. Furthermore, when describing the embodiments disclosed herein, if a detailed description of related publicly known technology is deemed to obscure the gist of the embodiments disclosed herein, that detailed description will be omitted. The accompanying drawings are merely intended to facilitate understanding of the embodiments disclosed herein, and the technical concepts disclosed herein are not limited by the accompanying drawings. It should be understood that the present invention encompasses all modifications, equivalents, and alternatives within the concept and technical scope of the present invention.
[0025] Terms including ordinal numbers such as first, second, etc. are used to describe various components, but the components are not limited by these terms. These terms are used only to distinguish one component from another.
[0026] When a component is said to be "coupled" or "connected" to another component, it should be understood that the component may be directly coupled or connected to the other component, and that there may be other components in between. Conversely, when a component is said to be "directly coupled" or "directly connected" to another component, it should be understood that there are no other components in between.
[0027] Singular expressions include plural expressions unless otherwise specified.
[0028] In this specification, the terms "comprise" and "have" are intended to specify the presence of a stated feature, number, step, operation, component, part, or combination thereof, but should not be interpreted as precluding the presence or possible addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0029] The present invention relates to a robot-friendly building, and proposes a robot-friendly building where humans and robots can coexist safely and where robots can provide useful services within the building.
[0030] More specifically, the present invention provides a method for providing useful services to humans using robots, robot-friendly infrastructure, and various systems for controlling them. In a building according to the present invention, various infrastructures (or facility infrastructures) can be provided that allow humans and multiple robots to coexist and move freely within the building.
[0031] In the present invention, a building is a structure constructed for sustainable residence, living, business, etc., and may take various forms such as a commercial building, an industrial building, an institutional building, a residential building, etc. Furthermore, the building may be a multi-story building having multiple floors, or a single-story building. However, for the sake of convenience, the present invention will be described using infrastructure or facility infrastructure applied to a multi-story building as an example.
[0032] In the present invention, infrastructure or facility infrastructure refers to facilities provided in a building for the provision of services, the movement of robots, function maintenance, cleanliness maintenance, etc., and there are a wide variety of types and forms. For example, the infrastructure provided in a building may be a variety of things, such as transportation facilities (e.g., robot movement paths, elevators, escalators, etc.), charging facilities, communication facilities, cleaning facilities, structures (e.g., stairs, etc.). In this specification, such facilities are referred to as facilities, infrastructure, facility infrastructure, or facility infrastructure, and the terms may be used interchangeably in some cases.
[0033] Furthermore, in a building according to the present invention, the building, various equipment infrastructure installed in the building, and at least one of the robots are controlled in conjunction with one another, allowing the robots to provide various services within the building safely and accurately.
[0034] The present invention proposes a building equipped with various facility infrastructures that allow multiple robots to move around the building, provide services according to their missions (or tasks), and support standby or charging functions as needed, as well as repair and cleaning functions for the robots. Such a building provides an integrated solution (or system) for robots, and the building according to the present invention can be referred to by various modifiers. For example, the building according to the present invention can be variously described as i) a building equipped with infrastructure used by robots, ii) a building equipped with robot-friendly infrastructure, iii) a robot-friendly building, iv) a building where robots and humans live together, or v) a building that provides various services using robots.
[0035] On the other hand, "robot-friendly" in this invention refers to a building where robots coexist, and more specifically, means that the building allows robots to move, that robots provide services, that the infrastructure that robots can use is built, and that the infrastructure that provides the functions required by robots (e.g., charging, repair, cleaning, etc.) is built. In this case, "robot-friendly" in this invention is used to mean that there is an integrated solution for the coexistence of robots and humans.
[0036] The present invention will now be described in more detail with reference to the accompanying drawings.
[0037] Figures 1, 2 and 3 are conceptual diagrams illustrating a robot-friendly building according to the present invention, Figures 4, 5 and 6 are conceptual diagrams illustrating a system for controlling a robot traveling through the robot-friendly building and various facilities provided in the robot-friendly building according to the present invention, and Figures 7 and 8 are conceptual diagrams illustrating the facility infrastructure provided in the robot-friendly building according to the present invention.
[0038] First, for the sake of convenience, representative symbols will be defined.
[0039] In the present invention, the building is designated by the symbol "1000," and the spaces (indoor spaces or indoor areas) of the building 1000 are designated by the symbol "10" (see FIG. 8). Also, the indoor spaces corresponding to the respective floors that make up the indoor space of the building 1000 are designated by the symbols 10a, 10b, 10c, etc. (see FIG. 8). In the present invention, the indoor space or indoor area refers to the inside of a building protected by exterior walls, as opposed to the outside of the building, and is not limited to meaning a space.
[0040] In addition, in the present invention, the robots are given the symbol "R", and even if the robots are not marked with a symbol in the drawings or the specification, they can all be understood to be robots R.
[0041] Furthermore, in the present invention, a human or person is given the symbol "U," and a human or person can also be referred to as a dynamic object. Here, the dynamic object does not necessarily mean only a human, but is also accepted to include moving things such as animals such as dogs and cats, or at least one other robot (e.g., a user's personal robot, a robot providing other services, etc.), drones, and vacuum cleaners (e.g., a robot vacuum cleaner).
[0042] On the other hand, the building (building, structure, edifice) 1000 described in this invention means a structure erected for people to live in, work in, raise animals in, or store goods in, and its type is not particularly limited.
[0043] For example, the building 1000 may be an office, an office, an officetel, an apartment, a residential / commercial complex, a house, a school, a hospital, a restaurant, a government office, etc., and the present invention can be applied to such various buildings.
[0044] As shown in FIG. 1, in a building 1000 according to the present invention, a robot can provide various services while moving around.
[0045] There may be one or more different types of robots located within the building 1000, which may travel within the building 1000, provide services, and utilize various facility infrastructure provided in the building 1000 under the control of the server 20.
[0046] In the present invention, the server 20 can be located in various locations. For example, the server 20 can be located inside the building 1000 and / or outside the building 1000. That is, at least a portion of the server 20 can be located inside the building 1000, and another portion can be located outside the building 1000. Alternatively, the server 20 can be located entirely inside the building 1000, or can be located only outside the building 1000. Therefore, in the present invention, the specific location of the server 20 is not particularly limited.
[0047] Furthermore, in the present invention, the server 20 may be configured to use at least one of a cloud computing method (cloud server 21) and an edge computing method (edge server 22). In addition to the cloud computing or edge computing method, the server 20 can be applied to the present invention as long as it is a method that can control a robot.
[0048] Meanwhile, the server 20 according to the present invention may, in some cases, combine cloud computing and edge computing methods to control at least one of the robots and the equipment infrastructure installed in the building 1000.
[0049] On the other hand, the robot R is driven according to control commands. For example, the robot R can move its position or change its posture by changing its movement, and can perform software updates.
[0050] In the present invention, for the sake of convenience, the server 20 is uniformly named as a "cloud server" and is given the reference number "20." However, it goes without saying that such a cloud server 20 can be substituted by the term edge server 22 of edge computing.
[0051] Furthermore, the term "cloud server" can be changed to various terms such as cloud robot system, cloud system, cloud robot control system, and cloud control system.
[0052] Meanwhile, the cloud server 20 according to the present invention can perform integrated control of a plurality of robots traveling in the 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 jobs) to the plurality of robots, iii) directly control the facility infrastructure provided in the building 1000 so that the plurality of robots R can successfully complete their tasks, or iv) control the facility infrastructure by communicating with a control system that controls the facility infrastructure.
[0053] In addition, the cloud server 20 can check the status information of the robots located in the building and provide (or support) various functions required for the robots, such as a charging function for the robots, a cleaning function for the contaminated robots, and a standby function for the robots that have completed their missions.
[0054] In order to provide various functions to the robot, the cloud server 20 can control the robot so that the robot uses various facility infrastructures provided in the building 1000. Furthermore, in order to provide various functions to the robot, the cloud server can directly control the facility infrastructures provided in the building 1000, or can control the facility infrastructures by communicating with a control system that controls the facility infrastructures.
[0055] In this way, the robot controlled by the cloud server 20 can provide various services while traveling through the building 1000.
[0056] Meanwhile, the cloud server 20 can perform various controls based on the information stored in the database, and the type and location of the database are not particularly limited in the present invention. The term "database" can be freely modified to refer to any means for storing information, such as memory, storage, cloud storage, external storage, or external server. Hereinafter, the term "database" will be used consistently.
[0057] On the other hand, 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 robot and the type of control over the robot, and in this case, the cloud server 20 may have subordinate sub-servers of a lower concept.
[0058] Furthermore, the cloud server 20 according to the present invention can control the robots that travel around the building 1000 based on various artificial intelligence algorithms.
[0059] Furthermore, the cloud server 20 performs artificial intelligence-based learning, utilizing data collected in the process of controlling the robot as learning data, and by utilizing this data to control the robot, the more control the robot receives, the more accurately and efficiently the robot can be operated. That is, the cloud server 20 may be configured to perform deep learning or machine learning. The cloud server 20 may also perform deep learning or machine learning through simulations or the like, and control the robot using the artificial intelligence model constructed as a result.
[0060] Meanwhile, Building 1000 is equipped with various equipment infrastructures for the robots to move, provide robot functions, maintain robot functions, perform robot missions, or enable coexistence between robots and humans.
[0061] For example, as shown in (a) of FIG. 1, various facility infrastructures 1 and 2 that support the movement (or movement) of the robot R are provided within the building 1000. Such facility infrastructures 1 and 2 can support the horizontal movement of the robot R within the floors of the building 1000, or can support the vertical movement of the robot R so that the robot R moves between different floors of the building 1000. In this manner, the facility infrastructures 1 and 2 can include a transportation system that supports the movement of the robot. The cloud server 20 can control the robot R to use such various facility infrastructures 1 and 2, thereby allowing the robot R to move within the building 1000 to provide services, as shown in (b) of FIG. 1.
[0062] Meanwhile, the robot according to the present invention may be controlled based on at least one of the cloud server 20 and a control unit provided in the robot itself, and configured to move within the building 1000 or provide services corresponding to a given mission.
[0063] Furthermore, as shown in FIG. 1(c), a building according to the present invention is a building where robots and humans coexist, and the robot is configured to travel while avoiding obstacles such as humans U, objects used by humans (e.g., strollers, carts, etc.), and animals, and may be configured to output notification information 3 regarding the robot's travel in some cases. The travel of such a robot may be controlled to avoid obstacles based on at least one of the cloud server 20 and a control unit provided in the robot. The cloud server 20 can control the robot so that the robot moves within the building 1000 while avoiding obstacles, based on information received from various sensors provided in the robot (e.g., a camera (image sensor), a proximity sensor, an infrared sensor, etc.).
[0064] Furthermore, the robot that travels through the building through the processes of (a) to (c) in Figure 1 may be configured to provide services to people or target objects present in the building, as shown in (d) in Figure 1.
[0065] The type of service provided by a robot varies from robot to robot. That is, there are various types of robots depending on their applications, robots have different structures depending on their applications, and robots are equipped with programs suitable for their applications.
[0066] For example, robots that provide at least one of the following services are deployed in Building 1000: delivery, logistics, guidance, interpretation, parking assistance, security, crime prevention, guarding, public order, cleaning, disease prevention, disinfection, laundry, beverage production, food and beverage production, serving, firefighting, medical support, and entertainment services. Services provided by robots are diverse and include services other than those listed above.
[0067] Meanwhile, the cloud server 20 can assign appropriate tasks to the robots in consideration of the respective uses of the robots, and control the robots so that the assigned tasks are performed.
[0068] At least a portion of the robots described in the present invention can move or perform tasks under the control of the cloud server 20, in which case the amount of data processed by the robot itself to move or perform a task is minimized. In the present invention, such robots are also referred to as brainless robots. Such brainless robots rely on the control of the cloud server 20 for at least a portion of their control to perform actions such as moving, performing tasks, charging, waiting, and cleaning within the building 1000.
[0069] However, in this specification, brainless robots will not be given different names, but will all be referred to uniformly as "robots."
[0070] 9 to 11 are conceptual diagrams for explaining a method for estimating the position of a robot traveling in a robot-friendly building according to the present invention.
[0071] As described above, in a building according to the present invention, the positions of the robots can be extracted and monitored using various infrastructures installed in the building. Furthermore, by monitoring the positions of the robots, the cloud server 20 can efficiently and accurately control the robots within the building.
[0072] Before describing the robot control method according to the present invention, a robot controlled by the robot control system according to the present invention will be described.
[0073] FIG. 12 is a conceptual diagram for explaining a robot controlled by the robot system according to the present invention.
[0074] 12, the robot may include a communication unit 1201, a storage unit 1202, a traveling unit 1203, a control unit 1204, and a sensor unit. The communication unit 1201 and the storage unit 1202 have been described above, so a detailed description thereof will be omitted.
[0075] The running unit 1203 is configured to move the robot within a space. The running unit 1203 is configured to be able to control at least one of the direction and speed of movement of the robot, and the control unit 1204 controls the running unit 1203 to allow the robot to move along a set movement path.
[0076] The traveling unit 1203 can be controlled by a control unit 1204 included in the robot and the cloud server 20. Unless otherwise specified in this specification, the robot can be controlled by either the control unit 1204 included in the robot or the cloud server 20, but can also be controlled by the other one. Here, the cloud server 20 may include at least one of a main server and a sub-server, as described above.
[0077] Next, the control unit 1204 may be configured to control the overall operation of the robot according to the present invention. The control unit 1204 may process signals, data, information, etc. input or output by the above-mentioned components, and may provide or process appropriate information or functions to a user. Unless otherwise specified in this specification, the control unit 1204 refers to a control unit provided in the robot.
[0078] Meanwhile, as described above, the present invention can set a travel route for a robot within a space using map information pre-stored in the server 20. Hereinafter, an embodiment in which the server 20 uses a node map to set a travel route for a robot will be described in more detail.
[0079] FIG. 13 is a conceptual diagram for explaining a node map used to set a movement path for a robot.
[0080] The server 20 can control the robot to move from its current location to a specific destination. Specifically, the present invention identifies the current location information and destination location information of the robot, sets a route to reach the destination, and controls the robot to move along the set route to reach the destination.
[0081] Therefore, the present invention proposes map information (node map) for efficiently setting a robot's travel route. However, the map information described below is merely an example of map information that can be used to set a robot's travel route, and the robot travel control method according to the present invention is not performed solely by the map information described below.
[0082] As described above, a map (or map information) of the building may be stored in the server 20. Referring to Fig. 13, the map of the building stored in the server 20 may be in the form of a two-dimensional plan view, but is not limited thereto.
[0083] Meanwhile, as shown in Fig. 13, the map information may include multiple nodes. In this specification, a "node" refers to a point or area that serves as a unit target for the robot's movement. A node may include two pieces of information.
[0084] First, a node includes coordinate information. A single node specifies a specific coordinate or a coordinate range on a map. For example, a node may specify a circular area having a predetermined area on a map. For this purpose, the coordinate information included in a node may consist of a specific coordinate or a coordinate range. That is, each node corresponds to a different location of a building.
[0085] Second, the node includes connection information. A single node includes information defining other nodes to which the robot can move from the node. The connection information may include unique numbers of other nodes to which the robot can move from the node or coordinate information specified by the other nodes.
[0086] The server 20 controls the robot to move from one node to another node and repeats this process until the robot reaches a target point. In this specification, the robot moving to a specific node means that the robot moves to the coordinate information or within a coordinate range designated by the specific node.
[0087] In the present invention, a movement route for moving a robot from its current position S to its destination A is set using the above-described position information estimation method and map information, and then transmitted to the robot. However, the method of utilizing a node map is merely one embodiment for controlling the movement of the robot, and the present invention can set a movement route for the robot using methods other than the above-described node map. In other words, there are many different ways to realize a map for setting a movement route for the robot.
[0088] For the sake of convenience, this specification describes using the above-mentioned node map to identify the position, shape, etc. of a virtual obstacle, but the setting of the virtual obstacle does not necessarily have to be performed using a node map.
[0089] The present invention provides a robot control method that minimizes unnecessary calculations while the robot is moving by adjusting the region of interest of a sensor provided on the robot according to the robot's risk level. Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings. Fig. 14 is a flowchart illustrating a robot control method according to the present invention, Fig. 15 is a conceptual diagram illustrating a robot control method according to the present invention, and Figs. 16 and 17 are conceptual diagrams illustrating risk level calculation and region of interest setting according to an embodiment of the present invention.
[0090] First, a step of receiving the robot's travel route from the server 20 is performed (S110).
[0091] The server 20 can assign tasks to the robot traveling through the building and generate a path plan for the robot. A path plan refers to a plan for a global path for the robot to travel through the building to perform its task. Such a path plan may include information about multiple areas within the building through which the robot will pass or travel. In this specification, the above-mentioned path plan is referred to as the "travel path" of the robot.
[0092] In one embodiment, the server 20 can generate a driving route using the node map described above. Specifically, the server 20 can generate a driving route for the robot by selecting nodes from the multiple nodes included in the node map and setting the order of the selected nodes. Upon receiving the driving route, the robot passes through areas in the building corresponding to the nodes arranged in order in sequence.
[0093] On the other hand, since the environment inside a building changes over time, it is difficult for the robot to travel along the above-mentioned travel route. For example, an obstacle that did not exist when the server 20 generated the travel route may appear on the robot's travel route. In this case, the robot must control itself to avoid the newly appeared obstacle.
[0094] As the environment within the building changes in real time, the server 20 can monitor the environment within the building after creating a global path plan for the robot and control the robot in real time to execute the global path plan. Specifically, the server 20 can control at least one of the robot's traveling direction, traveling speed, rotation direction, rotation speed, traveling distance, and rotation angle in real time so that the robot achieves the global path plan. However, the present invention is not limited to this, and detailed control of the robot to achieve the global path plan can also be performed by a control unit included in the robot.
[0095] In this specification, the real-time control of at least one of the traveling direction, traveling speed, rotation direction, rotation speed, traveling distance, and rotation angle in order to achieve a global path plan for the robot is referred to as "detailed traveling control" of the robot. The detailed traveling control of the robot can be performed by the server 20 or a control unit included in the robot. Below, we will explain how the detailed traveling control of the robot is performed by a control unit included in the robot, but the control of the robot performed by a control unit included in the robot can also be performed by the server 20.
[0096] 15, the robot may receive a travel path 1510 from a server. The travel path 1510 may be generated based on a node map. In this case, the travel path 1510 may include information about nodes N1, N5, N9, N10, N11, N15, and N16 through which the robot must travel, and information about the order in which the robot must travel through the nodes. Meanwhile, the robot R performs detailed control to travel along the travel path 1510. Here, the robot may perform avoidance control (1531 and 1532) to avoid obstacles located on the travel path.
[0097] Meanwhile, for detailed driving control of the robot, the control unit can utilize sensing data received from sensors provided in the robot, and to this end, a step of sensing obstacles located around the robot using the sensors provided in the robot is performed (S120).
[0098] The obstacles located around the robot are broadly defined into two types.
[0099] First, obstacles located around a robot are defined based on the position of the robot and the direction of travel of the robot. Specifically, obstacles located around a robot may be obstacles located within a predetermined distance from the position of the robot or within a predetermined range from the direction of travel of the robot. Alternatively, obstacles located around a robot may be obstacles located within a predetermined distance from the position of the robot and within a predetermined range from the direction of travel of the robot.
[0100] Second, obstacles located around the robot are defined based on the robot's travel path. Specifically, obstacles located around the robot may be obstacles located within a predetermined distance from the robot's travel path. Alternatively, obstacles located around the robot may be obstacles located within a predetermined distance from the robot's travel path and within a predetermined distance from the robot's position.
[0101] Meanwhile, the control unit can sense obstacles based on sensing data received from sensors provided in the robot. Here, sensing the obstacle may include at least one of determining whether an obstacle exists, calculating the size of the obstacle, determining the position of the obstacle, calculating the relative distance between the obstacle and the robot, calculating the moving direction of the obstacle, and calculating the moving speed of the obstacle. However, the present invention is not limited thereto, and the control unit can generate various information related to the obstacle based on the sensing data.
[0102] 15, when robot R is located near N1, it senses obstacle 1521 located at N5, but does not sense other obstacles 1522, 1523, and 1524 that are a predetermined distance or more away from robot R. On the other hand, when robot R moves to the vicinity of N10, it senses obstacles 1522 and 1523 located near N10, but does not sense other obstacle 1521 that is a predetermined distance or more away from robot R. Here, it is possible to prevent sensing of a specific obstacle 1524 located near N10, as will be described later.
[0103] After sensing the obstacle, a step of calculating a risk associated with the robot's running based on the relative distance between the robot and the obstacle is performed (S130).
[0104] The control unit included in the robot can calculate the distance between the obstacle and the robot using the sensing data. If multiple obstacles are sensed from the sensing data, the control unit can calculate the relative distance between each of the multiple obstacles and the robot.
[0105] On the other hand, the degree of danger may be calculated based on the relative distance between the robot and the obstacle.
[0106] In one embodiment, the risk level may be a value obtained by dividing the size of the robot by the relative distance between the robot and the obstacle, where the size of the robot may be the length or width of the robot.
[0107] Meanwhile, when a plurality of obstacles are sensed from the sensing data, the risk level may be calculated based on any one of the plurality of obstacles that satisfies a preset distance condition.
[0108] In one embodiment, when a plurality of obstacles are sensed from the sensing data, the degree of danger may be calculated based on the obstacle closest to the robot among the plurality of obstacles.
[0109] Meanwhile, the risk level may be updated when a predetermined condition is satisfied. Here, the predetermined condition may be at least one of a predetermined time having elapsed since the last risk level update, a change in at least one of the robot's running speed, running direction, rotation speed, and rotation direction, and the robot having traveled a predetermined distance. That is, the risk level may be updated at a predetermined interval, updated in real time under the control of the robot or a server, or updated when sensing data received from a sensor provided in the robot satisfies a predetermined condition, when the robot's running environment changes, or when the robot has traveled a predetermined distance or more.
[0110] 15, when robot R is located near N1, the risk level is calculated based on the relative distance d1 between robot R and obstacle 1521 located at N5. When robot R moves to the vicinity of N10, the risk level can be calculated using one of the relative distances d2 and d3 between robot R and obstacles 1522 and 1523 located near N10. Specifically, the relative distance d2 between robot R and obstacle 1522 closest to robot R can be used to calculate the risk level. Here, the relative distance between robot R and a specific obstacle 1524 located near N10 may not be calculated, or even if calculated, may not be used to calculate the risk level. This will be described later.
[0111] Next, a step of setting a region of interest related to the movement of the robot based on the degree of danger is performed (S140).
[0112] The region of interest related to the robot's movement may be a virtual region having a predetermined area, and may be used to selectively process only part of the sensing data received from the sensors provided in the robot, or not process part of the data.
[0113] The region of interest may broadly include two regions.
[0114] First, the region of interest may include a first region set based on the travel route and the risk level. At least a portion of the region of interest may be set based on the travel route. The first region related to the travel route may be set along the travel route.
[0115] For example, if the travel path is generated based on a node map, the first region may be generated to extend along a line sequentially connecting a plurality of nodes along which the robot must travel. Referring to Fig. 15, the first region 1541a may be generated in the direction along which the robot's travel path 1510 extends. Here, the first region does not need to overlap the entire robot's travel path 1510.
[0116] In this specification, the direction in which the first region extends (the traveling path direction) is defined as the length direction of the first region, and the distance the first region extends in the length direction is defined as the length of the first region. Meanwhile, in this specification, the direction perpendicular to the length direction is defined as the width direction of the first region, and the length extending in the width direction is defined as the width of the first region.
[0117] The length of the first area may be set based on a distance required for the robot to avoid an obstacle. Specifically, the distance required for the robot to avoid an obstacle may be calculated taking into consideration at least one of the running speed of the robot, the running direction of the robot, the relative distance between the robot and the obstacle, the moving speed of the obstacle, the moving direction of the obstacle, and the structure of the area in the building where the robot is located.
[0118] The width of the first area may be set based on at least one of the size of the robot, noise of a sensor provided in the robot, and the level of danger. Specifically, the width of the first area may be set wider as the robot becomes larger, as the noise of the sensor becomes louder, or as the level of danger becomes higher.
[0119] The first region may be formed to have an area defined by a predetermined width and a predetermined length based on a traveling direction according to the traveling route.
[0120] Second, the region of interest may include a second region that is set based on at least one of the size of the robot, the running direction of the robot, and the running speed of the robot, and the risk level. At least a portion of the region of interest may be set based on the direction in which the robot is heading. Specifically, the second region may extend in the direction in which the robot is heading and have a predetermined width. Furthermore, the position of the second region may be set based on the position of the robot.
[0121] For example, the control unit sets at least one of the robot's traveling direction, traveling speed, rotation speed, and rotation direction in real time to travel along the travel path. As a result, the direction in which the robot travels, i.e., the direction in which the robot is heading, changes every hour. The second region may be set based on the direction in which the robot is heading, which changes every hour. Referring to FIG. 15, the second region 1542a may be set to extend in the direction in which the robot is currently traveling, based on the robot's position.
[0122] In this specification, the direction in which the second region extends (the direction in which the robot faces) is defined as the length direction of the second region, and the distance the second region extends in the length direction is defined as the length of the second region. Meanwhile, in this specification, the direction perpendicular to the length direction is defined as the width direction of the second region, and the length extending in the width direction is defined as the width of the second region.
[0123] The length of the second area may be set based on a distance required for the robot to avoid an obstacle. Specifically, the distance required for the robot to avoid an obstacle may be calculated taking into consideration at least one of the running speed of the robot, the running direction of the robot, the relative distance between the robot and the obstacle, the moving speed of the obstacle, the moving direction of the obstacle, and the structure of the area in the building where the robot is located.
[0124] The width of the second area may be set based on at least one of the size of the robot, noise of a sensor provided in the robot, and the level of danger. Specifically, the width of the second area may be set wider as the robot becomes larger, as the noise of the sensor becomes louder, or as the level of danger becomes higher.
[0125] The second area may be formed to have an area defined by a predetermined width and a predetermined length based on the running direction of the robot.
[0126] At least a portion of the first and second regions may overlap.
[0127] Finally, a step of performing different data processing on the sensing data received from the sensors provided on the robot is performed depending on whether the sensing data is related to the region of interest (S150).
[0128] The robot receives sensing data in real time from sensors provided in the robot while traveling, and some of the sensing data received from the sensors may be used for the robot's traveling, while the rest may not be processed by the control unit.
[0129] The sensing data may be divided into data that is utilized for robot navigation and data that is not utilized based on the region of interest. Specifically, if the sensing data received from the sensor is data obtained by sensing the region of interest, the data is utilized for robot navigation. Conversely, if the sensing data received from the sensor is data obtained by sensing a region other than the region of interest, the data is not utilized for robot navigation.
[0130] Here, the portion of data related to the area of interest may be sensing data collected from a sensor provided on the robot, relating to an area that overlaps with the area of interest among areas that can be detected by the sensor provided on the robot.
[0131] The sensor provided on the robot has a predetermined detection range, which defines a region that the sensor can detect based on the position of the robot. The control unit can determine sensing data relating to a region where the sensor's detection region overlaps with the region of interest as data related to the region of interest.
[0132] The control unit can classify the sensing data received from the sensor into data related to the area of interest and data not related to the area of interest by taking into consideration at least one of the type of sensor provided on the robot, the position of the sensor, the measurement range of the sensor, the position of the robot when the sensor collects sensing information, the direction in which the robot is heading when the sensor collects sensing information, and detailed content of the sensing data received from the sensor.
[0133] Meanwhile, the control unit may perform control related to avoidance of obstacles located around the robot based on a portion of data related to the region of interest among sensing data collected from sensors provided in the robot. The control unit senses obstacles located in the region of interest using the portion of data related to the region of interest among sensing data collected from sensors provided in the robot. Specifically, the control unit may determine whether an obstacle exists within the region of interest and at least one of the position, size, type, and movement direction of the obstacle using the portion of data related to the region of interest.
[0134] Meanwhile, because the control unit selectively processes only the sensing data related to the region of interest, the amount of sensing data that the control unit must process varies depending on the size of the region of interest. Specifically, when the size of the region of interest is a first value, the amount of sensing data used in the step of controlling the robot's running using the sensing data related to the region of interest is a first data amount, and when the size of the region of interest is a second value greater than the first value, the amount of sensing data used in the step of controlling the robot's running using the sensing data related to the region of interest is a second data amount greater than the first data amount. In other words, the present invention allows a larger amount of sensing data to be used for controlling the robot's running as the area of the region of interest increases.
[0135] The control unit can then perform control to avoid obstacles located within the area of interest based on whether or not an obstacle is present within the area of interest, and at least one of the position, size, type, and movement direction of the obstacle.
[0136] In one embodiment, the control unit can set at least one of the robot's running speed, running direction, rotation speed, rotation direction, and running distance based on whether an obstacle is present within the area of interest, and at least one of the obstacle's position, size, type, and movement direction, so that the robot can run while avoiding obstacles located within the area of interest.
[0137] In another embodiment, the control unit may set at least one of the running speed, running direction, rotation speed, rotation direction, and running distance of the robot based on whether an obstacle is present in the region of interest and at least one of the position, size, type, and moving direction of the obstacle, to set a short-term running path to avoid the obstacle. Here, the short-term running path may be a path that allows the robot to return to the existing running path after avoiding the obstacle in the region of interest.
[0138] On the other hand, the control unit can prevent other processing from being performed on sensing data other than sensing data related to the region of interest, so that even if an obstacle is located around the robot, if the obstacle is located outside the region of interest, the robot will not respond to the obstacle.
[0139] Meanwhile, control related to avoidance of obstacles located around the robot may be performed based on data related to the first area and data related to the second area among sensing data collected from a sensor provided on the robot. When an obstacle located in at least one of the first area and the second area is detected by the sensor provided on the robot, a control unit may perform control related to avoidance of the obstacle located in the area of interest.
[0140] Meanwhile, the data related to the region of interest may be sensing data obtained by sensing an obstacle of interest located in the region of interest. The control unit may perform control related to avoidance of the obstacle related to the region of interest by utilizing only the sensing data related to the obstacle related to the region of interest. Here, the obstacle related to the region of interest means an obstacle located within the region of interest.
[0141] In this specification, an obstacle located within the region of interest is referred to as an “obstacle of interest.” An obstacle of interest is an obstacle that must be taken into consideration when the robot is traveling, and may be an obstacle that is located within the region of interest or that satisfies a distance condition regarding the region of interest.
[0142] In one embodiment, the obstacle of interest may be an obstacle in which all portions of the obstacle are located within the region of interest, or an obstacle in which at least a portion of the obstacle is located within the region of interest.
[0143] In another embodiment, the obstacles of interest may be obstacles located within a preset distance from the region of interest.
[0144] Even if the control unit receives sensing data from a sensor provided on the robot regarding an obstacle of no interest located in an area outside the area of interest, the control unit can prevent the sensing data regarding the obstacle of no interest from being used in control regarding avoidance of the obstacle.
[0145] As described above, the present invention can minimize the computation required for a robot to run by selectively considering only obstacles of interest associated with a region of interest and controlling the robot's running.
[0146] 15, when robot R is located near N1, the control unit senses obstacle 1521 located within regions of interest 1541a and 1542a using sensing data related to regions of interest 1541a and 1542a among sensing data received from sensors provided in the robot. The control unit performs control to avoid obstacle 1521 located within regions of interest 1541a and 1542a. As a result, robot R travels along path 1531 that avoids obstacle 1521 located within regions of interest 1541a and 1542a.
[0147] On the other hand, when the robot R is located near N10, the control unit senses a plurality of obstacles 1522 and 1523 located within the regions of interest 1541b and 1542b using sensing data related to the regions of interest 1541b and 1542b among sensing data received from sensors provided in the robot. The control unit performs control to avoid the plurality of obstacles 1522 and 1523 located within the regions of interest 1541b and 1542b. Here, the control unit may be configured not to perform another process even if it receives sensing data related to an obstacle 1524 located outside the regions of interest. The control unit performs control to avoid the obstacle without considering the obstacle 1524 located outside the regions of interest. As a result, the robot R travels along a path 1532 that avoids the plurality of obstacles 1522 and 1523 located within the regions of interest 1541b and 1542b.
[0148] As described above, the present invention selectively utilizes only sensing data related to the area of interest set based on the risk level, and does not utilize sensing data not related to the area of interest, thereby minimizing unnecessary calculations while the robot is running.
[0149] In addition, the present invention sets the risk level, which is the basis for setting a region of interest, based on the distance between the robot and an obstacle, so that when the distance between the robot and the obstacle is relatively short, even sensing data related to the area around the obstacle is used for obstacle avoidance control, and when the distance between the robot and the obstacle is relatively long, the robot's travel control is performed taking into account only sensing data related to the area where the obstacle is located, thereby making it possible to change the amount of sensing data to be processed depending on the current situation of the robot. As a result, the present invention enables obstacle avoidance control to be performed with an optimal amount of calculation depending on the situation of the robot.
[0150] Meanwhile, the present invention utilizes a region of interest when calculating the risk associated with the robot's movement. Specifically, the control unit can set a basic region of interest based on at least one of the robot's size, movement path, movement direction, and movement speed.
[0151] The basic ROI is an area that is set as a default value when the robot starts moving or when no obstacles are detected around the robot. The basic ROI may be set based on the robot's travel path and the direction the robot is heading, rather than based on the degree of danger.
[0152] The basic region of interest may include two regions, similar to the regions of interest described above.
[0153] First, the basic region of interest may include a first region set based on the travel route. At least a portion of the basic region of interest may be set based on the travel route. The first region related to the travel route may be set along the travel route.
[0154] In this specification, the direction in which the first region extends (the traveling path direction) is defined as the length direction of the first region, and the distance the first region extends in the length direction is defined as the length of the first region. Meanwhile, in this specification, the direction perpendicular to the length direction is defined as the width direction of the first region, and the length extending in the width direction is defined as the width of the first region.
[0155] The length of the first area may be set based on a distance required for the robot to avoid an obstacle, taking into account only the traveling state of the robot. Specifically, the distance required for the robot to avoid an obstacle may be calculated taking into account at least one of the traveling speed of the robot, the traveling direction of the robot, and the structure of the area within the building where the robot is located.
[0156] The width of the first region may be set based on at least one of the size of the robot and noise of a sensor provided in the robot. Specifically, the width of the first region may be set wider as the robot becomes larger and as the noise of the sensor becomes greater.
[0157] Second, the basic region of interest may include a second region that is set based on at least one of the size of the robot, the running direction of the robot, and the running speed of the robot. At least a portion of the basic region of interest may be set based on the direction in which the robot is heading. Specifically, the second region may extend in the direction in which the robot is heading and have a predetermined width. Furthermore, the position of the second region may be set based on the position of the robot.
[0158] In this specification, the direction in which the second region extends (the direction in which the robot faces) is defined as the length direction of the second region, and the distance the second region extends in the length direction is defined as the length of the second region. Meanwhile, in this specification, the direction perpendicular to the length direction is defined as the width direction of the second region, and the length extending in the width direction is defined as the width of the second region.
[0159] The length of the second area may be set based on a distance required for the robot to avoid an obstacle, taking into account only the traveling state of the robot. Specifically, the distance required for the robot to avoid an obstacle may be calculated taking into account at least one of the traveling speed of the robot, the traveling direction of the robot, and the structure of the area within the building where the robot is located.
[0160] The width of the second region may be set based on at least one of the size of the robot and noise of a sensor provided in the robot. Specifically, the width of the second region may be set wider as the robot becomes larger and as the noise of the sensor becomes greater.
[0161] The first and second regions included in the basic region of interest may overlap each other.
[0162] The basic region of interest can be used to control the robot even if a risk level is not calculated. Specifically, like the region of interest described above, the basic region of interest can be used to selectively use only a portion of the sensing data collected from the sensors provided in the robot, or can be used to identify obstacles for risk level calculation.
[0163] Alternatively, the risk level may be calculated based on the relative distance between the robot and an obstacle located within the basic region of interest, i.e., obstacles located outside the basic region of interest may not be taken into consideration when calculating the risk level.
[0164] 16(a), in one embodiment, the control unit does not use sensing data related to obstacles 1621a and 1622a located outside the basic region of interest, which is made up of first region 1641a and second region 1642a, to calculate the level of danger. The control unit does not calculate the distance between the robot and obstacles 1621a and 1622a located outside the basic region of interest. As a result, the level of danger is not calculated in the situation shown in FIG. 16(a).
[0165] 16(b), in one embodiment, the control unit does not use sensing data related to obstacle 1622b located outside the basic region of interest consisting of first region 1641b and second region 1642b to calculate the level of danger, but selectively uses sensing data related to obstacle 1621b located within first region 1641b to calculate the level of danger. The control unit does not calculate the distance between the robot and obstacle 1622b located outside the basic region of interest, but calculates only distance d4 between the robot and obstacle 1621b located within first region 1641b. As a result, in the situation of FIG. 16(b), the level of danger is calculated based on distance d4 between the robot and obstacle 1621b located within first region 1641b.
[0166] 16(c), in one embodiment, the control unit does not use sensing data related to an obstacle 1621c located outside the basic region of interest consisting of the first region 1641c and the second region 1642c to calculate the level of danger, and selectively uses sensing data related to only the obstacle 1622c located within the second region 1642c to calculate the level of danger. The control unit does not calculate the distance between the robot and the obstacle 1621c located outside the basic region of interest, but calculates only the distance d5 between the robot and the obstacle 1622c located within the second region 1642c. As a result, in the situation of FIG. 16(c), the level of danger is calculated based on the distance d5 between the robot and the obstacle 1622c located within the second region 1642c.
[0167] 16(d), in one embodiment, the control unit uses sensing data related to obstacles 1621d and 1622d located in a first region 1641d and a second region 1642d to calculate the level of danger. The control unit calculates a distance d6 between the robot and obstacle 1621d located in the first region 1641d and a distance d7 between the robot and obstacle 1622d located in the second region 1642d. The control unit then calculates the level of danger based on the smaller of distances d6 and d7.
[0168] Meanwhile, the control unit may update the basic region of interest so that the basic region of interest is expanded or reduced based on the risk level. The step of setting a region of interest related to the robot's traveling (S140) may be a step of updating the basic region of interest.
[0169] If a preset condition is met, the risk level may be recalculated, and if the risk level is recalculated, the region of interest may be updated based on the recalculated risk level.
[0170] The predetermined condition may be at least one of a predetermined time having elapsed since the last time the risk level was updated, a change in at least one of the robot's running speed, running direction, rotation speed, and rotation direction, and the robot having traveled a predetermined distance. That is, the risk level may be updated at a predetermined interval, updated in real time by control of the robot or a server, or updated when sensing data received from a sensor provided in the robot satisfies a predetermined condition, when the robot's running environment changes, or when the robot has traveled a predetermined distance or more.
[0171] The region of interest may be updated based on the recalculated risk level, where the region of interest of the robot may be updated to a region of interest based on a risk level while the region of interest is set as a basic region of interest, or may be updated from a region of interest set based on a risk level to a region of interest based on a recalculated risk level.
[0172] 17(a), when a robot detects an obstacle within the basic region of interest, the robot can calculate a risk level based on a distance d8 between the detected obstacle 1721a and the robot, and update the basic region of interest based on the distance d8. The updated region of interest, like the basic region of interest, includes a first region 1741a and a second region 1742a, and the first region 1741a may be set by enlarging or reducing the first region included in the basic region of interest, and the second region 1742a may be set by enlarging or reducing the second region included in the basic region of interest.
[0173] Meanwhile, by updating the region of interest, the length L3 and width W3 of the first region and the length L3' and width W3' of the second region are set, and the set length and width may be different from the length and width of the first and second regions included in the existing region of interest.
[0174] On the other hand, comparing Figures 17(a) and 17(b), the distance d9 between the obstacle and the robot shown in Figure 17(b) is shorter than in Figure 17(a). In this case, the length L4 and width W4 of the first region and the length L4' and width W4' of the second region included in the region of interest are greater than the corresponding first and second regions in Figure 17(a).
[0175] Meanwhile, when the risk level is recalculated, if the sensing data related to the region of interest satisfies a preset obstacle condition, the control unit may set the region of interest of the robot to the basic region of interest. Here, the preset obstacle condition may be that no obstacle is detected within the region of interest. That is, if no obstacle is detected within the region of interest, the control unit may set the region of interest of the robot to a basic value.
[0176] As described above, the present invention enables a robot to avoid obstacles in a real-time changing building environment with minimal computation by periodically updating the region of interest.
[0177] Meanwhile, the region of interest and the basic region of interest may be set in consideration of the environment in the building and the mission of the robot. Hereinafter, an embodiment in which the region of interest and the basic region of interest are set in consideration of the environment in the building and the mission of the robot will be described.
[0178] FIG. 18 is a conceptual diagram showing an embodiment in which a region of interest is set taking into account moving obstacles, FIG. 19 is a conceptual diagram showing an embodiment in which a region of interest is set taking into account the degree of congestion in a building, and FIG. 20 is a conceptual diagram showing an embodiment in which a region of interest is set taking into account the robot's mission.
[0179] When a moving obstacle is detected from sensing data received from a sensor provided in the robot, the control unit may update the region of interest regardless of whether the moving obstacle is located within the region of interest. Specifically, when a moving obstacle is detected within a detection range of a sensor provided in the robot, the control unit may expand the size of the region of interest.
[0180] 18, if the robot detects a moving obstacle 1822 while traveling along a preset travel path 1810, the size of the region of interest is expanded, so that the length L5 and width W5 of a first region 1841a included in the existing region of interest are increased to length L6 and width W6, and the length L5' and width W5' of a second region 1842a are increased to length L6' and width W6'.
[0181] As described above, the present invention enables a robot to prepare for moving obstacles by expanding the region of interest if a moving obstacle is detected.
[0182] Meanwhile, the control unit may receive information regarding the congestion level in the building from the server and update the region of interest based on the congestion level in the building. Specifically, the control unit may increase the size of the region of interest as the congestion level in the building increases. The control unit may increase the area of the region of interest when the congestion level in the building is high, even if the risk level calculated based on the sensing data is the same.
[0183] For example, referring to FIG. 19, as the robot travels along a preset travel path 1910, the number of obstacles 1922-1924 in the building increases, causing the building to become more crowded. The server can calculate the number of obstacles in the building using images received from CCTVs 1951-1953 installed in the building and calculate the building's congestion level based on the number of obstacles. The calculated congestion level can be transmitted to the robot traveling within the building. The robot receives congestion level information from the server, and the control unit can expand or reduce the region of interest based on the received congestion level information. In the case of FIG. 19, as the congestion level in the building increases, the control unit expands the size of the region of interest. As a result, the width W7 of a first region 1941a included in the existing region of interest increases to width W8, and the width W7' of a second region 1942a increases to width W8'.
[0184] As described above, the present invention adjusts the size of the region of interest based on the degree of congestion in the building, thereby allowing the robot's computational load to be adjusted to reflect the environment in the building in real time.
[0185] Meanwhile, the control unit may receive mission information of the robot from the server and update the region of interest based on the robot mission. Specifically, the control unit may expand or shrink the region of interest depending on the robot mission.
[0186] 20, a robot may receive new mission information from a server while traveling along a preset travel path 2010 and load a large-volume item for the mission. The control unit may expand the size of the region of interest (ROI) considering that the mission assigned to the robot is to transport an item. As a result, the width W9 of a first region 2041a included in the existing ROI is increased to a width W10, and the width W9' of a second region 2042a is increased to a width W10'.
[0187] As described above, the present invention adjusts the size of the region of interest based on the robot's mission, thereby allowing the robot's computational load to be adjusted in real time to reflect the robot's mission execution status.
[0188] Hereinafter, an embodiment in which only sensing data corresponding to a region of interest of a robot within a detection range of a sensor provided in the robot is selectively utilized will be described in more detail.
[0189] 21 to 23 are conceptual diagrams showing an embodiment in which only sensing data corresponding to a region of interest of a robot within the detection range of a sensor provided on the robot is selectively utilized.
[0190] As described above, the control unit selectively uses only the sensing data related to obstacles located in the region of interest for controlling the robot's travel. Referring to FIG. 21, the detection range of a sensor provided in the robot R may be defined by a virtual circle 2160 surrounding the robot. The robot R can detect all obstacles within the sensor's detection range 2160 and control its travel taking the detected obstacles into consideration. However, some obstacles 2122 and 2123 do not need to be taken into consideration when the robot travels along a predetermined travel path. For the robot to travel along the travel path, it is sufficient to avoid only the obstacles 2121 located within the regions of interest 2141 and 2142.
[0191] On the other hand, referring to (a) of Figure 22, if the robot selectively takes into account only the sensing data related to the obstacle 2221 located within the area of interest and performs driving control without taking into account the obstacles 2222 and 2223 located outside the area of interest, a collision with some of the obstacles may occur.
[0192] Specifically, referring to (a) of Figure 23, if an avoidance path 2330a for an obstacle 2321 located within the area of interest is set without taking into account an obstacle 2322 located very close to the obstacle 2321 located within the area of interest, the robot may collide with the obstacle 2322 located very close to the obstacle 2321 located within the area of interest.
[0193] To prevent this, the present invention can perform control to avoid the obstacle by taking into consideration the surrounding conditions of the obstacle when the distance between the obstacle and the robot becomes short.
[0194] 22(b), as the distance between the robot and an obstacle 2221 located within the region of interest of the robot becomes closer, the danger level of the robot increases, and the range of interest expands accordingly. As a result, the control unit performs avoidance control taking into account sensing data on the obstacle 2221 located within the region of interest and the obstacle 2222 located very adjacent to the obstacle 2221.
[0195] Specifically, referring to (b) of FIG. 23, the control unit can set an avoidance path 2330b taking into account obstacles 2321 and 2322 located within the updated region of interest, thereby enabling the robot to avoid both adjacent obstacles.
[0196] Meanwhile, the region of interest can be changed depending on the running state of the robot. An embodiment in which the region of interest is changed depending on the running state of the robot will be specifically described below.
[0197] Figure 24 is a conceptual diagram showing an embodiment in which the region of interest is changed depending on the robot's running speed, Figure 25 is a conceptual diagram showing an embodiment in which the region of interest is changed while the robot is running along a running path, and Figures 26A to 26C are conceptual diagrams showing an embodiment in which the obstacles used to calculate the risk level are changed as the region of interest is changed.
[0198] The lengths of the first and second regions included in the region of interest are changed according to the running speed of the robot. Specifically, the faster the running speed of the robot, the longer the lengths of the first and second regions included in the region of interest. The control unit may set the running speed of the robot at predetermined intervals so that the robot runs along the running path. The control unit may recalculate the risk level every time the running speed of the robot is reset, and update the region of interest based on the recalculated risk level. Here, the control unit may set the lengths of the first and second regions included in the region of interest based on the reset running speed of the robot.
[0199] 24, while the robot is traveling at 1 m / s, the control unit may reset the robot's traveling speed to 2 m / s, recalculate the risk level, and update the region of interest based on the calculated risk level. The control unit may increase the lengths of the first and second regions included in the region of interest based on the increase in the robot's traveling speed. The lengths L8 and L8' of the first and second regions 2441b and 2442b when the robot's traveling speed is set to 2 m / s are longer than the lengths L7 and L7' of the first and second regions 2441a and 2442a when the robot's traveling speed is set to 1 m / s.
[0200] Meanwhile, if an obstacle is not detected within the robot's region of interest, the control unit may set the robot's region of interest as a basic region of interest. Specifically, when calculating the risk level based on the relative distance between the obstacle and the robot, an obstacle must be present within the region of interest in order to calculate the risk level. If an obstacle is not detected within the robot's region of interest, the control unit cannot calculate the risk level and therefore sets the robot's region of interest as a basic region of interest.
[0201] 25, when the robot generates an avoidance path 2530 for an obstacle 2522 located on the travel path 2510 and travels along the avoidance path 2530 to reach N5, the obstacle is no longer located within the robot's region of interest. Accordingly, the control unit changes the robot's region of interest to the basic region of interest. Consequently, the widths W15 and W15' of the first and second regions 2541b and 2542b of the changed region of interest become narrower than the widths W14 and W14' of the first and second regions 2541a and 2542a included in the region of interest when the robot avoids the obstacle 2522.
[0202] Meanwhile, as the region of interest changes, the obstacles used to calculate the risk level change. Specifically, the control unit calculates the risk level based on the relative distance between the robot and an obstacle located within the region of interest. When the region of interest is updated and a new obstacle is located within the region of interest or a specific obstacle is no longer located within the region of interest, the control unit may recalculate the risk level based on the obstacle located within the updated region of interest.
[0203] 26A and 26B, the control unit updates the first region of interest 2641a, 2642a based on the distance d10 between the robot and a specific obstacle 2622 located within the first region of interest. The widths W17, W17' of the first and second regions 2641b, 2642b included in the second region of interest generated by updating the first region of interest are wider than the widths W16, W16' of the first and second regions 2641a, 2642a included in the first region of interest. As a result, a new obstacle 2621 is positioned within the region of interest. Because the distance d11 between the new obstacle 2621 and the robot is shorter than the distance d10 between the specific obstacle 2622 and the robot, which was used to calculate the risk level, the control unit recalculates the risk level based on the distance d11 between the new obstacle 2621 and the robot and updates the region of interest. As a result, referring to FIG. 26C, the widths W18 and W18' of the first and second regions 2641c and 2642c included in the region of interest become wider.
[0204] As described above, the present invention enables the robot to safely avoid obstacles located within a building with minimal calculations by updating the robot's area of interest in response to changes in the environment within the building and the robot's driving conditions.
[0205] However, the present invention as described above can be implemented as a program that can be executed by one or more processes on a computer and stored on a computer-readable medium.
[0206] Furthermore, the present invention can be realized as computer-readable codes or commands on a program recording medium. That is, various control methods according to the present invention can be provided in the form of a program, either collectively or individually.
[0207] On the other hand, the computer-readable medium includes any kind of storage device that stores data that can be read by a computer system. Examples of the computer-readable medium include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.
[0208] The computer-readable medium may also be a server or cloud storage that includes storage and can be accessed by the electronic device via communication, in which case the computer can download the program according to the present invention from the server or cloud storage via wired or wireless communication.
[0209] Furthermore, in the present invention, the computer described above is an electronic device equipped with a processor, that is, a central processing unit (CPU), and the type of the computer is not particularly limited.
[0210] However, the detailed description of the present invention is for illustrative purposes only and should not be construed as limiting in any respect. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.
Claims
1. A method for controlling a robot that travels through a building based on a map of the building, comprising: receiving a travel path of the robot from a server; sensing obstacles located around the robot using a sensor provided on the robot; calculating a risk associated with the running of the robot based on a relative distance between the robot and the obstacle; setting a region of interest related to the movement of the robot based on the degree of danger; performing different data processing related to responding to the obstacle depending on whether the sensing data received from the sensor provided in the robot is data obtained by sensing the region of interest, When the received sensing data is data obtained by sensing the region of interest, the received sensing data is used to control the movement of the robot to deal with the obstacle; A robot control method characterized in that, if the received sensing data is data obtained by sensing an area outside the area of interest, the robot does not perform control to deal with the obstacle based on the received sensing data.
2. In the step of performing different data processing, The robot control method according to claim 1, characterized in that control relating to avoidance of obstacles related to the area of interest is performed based on data related to the area of interest among the sensing data collected from the sensors provided on the robot.
3. The obstacles associated with the region of interest include: The method of claim 2, wherein the obstacle of interest is located within the region of interest.
4. In the step of performing different data processing, 4. The robot control method according to claim 3, wherein even if sensing data relating to an obstacle of no interest located in an area outside the area of interest is received from the sensor provided on the robot, the sensing data relating to the obstacle of no interest is not used in control relating to avoidance of the obstacle.
5. The data relating to the region of interest may include:
4. The robot control method according to claim 3, wherein the sensing data is obtained by sensing the obstacle of interest located in the area of interest.
6. The data relating to the region of interest may include:
4. The robot control method according to claim 3, wherein the sensing data is about a specific area of the sensing area of the sensor provided on the robot that overlaps with the area of interest.
7. The region of interest is a first area that is set based on the travel route and the risk level; 4. The robot control method according to claim 3, further comprising a second area set based on the risk level and at least one of the size of the robot, the direction of travel of the robot, and the speed of travel of the robot.
8. The control related to avoidance of an obstacle located in the region of interest includes:
8. The robot control method according to claim 7, wherein the method is performed when an obstacle located in at least one of the first area and the second area is detected by the sensor provided on the robot.
9. The first region is formed to have an area defined by a predetermined width and a predetermined length based on a traveling direction according to the traveling route, 9. The robot control method according to claim 8, wherein the second region is formed to have an area defined by a predetermined width and a predetermined length based on the running direction of the robot.
10. The robot control method according to claim 9 , wherein the first and second regions corresponding to the region of interest become larger as the risk level increases.
11. The robot control method according to claim 10, wherein the larger the first and second areas are, the more the amount of data processing required for the obstacle avoidance control differs.
12. further comprising a step of setting a basic region of interest based on at least one of the travel path, the size of the robot, the travel direction of the robot, and the travel speed of the robot; In the step of sensing an obstacle located around the robot, 2. The robot control method according to claim 1, further comprising sensing obstacles related to the basic region of interest.
13. the degree of danger is calculated based on a relative distance between the robot and an obstacle located in the basic region of interest; In the step of setting the region of interest based on the risk level, The robot control method according to claim 12 , wherein the basic region of interest is updated so that the basic region of interest is enlarged or reduced based on the degree of risk.
14. The risk level is recalculated at predetermined intervals, The robot control method according to claim 13 , wherein when the risk level is recalculated, the region of interest is updated based on the recalculated risk level.
15. In the step of sensing an obstacle located around the robot, When a plurality of obstacles are sensed in the basic region of interest, a relative distance between each of the plurality of obstacles and the robot is calculated; selecting one of the plurality of obstacles based on a relative distance between each of the plurality of obstacles and the robot; 14. The robot control method according to claim 13, wherein the degree of danger is calculated based on a relative distance between the selected obstacle and the robot.
16. The method further includes receiving congestion level information calculated based on the number of obstacles located around the travel route from the server, The robot control method according to claim 1 , wherein the region of interest is set in consideration of at least one of the degree of danger and the degree of congestion information.
17. In a building where robots controlled by a cloud server move around, The building is a communication unit that receives a control command related to the robot's running from the cloud server and transmits the control command to the robot; The cloud server Transmitting a travel route to the robot; receiving sensing data generated by a sensor provided in the robot and sensing obstacles located around the robot; calculating a risk associated with the robot's travel based on a relative distance between the robot and the obstacle; setting a region of interest related to the running of the robot based on the degree of risk; performing different data processing related to responding to the obstacle depending on whether the sensing data is data obtained by sensing the region of interest; When the received sensing data is data obtained by sensing the region of interest, the received sensing data is used to control the movement of the robot to deal with the obstacle; A building characterized in that, if the received sensing data is data obtained by sensing an area outside the area of interest, the robot does not perform control to respond to the obstacle based on the received sensing data.
18. The cloud server The building according to claim 17, characterized in that control relating to avoidance of obstacles related to the area of interest is performed based on data related to the area of interest among the sensing data collected from the sensors provided on the robot.
19. A system for controlling a robot that travels through a building based on a map of the building, a communication unit that receives a travel route of the robot from a server; using a sensor provided in the robot to sense obstacles located around the robot; calculating a risk associated with the robot's travel based on a relative distance between the robot and the obstacle; setting a region of interest related to the running of the robot based on the degree of risk; a control unit that performs different data processing related to responding to the obstacle depending on whether the sensing data received from the sensor provided in the robot is data obtained by sensing the region of interest, When the received sensing data is data obtained by sensing the region of interest, the received sensing data is used to control the movement of the robot to deal with the obstacle; A robot control system characterized in that, if the received sensing data is data obtained by sensing an area outside the area of interest, the robot does not perform control to respond to the obstacle based on the received sensing data.
20. A program executable by one or more processes in an electronic device and storable on a computer-readable medium, comprising: The program receiving a travel route of the robot from a server; sensing obstacles located around the robot using a sensor provided on the robot; calculating a risk associated with the running of the robot based on a relative distance between the robot and the obstacle; setting a region of interest related to the movement of the robot based on the degree of danger; performing different data processing related to responding to the obstacle depending on whether the sensing data received from the sensor provided in the robot is data obtained by sensing the region of interest, When the received sensing data is data obtained by sensing the region of interest, the received sensing data is used to control the movement of the robot to deal with the obstacle; A program that can be stored on a computer-readable medium, characterized in that if the received sensing data is data obtained by sensing an area outside the area of interest, the robot does not perform control to respond to the obstacle based on the received sensing data.
Citation Information
Patent Citations
Autonomous mobile robot and system therefor
JP2007094743A
Mobile device
JP2008065755A
Autonomous mobile device
JP2010282443A