WO2022234925A1 - 지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템과, 로봇이 배치되는 건물 - Google Patents

지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템과, 로봇이 배치되는 건물 Download PDF

Info

Publication number
WO2022234925A1
WO2022234925A1 PCT/KR2022/000225 KR2022000225W WO2022234925A1 WO 2022234925 A1 WO2022234925 A1 WO 2022234925A1 KR 2022000225 W KR2022000225 W KR 2022000225W WO 2022234925 A1 WO2022234925 A1 WO 2022234925A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
designated area
robots
point
controlling
Prior art date
Application number
PCT/KR2022/000225
Other languages
English (en)
French (fr)
Inventor
윤영환
박경식
김진용
최진영
김정은
Original Assignee
네이버랩스 주식회사
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 네이버랩스 주식회사 filed Critical 네이버랩스 주식회사
Priority to JP2023568418A priority Critical patent/JP2024517882A/ja
Publication of WO2022234925A1 publication Critical patent/WO2022234925A1/ko
Priority to US18/502,757 priority patent/US20240069571A1/en

Links

Images

Classifications

    • 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
    • G05D1/6983Control allocation by distributed or sequential control
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room
    • 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/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • 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/693Coordinated control of the position or course of two or more vehicles for avoiding collisions between vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/40Indoor domestic environment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/50Confined spaces, e.g. tanks, pipelines, tunnels or containers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles

