WO2025135397A1 - 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템 - Google Patents

로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템 Download PDF

Info

Publication number
WO2025135397A1
WO2025135397A1 PCT/KR2024/013635 KR2024013635W WO2025135397A1 WO 2025135397 A1 WO2025135397 A1 WO 2025135397A1 KR 2024013635 W KR2024013635 W KR 2024013635W WO 2025135397 A1 WO2025135397 A1 WO 2025135397A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
node
specific
destination node
movement path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/KR2024/013635
Other languages
English (en)
French (fr)
Inventor
김가현
조요한
유승현
조준호
권택민
조재용
오용경
이준행
한휘
주석천
도경태
김석태
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Naver Corp
Original Assignee
Naver Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Naver Corp filed Critical Naver Corp
Publication of WO2025135397A1 publication Critical patent/WO2025135397A1/ko
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1679Program controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/246Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/698Control allocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/60Open buildings, e.g. offices, hospitals, shopping areas or universities

Definitions

  • the present invention relates to a method and system for controlling a robot that can be applied to an environment-friendly building.
  • the present invention relates to a method and system for controlling the traffic of a plurality of robots moving to the same destination.
  • robots have reached a level where they can safely coexist with humans in indoor spaces.
  • robots are recently replacing human work or tasks, and various methods for robots to directly provide services to people, especially in indoor spaces, are being actively studied.
  • robots provide guidance services, and in restaurants, robots provide serving services.
  • robots provide delivery services, delivering mail and packages.
  • robots provide various services such as cleaning services, security services, and logistics processing services, and the types and scope of services provided by robots are expected to increase exponentially in the future, and the level of service provision is also expected to continue to develop.
  • These robots provide various services not only in outdoor spaces but also in indoor spaces of buildings (or premises) such as offices, apartments, department stores, schools, hospitals, and amusement facilities.
  • the robots are controlled to move around the indoor spaces of the buildings and provide various services.
  • Korean Patent Publication No. 10-2023-0153788 discloses a method for determining an autonomous driving path of a robot, but the invention focuses only on the movement path of a specific robot, and when multiple robots move to the same destination, collisions or deadlock problems among the robots may occur.
  • the present invention provides a control method and system for a robot that moves within a building.
  • the present invention provides a robot control method and system capable of controlling a plurality of robots moving to the same destination.
  • the present invention provides a robot control method and system that controls a plurality of robots to move sequentially to the same destination.
  • a robot control method may include a step of generating a movement path of a specific robot based on a node map including a plurality of nodes, a step of controlling the specific robot so that the specific robot moves along the movement path, a step of checking an occupancy status of a destination node included in the movement path, and a step of updating the movement path so that a specific node located around the destination node is included in the movement path based on the occupancy status of the destination node.
  • a program according to the present invention is a program stored in a computer-readable recording medium, and is executed by one or more processes in an electronic device, and may include instructions for performing the steps of: generating a movement path of a specific robot based on a node map including a plurality of nodes; controlling a specific robot so that the specific robot moves along the movement path; and updating the movement path so that a specific node located around the destination node is included in the movement path based on an occupancy state of the destination node.
  • the robot control method and system according to the present invention generates a movement path of a specific robot based on a node map, and controls the specific robot to move along the movement path, thereby controlling the robot to move safely, quickly, and accurately within a building.
  • the robot control method and system according to the present invention can check the occupancy status of a destination node included in a movement path, and update the movement path so that a specific node located around the destination node is included in the movement path based on the occupancy status of the destination node.
  • the present invention when a plurality of robots move to the same destination, the plurality of robots are moved to the destination one by one, and other robots are controlled to wait at a layover node, thereby preventing collision and deadlock of the robots.
  • the present invention can efficiently manage the traffic of robots not only when the destination is occupied by a robot, but also when there is a robot that has reserved to move to the destination first even if the destination is not physically occupied by a robot.
  • the robot-friendly building according to the present invention utilizes technological convergence in which robots, autonomous driving, AI, and cloud technologies are integrated and connected, and can provide a new space in which these technologies, robots, and facility infrastructure provided within the building are organically combined.
  • Figure 12 is a conceptual diagram for explaining a robot control system according to the present invention.
  • the present invention relates to a robot-friendly building, and proposes a robot-friendly building in which people and robots can safely coexist and, further, in which robots can provide useful services within the building.
  • robot friendly refers to a building where robots coexist, and more specifically, it can mean that there is a facility infrastructure built that allows robots to run, that allows robots to provide services, that is usable by robots, or that is built to provide functions necessary for robots (ex: charging, repair, cleaning, etc.).
  • robot friendly in the present invention can be used to mean that there is an integrated solution for coexistence of robots and humans.
  • FIGS. 1, 2 and 3 are conceptual diagrams for explaining a robot-friendly building according to the present invention
  • FIGS. 4, 5 and 6 are conceptual diagrams for explaining a system for controlling a robot that drives a robot-friendly building according to the present invention and various facilities equipped in the robot-friendly building
  • FIGS. 7 and 8 are conceptual diagrams for explaining facility infrastructure equipped in a robot-friendly building according to the present invention.
  • a building is given the drawing symbol “1000”, and a space (indoor space or indoor area) of the building (1000) is given the drawing symbol “10” (see FIG. 8). Furthermore, indoor spaces corresponding to a plurality of floors constituting the indoor space of the building (1000) are given drawing symbols 10a, 10b, 10c, etc. (see FIG. 8).
  • the indoor space or indoor area means the interior of a building protected by an exterior wall as opposed to the exterior of the building, and is not limited to meaning a space.
  • the robot is given a drawing symbol “R”, and even if a drawing symbol is not indicated for the robot in the drawing or specification, it can all be understood as a robot (R).
  • a person or a human is given the drawing symbol “U”, and a person or a human can be named as a dynamic object.
  • the dynamic object does not necessarily mean only a person, but can be understood to include an animal such as a dog or a cat, or at least one other robot (e.g., a user’s personal robot, a robot providing other services, etc.), a drone, a vacuum cleaner (e.g., a robot vacuum cleaner), and other objects capable of movement.
  • the building (building, structure, edifice, 1000) described in the present invention is not limited to a specific type, and may mean a structure built for people to live in, work in, raise animals, or store objects.
  • the building (1000) may be an office, an officetel, an apartment, a multi-use apartment, a house, a school, a hospital, a restaurant, a government office, etc., and the present invention may be applied to these various types of buildings.
  • a robot can move and provide various services.
  • One or more different types of multiple robots may be positioned within the building (1000), and these robots may run within the building (1000), provide services, and utilize various facility infrastructures provided within the building (1000) under the control of the server (20).
  • the location of the server (20) may exist in various ways.
  • the server (20) may be located at least one of the inside of the building (1000) and the outside of the building (1000). That is, at least some of the servers (20) may be located inside the building (1000), and the remaining some may be located outside the building (1000).
  • the servers (20) may be located entirely inside the building (1000), or only outside the building (1000). Accordingly, in the present invention, no particular limitation is placed on the specific location of the server (20).
  • the server (20) may be configured to use at least one of a cloud computing-type server (cloud server, 21) and an edge computing-type server (edge server, 22). Furthermore, in addition to the cloud computing or edge computing methods, the server (20) may be applied to the present invention as long as it is capable of controlling a robot.
  • cloud server 21
  • edge server 22
  • the server (20) may be applied to the present invention as long as it is capable of controlling a robot.
  • the server (20) according to the present invention may, in some cases, perform control of at least one of the robot and the facility infrastructure provided in the building (1000) by combining the server (21) of the cloud computing method and the edge computing method.
  • the robot (R) can be driven according to control commands.
  • the robot (R) can move its position or change its posture by changing its movement, and can perform software updates.
  • the server (20) is uniformly named as a “cloud server” and is given the drawing symbol “20”. Meanwhile, it goes without saying that the cloud server (20) can also be replaced with the term edge server (22) of edge computing.
  • cloud server can be variously changed to terms such as cloud robot system, cloud system, cloud robot control system, and cloud control system.
  • the cloud server (20) can perform integrated control for a plurality of robots running in a building (1000). That is, the cloud server (20) can i) monitor a plurality of robots (R) located in the building (1000), ii) assign tasks (or work) to the plurality of robots, iii) directly control the facility infrastructure provided in the building (1000) so that the plurality of robots (R) successfully perform the tasks, or iv) control the facility infrastructure through communication with a control system that controls the facility infrastructure.
  • the cloud server (20) can check the status information of robots located in the building and provide (or support) various functions required for the robots.
  • various functions may exist, such as a charging function for robots, a cleaning function for contaminated robots, and a standby function for robots whose tasks have been completed.
  • the cloud server (20) can control the robots so that the robots can use various facility infrastructures equipped in the building (1000) to provide various functions to the robots. Furthermore, the cloud server can directly control the facility infrastructure equipped in the building (1000) or control the facility infrastructure through communication with a control system that controls the facility infrastructure to provide various functions to the robots.
  • robots controlled by the cloud server (20) can move around the building (1000) and provide various services.
  • the cloud server (20) can perform various controls based on the information stored in the database, and there is no particular limitation on the type and location of the database in the present invention.
  • the term of the database can be freely modified and used as long as it means a means for storing information, such as memory, storage, storage, cloud storage, external storage, external server, etc.
  • the term “database” will be used for explanation.
  • the cloud server (20) can perform distributed control of robots based on various criteria such as the type of service provided by the robots, the type of control for the robots, etc., and in this case, the cloud server (20) can have sub-servers of lower concept.
  • the mission described below may be a mission to achieve the first type of objective or a mission to achieve the second type of objective.
  • the cloud server (20) can assign a task to the robot and perform a series of controls necessary for the robot to perform the task.
  • a series of controls may include at least one of i) setting a movement path of the robot, ii) specifying a facility infrastructure to be used for moving to a destination where the mission is to be performed, iii) communicating with a specific facility infrastructure, iv) controlling a specific facility infrastructure, v) monitoring the robot performing the mission, vi) evaluating the driving of the robot, and vii) monitoring whether the robot has completed the mission.
  • the cloud server (20) can specify the destination where the robot's mission is to be performed and set a movement path for the robot to reach the destination.
  • the robot (R) can be controlled to move to the destination in order to perform the mission.
  • the cloud server (20) can set a movement path from the location where the robot starts (initiates) performing a task (hereinafter referred to as “task performance start location”) to reach the destination.
  • the location where the robot starts performing a task can be the current location of the robot or the location of the robot at the time when the robot starts performing the task.
  • the movement path may be a movement path from a mission execution start location to a destination where the mission is performed.
  • the present invention relates to a method and system for controlling a robot moving in a building (1000) based on a node map including nodes, and can control the traffic of robots moving to the same destination.
  • a plurality of robots can be located in the building (1000), and these robots can move in the building (1000) and provide services under the control of a cloud server (20).
  • the robot control system (300) can also be referred to as a cloud server (20).
  • Fig. 12 is a conceptual diagram for explaining a robot control system according to the present invention.
  • Figs. 13 and 14 are flowcharts for explaining a robot control method according to the present invention
  • Fig. 15 is a conceptual diagram for explaining a node occupancy state and a node reservation state in the present invention
  • Figs. 16a, 16b, 16c and 17 are conceptual diagrams for explaining a method for controlling the movement of a plurality of robots moving to the same destination
  • Fig. 18 is a conceptual diagram for explaining a map creation interface for robot operation according to the present invention
  • Figs. 12 is a conceptual diagram for explaining a robot control system according to the present invention.
  • Figs. 13 and 14 are flowcharts for explaining a robot control method according to the present invention
  • Fig. 15 is a conceptual diagram for explaining a node occupancy state and a node reservation state in the present invention
  • Figs. 16a, 16b, 16c and 17 are conceptual diagrams for explaining a method for controlling
  • FIG. 19a and 19b are conceptual diagrams for explaining a method for controlling the movement of a plurality of robots according to a priority change in the present invention
  • Fig. 20 is a conceptual diagram for explaining a specific method of a layover node in the present invention.
  • Information about the robot (R) can be very diverse, and for example, information about the robot (R) can include i) identification information for identifying the robot (R) placed in the space (10) (e.g., serial number, TAG information, QR code information, etc.), ii) mission information assigned to the robot (R), iii) movement path (or driving path) information set for the robot (R), iv) location information of the robot (R), v) status information of the robot (R) (e.g., power status, failure status, battery status, etc.), vi) image information received from a camera equipped in the robot (R), etc.
  • identification information for identifying the robot (R) placed in the space (10) e.g., serial number, TAG information, QR code information, etc.
  • mission information assigned to the robot (R) e.g., iii) movement path (or driving path) information set for the robot (R)
  • a map (or map information) for the space (10) can be stored.
  • the map for the space (10) can mean a map that can be used to determine the current location of the robot (R) or to set the movement path of the robot.
  • each of the plurality of nodes may be configured to have one type of node and a second type of node dependent on the first type of node.
  • the first type of node may include a general node
  • the second type of node dependent on the first type of node may include a layover node
  • a layover node is dependent on a general node can be understood as meaning that a layover node can be set to be linked to at least one of a plurality of general nodes.
  • a layover node can be derived from a general node and can be understood as a subnode of the general node. Such a layover node can be co-located based on the general node being allocated in space (or node map).
  • the robot (R) can move from a general node to a layover node subordinate to the general node and wait for the next drive. In this way, by controlling the robot to wait for a control command for the next drive while positioned at a layover node subordinate to the general node, it is possible to prevent it from interfering with or colliding with the driving of another robot moving through the general node.
  • a layover node may be connected to a general node on which the layover node is dependent by an edge.
  • a layover node (812) may be matched with each of a plurality of general nodes (811) allocated to a node map (M) and connected by an edge.
  • a first layover node (812a) may be matched with a first general node (811a) and connected by an edge
  • a second layover node (812b) may be matched with a second general node (811b) and connected by an edge.
  • a general node and a layover node dependent on the general node may include an edge (or edge information) connecting each other.
  • a general node (a node of the first type) is a node associated with the movement of the robot and can be used to configure a robot movement path that allows the robot to move from a starting point to a destination.
  • a general node can include at least one of a starting node, a transit node, an equipment node, an open waiting node, a docking node, and a destination node.
  • a layover node (a second type of node) is a node where a robot temporarily (or temporarily) passes through for robot traffic control.
  • an area (region) including at least one layover node may be named a layover zone.
  • This layover node may be linked to at least one of a plurality of nodes included in the movement path.
  • control unit (330) can be configured to control the overall operation of the robot control system (300) related to the present invention.
  • the control unit (330) can control the driving and behavior (operation) of the robot (R) by processing signals, data, information, etc. input or output through the components discussed above.
  • the control unit (330) can use the node map (M) to generate a movement path from a node corresponding to the current location (starting location) of the robot (R) to another node corresponding to the destination. More specifically, the control unit (330) can specify at least one transit node that the robot (R) must pass through to reach the destination in order to perform a task. The control unit (330) can generate a movement path by connecting the starting node, transit nodes, and the destination node. The control unit (330) can transmit a control command to the robot (R) so that the robot (R) moves according to the generated movement path.
  • the service server (400) may be named variously, such as a courier system, an ordering system, a delivery system, a guide system, a secretary system, a cafe system, and a lunch box system, depending on the type of service.
  • the service server (400) may be configured to perform a series of data processing according to each service. For example, if the service server (400) is a product (or food) ordering system, the service server (400) may receive a product order from a user (customer) (S311, see FIG. 13). Based on the product order being received, the service server (400) may request the robot control system (300) to provide a robot service corresponding to the order.
  • the robot control system (300) can, in response to a service provision request from the service server (400), specify a specific robot (R) among multiple robots located within the building as a robot to perform a task corresponding to the robot service (ex: delivery task) (S312).
  • the robot control system (300) can generate a movement path of a specific robot and control the movement of the robot according to the movement path.
  • the robot control system (300) can check whether the destination node corresponding to the destination is preempted (occupied or reserved) by another robot (S313, see FIG. 13). If the destination node is preempted by another robot, the robot control system (300) can control the driving of a specific robot (R) to a layover node located around the destination node (S314). In addition, the robot control system (300) can continuously monitor the release of the preemption of the destination node (S315).
  • the robot control system (300) can preempt a destination node for a specific robot if the destination node is not preempted by another robot (S316). Then, the robot control system (300) can control the movement of a specific robot (R) so that the specific robot moves to the destination node (S317).
  • a specific robot (R) can move to a destination node under the control of a robot control system (300) and perform a task assigned to the specific robot (R) at the destination node. For example, if the task assigned to the specific robot is a task of delivering goods, the specific robot can complete the delivery task by having the user receive the goods at the destination node (S318).
  • the robot control system (300) can control the movement of a specific robot (R) so that the specific robot (R) moves from a destination node to another node when the specific robot (R) completes its task (S319).
  • the robot control system (300) can release the destination node preemption for the specific robot (R) based on the specific robot (R) leaving the destination node (S320).
  • the robot control system (300) can prevent a situation in which multiple robots moving to the same destination node collide or become deadlocked by controlling a specific robot to pass through a layover node if the destination node is preempted by another robot.
  • a process of generating a movement path of a specific robot can be performed (S410, see FIG. 14).
  • the control unit (330) can generate a movement path from a node where a specific robot is currently located to a destination node by using a node map including a plurality of nodes.
  • a process of controlling a specific robot to move along a movement path may be performed (S420, see FIG. 14).
  • the control unit (330) may transmit driving information including the movement path to a specific robot.
  • a process of checking the occupancy status of a destination node included in a movement path may be performed (S430, see FIG. 14).
  • the occupancy state of the destination node may correspond to either a first state in which the destination node cannot be occupied by a specific robot or a second state in which the destination node can be occupied by a specific robot.
  • the first state may include a state in which the destination node is occupied by a robot (R1) other than a specific robot (R2), or the other robot (R1) has reserved the occupancy of the destination node.
  • the control unit (330) can determine that the destination node (N5) is in a first state already occupied by another robot (R1).
  • the control unit (330) can determine that the destination node (N5) is in the first state reserved by the other robot (R1).
  • the control unit (330) can determine the occupancy status of the destination node (N5) as a first state in which occupancy by a specific robot (R2) is impossible, not only when another robot (R1) is physically located at the destination node (N5), but also when another robot (R1) has made a reservation to occupy the destination node (N5) first (or to move to the destination node (N5) first) even when another robot (R1) is not physically located at the destination node (N5).
  • the second state may correspond to a case where the destination node (N5) is not occupied by another robot (R1) and is not reserved by another robot (R1).
  • the control unit (330) may determine the occupancy state of the destination node (N5) as the second state in which the occupancy of a specific robot (R2) is possible based on the fact that the destination node (N5) is not occupied and not reserved by another robot (R1). In this case, the control unit (330) may continuously control the movement of the specific robot (R2) according to the existing movement path of the specific robot (R2) so that the specific robot (R2) moves to the destination node (N5).
  • the control unit (330) can specify the occupancy status of the destination node as the first status (a status in which occupancy by a specific robot is impossible) based on the destination node (N5) being occupied or reserved by another robot (R1) having a higher priority for the destination node (N5) than a specific robot (R2).
  • the priorities of the robots can be set in various ways.
  • the control unit (330) can determine the priorities of multiple robots for a destination node based on at least one of i) the order of receiving service provision requests, ii) the positions of the robots, iii) the expected arrival time at the destination node, and iv) the level of mission urgency.
  • the control unit (330) can reserve a destination node corresponding to the destination for one robot with the highest priority among multiple robots targeting the same node.
  • the control unit (330) may set the priority of the first robot (R1) assigned a task corresponding to the first service provision request to be higher than the priority of the second robot (R2) assigned a task corresponding to the second service provision request.
  • the execution locations of the task assigned to the first robot (R1) and the task assigned to the second robot may correspond to the same destination node (N5). That is, the control unit (330) may occupy or reserve the destination node for the other robot (R1) based on the fact that the first service provision request was received before the second service provision request.
  • control unit (330) may set the priority of the first robot (R1) to be higher than that of the second robot (R2) if the distance from the destination node of the first robot (R1) is relatively closer than that of the second robot (R2).
  • control unit (330) may set a higher priority to a robot that is expected to arrive at the destination node first, based on the expected arrival times of each of the first robot (R1) and the second robot (R2) at the destination node.
  • the control unit (330) may set the priority of the first robot (R1) to be higher than the priority of the second robot (R2).
  • the control unit (330) can specify the occupancy state of the destination node as the second state (a state in which occupancy by a specific robot is possible). In this case, the control unit (330) can control the specific robot (R2) to continue to drive along the movement path to the destination node (N5) and change the movement path of the other robot (R1) that is occupying or reserving the destination node (N5). This will be described in more detail later.
  • a process of updating a movement path can be performed so that a specific node located around the destination node is included in the movement path based on the occupancy status of the destination node (S440, see FIG. 14).
  • the control unit (330) can update the movement path to include a layover node located around the destination node (N5) if the destination node cannot be occupied by a specific robot (R2).
  • the general nodes (N1 to N9) can be understood as nodes associated with the movement of the robot.
  • the control unit (330) primarily generates a movement path (610) including a plurality of general nodes (N1 to N9) to move the robot from the starting point to the destination.
  • the robot must necessarily pass through at least one general node in order to move from the starting point to the destination.
  • the control unit (330) can generate (or update) the movement path of the robot to include the layover nodes (L1 to L5) secondarily based on the occupancy status of the destination node (N5) being the first state (unoccupied by a specific robot).
  • the robot does not necessarily have to pass through the layover nodes to move from the starting point to the destination, and can pass through the layover nodes flexibly depending on the occupancy status of the destination node (N5).
  • the control unit (330) can perform a reservation for a specific layover node (L3) for a specific robot (R2). Based on the reservation of a specific layover node (L3) for a specific robot (R2), the control unit (330) can control another robot (ex: a third robot, R3) that has the same node as the specific robot (R2) to pass through a different layover node than the specific layover node (L3). That is, the control unit (330) can control the specific robot (R2) to pass through a specific layover node (L3), and control another robot (R3) to pass through a different layover node than the specific layover node (L3).
  • the control unit (330) can transmit a control command including an updated movement path (620) to a specific robot (R2), so that the specific robot (R2) can move to a specific layover node (L3) according to the updated movement path (620).
  • the control unit (330) can transmit a control command (700) including unique information (or identification information, ID, ex: “LayoverZoneIds”: [“pickup-zone-0801”, “pickup-zone-0802”], 710) of a specific layover node located around a destination node (N5) and a transit command (ex: “useLayoverZone”: true, 720) of the specific layover node to the specific robot (R2).
  • control unit (330) can transmit a control command (700) including a non-passage command of a layover node (ex: “useLayoverZone”: false) to a specific robot (R2) if the robot’s movement path does not include a layover node.
  • the control unit (330) can continuously monitor the occupancy status of the destination node (N5) while moving a specific robot (R2) to the layover node (L3). Based on the cancellation of the occupancy and reservation of the destination node (N5), the control unit (330) can determine that the occupancy status of the destination node (N5) has been changed from a first state in which occupancy by a specific robot (R2) is impossible to a second state in which occupancy by a specific robot (R2) is possible.
  • the control unit (330) may determine that the destination node (N5) can be occupied by a specific robot (R2).
  • control unit (330) can determine that the destination node (N5) can be occupied by a specific robot (R2) based on the completion of the task of another robot (R1) that occupies or reserves the destination node (N5). That is, even if the destination node (N5) is occupied by another robot (R1), the control unit (330) can quickly determine that the destination node (N5) can be occupied by a specific robot (R2) based on the completion of the task of another robot (R1) that is about to leave the destination node (N5).
  • the control unit (330) can update the movement path of the specific robot (R2) (third movement path, 630) so that the specific robot (R2) moves from the layover node (L3) to the destination node (N5) based on the transition of the occupancy state of the destination node (N5) to the second state in which the occupancy of the specific robot (R2) is possible. Then, the control unit (330) can control the driving of the specific robot (R2) so that the specific robot (R2) moves to the destination node (N5) along the updated movement path (third movement path, 630).
  • control unit (330) can perform an occupancy reservation for the destination node (N5) for a specific robot (R2). Based on the reservation of the destination node (N5) for the specific robot (R2), the control unit (330) can control another robot (ex: a third robot, R3) that has the same node as the specific robot (R2) to move to the destination node (N5).
  • another robot ex: a third robot, R3 that has the same node as the specific robot (R2) to move to the destination node (N5).
  • a third service provision request is received from the service server (400), and a task corresponding to the third service provision request is assigned to another third robot (R3).
  • the control unit (330) can determine that the node (N5) is still unoccupied by a specific robot (R2) if the destination node (N5) is occupied or reserved by the third robot (R3).
  • control unit (330) can monitor the occupancy status of the destination node (N5) while controlling the specific robot (R2) to continue to be located at the layover node (L3).
  • the control unit (330) can determine that the destination node (N5) can be occupied by the specific robot (R2) based on the fact that the third robot (R3), following the other robots, completes the task assigned to the third robot (R3) at the destination node (N5) and moves to a peripheral node of the destination node (N5).
  • control unit (330) can control such that if a specific robot (R2) has a priority over another robot (R1) for the destination node (N5), the destination node in the first state is switched to the second state, and no update is made to the movement path. Based on the fact that the specific robot (R2) has a priority over another robot (R1), the specific robot (R2) can move to the destination node (N5), and the other robot (R1) can move to the layover node.
  • an editing interface (800) capable of editing a node map corresponding to a space within a building (1000) can be provided to a user (a display unit of a user terminal).
  • the control unit (330) may provide an editing interface (800) including at least a part of a map corresponding to the specific floor (or the specific space) on the display of the user terminal in response to the map editing request.
  • the user may perform node allocation and node type setting for the node map (or the space corresponding to the node map) through the editing interface (800).
  • the editing interface (800) may be named as an “editing screen”, an “editing user graphical interface (GUI)”, an “editing page”, a “map editor”, etc.
  • the editing interface (800) may include at least one of a first area (“map area”, 810) including at least a portion of a node map (M) corresponding to a specific layer (specific space) and a second area (“setting area”, 820) including a function for editing a node assigned to the node map (M).
  • a first area (“map area”, 810) including at least a portion of a node map (M) corresponding to a specific layer (specific space)
  • setting area (“setting area”, 820) including a function for editing a node assigned to the node map (M).
  • the control unit (330) can place at least one node (or node graphic object, 811, 812) on the node map (M) based on a user input for a point of the node map (M) in the first area (810).
  • the control unit (330) can set editing information (or node information) for the nodes (811, 812) based on a user input for the second area (820).
  • the editing information may be diverse.
  • the node information may include at least one of node unique information (identification information or ID, 821), node coordinate information (822), node type information (823), and node area information (or node zone information, 824).
  • the control unit (330) may set some node types among the plurality of nodes (811, 812) allocated to the node map (M) as general nodes (811) and may set other node types as layover nodes (812) based on user input.
  • the control unit (330) may match and connect a specific layover node with a general node adjacent to the specific layover node. For example, the control unit (330) may match and connect a first layover node (812a) with a first general node (811a) and may match and connect a second layover node (812b) with a second general node (811b).
  • the control unit (330) may set an area (zone) including at least one layover node (812) as a layover area.
  • the control unit (330) can update the node map (M) to which nodes are assigned in the cloud server so that the robots (R) can drive on a specific floor according to the type of node assigned on the node map (M).
  • the control unit (330) can, based on the node map updated in the cloud server (20), when multiple robots move to the same destination node, move only one of the multiple robots to the destination node and move the remaining robots to the layover node.
  • the control unit (330) can specify the occupancy state of the destination node as the second state (a state in which occupancy by a specific robot is possible).
  • control unit (330) controls a specific robot (R2) to continue to drive along a movement path to a destination node (N5) and can change the movement path of another robot (R1) that is occupying or reserving the destination node (N5).
  • a task corresponding to the first service provision request is assigned to a first robot (R1), and the movement of the first robot (R1) is controlled along a movement path (first movement path, 900a) that has a destination node (N5) as a destination.
  • the control unit (330) may, in a state where the destination node (N5) is reserved by the first robot (R1), assign a task corresponding to the second service provision request to the second robot (R2) in response to receiving a second service provision request different from the first service provision request from the service server (400).
  • the control unit (330) may set the priority of the second robot (R2) for the destination node (N5) to the highest, and change the priority of the first robot (R1) to a priority following the second robot (R2).
  • control unit (330) can cancel the occupancy or reservation of the first robot (R1) for the destination node (N5).
  • the destination node (N5) can be switched to the second state in which it can be occupied by the second robot (R2) based on the cancellation of the occupancy or reservation of the first robot (R1).
  • the control unit (330) can reserve the occupancy of the destination node by the second robot (R2) based on the switching of the destination node (N5) to the second state.
  • the control unit (330) can update the existing movement path (first movement path, 900a) of the first robot (R1) to a new movement path (second movement path, 900b) so that the first robot (R1) passes through a specific layover node (L3) located around the destination node (N5).
  • the control unit (330) can generate a movement path (920) of the second robot (R2) so that the second robot (R2) moves from the current location to the destination node (N5).
  • the control unit (330) monitors the occupancy status of the destination node (N5) while the first robot (R1) is positioned at the layover node (L3), and based on the occupancy status of the destination node (N5) being a state that can be occupied by the first robot (R1) (for example, the second robot has completed a task at the destination node), the control unit can control the first robot (R1) to move to the destination node (N5).
  • control unit (330) can control a specific robot (R2) to pass through any one of the multiple layover nodes.
  • control unit (330) can specify, among the layover nodes in the first state that cannot be occupied by a specific robot (R2) and the layover nodes in the second state that can be occupied by a specific robot (R2), the layover node in the second state as the layover node through which the specific robot (R2) will pass.
  • control unit (330) can specify, among a plurality of layover nodes having the second state, one of which is located closest to the destination node (N5), as the layover node through which the specific robot (R2) will pass.
  • control unit (330) can specify a layover node that can be occupied by a specific robot (R2) among multiple layover nodes (layover node in the second state) and is located closest to the destination node (N5) as the layover node through which the specific robot (R2) will pass.
  • a first layover node (L3) is located at a first distance (D1) from a destination node (N5)
  • a second layover node (L4) is located at a second distance (D2) from the destination node (N5) that is further than the first distance (D1).
  • the control unit (330) can specify the first layover node (L3) that is located closer to the destination node (N5) as the node that the specific robot (R2) will pass through.
  • the control unit (330) can specify the second layover node (L4) located next closest to the first layover node (L3) from the destination node (N5) as the node through which the specific robot (R2) will pass.
  • the control unit (330) can control the movement of the specific robot (R2) by generating a movement path to the second layover node (L4).
  • the robot control method and system according to the present invention generates a movement path of a specific robot based on a node map, and controls the specific robot to move along the movement path, thereby controlling the robot to move safely, quickly, and accurately within a building.
  • the robot control method and system according to the present invention can check the occupancy status of a destination node included in a movement path, and update the movement path so that a specific node located around the destination node is included in the movement path based on the occupancy status of the destination node.
  • the present invention when a plurality of robots move to the same destination, the plurality of robots are moved to the destination one by one, and other robots are controlled to wait at a layover node, thereby preventing collision and deadlock of the robots.
  • the present invention can efficiently manage the traffic of robots not only when the destination is occupied by a robot, but also when there is a robot that has reserved to move to the destination first even if the destination is not physically occupied by a robot.
  • the present invention discussed above can be implemented as a program that is executed by one or more processes on a computer and can be stored on a medium that can be read by the computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Tourism & Hospitality (AREA)
  • Human Computer Interaction (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 로봇 친화형 건물, 건물을 주행하는 로봇의 제어 방법 및 시스템에 관한 것이다. 보다 구체적으로 본 발명은 같은 공간 속에서 로봇과 사람이 함께 공존하며 사람에게 유용한 서비스를 제공할 수 있도록 하는 로봇 제어 방법 및 시스템에 관한 것이다. 본 발명에 따른 로봇 제어 방법은 복수의 노드(node)를 포함하는 노드 맵(map)에 근거에 기반하여 특정 로봇의 이동 경로를 생성하는 단계, 상기 이동 경로를 따라 상기 특정 로봇이 이동하도록, 상기 특정 로봇을 제어하는 단계, 상기 이동 경로에 포함된 목적지 노드의 점유 상태를 확인하는 단계 및 상기 목적지 노드의 점유 상태에 근거하여, 상기 목적지 노드 주변에 위치하는 특정 노드가 상기 이동 경로 상에 포함되도록, 상기 이동 경로를 업데이트 하는 단계를 포함할 수 있다.

Description

로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
본 발명은 친화형 건물에 적용될 수 있는 로봇 제어 방법 및 시스템에 관한 것이다. 특히 본 발명은 동일 목적지로 이동하는 복수의 로봇들의 트래픽을 제어하는 방법 및 시스템에 관한 것이다.
기술이 발전함에 따라, 다양한 서비스 디바이스들이 나타나고 있으며, 특히 최근에는 다양한 작업 또는 서비스를 수행하는 로봇에 대한 기술 개발이 활발하게 이루어지고 있다.
나아가 최근에는, 인공 지능 기술, 클라우드 기술 등이 발전함에 따라, 로봇을 보다 정밀하고, 안전하게 제어하는 것이 가능해지고 있으며, 이에 따라 로봇의 활용도가 점차적으로 높아지고 있다. 특히, 기술의 발전으로 인하여, 로봇은 실내 공간에서 인간과 안전하게 공존할 수 있을 정도의 수준에 이르렀다.
이에, 최근에는 로봇이 인간의 업무 또는 작업을 대체하고 있으며, 특히 실내 공간에서 사람을 대상으로 로봇이 직접 서비스를 제공하는 다양한 방법들이 활발하게 연구되고 있다.
예를 들어, 공항, 역사, 백화점 등 공공 장소에서는 로봇들이 길안내 서비스를 제공하고 있으며, 음식점에서는 로봇들이 서빙 서비스를 제공하고 있다. 나아가, 오피스 공간, 공동 주거 공간 등에서는 로봇들이 우편물, 택배 등을 배송하는 배송 서비스를 제공하고 있다. 이 밖에도 로봇들은 청소 서비스, 방범 서비스, 물류 처리 서비스 등 다양한 서비스들을 제공하고 있으며, 로봇이 제공하는 서비스의 종류 및 범위는 앞으로도 기하급수적으로 늘어날 것이며, 서비스 제공 수준 또한 계속적으로 발전할 것으로 기대된다.
이러한, 로봇들은 실외 공간 뿐만 아니라, 사무실, 아파트, 백화점, 학교, 병원, 놀이시설 등과 같은 건물(또는 빌딩(building))의 실내 공간 내에서 다양한 서비스를 제공하고 있으며, 이 경우, 로봇들은 건물의 실내 공간을 이동하며 다양한 서비스들을 제공하도록 제어되고 있다.
한편, 건물 내에서 서비스를 제공하기 위하여 로봇의 주행을 제어하는 방법에 대한 연구가 활발하게 진행되고 있다. 대한민국 공개특허 제10-2023-0153788호는 로봇의 자율 주행 경로를 결정하는 방법을 개시하고 있으나, 특정 로봇의 이동 경로에만 초점에 맞춰진 발명으로, 복수의 로봇들이 동일 목적지로 이동하는 경우 로봇들의 충돌 또는 교착 문제가 발생할 수 있다.
이에, 동일 목적지로 이동하는 복수의 로봇들의 트래픽을 제어하는 방법에 대한 니즈가 존재한다.
본 발명은 건물 내에서 주행하는 로봇에 대한 제어 방법 및 시스템을 제공하는 것이다.
특히 본 발명은 동일 목적지로 이동하는 복수의 로봇들을 제어할 수 있는 로봇 제어 방법 및 시스템을 제공하기 위한 것이다.
보다 구체적으로 본 발명은 복수의 로봇들이 순차적으로 동일 목적지로 이동하도록 제어하는 로봇 제어 방법 및 시스템을 제공하기 위한 것이다.
상술한 목적을 달성하기 위하여 본 발명에 따른 로봇 제어 방법은 복수의 노드(node)를 포함하는 노드 맵(map)에 근거에 기반하여 특정 로봇의 이동 경로를 생성하는 단계, 상기 이동 경로를 따라 상기 특정 로봇이 이동하도록, 상기 특정 로봇을 제어하는 단계, 상기 이동 경로에 포함된 목적지 노드의 점유 상태를 확인하는 단계 및 상기 목적지 노드의 점유 상태에 근거하여, 상기 목적지 노드 주변에 위치하는 특정 노드가 상기 이동 경로 상에 포함되도록, 상기 이동 경로를 업데이트 하는 단계를 포함할 수 있다.
나아가 본 발명에 따른 로봇 제어 시스템은, 노드 맵에 기반하여 특정 로봇의 이동 경로를 생성하고, 상기 이동 경로를 따라 상기 특정 로봇이 이동하도록, 상기 특정 로봇을 제어하는 제어부를 포함하고, 상기 제어부는, 상기 이동 경로에 포함된 목적지 노드의 점유 상태를 확인하고, 상기 목적지 노드의 점유 상태에 근거하여, 상기 목적지 노드 주변에 위치하는 특정 노드가 상기 이동 경로 상에 포함되도록, 상기 이동 경로를 업데이트 할 수 있다.
나아가 본 발명에 따른 프로그램은 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장된 프로그램으로서, 복수의 노드(node)를 포함하는 노드 맵(map)에 근거에 기반하여 특정 로봇의 이동 경로를 생성하는 단계, 상기 이동 경로를 따라 상기 특정 로봇이 이동하도록, 상기 특정 로봇을 제어하는 단계, 상기 목적지 노드의 점유 상태에 근거하여, 상기 목적지 노드 주변에 위치하는 특정 노드가 상기 이동 경로 상에 포함되도록, 상기 이동 경로를 업데이트 하는 단계를 수행하는 명령어들을 포함할 수 있다.
본 발명에 따른 로봇 제어 방법 및 시스템은, 노드 맵에 기반하여 특정 로봇의 이동 경로를 생성하고, 상기 이동 경로를 따라 상기 특정 로봇이 이동하도록, 상기 특정 로봇을 제어함으로써, 로봇이 건물 내에서 안전하고, 신속하게, 그리고 정확하게 주행하도록 제어할 수 있다.
나아가 본 발명에 따른 로봇 제어 방법 및 시스템은 이동 경로에 포함된 목적지 노드의 점유 상태를 확인하고, 상기 목적지 노드의 점유 상태에 근거하여, 상기 목적지 노드 주변에 위치하는 특정 노드가 상기 이동 경로 상에 포함되도록, 상기 이동 경로를 업데이트 하는 할 수 있다. 이를 통해 본 발명에서는 동일한 목적지에 복수의 로봇들이 이동하는 경우, 복수의 로봇들 한대씩 차례로 목적지로 이동시키고, 다른 로봇들은 레이오버 노드에 대기하도록 제어함으로써, 로봇의 충돌 및 교착을 방지할 수 있다.
보다 구체적으로, 본 발명에서는 목적지가 로봇에 의해 점유(Occupied)되어 있는 경우는 물론, 목적지가 로봇에 의해 물리적으로 점유되지 않더라도 목적지를 먼저 이동하고자 예약(Reserved)한 로봇이 있는 경우에도, 로봇들의 트래픽을 효율적으로 관리할 수 있다.
나아가, 본 발명에 따른 로봇 친화형 건물은 로봇, 자율주행, AI, 클라우드 기술이 융합되고, 연결되는 테크 컨버전스(Technological Convergence)를 이용하며, 이러한 기술과, 로봇 그리고 건물내 구비되는 설비 인프라가 유기적으로 결합되는 새로운 공간을 제공할 수 있다.
나아가, 본 발명에 따른 로봇 친화형 건물은 다수의 로봇과 연동하는 클라우드 서버를 이용하여, 다수의 로봇 및 설비 인프라를 유기적으로 제어함으로써, 보다 체계적으로 서비스를 제공하는 로봇의 주행을 체계적으로 관리할 수 있다. 이를 통해, 본 발명에 따른 로봇 친화형 건물은, 보다 안전하고, 신속하게, 그리고 정확하게 사람들에게 다양한 서비스를 제공할 수 있다.
도 1, 도 2 및 도 3은 본 발명에 따른 로봇 친화형 건물을 설명하기 위한 개념도들이다.
도 4, 도 5 및 도 6은 본 발명에 따른 로봇 친화형 건물을 주행하는 로봇 및 로봇 친화형 건물에 구비된 다양한 설비를 제어하는 시스템을 설명하기 위한 개념도들이다.
도 7 및 도 8은 본 발명에 따른 로봇 친화형 건물에 구비된 설비 인프라를 설명하기 위한 개념도들이다.
도 9 내지 도 11은 본 발명에 따른 로봇 친화형 건물을 주행하는 로봇의 위치를 추정하는 방법을 설명하기 위한 개념도들이다.
도 12는 본 발명에 따른 로봇 제어 시스템을 설명하기 위한 개념도이다.
도 13 및 도 14는 본 발명에 따른 로봇 제어 방법을 설명하기 위한 흐름도들이다.
도 15는 본 발명에서 노드 점유 상태 및 노드 예약 상태를 설명하기 위한 개념도이다.
도 16a, 도 16b, 도 16c 및 도 17은 동일 목적지로 이동하는 복수의 로봇들의 주행을 제어하는 방법을 설명하기 위한 개념도들이다.
도 18은 본 발명에서 따른 로봇 운용을 위한 맵 생성 인터페이스를 설명하기 위한 개념도이다.
도 19a 및 도 19b는 본 발명에서 우선순위 변경에 따라 복수의 로봇들의 주행을 제어하는 방법을 설명하기 위한 개념도들이다.
도 20은 본 발명에서 레이오버 노드의 특정 방법을 설명하기 위한 개념도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은 로봇 친화형 건물에 관한 것으로서, 사람과 로봇이 안전하게 공존하고, 나아가 건물 내에서 로봇이 유익한 서비스를 제공할 수 있는 로봇 친화형 건물을 제안한다.
보다 구체적으로, 본 발명은 로봇, 로봇 친화 인프라 및 이를 제어하는 다양한 시스템을 이용하여, 사람에게 유용한 서비스를 제공하는 방법을 제공한다. 본 발명에 따른 건물에서는 사람과 다수의 로봇이 공존할 수 있으며, 다수의 로봇이 건물 내에서 자유롭게 이동할 수 있는 다양한 인프라(또는 설비 인프라)가 제공될 수 있다.
본 발명에서, 건물은 지속적인 거주, 생활, 업무 등을 위하여 만들어진 구조물로서, 상업용 건물, 산업용 건물, 기관용 건물, 거주용 건물 등과 같이 다양한 형태를 가질 수 있다. 또한, 상기 건물은 복수의 층을 가진 다층 건물과 이에 반대되는 단층 건물이 될 수 있다. 다만, 본 발명에서는 설명의 편의상 다층 건물에 적용되는 인프라 또는 설비 인프라를 예시로서 설명한다.
본 발명에서, 인프라 또는 설비 인프라는, 서비스 제공, 로봇의 이동, 기능 유지, 청결 유지 등을 위하여 건물에 구비되는 시설로서, 그 종류 및 형태는 매우 다양할 수 있다. 예를 들어, 건물에 구비되는 인프라는 이동 설비(예를 들어, 로봇 이동 통로, 엘리베이터, 에스컬레이터 등), 충전 설비, 통신 설비, 세척 설비, 구조물(예를 들어, 계단 등) 등과 같이 다양할 수 있다. 본 명세서에서는 이러한 설비들은 시설, 인프라, 시설 인프라 또는 설비 인프라로 명명하도록 하며, 경우에 따라 용어를 혼용하여 사용하도록 한다.
나아가, 본 발명에 따른 건물에서는 건물, 건물에 구비된 다양한 설비 인프라 및 로봇 중 적어도 하나가 서로 연동하여 제어됨으로써, 로봇이 안전하고, 정확하게 건물 내에서 다양한 서비스를 제공하도록 이루어질 수 있다.
본 발명은 다수의 로봇이 건물 내에서 주행하고, 임무(또는 업무)에 따른 서비스를 제공하며, 필요에 따라 대기 또는 충전 기능, 나아가 로봇에 대한 수리 및 세척 기능을 지원할 수 있는 다양한 설비 인프라가 구비된 건물을 제안한다. 이러한 건물은 로봇에 대한 통합 솔루션(또는 시스템)을 제공하며, 본 발명에 따른 건물은 다양한 수식어로서 명명될 수 있다. 예를 들어, 본 발명에 따른 건물은, i)로봇이 이용하는 인프라를 구비하는 건물, ii)로봇 친화 인프라를 구비하는 건물, iii)로봇 친화형 건물, iv) 로봇과 사람이 함께 생활하는 건물, v)로봇을 이용한 다양한 서비스를 제공하는 건물과 등과 같이, 다양하게 표현될 수 있다.
한편, 본 발명에서 “로봇 친화”의 의미는, 로봇이 공존하는 건물에 대한 것으로서, 보다 구체적으로, 로봇의 주행을 허용하거나, 로봇이 서비스를 제공하거나, 로봇이 이용 가능한 설비 인프라가 구축되어 있거나, 로봇에게 필요한 기능(ex: 충전, 수리, 세척 등)을 제공하는 설비 인프라가 구축되어 있음을 의미할 수 있다. 이 경우에, 본 발명에서 “로봇 친화”는 로봇과 사람의 공존을 위한 통합 솔루션을 가지고 있다는 의미로 사용될 수 있다.
이하에서는 첨부된 도면과 함께, 본 발명에 대해 보다 구체적으로 살펴본다.
도 1, 도 2 및 도 3은 본 발명에 따른 로봇 친화형 건물을 설명하기 위한 개념도들이고, 도 4, 도 5 및 도 6은 본 발명에 따른 로봇 친화형 건물을 주행하는 로봇 및 로봇 친화형 건물에 구비된 다양한 설비를 제어하는 시스템을 설명하기 위한 개념도들이다. 나아가, 도 7 및 도 8은 본 발명에 따른 로봇 친화형 건물에 구비된 설비 인프라를 설명하기 위한 개념도들이다.
먼저, 설명의 편의를 위하여, 대표적인 도면 부호를 정의하기로 한다.
본 발명에서, 건물은 도면 부호 “1000” 부여하며, 건물(1000)의 공간(실내 공간 또는 실내 영역)은 도면 부호 “10”을 부여한다(도 8참조). 나아가, 건물(1000)의 실내 공간을 구성하는 복수의 층들(floors)에 각각 해당하는 실내 공간은 도면 부호 10a, 10b, 10c등을 부여한다(도 8 참조). 본 발명에서 실내 공간 또는 실내 영역은 건물의 외부와 반대되는 개념으로 외벽에 의하여 보호되는 건물의 내부를 의미하는 것으로서, 공간을 의미하는 것으로 한정되지 않는다.
나아가, 본 발명에서 로봇은 도면 부호 “R”을 부여하며, 도면 또는 명세서에서는 로봇에 대하여 도면 부호를 기입하지 않더라도, 모두 로봇(R)으로 이해되어질 수 있다.
나아가, 본 발명에서 사람 또는 인간은 도면 부호 “U”를 부여하며, 사람 또는 인간은 동적인 객체로서 명명이 가능하다. 이때 동적인 객체는 반드시 사람만을 의미하는 것이 아니라, 강아지, 고양이와 같은 동물 또는 다른 적어도 하나의 로봇(예를 들어, 사용자의 개인 로봇, 다른 서비스를 제공하는 로봇 등), 드론, 청소기(예를 들어, 로봇 청소기)와 같이 움직임이 가능한 사물을 포함하는 의미로 받아들여질 수 있다.
한편, 본 발명에서 설명되는 건물(建物, building, structure, edifice, 1000)은 특별한 종류에 제한을 두지 않으며, 사람이 들어 살거나, 일을 하거나, 동물을 사육하거나, 또는 물건을 넣어 두기 위하여 지은 구조물을 의미할 수 있다.
예를 들어, 건물(1000)은 사무실, 오피스, 오피스텔, 아파트, 주상복합 아파트, 주택, 학교, 병원, 음식점, 관공서 등이 될 수 있으며, 본 발명은 이러한 다양한 종류의 건물들에 적용될 수 있다.
도 1에 도시된 것과 같이, 본 발명에 따른 건물(1000)에서는 로봇이 주행하며 다양한 서비스를 제공할 수 있다.
건물(1000)내에는 하나 또는 그 이상의 서로 다른 종류의 복수의 로봇들이 위치할 수 있으며, 이러한 로봇들은 서버(20)의 제어 하에, 건물(1000) 내를 주행하고, 서비스를 제공하며, 건물(1000)에 구비된 다양한 설비 인프라를 이용할 수 있다.
본 발명에서 서버(20)의 위치는 다양하게 존재할 수 있다. 예를 들어, 서버(20)는 건물(1000)의 내부 및 건물(1000)의 외부 중 적어도 하나에 위치할 수 있다. 즉, 서버(20)의 적어도 일부는 건물(1000)의 내부에 위치하고, 나머지 일부는 건물(1000)의 외부에 위치할 수 있다. 또는, 서버(20)는 건물(1000) 내부에 모두 위치하거나, 건물(1000) 외부에만 위치할 수 있다. 이에, 본 발명에서는, 서버(20)의 구체적인 위치에 대해서는 특별한 한정을 두지 않기로 한다.
나아가, 본 발명에서 서버(20)는 클라우드 컴퓨팅(Cloud Computing) 방식의 서버(클라우드 서버, 21) 및 엣지 컴퓨팅(Edge computing) 방식의 서버(엣지 서버, 22) 중 적어도 하나의 방식을 이용하도록 이루어질 수 있다. 나아가, 서버(20)는 클라우드 컴퓨팅 또는 엣지 컴퓨팅 방식 외에도, 로봇을 제어 가능한 방식이기만 하면 본 발명에 적용될 수 있다.
한편, 본 발명에 따른 서버(20)는 경우에 따라, 클라우드 컴퓨팅(Cloud Computing) 방식의 서버(21) 및 엣지 컴퓨팅(Edge computing) 방식을 혼합하여 로봇 및 건물(1000)내 구비된 설비 인프라 중 적어도 하나에 대한 제어를 수행할 수 있다.
한편, 로봇(R)은 제어 명령에 따라 구동될 수 있다. 예를 들면, 로봇(R)은 움직임을 변경함으로써 위치를 이동하거나 자세를 변경할 수 있으며, 소프트웨어 업데이트를 수행할 수 있다.
본 발명에서는, 설명의 편의를 위하여, 서버(20)를 “클라우드 서버”로 통일하여 명명하도록 하며, 도면 부호 “20”을 부여하도록 한다. 한편, 이러한 클라우드 서버(20)는 엣지 컴퓨팅의 엣지 서버(22)의 용어로도 대체될 수 있음은 물론이다.
나아가, “클라우드 서버”의 용어는 클라우드 로봇 시스템, 클라우드 시스템, 클라우드 로봇 제어 시스템, 클라우드 제어 시스템 등의 용어로 다양하게 변경될 수 있다.
한편, 본 발명에 따른 클라우드 서버(20)는 건물(1000)을 주행하는 복수의 로봇에 대한 통합 제어를 수행하는 것이 가능하다. 즉, 클라우드 서버(20)는 건물(1000)내 위치한 i)복수의 로봇 로봇(R)에 대한 모니터링을 수행하고, ii)복수의 로봇에 대해 임무(또는 업무)를 할당하며, iii)복수의 로봇 로봇(R)이 임무를 성공적으로 수행하도록 건물(1000)내 구비된 설비 인프라를 직접적으로 제어하거나, iv)설비 인프라를 제어하는 제어 시스템과 통신을 통하여 설비 인프라가 제어되도록 할 수 있다.
나아가, 클라우드 서버(20)는 건물에 위치한 로봇들의 상태 정보를 확인하고, 로봇들에 필요한 다양한 기능을 제공(또는 지원)할 수 있다. 여기에서, 다양한 기능은, 로봇들에 대한 충전 기능, 오염된 로봇에 대한 세척 기능, 임무가 완료된 로봇들에 대한 대기 기능 등이 존재할 수 있다.
클라우드 서버(20)는 로봇들에 대해 다양한 기능을 제공하기 위하여, 로봇들이 건물(1000)에 구비된 다양한 설비 인프라를 이용하도록, 로봇들을 제어할 수 있다. 나아가, 클라우드 서버는, 로봇들에 대해 다양한 기능을 제공하기 위하여, 건물(1000)내 구비된 설비 인프라를 직접적으로 제어하거나, 설비 인프라를 제어하는 제어 시스템과 통신을 통하여 설비 인프라가 제어되도록 할 수 있다.
이와 같이, 클라우드 서버(20)에 의해 제어되는 로봇들은 건물(1000)을 주행하며, 다양한 서비스를 제공할 수 있다.
한편, 클라우드 서버(20)는 데이터베이스에 저장된 정보를 근거로, 다양한 제어를 수행할 수 있으며, 본 발명에서 데이터베이스의 종류 및 위치에는 특별한 한정을 두지 않는다. 이러한 데이터베이스의 용어는 메모리, 저장부, 저장소, 클라우드 저장소, 외부 저장소, 외부 서버 등, 정보가 저장되는 수단을 의미하는 용어이면 자유롭게 변형되어 사용되어질 수 있다. 이하에서는 “데이터베이스”의 용어로 통일하여 설명하도록 한다.
한편, 본 발명에 따른 클라우드 서버(20)는 로봇들이 제공하는 서비스의 종류, 로봇에 대한 제어의 종류 등 다양한 기준에 근거하여 로봇에 대한 분산 제어를 수행할 수 있으며, 이 경우, 클라우드 서버(20)에는 하위 개념의 종속적인 서브 서버들이 존재할 수 있다.
나아가, 본 발명에 따른 클라우드 서버(20)는 다양한 인공지능 알고리즘에 근거하여, 건물(1000)을 주행하는 로봇을 제어할 수 있다.
나아가, 클라우드 서버(20)는 로봇을 제어하는 과정에서 수집되는 데이터들을 학습 데이터로서 활용하는 인공지능 기반의 학습을 수행하고, 이를 로봇의 제어에 활용함으로써, 로봇에 대한 제어가 이루어질수록 로봇을 보다 정확하고, 효율적으로 운용할 수 있다. 즉, 클라우드 서버(20)는 딥러닝 또는 머신 러닝을 수행하도록 이루어질 수 있다. 또한, 클라우드 서버(20)는 시뮬레이션 등을 통하여 딥러닝 또는 머신 러닝을 수행하고, 그 결과로서 구축된 인공지능 모델을 이용하여 로봇에 대한 제어를 수행할 수 있다.
한편, 건물(1000)에는 로봇의 주행, 로봇의 기능 제공, 로봇의 기능 유지, 로봇의 임무 수행 또는 로봇과 사람의 공존을 위하여 다양한 설비 인프라가 구비될 수 있다.
예를 들어, 도 1의 (a)에 도시된 것과 같이, 건물(1000) 내에는 로봇(R)의 주행(또는 이동)을 지원할 수 있는 다양한 설비 인프라(1, 2)가 구비될 수 있다. 이러한 설비 인프라(1, 2)는 건물(1000)의 층 내에서 로봇(R)의 수평 방향으로의 이동을 지원하거나, 건물(1000)의 서로 다른 층 사이를 로봇(R)이 이동하도록 수직 방향으로의 이동을 지원할 수 있다. 이와 같이, 상기 설비 인프라(1, 2)는 로봇의 이동을 지원하는 운송체계를 구비할 수 있다. 클라우드 서버(20)는 이러한 다양한 설비 인프라(1, 2)를 이용하도록 로봇(R)을 제어하여, 도 1의 (b)에 도시된 것과 같이, 로봇(R)이 서비스를 제공하기 위하여 건물(1000) 내를 이동하도록 할 수 있다.
한편, 본 발명에 따른 로봇들은 클라우드 서버(20) 및 로봇 자체에 구비된 제어부 중 적어도 하나에 근거하여 제어되어, 건물(1000) 내를 주행하거나, 부여된 임무에 해당하는 서비스를 제공하도록 이루어질 수 있다.
나아가, 도 1의 (c)에 도시된 것과 같이, 본 발명에 따른 건물은 로봇과 사람들이 공존하는 건물로서, 로봇들은 사람(U), 사람이 사용하는 물건(예를 들어 유모차, 카트 등), 동물과 같은 장애물을 피하여 주행하도록 이루어지며, 경우에 따라 로봇의 주행과 관련된 알림 정보(3)를 출력하도록 이루어질 수 있다. 이러한 로봇의 주행은 클라우드 서버(20) 및 로봇에 구비된 제어부 중 적어도 하나의 근거 하에 장애물을 피하도록 이루어질 수 있다. 클라우드 서버(20)는 로봇에 구비된 다양한 센서(예를 들어, 카메라(이미지 센서), 근접 센서, 적외선 센서 등)를 통해 수신되는 정보에 근거하여, 로봇이 장애물을 피하여 건물(1000) 내를 이동하도록 로봇에 대한 제어를 수행할 수 있다.
또한, 도 1의 (a) 내지 (c)의 과정을 거쳐 건물 내를 주행하는 로봇은, 도 1의 (d)에 도시된 것과 같이, 건물 내에 존재하는 사람 또는 타겟 객체에게 서비스를 제공하도록 이루어질 수 있다.
로봇이 제공하는 서비스의 종류는, 로봇 마다 상이할 수 있다. 즉, 로봇은 용도에 따라 다양한 종류가 존재할 수 있으며, 로봇은 용도 마다 상이한 구조를 가지고, 로봇에는 용도에 적합한 프로그램이 탑재될 수 있다.
예를 들어, 건물(1000)에는 배송, 물류 작업, 안내, 통역, 주차지원, 보안, 방범, 경비, 치안, 청소, 방역, 소독, 세탁, 음료 제조, 음식 제조, 서빙, 화재 진압, 의료 지원 및 엔터테인먼트 서비스 중 적어도 하나의 서비스를 제공하는 로봇들이 배치될 수 있다. 로봇들이 제공하는 서비스는 위에서 열거된 예들 외에도 다양할 수 있다.
한편, 클라우드 서버(20)는 로봇들 각각의 용도를 고려하여, 로봇들에게 적절한 임무를 할당하고, 할당된 임무가 수행되도록 로봇들에 대한 제어를 수행할 수 있다.
본 발명에서 설명되는 로봇들 중 적어도 일부는 클라우드 서버(20)의 제어 하에 주행하거나, 임무를 수행할 수 있으며, 이 경우, 로봇 자체에서 주행 또는 임무를 수행하기 위하여 처리되는 데이터의 양은 최소화될 수 있다. 본 발명에서는 이러한 로봇을 브레인리스(brainless) 로봇이라고 명명할 수 있다. 이러한 브레인리스 로봇은, 건물(1000) 내에서 주행, 임무 수행, 충전 수행, 대기, 세척 등의 행위를 하는데 있어서, 적어도 일부의 제어를 클라우드 서버(20)의 제어에 의존할 수 있다.
다만, 본 명세서에서는 브레인 리스 로봇을 구분하여 명명하지 않고, 모두 “로봇”으로 통일하여 명명하도록 한다.
이하에서는, 위에서 살펴본 건물(1000), 건물 시스템(1000a), 설비 인프라(200), 클라우드 서버(20)의 내용을 참고하여, 로봇(R)이 설비 인프라(200)를 이용하는 과정에 대하여 보다 구체적으로 살펴본다. 이때, 로봇(R)은, 임무 수행(또는 서비스 제공), 주행, 충전, 청결 유지, 대기 등의 목적으로, 건물(1000)의 실내 공간(10)(10)을 주행거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.
이와 같이, 로봇(R)은 어떠한 “목적”에 근거하여, “목적”을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.
이때, 로봇이 달성해야할 목적은 다양한 원인에 근거하여 특정될 수 있다. 로봇이 달성해야 할 목적은, 제1 타입의 목적과 제2 타입의 목적이 존재할 수 있다.
여기에서, 제1 타입의 목적은 로봇이 로봇 본연의 임무를 수행하기 위한 것이고, 제2 타입의 목적은 로봇이 로봇 본연의 임무 외의 임무 또는 기능을 수행하기 위한 것일 수 있다.
즉, 제1 타입에 따른 로봇이 달성해야하는 목적은, 로봇 본연의 임무를 수행하기 위한 목적일 수 있다. 이러한 목적은, 로봇의 “임무(task)”라고도 이해되어질 수 있다.
예를 들어, 로봇이 서빙 서비스를 제공하는 로봇인 경우, 로봇은 서빙 서비스를 제공하기 위한 목적 또는 임무을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다. 또한, 로봇이 길 안내 서비스를 제공하는 로봇인 경우, 로봇은 길 안내 서비스를 제공하기 위한 목적 또는 임무을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.
한편, 본 발명에 따른 건물에는 서로 다른 목적에 따른 운용되는 복수의 로봇이 위치할 수 있다. 즉, 건물에는 서로 다른 임무를 수행가능한 서로 다른 로봇들이 배치될 수 있으며, 이는 건물의 관리자, 건물에 입주한 다양한 주체들의 필요에 의하여, 건물에는 서로 다른 종류의 로봇들이 배치될 수 있다.
예를 들어, 건물에는 배송, 물류 작업, 안내, 통역, 주차지원, 보안, 방범, 경비, 치안, 청소, 방역, 소독, 세탁, 음료 제조, 음식 제조, 서빙, 화재 진압, 의료 지원 및 엔터테인먼트 서비스 중 적어도 하나의 서비스를 제공하는 로봇들이 배치될 수 있다. 로봇들이 제공하는 서비스는 위에서 열거된 예들 외에도 다양할 수 있다.
한편, 제2 타입의 목적은 로봇이 로봇 본연의 임무 외의 임무 또는 기능을 수행하기 위한 것으로서, 이는, 로봇 본연의 임무와 관련 없는 목적일 수 있다. 이러한 제2 타입의 목적은, 로봇이 로봇 본연의 임무를 수행하는 것과 직접적으로 연관되지는 않으나, 간접적으로 필요한 임무 또는 기능일 수 있다.
예를 들어, 로봇이 본연의 임무 수행을 위해서는, 동작에 필요한 충분한 전원이 필요하고, 로봇이 사람들에게 쾌적한 서비스를 제공하기 위해서는 청결을 유지해야 한다. 나아가, 복수의 로봇이 건물 내에서 효율적으로 운용되기 위해서는, 때로는 일정한 공간에서 대기하는 상황이 존재할 수 있다.
이와 같이, 본 발명에서 로봇은 제2 타입의 목적을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.
예를 들어, 로봇은 충전 기능에 따른 목적을 달성하기 위하여, 충전 설비 인프라를 이용할 수 있고, 세척 기능에 따른 목적을 달성하기 위하여 세척 설비 인프라를 이용할 수 있다.
이와 같이, 본 발명에서 로봇은 어떠한 목적을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.
한편, 클라우드 서버(20)는 데이터베이스(database) 상에 저장된 건물에 위치한 복수의 로봇들 각각에 대응되는 정보에 근거하여, 건물 내 위치한 로봇들 각각에 대한 적절한 제어를 수행할 수 있다.
한편, 데이터베이스 상에는 건물 내 위치한 복수의 로봇 각각에 대한 다양한 정보가 저장될 수 있으며, 로봇(R)에 대한 정보는 매우 다양할 수 있다. 일 예로서, i)공간(10)에 배치된 로봇(R)을 식별하기 위한 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등), ii)로봇(R)에 부여된 임무 정보(예를 들어, 임무의 종류, 임무에 따른 동작, 임무의 대상이 되는 타겟 유저 정보, 임무 수행 장소, 임무 수행 예정 시간 등), iii)로봇(R)에 설정된 주행 경로 정보, iv)로봇(R)의 위치 정보, v)로봇(R)의 상태 정보(예를 들어, 전원 상태, 고장 유무, 세척 상태, 배터리 상태 등), vi)로봇(R)에 구비된 카메라로부터 수신된 영상 정보, vii) 로봇(R)의 동작과 관련된 동작 정보 등이 존재할 수 있다.
한편, 로봇들에 대한 적절한 제어는, 앞서 살펴본 제1 타입의 목적 또는 제2 타입의 목적에 따라 로봇을 운용하는 제어와 관련된 것일 수 있다.
여기에서, 로봇의 운용은 로봇이 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용하도록 하는 제어를 의미할 수 있다.
로봇의 이동은 로봇의 주행으로 지칭될 수 있으며, 따라서 본 발명에서 이동 경로와 주행 경로는 혼용되어 사용될 수 있다.
클라우드 서버(20)는 데이터베이스에 저장된 로봇 각각에 대한 정보에 근거하여, 로봇들 각각의 용도(또는 본연의 임무)에 따라 로봇들에게 적절한 임무를 할당하고, 할당된 임무가 수행되도록 로봇들에 대한 제어를 수행할 수 있다. 이때 할당되는 임무는 앞서 살펴본 제1 타입의 목적을 달성하기 위한 임무일 수 있다.
나아가, 클라우드 서버(20)는 데이터베이스에 저장된 로봇 각각에 대한 정보에 근거하여, 로봇들 각각에 제2 타입의 목적을 달성하기 위한 제어를 수행할 수 있다.
이때, 클라우드 서버(20)로부터 제2 타입의 목적을 달성하기 위한 제어명령을 수신한 로봇은, 제어 명령에 근거하여, 충전 설비 인프라로 이동하거나, 세척 설비 인프라 등으로 이동하여, 제2 타입의 목적을 달성할 수 있다.
한편, 이하에서는, 제1 타입 또는 제2 타입의 목적을 구분하지 않고, “목적” 또는 “임무”의 용어를 사용하도록 한다. 이하에서 설명되는 목적은, 제1 타입의 목적 또는 제2 타입의 목적 중 어느 하나일 수 있다.
마찬가지로, 이하에서 설명되는 임무 역시, 제1 타입의 목적을 달성하기 위한 임무 또는 제2 타입의 목적을 달성하기 위한 임무일 수 있다.
예를 들어, 서빙 서비스 제공이 가능한 로봇이 존재하고, 서빙할 대상(타겟 유저(target user))이 존재하는 경우, 클라우드 서버(20)는 로봇이 타겟 유저에게 서빙에 대응하는 임무를 수행하도록, 로봇에 대한 제어를 수행할 수 있다.
또 다른 예를 들어, 충전이 필요한 로봇이 존재하는 경우, 클라우드 서버(20)는 로봇이 충전에 해당하는 임무를 수행하도록, 충전 설비 인프라로 로봇이 이동하도록 하는 제어를 수행할 수 있다.
이에, 이하에서는, 제1 타입의 목적 또는 제2 타입의 목적에 대한 구분 없이, 클라우드 서버(20)의 제어 하에, 로봇이 설비 인프라(200)를 이용하여 목적 또는 임무을 수행하는 방법에 대하여 보다 구체적으로 살펴본다. 한편, 본 명세서에서 클라우드 서버(20)는 임무를 수행하기 위하여 클라우드 서버(20)에 의해 제어 되는 로봇은 “타겟 로봇”으로 명명되는 것 또한 가능하다.
클라우드서 서버(20)는 요청 또는 자체적인 판단하에, 임무를 수행할 적어도 하나의 로봇을 특정할 수 있다.
여기에서, 요청은 다양한 주체로부터 수신되는 것이 가능하다. 예를 들어, 클라우드 서버는 건물에 위치한 방문객, 관리자, 입주민, 근로자 등과 같은 다양한 주체로부터 다양한 방식(예를 들어, 전자기기를 통한 사용자 입력, 제스처 방식의 사용자 입력)으로 요청을 수신할 수 있다. 여기에서, 요청은 로봇에 의해 특정 서비스(또는 특정 임무)가 제공되도록 하는 서비스 요청일 수 있다.
클라우드 서버(20)는 이러한 요청에 기반하여, 건물(1000)내 위치한 복수의 로봇 중 해당 서비스를 수행 가능한 로봇을 특정할 수 있다. 클라우드 서버(20)는 i)로봇이 수행 가능한 서비스 종류, ii)로봇이 기 할당받은 임무, iii)로봇의 현재 위치, iv)로봇의 상태(ex: 전원 상태, 청결 상태, 배터리 상태 등)에 근거하여, 상기 요청에 대응 가능한 로봇을 특정할 수 있다. 앞서 살펴본 것과 같이, 데이터베이스 상에는 로봇 각각에 대한 다양한 정보 존재하며, 클라우드 서버(20)는 이러한 데이터베이스에 근거하여, 상기 요청에 기반하여 임무를 수행할 로봇을 특정할 수 있다.
나아가, 클라우드 서버(20)는 자체적인 판단에 근거하여, 임무를 수행할 적어도 하나의 로봇을 특정할 수 있다.
여기에서, 클라우드 서버(20)는 다양한 원인에 근거하여 자체적인 판단을 수행할 수 있다.
일 예로서, 클라우드 서버(20)는, 건물(1000)내에 존재하는 특정 사용자 또는 특정 공간에 서비스의 제공이 필요한지를 판단할 수 있다. 클라우드 서버(20)는 건물(1000)에 존재하는 센싱부(120, 도 4 내지 도 6 참조), 설비 인프라(200)에 포함된 센싱부 및 로봇에 구비된 센싱부 중 적어도 하나로부터 센싱 및 수신된 정보에 기반하여, 서비스의 제공이 필요한 특정 대상을 추출할 수 있다.
여기에서, 특정 대상은, 사람, 공간 또는 객체 중 적어도 하나를 포함할 수 있다. 객체는, 건물(1000)내 위치하는 시설물, 물체 등을 의미할 수 있다. 그리고, 클라우드 서버(20)는 추출된 특정 대상에게 필요한 서비스의 종류를 특정하고, 특정 대상에게 특정 서비스가 제공되도록 로봇을 제어할 수 있다.
이를 위하여, 클라우드 서버(20)는 특정 대상에게 특정 서비스를 제공할 적어도 하나의 로봇을 특정할 수 있다.
클라우드 서버(20)는 다양한 판단 알고리즘에 근거하여, 서비스의 제공이 필요한 대상을 판단할 수 있다. 예를 들어, 클라우드 서버(20)는 건물(1000)에 존재하는 센싱부(120, 도 4 내지 도 6 참조), 설비 인프라(200)에 포함된 센싱부 및 로봇에 구비된 센싱부 중 적어도 하나로부터 센싱 및 수신된 정보에 근거하여, 길 안내, 서빙, 계단 이동 등과 같이 서비스의 종류를 특정할 수 있다. 그리고, 클라우드 서버(20)는 해당 서비스가 필요한 대상을 특정할 수 있다. 나아가, 클라우드 서버(20)는 로봇에 의한 서비스가 제공이 제공되도록, 특정된 서비스의 제공이 가능한 로봇을 특정할 수 있다.
나아가, 클라우드 서버(20)는 다양한 판단 알고리즘에 근거하여, 서비스의 제공이 필요한 특정 공간을 판단할 수 있다. 예를 들어, 클라우드 서버(20)는 건물(1000)에 존재하는 센싱부(120, 도 4 내지 도 6 참조), 설비 인프라(200)에 포함된 센싱부 및 로봇에 구비된 센싱부 중 적어도 하나로부터 센싱 및 수신된 정보에 근거하여, 배송의 타겟 유저, 안내가 필요한 게스트, 오염된 공간, 오염된 시설물, 화재 구역 등과 같이 서비스의 제공이 필요한 특정 공간 또는 객체를 추출하고, 해당 특정 공간 또는 객체에 로봇에 의한 서비스가 제공되도록, 해당 서비스 제공이 가능한 로봇을 특정할 수 있다.
이와 같이, 특정 임무(또는 서비스)를 수행할 로봇이 특정되면, 클라우드 서버(20)는 로봇에 임무를 할당하고, 로봇이 임무를 수행하기 위하여 필요한 일련의 제어를 수행할 수 있다.
이때, 일련의 제어는 i)로봇의 이동 경로 설정, ii)임무가 수행될 목적지까지 이동하는데 이용되어야 할 설비 인프라 특정, iii)특정된 설비 인프라와의 통신, iv)특정된 설비 인프라에 대한 제어, v)임무를 수행하는 로봇 모니터링, vi)로봇의 주행에 대한 평가, vii)로봇의 임무 수행 완료여부 모니터링 중 적어도 하나를 포함할 수 있다.
클라우드 서버(20)는 로봇의 임무가 수행될 목적지를 특정하고, 로봇이 해당 목적지에 도달하기 위한 이동 경로를 설정할 수 있다. 로봇(R)은 클라우드 서버(20)에 의해 이동 경로가 설정되면, 임무의 수행을 위하여, 해당 목적지까지 이동하도록 제어될 수 있다.
한편, 클라우드 서버(20)는 로봇이 임무 수행을 시작(개시)하는 위치(이하, “임무 수행 시작 위치”로 명명함)부터 목적지까지 도달하기 위한 이동 경로를 설정할 수 있다. 여기에서, 로봇이 임무 수행을 시작하는 위치는 로봇의 현재 위치이거나, 로봇이 임무 수행을 시작하는 시점에서의 로봇의 위치일 수 있다.
클라우드 서버(20)는, 건물(1000)의 실내 공간(10)에 대응되는 지도(map, 또는 지도 정보))에 근거하여, 임무를 수행할 로봇의 이동 경로를 생성할 수 있다.
여기에서, 지도는, 건물의 실내 공간을 구성하는 복수의 층(10a, 10b, 10c, …) 각각의 공간에 대한 지도 정보를 포함할 수 있다.
나아가, 이동 경로는, 임무 수행 시작 위치로부터, 임무가 수행되는 목적지까지의 이동 경로 일 수 있다.
본 발명에서는 이러한 지도 정보와 이동 경로에 대하여, 실내 공간에 대한 것으로 설명하나, 본 발명은 반드시 이에 한정되는 것은 아니다. 예를 들어, 지도 정보는 실외 공간의 정보를 포함할 수 있으며, 이동 경로는 실내 공간에서 실외 공간까지 이어지는 경로가 될 수 있다.
본 발명은 노드(node)를 포함하는 노드 맵(map)에 근거하여 건물(1000)을 주행하는 로봇을 제어하는 방법 및 시스템에 관한 것으로, 동일 목적지로 이동하는 로봇들의 트래픽(traffic)을 제어할 수 있다. 본 발명에서 건물(1000) 내에는 복수의 로봇들이 위치할 수 있으며, 이러한 로봇들은 클라우드 서버(20)의 제어 하에 건물(1000) 내를 주행하고 서비스를 제공할 수 있다. 이에 로봇 제어 시스템(300)은 클라우드 서버(20)로도 명명될 수 있다.
이하에서는 첨부된 도면과 함께 로봇들의 트래픽을 제어하는 방법에 대해 보다 자세하게 설명하도록 한다. 도 12는 본 발명에 따른 로봇 제어 시스템을 설명하기 위한 개념도이다. 도 13 및 도 14는 본 발명에 따른 로봇 제어 방법을 설명하기 위한 흐름도들이고, 도 15는 본 발명에서 노드 점유 상태 및 노드 예약 상태를 설명하기 위한 개념도이고, 도 16a, 도 16b, 도 16c 및 도 17은 동일 목적지로 이동하는 복수의 로봇들의 주행을 제어하는 방법을 설명하기 위한 개념도들이고, 도 18은 본 발명에서 따른 로봇 운용을 위한 맵 생성 인터페이스를 설명하기 위한 개념도이고, 도 19a 및 도 19b는 본 발명에서 우선순위 변경에 따라 복수의 로봇들의 주행을 제어하는 방법을 설명하기 위한 개념도들이며, 도 20은 본 발명에서 레이오버 노드의 특정 방법을 설명하기 위한 개념도이다.
도 12에 도시된 것과 같이 본 발명에 따른 로봇 제어 시스템(300)은 통신부(310), 저장부(320) 및 제어부(330) 중 적어도 하나를 포함하도록 이루어질 수 있다.
통신부(310)는, 공간(10)에 배치된 다양한 디바이스와 유선 또는 무선으로 통신하도록 이루어질 수 있다. 통신부(310)는 도시와 같이 건물 내(1000)에 위치하는 적어도 하나의 로봇(R)과 통신할 수 있다. 통신부(310)는 로봇(R)과의 통신을 통해, 로봇(R)으로 로봇(R)을 제어하는 제어 명령을 전송하도록 이루어질 수 있다.
통신부(310)는 통신하는 디바이스의 통신 규격에 따라 다양한 통신 방식을 지원할 수 있다. 예를 들어, 통신부(310)는, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 5G(5th Generation Mobile Telecommunication ), 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra-Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 공간(20) 내외에 위치한 디바이스(클라우드 서버 포함)와 통신하도록 이루어질 수 있다.
다음으로 저장부(320)는, 본 발명과 관련된 다양한 정보를 저장하도록 이루어질 수 있다. 본 발명에서 저장부(320)는 로봇 제어 시스템(300) 자체에 구비될 수 있다. 이와 다르게, 저장부(320)의 적어도 일부는, 클라우드 서버(20)에 포함된 데이터베이스(20a)를 의미할 수 있다. 즉, 저장부(320)는 본 발명에 따른 로봇 관제를 위하여 필요한 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. 이에, 이하에서는, 저장부(320)와 데이터베이스(20a)를 별도로 구분하지 않고, 모두 저장부(320)라고 표현하도록 한다. 이때, 데이터베이스(20a)는, “클라우드 저장소”를 의미할 수 있다.
저장부(320)에는, 로봇(R)에 대한 정보가 저장될 수 있다.
로봇(R)에 대한 정보는 매우 다양할 수 있으며, 예를 들어 로봇(R)에 대한 정보는 i)공간(10)에 배치된 로봇(R)을 식별하기 위한 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등), ii)로봇(R)에 부여된 임무 정보, iii)로봇(R)에 설정된 이동 경로(또는 주행 경로) 정보, iv)로봇(R)의 위치 정보, v)로봇(R)의 상태 정보(예를 들어, 전원 상태, 고장 유무, 배터리 상태 등), vi)로봇(R)에 구비된 카메라로부터 수신된 영상 정보 등이 존재할 수 있다.
저장부(320)에는, 공간(10)에 대한 지도(map, 또는 지도 정보)가 저장될 수 있다. 공간(10)에 대한 지도는 로봇(R)의 현재 위치를 파악하거나, 로봇의 이동 경로를 설정하는데 활용될 수 있는 지도를 의미할 수 있다.
저장부(320)에 저장된 지도 정보는 복수의 노드(node)를 포함하는 노드 맵(M)에 해당될 수 있다. 저장부(320)에는 노드 마다의 노드 타입(또는 노드 속성)을 정의하는 타입 정보(속성 정보)가 존재할 수 있다.
본 발명에서 복수의 노드 각각은, 1 타입의 노드 및 1 타입의 노드에 종속되는 제2 타입의 노드 중 어느 하나의 타입을 갖도록 이루어질 수 있다.
구체적으로, 제1 타입의 노드는 일반 노드를 포함할 수 있고, 제1 타입의 노드에 종속되는 제2 타입의 노드는 레이오버 노드(Layover Node)를 포함할 수 있다.
여기에서, 레이오버 노드가 일반 노드에 종속된다는 것은, 복수의 일반 노드 중 적어도 하나에 레이오버 노드가 연계되어 설정될 수 있는 것으로 이해될 수 있다. 본 발명에서 레이오버 노드는 일반 노드로부터 파생될 수 있으며, 일반 노드의 서브 노드로 이해될 수 있다. 이러한 레이오버 노드는 일반 노드가 공간(또는 노드맵) 상에 할당되어 있는 근거하여 함께 위치할 수 있다.
본 발명에서 로봇(R)은 일반 노드로부터, 상기 일반 노드에 종속된 레이오버 노드로 이동하여, 다음 주행을 대기할 수 있다. 이처럼 로봇이 일반 노드에 종속된 레이오버 노드에 위치한 상태에서 다음 주행을 위한 제어 명령을 대기하도록 제어함으로써, 일반 노드를 이동하는 다른 로봇의 주행을 방해하거나 충돌하지 않도록 할 수 있다.
레이오버 노드는, 상기 레이오버 노드가 종속된 일반 노드와 엣지로 연결될 수 있다. 예를 들어, 도 18에 도시된 것과 같이, 노드 맵(M)에 할당된 복수의 일반 노드(811) 각각에는 레이오버 노드(812)가 매칭되어 엣지로 연결될 수 있다. 보다 구체적으로, 제1 레이오버 노드(812a)는 제1 일반 노드(811a)와 서로 매칭되어 엣지로 연결되고, 제2 레이오버 노드(812b)는 제2 일반 노드(811b)와 매칭되어 엣지로 연결될 수 있다. 이 경우, 일반 노드와, 상기 일반 노드에 종속된 레이오버 노드는 서로를 연결하는 엣지(또는 엣지 정보)를 포함할 수 있다.
한편, 일반 노드(제1 타입의 노드)는 로봇의 주행에 연계된 노드로, 출발지에서 목적지까지 로봇이 이동하도록 하는 로봇의 이동 경로 구성에 이용될 수 있다. 예를 들어, 일반 노드에는, 출발 노드, 경유 노드, 설비 노드, 개방 대기 노드, 도킹 노드, 목적지 노드 중 적어도 하나가 포함될 수 있다.
레이오버 노드(제2 타입의 노드)는 로봇들 트래픽 제어를 위해 로봇이 잠시(또는 임시로) 거치는 노드로, 본 발명에서는 적어도 하나의 레이오버 노드를 포함하는 구역(영역)을 레이오버 구역(Layover Zone)으로 명명할 수 있다. 이러한 레이오버 노드는 이동 경로에 포함된 복수의 노드 중 적어도 하나에 연계될 수 있다.
다음으로 제어부(330) 본 발명과 관련된 로봇 제어 시스템(300)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(330)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하여 로봇(R)의 주행 및 행동(동작)을 제어할 수 있다.
제어부(330)는 노드 맵(M)을 이용하여, 로봇(R)의 현재 위치(출발 위치)에 대응되는 노드로부터 목적지에 대응되는 다른 노드까지의 이동 경로를 생성할 수 있다. 보다 구체적으로 제어부(330)는 로봇(R)이 임무 수행을 위해 목적지에 도달하기 위하여 경유해야 하는 적어도 하나의 경유 노드를 특정할 수 있다. 제어부(330)는 출발 노드, 경유 노드들 및 목적지 노드를 연결하여 이동 경로를 생성할 수 있다. 제어부(330)는 생성된 이동 경로에 따라 로봇(R)이 주행하도록 로봇(R)에 대한 제어 명령을 전송할 수 있다.
본 발명에 따른 로봇 제어 시스템(300)은 적어도 하나의 서비스 서버(또는 외부 서버, 400)와의 연동하여, 다양한 로봇 서비스(ex: 주문 서비스, 배달 서비스, 택배 서비스 등)를 제공할 수 있다.
서비스 서버(400)는 서비스 종류에 따라, 택배 시스템, 주문 시스템, 배송 시스템, 안내 시스템, 비서 시스템, 카페 시스템, 도시락 시스템 등 다양하게 명명될 수 있다. 서비스 서버(400)는 각 서비스에 따라, 일련의 데이터 처리를 수행하도록 이루어질 수 있다. 예를 들어, 서비스 서버(400)가 물품(또는 음식) 주문 시스템이면, 서비스 서버(400)는 사용자(고객)으로부터 물품 주문 접수를 수신할 수 있다(S311, 도 13 참조). 서비스 서버(400)는 물품 주문이 접수된 것에 근거하여, 로봇 제어 시스템(300)으로 주문 접수에 대응되는 로봇 서비스 제공을 요청할 수 있다.
로봇 제어 시스템(300)은 서비스 서버(400)의 서비스 제공 요청에 응답하여 건물 내 위치하는 복수의 로봇 중 특정 로봇(R)을, 로봇 서비스에 대응되는 임무(ex: 배송 임무)를 수행할 로봇으로 특정할 수 있다(S312). 로봇 제어 시스템(300)은, 특정 로봇의 이동 경로를 생성하고 이동 경로에 따라 로봇의 주행을 제어할 수 있다.
보다 구체적으로 로봇 제어 시스템(300)은 목적지에 대응되는 목적지 노드가, 다른 로봇에 의해 선점(점유 또는 예약) 중인지를 확인할 수 있다(S313, 도 13 참조). 로봇 제어 시스템(300)은 목적지 노드가 다른 로봇에 의해 선점됨 상태이면, 목적지 노드 주변에 위치하는 레이오버 노드(Layover Node)로, 특정 로봇(R)의 주행을 제어할 수 있다(S314). 그리고 로봇 제어 시스템(300)은 목적지 노드의 선점 해제를 계속해서 모니터링할 수 있다(S315).
반면에, 로봇 제어 시스템(300)은 목적지 노드가 다른 로봇에 의해 선점된 상태가 아니면, 특정 로봇을 위해 목적지 노드를 선점할 수 있다(S316). 그리고 로봇 제어 시스템(300)은 목적지 노드로 특정 로봇(R)이 이동하도록, 특정 로봇의 주행을 제어할 수 있다(S317).
특정 로봇(R)은 로봇 제어 시스템(300)의 제어하에, 목적지 노드로 이동하고, 목적지 노드에서 특정 로봇(R)에 할당된 임무를 수행할 수 있다. 예를 들어, 특정 로봇에 할당된 임무가 물품 배송 임무이면, 특정 로봇은 목적지 노드에서 사용자가 물품을 수령하도록 함으로써, 배송 임무를 완료할 수 있다(S318).
로봇 제어 시스템(300)은 특정 로봇(R)의 임무 수행이 완료되면, 특정 로봇(R)이 목적지 노드에서 다른 노드로 이동하도록 특정 로봇(R)의 주행을 제어할 수 있다(S319). 로봇 제어 시스템(300)은 특정 로봇(R)이 목적지 노드를 벗어나는 것에 근거하여, 특정 로봇을 위한 목적지 노드 선점을 해제할 수 있다(S320).
로봇 제어 시스템(300)은 목적지 노드가 다른 로봇에 의해 선점되어 있으면 특정 로봇이 레이오버 노드를 경유하도록 제어함으로써, 동일 목적지 노드로 이동한 복수의 로봇이 충돌하거나 교착되는 상황을 사전에 방지할 수 있다.
이하에서는 첨부된 도면과 함께, 로봇이 레이오버 노드를 경유하여 목적지 노드로 이동하도록 제어하는 방법에 대해 설명하도록 한다. 설명의 편의를 위하여, 다른 로봇(또는 제1 로봇으로 명명 가능)에는 도면 부호 “R1”을 부여하고, 특정 로봇(또는 제2 로봇으로 명명 가능)에는 도면 부호 “R2”를 부여하여 설명할 수 있다.
본 발명에서는 특정 로봇의 이동 경로를 생성하는 과정이 진행될 수 있다(S410, 도 14 참조). 제어부(330)는 복수의 노드를 포함하는 노드 맵을 이용하여, 특정 로봇이 현재 위치하는 노드로부터 목적지 노드까지의 이동 경로를 생성할 수 있다.
본 발명에서는 이동 경로를 특정 로봇이 이동하도록, 특정 로봇을 제어하는 과정이 진행될 수 있다(S420, 도 14 참조). 제어부(330)는 이동 경로를 포함하는 주행 정보를 특정 로봇으로 전송할 수 있다.
나아가 본 발명에서는 이동 경로에 포함된 목적지 노드의 점유 상태를 확인하는 과정이 진행될 수 있다(S430, 도 14 참조).
본 발명에서 목적지 노드의 점유 상태는 특정 로봇에 의해 목적지 노드 점유가 불가능한 제1 상태 및 특정 로봇에 의해 목적지 노드 점유가 가능한 제2 상태 중 어느 하나에 해당될 수 있다.
제1 상태는 특정 로봇(R2)과는 다른 로봇(R1)에 의해 목적지 노드가 점유(Occupied)되었거나, 상기 다른 로봇(R1)이 목적지 노드의 점유를 예약(Reserved)한 상태를 포함할 수 있다.
예를 들어, 도 15의 (a)에 도시된 것과 같이, 목적지 노드(N5)를 기준으로 일정 오차 범위 영역(520) 내에 다른 로봇(R1)이 위치하면, 제어부(330)는 목적지 노드(N5)가 다른 로봇(R1)에 의해 이미 점유 중인 제1 상태인 것으로 판단할 수 있다.
다른 예를 들어, 도 15의 (b)에 도시된 것과 같이, 목적지 노드(N5)에 다른 로봇(R1)이 위치하지는 않지만, 다른 로봇(R1)이 해당 노드(N5)를 목적지로 하여 주행하면서 점유를 예약한 경우, 제어부(330)는 목적지 노드(N5)가 다른 로봇(R1)에 의해 예약된 제1 상태인 것으로 판단할 수 있다.
제어부(330)는 목적지 노드(N5)에 다른 로봇(R1)이 물리적으로 위치하는 경우 뿐만 아니라, 목적지 노드(N5)에 다른 로봇(R1)이 물리적으로 위치하지 않더라도 다른 로봇(R1)이 목적지 노드(N5)를 먼저 점유(또는 목적지 노드(N5)로 먼저 이동)하고자 예약한 경우에는 목적지 노드(N5)의 점유 상태를, 특정 로봇(R2)의 점유가 불가능한 제1 상태로 판단할 수 있다.
반면에 도 15의 (c)에 도시된 것과 같이, 제2 상태는 다른 로봇(R1)에 의해 목적지 노드(N5)가 점유되지 않고, 다른 로봇(R1)에 의해 목적지 노드(N5)가 예약되지도 않은 경우에 해당될 수 있다. 제어부(330)는 목적지 노드(N5)가 다른 로봇(R1)에 의해 비점유 및 비예약된 것에 근거하여, 목적지 노드(N5)의 점유 상태를 특정 로봇(R2)의 점유가 가능한 제2 상태로 판단할 수 있다. 이 경우, 제어부(330)는 특정 로봇(R2)이 목적지 노드(N5)로 이동하도록, 특정 로봇(R2)의 기존 이동 경로에 따라 특정 로봇(R2)의 주행을 계속해서 제어할 수 있다.
한편, 특정 로봇(R) 및 다른 로봇(R)간에는, 일정 기준에 따라 목적지 노드에 대한 우선 순위가 존재할 수 있다.
제어부(330)는 특정 로봇(R2) 보다 목적지 노드(N5)에 대한 우선 순위가 높은 다른 로봇(R1)에 의해, 목적지 노드(N5)가 점유 또는 예약된 것에 근거하여, 목적지 노드의 점유 상태를 제1 상태(특정 로봇의 점유가 불가능한 상태)로 특정할 수 있다.
로봇들의 우선 순위는 다양한 방법으로 설정될 수 있다. 제어부(330)는 i) 서비스 제공 요청 수신 순서, ii) 로봇들의 위치, iii) 목적지 노드 도착 예정 시간, iv) 임무 긴급 정도 중 적어도 하나에 근거하여, 목적지 노드에 대한 복수의 로봇들의 우선 순위를 결정할 수 있다. 제어부(330)는 동일한 노드를 목적지로 하는 복수의 로봇들 중 우선 순위가 가장 높은 어느 하나의 로봇에 대해, 목적지에 대응되는 목적지 노드를 예약할 수 있다.
예를 들어, 제어부(330)는 서비스 서버(400)로부터, 동일 목적지에 대한 제1 서비스 제공 요청 및 제2 서비스 제공 요청을 순차적으로 수신한 경우, 제어부(330)는 제1 서비스 제공 요청에 대응되는 임무를 할당 받은 제1 로봇(R1)의 우선 순위를, 제2 서비스 제공 요청에 대응되는 임무를 할당 받은 제2 로봇(R2)의 우선 순위보다 높게 설정할 수 있다. 이 경우, 제1 로봇(R1)에 할당된 임무 및 제2 로봇에 할당된 임무의 수행 위치는, 동일한 목적지 노드(N5)에 해당될 수 있다. 즉, 제어부(330)는 제1 서비스 제공 요청이 제2 서비스 제공 요청보다 먼저 수신된 것에 근거하여, 목적지 노드를, 상기 다른 로봇(R1)에 대해 점유 또는 예약할 수 있다.
다른 예를 들어, 제어부(330)는 목적지 노드와의 거리가 제2 로봇(R2) 보다 제1 로봇(R1)이 상대적으로 가까우면, 제1 로봇(R1)의 우선순위를 제2 로봇(R2)보다 높게 설정할 수 있다.
또 다른 예를 들어, 제어부(330)는 제1 로봇(R1) 및 제2 로봇(R2) 각각의 목적지 노드 도착 예정 시간에 근거하여, 목적지 노드에 먼저 도착 예정인 로봇에게 더 높은 우선 순위를 설정할 수 있다.
또 다른 예를 들어, 제어부(330)는 제1 로봇(R1)에 할당된 제1 임무의 긴급 정도가 제2 로봇(R2)에 할당된 제2 임무의 긴급 정도 보다 놓은 경우, 제1 로봇(R1)의 우선 순위를, 제2 로봇(R2)의 우선 순위보다 높게 설정할 수 있다.
제어부(330)는 특정 로봇(R2)보다 목적지 노드(N5)에 대한 우선 순위가 낮은 다른 로봇(R1)에 의해 목적지 노드(N5)가 점유 또는 예약된 경우에는, 목적지 노드의 점유 상태를 제2 상태(특정 로봇의 점유가 가능한 상태)로 특정할 수 있다. 이 경우, 제어부(330)는 특정 로봇(R2)이 목적지 노드(N5)에 대한 이동 경로를 따라 계속해서 주행하도록 제어하고, 목적지 노드(N5)를 점유 또는 예약하고 있는 다른 로봇(R1)의 이동 경로를 변경할 수 있다. 보다 자세한 내용은 후술하도록 한다.
한편, 본 발명에서는 목적지 노드의 점유 상태에 근거하여, 목적지 노드 주변에 위치하는 특정 노드가 이동 경로 상에 포함되도록, 이동 경로를 업데이트 하는 과정이 진행될 수 있다(S440, 도 14 참조).
제어부(330)는 목적지 노드가 특정 로봇(R2)에 의해 점유가 불가능한 경우, 목적지 노드(N5) 주변에 위치하는 레이오버 노드(Layover Node)가 포함되도록 이동 경로를 업데이트 할 수 있다.
도 16a에 도시된 것과 같이, 공간(10)에는 복수의 노드들(N1 내지 N9, L1 내지 L5)가 배치될 수 있다. 복수의 노드들은 노드 타입에 따라 일반 노드(N1 내지 N9) 및 레이오버 노드(L1 내지 L5) 중 어느 하나에 해당될 수 있다.
일반 노드(N1 내지 N9)는 로봇의 이동에 연계된 노드로 이해될 수 있다. 제어부(330)는 1차적으로, 복수의 일반 노드(N1 내지 N9)를 포함하는 이동 경로(610)를 생성하여, 로봇을 출발지로부터 목적지까지 이동시킬 수 있다. 로봇은 출발지에서 목적지로 이동하기 위해서 적어도 하나의 일반 노드를 필수적으로 경유해야 한다.
레이오버 노드(L1 내지 L5)는 일반 노드를 따라 이동하는 로봇이, 주행을 정지하고 대기(wait)하는 대기 동작에 연계된 노드로 이해될 수 있다. 로봇은 주행을 중단하고 일반 노드에서 레이오버 노드로 비켜서 위치한 상태에서, 다음 주행을 대기할 수 있다. 특정 레이오버 노드(예를 들어, L3)는, 복수의 일반 노드 중 어느 하나(예를 들어, N6)에 인접한 지점(영역)에 위치하고, 상기 인접한 일반 노드(N6)와의 연결 정보를 포함할 수 있다.
제어부(330)는 목적지 노드(N5)의 점유 상태가 제1 상태(특정 로봇의 점유 불가)인 것에 근거하여, 2차적으로 레이오버 노드(L1 내지 L5)가 포함되도록 로봇의 이동 경로를 생성(또는 업데이트)할 수 있다. 로봇은 출발지에서 목적지로 이동하기 위해서 레이오버 노드를 필수적으로 경유해야 하는 것은 아니고, 목적지 노드(N5)의 점유 상태에 따라 유동적으로 레이오버 노드를 경유할 수 있다.
도 16b에 도시된 것과 같이, 다른 로봇(R1)에 의해 목적지 노드(N5)가 점유되거나 예약되어 특정 로봇(R2)의 목적지 노드(N5) 점유가 불가능한 상태(제1 상태)인 경우, 제어부(330)는 목적지 노드(N5)에 대한 기존 이동 경로(제1 이동 경로, 도 16a에서 도면부호 “610” 참조)에 따라 이동중인 특정 로봇(R2)이, 목적지 노드(N5) 주변에 위치하는 어느 하나의 레이오버 노드(L3)을 경유하도록, 기존 이동 경로를 새로운 이동 경로(제2 이동 경로, 620)로 업데이트할 수 있다.
이 경우, 제어부(330)는 특정 로봇(R2)을 위해 특정 레이오버 노드(L3)에 대한 예약을 수행할 수 있다. 제어부(330)는 특정 로봇(R2)을 위해 특정 레이오버 노드(L3)가 예약된 것에 근거하여, 특정 로봇(R2)과 동일 노드를 목적지로 하는 또 다른 로봇(ex: 제3 로봇, R3)이 상기 특정 레이오버 노드(L3)외의 다른 레이오버 노드를 경유하도록 제어할 수 있다. 즉, 제어부(330)는 특정 로봇(R2)은 특정 레이오버 노드(L3)로 경유하도록 제어하고, 또 다른 로봇(R3)은 특정 레이오버 노드(L3)와는 다른 레이오버 노드를 경유하도록 제어할 수 있다.
제어부(330)는 특정 로봇(R2)이 업데이트된 이동 경로(620)를 포함하는 제어 명령을 특정 로봇(R2)으로 전송하여, 특정 로봇(R2)이 업데이트된 이동 경로(620)에 따라 특정 레이오버 노드(L3)로 이동하도록 제어할 수 있다. 예를 들어 도 17에 도시된 것과 같이, 제어부(330)는 목적지 노드(N5) 주변에 위치하는 특정 레이오버 노드의 고유 정보(또는 식별 정보, ID, ex: “LayoverZoneIds”: [“pickup-zone-0801”, “pickup-zone-0802”], 710) 및 상기 특정 레이오버 노드의 경유 명령(ex: “useLayoverZone”: true, 720)을 포함하는 제어 명령(700)을 특정 로봇(R2)으로 전송할 수 있다. 비록 도시되지는 않았으나, 제어부(330)는 로봇의 이동 경로에 레이오버 노드가 포함되지 않으면, 레이오버 노드의 비경유 명령(ex: “useLayoverZone”: false)을 포함하는 제어 명령(700)을 특정 로봇(R2)으로 전송할 수 있다.
제어부(330)는 레이오버 노드(L3)로 특정 로봇(R2)을 이동시키는 것과 동시에, 목적지 노드(N5)의 점유 상태를 계속해서 모니터링할 수 있다. 제어부(330)는 목적지 노드(N5)의 점유 및 예약이 해지되는 것에 근거하여, 목적지 노드(N5)의 점유 상태가 특정 로봇(R2)의 점유가 불가능한 제1 상태에서 특정 로봇(R2)의 점유가 가능한 제2 상태로 전환되었다고 판단할 수 있다.
예를 들어, 제어부(330)는 목적지 노드(N5)에 위치하던 다른 로봇(R1)이 목적지 노드(N5)에서 다른 노드로 이동하거나, 목적지 노드(N5)를 예약한 다른 로봇(R1)이 목적지 노드(N5)를 점유한 후 다른 노드(목적지 노드(N5)의 주변 노드)로 이동하면, 상기 목적지 노드(N5)가 특정 로봇(R2)에 의해 점유 가능하다고 판단할 수 있다.
다른 예를 들어, 제어부(330)는 목적지 노드(N5)에서 상기 목적지 노드(N5)를 점유 또는 예약한 다른 로봇(R1)의 임무 수행이 완료되는 것에 근거하여, 상기 목적지 노드(N5)가 특정 로봇(R2)에 의해 점유 가능하다고 판단할 수 있다. 즉, 제어부(330)는 목적지 노드(N5)를 다른 로봇(R1)이 점유하고 있더라도, 임무 수행이 완료된 다른 로봇(R1)이 목적지 노드(N5)를 벗어날 예정인 것에 근거하여 목적지 노드(N5)가 특정 로봇(R2)에 의해 점유 가능하다고 빠르게 판단할 수 있다.
도 16c에 도시된 것과 같이, 제어부(330)는 목적지 노드(N5)의 점유 상태가, 특정 로봇(R2)의 점유가 가능한 제2 상태로 전환되는 것에 근거하여, 특정 로봇(R2)이 레이오버 노드(L3)로부터 목적지 노드(N5)까지의 이동하도록 특정 로봇(R2)의 이동 경로를 업데이트(제3 이동 경로, 630)할 수 있다. 그리고, 제어부(330)는 업데이트된 이동 경로(제3 이동 경로, 630)를 따라 특정 로봇(R2)이 목적지 노드(N5)로 이동하도록 특정 로봇(R2)의 주행을 제어할 수 있다.
이 경우, 제어부(330)는 특정 로봇(R2)을 위해 목적지 노드(N5)에 대한 점유 예약을 수행할 수 있다. 제어부(330)는 특정 로봇(R2)을 위해 목적지 노드(N5)가 예약된 것에 근거하여, 특정 로봇(R2)과 동일 노드를 목적지로 하는 또 다른 로봇(ex: 제3 로봇, R3)이 목적지 노드(N5)로 이동하는 것을 제어할 수 있다.
한편, 제어부(330)는 다른 로봇(R1)의 목적지 노드(N5) 점유 및 해지가 해제되었더라도, 상기 다른 로봇(R1)보다는 목적지 노드(N5)에 대한 우선 순위가 낮고 특정 로봇(R2)보다는 목적지 노드(N5)에 대한 우선 순위가 높은 또 다른 로봇(ex: 제3 로봇, R3)에 의해 목적지 노드(N5)가 점유 또는 예약되면, 목적지 노드(N5)가 여전히 특정 로봇(R2)에 의해 점유 불가능하다고 판단할 수 있다.
예를 들어, 제1 서비스 제공 요청 및 제2 서비스 제공 요청이 수신된 시점 사이에, 서비스 서버(400)로부터 제3 서비스 제공 요청이 수신되었고, 제3 서비스 제공 요청에 대응되는 임무는 또 다른 제3 로봇(R3)에 할당되었다고 가정하자. 제어부(330)는 다른 로봇(R1)이 상기 목적지 노드(N5)에서 목적지 노드(N5)의 주변 노드로 이동하더라도, 제3 로봇(R3)에 의해 목적지 노드(N5)가 점유 또는 예약되면, 지 노드(N5)가 여전히 특정 로봇(R2)에 의해 점유 불가능하다고 판단할 수 있다.
이 경우, 제어부(330)는 특정 로봇(R2)이 계속해서 레이오버 노드(L3)에 위치하도록 제어하면서, 목적지 노드(N5)의 점유 상태를 모니터링할 수 있다. 제어부(330)는 다른 로봇에 이어 상기 제3 로봇(R3)이, 목적지 노드(N5)에서 제3 로봇(R3)에 할당된 임무의 수행을 완료하고 목적지 노드(N5)의 주변 노드로 이동하는 것에 근거하여, 목적지 노드(N5)가 특정 로봇(R2)에 의해 점유 가능하다고 판단할 수 있다.
나아가, 제어부(330)는 특정 로봇(R2)이 다른 로봇(R1)보다 목적지 노드(N5)에 대한 순위가 우선되면, 제1 상태의 목적지 노드는 제2 상태로 전환되고, 이동 경로에 대한 업데이트는 이루어지지 않도록 제어할 수 있다. 특정 로봇(R2)이 다른 로봇(R1)보다 순위가 우선되는 것에 근거하여, 특정 로봇(R2)은 목적지 노드(N5)로 이동하고, 다른 로봇(R1)은 레이오버 노드로 이동할 수 있다.
한편 본 발명에서는 건물(1000) 내 공간에 대응되는 노드 맵(map)을 편집할 수 있는 편집 인터페이스(800)를 사용자(사용자 단말의 디스플레이부)에 제공할 수 있다.
제어부(330)는 사용자 단말로부터 건물(1000)의 복수의 층 중 특정 층(또는 특정 공간)에 대한 맵 편집 요청 수신하면, 상기 맵 편집 요청에 응답하여 사용자 단말의 디스플레이에, 특정 층(또는 특정 공간)에 대응되는 맵의 적어도 일부가 포함된 편집 인터페이스(800)를 제공할 수 있다. 사용자는 편집 인터페이스(800)를 통해 노드 맵(또는 노드 맵에 대응되는 공간)에 대해, 노드 할당 및 노드 타입 설정을 수행할 수 있다. 본 발명에서 편집 인터페이스(800)는 “편집 화면”, “편집 유저 그래픽 인터페이스(GUI)”, “편집 페이지”, “맵 에디터(map editor)”등으로 명명될 수 있다.
도 18에 도시된 것과 같이, 편집 인터페이스(800)는 특정 층(특정 공간)에 대응되는 노드 맵(M)의 적어도 일부가 포함된 제1 영역(“맵 영역”, 810) 및 상기 노드 맵(M)에 할당된 노드를 편집하는 기능을 포함하는 제2 영역(“설정 영역”, 820) 중 적어도 하나를 포함할 수 있다.
제어부(330)는 제1 영역(810)에서 노드 맵(M)의 일 지점에 대한 사용자 입력에 근거하여 노드 맵(M)에 적어도 하나의 노드(또는 노드 그래픽 객체, 811, 812)를 배치할 수 있다. 그리고 제어부(330)는 제2 영역(820)에 대한 사용자 입력에 근거하여, 노드들(811, 812)에 대한 편집 정보(또는 노드 정보)를 설정할 수 있다. 편집 정보는 다양할 수 있다. 예를 들어, 노드 정보는 노드 고유 정보(식별 정보 또는 ID, 821), 노드 좌표 정보(822), 노드 타입 정보(823), 노드 영역 정보(또는 노드 존 정보, 824) 중 적어도 하나를 포함할 수 있다.
제어부(330)는 사용자 입력에 근거하여, 노드 맵(M)에 할당된 복수의 노드들(811, 812) 중 일부의 노드 타입은 일반 노드(811)로 설정하고, 다른 일부의 노드 타입은 레이오버 노드(812)로 설정할 수 있다. 제어부(330)는 특정 레이오버 노드와 상기 특정 레이오버 노드에 인접한 일반 노드를 서로 매칭하여 연결할 수 있다. 예를 들어, 제어부(330)는 제1 레이오버 노드(812a)와 제1 일반 노드(811a)를 서로 매칭하여 연결하고, 제2 레이오버 노드(812b)와 제2 일반 노드(811b)를 서로 매칭하여 연결할 수 있다. 제어부(330)는 적어도 하나의 레이오버 노드(812)를 포함하는 구역(영역)을 레이오버 구역으로 설정할 수 있다.
제어부(330)는 노드 맵(M)상에 할당된 노드의 타입에 따라, 로봇(R)들이 특정 층을 주행하도록, 노드가 할당된 노드 맵(M)을 클라우드 서버에 업데이트할 수 있다.
제어부(330)는 클라우드 서버(20)에 업데이트된 노드 맵에 근거하여, 동일 목적지 노드로 복수의 로봇들이 이동하는 경우, 상기 복수의 로봇 중 어느 하나만을 상기 목적지 노드로 이동 시키고, 나머지 로봇들은 레이오버 노드로 이동 시킬 수 있다.
앞서 설명한 것과 같이, 제어부(330)는 특정 로봇(R2) 보다 목적지 노드(N5)에 대한 우선 순위가 낮은 다른 로봇(R1)에 의해 목적지 노드(N5)가 점유 또는 예약된 경우에는, 목적지 노드의 점유 상태를 제2 상태(특정 로봇의 점유가 가능한 상태)로 특정할 수 있다.
이 경우, 제어부(330)는 특정 로봇(R2)이 목적지 노드(N5)에 대한 이동 경로를 따라 계속해서 주행하도록 제어하고, 목적지 노드(N5)를 점유 또는 예약하고 있는 다른 로봇(R1)의 이동 경로를 변경할 수 있다.
도 19a에 도시된 것과 같이, 서비스 서버(400)로부터 제1 서비스 제공 요청을 수신한 것에 응답하여 상기 제1 서비스 제공 요청에 대응되는 임무를 제1 로봇(R1)에 할당하고, 목적지 노드(N5)를 도착지로 하는 이동 경로(제1 이동 경로, 900a)에 따라 제1 로봇(R1)의 주행을 제어하고 있다고 가정하자. 제어부(330)는 목적지 노드(N5)가 제1 로봇(R1)에 의해 예약된 상태에서, 서비스 서버(400)로부터 제1 서비스 제공 요청과는 다른 제2 서비스 제공 요청을 수신하는 것에 응답하여 상기 제2 서비스 제공 요청에 대응되는 임무를 제2 로봇(R2)에 할당할 수 있다. 그리고 제어부(330)는 동일 목적지 노드(N5)에서 임무를 수행해야 하는 제1 로봇(R1) 및 제2 로봇(R2) 중 어느 로봇이, 목적지 노드(N5)에 대한 우선순위가 높은지를 판단할 수 있다. 예를 들어, 제어부(330)는 제1 로봇(R1) 및 제2 로봇(R2) 각각의 목적지 노드(N5) 도착 예정 시간을 산출하고, 목적지 노드(N5)에 먼저 도착이 예정되는 제2 로봇(R2)이 제1 로봇(R1) 보다 목적지 노드(N5)에 대해 우선순위가 높다고 판단할 수 있다. 즉, 제어부(330)는 목적지 노드(N5)에 대한 우선 순위가 제1 로봇(R1)인 상태에서 제1 로봇(R1) 보다 우선 순위가 높은 제2 로봇(R2)이 존재하면, 목적지 노드(N5)에 대한 제2 로봇(R2)의 우선 순위를 최우선으로 설정하고, 제1 로봇(R1)의 우선 순위는 제2 로봇(R2) 다음 순위로 변경할 수 있다.
이 경우, 제어부(330)는 목적지 노드(N5)에 대한 제1 로봇(R1)의 점유 또는 예약을 해지할 수 있다. 목적지 노드(N5)는 제1 로봇(R1)의 점유 또는 예약에 해지되는 것에 근거하여, 제2 로봇(R2)에 의해 점유가 가능한 상기 제2 상태로 전환될 수 있다. 제어부(330)는 목적지 노드(N5)가 제2 상태로 전환된 것에 근거하여, 목적지 노드에 대해 제2 로봇(R2)의 점유를 예약할 수 있다.
도 19b에 도시된 것과 같이, 제어부(330)는 제1 로봇(R1)이 목적지 노드(N5) 주변에 위치하는 특정 레이오버 노드(L3)를 경유하도록, 제1 로봇(R1)의 기존 이동 경로(제1 이동 경로, 900a)를 새로운 이동 경로(제2 이동 경로, 900b)로 업데이트 할 수 있다. 그리고 제어부(330)는 제2 로봇(R2)이 현재 위치에서 목적지 노드(N5)로 이동하도록, 제2 로봇(R2)의 이동 경로(920)를 생성할 수 있다. 제어부(330)는 레이오버 노드(L3)에 제1 로봇(R1)이 위치하는 상태에서 목적지 노드(N5)에 대한 점유 상태를 모니터링하고, 목적지 노드(N5)의 점유 상태가 제1 로봇(R1)에 의해 점유 가능한 상태(예를 들어, 제2 로봇이 목적지 노드에서 임무 수행을 완료)인 것에 근거하여, 제1 로봇(R1)이 목적지 노드(N5)로 이동하도록 제어할 수 있다.
한편, 제어부(330)는 목적지 노드(N5) 주위에 복수의 레이오버 노드가 위치하면, 복수의 레이오버 노드 중 어느 하나를 특정하여, 특정 로봇(R2)이 경유하도록 제어할 수 있다.
보다 구체적으로, 제어부(330)는, 특정 로봇(R2)의 점유가 불가능한 제1 상태의 레이오버 노드 및 특정 로봇(R2)의 점유가 가능한 제2 상태의 레이오버 노드 중, 제2 상태의 레이오버 노드를, 특정 로봇(R2)이 경유할 레이오버 노드로 특정할 수 있다. 이 경우, 제어부(330)는 제2 상태를 갖는 복수의 레이오버 노드 중, 목적지 노드(N5)로부터 가장 가깝게 위치하는 어느 하나를, 특정 로봇(R2)이 경유할 레이오버 노드로 특정할 수 있다.
즉, 제어부(330)는 복수의 레이오버 노드 중 특정 로봇(R2)에 의해 점유가 가능하고(제2 상태의 레이오버 노드), 목적지 노드(N5)로부터 가장 가깝게 위치하는 레이오버 노드를 특정 로봇(R2)이 경유할 레이오버 노드로 특정할 수 있다.
예를 들어, 도 20에 도시된 것과 같이, 제1 레이오버 노드(L3)는 목적지 노드(N5)로부터 제1 거리(D1)에 위치하고, 제2 레이오버 노드(L4)는 목적지 노드(N5)로부터 상기 제1 거리(D1)보다 먼 제2 거리(D2)에 위치한다고 가정하자. 제어부(330)는 제1 레이오버 노드(L3) 및 제2 레이오버 노드(L4) 모두 특정 로봇(R2)에 의해 점유가 가능하면, 목적지 노드(N5)로부터 더 가깝게 위치하는 제1 레이오버 노드(L3)를 특정 로봇(R2)이 경유할 노드로 특정할 수 있다. 반면에, 제1 레이오버 노드(L3)이 또 다른 로봇(R3에 의해 점유(예약)된 것에 근거하여 제1 레이오버 노드(L3)가 특정 로봇(R2)에 의해 점유가 불가능하면, 제어부(330)는 목적지 노드(N5)로부터 제1 레이오버 노드(L3) 다음으로 가깝게 위치하는 제2 레이오버 노드(L4)를 특정 로봇(R2)이 경유할 노드로 특정할 수 있다. 제어부(330)는 제2 레이오버 노드(L4)로의 이동 경로를 생성하여 특정 로봇(R2)의 주행을 제어할 수 있다.
본 발명에 따른 로봇 제어 방법 및 시스템은, 노드 맵에 기반하여 특정 로봇의 이동 경로를 생성하고, 상기 이동 경로를 따라 상기 특정 로봇이 이동하도록, 상기 특정 로봇을 제어함으로써, 로봇이 건물 내에서 안전하고, 신속하게, 그리고 정확하게 주행하도록 제어할 수 있다.
나아가 본 발명에 따른 로봇 제어 방법 및 시스템은 이동 경로에 포함된 목적지 노드의 점유 상태를 확인하고, 상기 목적지 노드의 점유 상태에 근거하여, 상기 목적지 노드 주변에 위치하는 특정 노드가 상기 이동 경로 상에 포함되도록, 상기 이동 경로를 업데이트 하는 할 수 있다. 이를 통해 본 발명에서는 동일한 목적지에 복수의 로봇들이 이동하는 경우, 복수의 로봇들 한대씩 차례로 목적지로 이동시키고, 다른 로봇들은 레이오버 노드에 대기하도록 제어함으로써, 로봇의 충돌 및 교착을 방지할 수 있다.
보다 구체적으로, 본 발명에서는 목적지가 로봇에 의해 점유(Occupied)되어 있는 경우는 물론, 목적지가 로봇에 의해 물리적으로 점유되지 않더라도 목적지를 먼저 이동하고자 예약(Reserved)한 로봇이 있는 경우에도, 로봇들의 트래픽을 효율적으로 관리할 수 있다.
한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체에 저장 가능한 프로그램으로서 구현될 수 있다.
나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명에 따른 다양한 제어방법은 통합하여 또는 개별적으로 프로그램의 형태로 제공될 수 있다.
한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.
나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.
한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (17)

  1. 복수의 노드(node)를 포함하는 노드 맵(map)에 근거하여 공간을 주행하는 로봇을 제어하는 방법에 있어서,
    상기 노드 맵에 기반하여 특정 로봇의 이동 경로를 생성하는 단계;
    상기 이동 경로를 따라 상기 특정 로봇이 이동하도록, 상기 특정 로봇을 제어하는 단계;
    상기 이동 경로에 포함된 목적지 노드의 점유 상태를 확인하는 단계; 및
    상기 목적지 노드의 점유 상태에 근거하여, 상기 목적지 노드 주변에 위치하는 특정 노드가 상기 이동 경로 상에 포함되도록, 상기 이동 경로를 업데이트 하는 단계를 포함하는 것을 특징으로 하는 로봇 제어 방법.
  2. 제1항에 있어서,
    상기 목적지 노드의 점유 상태는,
    상기 특정 로봇과는 다른 로봇이 상기 목적지 노드에 위치하는 것에 근거하여 상기 목적지 노드가 점유(Occupied)되거나, 상기 목적지 노드에 위치하지 않는 상기 다른 로봇에 의해 상기 목적지 노드의 점유가 예약(Reserved)된 제1 상태 및
    상기 다른 로봇에 의해 상기 목적지 노드가 상기 점유 또는 상기 예약되지 않은 제2 상태를 포함하는 것을 특징으로 하는 로봇 제어 방법.
  3. 제2항에 있어서,
    상기 이동 경로를 업데이트 하는 단계에서는,
    상기 목적지 노드의 점유 상태가 상기 제1 상태인 것에 근거하여 상기 특정 로봇이 상기 특정 노드로 이동하도록 상기 이동 경로를 업데이트 하는 것을 특징을 하는 로봇 제어 방법.
  4. 제3항에 있어서,
    상기 특정 노드는,
    상기 이동 경로에 포함된 복수의 노드 중 적어도 하나에 연계된 것을 특징으로 하는 로봇 제어 방법.
  5. 제4항에 있어서,
    상기 복수의 노드 각각은,
    제1 타입의 노드 및 상기 제1 타입의 노드에 종속되는 제2 타입의 노드 중 어느 하나의 노드 타입을 갖고,
    상기 특정 노드는,
    상기 이동 경로에 포함된 상기 제1 타입의 노드에 종속된 상기 제2 타입의 노드인 것을 특징으로 하는 로봇 제어 방법.
  6. 제5항에 있어서,
    상기 제2 타입의 노드는
    상기 특정 로봇의 점유가 불가능한 상기 제1 상태 및 상기 특정 로봇의 점유가 가능한 상기 제2 상태 중 어느 하나의 점유 상태에 해당되고,
    상기 특정 노드는, 상기 제2 상태의 점유 상태를 갖는 상기 제2 타입의 노드인 것을 특징으로 하는 로봇 제어 방법.
  7. 제2항에 있어서,
    상기 제1 상태의 목적지 노드는,
    상기 다른 로봇이, 상기 목적지 노드에서, 상기 목적지 노드와는 다른 노드로 이동하는 것에 근거하여, 상기 제2 상태로 전환되는 것을 특징으로 하는 로봇 제어 방법.
  8. 제7항에 있어서,
    상기 목적지 노드의 점유 상태가 상기 제1 상태에서 상기 제2 상태로 전환되는 것에 근거하여, 상기 특정 로봇을 상기 특정 노드로부터 상기 목적지 노드로 이동시키는 단계를 더 포함하는 것을 특징으로 하는 로봇 제어 방법.
  9. 제2항에 있어서,
    상기 특정 로봇 및 상기 다른 로봇간에는, 일정 기준에 따라 상기 목적지 노드에 대한 우선 순위가 존재하고,
    상기 특정 로봇이 상기 다른 로봇보다 상기 목적지 노드에 대한 순위가 우선되면, 상기 제1 상태의 목적지 노드는 상기 제2 상태로 전환되고, 상기 이동 경로에 대한 업데이트는 이루어지지 않는 것을 특징으로 하는 로봇 제어 방법.
  10. 제9항에 있어서,
    상기 특정 로봇이 상기 다른 로봇보다 순위가 우선되는 것에 근거하여, 상기 특정 로봇은 상기 목적지 노드로 이동하고, 상기 다른 로봇은 상기 특정 노드로 이동하는 것을 특징으로 하는 로봇 제어 방법.
  11. 제10항에 있어서,
    상기 특정 로봇 및 상기 다른 로봇 각각의 상기 목적지 노드 도착 예정 시간을 산출하는 단계를 더 포함하고,
    상기 특정 로봇이 상기 다른 로봇보다 상기 목적지 노드에 먼저 도착할 것으로 예상되는 것에 근거하여, 상기 특정 로봇이 상기 다른 로봇보다 상기 목적지 노드에 대한 순위가 우선되는 것을 특징으로 하는 로봇 제어 방법.
  12. 제2항에 있어서,
    상기 다른 로봇에 할당된 임무는 서비스 서버로부터 수신된 제1 서비스 제공 요청에 대응되고,
    상기 특정 로봇에 할당된 임무는 상기 제1 서비스 제공 요청 이후에 수신된 제2 서비스 제공 요청에 대응되며,
    상기 제1 서비스 제공 요청이 상기 제2 서비스 제공 요청보다 먼저 수신된 것에 근거하여 상기 목적지 노드는, 상기 다른 로봇에 의해 상기 점유 또는 상기 예약되는 것을 특징으로 하는 로봇 제어 방법.
  13. 제12항에 있어서,
    상기 제1 상태의 목적지 노드는,
    상기 다른 로봇이, 상기 목적지 노드에서 상기 다른 로봇에 할당된 임무의 수행을 완료하고, 상기 목적지 노드와는 다른 노드로 이동하는 것에 근거하여 상기 제2 상태로 전환되는 것을 특징으로 하는 로봇 제어 방법.
  14. 제1항에 있어서,
    클라우드 서버에 저장된 상기 노드 맵을 업데이트 하는 단계;를 더 포함하고,
    상기 노드 맵을 업데이트 하는 단계는,
    건물의 복수의 층 중 특정 층에 대한 맵 편집 요청을 수신하는 단계;
    상기 편집 요청에 응답하여, 사용자 단말의 디스플레이부 상에, 상기 특정 층에 대응되는 상기 노드 맵의 적어도 일부가 포함된 편집 인터페이스를 제공하는 단계;
    상기 사용자 단말로부터 수신되는 편집 정보에 근거하여, 상기 편집 인터페이스에 포함된 상기 노드 맵 상에, 적어도 하나의 노드를 할당하는 단계; 및
    상기 노드 맵 상에 할당된 상기 노드의 노드 타입에 따라, 상기 특정 로봇이 상기 특정 층을 주행하도록, 상기 노드 맵을 클라우드 서버에 업데이트 하는 단계를 포함하는 것을 특징으로 하는 로봇 제어 방법.
  15. 제14항에 있어서,
    상기 노드 맵상에는, 상기 편집 정보에 근거하여,
    제1 타입의 노드 및
    상기 제1 타입의 노드에 종속되는 제2 타입의 노드 중 적어도 하나가 할당되는 것을 특징으로 하는 로봇 제어 방법.
  16. 복수의 노드(node)를 포함하는 노드 맵(map)에 근거하여 공간을 주행하는 로봇을 제어하는 시스템에 있어서,
    노드 맵에 기반하여 특정 로봇의 이동 경로를 생성하고,
    상기 이동 경로를 따라 상기 특정 로봇이 이동하도록, 상기 특정 로봇을 제어하는 제어부를 포함하고,
    상기 제어부는,
    상기 이동 경로에 포함된 목적지 노드의 점유 상태를 확인하고,
    상기 목적지 노드의 점유 상태에 근거하여, 상기 목적지 노드 주변에 위치하는 특정 노드가 상기 이동 경로 상에 포함되도록, 상기 이동 경로를 업데이트 하는 것을 특징으로 하는 로봇 제어 시스템.
  17. 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장된 프로그램으로서,
    복수의 노드(node)를 포함하는 노드 맵(map)에 기반하여 특정 로봇의 이동 경로를 생성하는 단계;
    상기 이동 경로를 따라 상기 특정 로봇이 이동하도록, 상기 특정 로봇을 제어하는 단계;
    상기 이동 경로에 포함된 목적지 노드의 점유 상태를 확인하는 단계; 및
    상기 목적지 노드의 점유 상태에 근거하여, 상기 목적지 노드 주변에 위치하는 특정 노드가 상기 이동 경로 상에 포함되도록, 상기 이동 경로를 업데이트 하는 단계를 수행하는 명령어들을 포함하는 것을 특징으로 하는 컴퓨터로 판독될 수 있는 기록매체에 저장된 프로그램.
PCT/KR2024/013635 2023-12-18 2024-09-09 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템 Pending WO2025135397A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020230184559A KR102821092B1 (ko) 2023-12-18 2023-12-18 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
KR10-2023-0184559 2023-12-18

Publications (1)

Publication Number Publication Date
WO2025135397A1 true WO2025135397A1 (ko) 2025-06-26

Family

ID=96138349

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2024/013635 Pending WO2025135397A1 (ko) 2023-12-18 2024-09-09 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템

Country Status (2)

Country Link
KR (2) KR102821092B1 (ko)
WO (1) WO2025135397A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160021161A (ko) * 2016-02-01 2016-02-24 고려대학교 산학협력단 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법
US20210018912A1 (en) * 2018-04-10 2021-01-21 Fetch Robotics, Inc. Robot Management System
KR102337531B1 (ko) * 2020-07-08 2021-12-09 네이버랩스 주식회사 로봇의 경로 계획을 위한 노드 지정 방법 및 시스템
KR20230102386A (ko) * 2021-12-30 2023-07-07 주식회사 클로봇 이동 로봇들간의 주행 교착 회피 방법, 장치 및 프로그램
KR20230130827A (ko) * 2022-03-04 2023-09-12 한국전자통신연구원 다중 로봇의 주행 제어 방법 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160021161A (ko) * 2016-02-01 2016-02-24 고려대학교 산학협력단 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법
US20210018912A1 (en) * 2018-04-10 2021-01-21 Fetch Robotics, Inc. Robot Management System
KR102337531B1 (ko) * 2020-07-08 2021-12-09 네이버랩스 주식회사 로봇의 경로 계획을 위한 노드 지정 방법 및 시스템
KR20230102386A (ko) * 2021-12-30 2023-07-07 주식회사 클로봇 이동 로봇들간의 주행 교착 회피 방법, 장치 및 프로그램
KR20230130827A (ko) * 2022-03-04 2023-09-12 한국전자통신연구원 다중 로봇의 주행 제어 방법 및 시스템

Also Published As

Publication number Publication date
KR102821092B1 (ko) 2025-06-17
KR20250096655A (ko) 2025-06-27

Similar Documents

Publication Publication Date Title
WO2022225134A1 (ko) 로봇 원격 제어 방법 및 시스템, 그리고 엘리베이터의 최적 대기 위치에 탑승하는 로봇이 주행하는 건물
WO2023277346A1 (ko) 로봇 친화형 건물
WO2021091111A1 (ko) 로봇 탑승을 위한 엘리베이터 시스템, 엘리베이터 시스템 제어 방법 및 엘리베이터 제어 시스템
JP7720486B2 (ja) ロボット制御システム、ロボット制御方法、及びロボットが走行するビル
KR102803511B1 (ko) 로봇 친화형 건물, 로봇 운용을 위한 맵 생성 방법 및 시스템
WO2022234925A1 (ko) 지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템과, 로봇이 배치되는 건물
WO2020027515A1 (ko) 속성 블록을 설정하는 이동 로봇
WO2021080235A1 (ko) 로봇의 주행을 위해 설정된 전용 도로를 사용하여 로봇을 제어하는 방법 및 시스템
WO2021040104A1 (ko) 로봇
KR20250037427A (ko) 로봇 친화형 건물, 로봇 운용을 위한 맵 생성 방법 및 시스템
WO2019045288A1 (ko) 다중 로봇이 공간을 분할-작업하는 방법 및 이를 구현하는 로봇
WO2025135397A1 (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
WO2024101522A1 (ko) 로봇 이동 제어 방법 및 이를 구현하는 관제 서버
WO2025058204A1 (en) Method and apparatus for forecasting control of devices utilizing geometrically grounded large language models
WO2025135399A1 (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
WO2025135398A1 (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
WO2025105606A1 (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
WO2025116140A1 (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
WO2024106728A1 (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
WO2025121559A1 (ko) 사람과 로봇이 공존하는 환경에서의 엘리베이터 배정 방법 및 시스템 그리고 엘리베이터 탑승을 위한 로봇 제어 방법 및 시스템
WO2025211515A1 (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
WO2025187882A1 (ko) 로봇 친화형 건물, 로봇을 위한 이동 경로 생성 방법 및 시스템
WO2025121558A1 (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
WO2022211225A1 (ko) 로봇 주행 제어 방법 및 시스템, 그리고 공간의 혼잡도에 기반하여 이동 경로가 제어되는 로봇이 주행하는 건물
WO2023229088A1 (ko) 선반 셀 정보 관리를 위한 전자 장치 및 그 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24907683

Country of ref document: EP

Kind code of ref document: A1