Definitions

  • the description below relates to a method and system for controlling a plurality of robots traveling in a designated area, such as a confined area.
  • An autonomous driving robot is a robot that finds an optimal route to a destination using wheels or legs while looking around and detecting obstacles by itself.
  • a plurality of robots may be operated in a space such as a building to provide a service.
  • a space such as a building
  • the robots have to travel in a narrow area such as a narrow passage/corridor in a building.
  • a large number of robots are concentrated in a narrow area, the possibility of collision and interference between the robots or between the robots and features may increase. This lowers the movement efficiency of the robots, and thus may make the provision of services by the robots inefficient.
  • Korean Patent Laid-Open No. 10-2005-0024840 is a technology related to a path planning method for an autonomous mobile robot, and it is a technology for a mobile robot that moves autonomously at home or in an office to avoid obstacles and to find an optimal path that can move safely and quickly to a target point. How to plan is disclosed.
  • the robots autonomously travel, identify a designated area for the robots to pass through, i) control the robot to pass through the designated area through a first point defined within the designated area, or ii) the designated area of the robot It provides a method of controlling the robot so that each of a plurality of robots can sequentially pass through the designated area by triggering the driving mode and controlling the robot to pass through the designated area in the designated area driving mode.
  • the robot control system centrally controls the robots based on resource management corresponding to the designated area so that the robots can sequentially pass through the designated area without interference.
  • a robot control method is provided.
  • a robot control that triggers a designated area driving mode for each robot so that each robot can sequentially pass through a designated area according to the designated area driving mode provide a way
  • a robot control method performed by a robot control system for controlling a plurality of robots moving in space, the steps of: identifying a designated area through which the robots must pass; for a first robot entering a zone, i) controlling the first robot to pass through the designated zone via a first point defined within the designated zone by the robot control system, or ii) the first robot controlling the first robot to pass through the designated area in the designated area driving mode by triggering a designated area driving mode of
  • a robot control method comprising the step of controlling each robot to pass through the designated area in this order.
  • the designated area may be a section within the space in which each of the plurality of robots is required to pass sequentially in a line.
  • the step of controlling the first robot includes identifying that the first robot is located in an entry zone of the designated zone and controlling the first robot to move to the first point,
  • the first point is a point at which the first robot can move, and is located next to a point occupied by another robot among points defined in the designated area, or is the most from the entry zone among points defined in the designated area.
  • a remote point and the step of controlling each robot may include: identifying that a second robot is located next to the first robot among the plurality of robots in the entry zone and among the points defined within the designated zone and controlling the second robot to move to a second point located next to the first point occupied by the first robot.
  • control may be included.
  • the step of controlling the first robot to move to the first point includes: allocating the first point to the first robot as a point available for the first robot among points defined within the designated area; Controlling the first robot to move to the assigned first point, and controlling the second robot to move to the second point comprises the step of controlling the second robot to move to the second point among the points defined within the designated area. allocating the second point to the second robot as an available point for a robot and controlling the second robot to move to the assigned second point, the method comprising: The controlling of the second robot may include allocating the first point to the second robot as a point available for the second robot among points defined within the designated area and moving to the assigned first point. It may include the step of controlling the second robot to do so.
  • the first point and the second point are predefined points within the designated area, and the robot control method includes obtaining occupancy information indicating whether each of the points is occupied by the plurality of robots. Further comprising, the allocation of available points to the first robot and the second robot may be performed based on the occupancy information.
  • the first point and the second point are points dynamically defined within the designated area, and the second point is a distance determined based on at least one of attribute information of the first robot and attribute information of the second robot. It may be defined to be spaced apart from the first point by as much as
  • the first robot is a robot that first enters the entry zone among the plurality of robots, the first point is a point farthest from the entry zone among points defined within the designated zone, and the second point is Among the points defined within the designated area, it may be a point next to the farthest point from the entry area after the first point.
  • the controlling of the first robot includes controlling the first robot to exit the designated area from an exit position of the designated area based on situation information outside the designated area, A second robot that enters the designated area next to the first robot is controlled to move to a position occupied by the first robot, and then is controlled to exit the designated area from the exit position based on the situation information.
  • the step of controlling the first robot includes identifying that the first robot is located in an entry zone of the designated zone and triggering a designated zone driving mode of the first robot, wherein the first robot travels in the designated zone In the mode, the first robot is controlled to move directly to the exit position of the designated area when there are no other robots in the designated area, and the first robot is It can be controlled to move to a position spaced apart by a predetermined distance from other robots existing in a designated area.
  • the controlling of the first robot may include releasing the designated area driving mode when the first robot reaches an exit position of the designated area.
  • the step of controlling each robot may include: identifying that a second robot is located next to the first robot among the plurality of robots in the entry zone; and triggering a designated area driving mode of the second robot. Including, in the designated area driving mode, the second robot is controlled to move to a position spaced apart from the first robot by a predetermined distance when the first robot is present in the designated area, wherein the first robot is It may be controlled to move to an empty space in the designated area generated by moving within the designated area.
  • the first robot and the second robot may be controlled to pass through the designated area by mimicking the operation of sequentially passing a plurality of people in a line through a narrow area.
  • the first robot does not receive a command for controlling the first robot from the robot control system, and identifies another robot preceding in the designated area, and the identified other robot It can be controlled to move to a position spaced apart by a predetermined distance from the robot and move to the exit position according to the movement of another identified robot.
  • the robot control system for controlling a plurality of robots moving in space, comprising at least one processor implemented to execute a computer-readable instruction, the at least one processor, the robot identify a designated area through which they must pass; controlling the first robot to pass through an area, or ii) triggering a designated area running mode of the first robot to control the first robot to pass through the designated area in the designated area running mode;
  • a robot control system is provided for controlling each robot, such that each robot entering the designated area after the first robot among robots sequentially passes through the designated area.
  • the robot in a method of controlling a robot moving in a space to provide a service, according to control from a robot control system that controls a plurality of robots including the robot, the robot must pass Moving to the entry zone of the designated zone, changing the autonomous driving mode of the robot to the designated zone driving mode according to a trigger by the robot control system, whether there is another robot preceding in the designated zone When there is no other robot in the designated area, the robot moves directly to the exit position of the designated area, but when the other robot is present, it moves to a location spaced apart from the other robot by a predetermined distance.
  • Step when the other robot exists, moving toward an exit position of the specified area by moving to an empty space within the specified area generated according to the movement of the other robot, and when the exit position is reached, controlling the robot
  • a robot control method comprising changing the designated area driving mode to the autonomous driving mode according to control by the system.
  • each of the robots may sequentially pass through the designated area by minimizing collisions and interference between the robots or between the robots and features.
  • the robots Based on resource management for a designated area in a space in which a plurality of robots travel on the side of the robot control system, the robots can be centrally controlled to efficiently pass through the designated area.
  • each robot By triggering the designated area driving mode for each robot entering a designated area, such as a narrow area, on the side of the robot control system, each robot can efficiently pass through the designated area considering other robots within the designated area through the designated area driving mode can be controlled.
  • a designated area such as a narrow area
  • FIG. 1 illustrates a method of controlling a plurality of robots to pass through a designated area, such as a narrow area, in a space, according to an embodiment.
  • FIG. 2 is a block diagram illustrating a robot that provides a service in a space, according to an embodiment.
  • 3 to 5 are block diagrams illustrating a robot control system for controlling a plurality of robots, according to an embodiment.
  • FIG. 6 is a flowchart illustrating a method of controlling a plurality of robots to pass through a designated area such as a narrow area in a space, according to an embodiment.
  • FIG. 7 is a flowchart illustrating a method of controlling a plurality of robots to pass through a designated area based on resource management for the designated area, according to an example.
  • FIG. 8 is a flowchart illustrating a method of controlling a robot traveling in a designated area to leave a designated area according to an example
  • FIG. 9 is a flowchart illustrating a method of controlling a plurality of robots to pass through a designated area by triggering a designated area driving mode for each robot entering the designated area, according to an example.
  • 10 and 12 illustrate a method of controlling a plurality of robots to pass through a designated area based on resource management for the designated area, according to an example.
  • 11 and 13 illustrate a method of controlling a plurality of robots to pass through a designated area by triggering a designated area driving mode for each robot entering the designated area, according to an example.
  • FIG. 14 illustrates a method of dynamically defining a point (standby point) to which a robot moves within a designated area in which a plurality of robots will travel, according to an example.
  • FIG. 1 illustrates a method of controlling a plurality of robots to pass through a designated area, such as a narrow area, in a space, according to an embodiment.
  • a plurality of robots 100 configured to provide services in the space 10 pass through a designated area 50 in the space 10 under control by the robot control system 120 (ie, A method (traveling and exiting within a designated area 50) is shown.
  • the space 10 is a place where the robots 100 provide services, and may represent, for example, a building.
  • a building is a space where a plurality of persons (hereinafter, referred to as users) work or reside, and may include a plurality of partitioned spaces.
  • Space 10 may represent a part of a building (a specific floor or a subspace within that floor).
  • the robots 100 may be service robots used to provide services in the space 10 .
  • the robots 100 may be configured to provide services on at least one floor of the space 10 .
  • the robots 100 may be plural as shown. In the space 10 , each of the robots 100 may move to provide a service to an appropriate location in the space 10 or an appropriate user.
  • the services provided by the robots 100 may include, for example, at least one of a delivery service delivery service, a beverage (coffee, etc.) delivery service according to an order, a cleaning service, and other information/content providing services.
  • the robots 100 may provide a service to a predetermined user or at a predetermined location in the space 10 through autonomous driving.
  • the (each) movement of the robots 100 and the provision of services may be controlled by the robot control system 120 .
  • the structure of the robot control system 120 will be described in more detail with reference to FIGS. 3 to 5 to be described later.
  • the robots 100 may move to a predetermined location or a predetermined user by traveling along a path set by the robot control system 120 , and thus may provide a service at a predetermined location or to a predetermined user.
  • a designated area 50 may be included in the space 10 .
  • the designated area 50 is a narrow area (confined/narrow area), for example, it may be a rather narrow area for the robots 100 to travel, or an area in which a plurality of robots are limited to travel at the same time.
  • the designated area 50 may be a section within the space 10 in which each of the plurality of robots 100 is required to pass sequentially in a line. That is, the designated area 50 may indicate a section in which each of the robots 100 is required to pass sequentially in a line as a part of a path through which the robots 100 must travel.
  • a plurality of such designated areas 50 may exist in the space.
  • the robot control system 120 may identify a designated area through which the robots 100 must pass within the space 10 in which the robots 100 autonomously travel.
  • the robot control system 120 i) controls the robot to pass through the designated area 50 via a first point defined within the designated area 50, or ii) a designated area for each of the robots 100
  • the robots 100 are controlled to pass the designated area 50 in the designated area driving mode, so that each of the robots 100 can sequentially pass the designated area 50. can be controlled
  • the robot control system 120 corresponds to the designated area 50 . It is possible to centrally control the robots 100 based on resource management so that the robots 100 sequentially pass through the designated area 50 without interference. or/additionally, in an embodiment, as in ii) above, triggering a designated area driving mode for each robot of the robots 100 entering the designated area 50, so that each robot according to the designated area running mode It is possible to sequentially pass through the designated area (50).
  • each of the robots 100 may sequentially pass through the designated area 50 .
  • the robots 100 may enter the designated area 50 and exit the designated area 50 sequentially in a line as shown.
  • the robots may be controlled to sequentially (eg, in the order of 1 to 4) enter the designated area 50 and exit the designated area 50 in the order in which they entered first.
  • FIG. 2 is a block diagram illustrating a robot that provides a service in a space, according to an embodiment.
  • the robots 100 may be service robots used to provide services in the space 10 .
  • the robots 100 may provide a service to a predetermined user or at a predetermined location in the space 10 through autonomous driving.
  • the robot 100 may be a physical device, and as shown, may include a control unit 104 , a driving unit 108 , a sensor unit 106 , and a communication unit 102 .
  • the control unit 104 may be a physical processor built into the robot 100, and although not shown, a path planning processing module, a mapping processing module, a driving control module, a localization processing module, a data processing module, and a service processing module may include At this time, the path planning processing module, the mapping processing module, and the localization processing module according to the embodiment to enable the indoor autonomous driving of the robot 100 even when communication with the robot control system 120 is not made. Optionally, it may be included in the control unit 104 .
  • the communication unit 102 may be configured for the robot 100 to communicate with other devices (such as another robot or robot control system 120 ).
  • the communication unit 102 is a hardware module or network device, such as an antenna of the robot 100 , a data bus, a network interface card, a network interface chip and a networking interface port, etc., that transmits/receives data and/or information to/from other devices. It may be a software module such as a driver or a networking program.
  • the driving unit 108 controls the movement of the robot 100 and may include equipment for performing this as a configuration that enables movement.
  • the sensor unit 106 may be configured to collect data required for autonomous driving and service provision of the robot 100 .
  • the sensor unit 106 may not include expensive sensing equipment, and may only include a sensor such as a low-cost ultrasonic sensor and/or a low-cost camera.
  • the sensor unit 106 may include sensors for identifying other robots or people in the front and/or rear. For example, other robots, people, and other features may be identified through the camera of the sensor unit 106 .
  • the sensor unit 106 may include an infrared sensor (or an infrared camera).
  • the sensor unit 106 may further include a sensor for recognizing/identifying a nearby user, another robot, or a feature.
  • the data processing module of the control unit 104 may transmit sensing data including output values of the sensors of the sensor unit 106 to the robot control system 120 through the communication unit 102 .
  • the robot control system 120 may transmit path data generated using the indoor map in the space 10 to the robots 100 .
  • the path data may be transmitted to the data processing module through the communication unit 102 .
  • the data processing module may directly transmit route data to the drive control module, and the drive control module may control the driving unit 108 according to the route data to control indoor autonomous driving of the robots 100 .
  • the data processing module transmits the sensed data to the localization processing module, and generates path data through the path planning processing module and the mapping processing module to create the robot It is also possible to directly process the indoor autonomous driving of (100).
  • the robot 100 may be distinguished from a mapping robot used to generate an indoor map in the space 10 .
  • the robot 100 since the robot 100 does not include expensive sensing equipment, it is possible to process indoor autonomous driving by using the output value of a sensor such as a low-cost ultrasonic sensor and/or a low-cost camera.
  • the robot 100 has previously processed indoor autonomous driving through communication with the robot control system 120 , the mapping data included in the route data previously received from the robot control system 120 is further added. By using it, more accurate indoor autonomous driving may be possible while using low-cost sensors.
  • the robot 100 may also serve as the mapping robot.
  • the service processing module may receive a command received through the robot control system 120 through the communication unit 102 or through the communication unit 102 and the data processing module.
  • the driving unit 108 may further include equipment related to a service provided by the robot 100 as well as equipment for moving the robot 100 .
  • the driving unit 108 of the robot 100 is configured to load food/delivery or deliver food/delivery to a user (eg, robot arm).
  • the robot 100 may further include a speaker and/or a display for providing information/content.
  • the service processing module may transmit a drive command for a service to be provided to the drive control module, and the drive control module controls the configuration included in the robots 100 or the drive unit 108 according to the drive command to provide the service. can make it happen
  • the robot 100 may travel in a designated area 50 such as a narrow area in the space 10 through control by the robot and the control system 120 , and in a designated area through coordination with other robot(s) (50) can be passed efficiently.
  • a designated area 50 such as a narrow area in the space 10 through control by the robot and the control system 120 , and in a designated area through coordination with other robot(s) (50) can be passed efficiently.
  • the robot 100 may correspond to a brainless robot in that it only provides sensing data for controlling the robot 100 to the robot control system 120 .
  • each of the robots 100 may have a different size and shape according to a model or a service provided.
  • FIG. 2 The description of the technical features described above with reference to FIG. 1 may be applied to FIG. 2 as it is, and thus a redundant description will be omitted.
  • 3 to 5 are block diagrams illustrating a robot control system for controlling a plurality of robots, according to an embodiment.
  • the robot control system 120 is a device for controlling the movement (ie, traveling) in the space 10 of the robots 100 described above and the provision of services in the space 10 by the robots 100 .
  • the robot control system 120 may control movement of each of the plurality of robots 100 and provision of a service of each of the robots 100 .
  • the robot control system 120 may set a path for the robots 100 to provide a service through communication with the robots 100 , and may transmit information about the path to the robots 100 . .
  • the robots 100 may travel according to the received route information, and may provide services to a predetermined location or to a predetermined user.
  • the robot control system 120 may control the movement of the robot so that the robot moves (travels) according to the set path.
  • the robot control system 120 may include at least one computing device.
  • the robot control system 120 may be a device for setting a path for the driving of the robots 100 and controlling the movement of the robots 100 .
  • the robot control system 120 may include at least one computing device, and may be implemented as a server (eg, a cloud server) located in the space 10 or outside the space 10 .
  • the robot control system 120 may include a memory 330 , a processor 320 , a communication unit 310 , and an input/output interface 340 .
  • the memory 330 is a computer-readable recording medium and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive.
  • RAM random access memory
  • ROM read only memory
  • a permanent mass storage device such as a disk drive.
  • the ROM and the non-volatile mass storage device may be separated from the memory 330 and included as separate permanent storage devices.
  • an operating system and at least one program code may be stored in the memory 330 .
  • These software components may be loaded from a computer-readable recording medium separate from the memory 330 .
  • the separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD/CD-ROM drive, and a memory card.
  • the software components may be loaded into the memory 330 through the communication unit 310 rather than a computer-readable recording medium.
  • the processor 320 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations.
  • the command may be provided to the processor 320 by the memory 330 or the communication unit 310 .
  • the processor 320 may be configured to execute a received instruction according to a program code loaded into the memory 330 .
  • Such a processor 320 may include components 410 to 440 and 510 to 530 as shown in FIGS. 4 and 5 .
  • Each of the components 410 to 440 , 510 to 530 of the processor 320 may be a software and/or hardware module as a part of the processor 320 , and may represent a function (functional block) implemented by the processor. Configurations 410 to 440 and 510 to 530 of the processor 320 will be described later with reference to FIGS. 4 and 5 .
  • the communication unit 310 may be configured for the robot control system 120 to communicate with other devices (such as the robots 100 or other servers). In other words, the communication unit 310 transmits/receives data and/or information to/from other devices, such as an antenna of the robot control system 120, a data bus, a network interface card, a network interface chip, and a hardware module such as a networking interface port or the like. It may be a software module such as a network device driver or a networking program.
  • the input/output interface 340 may be a means for interfacing with an input device such as a keyboard or mouse and an output device such as a display or speaker.
  • the robot control system 120 may include more components than the illustrated components.
  • the configurations 410 to 440 of the processor 320 will be described in more detail with reference to FIG. 4 .
  • the processor 320 may include a map generation module 410 , a localization processing module 420 , a route planning processing module 430 , and a service operation module 440 as illustrated.
  • the components included in the processor 320 may perform different functions performed by at least one processor included in the processor 320 according to a control instruction according to a code of an operating system or a code of at least one computer program. (different functions).
  • the map generation module 410 generates an indoor map of the target facility using sensing data generated by a mapping robot (not shown) autonomously driving inside the space 10 , for example, generated for the inside of the space 10 . It can be a component to create.
  • the localization processing module 420 uses the sensing data received through the network from the robots 100 and the indoor map of the target facility generated through the map generation module 410 to create a robot inside the target facility. It is possible to determine the positions of the 100.
  • the path planning processing module 430 may generate a control signal for controlling the indoor autonomous driving of the robots 100 by using the sensing data received from the above-described robots 100 and the generated indoor map.
  • the path planning processing module 430 may generate paths (ie, path data) of the robots 100 .
  • the generated path (route data) may be set for the robots 100 for the robots 100 to travel along the corresponding path.
  • the robot control system 120 may transmit information about the generated path to the robots 100 through a network.
  • the information on the path may include information indicating the current position of the robots 100 , information for mapping the current position and an indoor map, and path planning information.
  • the information on the path may include information on a path through which the robots 100 must travel at a predetermined location in the space 10 or to provide a service to a predetermined user.
  • the path planning processing module 430 generates a path (ie, path data) for the robots 100 as a path to travel at least a portion of the dedicated road 110 designated in the space 10 to generate the robots 100 . can be set for
  • the robot control system 120 may control the movement of the robots 100 so that the robots 100 move according to the set path (ie, along the set path).
  • the service operation module 440 may include a function for controlling a service provided by the robots 100 in the space 10 .
  • a service provider operating the robot control system 120 or the space 10 is an IDE for a service (eg, cloud service) provided by the robot control system 120 to a user or manufacturer of the robots 100 . (Integrated Development Environment) can be provided.
  • the user or the manufacturer of the robots 100 may create software for controlling the services provided in the space 10 by the robots 100 through the IDE and register it in the robot control system 120 .
  • the service operation module 440 may control the services provided by the robots 100 using software registered in association with the robots 100 .
  • the robot control system 120 performs the indoor autonomy of the robots 100 .
  • the robots 100 deliver a product to the user when arriving at the target location and provide a series of services for outputting user response voices.
  • a related command to provide may be transmitted to the robots 100 .
  • Configurations 510 to 530 of the processor 320 for controlling the robots 100 to pass through the designated area 50 will be described in more detail with reference to FIG. 5 .
  • the processor 320 may include a queue management unit 510 , an information management unit 520 , and a driving management unit 530 .
  • the queue management unit 510 manages robot occupancy information indicating whether lines or points defined in the space 10 (or in the path on which the robots 100 travel) are occupied by the robots 100 . can do.
  • the queue management unit 510 may manage robot occupancy information indicating whether points defined in the designated area 50 are occupied by the robots 100 .
  • the queue management unit 510 in the space 10 (or in the path on which the robots 100 travel) eg, a predefined or determined to be high congestion
  • the congestion zone eg, a predefined or determined high congestion
  • the queue management unit 510 may communicate with the DB storing the robot occupancy information.
  • the information manager 520 may manage robot-related information (robot information) including positions of the robots 100 .
  • Information related to the robots 100 may be received from the robots 100 through the communication unit 310 .
  • the information management unit 520 may communicate with the DB storing the robot information.
  • the driving management unit 530 establishes a driving plan for each of the robots 100 , transmits a control command to the robots 100 through the communication unit 310 to move the robots 100 , and the robots 100 . ) can manage the completion of movement and the completion of service provision.
  • the driving management unit 530 may correspond to the above-described components 420 to 440 .
  • the driving management unit 530 is based on the robot information including the position of the first robot to enter the designated area 50, a point within the designated area 50 to which the first robot should move (ie, waiting) You can request assignment of a point to be done).
  • the queue manager 510 may allocate a point in the designated area 50 not occupied by the robots 100 as a waiting point for the first robot based on the robot occupancy information.
  • the driving management unit 530 may transmit a command to move to the assigned standby point to the first robot so that the first robot moves to the assigned standby point.
  • the first robot may be controlled to pass through the designated area 50 after moving to the standby point according to a command from the driving management unit 530 .
  • the robot control system 120 may control each robot so that each of the plurality of robots 100 passes through the designated area 50 in a similar manner.
  • a method of controlling the plurality of robots 100 so that the robot control system 120 passes through the designated area 50 will be described in more detail with reference to FIGS. 6 to 14 to be described later.
  • the operation performed by the components of the robot control system 120 or the robot(s) 100 is performed by the robot control system 120 or the robot(s) 100 for convenience of description. It can be described as an action.
  • FIG. 6 is a flowchart illustrating a method of controlling a plurality of robots to pass through a designated area such as a narrow area in a space, according to an embodiment.
  • the robot control system 120 may identify a designated area 50 through which the plurality of robots 100 should pass. For example, the robot control system 120 determines a designated area 50 through which the robots 100 must pass from a path each of the robots 100 moving (to provide a service) in the space 10 travels. can be identified. Each of the robots 100 may be individually controlled to provide a service. Alternatively, the robots 100 may be controlled to move to a common destination in the space 10 .
  • the designated area 50 is a narrow area within the space 10 , and for example, may be a rather narrow area for the robots 100 to travel, or an area in which a plurality of robots may travel simultaneously.
  • the designated area 50 may be a section within the space 10 in which each of the plurality of robots 100 is required to pass sequentially in a line. That is, the designated area 50 may indicate a section in which each of the robots 100 is required to pass sequentially in a line as a part of a path through which the robots 100 must travel.
  • the robot control system 120 controls the first robot entering the designated area 50 among the plurality of robots 100 , i) the designated area 50 by the robot control system 120 .
  • the first robot may be controlled to pass through the designated area 50 via a first point defined within.
  • the robot control system 120 may ii) trigger the designated zone running mode of the first robot to control the first robot to pass the designated zone 50 in the designated zone running mode.
  • the first point is a point within the designated area 50 defined by the robot control system 120 and may be a point that is not occupied by another robot (where the first robot is movable).
  • the first point is a point closest to the exit of the designated area 50 (or from the first robot) among points that are not occupied by other robots within the designated area 50 (or from the first robot). farthest point).
  • step 630 the robot control system 120 controls each robot so that each robot entering the designated area 50 after the first robot 100 among the plurality of robots 100 sequentially passes through the designated area.
  • Each robot that enters the designated area 50 after the first robot may also be controlled to pass through the designated area 50 by driving the designated area 50 according to methods i) and/or ii) described above.
  • the robot control system 120 centrally controls the robots 100 based on resource management corresponding to the designated area 50 so that the robots 100 sequentially operate the designated area 50 without interference. ) can be passed.
  • the robot control system 120 triggers the designated area driving mode for each robot of the robots 100 entering the designated area 50, so that each robot enters the designated area running mode. Accordingly, it may be sequentially passed through the designated area 50 .
  • FIGS. 9, 11 and It will be described in more detail with reference to FIG. 13 .
  • FIG. 7 is a flowchart illustrating a method of controlling a plurality of robots to pass through a designated area based on resource management for the designated area, according to an example.
  • the robot control system 120 places the first robot in the entry zone of the designated zone 50 with respect to the first robot entering the designated zone 50 among the plurality of robots 100 .
  • the entry zone may represent a point on the entrance side of the designated zone 50 .
  • the entry zone may be an area (point) 30 in front of the designated zone 50 .
  • the robot control system 120 may determine whether the first robot is located in the entry zone 30 of this designated zone 50 .
  • the robot control system 120 may identify whether the robot is located in the entry zone 30 based on (robot) occupancy information for the entry zone 30 .
  • the robot control system 120 may control the first robot to move to a first point defined within the designated area 50 when the first robot is located in the entry zone 30 . have.
  • the robot control system 120 controls the first robot to move to the first point, the first point as an available point for the first robot among the points defined within the designated area 50 . may be assigned to the first robot.
  • the robot control system 120 may control the first robot to move to the assigned first point.
  • the first point may be a point within the designated area 50 defined by the robot control system 120 that is not occupied by another robot capable of moving the first robot.
  • the first point is a point located next to a point occupied by another robot among points defined within the designated area 50 (as a point at which the first robot can move) or points defined within the designated area 50 . It may be a point farthest from the middle entry zone 30 (eg, a point corresponding to the exit location). Even if it is not occupied by another robot, a point where the first robot cannot move because it is blocked by another robot cannot be the first point.
  • the first point is defined within the designated area 50 . It may be a point (eg, an exit point) that is farthest from the entry zone 30 among the points used.
  • the robot control system 120 may identify that the second robot is located next to the first robot among the plurality of robots 50 in the entry zone 30 .
  • the second robot may be a robot that passes through the designated area 50 after the first robot.
  • the description of the method for identifying whether the first robot is located in the entry zone 30 described above can be similarly applied. A description is omitted.
  • step 750 the robot control system 120 , when the second robot is located in the entry zone 30 , a first point occupied by the first robot among points defined in the designated zone 50 .
  • the second robot may be controlled to move to a second point located next to . By moving the second robot to a second point located next to the first point, the second robot may follow the first robot.
  • the robot control system 120 controls the second robot to move to the second point, the second point as an available point for the second robot among the points defined within the designated area 50 . can be assigned to the second robot.
  • the robot control system 120 may control the second robot to move to the assigned second point.
  • the second point may be a point within the designated area 50 defined by the robot control system 120 that is not occupied by another robot capable of moving the second robot.
  • the second point is a point located next to a point occupied by another robot among points defined within the designated area 50 (as a point at which the second robot can move) or points defined within the designated area 50 . It may be the farthest point from the middle entry zone 30 . Even if it is not occupied by another robot, a point where the second robot cannot move because it is blocked by another robot cannot be the second point.
  • the first point is the farthest point from the entry zone 30 among the points defined in the designated zone 50
  • the second point is the first point from the entry zone 30 among the points defined in the designated zone 50 . It can be the next furthest point to the point.
  • the robot control system 120 controls the first robot as it moves within the designated area 50 (eg, as it moves in the direction of an exit location of the designated area 50 ). If the first point is not occupied, the second robot can be controlled to move to the (empty) first point.
  • the robot control system 120 controls the second robot to move to the first point, the first point as an available point for the second robot among the points defined within the designated area 50 . can be assigned to the second robot.
  • the robot control system 120 may control the second robot to move to the assigned first point. That is, the second robot may move to a point that becomes empty as the preceding first robot moves (a point occupied by the first robot before movement).
  • the following second robot when the first robot moves towards the exit position of the designated area 50, the following second robot may thus move toward the exit position of the designated area 50 and , thus, the first robot and the second robot can sequentially exit the designated area 50 .
  • a robot that passes through the designated area 50 after the second robot ie a robot that is located in the entry area 30 after the second robot
  • the plurality of robots 100 can sequentially exit the designated area 50 (in the order of being located in the entry area 30 ).
  • the above-described allocation of available points within the designated area for the first robot and the second robot may be made based on (robot) occupancy information managed by the robot control system 120 .
  • the robot control system 120 may obtain occupancy information for the designated area 50 .
  • the robot control system 120 may acquire the occupancy information from the DB storing the occupancy information.
  • the robot control system 120 may be configured to store, inquire, and update the occupancy information, and may manage the occupancy information.
  • the robot control system 120 may acquire occupancy information indicating whether each of the points defined in the designated area 50 by the robots 100 is occupied.
  • the robot control system 120 may determine an available point for the robot entering the designated area 50 (ie, located in the entry area 30 ) based on the occupancy information for each of these points, and assign the determined point to the corresponding point. It can be assigned to a robot.
  • the robot control system 120 may allocate available points to the first robot and the second robot based on the occupancy information.
  • the points within the designated area 50 may be predefined points within the designated area 50 .
  • the first and second points described above may be predefined points within the designated area 50 .
  • the robot control system 120 passes through the designated area 50 through points included in the designated area 50 with respect to the designated area 50 in the space 10 (or the path on which the robots 100 travel). It can be predefined as points where the robot is located (waiting). Each of the points may be a waypoint through which the robot must pass to pass through the designated area 50 .
  • the robot control system 120 may define the points by connecting them in a graph form. Information on the defined points may be stored in the robot control system 120 or an external DB.
  • the points within the designated area 50 may be dynamically (ie, variably) defined points, rather than predefined points within the designated area 50 .
  • the first and second points described above may be dynamically defined points within the designated area 50 .
  • the aforementioned second point may be defined to be spaced apart from the first point by a distance determined based on at least one of property information of the first robot and property information of the second robot.
  • the line (line) in which the robots 100 are located may be predefined, and each of the robots 100 is located
  • the location of the point to be made can be defined dynamically on the line.
  • the occupancy information for the designated area 50 may indicate the position of the line occupied by the robots 100 .
  • the occupancy information may be configured to include information about the robot occupying the designated area 50 and location information occupied by the corresponding robot.
  • the robot control system 120 determines the attribute information of the first robot and/or the second robot from the first location. A location spaced apart by a determined distance based on the attribute information of the second robot may be determined as the second point, and the determined second point may be assigned to the second robot.
  • FIG. 14 illustrates a method of dynamically defining a point (standby point) to which a robot moves within a designated area in which a plurality of robots will travel, according to an example.
  • the point W in the designated area 50 to which the robot (the following robot) should move may be dynamically (variably) determined.
  • the position of the point W may be determined based on attributes of the following/preceding robot (eg, at least one of a robot type, a size, and a service provided by the robot).
  • attributes of the following/preceding robot eg, at least one of a robot type, a size, and a service provided by the robot.
  • the preceding robot and/or the following robot are large in size, the service provided by the preceding robot and/or the following robot is high risk (eg, a service to deliver hot liquid, etc.), or requires a lot of space (eg, a service for delivering hot liquid)
  • the position of the point W may be determined to be more spaced apart from the preceding robot than if not.
  • the robots 100 are more efficiently and flexibly. ) can be passed through the designated area (50).
  • the queue manager 1010 illustrated in FIG. 10 may be implemented through the aforementioned queue manager 510 .
  • a “queue” may represent a designated area 50 through which the robots 100 must pass sequentially.
  • the queue manager 1010 may allocate a point available within the designated area 50 to the robot entering the designated area 50 through resource management for the designated area 50 .
  • Queue manager 1010 is a point available for robots entering designated area 50 based on (robot) occupancy information 1050 (indicating whether or not each point within designated area 50 is occupied by a robot). (standby position) can be assigned.
  • the queue manager 1010 may be an entity that manages spatial information of the designated area 50 in order to coordinate the passage of the plurality of robots 100 (ie, multi-robots) through the designated area 50 .
  • Each of the robot controllers 1020-1 to 3 may be an agent-level controller that controls each of the robots 100.
  • Each of the illustrated robots may be a program (for autonomous driving and movement control) mounted on the robot.
  • the robot 1 controller 1020-1 controlling the robot 1 may instruct 1021 to move the robot 1 to the entrance (or the entry area 30) of the narrow area, which is the designated area 50,
  • the queue manager 1010 may request allocation of a waiting location (1022 and 1023).
  • the robot 1 controller 1020-1 may instruct the robot 1 to move to the allocated standby position for the robot 1 when a standby position within the narrow area to which the robot 1 moves is assigned (1024). Robot 1 may move to the assigned standby position and wait at the assigned standby position (1051, 1052).
  • the robot 1 controller 1020-1 may determine whether the standby position of the robot 1 corresponds to the exit position of the narrow area, and if it does not correspond to the exit position, it may be assigned the next available standby position (which is It may be repeated until robot 1 reaches the exit position), and if it corresponds to the exit position, it may be determined (1025, 1026) whether it can escape (exit) the narrow area.
  • the robot 1 can wait at the corresponding exit position, and when the robot 1 can escape the narrow area, the robot can leave the narrow area.
  • 1 can be ordered (1027, 1028).
  • FIG. 12 shows an example of the passage of a specific designated area 50 (a narrow area) of the robots 100. As shown in FIG.
  • points W1 to W5 may be predefined within the designated area 50 .
  • the robot control system 120 sets the farthest point W1 of the robot. It can be assigned to an available waiting point, and the robot can be moved to the point W1.
  • a point W2 (behind the point W1) can be assigned as an available waiting point, and the robot control system 120 sets the robot to a point ( W2) can be moved.
  • a point W3 (behind the point W2) can be assigned as an available waiting point, and the robot control system 120 sets the robot to a point ( W3) can be moved.
  • the robot control system 120 is a waiting point using the (empty) point W1 for the robot located at the point W2. can be assigned, and the corresponding robot can be moved to the point W1.
  • a point W4 (behind the occupied point W3 ) may be assigned as an available waiting point, and the robot control system 120 sets the robot to a point (W4) can be moved.
  • the robot control system 120 may allocate the (empty) point W2 as an available standby point for the robot located at the point W3, and may move the robot to the point W2.
  • the plurality of robots 100 may sequentially pass through the designated area 50 .
  • the robot control system 120 (queue manager 1010) of the embodiment is the entry area. It is possible to control the robots to quickly exit the designated area 50 from the preceding robot while continuously allocating a new available waiting point for the robot located in the 30 and the queue, and at the same time, the robot in the designated area 50 Robots can be controlled to continue moving to an empty waiting point.
  • FIG. 9 is a flowchart illustrating a method of controlling a plurality of robots to pass through a designated area by triggering a designated area driving mode for each robot entering the designated area, according to an example.
  • each robot by triggering the designated area driving mode for each robot of the robots 100 entering the designated area 50 of ii) described above, each robot sequentially follows the designated area driving mode according to the designated area driving mode
  • the method of passing (50) will be described in more detail.
  • step 910 the robot control system 120 sets the first robot in the entry zone 50 of the designated zone 50 with respect to the first robot entering the designated zone 50 among the plurality of robots 100 . This location can be identified. With respect to step 910 , the description of the above-described step 720 may be similarly applied, and thus overlapping description will be omitted.
  • the robot control system 120 may trigger (activate) the designated area driving mode of the first robot.
  • the robot control system 120 may change the driving mode of the first robot from an autonomous driving mode (used in general route driving) to a designated area driving mode.
  • the designated area driving mode may be a special driving mode used by the robot to travel in the designated area 50 such as a narrow area.
  • the first robot may be controlled to move directly to the exit position of the designated area 50 when no other robots (ie, preceding robots) exist within the designated area 50 .
  • the “exit location” may be a location (point) within the designated zone 50 that is closest to the exit of the designated zone 50 .
  • the first robot may be controlled to move to a position spaced apart from the other robot existing in the designated area 50 by a predetermined distance. .
  • the predetermined distance may be determined based on the properties of the first robot and/or the preceding robot.
  • the robot control system 120 may release the designated area driving mode of the first robot when the first robot reaches the exit position of the designated area 50 .
  • the robot control system 120 may change the driving mode of the first robot from the designated area driving mode back to the autonomous driving mode. Accordingly, the first robot that has exited the designated area 50 may travel the path again in the autonomous driving mode.
  • step 940 the robot control system 120 may identify that the second robot is located next to the first robot among the plurality of robots 50 in the entry zone 30 .
  • the description of the above-described step 740 may be similarly applied, and thus a redundant description will be omitted.
  • the robot control system 120 may trigger a designated area driving mode of the second robot.
  • the robot control system 120 may change the driving mode of the second robot from an autonomous driving mode (used in general route driving) to a designated area driving mode.
  • the second robot may be controlled to move to a position spaced apart from the first robot by a predetermined distance when the first robot is present in the designated area 50 .
  • the predetermined distance may be determined based on properties of the first robot (leading robot) and/or the second robot (following robot). Alternatively, the predetermined distance may be a distance preset as a distance in which the first robot and the second robot do not collide or interfere with each other.
  • the second robot is an empty space in the designated area that is generated as the first robot moves within the designated area (ie, moves toward the exit position) (eg, a position (point) occupied by the first robot) can be controlled to move to
  • the second robot may also move along with it.
  • the second robot may be moved while maintaining the predetermined distance from the first robot.
  • the designated area driving mode may be released.
  • a robot that passes through the designated area 50 after the second robot ie a robot that is located in the entry area 30 after the second robot
  • the plurality of robots 100 can sequentially exit the designated area 50 (in the order of being located in the entry area 30 ).
  • control operation of the robots (the first robot and the second robot) in the designated area driving mode may be performed according to logic implemented in the robot or logic implemented in the robot control system 120 .
  • at least some of the control operations of the robots (the first robot and the second robot) in the designated area driving mode may be performed according to logic implemented in the robot.
  • the first robot may identify another robot preceding within the designated area 50 without receiving a command for control of the first robot from the robot control system 120 and , can be moved to a position spaced apart by a predetermined distance from the other identified robot, and can be controlled to move to the exit position of the designated area 50 according to the movement of the other identified robot.
  • the operation in the designated area driving mode of the second robot may likewise be performed without a control command or intervention from the robot control system 120 .
  • the operation in the designated zone driving mode of the robot traveling in the designated zone 50 may be performed based on logic implemented in the robot without intervention of the robot control system 120 serving as a server.
  • the embodiment may be implemented such that the robot control system 120 controls the operation of the robot in the designated area driving mode.
  • the operation of the robot in the designated area driving mode may imitate the movement of people passing through the narrow area. That is to say, the first robot and the second robot may be controlled to pass the designated section 50 by mimicking the operation of sequentially passing a plurality of people in a line through the narrow area in the designated area driving mode.
  • the robots 100 may be controlled similarly to an operation in which people sequentially pass through a narrow passage or corridor in a line to pass through a designated section 50 corresponding to a narrow area.
  • the queue manager 1110 shown in FIG. 11 may be implemented through the aforementioned queue manager 510 .
  • the queue manager 1110 may correspond to the queue manager 1010 described above with reference to FIG. 10 .
  • a “queue” may represent a designated area 50 through which the robots 100 must pass sequentially.
  • the queue manager 1010 may manage robot information 1115 in the queue and exit information of the queue (information on the exit position of the designated area 50 ).
  • Information about the exit location may include, for example, information about whether the exit location is occupied by a robot and/or situational information outside the designated area 50 .
  • the robot information 1115 in the queue is information on robots located in the designated area 50 , and may include information indicating the positions of the robots in the designated area 50 .
  • Each of the robot controllers 1120 - 1 to 3 may be an agent-level controller that controls each of the robots 100 .
  • the illustrated robot may be a program (for autonomous driving and movement control) mounted on the robot.
  • the robot 1 controller 1120-1 controlling the robot 1 may instruct 1021 to move the robot 1 to the entrance (or entry area 30) of the narrow area, which is the designated area 50, It is possible to trigger the queue mode (in-queue driving mode) of robot 1 (the aforementioned, designated area driving mode). That is, the driving mode of robot 1 may be changed from the normal driving mode to the queue mode (in-queue driving mode) ( 1122 ). Accordingly, the robot 1 controller 1120-1 may instruct the robot 1 to move to the exit position (1123).
  • robot 1 may move toward the exit position (1151) and detect whether a preceding robot exists (1152).
  • the robot may stand by at a position spaced apart from the preceding robot by a predetermined distance ( 1153 ), and when the preceding robot is not detected or the preceding robot has moved, the movement to the exit position may be continued. Steps 1151 - 1154 may be repeated until robot 1 reaches the exit position.
  • Robot 1's movement to the exit position may be monitored (1124) by robot 1 controller (1120-1). This monitored information may be delivered to the queue manager 1110 as robot information in the queue.
  • the robot 1 controller 1120-1 may release the queue mode of the robot 1 and change the driving mode to the normal driving mode when the operation of the robot at the exit position is confirmed. Therefore, robot 1 can be controlled in the normal driving mode after passing through the queue.
  • the operation of the robot in the in-queue driving mode may be performed without a control command from the robot control system 130 .
  • a robot that wants to pass through the designated area 50 may move to the entry area 30 of the designated area 50 under control from the robot control system 120 .
  • the robot may change the autonomous driving mode (previously set) of the robot to the designated area driving mode according to a trigger by the robot control system 120 .
  • the robot can determine whether there is another robot preceding in the designated area 50, and if there is no other robot in the designated area 50, You can go directly to the exit location of the designated area 50 .
  • the robot may move to a position spaced apart from the other robot by a predetermined distance.
  • the robot When another robot (which is a preceding robot in the designated area 50) exists, the robot is an empty space in the designated area 50 generated according to the movement of the other robot (ie, the position occupied by the preceding robot) By moving to (ie, towards) the exit location of the designated area 50 can be moved.
  • the robot may change the designated area driving mode (which is being set) to the autonomous driving mode. Accordingly, after exiting the designated area 50 , the robot may operate in an autonomous driving mode.
  • FIG. 13 shows an example of passage of a specific designated area 50 (narrow area) of the robots 100 .
  • the robots 100 may be controlled by receiving information about a route (path planning) and a mode change trigger (ie, a mode change trigger to a designated area driving mode) from the robot control system 120 .
  • a mode change trigger ie, a mode change trigger to a designated area driving mode
  • the robot control system 120 switches the driving mode of the robot to the designated area driving mode. and since there is no preceding robot, the robot can move directly to the exit position (see FIGS. 13A to 13C ).
  • the robot control system 120 may switch the driving mode of the corresponding robot to the designated zone driving mode, and since the preceding robot exists, the robot waits behind the preceding robot can (see FIGS. 13C and 13D).
  • the robot control system 120 may switch the driving mode of the corresponding robot to the designated zone driving mode, and since the preceding robot exists, the robot waits behind the preceding robot can do. At this time, if the robot occupying the exit position exits the designated area 50, the following robots may move as if pushed in the exit direction (refer to FIGS. 13D to 13F).
  • the robots 100 can pass through the designated area 50 in a line.
  • the robot control system 120 for example, based on the external situation information of the designated area 50, occupies the exit position and The existing robots can be continuously moved to exit the designated area 50 one by one, and when an empty space occurs in the designated area 50, the robots in the designated area 50 are simultaneously moved toward the exit position to fill the empty space. It is possible to control the robots 100 so as to Thus, robots can pass through the designated area 50 just as people line up and pass through a narrow passage.
  • FIG. 8 is a flowchart illustrating a method of controlling a robot traveling in a designated area to leave a designated area according to an example
  • the robot travels the designated area 50 and arrives at the exit position of the designated area 50 .
  • the “exit location” may be, for example, a location (point) within the designated zone 50 that is closest to the exit of the designated zone 50 .
  • the robot control system 120 may control the robot to exit the designated area 50 from the exit location of the designated area 50 based on the situation information outside the designated area 50 . have. For example, when the robot control system 120 reaches the exit position of the designated area 50 as the robot (robots 100 including the first robot or the second robot described above) travels through the designated area 50 , , based on the situation information, it is possible to control the robot to exit the designated area 50 from the exit location.
  • step 810 the robot control system 120 .
  • the robot is controlled to move to a position occupied by the robot that has exited the designated area 50 . After that, based on the situation information, it is possible to control to exit the designated area 50 from the exit location.
  • the following robot may be controlled to move to a position occupied by the preceding robot and then exit the designated area 50 from the exit position.
  • the position occupied by the preceding robot may be an exit position.
  • the robots 100 may sequentially exit the designated area 50 based on the external context information of the designated area 50 .
  • the situation information outside the designated area 50 may include a degree of congestion outside the designated area 50 , that is, in an area near the exit location. For example, when the degree of congestion in the area near the exit location is less than a predetermined value (eg, the number of obstacles such as robots and people is less than a predetermined value), the robot control system 120 may cause the robot to exit the designated area 50 can make it In other words, if the context information indicates that the robot can exit the designated area 50 , the robot control system 120 may allow the robot to escape from the designated area 50 .
  • a predetermined value eg, the number of obstacles such as robots and people is less than a predetermined value
  • the robot control system 120 includes location information of each of the robots being monitored, location information of each person being monitored, an indoor map of the space 10 used for route planning of the robots, and a CCTV installed in the space 10 .
  • Context information may be generated based on at least one of the image information obtained from For example, the robot control system 120 may calculate the congestion level of the corresponding area by analyzing the image from the CCTV photographing the area near the exit location, and may use the calculated congestion level as situation information.
  • FIG. 8 The description of the technical features described above with reference to FIGS. 1 to 7 and FIGS. 9 to 14 can be applied to FIG. 8 as it is, and thus a redundant description will be omitted.
  • the system or apparatus described above may be implemented as a hardware component, a software component, or a combination of a hardware component and a software component.
  • devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • OS operating system
  • the processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
  • the software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
  • the software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. may be permanently or temporarily embody in
  • the software may be distributed over networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored in one or more computer-readable recording media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software.
  • Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floppy disks.
  • - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

로봇들이 자율 주행하는 공간 내에서, 로봇들이 통과해야 할 지정 구역을 식별하고, i) 지정 구역 내에서 정의되는 제1 지점을 거쳐 해당 지정 구역을 통과하도록 로봇을 제어하거나, ii) 로봇의 지정 구역 주행 모드를 트리거하여, 지정 구역 주행 모드로 해당 지정 구역을 통과하도록 로봇을 제어하여, 복수의 로봇들 각각이 순차적으로 지정 구역을 통과할 수 있도록 로봇을 제어하는 방법이 제공된다.

Description

지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템과, 로봇이 배치되는 건물
아래의 설명은 협소 구역(confined area)과 같은 지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템에 관한 것이다.
자율 주행 로봇은 스스로 주변을 살피고 장애물을 감지하면서 바퀴나 다리를 이용하여 목적지까지 최적 경로를 찾아가는 로봇으로, 자율 주행 차량이나, 물류, 호텔 서비스, 로봇 청소기 등 다양한 분야를 위해 개발 및 활용되고 있다.
서비스를 제공하기 위해 건물과 같은 공간 내에서는 다수의 로봇들이 운용될 수 있다. 다수의 로봇들이 공간 내에서 운용되는 경우, 로봇들이 건물 내의 좁은 통로/복도와 같은 협소 구역을 주행해야 하는 경우가 있다. 협소 구역에 다수의 로봇들이 밀집하게 되면, 로봇들 서로 간의 충돌 및 간섭이나, 로봇들과 지물들 간의 충돌 및 간섭의 가능성이 높아질 수 있다. 이는 로봇들의 이동 효율을 저하시키며, 따라서, 로봇들에 의한 서비스의 제공을 비효율적이게 만들 수 있다.
따라서, 다수의 로봇들이 협소 구역을 주행함에 있어서 로봇들의 이동을 조율하여, 로봇들이 효율적으로 협소 구역을 통과할 수 있도록 하는, 로봇 제어 방법 및 시스템이 요구된다.
한국공개특허 제10-2005-0024840호는 자율이동로봇을 위한 경로계획방법에 관한 기술로, 가정이나 사무실에서 자율적으로 이동하는 이동로봇이 장애물을 회피하면서 목표점까지 안전하고 빠르게 이동할 수 있는 최적경로를 계획하는 방법에 대해 개시하고 있다.
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.
로봇들이 자율 주행하는 공간 내에서, 로봇들이 통과해야 할 지정 구역을 식별하고, i) 지정 구역 내에서 정의되는 제1 지점을 거쳐 해당 지정 구역을 통과하도록 로봇을 제어하거나, ii) 로봇의 지정 구역 주행 모드를 트리거하여, 지정 구역 주행 모드로 해당 지정 구역을 통과하도록 로봇을 제어하여, 복수의 로봇들 각각이 순차적으로 지정 구역을 통과할 수 있도록 로봇을 제어하는 방법을 제공한다.
다수의 로봇들이 협소 구역과 같은 지정 구역을 통과하도록 제어됨에 있어서, 로봇 제어 시스템 측에서 상기 지정 구역에 해당하는 자원 관리에 기반하여 로봇들을 중앙 제어하여 로봇들이 간섭 없이 순차적으로 지정 구역을 통과할 수 있도록 하는 로봇 제어 방법을 제공한다.
다수의 로봇들이 협소 구역과 같은 지정 구역을 통과하도록 제어됨에 있어서, 각 로봇에 대해 지정 구역 주행 모드를 트리거하여, 각 로봇이 지정 구역 주행 모드에 따라 순차적으로 지정 구역을 통과할 수 있도록 하는 로봇 제어 방법을 제공한다.
일 측면에 있어서, 공간 내에서 이동하는 복수의 로봇들을 제어하는 로봇 제어 시스템에 의해 수행되는 로봇 제어 방법에 있어서, 상기 로봇들이 통과해야 할 지정 구역을 식별하는 단계, 상기 복수의 로봇들 중 상기 지정 구역에 진입하는 제1 로봇에 대해, i) 상기 로봇 제어 시스템에 의해 상기 지정 구역 내에서 정의되는 제1 지점을 거쳐 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하거나, ii) 상기 제1 로봇의 지정 구역 주행 모드를 트리거하여, 상기 지정 구역 주행 모드로 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하는 단계 및 상기 복수의 로봇들 중 상기 제1 로봇 다음으로 상기 지정 구역에 진입하는 각 로봇이 순차적으로 상기 지정 구역을 통과하도록, 상기 각 로봇을 제어하는 단계를 포함하는, 로봇 제어 방법이 제공된다.
상기 지정 구역은 상기 복수의 로봇들의 각각이 순차적으로 일렬로 통과할 것이 요구되는 상기 공간 내의 구간일 수 있다.
상기 제1 로봇을 제어하는 단계는, 상기 지정 구역의 진입 구역에 상기 제1 로봇이 위치함을 식별하는 단계 및 상기 제1 지점으로 이동하도록 상기 제1 로봇을 제어하는 단계를 포함하고, 상기 제1 지점은, 상기 제1 로봇이 이동 가능한 지점으로서, 상기 지정 구역 내에 정의되는 지점들 중 다른 로봇이 점유하고 있는 지점 다음에 위치하는 지점 또는 상기 지정 구역 내에 정의되는 지점들 중 상기 진입 구역으로부터 가장 먼 지점이고, 상기 각 로봇을 제어하는 단계는, 상기 진입 구역에 상기 복수의 로봇들 중 상기 제1 로봇 다음으로 제2 로봇이 위치함을 식별하는 단계 및 상기 지정 구역 내에 정의되는 지점들 중 상기 제1 로봇에 의해 점유되고 있는 상기 제1 지점의 다음에 위치하는 제2 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계를 포함할 수 있다.
상기 각 로봇을 제어하는 단계는, 상기 제1 로봇이 상기 지정 구역 내를 이동함에 따라, 상기 제1 로봇이 상기 제1 지점을 점유하지 않게 되면, 상기 제1 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계를 포함할 수 있다.
상기 제1 지점으로 이동하도록 상기 제1 로봇을 제어하는 단계는, 상기 지정 구역 내에 정의되는 지점들 중 상기 제1 로봇에 대해 가용한 지점으로서 상기 제1 지점을 상기 제1 로봇에 할당하는 단계 및 상기 할당된 제1 지점으로 이동하도록 상기 제1 로봇을 제어하는 단계를 포함하고, 상기 제2 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계는, 상기 지정 구역 내에 정의되는 지점들 중 상기 제2 로봇에 대해 가용한 지점으로서 상기 제2 지점을 상기 제2 로봇에 할당하는 단계 및 상기 할당된 제2 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계를 포함하고, 상기 제1 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계는, 상기 지정 구역 내에 정의되는 지점들 중 상기 제2 로봇에 대해 가용한 지점으로서 상기 제1 지점을 상기 제2 로봇에 할당하는 단계 및 상기 할당된 제1 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계를 포함할 수 있다.
상기 제1 지점 및 상기 제2 지점은 상기 지정 구역 내에 미리 정의된 지점들이고, 상기 로봇 제어 방법은, 상기 복수의 로봇들에 의해 상기 지점들의 각각이 점유되고 있는지를 나타내는 점유 정보를 획득하는 단계를 더 포함하고, 상기 제1 로봇 및 상기 제2 로봇에 대한 가용한 지점의 할당은 상기 점유 정보에 기반하여 수행될 수 있다.
상기 제1 지점 및 상기 제2 지점은 상기 지정 구역 내에서 동적으로 정의되는 지점들이고, 상기 제2 지점은 상기 제1 로봇의 속성 정보 및 상기 제2 로봇의 속성 정보 중 적어도 하나에 기반하여 결정된 거리만큼 상기 제1 지점으로부터 이격되도록 정의될 수 있다.
상기 제1 로봇은 상기 복수의 로봇들 중 상기 진입 구역에 가장 먼저 진입하는 로봇이고, 상기 제1 지점은 상기 지정 구역 내에 정의되는 지점들 중 상기 진입 구역으로부터 가장 먼 지점이고, 상기 제2 지점은 상기 지정 구역 내에 정의되는 지점들 중 상기 진입 구역으로부터 상기 제1 지점의 다음으로 가장 먼 지점일 수 있다.
상기 제1 로봇을 제어하는 단계는, 상기 지정 구역의 외부의 상황 정보에 기반하여, 상기 지정 구역의 출구 위치로부터 상기 지정 구역을 빠져나가도록 상기 제1 로봇을 제어하는 단계를 포함하고, 상기 제1 로봇의 다음으로 상기 지정 구역에 진입하는 제2 로봇은 상기 제1 로봇이 점유하고 있던 위치로 이동하도록 제어된 후, 상기 상황 정보에 기반하여 상기 출구 위치로부터 상기 지정 구역을 빠져나가도록 제어될 수 있다.
상기 제1 로봇을 제어하는 단계는, 상기 지정 구역의 진입 구역에 상기 제1 로봇이 위치함을 식별하는 단계 및 상기 제1 로봇의 지정 구역 주행 모드를 트리거하는 단계를 포함하고, 상기 지정 구역 주행 모드에서, 상기 제1 로봇은 상기 지정 구역 내에 다른 로봇이 존재하지 않는 경우에는 상기 지정 구역의 출구 위치로 바로 이동하도록 제어되고, 상기 제1 로봇은 상기 지정 구역 내에 다른 로봇이 존재하는 경우에는 상기 지정 구역 내에 존재하는 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하도록 제어될 수 있다.
상기 제1 로봇을 제어하는 단계는, 상기 제1 로봇이 상기 지정 구역의 출구 위치에 도달한 경우, 상기 지정 구역 주행 모드를 해제하는 단계를 포함할 수 있다.
상기 각 로봇을 제어하는 단계는, 상기 진입 구역에 상기 복수의 로봇들 중 상기 제1 로봇 다음으로 제2 로봇이 위치함을 식별하는 단계 및 상기 제2 로봇의 지정 구역 주행 모드를 트리거하는 단계를 포함하고, 상기 지정 구역 주행 모드에서, 상기 제2 로봇은 상기 지정 구역 내에 상기 제1 로봇이 존재하는 경우 상기 제1 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하도록 제어되되, 상기 제1 로봇이 상기 지정 구역 내를 이동함에 따라 발생되는 상기 지정 구역 내의 빈 공간으로 이동하도록 제어될 수 있다.
상기 지정 구역 주행 모드에서, 상기 제1 로봇 및 상기 제2 로봇은, 협소 구역을 복수의 사람들이 일렬로 순차적으로 통과하는 동작을 모방하여, 상기 지정 구간을 통과하도록 제어될 수 있다.
상기 지정 구역 주행 모드에서, 상기 제1 로봇은, 상기 로봇 제어 시스템으로부터 상기 제1 로봇의 제어를 위한 명령을 수신하지 않고, 상기 지정 구역 내에서 선행하고 있는 다른 로봇을 식별하고, 식별된 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하고, 식별된 다른 로봇의 이동에 따라 상기 출구 위치로 이동하도록 제어될 수 있다.
다른 일 측면에 있어서, 공간 내에서 이동하는 복수의 로봇들을 제어하는 로봇 제어 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 로봇들이 통과해야 할 지정 구역을 식별하고, 상기 복수의 로봇들 중 상기 지정 구역에 진입하는 제1 로봇에 대해, i) 상기 로봇 제어 시스템에 의해 상기 지정 구역 내에서 정의되는 제1 지점을 거쳐 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하거나, ii) 상기 제1 로봇의 지정 구역 주행 모드를 트리거하여, 상기 지정 구역 주행 모드로 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하고, 상기 복수의 로봇들 중 상기 제1 로봇 다음으로 상기 지정 구역에 진입하는 각 로봇이 순차적으로 상기 지정 구역을 통과하도록, 상기 각 로봇을 제어하는, 로봇 제어 시스템이 제공된다.
다른 일 측면에 있어서, 서비스를 제공하기 위해 공간 내에서 이동하는 로봇을 제어하는 방법에 있어서, 상기 로봇을 포함하는 복수의 로봇들을 제어하는 로봇 제어 시스템으로부터의 제어에 따라, 상기 로봇이 통과해야 하는 지정 구역의 진입 구역으로 이동하는 단계, 상기 로봇 제어 시스템에 의한 트리거에 따라, 상기 로봇의 자율 주행 모드를 지정 구역 주행 모드로 변경하는 단계, 상기 지정 구역 내에서 선행하고 있는 다른 로봇이 존재하는지 여부를 판정하는 단계, 상기 지정 구역 내에 다른 로봇이 존재하지 않는 경우에는 상기 지정 구역의 출구 위치로 바로 이동하되, 상기 다른 로봇이 존재하는 경우에는 상기 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하는 단계, 상기 다른 로봇이 존재하는 경우 상기 다른 로봇의 이동에 따라 발생되는 상기 지정 구역 내의 빈 공간으로 이동함으로써 상기 지정 구역의 출구 위치를 향해 이동하는 단계 및 상기 출구 위치에 도달한 경우, 상기 로봇 제어 시스템에 의한 제어에 따라, 상기 지정 구역 주행 모드를 상기 자율 주행 모드로 변경하는 단계를 포함하는, 로봇 제어 방법이 제공된다.
다수의 로봇들이 협소 구역과 같은 지정 구역을 주행함에 있어서, 로봇들 서로 간의 충돌 및 간섭이나 로봇들과 지물들 간의 충돌 및 간섭을 최소화하여, 순차적으로 로봇들 각각이 지정 구역을 통과할 수 있다.
로봇 제어 시스템 측에서의 다수의 로봇들이 주행하는 공간 내의 지정 구역에 대한 자원 관리에 기반하여, 로봇들이 중앙 제어되어 효율적으로 지정 구역을 통과하도록 제어될 수 있다.
로봇 제어 시스템 측에서 협소 구역과 같은 지정 구역에 진입하는 각 로봇에 대해 지정 구역 주행 모드를 트리거함으로써, 각 로봇이 지정 구역 주행 모드를 통해 지정 구간 내의 다른 로봇을 고려하여 효율적으로 지정 구역을 통과하도록 제어될 수 있다.
도 1은 일 실시예에 따른, 공간 내에서 협소 구역과 같은 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타낸다.
도 2 는 일 실시예에 따른, 공간 내에서 서비스를 제공하는 로봇을 나타내는 블록도이다.
도 3 내지 도 5는 일 실시예에 따른, 복수의 로봇들을 제어하는 로봇 제어 시스템을 나타내는 블록도이다.
도 6은 일 실시예에 따른, 공간 내에서 협소 구역과 같은 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타내는 흐름도이다.
도 7은 일 예에 따른, 지정 구역에 대한 자원 관리에 기반하여 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타내는 흐름도이다.
도 8은 일 예에 따른, 지정 구역을 주행하는 로봇에 대해 지정 구역을 빠져나가도록 해당 로봇을 제어하는 방법을 나타내는 흐름도이다.
도 9는 일 예에 따른, 지정 구역에 진입하는 각 로봇에 대해 지정 구역 주행 모드를 트리거하여 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타내는 흐름도이다.
도 10 및 도 12는 일 예에 따른, 지정 구역에 대한 자원 관리에 기반하여 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타낸다.
도 11 및 도 13은 일 예에 따른, 지정 구역에 진입하는 각 로봇에 대해 지정 구역 주행 모드를 트리거하여, 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타낸다.
도 14는 일 예에 따른, 복수의 로봇들이 주행할 지정 구역 내에서 로봇이 이동할 지점(대기 지점)을 동적으로 정의하는 방법을 나타낸다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따른, 공간 내에서 협소 구역과 같은 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타낸다.
도 1에서는 공간(10) 내에서 서비스를 제공하도록 구성되는 복수의 로봇들(100)이 로봇 제어 시스템(120)에 의한 제어에 따라 공간(10) 내의 지정 구역(50)을 통과하는(즉, 지정 구역(50) 내를 주행하여 빠져나가는) 방법이 도시되었다.
공간(10)은 로봇들(100)이 서비스를 제공하는 장소로서, 예컨대, 건물을 나타낼 수 있다. 이러한 건물은 복수의 인원(이하, 사용자라 함)들이 근무 또는 상주하는 공간으로서, 복수의 구획된 공간들을 포함할 수 있다. 공간(10)은 건물의 일부(특정 층 또는 해당 층 내의 부분 공간)를 나타낼 수 있다.
로봇들(100)은 공간(10) 내에서 서비스를 제공하기 위해 사용되는 서비스 로봇일 수 있다. 로봇들(100)은 공간(10)의 적어도 하나의 층에서 서비스를 제공하도록 구성될 수 있다. 로봇들(100)은 도시된 것처럼 복수일 수 있다. 공간(10) 내에서는 로봇들(100)의 각각이 이동하여 공간(10) 내의 적절한 위치 또는 적절한 사용자에게 서비스를 제공할 수 있다.
로봇들(100)이 제공하는 서비스는 예컨대, 택배 전달 서비스, 주문에 따른 음료(커피 등) 전달 서비스, 청소 서비스, 및 기타 정보/콘텐츠 제공 서비스 중 적어도 하나를 포함할 수 있다.
로봇들(100)은 자율 주행을 통해 공간(10)의 소정의 위치에서 또는 소정의 사용자에게 서비스를 제공할 수 있다. 로봇들(100)의 (각각의) 이동 및 서비스의 제공은 로봇 제어 시스템(120)에 의해 제어될 수 있다. 로봇 제어 시스템(120)의 구조에 대해서는 후술될 도 3 내지 도 5를 참조하여 더 자세하게 설명된다. 로봇들(100)은 로봇 제어 시스템(120)에 의해 설정된 경로를 따라 주행함으로써 소정의 위치 또는 소정의 사용자에게 이동할 수 있고, 따라서, 소정의 위치에서 또는 소정의 사용자에게 서비스를 제공할 수 있다.
도시된 것처럼, 공간(10) 내에는 지정 구역(50)이 포함될 수 있다. 지정 구역(50)은 협소 구역(confined/narrow area)으로서, 예컨대, 로봇들(100)이 주행하기에 폭이 다소 좁거나, 다수의 로봇들이 동시에 주행하기에는 제한이 있는 구역일 수 있다. 일례로, 지정 구역(50)은 복수의 로봇들(100)의 각각이 순차적으로 일렬로 통과할 것이 요구되는 공간(10) 내의 구간일 수 있다. 즉, 지정 구역(50)은 로봇들(100)이 주행해야 하는 경로의 일부로서 로봇들(100)의 각각이 순차적으로 일렬로 통과할 것이 요구되는 구간을 나타낼 수 있다. 이러한 지정 구역(50)은 공간 내에 복수개 존재할 수 있다.
실시예에서는, 로봇 제어 시스템(120)은 로봇들(100)이 자율 주행하는 공간(10) 내에서, 로봇들(100)이 통과해야 할 지정 구역을 식별할 수 있다. 로봇 제어 시스템(120)은 i) 지정 구역(50) 내에서 정의되는 제1 지점을 거쳐 해당 지정 구역(50)을 통과하도록 로봇을 제어하거나, ii) 로봇들(100)의 각각에 대해 지정 구역 주행 모드를 트리거하여, 지정 구역 주행 모드로 해당 지정 구역(50)을 통과하도록 로봇들(100)을 제어하여, 로봇들(100) 각각이 순차적으로 지정 구역(50)을 통과할 수 있도록 로봇을 제어할 수 있다.
말하자면, 실시예에서는, 로봇들(100)을 협소 구역과 같은 지정 구역(50)을 통과하도록 제어함에 있어서, 상기 i)에서와 같이, 로봇 제어 시스템(120)이 지정 구역(50)에 해당하는 자원 관리에 기반하여 로봇들(100)을 중앙 제어하여 로봇들(100)이 간섭 없이 순차적으로 지정 구역(50)을 통과하도록 할 수 있다. 또는/추가적으로, 실시예에서는, 상기 ii)에서와 같이, 지정 구역(50)에 진입하는 로봇들(100)의 각 로봇에 대해 지정 구역 주행 모드를 트리거하여, 각 로봇이 지정 구역 주행 모드에 따라 순차적으로 지정 구역(50)을 통과하도록 할 수 있다.
예컨대, 도시된 예시에서와 같이, 실시예에서는 i) 및/또는 ii)에 따른 로봇들(100)의 제어에 따라, 로봇들(100)의 각각이 순차적으로 지정 구역(50)을 통과할 수 있다. 로봇들(100)은 도시된 것처럼 일렬로 순서대로 지정 구역(50)에 진입하여 지정 구역(50)을 빠져나갈 수 있다. 지정 구역(50)의 입구 측에서 로봇들은 순차적으로(예컨대, ① 내지 ④의 순서로) 지정 구역(50)에 진입하여 먼저 진입한 순서대로 지정 구역(50)을 빠져나가도록 제어될 수 있다.
지정 구역(50)을 통과하도록 로봇들(100)을 제어하는 보다 구체적인 방법에 대해서는 후술될 도 2 내지 도 14를 참조하여 더 자세하게 설명한다.
도 2 는 일 실시예에 따른, 공간 내에서 서비스를 제공하는 로봇을 나타내는 블록도이다.
전술한 것처럼, 로봇들(100)은 공간(10) 내에서 서비스를 제공하기 위해 사용되는 서비스 로봇일 수 있다. 로봇들(100)은 자율 주행을 통해 공간(10)의 소정의 위치에서 또는 소정의 사용자에게 서비스를 제공할 수 있다.
아래에서는 설명의 편의상 로봇들(100) 중 하나에 해당하는 로봇에 대해 로봇들(100)과 동일한 참조번호 '100'를 부여하여 설명한다.
로봇(100)은 물리적인 장치일 수 있으며, 도시된 바와 같이, 제어부(104), 구동부(108), 센서부(106) 및 통신부(102)를 포함할 수 있다.
제어부(104)는 로봇(100)에 내장된 물리적인 프로세서일 수 있으며, 도시되지는 않았으나, 경로 계획 처리 모듈, 맵핑 처리 모듈, 구동 제어 모듈, 로컬리제이션 처리 모듈, 데이터 처리 모듈 및 서비스 처리 모듈을 포함할 수 있다. 이 때, 경로 계획 처리 모듈, 맵핑 처리 모듈 및 로컬리제이션 처리 모듈은 로봇 제어 시스템(120)과 통신이 이루어지지 않는 경우에도 로봇(100)의 실내 자율 주행이 이루어질 수 있도록 하기 위해 실시예에 따라 선택적으로 제어부(104)에 포함되는 것일 수 있다.
통신부(102)는 로봇(100)이 다른 장치(다른 로봇 또는 로봇 제어 시스템(120) 등)와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(102)는 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 로봇(100)의 안테나, 데이터 버스, 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.
구동부(108)는 로봇(100)의 이동을 제어하며 이동을 가능하게 하는 구성으로서 이를 수행하기 위한 장비를 포함할 수 있다.
센서부(106)는 로봇(100)의 자율 주행 및 서비스 제공에 있어서 요구되는 데이터를 수집하기 위한 구성일 수 있다. 센서부(106)는 고가의 센싱 장비를 포함하지 않을 수 있고, 단지 저가형 초음파 센서 및/또는 저가형 카메라 등과 같은 센서를 포함할 수 있다. 센서부(106)는 전방 및/또는 후방의 다른 로봇이나 사람을 식별하기 위한 센서를 포함할 수 있다. 예컨대, 센서부(106)의 카메라를 통해 다른 로봇, 사람 및 기타 지물들이 식별될 수 있다. 또는, 센서부(106)는 적외선 센서(또는 적외선 카메라)를 포함할 수 있다. 센서부(106)는 카메라 외에 주변의 사용자나, 다른 로봇 또는 지물을 인식/식별하기 위한 센서를 더 포함할 수도 있다.
일례로, 제어부(104)의 데이터 처리 모듈은 센서부(106)의 센서들의 출력값을 포함하는 센싱 데이터를 통신부(102)를 통해 로봇 제어 시스템(120)으로 전송할 수 있다. 로봇 제어 시스템(120)은 공간(10) 내의 실내 지도를 사용하여 생성된 경로 데이터를 로봇들(100)으로 전송할 수 있다. 경로 데이터는 통신부(102)를 통해 데이터 처리 모듈로 전달될 수 있다. 데이터 처리 모듈은 경로 데이터를 바로 구동 제어 모듈로 전달할 수 있고, 구동 제어 모듈은 경로 데이터에 따라 구동부(108)를 제어하여 로봇들(100)의 실내 자율 주행을 제어할 수 있다.
로봇(100)과 로봇 제어 시스템(120)이 통신할 수 없는 경우, 데이터 처리 모듈은 센싱 데이터를 로컬리제이션 처리 모듈로 전송하고, 경로 계획 처리 모듈과 맵핑 처리 모듈을 통해 경로 데이터를 생성하여 로봇(100)의 실내 자율 주행을 직접 처리할 수도 있다.
로봇(100)은 공간(10) 내의 실내 지도를 생성하기 위해 사용되는 맵핑 로봇과는 구별되는 것일 수 있다. 이 때, 로봇(100)은 고가의 센싱 장비를 포함하지 않기 때문에 저가형 초음파 센서 및/또는 저가형 카메라 등과 같은 센서의 출력값을 이용하여 실내 자율 주행을 처리할 수 있다. 한편, 로봇(100)이 기존에 로봇 제어 시스템(120)과의 통신을 통해 실내 자율 주행을 처리한 적이 있다면, 로봇 제어 시스템(120)으로부터 기존에 수신한 경로 데이터가 포함하는 맵핑 데이터 등을 더 활용함으로써 저가의 센서들을 이용하면서도 보다 정확한 실내 자율 주행이 가능하게 될 수 있다.
다만, 실시예에 따라 로봇(100)은 상기 맵핑 로봇을 겸할 수도 있다.
서비스 처리 모듈은 로봇 제어 시스템(120)을 통해 수신되는 명령을 통신부(102)를 통해 또는 통신부(102)와 데이터 처리 모듈을 통해 전달받을 수 있다. 구동부(108)는 로봇(100)의 이동을 위한 장비뿐만 아니라, 로봇(100)이 제공하는 서비스와 관련된 장비를 더 포함할 수 있다. 예컨대, 음식물/택배물 전달 서비스를 수행하기 위해 로봇(100)의 구동부(108)는 음식물/택배물을 적재하기 위한 구성이나 음식물/택배물을 사용자에게 전달하기 위한 구성(일례로, 로봇 암(arm))을 포함할 수 있다. 또한, 로봇(100)은 정보/콘텐츠의 제공을 위한 스피커 및/또는 디스플레이 등을 더 포함할 수도 있다. 서비스 처리 모듈은 제공해야 할 서비스를 위한 구동 명령을 구동 제어 모듈로 전달할 수 있고, 구동 제어 모듈은 구동 명령에 따라 로봇들(100)이나 구동부(108)가 포함하는 구성을 제어하여 서비스가 제공될 수 있도록 할 수 있다.
로봇(100)은 로봇, 제어 시스템(120)에 의한 제어를 통해, 공간(10) 내의 협소 구역과 같은 지정 구역(50)을 주행할 수 있으며, 다른 로봇(들)과의 조율을 통해 지정 구역(50)을 효율적으로 통과할 수 있다.
로봇(100)은 로봇(100)의 제어를 위한 센싱 데이터를 로봇 제어 시스템(120)으로 제공할 뿐이라는 점에서 브레인리스 로봇에 해당할 수 있다.
한편, 로봇들(100)의 각각은 기종이나 제공하는 서비스 등에 따라, 상이한 크기 및 형태를 가질 수 있다.
로봇들(100)을 제어하는 로봇 제어 시스템(120)의 구성 및 동작에 대해서는 후술될 도 3 내지 도 5를 참조하여 각각 더 자세하게 설명된다.
이상 도 1을 참조하여 전술된 기술적 특징에 대한 설명은, 도 2에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 3 내지 도 5는 일 실시예에 따른, 복수의 로봇들을 제어하는 로봇 제어 시스템을 나타내는 블록도이다.
로봇 제어 시스템(120)은 전술된 로봇들(100)의 공간(10) 내에서의 이동(즉, 주행) 및 로봇들(100)에 의한 공간(10) 내에서의 서비스의 제공을 제어하는 장치일 수 있다. 로봇 제어 시스템(120)은 복수의 로봇들(100) 각각의 이동 및 로봇들(100) 각각의 서비스의 제공을 제어할 수 있다. 로봇 제어 시스템(120)은 로봇들(100)과의 통신을 통해, 로봇들(100)이 서비스를 제공하기 위한 경로를 설정할 수 있고, 이러한 경로에 관한 정보를 로봇들(100)에게 전달할 수 있다. 로봇들(100)은 수신된 경로에 관한 정보에 따라 주행할 수 있고, 소정의 위치에서 또는 소정의 사용자에게 서비스를 제공할 수 있다. 로봇 제어 시스템(120)은 상기 설정된 경로에 따라 로봇이 이동(주행)하도록 로봇의 이동을 제어할 수 있다.
로봇 제어 시스템(120)은 적어도 하나의 컴퓨팅 장치를 포함할 수 있다.
로봇 제어 시스템(120)은 전술한 것처럼 로봇들(100)의 주행을 위한 경로를 설정하고 로봇들(100)의 이동을 제어하는 장치일 수 있다. 로봇 제어 시스템(120)은 적어도 하나의 컴퓨팅 장치를 포함할 수 있고, 공간(10) 내 또는 공간(10) 외부에 위치하는 서버(예컨대, 클라우드 서버)로 구현될 수 있다.
로봇 제어 시스템(120)은 도시된 것처럼, 메모리(330), 프로세서(320), 통신부(310) 및 입출력 인터페이스(340)를 포함할 수 있다.
메모리(330)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(330)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(330)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(330)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신부(310)를 통해 메모리(330)에 로딩될 수도 있다.
프로세서(320)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(330) 또는 통신부(310)에 의해 프로세서(320)로 제공될 수 있다. 예를 들어, 프로세서(320)는 메모리(330)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. 이러한 프로세서(320)는 도 4 및 도 5에서 도시된 것과 같은 구성들(410 내지 440, 510 내지 530)을 포함할 수 있다.
프로세서(320)의 구성들(410 내지 440, 510 내지 530) 각각은 프로세서(320)의 일부로서 소프트웨어 및/또는 하드웨어 모듈일 수 있고, 프로세서에 의해 구현되는 기능(기능 블록)을 나타낼 수 있다. 프로세서(320)의 구성들(410 내지 440, 510 내지 530))에 대해서는 도 4 및 도 5를 참조하여 후술한다.
통신부(310)는 로봇 제어 시스템(120)이 다른 장치(로봇들(100) 또는 다른 서버 등)와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(310)는 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 로봇 제어 시스템(120)의 안테나, 데이터 버스, 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.
입출력 인터페이스(340)는 키보드 또는 마우스 등과 같은 입력 장치 및 디스플레이나 스피커와 같은 출력 장치와의 인터페이스를 위한 수단일 수 있다.
또한, 다른 실시예들에서 로봇 제어 시스템(120)은 도시된 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다.
도 4를 참조하여 프로세서(320)의 구성들(410 내지 440)에 대해 더 자세하게 설명한다. 프로세서(320)는 도시된 것처럼, 맵 생성 모듈(410), 로컬리제이션 처리 모듈(420), 경로 계획 처리 모듈(430) 및 서비스 운영 모듈(440)을 포함할 수 있다. 이러한 프로세서(320)가 포함하는 구성요소들은, 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)에 따라 프로세서(320)이 포함하는 적어도 하나의 프로세서가 수행하는 서로 다른 기능들(different functions)의 표현들일 수 있다.
맵 생성 모듈(410)은 공간(10) 내부에서 자율 주행하는 (도시되지 않은) 맵핑 로봇이 목표 시설물(예컨대, 공간(10)의 내부에 대해 생성한 센싱 데이터를 이용하여 목표 시설물의 실내 지도를 생성하기 위한 구성요소일 수 있다.
이 때, 로컬리제이션 처리 모듈(420)은 로봇들(100)으로부터 네트워크를 통해 수신되는 센싱 데이터와 맵 생성 모듈(410)을 통해 생성된 목표 시설물의 실내 지도를 이용하여 목표 시설물 내부에서의 로봇들(100)의 위치를 결정할 수 있다.
경로 계획 처리 모듈(430)은 상술한 로봇들(100)으로부터 수신된 센싱 데이터와 생성된 실내 지도를 이용하여 로봇들(100)의 실내 자율 주행을 제어하기 위한 제어 신호를 생성할 수 있다. 예컨대, 경로 계획 처리 모듈(430)은 로봇들(100)의 경로(즉, 경로 데이터)를 생성할 수 있다. 생성된 경로(경로 데이터)는 해당 경로를 따르는 로봇들(100)의 주행을 위해 로봇들(100)에 대해 설정될 수 있다. 로봇 제어 시스템(120)은 생성된 경로에 관한 정보를 네트워크를 통해 로봇들(100)으로 전송할 수 있다. 일례로, 경로에 관한 정보는 로봇들(100)의 현재 위치를 나타내는 정보, 현재 위치와 실내 지도를 맵핑하기 위한 정보, 그리고 경로 계획 정보를 포함할 수 있다. 경로에 관한 정보에는 로봇들(100)이 공간(10) 내의 소정의 위치에서 또는 소정의 사용자에게 서비스를 제공하기 위해 주행해야 하는 경로에 관한 정보가 포함될 수 있다. 경로 계획 처리 모듈(430)은 로봇들(100)을 위한 경로(즉, 경로 데이터)를, 공간(10) 내에 지정된 전용 도로(110)의 적어도 일부를 주행하도록 경로로서 생성하여 로봇들(100)에 대해 설정할 수 있다. 로봇 제어 시스템(120)은 이러한 설정된 경로에 따라(즉, 설정된 경로를 따라) 로봇들(100)이 이동하도록 로봇들(100)의 이동을 제어할 수 있다.
서비스 운영 모듈(440)은 로봇들(100)이 공간(10) 내에서 제공하는 서비스를 제어하기 위한 기능을 포함할 수 있다. 예를 들어, 로봇 제어 시스템(120) 또는 공간(10)을 운영하는 서비스 제공자는 로봇들(100)의 이용자나 제작자에게 로봇 제어 시스템(120)이 제공하는 서비스(예컨대, 클라우드 서비스)를 위한 IDE(Integrated Development Environment)를 제공할 수 있다. 이 때, 로봇들(100)의 이용자나 제작자는 로봇들(100)이 공간(10) 내에서 제공하는 서비스를 제어하기 위한 소프트웨어를 IDE를 통해 제작하여 로봇 제어 시스템(120)에 등록할 수 있다. 이 경우, 서비스 운영 모듈(440)은 해당 로봇들(100)과 연관하여 등록된 소프트웨어를 이용하여 로봇들(100)이 제공하는 서비스를 제어할 수 있다. 구체적인 예로, 로봇들(100)이 사용자가 요청한 물건(예컨대, 음식물 또는 택배물)을 해당 사용자의 위치로 전달하는 서비스를 제공한다고 가정하면, 로봇 제어 시스템(120)은 로봇들(100)의 실내 자율 주행을 제어하여 로봇들(100)이 해당 사용자의 위치로 이동하도록 제어할 뿐만 아니라, 목적 위치에 도착한 경우 사용자에게 물건을 전달하고, 사용자 응대 음성을 출력하는 일련의 서비스를 로봇들(100)이 제공하도록 관련된 명령을 로봇들(100)에게 전달할 수 있다.
도 5를 참조하여 지정 구역(50)을 통과하도록 로봇들(100)을 제어하기 위한 프로세서(320)의 구성들(510 내지 530)에 대해 더 자세하게 설명한다.
프로세서(320)는 대기열 관리부(510), 정보 관리부(520) 및 주행 관리부(530)를 포함할 수 있다.
대기열 관리부(510)는 공간(10) 내(또는, 로봇들(100)이 주행하는 경로 내)에서 정의되는 라인 또는 지점들이 로봇들(100)에 의해 점유되고 있는지 여부를 나타내는 로봇 점유 정보를 관리할 수 있다. 예컨대, 대기열 관리부(510)는 지정 구역(50) 내에 정의되는 지점들이 로봇들(100)에 의해 점유되고 있는지 여부를 나타내는 로봇 점유 정보를 관리할 수 있다. 또한, 대기열 관리부(510)는 공간(10) 내(또는, 로봇들(100)이 주행하는 경로 내)의 (예컨대, 기 정의된 또는 혼잡도가 높은 것으로 결정된) 혼잡 구역 내에서 정의되는 지점들이 로봇들(100)에 의해 점유되고 있는지 여부를 나타내는 로봇 점유 정보를 관리할 수 있다. 대기열 관리부(510)는 상기 로봇 점유 정보를 저장하고 있는 DB와 통신할 수 있다.
정보 관리부(520)는 로봇들(100)의 각각의 위치를 비롯한 로봇과 관련된 정보(로봇 정보)를 관리할 수 있다. 로봇들(100)과 관련된 정보는 로봇들(100)로부터 통신부(310)를 통해 수신될 수 있다. 정보 관리부(520)는 상기 로봇 정보를 저장하고 있는 DB와 통신할 수 있다.
주행 관리부(530)는 로봇들(100)의 각각의 주행 계획을 수립하고, 통신부(310)를 통해 로봇들(100)로 제어 명령을 송신하여 로봇들(100)을 이동시키고, 로봇들(100)의 이동 완료 및 서비스 제공 완료를 관리할 수 있다. 주행 관리부(530)는 전술한 구성들(420 내지 440)에 대응할 수 있다.
도시된 것처럼, 주행 관리부(530)는 지정 구역(50)에 진입할 제1 로봇의 위치를 포함하는 로봇 정보에 기반하여, 제1 로봇이 이동해야 할 지정 구역(50) 내의 지점(즉, 대기해야 할 지점)의 배정을 요청할 수 있다. 대기열 관리부(510)는 로봇 점유 정보에 기반하여 로봇들(100)이 점유하고 있지 않은 지정 구역(50) 내의 지점을 제1 로봇을 위한 대기 지점으로서 할당할 수 있다. 주행 관리부(530)는 할당된 대기 지점으로 이동하도록 하는 명령을 제1 로봇으로 전송하여 제1 로봇이 할당된 대기 지점으로 이동하도록 할 수 있다. 제1 로봇은 주행 관리부(530)로부터의 명령에 따라 대기 지점으로 이동한 후 지정 구역(50)을 통과하도록 제어될 수 있다.
로봇 제어 시스템(120)은 유사한 방식으로 복수의 로봇들(100) 각각이 지정 구역(50)을 통과하도록, 각 로봇을 제어할 수 있다.
로봇 제어 시스템(120)이 지정 구역(50)을 통과하도록 복수의 로봇들(100)을 제어하는 방법에 대해서는 후술될 도 6 내지 도 14를 참조하여 더 자세하게 설명된다.
이상 도 1 및 2를 참조하여 전술된 기술적 특징에 대한 설명은, 도 3 내지 도 5에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
후술될 상세한 설명에서, 로봇 제어 시스템(120) 또는 로봇(들)(100)의 구성들에 의해 수행되는 동작은 설명의 편의상 로봇 제어 시스템(120) 또는 로봇(들)(100)에 의해 수행되는 동작으로 설명될 수 있다.
도 6은 일 실시예에 따른, 공간 내에서 협소 구역과 같은 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타내는 흐름도이다.
도 5를 참조하여, 로봇 제어 시스템(120)에 의한 제어에 따라 로봇들(100)이 협소 구역과 같은 지정 구역(50)을 효율적으로 통과하는 방법에 대해 설명한다.
단계(610)에서, 로봇 제어 시스템(120)은 복수의 로봇들(100)이 통과해야 할 지정 구역(50)을 식별할 수 있다. 예컨대, 로봇 제어 시스템(120)은 공간(10) 내에서 (서비스를 제공하기 위해) 이동하는 로봇들(100)의 각각이 이동하는 경로로부터 로봇들(100) 통과해야 하는 지정 구역(50)을 식별할 수 있다. 로봇들(100)의 각각은 개별적으로 서비스를 제공하도록 제어되는 것일 수 있다. 또는, 로봇들(100)은 공간(10) 내의 공통의 목적지로 이동하도록 제어되는 것일 수도 있다. 지정 구역(50)은 공간(10) 내의 협소 구역으로서, 예컨대, 로봇들(100)이 주행하기에 폭이 다소 좁거나, 다수의 로봇들이 동시에 주행하기에는 제한이 있는 구역일 수 있다. 일례로, 지정 구역(50)은 복수의 로봇들(100)의 각각이 순차적으로 일렬로 통과할 것이 요구되는 공간(10) 내의 구간일 수 있다. 즉, 지정 구역(50)은 로봇들(100)이 주행해야 하는 경로의 일부로서 로봇들(100)의 각각이 순차적으로 일렬로 통과할 것이 요구되는 구간을 나타낼 수 있다.
단계(620)에서, 로봇 제어 시스템(120)은 복수의 로봇들(100) 중 지정 구역(50)에 진입하는 제1 로봇에 대해, i) 로봇 제어 시스템(120)에 의해 지정 구역(50) 내에서 정의되는 제1 지점을 거쳐 지정 구역(50)을 통과하도록 제1 로봇을 제어할 수 있다. 또는/추가적으로, 로봇 제어 시스템(120)은ii) 제1 로봇의 지정 구역 주행 모드를 트리거하여, 지정 구역 주행 모드로 지정 구역(50)을 통과하도록 제1 로봇을 제어할 수 있다.
상기 i)에서, 제1 지점은 로봇 제어 시스템(120)에 의해 정의되는 지정 구역(50) 내의 지점으로서 (제1 로봇이 이동 가능한) 다른 로봇에 의해 점유되고 있지 않은 지점일 수 있다. 예컨대, 제1 지점은 지정 구역(50) 내에서 (제1 로봇이 이동 가능한) 다른 로봇에 의해 점유되고 있지 않은 지점들 중 지정 구역(50)의 출구와 가장 가까운 지점(또는, 제1 로봇으로부터 가장 먼 지점)일 수 있다.
단계(630)에서, 로봇 제어 시스템(120)은 복수의 로봇들(100) 중 제1 로봇 다음으로 지정 구역(50)에 진입하는 각 로봇이 순차적으로 지정 구역을 통과하도록, 각 로봇을 제어할 수 있다.
제1 로봇 다음으로 지정 구역(50)에 진입하는 각 로봇 역시 전술한 i) 및/또는 ii)의 방식에 따라 지정 구역(50)을 주행하여 지정 구역(50)을 통과하도록 제어될 수 있다.
전술한 i)에 따라, 로봇 제어 시스템(120)은 지정 구역(50)에 해당하는 자원 관리에 기반하여 로봇들(100)을 중앙 제어하여 로봇들(100)이 간섭 없이 순차적으로 지정 구역(50)을 통과하도록 할 수 있다.
또한, 전술한 ii)에 따라, 로봇 제어 시스템(120)은 지정 구역(50)에 진입하는 로봇들(100)의 각 로봇에 대해 지정 구역 주행 모드를 트리거하여, 각 로봇이 지정 구역 주행 모드에 따라 순차적으로 지정 구역(50)을 통과하도록 할 수 있다.
i)의 로봇들(100)을 중앙 제어하여 로봇들(100)이 간섭 없이 순차적으로 지정 구역(50)을 통과하도록 하는 방법에 대해서는 후술될 도 7, 도 10, 도 12 및 도 14를 참조하여 더 자세하게 설명된다.
ii)의 로봇들(100)의 각 로봇에 대해 지정 구역 주행 모드를 트리거하여 로봇들(100)이 간섭 없이 순차적으로 지정 구역(50)을 통과하도록 하는 방법에 대해서는 후술될 도 9, 도 11 및 도 13을 참조하여 더 자세하게 설명된다.
이상 도 1 내지 도 5를 참조하여 전술된 기술적 특징에 대한 설명은, 도 6에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 7은 일 예에 따른, 지정 구역에 대한 자원 관리에 기반하여 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타내는 흐름도이다.
도 7을 참조하여, 전술한 i)의 로봇들(100)을 중앙 제어하여 로봇들(100)이 간섭 없이 순차적으로 지정 구역(50)을 통과하도록 하는 방법에 대해 더 자세하게 설명한다.
단계(720)에서, 로봇 제어 시스템(120)은 복수의 로봇들(100) 중 지정 구역(50)에 진입하는 제1 로봇에 대해, 지정 구역(50)의 진입 구역에 제1 로봇이 위치함을 식별할 수 있다. 진입 구역은 지정 구역(50)의 입구 측의 지점을 나타낼 수 있다. 예컨대, 도 12에서 도시된 것처럼, 진입 구역은 지정 구역(50) 전방의 영역(지점)(30)일 수 있다. 로봇 제어 시스템(120)은 제1 로봇이 이러한 지정 구역(50)의 진입 구역(30)에 위치되고 있는지 여부를 판정할 수 있다. 예컨대, 로봇 제어 시스템(120)은 진입 구역(30)에 대한 (로봇) 점유 정보에 기반하여 로봇이 진입 구역(30)에 위치되고 있는지 여부를 식별할 수 있다.
단계(730)에서, 로봇 제어 시스템(120)은, 진입 구역(30)에 제1 로봇이 위치하고 있는 경우, 지정 구역(50) 내에서 정의되는 제1 지점으로 이동하도록 제1 로봇을 제어할 수 있다.
단계(732)에서처럼, 로봇 제어 시스템(120)은 제1 지점으로 이동하도록 제1 로봇을 제어함에 있어서, 지정 구역(50) 내에 정의되는 지점들 중 제1 로봇에 대해 가용한 지점으로서 제1 지점을 제1 로봇에 할당할 수 있다. 로봇 제어 시스템(120)은 할당된 제1 지점으로 이동하도록 제1 로봇을 제어할 수 있다.
(할당되는) 제1 지점은 로봇 제어 시스템(120)에 의해 정의되는 지정 구역(50) 내의 지점으로서 제1 로봇이 이동 가능한 다른 로봇에 의해 점유되고 있지 않은 지점일 수 있다. 예컨대, 제1 지점은 (제1 로봇이 이동 가능한 지점으로서) 지정 구역(50) 내에 정의되는 지점들 중 다른 로봇이 점유하고 있는 지점 다음에 위치하는 지점 또는 지정 구역(50) 내에 정의되는 지점들 중 진입 구역(30)으로부터 가장 먼 지점(예컨대, 출구 위치에 대응하는 지점)일 수 있다. 다른 로봇이 점유하고 있지 않더라도, 다른 로봇에 의해 막혀 제1 로봇이 이동할 수 없는 지점은 제1 지점이 될 수 없다. 지정 구역(50) 내에 다른 로봇이 존재하지 않거나, 제1 로봇이 복수의 로봇들(100) 중 진입 구역(30)에 가장 먼저 진입하는 로봇인 경우, 제1 지점은 지정 구역(50) 내에 정의되는 지점들 중 진입 구역(30)으로부터 가장 먼 지점(예컨대, 출구 지점)이 될 수 있다.
단계(740)에서, 로봇 제어 시스템(120)은, 진입 구역(30)에 복수의 로봇들(50) 중 제1 로봇 다음으로 제2 로봇이 위치함을 식별할 수 있다. 제2 로봇은 제1 로봇 다음으로 지정 구역(50)을 통과하는 로봇일 수 있다. 진입 구역(30)에 제2 로봇이 위치하는지 여부를 식별하는 방법에 대해서는 전술한 진입 구역(30)에 제1 로봇이 위치하는지 여부를 식별하는 방법에 대한 설명이 유사하게 적용될 수 있는 바 중복되는 설명은 생략한다.
단계(750)에서, 로봇 제어 시스템(120)은, 진입 구역(30)에 제2 로봇이 위치하고 있는 경우, 지정 구역(50) 내에 정의되는 지점들 중 제1 로봇에 의해 점유되고 있는 제1 지점의 다음에 위치하는 제2 지점으로 이동하도록 제2 로봇을 제어할 수 있다. 제1 지점의 다음에 위치하는 제2 지점으로 제2 로봇이 이동됨으로써 제2 로봇은 제1 로봇에 후행하게 될 수 있다.
단계(752)에서처럼, 로봇 제어 시스템(120)은 제2 지점으로 이동하도록 제2 로봇을 제어함에 있어서, 지정 구역(50) 내에 정의되는 지점들 중 제2 로봇에 대해 가용한 지점으로서 제2 지점을 제2 로봇에 할당할 수 있다. 로봇 제어 시스템(120)은 할당된 제2 지점으로 이동하도록 제2 로봇을 제어할 수 있다.
(할당되는) 제2 지점은 로봇 제어 시스템(120)에 의해 정의되는 지정 구역(50) 내의 지점으로서 제2 로봇이 이동 가능한 다른 로봇에 의해 점유되고 있지 않은 지점일 수 있다. 예컨대, 제2 지점은 (제2 로봇이 이동 가능한 지점으로서) 지정 구역(50) 내에 정의되는 지점들 중 다른 로봇이 점유하고 있는 지점 다음에 위치하는 지점 또는 지정 구역(50) 내에 정의되는 지점들 중 진입 구역(30)으로부터 가장 먼 지점일 수 있다. 다른 로봇이 점유하고 있지 않더라도, 다른 로봇에 의해 막혀 제2 로봇이 이동할 수 없는 지점은 제2 지점이 될 수 없다. 제1 지점이 지정 구역(50) 내에 정의되는 지점들 중 진입 구역(30)으로부터 가장 먼 지점인 경우, 제2 지점은 지정 구역(50) 내에 정의되는 지점들 중 진입 구역(30)으로부터 제1 지점의 다음으로 가장 먼 지점이 될 수 있다.
단계(760)에서, 로봇 제어 시스템(120)은, 제1 로봇이 지정 구역(50) 내를 이동함에 따라(예컨대, 지정 구역(50)의 출구 위치의 방향으로 이동함에 따라), 제1 로봇이 제1 지점을 점유하지 않게 되면, (비어 있는) 제1 지점으로 이동하도록 제2 로봇을 제어할 수 있다.
단계(762)에서처럼, 로봇 제어 시스템(120)은 제1 지점으로 이동하도록 제2 로봇을 제어함에 있어서, 지정 구역(50) 내에 정의되는 지점들 중 제2 로봇에 대해 가용한 지점으로서 제1 지점을 제2 로봇에 할당할 수 있다. 로봇 제어 시스템(120)은 할당된 제1 지점으로 이동하도록 제2 로봇을 제어할 수 있다. 즉, 제2 로봇은 선행하는 제1 로봇이 이동함에 따라 비어 있게 되는 지점(이동 전 제1 로봇이 점유하고 있던 지점)으로 이동할 수 있다.
전술한 단계들에 따라 실시예에서는, 제1 로봇이 지정 구역(50)의 출구 위치를 향해 이동하게 되면, 후행하는 제2 로봇이 따라서 지정 구역(50)의 출구 위치를 향해 이동하게 될 수 있고, 따라서, 제1 로봇과 제2 로봇은 순차적으로 지정 구역(50)을 빠져나갈 수 있게 된다.
제2 로봇 다음에 지정 구역(50)을 통과하는 로봇(즉, 제2 로봇 다음에 진입 구역(30))에 위치하는 로봇) 역시도 전술된 제1 로봇 및 제2 로봇과 유사한 방식으로 제어될 수 있다.
따라서, 복수의 로봇들(100)은 순차적으로(진입 구역(30))에 위치하는 순서대로) 지정 구역(50)을 빠져나갈 수 있게 된다.
전술한, 제1 로봇 및 제2 로봇에 대한 지정 구역 내에서의 가용한 지점의 할당은 로봇 제어 시스템(120)이 관리하고 있는 (로봇) 점유 정보에 기반하여 이루어질 수 있다.
단계(710)에서처럼, 로봇 제어 시스템(120)은 지정 구역(50)에 대한 점유 정보를 획득할 수 있다. 예컨대, 로봇 제어 시스템(120)은 상기 점유 정보를 저장하고 있는 DB로부터 점유 정보를 획득할 수 있다. 로봇 제어 시스템(120)은 점유 정보의 저장, 조회, 업데이트를 수행하도록 구성될 수 있는 바, 점유 정보를 관리할 수 있다.
예컨대, 로봇 제어 시스템(120)은 로봇들(100)에 의해 지정 구역(50) 내에 정의되는 지점들의 각각이 점유되고 있는지를 나타내는 점유 정보를 획득할 수 있다. 로봇 제어 시스템(120)은 이러한 각 지점에 대한 점유 정보에 기반하여 지정 구역(50)에 진입하는(즉, 진입 구역(30) 위치한) 로봇에 대해 가용한 지점을 결정할 수 있고, 결정된 지점을 해당 로봇에 대해 할당할 수 있다. 말하자면, 로봇 제어 시스템(120)은 이러한 점유 정보에 기반하여 제1 로봇 및 제2 로봇에 대한 가용한 지점의 할당을 수행할 수 있다.
한편, 지정 구역(50) 내의 지점들은 지정 구역(50) 내에 미리 정의된 지점들일 수 있다. 말하자면, 전술한 제1 지점 및 제2 지점은 지정 구역(50) 내에 미리 정의된 지점들일 수 있다.
로봇 제어 시스템(120)은 공간(10)(또는 로봇들(100)이 주행하는 경로) 내의 지정 구역(50)에 대해 해당 지정 구역(50)에 포함되는 지점들을, 지정 구역(50)을 통과하는 로봇이 위치하는(대기하는) 지점들로서 미리 정의해 둘 수 있다. 상기 지점들의 각각은 지정 구역(50)을 통과하기 위해 로봇이 경유해야 할 웨이포인트일 수 있다. 로봇 제어 시스템(120)은 상기 지점들을 그래프 형태로 연결하여 정의해 둘 수 있다. 정의된 지점들에 대한 정보는 로봇 제어 시스템(120) 또는 외부 DB에 저장될 수 있다.
또는, 지정 구역(50) 내의 지점들은 지정 구역(50) 내에서 사전에 정의되는 지점들이 아니라 동적으로(즉, 가변하여) 정의되는 지점들일 수 있다. 말하자면, 전술한 제1 지점 및 제2 지점은 지정 구역(50) 내에 동적으로 정의되는 지점들일 수 있다. 예컨대, 전술한 제2 지점은 제1 로봇의 속성 정보 및 제2 로봇의 속성 정보 중 적어도 하나에 기반하여 결정된 거리만큼 제1 지점으로부터 이격되도록 정의될 수 있다.
이러한 실시예에서는, 지정 구역(50) 내에서 로봇들(100)이 위치하는(예컨대, 로봇들이 줄을 서는) 라인(줄) 만이 미리 정의되어 있을 수 있고, 로봇들(100)의 각각이 위치하게 되는 지점의 위치는 상기 라인 상에서 동적으로 정의될 수 있다. 이 때, 지정 구역(50)에 대한 점유 정보는 로봇들(100)이 점유하고 있는 상기 라인의 위치를 나타낼 수 있다.
점유 정보는 지정 구역(50)을 점유하고 있는 로봇에 대한 정보와 해당 로봇이 점유하고 있는 위치 정보를 포함하도록 구성될 수 있다. 점유 정보가 지정 구역(50)의 제1 위치(제1 지점)를 제1 로봇이 점유하고 있음을 나타내는 경우, 로봇 제어 시스템(120)은 제1 위치로부터 제1 로봇의 속성 정보 및/또는 제2 로봇의 속성 정보에 기반하여 결정된 거리만큼 이격된 위치를 제2 지점으로 결정하여, 결정된 제2 지점을 제2 로봇에 대해 할당할 수 있다.
관련하여, 도 14는 일 예에 따른, 복수의 로봇들이 주행할 지정 구역 내에서 로봇이 이동할 지점(대기 지점)을 동적으로 정의하는 방법을 나타낸다.
도시된 예시에서처럼, 로봇(후행 로봇)이 이동해야 할 지정 구역(50) 내의 지점(W)은 동적으로(가변하여) 결정될 수 있다.
지점(W)의 위치는 후행/선행 로봇의 속성(예컨대, 로봇의 종류, 크기, 및 로봇이 제공하는 서비스 중 적어도 하나)에 기반하여 결정될 수 있다.
예컨대, 선행 로봇 및/또는 후행 로봇의 크기가 크거나, 선행 로봇 및/또는 후행 로봇이 제공하는 서비스가 위험도가 높거나(일례로, 뜨거운 액체를 배송하는 서비스 등), 많은 공간을 요구(일례로, 부피가 큰 짐을 배송하는 서비스 등)하는 경우에는 그렇지 않은 경우보다 지점(W)의 위치가 선행 로봇으로부터 더 이격되어 결정될 수 있다.
이와 같이, 지정 구역(50)에 진입하는 후행 로봇의 지정 구역(50) 내에서의 대기 지점을 해당 후행 로봇 및/또는 선행 로봇의 속성에 기반하여 결정함으로써, 보다 효율적이고 유연하게 로봇들(100)이 지정 구역(50)을 통과하도록 할 수 있다.
아래에서는 도 10 및 도 12를 참조하여, 지정 구역에 대한 자원 관리에 기반하여 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 더 자세하게 설명한다.
도 10에서 도시된 대기열 관리자(1010)는 전술한 대기열 관리부(510)를 통해 구현될 수 있다. "대기열"은 로봇들(100)이 순차적으로 통과해야 하는 지정 구역(50)을 나타낼 수 있다. 대기열 관리자(1010)는 지정 구역(50)에 대한 자원 관리를 통해 지정 구역(50) 내에서 가용한 지점을 지정 구역(50)에 진입하는 로봇에 대해 할당할 수 있다. 대기열 관리자(1010)는 (로봇) 점유 정보(1050)(지정 구역(50) 내의 각 지점을 로봇이 점유하고 있는지 여부를 나타냄)에 기반하여 지정 구역(50)에 진입하는 로봇에 대해 가용한 지점(대기 위치)를 할당할 수 있다.
대기열 관리자(1010)는 복수의 로봇들(100)(즉, 멀티 로봇)의 지정 구역(50) 통과를 위한 조율을 위해 지정 구역(50)의 공간 정보를 관리하는 엔티티일 수 있다.
로봇 제어기들(1020-1 내지 3)의 각각은 로봇들(100)의 각각을 제어하는 에이전트 레벨의 컨트롤러일 수 있다.
도시된 로봇들의 각각은 로봇에 탑재된 (자율 주행 및 이동 제어를 위한) 프로그램일 수 있다.
도시된 것처럼, 로봇 1을 제어하는 로봇 1 제어기(1020-1)는 지정 구역(50)인 협소 구역의 입구(또는 진입 구역(30))로 로봇 1을 이동하도록 명령할 수 있고(1021), 가용한 대기 위치(지점)를 할당 받기 위해 대기열 관리자(1010)에 대기 위치의 할당을 요청할 수 있다(1022 및 1023).
로봇 1 제어기(1020-1)는 로봇 1이 이동할 협소 구역 내의 대기 위치가 할당된 경우 로봇 1에 대해 해당 할당된 대기 위치로 이동하도록 로봇 1에게 명령할 수 있다(1024). 로봇 1은 할당된 대기 위치로 이동할 수 있고, 할당된 대기 위치에서 대기할 수 있다(1051, 1052).
로봇 1 제어기(1020-1)는 로봇 1의 대기 위치가 협소 구역의 출구 위치에 해당하는지 여부를 판단하여, 출구 위치에 해당하지 않는 경우에는 다음의 가용한 대기 위치를 할당 받도록 할 수 있고(이는 로봇 1이 출구 위치에 도달할 때까지 반복될 수 있음), 출구 위치에 해당하는 경우에는 협소 구역을 탈출할 수 있는지(벗어날 수 있는지)를 판정할 수 있다(1025, 1026).
로봇 1 제어기(1020-1)는 로봇 1이 협소 구역을 탈출할 수 없는 경우에는 해당 출구 위치에서 대기하도록 할 수 있고, 로봇 1이 협소 구역을 탈출할 수 있는 경우에는 해당 협소 구역을 이탈하도록 로봇 1에게 명령할 수 있다(1027, 1028).
도 12는 로봇들(100)의 구체적인 지정 구역(50)(협소 구역)의 통과 예시를 나타낸다.
도시된 것처럼, 지정 구역(50) 내에는 지점들(W1 내지 W5)가 미리 정의되어 있을 수 있다.
도 12a 내지 도 12f에서 도시된 것처럼, 처음으로 지정 구역(50)에 진입하는 로봇이 진입 구역(30)으로 이동되면, 로봇 제어 시스템(120)은 가장 멀리 떨어져 있는 지점(W1)을 해당 로봇의 가용한 대기 지점으로 할당할 수 있고, 로봇을 지점(W1)으로 이동시킬 수 있다.
그 다음으로, 진입 구역(30)에 위치하는 로봇에 대해서는 (지점(W1) 뒤의) 지점(W2)가 가용한 대기 지점으로서 할당될 수 있고, 로봇 제어 시스템(120)은 해당 로봇을 지점(W2)로 이동시킬 수 있다.
그 다음으로, 진입 구역(30)에 위치하는 로봇에 대해서는 (지점(W2) 뒤의) 지점(W3)가 가용한 대기 지점으로서 할당될 수 있고, 로봇 제어 시스템(120)은 해당 로봇을 지점(W3)로 이동시킬 수 있다. 한편, 지점(W1)을 점유하는 로봇은 지정 구역(50)을 빠져나간 경우, 로봇 제어 시스템(120)은 지점(W2)에 위치한 로봇에 대해 (비어 있는) 지점(W1)을 가용한 대기 지점으로 할당할 수 있고, 해당 로봇을 지점(W1)으로 이동시킬 수 있다. 다음으로 진입 구역(30)에 위치하는 로봇에 대해서는 (점유되고 있는 지점(W3) 뒤의) 지점(W4)가 가용한 대기 지점으로서 할당될 수 있고, 로봇 제어 시스템(120)은 해당 로봇을 지점(W4)로 이동시킬 수 있다. 로봇 제어 시스템(120)은 지점(W3)에 위치한 로봇에 대해 (비어 있는) 지점(W2)을 가용한 대기 지점으로 할당할 수 있고, 해당 로봇을 지점(W2)으로 이동시킬 수 있다.
이에 따라, 복수의 로봇들(100)은 순차적으로 지정 구역(50)을 통과하게 될 수 있다.
도 12에서는 설명의 편의상 로봇에 대해 가용한 대기 지점이 순차적으로 할당되고 로봇이 지정 구역(50)을 빠져나가는 것으로 도시되었으나, 실시예의 로봇 제어 시스템(120)(대기열 관리자(1010))은 진입 구역(30) 및 대기열 내에 위치한 로봇에 대해 계속하여 가용한 대기 지점을 새롭게 할당하면서 선행 로봇부터 신속하게 지정 구역(50)을 빠져나가도록 로봇들을 제어할 수 있고, 동시에 지정 구역(50) 내의 로봇이 비어 있는 대기 지점으로 계속하여 이동하도록 로봇들을 제어할 수 있다.
이상 도 1 내지 도 6을 참조하여 전술된 기술적 특징에 대한 설명은, 도 7, 도 10, 도 12 및 도 14에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 9는 일 예에 따른, 지정 구역에 진입하는 각 로봇에 대해 지정 구역 주행 모드를 트리거하여 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 나타내는 흐름도이다.
도 9를 참조하여, 전술한 ii)의 지정 구역(50)에 진입하는 로봇들(100)의 각 로봇에 대해 지정 구역 주행 모드를 트리거하여, 각 로봇이 지정 구역 주행 모드에 따라 순차적으로 지정 구역(50)을 통과하도록 하는 방법에 대해 더 자세하게 설명한다.
단계(910)에서, 로봇 제어 시스템(120)은 복수의 로봇들(100) 중 지정 구역(50)에 진입하는 제1 로봇에 대해, 지정 구역(50)의 진입 구역(50)에 제1 로봇이 위치함을 식별할 수 있다. 단계(910)과 관련하여서는 전술한 단계(720)에 대한 설명이 유사하게 적용될 수 있는 바 중복되는 설명은 생략한다.
단계(920)에서, 로봇 제어 시스템(120)은 제1 로봇의 지정 구역 주행 모드를 트리거(활성화)할 수 있다. 예컨대, 로봇 제어 시스템(120)은 제1 로봇의 주행 모드를 (일반적인 경로 주행에서 사용되는) 자율 주행 모드에서 지정 구역 주행 모드로 변경할 수 있다. 로봇이 지정 구역 주행 모드는 협소 구역과 같은 지정 구역(50)을 주행하기 위해 사용하는 특수한 주행 모드일 수 있다.
이러한 지정 구역 주행 모드에서, 제1 로봇은 지정 구역(50) 내에 다른 로봇(즉, 선행 로봇)이 존재하지 않는 경우에는 지정 구역(50)의 출구 위치로 바로 이동하도록 제어될 수 있다. "출구 위치"는 지정 구역(50)의 출구와 가장 가까운 지정 구역(50) 내의 위치(지점)일 수 있다. 한편, 제1 로봇은 지정 구역(50) 내에 다른 로봇(즉, 선행 로봇)이 존재하는 경우에는 지정 구역(50) 내에 존재하는 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하도록 제어될 수 있다. 소정의 거리는 제1 로봇 및/또는 선행 로봇의 속성에 기반하여 결정될 수 있다.
단계(930)에서, 로봇 제어 시스템(120)은 제1 로봇이 지정 구역(50)의 출구 위치에 도달한 경우, 제1 로봇의 지정 구역 주행 모드를 해제할 수 있다. 예컨대, 로봇 제어 시스템(120)은 제1 로봇의 주행 모드를 지정 구역 주행 모드에서 자율 주행 모드로 다시 변경할 수 있다. 따라서, 지정 구역(50)을 빠져나간 제1 로봇은 다시 자율 주행 모드로 경로를 주행할 수 있다.
아래에서, 제1 로봇에 대해 후행하여 지정 구역(50)을 통과하는 로봇(들)의 동작에 대해 설명한다.
단계(940)에서, 로봇 제어 시스템(120)은, 진입 구역(30)에 복수의 로봇들(50) 중 제1 로봇 다음으로 제2 로봇이 위치함을 식별할 수 있다. 단계(940)과 관련하여서는 전술한 단계(740)에 대한 설명이 유사하게 적용될 수 있는 바 중복되는 설명은 생략한다.
단계(920)에서, 로봇 제어 시스템(120)은 제2 로봇의 지정 구역 주행 모드를 트리거할 수 있다. 예컨대, 로봇 제어 시스템(120)은 제2 로봇의 주행 모드를 (일반적인 경로 주행에서 사용되는) 자율 주행 모드에서 지정 구역 주행 모드로 변경할 수 있다.
이러한 지정 구역 주행 모드에서, 제2 로봇은 지정 구역(50) 내에 제1 로봇이 존재하는 경우 제1 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하도록 제어될 수 있다. 소정의 거리는 제1 로봇(선행 로봇) 및/또는 제2 로봇(후행 로봇)의 속성에 기반하여 결정될 수 있다. 또는 소정의 거리는 제1 로봇과 제2 로봇이 서로 충돌 또는 간섭하지 않는 거리로 기 설정된 거리일 수 있다. 한편, 제2 로봇은 제1 로봇이 지정 구역 내를 이동함에 따라(즉, 출구 위치를 향해 이동함에 따라) 발생되는 지정 구역 내의 빈 공간(예컨대, 제1 로봇이 점유하고 있던 위치(지점))으로 이동하도록 제어될 수 있다. 말하자면, 제1 로봇이 출구 위치를 향해 이동함에 따라 제2 로봇 역시 함께 이동될 수 있다. 이 때, 제2 로봇은 제1 로봇과 상기의 소정의 거리를 유지하면서 이동될 수 있다.
제2 로봇 역시도 출구 위치에 도달하면 지정 구역 주행 모드는 해제될 수 있다.
제2 로봇 다음에 지정 구역(50)을 통과하는 로봇(즉, 제2 로봇 다음에 진입 구역(30))에 위치하는 로봇) 역시도 전술된 제1 로봇 및 제2 로봇과 유사한 방식으로 제어될 수 있다.
따라서, 복수의 로봇들(100)은 순차적으로(진입 구역(30))에 위치하는 순서대로) 지정 구역(50)을 빠져나갈 수 있게 된다.
전술한 바와 같은, 지정 구역 주행 모드에서의 로봇(제1 로봇 및 제2 로봇)의 제어 동작은 로봇 내에서 구현된 로직 또는 로봇 제어 시스템(120) 내에서 구현된 로직에 따라 수행될 수 있다. 또는, 지정 구역 주행 모드에서의 로봇(제1 로봇 및 제2 로봇)의 제어 동작 중 적어도 일부는 로봇 내에서 구현된 로직에 따라 수행될 수 있다.
예컨대, 지정 구역 주행 모드에서, 제1 로봇은, 로봇 제어 시스템(120)으로부터 제1 로봇의 제어를 위한 명령을 수신하지 않고, 지정 구역(50) 내에서 선행하고 있는 다른 로봇을 식별할 수 있고, 식별된 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동할 수 있고, 식별된 다른 로봇의 이동에 따라 지정 구역(50)의 출구 위치로 이동하도록 제어될 수 있다. 제2 로봇의 지정 구역 주행 모드에서의 동작도 마찬가지로 로봇 제어 시스템(120)으로부터의 제어 명령이나 개입 없이 수행될 수 있다.
말하자면, 지정 구역(50) 내를 주행하는 로봇의 지정 구역 주행 모드에서의 동작은 서버인 로봇 제어 시스템(120)의 개입 없이 로봇 내에 구현된 로직에 기반하여 수행될 수도 있다.
이와는 달리, 실시예는 로봇 제어 시스템(120)이 지정 구역 주행 모드에서의 로봇의 동작을 제어하도록 구현될 수도 있다.
한편, 설명한 실시예에 따른 지정 구역 주행 모드에서의 로봇의 동작은 협소 구역을 통과하는 사람들의 동작을 모방하는 것일 수 있다. 말하자면, 제1 로봇 및 상기 제2 로봇은, 지정 구역 주행 모드에서, 협소 구역을 복수의 사람들이 일렬로 순차적으로 통과하는 동작을 모방하여, 지정 구간(50)을 통과하도록 제어될 수 있다. 로봇들(100)은 사람들이 일렬로 좁은 통로나 복도를 순차적으로 통과하는 동작과 유사하게 제어되어 협소 구역에 해당하는 지정 구간(50)을 통과할 수 있다.
아래에서는, 도 11 및 도 13을 참조하여, 지정 구역에 진입하는 각 로봇에 대해 지정 구역 주행 모드를 트리거하여, 지정 구역을 통과하도록 복수의 로봇들을 제어하는 방법을 더 자세하게 설명한다.
도 11에서 도시된 대기열 관리자(1110)는 전술한 대기열 관리부(510)를 통해 구현될 수 있다. 대기열 관리자(1110)는 도 10을 참조하여 전술한 대기열 관리자(1010)에 대응할 수 있다. "대기열"은 로봇들(100)이 순차적으로 통과해야 하는 지정 구역(50)을 나타낼 수 있다. 대기열 관리자(1010)는 대기열 내 로봇 정보(1115) 및 대기열의 출구 정보(지정 구역(50)의 출구 위치에 대한 정보)를 관리할 수 있다. 출구 위치에 대한 정보는 예컨대, 출구 위치가 로봇에 의해 점유되고 있는지에 관한 정보 및/또는 지정 구역(50) 외부의 상황 정보를 포함할 수 있다.
대기열 내 로봇 정보(1115)는 지정 구역(50) 내에 위치하는 로봇들에 대한 정보로서, 지정 구역(50) 내에서의 로봇들의 위치를 나타내는 정보를 포함할 수 있다.
로봇 제어기들(1120-1 내지 3)의 각각은 로봇들(100)의 각각을 제어하는 에이전트 레벨의 컨트롤러일 수 있다.
도시된 로봇은 로봇에 탑재된 (자율 주행 및 이동 제어를 위한) 프로그램일 수 있다.
도시된 것처럼, 로봇 1을 제어하는 로봇 1 제어기(1120-1)는 지정 구역(50)인 협소 구역의 입구(또는 진입 구역(30))로 로봇 1을 이동하도록 명령할 수 있고(1021), 로봇 1의 대기열 모드(대기열 내 주행 모드)(전술한, 지정 구역 주행 모드)를 트리거할 수 있다. 즉, 로봇 1의 주행 모드를 일반 주행 모드에서 대기열 모드(대기열 내 주행 모드)로 변경할 수 있다(1122). 이에 따라, 로봇 1 제어기(1120-1)는 로봇 1에 출구 위치로의 이동을 명령할 수 있다(1123).
로봇 1에서는, 대기열 내 주행 모드에 따라, 출구 위치를 향해 이동할 수 있고(1151), 선행 로봇이 존재하는지 여부를 감지할 수 있다(1152). 선행 로봇이 감지된 경우, 선행 로봇과 소정의 거리만큼 이격된 위치에서 대기할 수 있으며(1153), 선행 로봇이 감지되지 않거나 선행 로봇이 이동한 경우에는 출구 위치로의 이동을 계속할 수 있다. 로봇 1이 출구 위치에 도달할 때까지 단계들(1151 내지 1154)은 반복될 수 있다.
로봇 1의 출구 위치로의 이동은 로봇 1 제어기(1120-1)에 의해 모니터될 수 있다(1124). 이러한 모니터링된 정보는 대기열 내 로봇 정보로서 대기열 관리자(1110)에게 전달될 수 있다.
로봇 1 제어기(1120-1)는 로봇의 출구 위치에의 동작이 확인된 경우, 로봇 1의 대기열 모드를 해제하고 주행 모드를 일반 주행 모드로 변경할 수 있다. 따라서, 로봇 1은 대기열을 통과한 후 일반 주행 모드로 제어될 수 있다.
도시된 것처럼, 대기열 내 주행 모드(지정 구간 주행 모드)에서의 로봇의 동작은 로봇 제어 시스템(130)으로부터의 제어 명령 없이도 수행될 수 있다.
일례로, 지정 구역(50)을 통과하고자 하는 로봇은 로봇 제어 시스템(120)으로부터의 제어에 따라, 지정 구역(50)의 진입 구역(30)으로 이동할 수 있다. 로봇은 로봇 제어 시스템(120)에 의한 트리거에 따라, 로봇의 (기존에 설정되어 있던) 자율 주행 모드를 지정 구역 주행 모드로 변경할 수 있다. 지정 구역 주행 모드로 주행 모드가 변경됨에 따라, 로봇은 지정 구역(50) 내에서 선행하고 있는 다른 로봇이 존재하는지 여부를 판정할 수 있고, 지정 구역(50) 내에 다른 로봇이 존재하지 않는 경우에는 지정 구역(50)의 출구 위치로 바로 이동할 수 있다. 지정 구역(50) 내에 다른 로봇(선행 로봇)이 존재하는 경우에는, 로봇은 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동할 수 있다.
(지정 구역(50) 내에서의 선행 로봇인) 다른 로봇이 존재하는 경우, 로봇은 해당 다른 로봇의 이동에 따라 발생되는 지정 구역(50) 내의 빈 공간(즉, 선행 로봇이 점유하고 있던 위치)로 이동함으로써 지정 구역(50)의 출구 위치로(즉, 출구 위치를 향해) 이동할 수 있다.
로봇이 지정 구역(50)의 출구 위치에 도달한 경우, 로봇 제어 시스템(120)에 의한 제어에 따라, 로봇은 (설정되고 있는) 지정 구역 주행 모드를 자율 주행 모드로 변경할 수 있다. 따라서, 지정 구역(50)을 빠져나간 후 로봇은 자율 주행 모드로 동작할 수 있다.
도 13는 로봇들(100)의 구체적인 지정 구역(50)(협소 구역)의 통과 예시를 나타낸다.
로봇들(100)은 로봇 제어 시스템(120)으로부터 경로에 관한 정보(경로 계획) 및 모드 변경 트리거(즉, 지정 구역 주행 모드로의 모드 변경 트리거)를 수신하여 제어될 수 있다.
도 13a 내지 도 13f에서 도시된 것처럼, 처음으로 지정 구역(50)에 진입하는 로봇이 진입 구역(30)으로 이동되면, 로봇 제어 시스템(120)은 해당 로봇의 주행 모드를 지정 구역 주행 모드로 전환할 수 있고, 선행 로봇이 존재하지 않기 때문에 로봇은 출구 위치까지 바로 이동할 수 있다(도 13a 내지 도 13c 참조). 그 다음의 로봇이 진입 구역(30)에 위치되면, 로봇 제어 시스템(120)은 해당 로봇의 주행 모드를 지정 구역 주행 모드로 전환할 수 있고, 선행 로봇이 존재하기 때문에 로봇은 선행 로봇의 뒤에서 대기할 수 있다(도 13c 및 도 13d 참조). 그 다음의 로봇이 진입 구역(30)에 위치되면, 로봇 제어 시스템(120)은 해당 로봇의 주행 모드를 지정 구역 주행 모드로 전환할 수 있고, 선행 로봇이 존재하기 때문에 로봇은 선행 로봇의 뒤에서 대기할 수 있다. 이 때, 출구 위치를 점유하고 있던 로봇이 지정 구역(50)을 빠져나가게 되면, 후행하는 로봇들은 출구 방향으로 밀려나듯 이동할 수 있다(도 13d 내지 도 13f 참조).
로봇들(100)에 대해 이와 같은 동작이 수행됨으로써, 로봇들(100)은 줄서서 지정 구역(50)을 통과할 수 있게 된다.
도 13에서는 설명의 편의상 로봇의 순차적인 이동을 구분하여 설명하였으나, 실시예에서는, 로봇 제어 시스템(120)은, 예컨대, 지정 구역(50)의 외부의 상황 정보에 기반하여, 출구 위치를 점유하고 있는 로봇을 계속하여 하나씩 지정 구역(50)을 빠져나가도록 이동시킬 수 있고, 지정 구역(50) 내에 빈 공간이 발생할 경우 지정 구역(50) 내의 로봇들을 동시에 출구 위치를 향해 이동시켜 빈 공간을 메우도록 로봇들(100)을 제어할 수 있다. 따라서, 사람들이 줄서서 좁은 통로를 통과하는 것과 마찬가지로 로봇들이 지정 구역(50)을 통과할 수 있게 된다.
이상 도 1 내지 도 7, 도 10, 도 12 및 도 14를 참조하여 전술된 기술적 특징에 대한 설명은, 도 9, 도 11 및 도 13에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 8은 일 예에 따른, 지정 구역을 주행하는 로봇에 대해 지정 구역을 빠져나가도록 해당 로봇을 제어하는 방법을 나타내는 흐름도이다.
도 8을 참조하여, 전술된 방법에 따라 지정 구역(50)의 출구 위치로 이동된 로봇이 지정 구역(50)을 빠져나가는 방법에 대해 더 자세하게 설명한다.
전술한 i)에서의 로봇 제어 시스템(120)에 의한 중앙 제어 또는 ii)에서의 지정 구역 주행 모드를 통한 제어에 따라, 로봇은 지정 구역(50)을 주행하여 지정 구역(50)의 출구 위치에 도달할 수 있다. "출구 위치"는 예컨대, 지정 구역(50)의 출구와 가장 가까운 지정 구역(50) 내의 위치(지점)일 수 있다.
단계(810)에서, 로봇 제어 시스템(120)은 지정 구역(50)의 외부의 상황 정보에 기반하여, 지정 구역(50)의 출구 위치로부터 지정 구역(50)을 빠져나가도록 로봇을 제어할 수 있다. 예컨대, 로봇 제어 시스템(120)은 로봇(전술된 제1 로봇 또는 제2 로봇을 비롯한 로봇들(100))이 지정 구역(50)을 주행함에 따라 지정 구역(50)의 출구 위치에 도달한 때, 상황 정보에 기반하여, 출구 위치로부터 지정 구역(50)을 빠져나가도록 로봇을 제어할 수 있다.
한편, 단계(820)에서처럼, 로봇 제어 시스템(120)은. 단계(810)에서 지정 구역(50)을 빠져나간 로봇의 다음으로 지정 구역(50)에 진입한 로봇에 대해, 해당 로봇을 지정 구역(50)을 빠져나간 로봇이 점유하고 있던 위치로 이동하도록 제어한 후, 상황 정보에 기반하여, 출구 위치로부터 지정 구역(50)을 빠져나가도록 제어할 수 있다.
말하자면, 선행 로봇이 지정 구역(50)을 빠져나가는 경우에 있어서, 후행 로봇은 선행 로봇이 점유하고 있던 위치로 이동한 후 출구 위치로부터 지정 구역(50)을 빠져나가도록 제어될 수 있다. 선행 로봇이 점유하고 있던 위치는 출구 위치일 수도 있다.
이에 따라, 로봇들(100)은 지정 구역(50)의 외부의 상황 정보에 기반하여, 순차적으로 지정 구역(50)을 빠져나갈 수 있다.
지정 구역(50)의 외부의 상황 정보는 지정 구역(50)의 외부, 즉, 출구 위치 부근의 구역에서의 혼잡도를 포함할 수 있다. 예컨대, 로봇 제어 시스템(120)은 출구 위치 부근의 구역에서의 혼잡도가 소정의 값 미만(예컨대, 로봇, 사람 등의 장애물의 수가 소정의 값 미만)인 경우 로봇이 지정 구역(50)을 빠져나가도록 할 수 있다. 말하자면, 상황 정보가 로봇이 지정 구역(50)을 빠져나갈 수 있음을 나타낼 경우, 로봇 제어 시스템(120)은 로봇의 지정 구역(50)으로부터의 탈출을 허용할 수 있다.
로봇 제어 시스템(120)은 모니터링되고 있는 로봇들의 각각의 위치 정보, 모니터링되고 있는 사람들의 각각 위치 정보, 로봇들의 경로 계획을 위해 사용하는 공간(10)의 실내 지도, 및 공간(10) 내에 설치된 CCTV로부터 획득된 영상 정보 중 적어도 하나에 기반하여 상황 정보를 생성할 수 있다. 예컨대, 로봇 제어 시스템(120)은 출구 위치 부근의 구역을 촬영한 CCTV로부터의 영상을 분석하여 해당 구역의 혼잡도를 계산할 수 있고, 계산된 혼잡도를 상황 정보로서 사용할 수 있다.
이상 도 1 내지 도 7 및 도 9 내지 도 14를 참조하여 전술된 기술적 특징에 대한 설명은, 도 8에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 공간 내에서 이동하는 복수의 로봇들을 제어하는 로봇 제어 시스템에 의해 수행되는 로봇 제어 방법에 있어서,
    상기 로봇들이 통과해야 할 지정 구역을 식별하는 단계;
    상기 복수의 로봇들 중 상기 지정 구역에 진입하는 제1 로봇에 대해,
    i) 상기 로봇 제어 시스템에 의해 상기 지정 구역 내에서 정의되는 제1 지점을 거쳐 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하거나,
    ii) 상기 제1 로봇의 지정 구역 주행 모드를 트리거하여, 상기 지정 구역 주행 모드로 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하는 단계; 및
    상기 복수의 로봇들 중 상기 제1 로봇 다음으로 상기 지정 구역에 진입하는 각 로봇이 순차적으로 상기 지정 구역을 통과하도록, 상기 각 로봇을 제어하는 단계
    를 포함하는, 로봇 제어 방법.
  2. 제1항에 있어서,
    상기 지정 구역은 상기 복수의 로봇들의 각각이 순차적으로 일렬로 통과할 것이 요구되는 상기 공간 내의 구간인, 로봇 제어 방법.
  3. 제1항에 있어서,
    상기 제1 로봇을 제어하는 단계는,
    상기 지정 구역의 진입 구역에 상기 제1 로봇이 위치함을 식별하는 단계; 및
    상기 제1 지점으로 이동하도록 상기 제1 로봇을 제어하는 단계
    를 포함하고,
    상기 제1 지점은, 상기 제1 로봇이 이동 가능한 지점으로서, 상기 지정 구역 내에 정의되는 지점들 중 다른 로봇이 점유하고 있는 지점 다음에 위치하는 지점 또는 상기 지정 구역 내에 정의되는 지점들 중 상기 진입 구역으로부터 가장 먼 지점이고,
    상기 각 로봇을 제어하는 단계는,
    상기 진입 구역에 상기 복수의 로봇들 중 상기 제1 로봇 다음으로 제2 로봇이 위치함을 식별하는 단계; 및
    상기 지정 구역 내에 정의되는 지점들 중 상기 제1 로봇에 의해 점유되고 있는 상기 제1 지점의 다음에 위치하는 제2 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계
    를 포함하는, 로봇 제어 방법.
  4. 제3항에 있어서,
    상기 각 로봇을 제어하는 단계는,
    상기 제1 로봇이 상기 지정 구역 내를 이동함에 따라, 상기 제1 로봇이 상기 제1 지점을 점유하지 않게 되면, 상기 제1 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계
    를 포함하는, 로봇 제어 방법.
  5. 제4항에 있어서,
    상기 제1 지점으로 이동하도록 상기 제1 로봇을 제어하는 단계는,
    상기 지정 구역 내에 정의되는 지점들 중 상기 제1 로봇에 대해 가용한 지점으로서 상기 제1 지점을 상기 제1 로봇에 할당하는 단계; 및
    상기 할당된 제1 지점으로 이동하도록 상기 제1 로봇을 제어하는 단계
    를 포함하고,
    상기 제2 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계는,
    상기 지정 구역 내에 정의되는 지점들 중 상기 제2 로봇에 대해 가용한 지점으로서 상기 제2 지점을 상기 제2 로봇에 할당하는 단계; 및
    상기 할당된 제2 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계
    를 포함하고,
    상기 제1 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계는,
    상기 지정 구역 내에 정의되는 지점들 중 상기 제2 로봇에 대해 가용한 지점으로서 상기 제1 지점을 상기 제2 로봇에 할당하는 단계; 및
    상기 할당된 제1 지점으로 이동하도록 상기 제2 로봇을 제어하는 단계
    를 포함하는, 로봇 제어 방법.
  6. 제5항에 있어서,
    상기 제1 지점 및 상기 제2 지점은 상기 지정 구역 내에 미리 정의된 지점들이고,
    상기 복수의 로봇들에 의해 상기 지점들의 각각이 점유되고 있는지를 나타내는 점유 정보를 획득하는 단계
    를 더 포함하고,
    상기 제1 로봇 및 상기 제2 로봇에 대한 가용한 지점의 할당은 상기 점유 정보에 기반하여 수행되는, 로봇 제어 방법.
  7. 제3항에 있어서,
    상기 제1 지점 및 상기 제2 지점은 상기 지정 구역 내에서 동적으로 정의되는 지점들이고,
    상기 제2 지점은 상기 제1 로봇의 속성 정보 및 상기 제2 로봇의 속성 정보 중 적어도 하나에 기반하여 결정된 거리만큼 상기 제1 지점으로부터 이격되도록 정의되는, 로봇 제어 방법.
  8. 제3항에 있어서,
    상기 제1 로봇은 상기 복수의 로봇들 중 상기 진입 구역에 가장 먼저 진입하는 로봇이고,
    상기 제1 지점은 상기 지정 구역 내에 정의되는 지점들 중 상기 진입 구역으로부터 가장 먼 지점이고,
    상기 제2 지점은 상기 지정 구역 내에 정의되는 지점들 중 상기 진입 구역으로부터 상기 제1 지점의 다음으로 가장 먼 지점인, 로봇 제어 방법.
  9. 제1항에 있어서,
    상기 제1 로봇을 제어하는 단계는,
    상기 지정 구역의 외부의 상황 정보에 기반하여, 상기 지정 구역의 출구 위치로부터 상기 지정 구역을 빠져나가도록 상기 제1 로봇을 제어하는 단계
    를 포함하고,
    상기 제1 로봇의 다음으로 상기 지정 구역에 진입하는 제2 로봇은 상기 제1 로봇이 점유하고 있던 위치로 이동하도록 제어된 후, 상기 상황 정보에 기반하여 상기 출구 위치로부터 상기 지정 구역을 빠져나가도록 제어되는, 로봇 제어 방법.
  10. 제1항에 있어서,
    상기 제1 로봇을 제어하는 단계는,
    상기 지정 구역의 진입 구역에 상기 제1 로봇이 위치함을 식별하는 단계; 및
    상기 제1 로봇의 지정 구역 주행 모드를 트리거하는 단계
    를 포함하고,
    상기 지정 구역 주행 모드에서,
    상기 제1 로봇은 상기 지정 구역 내에 다른 로봇이 존재하지 않는 경우에는 상기 지정 구역의 출구 위치로 바로 이동하도록 제어되고,
    상기 제1 로봇은 상기 지정 구역 내에 다른 로봇이 존재하는 경우에는 상기 지정 구역 내에 존재하는 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하도록 제어되는, 로봇 제어 방법.
  11. 제10항에 있어서,
    상기 제1 로봇을 제어하는 단계는,
    상기 제1 로봇이 상기 지정 구역의 출구 위치에 도달한 경우, 상기 지정 구역 주행 모드를 해제하는 단계
    를 포함하는, 로봇 제어 방법.
  12. 제10항에 있어서,
    상기 각 로봇을 제어하는 단계는,
    상기 진입 구역에 상기 복수의 로봇들 중 상기 제1 로봇 다음으로 제2 로봇이 위치함을 식별하는 단계; 및
    상기 제2 로봇의 지정 구역 주행 모드를 트리거하는 단계
    를 포함하고,
    상기 지정 구역 주행 모드에서,
    상기 제2 로봇은 상기 지정 구역 내에 상기 제1 로봇이 존재하는 경우 상기 제1 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하도록 제어되되, 상기 제1 로봇이 상기 지정 구역 내를 이동함에 따라 발생되는 상기 지정 구역 내의 빈 공간으로 이동하도록 제어되는, 로봇 제어 방법.
  13. 제12항에 있어서,
    상기 지정 구역 주행 모드에서,
    상기 제1 로봇 및 상기 제2 로봇은, 협소 구역을 복수의 사람들이 일렬로 순차적으로 통과하는 동작을 모방하여, 상기 지정 구간을 통과하도록 제어되는, 로봇 제어 방법.
  14. 제10항에 있어서,
    상기 지정 구역 주행 모드에서,
    상기 제1 로봇은, 상기 로봇 제어 시스템으로부터 상기 제1 로봇의 제어를 위한 명령을 수신하지 않고, 상기 지정 구역 내에서 선행하고 있는 다른 로봇을 식별하고, 식별된 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하고, 식별된 다른 로봇의 이동에 따라 상기 출구 위치로 이동하도록 제어되는, 로봇 제어 방법.
  15. 제1항 내지 제14항 중 어느 한 항의 방법을 컴퓨터 시스템인 상기 로봇 제어 시스템에서 실행시키기 위해 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.
  16. 제1항 내지 제14항 중 어느 한 항의 방법을 컴퓨터 시스템인 상기 로봇 제어 시스템에서 실행시키기 위한 프로그램이 기록되어 있는 비-일시적인 컴퓨터 판독 가능한 기록 매체.
  17. 공간 내에서 이동하는 복수의 로봇들을 제어하는 로봇 제어 시스템에 있어서,
    컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 로봇들이 통과해야 할 지정 구역을 식별하고, 상기 복수의 로봇들 중 상기 지정 구역에 진입하는 제1 로봇에 대해, i) 상기 로봇 제어 시스템에 의해 상기 지정 구역 내에서 정의되는 제1 지점을 거쳐 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하거나, ii) 상기 제1 로봇의 지정 구역 주행 모드를 트리거하여, 상기 지정 구역 주행 모드로 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하고, 상기 복수의 로봇들 중 상기 제1 로봇 다음으로 상기 지정 구역에 진입하는 각 로봇이 순차적으로 상기 지정 구역을 통과하도록, 상기 각 로봇을 제어하는, 로봇 제어 시스템.
  18. 서비스를 제공하기 위해 공간 내에서 이동하는 로봇을 제어하는 방법에 있어서,
    상기 로봇을 포함하는 복수의 로봇들을 제어하는 로봇 제어 시스템으로부터의 제어에 따라, 상기 로봇이 통과해야 하는 지정 구역의 진입 구역으로 이동하는 단계;
    상기 로봇 제어 시스템에 의한 트리거에 따라, 상기 로봇의 자율 주행 모드를 지정 구역 주행 모드로 변경하는 단계;
    상기 지정 구역 내에서 선행하고 있는 다른 로봇이 존재하는지 여부를 판정하는 단계;
    상기 지정 구역 내에 다른 로봇이 존재하지 않는 경우에는 상기 지정 구역의 출구 위치로 바로 이동하되, 상기 다른 로봇이 존재하는 경우에는 상기 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하는 단계;
    상기 다른 로봇이 존재하는 경우 상기 다른 로봇의 이동에 따라 발생되는 상기 지정 구역 내의 빈 공간으로 이동함으로써 상기 지정 구역의 출구 위치를 향해 이동하는 단계; 및
    상기 출구 위치에 도달한 경우, 상기 로봇 제어 시스템에 의한 제어에 따라, 상기 지정 구역 주행 모드를 상기 자율 주행 모드로 변경하는 단계
    를 포함하는, 로봇 제어 방법.
  19. 건물에 있어서,
    상기 건물 내를 주행하며 서비스를 제공하는 복수의 로봇들
    이 배치되고,
    상기 로봇들은 로봇 제어 시스템에 의해 제어되고,
    상기 로봇 제어 시스템은,
    컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 로봇들이 통과해야 할 지정 구역을 식별하고, 상기 복수의 로봇들 중 상기 지정 구역에 진입하는 제1 로봇에 대해, i) 상기 로봇 제어 시스템에 의해 상기 지정 구역 내에서 정의되는 제1 지점을 거쳐 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하거나, ii) 상기 제1 로봇의 지정 구역 주행 모드를 트리거하여, 상기 지정 구역 주행 모드로 상기 지정 구역을 통과하도록 상기 제1 로봇을 제어하고, 상기 복수의 로봇들 중 상기 제1 로봇 다음으로 상기 지정 구역에 진입하는 각 로봇이 순차적으로 상기 지정 구역을 통과하도록, 상기 각 로봇을 제어하는, 건물.
  20. 건물에 있어서,
    상기 건물 내를 주행하며 서비스를 제공하는 복수의 로봇들
    이 배치되고,
    상기 로봇들은 로봇 제어 시스템에 의해 제어되고,
    상기 로봇 제어 시스템에 의한 제어에 따라,
    상기 로봇들에 포함된 로봇은,
    상기 로봇이 통과해야 하는 지정 구역의 진입 구역으로 이동하고,
    상기 로봇 제어 시스템에 의한 트리거에 따라, 상기 로봇의 자율 주행 모드를 지정 구역 주행 모드로 변경하고,
    상기 지정 구역 내에서 선행하고 있는 다른 로봇이 존재하는지 여부를 판정하고,
    상기 지정 구역 내에 다른 로봇이 존재하지 않는 경우에는 상기 지정 구역의 출구 위치로 바로 이동하되, 상기 다른 로봇이 존재하는 경우에는 상기 다른 로봇으로부터 소정의 거리만큼 이격된 위치로 이동하고,
    상기 다른 로봇이 존재하는 경우 상기 다른 로봇의 이동에 따라 발생되는 상기 지정 구역 내의 빈 공간으로 이동함으로써 상기 지정 구역의 출구 위치를 향해 이동하고,
    상기 출구 위치에 도달한 경우, 상기 로봇 제어 시스템에 의한 제어에 따라, 상기 지정 구역 주행 모드를 상기 자율 주행 모드로 변경하는, 건물.
PCT/KR2022/000225 2021-05-06 2022-01-06 지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템과, 로봇이 배치되는 건물 WO2022234925A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023568418A JP2024517882A (ja) 2021-05-06 2022-01-06 指定区域を走行する多数のロボットを制御する方法およびシステム、ロボットが配置される建物
US18/502,757 US20240069571A1 (en) 2021-05-06 2023-11-06 Method and system for controlling a plurality of robots traveling through a specific area, and building in which robots are disposed

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0058461 2021-05-06
KR1020210058461A KR102462491B1 (ko) 2021-05-06 2021-05-06 지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/502,757 Continuation US20240069571A1 (en) 2021-05-06 2023-11-06 Method and system for controlling a plurality of robots traveling through a specific area, and building in which robots are disposed

Publications (1)

Publication Number Publication Date
WO2022234925A1 true WO2022234925A1 (ko) 2022-11-10

Family

ID=83932235

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/000225 WO2022234925A1 (ko) 2021-05-06 2022-01-06 지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템과, 로봇이 배치되는 건물

Country Status (4)

Country Link
US (1) US20240069571A1 (ko)
JP (1) JP2024517882A (ko)
KR (2) KR102462491B1 (ko)
WO (1) WO2022234925A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101522A1 (ko) * 2022-11-10 2024-05-16 엘지전자 주식회사 로봇 이동 제어 방법 및 이를 구현하는 관제 서버

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002023297A1 (fr) * 2000-09-11 2002-03-21 Kunikatsu Takase Systeme de commande de mouvement de corps mobiles
JP2010134581A (ja) * 2008-12-03 2010-06-17 Seiko Epson Corp ロボットの制御方法およびロボットの制御システム
JP2010231698A (ja) * 2009-03-30 2010-10-14 Advanced Telecommunication Research Institute International ネットワークロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム
KR20130045289A (ko) * 2013-03-11 2013-05-03 주식회사 엔티리서치 자율주행 이동로봇의 주행제어방법 및 출입통제시스템
KR20150137166A (ko) * 2014-05-28 2015-12-09 고려대학교 산학협력단 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9776324B1 (en) * 2016-03-25 2017-10-03 Locus Robotics Corporation Robot queueing in order-fulfillment operations
JP7204631B2 (ja) * 2019-10-29 2023-01-16 株式会社東芝 走行制御装置、方法及びコンピュータプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002023297A1 (fr) * 2000-09-11 2002-03-21 Kunikatsu Takase Systeme de commande de mouvement de corps mobiles
JP2010134581A (ja) * 2008-12-03 2010-06-17 Seiko Epson Corp ロボットの制御方法およびロボットの制御システム
JP2010231698A (ja) * 2009-03-30 2010-10-14 Advanced Telecommunication Research Institute International ネットワークロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム
KR20130045289A (ko) * 2013-03-11 2013-05-03 주식회사 엔티리서치 자율주행 이동로봇의 주행제어방법 및 출입통제시스템
KR20150137166A (ko) * 2014-05-28 2015-12-09 고려대학교 산학협력단 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법

Also Published As

Publication number Publication date
JP2024517882A (ja) 2024-04-23
US20240069571A1 (en) 2024-02-29
KR102462491B1 (ko) 2022-11-03
KR102462500B1 (ko) 2022-11-03

Similar Documents

Publication Publication Date Title
WO2021091111A1 (ko) 로봇 탑승을 위한 엘리베이터 시스템, 엘리베이터 시스템 제어 방법 및 엘리베이터 제어 시스템
WO2019135518A1 (ko) 청소용 이동장치, 협업청소 시스템 및 그 제어방법
WO2018070687A1 (ko) 공항 로봇 및 그를 포함하는 공항 로봇 시스템
WO2021010502A1 (ko) 로봇 및 그를 이용한 물품 관리 방법
EP3525992A1 (en) Mobile robot system and mobile robot
WO2015111950A1 (ko) 메세지 중개 방법, 메세지 처리 방법, 서비스 관리 방법 및 상기 방법을 수행하는 장치
WO2017082606A1 (ko) 스마트 대피 유도 시스템 및 그 방법
WO2020032412A1 (en) Moving robot and following setting method thereof
WO2019235743A1 (ko) 장애물 회피에 기반하여 경유 지점을 주행하는 로봇 및 주행하는 방법
WO2022234925A1 (ko) 지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템과, 로봇이 배치되는 건물
WO2020138826A1 (ko) 모빌리티 서비스에서의 기사 및 승객의 상호매칭 시스템, 및 방법
WO2019143129A1 (ko) 로봇 청소기 및 그 제어 방법
WO2018066836A1 (ko) 공항 로봇 및 공항 로봇 시스템
WO2019135437A1 (ko) 안내 로봇 및 그의 동작 방법
WO2020027515A1 (ko) 속성 블록을 설정하는 이동 로봇
WO2020189832A1 (ko) 자율주행 차량을 이용한 운송 서비스 제공 방법
WO2021006622A1 (en) Electronic apparatus and controlling method thereof
WO2023120867A1 (ko) 강화 학습 기반의 알고리즘과 경로 계획 기반의 알고리즘을 사용하여 로봇을 제어하는 방법 및 시스템과, 로봇이 배치되는 건물
WO2022234923A1 (ko) 통신 기반 로봇 제어 방법 및 시스템과, 로봇이 배치되는 건물
WO2022154153A1 (ko) 로봇 및 그 제어 방법
WO2022225134A1 (ko) 로봇 원격 제어 방법 및 시스템, 그리고 엘리베이터의 최적 대기 위치에 탑승하는 로봇이 주행하는 건물
WO2023243793A1 (ko) 시각화 정보를 이용한 상품 포장 정보 제공 방법 및 장치
WO2023243791A1 (ko) 집품 카트에 집품 및 진열 작업을 함께 할당하는 방법 및 장치
WO2022059878A1 (ko) 증강현실 뷰를 사용하는 경로 안내 방법 및 장치
WO2021221345A1 (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: 22798973

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023568418

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22798973

Country of ref document: EP

Kind code of ref document: A1