KR102322048B1 - Building in which robot providing service and autonomously driving building by locating user is disposed - Google Patents
Building in which robot providing service and autonomously driving building by locating user is disposed Download PDFInfo
- Publication number
- KR102322048B1 KR102322048B1 KR1020210076893A KR20210076893A KR102322048B1 KR 102322048 B1 KR102322048 B1 KR 102322048B1 KR 1020210076893 A KR1020210076893 A KR 1020210076893A KR 20210076893 A KR20210076893 A KR 20210076893A KR 102322048 B1 KR102322048 B1 KR 102322048B1
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- user
- distance
- service
- movement
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
Abstract
공간 내에서 서비스를 제공하는 로봇에게 서비스를 제공 받는 사용자의 사용자 단말로부터 사용자의 위치 정보를 획득하고, 획득된 위치 정보와, 로봇의 센서부로부터의 센싱에 기반하여, 사용자와 로봇 간의 거리를 감소시키도록 로봇의 이동을 제어하는 로봇 제어 방법이 제공된다. Acquires the location information of the user from the user terminal of the user who is provided with the service from the robot that provides the service in the space, and reduces the distance between the user and the robot based on the obtained location information and sensing from the sensor unit of the robot A robot control method is provided for controlling the movement of the robot to
Description
아래의 설명은 공간 내에서 사용자에게 서비스를 제공하는 로봇을 제어하는 방법 및 장치에 관한 것으로, 서비스를 제공 받는 사용자를 정확하게 찾아갈 수 있도록 로봇을 제어하는 방법 및 장치에 관한 것이다.The following description relates to a method and an apparatus for controlling a robot that provides a service to a user in a space, and relates to a method and an apparatus for controlling a robot to accurately find a user who is provided with a service.
자율 주행 로봇은 스스로 주변을 살피고 장애물을 감지하면서 바퀴나 다리를 이용하여 목적지까지 최적 경로를 찾아가는 로봇으로, 자율 주행 차량이나, 물류, 호텔 서비스, 로봇 청소기 등 다양한 분야를 위해 개발 및 활용되고 있다. 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.
건물의 실내와 같은 공간 내에서 로봇을 통해 사용자에게 서비스를 제공하기 위해서는, 로봇의 위치와 로봇으로부터 서비스를 제공 받는 사용자(즉, 사용자의 모바일 단말)의 위치를 정확하게 측위하는 것이 중요하다. 특히, 로봇이 직접 사용자의 위치로 이동하여 사용자에게 서비스를 제공하는 경우에 있어서, 공간 내의 여러 사용자들 중 서비스를 제공 받는 사용자가 누구인지가 정확하게 식별되어야 하며, 로봇은 이러한 식별된 사용자의 위치로 이동하도록 제어되어야 한다. In order to provide a service to a user through a robot in a space such as the interior of a building, it is important to accurately position the position of the robot and the position of the user (ie, the user's mobile terminal) receiving the service from the robot. In particular, in the case where the robot directly moves to the user's location and provides a service to the user, it is necessary to accurately identify the user who receives the service from among several users in the space, and the robot moves to the identified user's location. It must be controlled to move.
로봇이 서비스를 요청한 사용자를 식별하는 방법으로는 사용자의 얼굴(안면)을 인식하여, 서비스를 요청한 사용자를 식별하는 것이 있다. 그러나, 안면 인식을 통한 사용자의 식별은 사용자의 안면 정보가 미리 데이터베이스 등에 구축되어 있는 경우에만 가능하다. 따라서, 이러한 안면 인식을 통한 사용자의 식별은 개방된 공간에서 (미리 등록되지 않은) 불특정의 사용자에게 서비스를 제공함에 있어서는 적용되기가 어렵다. As a method for the robot to identify the user who requested the service, there is a method of recognizing the user's face (face) to identify the user who requested the service. However, identification of the user through face recognition is possible only when the user's face information is previously built in a database or the like. Therefore, identification of a user through such facial recognition is difficult to apply when providing a service to an unspecified user (not registered in advance) in an open space.
또한, 서비스를 제공 받는 사용자는 로봇에게 자신의 정확한 위치를 전달하기가 어렵다. 5~10m의 오차를 갖는 실내 측위 기술을 이용하는 것으로는 로봇이 사용자의 위치를 정확하게 파악하기가 어렵고, 특히, 공간 내에 사용자의 수가 많은 경우, 로봇에 의한 서비스의 제공은 더 비효율적이게 된다. In addition, it is difficult for a user who is provided with a service to deliver his or her exact location to the robot. By using the indoor positioning technology having an error of 5 to 10 m, it is difficult for the robot to accurately grasp the location of the user. In particular, when the number of users in the space is large, the provision of the service by the robot becomes more inefficient.
따라서, 개방된 공간에서 (미리 등록되지 않은) 불특정의 사용자에게 서비스를 제공함에 있어서도 서비스를 제공 받는 사용자의 위치를 정확하게 식별할 수 있으며, 로봇에 의한 서비스의 제공을 효율화할 수 있도록 하는 방법 및 장치가 요구된다. Therefore, even when providing a service to an unspecified user (not registered in advance) in an open space, the location of the user receiving the service can be accurately identified, and the method and apparatus for efficiently providing the service by the robot is required
한국공개특허 제10-2005-0024840호는 자율 이동 로봇을 위한 경로 계획 방법에 관한 기술로, 가정이나 사무실에서 자율적으로 이동하는 이동 로봇이 장애물을 회피하면서 목표점까지 안전하고 빠르게 이동할 수 있는 최적경로를 계획하는 방법에 대해 개시하고 있다. Korean Patent Laid-Open Patent 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 in a home or office to find an optimal path that can move safely and quickly to a target point while avoiding obstacles. How to plan is disclosed.
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.The information described above is for understanding only, and may include content that does not form a part of the prior art, and may not include what the prior art can present to a person skilled in the art.
공간 내에서 서비스를 제공하는 로봇에게 서비스를 제공 받는 사용자의 사용자 단말로부터 사용자의 위치 정보를 획득하고, 획득된 위치 정보와, 로봇의 센서부로부터의 센싱에 기반하여, 사용자와 로봇 간의 거리를 감소시키도록 로봇의 이동을 제어하는 로봇 제어 방법을 제공할 수 있다.Acquires the location information of the user from the user terminal of the user who is provided with the service from the robot that provides the service in the space, and reduces the distance between the user and the robot based on the obtained location information and sensing from the sensor unit of the robot It is possible to provide a robot control method for controlling the movement of the robot so as to
로봇이 포함하는 카메라에 기반하여 측정된 사용자와 로봇 간의 거리 및 로봇이 포함하는 통신 모듈에 기반하여 측정된 사용자 단말과 로봇 간의 거리를 비교함으로써, 사용자의 위치를 정확하게 측위하여 해당 사용자에게 로봇을 통한 서비스를 제공할 수 있다. By comparing the distance between the user and the robot measured based on the camera included in the robot and the distance between the user terminal and the robot measured based on the communication module included in the robot, the user's location is accurately positioned and the user is sent to the user through the robot. service can be provided.
일 측면에 있어서, 공간 내에서 서비스를 제공하는 로봇 또는 상기 로봇을 제어하는 로봇 제어 시스템에 의해 수행되는 로봇 제어 방법에 있어서, 상기 로봇으로부터 서비스를 제공 받는 사용자의 사용자 단말로부터, 상기 공간 내에서의 상기 사용자의 위치 정보를 획득하는 단계 및 상기 획득된 위치 정보와, 상기 사용자 및 상기 사용자 단말 중 적어도 하나에 대한 상기 로봇의 센서부로부터의 센싱에 기반하여, 상기 사용자와 상기 로봇 간의 거리를 감소시키도록 상기 로봇의 이동을 제어하는 단계를 포함하는, 로봇 제어 방법이 제공된다. In one aspect, in a robot control method performed by a robot providing a service in a space or a robot control system for controlling the robot, from a user terminal of a user receiving a service from the robot, in the space Decreasing the distance between the user and the robot based on the sensing of the acquired position information and the sensor unit of the robot for at least one of the user and the user terminal, obtaining the user's location information A robot control method is provided, including the step of controlling the movement of the robot to do so.
상기 센서부는 상기 사용자를 인식함으로써, 상기 사용자와 상기 로봇 간의 거리를 측정하기 위해 사용되는 카메라 및 상기 사용자 단말과 통신함으로써, 상기 로봇과 상기 사용자 단말 간의 거리를 측정하기 위해 사용되는 통신 모듈 중 적어도 하나를 포함할 수 있다. The sensor unit recognizes the user, by communicating with a camera and the user terminal used to measure the distance between the user and the robot, at least one of a communication module used to measure the distance between the robot and the user terminal may include.
상기 통신 모듈은 상기 사용자 단말과 통신하기 위한 AP (Access Point) 모듈 또는 블루투스 모듈을 포함하고, 상기 로봇과 상기 사용자 단말 간의 거리는 상기 위한 AP 모듈 또는 블루투스 모듈로부터 상기 사용자 단말에 의해 수집된 신호의 세기 및 상태 정보 중 적어도 하나에 기반하여 계산될 수 있다. The communication module includes an AP (Access Point) module or a Bluetooth module for communicating with the user terminal, and the distance between the robot and the user terminal is the strength of the signal collected by the user terminal from the AP module or the Bluetooth module for the communication module. and state information.
상기 로봇의 이동을 제어하는 단계는, 상기 통신 모듈로부터 상기 사용자 단말에 의해 수집된 신호에 기반하여 계산된 상기 로봇과 상기 사용자 단말 간의 거리를 감소시키도록 상기 로봇의 이동을 제어할 수 있다. The controlling of the movement of the robot may include controlling the movement of the robot to reduce a distance between the robot and the user terminal calculated based on a signal collected by the user terminal from the communication module.
상기 로봇의 이동을 제어하는 단계는, 상기 로봇의 이동에 따른, 상기 로봇의 위치 좌표 및 상기 로봇의 위치 좌표에서의 상기 로봇과 상기 사용자 단말 간의 거리로 구성된 복수의 쌍들을 결정하는 단계 및 상기 결정된 복수의 쌍들에 기반하여 상기 사용자 단말의 위치 좌표를 계산하는 단계를 포함할 수 있다. The step of controlling the movement of the robot, according to the movement of the robot, determining the plurality of pairs consisting of the position coordinates of the robot and the distance between the robot and the user terminal in the position coordinates of the robot and the determined It may include calculating the position coordinates of the user terminal based on the plurality of pairs.
상기 카메라에 의해 상기 사용자를 포함하는 복수의 사용자들이 인식되는 경우, 상기 로봇의 이동을 제어하는 단계는, 상기 카메라에 의한 인식에 기반하여, 상기 복수의 사용자들의 각 사용자와 상기 로봇 간의 제1 거리를 계산하는 단계, 상기 제1 거리와 상기 통신 모듈로부터 상기 사용자 단말에 의해 수집된 신호에 기반하여 계산된 상기 로봇과 상기 사용자 단말 간의 제2 거리를 비교하는 단계 및 상기 복수의 사용자들 중에서, 상기 제2 거리와의 차이가 소정의 값 이하인 상기 제1 거리와 연관된 후보 사용자를 상기 로봇에 의해 서비스를 제공 받는 상기 사용자인 것으로 결정하는 단계를 포함할 수 있다. When a plurality of users including the user are recognized by the camera, the step of controlling the movement of the robot may include, based on the recognition by the camera, a first distance between each user of the plurality of users and the robot calculating, comparing the first distance with a second distance between the robot and the user terminal calculated based on a signal collected by the user terminal from the communication module, and among the plurality of users, the and determining that the candidate user associated with the first distance, the difference from the second distance being less than or equal to a predetermined value, is the user provided with the service by the robot.
상기 로봇의 이동을 제어하는 단계는, 상기 후보 사용자를 향해 상기 로봇이 이동하도록 상기 로봇의 이동을 제어하되, 상기 로봇의 이동에 따라 상기 제2 거리가 증가함이 식별되면, 상기 카메라를 통해 다른 사용자를 인식하여 상기 다른 사용자를 상기 로봇에 의해 서비스를 제공 받는 상기 사용자인 것으로 결정하는 단계 및 상기 제2 거리가 감소되도록 상기 다른 사용자를 향해 상기 로봇을 이동시키는 단계를 포함할 수 있다. In the controlling of the movement of the robot, the movement of the robot is controlled so that the robot moves toward the candidate user, and when it is identified that the second distance increases according to the movement of the robot, another Recognizing a user and determining that the other user is the user provided with a service by the robot, and moving the robot toward the other user so that the second distance is reduced.
상기 로봇의 이동을 제어하는 단계는, 상기 후보 사용자를 향해 상기 로봇이 이동하도록 상기 로봇의 이동을 제어하되, 상기 로봇의 이동에 따라 상기 제2 거리와 상기 후보 사용자와 연관된 상기 제1 거리 간의 차이가 소정의 값을 초과함이 식별되면, 상기 카메라를 통해 다른 사용자를 인식하여 상기 다른 사용자를 상기 로봇에 의해 서비스를 제공 받는 상기 사용자인 것으로 결정하는 단계 및 상기 제2 거리가 감소되도록 상기 다른 사용자를 향해 상기 로봇을 이동시키는 단계를 포함할 수 있다. The controlling of the movement of the robot includes controlling the movement of the robot to move the robot toward the candidate user, and a difference between the second distance and the first distance associated with the candidate user according to the movement of the robot. if it is identified that ? exceeds a predetermined value, recognizing another user through the camera and determining that the other user is the user provided with the service by the robot, and the other user so that the second distance is reduced It may include moving the robot toward.
상기 로봇의 이동을 제어하는 단계는, 상기 복수의 사용자들 중에서, 상기 제2 거리와의 차이가 소정의 값 이하인 상기 제1 거리와 연관된 후보 사용자가 존재하지 않는 경우, 상기 카메라를 통해 다른 사용자를 인식하기 위해 상기 복수의 사용자들이 위치하는 방향과는 독립적인 제1 방향으로 상기 로봇을 이동시키는 단계 및 상기 제1 방향으로의 상기 로봇의 이동 후, 상기 카메라에 의한 인식에 기반한 상기 다른 사용자와 상기 로봇 간의 제1 거리와 상기 제2 거리를 비교하는 단계를 포함할 수 있다. The step of controlling the movement of the robot may include, among the plurality of users, if there is no candidate user associated with the first distance, the difference from the second distance being less than or equal to a predetermined value, other users through the camera. moving the robot in a first direction independent of a direction in which the plurality of users are located in order to recognize, and after moving the robot in the first direction, the other user and the It may include comparing the first distance between the robots and the second distance.
상기 복수의 사용자들 중에서 상기 제2 거리와의 차이가 소정의 값 이하인 상기 제1 거리와 연관된 후보 사용자가 복수인 경우, 상기 로봇의 이동을 제어하는 단계는, 상기 로봇의 이동에 따라 변화하는, 상기 제1 거리 및 상기 제2 거리를 모니터링하는 단계 및 상기 모니터링의 결과에 기반하여, 복수의 후보 사용자들 중에서 상기 제2 거리와의 차이가 소정의 값 이하인 상기 제1 거리와 연관된 후보 사용자를 상기 로봇에 의해 서비스를 제공 받는 상기 사용자인 것으로 결정하는 단계를 포함할 수 있다. If there are a plurality of candidate users associated with the first distance whose difference from the second distance is less than or equal to a predetermined value among the plurality of users, the controlling of the movement of the robot may include changing according to the movement of the robot, monitoring the first distance and the second distance, and selecting a candidate user associated with the first distance, the difference from the second distance being less than or equal to a predetermined value, from among a plurality of candidate users It may include determining that it is the user provided with the service by the robot.
상기 모니터링하는 단계는, 상기 복수의 후보 사용자들이 위치하는 방향과는 독립적인 제1 방향으로 상기 로봇을 이동시키는 단계 및 상기 제1 방향으로의 상기 로봇의 이동에 따라 변화하는, 상기 제1 거리 및 상기 제2 거리를 모니터링하는 단계를 포함할 수 있다. The monitoring may include moving the robot in a first direction independent of a direction in which the plurality of candidate users are located and changing according to the movement of the robot in the first direction, the first distance and monitoring the second distance.
상기 로봇의 이동을 제어하는 단계는, 상기 통신 모듈로부터 상기 사용자 단말에 의해 수집된 신호에 기반하여 계산된 상기 로봇과 상기 사용자 단말 간의 거리 및 상기 카메라에 의한 인식에 기반하여 계산된 상기 사용자와 상기 로봇 간의 거리를 함께 감소시키도록 상기 로봇의 이동을 제어할 수 있다. The step of controlling the movement of the robot includes: the distance between the robot and the user terminal calculated based on a signal collected by the user terminal from the communication module, and the user and the calculated based on recognition by the camera It is possible to control the movement of the robot to reduce the distance between the robots together.
상기 로봇의 이동을 제어하는 단계는, 상기 카메라를 사용하여, 상기 사용자를 인식하고, 상기 인식된 사용자와 상기 로봇 간의 거리를 계산하는 단계 및 상기 계산된 거리를 감소시키도록 상기 로봇의 이동을 제어하는 단계를 포함할 수 있다. The step of controlling the movement of the robot may include, using the camera, recognizing the user, calculating a distance between the recognized user and the robot, and controlling the movement of the robot to reduce the calculated distance. may include the step of
상기 로봇 제어 방법은 상기 사용자 단말에 대해, 상기 사용자의 이동을 자제하도록 요청하는 메시지를 송신하는 단계를 더 포함할 수 있다. The method for controlling the robot may further include transmitting a message requesting to refrain from moving the user to the user terminal.
상기 위치 정보는 상기 사용자가 위치하는 상기 공간 내의 층을 나타내는 정보를 포함하고, 상기 로봇은 상기 사용자가 위치하는 상기 공간 내의 층을 이동하도록 제어될 수 있다. The location information may include information indicating a floor in the space where the user is located, and the robot may be controlled to move the floor in the space where the user is located.
상기 위치 정보는 상기 사용자 단말이 위치하는 좌표를 포함하고, 상기 로봇의 이동을 제어하는 단계는, 상기 좌표로의 상기 로봇의 이동을 제어하되, 상기 센서부로부터의 센싱에 따라 결정되는 상기 사용자와 상기 로봇 간의 거리를 감소시키도록 상기 로봇의 이동을 제어할 수 있다. The location information includes coordinates at which the user terminal is located, and the controlling the movement of the robot includes controlling the movement of the robot to the coordinates, but with the user determined according to sensing from the sensor unit. The movement of the robot may be controlled to reduce the distance between the robots.
다른 일 측면에 있어서, 공간 내에서 서비스를 제공하는 로봇에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서 및 센서부를 포함하고, 상기 적어도 하나의 프로세서는, 상기 로봇으로부터 서비스를 제공 받는 사용자의 사용자 단말로부터, 상기 공간 내에서의 상기 사용자의 위치 정보를 획득하고, 상기 획득된 위치 정보와, 상기 사용자 및 상기 사용자 단말 중 적어도 하나에 대한 상기 센서부로부터의 센싱에 기반하여, 상기 사용자와 상기 로봇 간의 거리를 감소시키도록 상기 로봇의 이동을 제어하는 로봇이 제공된다. In another aspect, in a robot providing a service in a space, comprising at least one processor and a sensor unit implemented to execute computer-readable instructions, wherein the at least one processor provides a service from the robot Obtaining the location information of the user in the space from the receiving user's user terminal, and based on the obtained location information and sensing from the sensor unit for at least one of the user and the user terminal, the A robot is provided that controls movement of the robot to reduce a distance between the user and the robot.
상기 센서부는 상기 사용자를 인식함으로써, 상기 사용자와 상기 로봇 간의 거리를 측정하기 위해 사용되는 카메라 및 상기 사용자 단말과 통신함으로써, 상기 로봇과 상기 사용자 단말 간의 거리를 측정하기 위해 사용되는 통신 모듈 중 적어도 하나를 포함할 수 있다. The sensor unit recognizes the user, by communicating with a camera and the user terminal used to measure the distance between the user and the robot, at least one of a communication module used to measure the distance between the robot and the user terminal may include.
다른 일 측면에 있어서, 공간 내에서 서비스를 제공하는 로봇을 제어하는 로봇 제어 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 로봇으로부터 서비스를 제공 받는 사용자의 사용자 단말로부터, 상기 공간 내에서의 상기 사용자의 위치 정보를 획득하고, 상기 획득된 위치 정보와, 상기 사용자 및 상기 사용자 단말 중 적어도 하나에 대한 상기 로봇의 센서부로부터의 센싱에 기반하여, 상기 사용자와 상기 로봇 간의 거리를 감소시키도록 상기 로봇의 이동을 제어하는, 로봇 제어 시스템이 제공된다. In another aspect, in a robot control system for controlling a robot providing a service in a space, comprising at least one processor implemented to execute a computer-readable command, the at least one processor, the robot From the user terminal of the user who receives the service from, the location information of the user in the space is obtained, and the obtained location information and the sensor unit of the robot for at least one of the user and the user terminal A robot control system is provided that controls the movement of the robot to reduce a distance between the user and the robot based on sensing.
로봇의 카메라에 기반하여 측정된 사용자와 로봇 간의 거리 및 로봇의 통신 모듈에 기반하여 측정된 사용자 단말과 로봇 간의 거리를 비교하여, 로봇을 통해 서비스를 제공 받을 사용자 및 해당 사용자의 위치를 결정함으로써 로봇을 통한 서비스 제공의 효율성을 높일 수 있다.By comparing the distance between the user and the robot measured based on the robot's camera and the distance between the user terminal and the robot measured based on the robot's communication module, the user to be provided with the service through the robot and the location of the user are determined. can increase the efficiency of service provision through
안면 인식을 통해 사용자를 식별하는 방법을 사용하는 경우처럼 사용자 정보를 미리 등록할 필요 없이, 개방된 공간에서 불특정의(미등록) 사용자에 대해 로봇을 통한 서비스를 제공할 수 있다.It is possible to provide a service through a robot to an unspecified (unregistered) user in an open space without the need to register user information in advance as in the case of using a method of identifying a user through facial recognition.
서비스를 제공 받는 사용자의 주변에 장애물이 존재하거나, 사용자가 소지하는 사용자 단말의 측위 정확도가 낮은 경우에도, 해당 사용자의 위치를 정확하게 측위하여 로봇을 통한 서비스를 제공할 수 있다.Even when there are obstacles around the user receiving the service or the positioning accuracy of the user terminal carried by the user is low, the user can accurately position the location of the user and provide the service through the robot.
도 1은 일 실시예에 따른, 공간 내에서 사용자에게 서비스를 제공하는 로봇을 제어하는 방법을 나타낸다.
도 2 는 일 실시예에 따른, 공간 내에서 서비스를 제공하는 로봇을 나타내는 블록도이다.
도 3 및 도 4는 일 실시예에 따른, 공간 내에서 서비스를 제공하는 로봇을 제어하는 로봇 제어 시스템을 나타내는 블록도이다.
도 5는 일 실시예에 따른, 사용자의 사용자 단말을 나타내는 블록도이다.
도 6은 일 실시예에 따른, 공간 내에서 사용자에게 서비스를 제공하는 로봇을 제어하는 방법을 나타내는 흐름도이다.
도 7은 일 예에 따른, 로봇의 이동을 제어함에 있어서, 통신 모듈을 사용하여 사용자 단말의 위치 좌표를 계산하는 방법을 나타내는 흐름도이다.
도 8은 일 예에 따른, 사용자에게 서비스를 제공하기 위해 로봇의 이동을 제어함에 있어서, 사용자와 로봇 간의 거리를 감소시키도록 로봇의 이동을 제어하는 방법을 나타내는 흐름도이다.
도 9는 일 예에 따른, 사용자에게 서비스를 제공하기 위해 로봇의 이동을 제어함에 있어서, 카메라를 사용하여 계산된 사용자와 로봇 간의 거리에 기반하여 로봇의 이동을 제어하는 방법을 나타내는 흐름도이다.
도 10 내지 도 12는 일 예에 따른, 카메라를 사용하여 계산된 로봇과 사용자 간의 거리 및 통신 모듈을 사용하여 계산된 로봇과 사용자 단말(사용자) 간의 거리에 기반하여 로봇에 의해 서비스를 제공 받을 사용자를 결정하는 방법을 나타낸다.
도 13은 일 예에 따른, 통신 모듈을 사용하여 계산된 로봇과 사용자 단말(사용자) 간의 거리 및 로봇의 위치에 기반하여, 서비스를 제공 받는 사용자의 위치를 결정하는 방법을 나타낸다.
도 14a 내지 도 14c는 일 예에 따른, 서비스를 제공 받을 사용자의 전방에 카메라의 시야를 방해하는 장애물이 있는 경우에 있어서, 로봇에 의해 서비스를 제공 받을 사용자를 결정하는 방법을 나타낸다.1 shows a method of controlling a robot that provides a service to a user in a space, according to an embodiment.
2 is a block diagram illustrating a robot that provides a service in a space, according to an embodiment.
3 and 4 are block diagrams illustrating a robot control system for controlling a robot providing a service in a space, according to an embodiment.
5 is a block diagram illustrating a user terminal of a user, according to an embodiment.
6 is a flowchart illustrating a method of controlling a robot that provides a service to a user in a space, according to an embodiment.
7 is a flowchart illustrating a method of calculating position coordinates of a user terminal using a communication module in controlling movement of a robot, according to an example.
8 is a flowchart illustrating a method of controlling the movement of the robot to reduce the distance between the user and the robot in controlling the movement of the robot to provide a service to the user, according to an example.
9 is a flowchart illustrating a method of controlling movement of a robot based on a distance between a user and a robot calculated using a camera in controlling movement of a robot to provide a service to a user, according to an example.
10 to 12 are users to be provided with services by the robot based on the distance between the robot and the user calculated using the camera and the distance between the robot and the user terminal (user) calculated using the communication module, according to an example; shows how to determine
13 illustrates a method of determining a location of a user receiving a service based on a distance between a robot and a user terminal (user) calculated using a communication module and a location of the robot, according to an example.
14A to 14C are diagrams illustrating a method of determining a user to be provided with a service by a robot when there is an obstacle in front of the user to be provided with a service that obstructs the view of the camera, according to an example.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
도 1은 일 실시예에 따른, 공간 내에서 사용자에게 서비스를 제공하는 로봇을 제어하는 방법을 나타낸다.1 shows a method of controlling a robot that provides a service to a user in a space, according to an embodiment.
도 1에서는 로봇 제어 시스템(120)과, 로봇 제어 시스템(120)에 의한 제어를 통해 제어되는 로봇(100)이 도시되었다. 로봇(100)은 예컨대, 건물의 실내 등과 같은 공간 내에서 로봇 제어 시스템(120)에 의한 제어에 따라 서비스를 제공하는 서비스 로봇일 수 있다. 공간은 실내의 공간으로 한정되지 않고 실외의 공간을 나타낼 수도 있다. 말하자면, 공간은 범위가 특정되어 있는 실내 또는 실외의 공간이나 실내 및 실외가 함께 포함된 공간일 수 있다.In FIG. 1 , the
공간은 예컨대, 로봇(100)을 통해, 물건의 배달이 수행되는 건물(회사 등), 음식물의 배달이 수행되는 카페, (스탠딩) 파티장 등일 수 있다. The space may be, for example, a building (company, etc.) in which delivery of goods is performed, a cafe in which delivery of food is performed, a (standing) party hall, and the like, through the
로봇(100)은 이와 같은 공간을 주행함으로써 공간 내의 사용자 단말(110)의 사용자(130)에게 서비스를 제공할 수 있다. 사용자 단말(110)은 사용자가 소지하는 모바일 단말일 수 있다. 로봇(100)은 사용자(130)와 연관된 사용자 단말(110)의 위치를 파악하거나 사용자들 중 서비스를 제공 받을 사용자(130)를 직접 인식하는 것을 통해 사용자(130)의 위치로 이동하여 사용자(130)에게 서비스를 제공할 수 있다. The
한편, 로봇(100)은 서비스를 제공함에 있어서 요구되는 구체적인 연산을 수행하지 않고, 이를 수행하기 위한 센싱 데이터를 로봇 제어 시스템(120)으로 제공할 뿐이라는 점에서, 브레인리스 로봇에 해당할 수도 있다. On the other hand, the
로봇(100)이 제공하는 서비스는 공간 내에서 음료와 같은 음식물이나 공산품과 같은 상품 또는 택배를 배달하는 배달 서비스를 포함할 수 있다. 즉, 로봇(100)은 배달 서비스 로봇 또는 서빙 서비스 로봇일 수 있다. 또한, 로봇(100)이 제공하는 서비스는 사용자(130)를 공간 내의 특정한 위치로 안내하는 길 안내 서비스를 포함할 수 있다. 또한, 로봇(100)이 제공하는 서비스는 경비 서비스, 이벤트/뉴스 등의 정보 제공 서비스, 및 공간 내에 위치된 식물들에 대한 관리 서비스를 포함할 수 있다.The service provided by the
실시예에 있어서, 로봇(100)은, 기 등록되거나 데이터베이스 내에 구축된, 사용자(130) 및 다른 사용자들(140)을 비롯한 사용자들에 대한 정보(예컨대, 사용자들 각각의 안면 정보)를 사용하지 않고, 서비스를 제공 받을 사용자(130)를 다른 사용자들(140)과 구분하여 식별할 수 있고, 식별된 사용자(130)에게 서비스를 제공할 수 있다. In an embodiment, the
사용자(130)는 사용자 단말(110)을 소지한 사람으로, 공간 내에서 로봇(100)으로부터 서비스를 제공 받는 대상일 수 있다. 예컨대, 사용자(130)는 도시된 것처럼, 로봇(100)으로부터 로봇(100)에 탑재된 음료 또는 택배물과 같은 물건을 배달 받는 사용자일 수 있다. The
아래에서, 도 1을 참조하여, 공간 내에서 로봇(100)의 이동을 제어하여 서비스를 요청한 사용자(130)에게 서비스를 제공하는 방법에 대해 더 자세하게 설명한다. Hereinafter, with reference to FIG. 1 , a method of providing a service to the
도시된 실시예에서처럼, 로봇(100)은 탑재된 음료 또는 택배물과 같은 물건을 사용자(130)에게 배달하는 서비스를 제공할 수 있다. 사용자(130)는 사용자 단말(110)을 조작함으로써 로봇(100)에 의한 서비스의 제공을 요청할 수 있다. 예컨대, 사용자(130)는 사용자 단말(110)에 설치된 어플리케이션을 통해 로봇(100)에 의한 서비스의 제공을 요청할 수 있다.As in the illustrated embodiment, the
사용자(130)에 의해 로봇(100)에 의한 서비스의 제공이 요청되면, 해당 서비스의 요청 및 사용자 단말(110)의 위치 정보(즉, 사용자의 위치 정보)는 로봇 제어 시스템(120)(또는, 실시예에 따라서는 로봇(100))으로 전달될 수 있다. When provision of a service by the
로봇(100)은 로봇 제어 시스템(120)에 의한 제어에 따라, 수신된 사용자 단말(110)의 위치 정보에 따른 공간 내의 위치로 이동할 수 있다. 이 때, 로봇(100)은 로봇(100)에 포함된 센서부를 통해 사용자(130)와 로봇(100) 간의 거리를 식별할 수 있고, 사용자(130)와 로봇(100) 간의 거리가 감소되도록 이동이 제어될 수 있다. 예컨대, 로봇(100)은 사용자 단말(110)로부터 획득된 위치 정보와, 사용자(130) 및 사용자 단말(110) 중 적어도 하나에 대한 센서부로부터의 센싱에 기반하여, 사용자(130)와 로봇(100) 간의 거리를 감소시키도록 이동이 제어될 수 있다. The
즉, 로봇(100)은 사용자 단말(110)로부터 획득된 위치 정보에 기반하여 해당 위치 정보가 나타내는 위치로 이동할 수 있고, 센서부에 의한 센싱에 기반하여 사용자(130) 및 다른 사용자들(140)을 비롯한 사용자들 중에서 서비스를 제공 받는 사용자(130)를 결정할 수 있으며, 해당 사용자(130)에게 서비스를 제공할 수 있다. That is, the
사용자 단말(110)로부터 획득되는 위치 정보는 공간 내에서의 사용자 단말(110)의 위치를 대략적으로 나타내는 것일 수 있다. 예컨대, 상기 위치 정보는 GPS를 통해 획득되는 공간 내에서의 사용자 단말(110)의 위치를 나타낼 수 있다. 또는/추가적으로, 상기 위치 정보는 실내 측위 기술에 기반하여 획득된 공간 내에서의 사용자 단말(110)의 위치를 나타낼 수 있다. 이러한 위치 정보는 사용자 단말(110)이 공간 내의 블루투스 모듈 및/또는 AP (Access Point)와 통신함으로써 결정된 위치이거나, 사용자 단말(110)이 사용하는 셀룰러 네트워크에 관한 정보(예컨대, LTE 네트워크 정보 또는 5G 네트워크 정보)에 기반하여 결정된 위치를 나타낼 수 있다. 위치 정보는 위치 좌표를 포함할 수 있다.The location information obtained from the
이와 같은 사용자 단말(110)로부터 획득되는 위치 정보는 상대적으로 정확도가 낮을 수 있다. 예컨대, 위치 정보는 5m 내지 10m 내외의 오차를 가지는 것으로서, 공간 내에서의 사용자(130) 또는 사용자 단말(110)의 정확한 측위에는 적합하지 않을 수 있다. The location information obtained from the
실시예에서, 로봇(100)은 사용자 단말(110)로부터 획득되는 이러한 위치 정보에 기반하여 사용자(130)를 향해 이동하되, 센서부에 의한 사용자(130) 및/또는 사용자 단말(110)에 대한 센싱에 기반하여 서비스를 제공 받는 사용자(130)를 다른 사용자들(140)과는 구분하여 특정할 수 있고, 특정된 사용자(130)에게 서비스를 제공할 수 있다. In an embodiment, the
따라서, 실시예를 통해서는, 로봇(100)이 개방된 공간에서 (미리 등록되지 않은) 불특정의 사용자에게 서비스를 제공함에 있어서도, 서비스를 제공 받는 사용자(130)를 정확하게 특정하여 특정된 사용자(130)에게 서비스를 제공할 수 있다. Therefore, through the embodiment, even when the
로봇(100)의 센서부에 의한 센싱에 따라, 사용자(130)(또는 사용자 단말(110))과 로봇(100) 간의 거리가 계산되는 방법 및 사용자들 중 서비스를 제공 받는 사용자(130)가 결정되는 방법과, 이에 따라 로봇(100)이 제어되는 구체적인 방법에 대해서는 후술될 도 2 내지 도 14를 참조하여 더 자세하게 설명된다. According to the sensing by the sensor unit of the
도 2 는 일 실시예에 따른, 공간 내에서 서비스를 제공하는 로봇을 나타내는 블록도이다.2 is a block diagram illustrating a robot that provides a service in a space, according to an embodiment.
전술한 것처럼, 로봇(100)은 공간 내에서 사용자(130)에게 서비스를 제공하기 위해 사용되는 서비스 로봇일 수 있다.As described above, the
로봇(100)은 물리적인 장치일 수 있으며, 도시된 바와 같이, 제어부(104), 구동부(108), 센서부(106) 및 통신부(102)를 포함할 수 있다. 또한, 로봇(100)은 도 1을 참조하여 전술한 것처럼 물건을 탑재하기 위한 탑재부를 포함할 수 있다.The
제어부(104)는 로봇(100)에 내장된 물리적인 프로세서일 수 있으며, 경로 계획 처리 모듈(211), 맵핑 처리 모듈(212), 구동 제어 모듈(213), 로컬리제이션 처리 모듈(214), 데이터 처리 모듈(215) 및 서비스 처리 모듈(216)을 포함할 수 있다. 이 때, 경로 계획 처리 모듈(211), 맵핑 처리 모듈(212) 및 로컬리제이션 처리 모듈(214)은 로봇 제어 시스템(120)과 통신이 이루어지지 않는 경우에도 로봇(100)의 자율 주행이 이루어질 수 있도록 하기 위해 실시예에 따라 선택적으로 제어부(104)에 포함되는 것일 수 있다. The
통신부(102)는 로봇(100)이 다른 장치(다른 로봇, 사용자 단말(110), 서버(115) 또는 로봇 제어 시스템(120) 등)와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(102)는 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 로봇(100)의 안테나, 데이터 버스, 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다. The
구동부(108)는 로봇(100)의 이동을 제어하며 이동을 가능하게 하는 구성으로서 이를 수행하기 위한 장비를 포함할 수 있다. 예컨대, 구동부(108)는 바퀴를 포함할 수 있다. The driving
센서부(106)는 로봇(100)의 자율 주행 및 서비스 제공에 있어서 요구되는 데이터를 수집하기 위한 구성일 수 있다. 센서부(106)는 고가의 센싱 장비(스캔 장비)를 포함하지 않을 수 있고, 단지 저가형 초음파 센서 및/또는 저가형 카메라 등과 같은 센서를 포함할 수 있다. 센서부(106)는 주행 방향에 위치하는 장애물/사람을 식별하기 위한 센서를 포함할 수 있다. The
또한, 센서부(106)는 카메라(230)를 포함할 수 있다. 카메라는 로봇(100)의 주위에 위치하는 사용자(130)를 인식할 수 있도록 배치될 수 있다. 카메라는 RGB 카메라 또는 단안 카메라일 수 있다. 또는, 카메라(230)는 깊이(depth) 카메라를 포함할 수 있다. 로봇(100)(또는, 로봇 제어 시스템(120))은 카메라(130)에 의해 인식된 사용자(130)와 로봇(100) 간의 위치 관계를 결정할 수 있다. 카메라(230)는 사용자를 인식함으로써 사용자와 로봇(100) 간의 거리를 측정하기 위해 사용될 수 있다. Also, the
예컨대, 로봇(100)(또는, 로봇 제어 시스템(120))은 사용자(130)의 영상으로부터 로봇(100)과 사용자(130) 간의 거리 및 로봇(100)에 대한 사용자(130)의 방향을 결정할 수 있다. 로봇(100)(또는, 로봇 제어 시스템(120))은 카메라(130)에 의해 촬영된 사용자(130)의 영상에 기반하여 사용자(130)를 인식하고, 사용자(130)를 추적할 수 있다. 카메라(130)는 복수 개일 수 있고, 예컨대, 로봇(100)의 전방 및 후방에 각각 설치될 수도 있다. 카메라(230)에 의해 다른 사용자들(140)이 인식되는 경우에도 다른 사용자들(140)의 각각에 대해 유사한 설명이 적용될 수 있다. 말하자면, 로봇(100)(또는, 로봇 제어 시스템(120))은 카메라(230)의 화각 범위에 존재하는 사용자들의 각각과 로봇(100) 간의 위치 관계를 결정할 수 있다. For example, the robot 100 (or the robot control system 120 ) determines the distance between the
또한, 센서부(106)는 통신 모듈(240)을 포함할 수 있다. 통신 모듈(240)은 사용자 단말(110)과 통신함으로써, 로봇(100)과 사용자 단말(110) 간의 거리를 측정하기 위해 사용될 수 있다. 통신 모듈(240)은 사용자 단말(110)과 통신하기 위한 AP 모듈 또는 블루투스 모듈을 포함할 수 있다. 사용자 단말(110)은 통신 모듈(240)이 브로드캐스트하는 신호를 수신하여, 사용자 단말(110)과 로봇(100) 간의 거리를 계산할 수 있다. 예컨대, 로봇(100)과 사용자 단말(110) 간의 거리는 통신 모듈(240)의 AP 모듈 또는 블루투스 모듈로부터 사용자 단말(110)에 의해 수집된 신호의 세기에 기반하여 계산될 수 있다. 사용자 단말(110)은 수집된 신호의 세기를 거리로 변환함으로써 로봇(100)과 사용자 단말(110) 간의 거리를 계산할 수 있다. 또는, 이러한 로봇(100)과 사용자 단말(110) 간의 거리의 계산은 로봇(100)이나 로봇 제어 시스템(120)에서 수행될 수도 있다. Also, the
통신 모듈(240)은 사용자 단말(110)과 일대일로 통신함으로써, 로봇(100)과 사용자 단말(110) 간의 거리를 지속적으로 수집할 수 있다. The
실시예에 따라, 통신 모듈(240)은 NFC 모듈 또는 비콘과 같은 사용자 단말(110)과의 근거리 무선 통신을 위한 장치를 포함할 수도 있다. According to an embodiment, the
한편, 도시된 것과는 달리 통신 모듈(240)은 전술된 통신부(102)에 포함될 수도 있다. On the other hand, unlike shown in the figure, the
제어부(104)의 처리 예시로서, 제어부(104)의 데이터 처리 모듈(215)은 센서부(106)로부터의 센싱 값(예컨대, 센서들로부터의 출력 값)을 포함하는 센싱 데이터를 통신부(102)를 통해 로봇 제어 시스템(120)으로 전송할 수 있다. 로봇 제어 시스템(120)은 공간 내의 (실내) 지도를 사용하여 생성된 경로 데이터를 로봇(100)으로 전송할 수 있다. 상기 경로 데이터는 로봇(100)이 서비스를 제공하기 위한 경로를 나타내는 데이터일 수 있다. 경로 데이터는 통신부(102)를 통해 데이터 처리 모듈(215)로 전달될 수 있다. 데이터 처리 모듈(215)은 경로 데이터를 바로 구동 제어 모듈(213)로 전달할 수 있고, 구동 제어 모듈(213)은 경로 데이터에 따라 구동부(108)를 제어하여 로봇(100)의 자율 주행을 제어할 수 있다.As an example of the processing of the
로봇(100)과 로봇 제어 시스템(120)이 통신할 수 없는 경우, 데이터 처리 모듈(215)은 센싱 데이터를 로컬리제이션 처리 모듈(214)로 전송하고, 경로 계획 처리 모듈(211)와 맵핑 처리 모듈(212)을 통해 경로 데이터를 생성하여 로봇(100)의 자율 주행을 직접 처리할 수도 있다. 예컨대, 제어부(104)는 경로 계획 처리 모듈(211)과 맵핑 처리 모듈(212)을 사용하여 지도로부터 서비스를 제공할 위치를 식별할 수 있고, 식별된 위치에서 서비스를 제공하기 위한 경로를 나타내는 데이터로서의 경로 데이터를 생성할 수 있고, 이러한 경로 데이터에 따른 경로를 주행하도록 로봇(100)의 자율 주행을 제어할 수 있다.When the
로봇(100)은 클라우드 상에 저장된 지도를 사용하여 서비스를 제공하기 위한 위치로 자율 주행을 통해 이동할 수 있고, 주행 시 장애물 회피, 문턱 넘기, 엘레베이터 승하차, 비상 정지 등을 수행하도록 제어될 수 있다. The
로봇(100)은 공간 내의 지도를 생성하기 위해 사용되는 맵핑 로봇과는 구별되는 것일 수 있다. 이 때, 로봇(100)은 고가의 센싱 장비(스캔 장비)를 포함하지 않기 때문에 저가형 초음파 센서 및/또는 저가형 카메라 등과 같은 센서의 출력값을 이용하여 자율 주행을 처리할 수 있다. 한편, 로봇(100)이 기존에 로봇 제어 시스템(120)과의 통신을 통해 자율 주행을 처리한 적이 있다면, 로봇 제어 시스템(120)으로부터 기존에 수신한 경로 데이터가 포함하는 맵핑 데이터 등을 더 활용함으로써 저가의 센서들을 이용하면서도 보다 정확한 자율 주행이 가능하게 될 수 있다. The
다만, 실시예에 따라 로봇(100)은 상기 맵핑 로봇을 겸할 수도 있다.However, according to an embodiment, the
서비스 처리 모듈(216)은 로봇 제어 시스템(120)을 통해 수신되는 명령을 통신부(102)를 통해 또는 통신부(102)와 데이터 처리 모듈(215)을 통해 전달받을 수 있다. 제어부(104)는 전달된 명령에 기반하여 사용자(130)에게 서비스를 제공할 수 있다. The
또는, 로봇(100)은 서비스 처리 모듈(216) 및 데이터 처리 모듈(215)에 의해 사용자(130)에게 서비스를 제공할 수 있다. 말하자면, 제어부(104)는 전술한 것처럼, 사용자(130)에게 서비스를 제공하기 위한 연산을 직접 처리할 수도 있다. Alternatively, the
구동부(108)는 로봇(100)의 이동을 위한 장비뿐만 아니라, 로봇(100)이 제공하는 서비스와 관련된 장비를 더 포함할 수 있다. 예컨대, 구동부(108)는 전술된 탑재부와, 서비스와 관련된 물건을 파지하거나 이동시키기 위한 구성(일례로, 로봇 암(arm))을 포함할 수 있다. The driving
또한, 로봇(100)은 정보/콘텐츠의 제공을 위한 스피커 및/또는 디스플레이, 또는 LED 등을 더 포함할 수도 있다. 서비스 처리 모듈(216)은 제공해야 할 서비스를 위한 구동 명령을 구동 제어 모듈(213)로 전달할 수 있고, 구동 제어 모듈(213)은 구동 명령에 따라 로봇(100)이나 구동부(108)가 포함하는 구성을 제어하여 서비스가 제공될 수 있도록 할 수 있다.In addition, the
아래에서, 로봇(100)에 의한 사용자(130)에의 서비스 제공 방법의 예시를 설명한다.Hereinafter, an example of a service provision method to the
로봇(100)에 대해 서비스의 제공을 요청하는 사용자(130)는 자신의 사용자 단말(110)에서 생성된 대략적인 위치 정보를 로봇(100)(또는 로봇 제어 시스템(120))으로 전달할 수 있다. 로봇(100)은 사용자 단말(110)로부터의 위치 정보를 획득할 수 있고, 획득된 위치 정보가 나타내는 좌표(초기 좌표)로 이동하도록 제어될 수 있다. 로봇(100)의 이동에 따라, 로봇(100)이 사용자에게 접근되면, 로봇(100)의 통신 모듈(240)과 사용자 단말(110)이 서로 통신할 수 있다. 예컨대, 통신 모듈(240)의 인식 범위에 사용자(130)가 들어오게 되면 사용자 단말(110)은 이러한 통신 모듈(240)(예컨대, 로봇(100)에 대응하는 AP, 블루투스 모듈 등)을 감지할 수 있고, 통신 모듈(240)에 접속할 수 있다. 일례로, 사용자(130)가 사용자 단말(110)을 통해 승인하는 경우에만 사용자 단말(110)이 통신 모듈(240)과 통신할 수 있다. 사용자 단말(110)은 통신 모듈(240)로부터 수신되는 신호에 기반하여 로봇(100)과 사용자 단말(110) 간의 거리를 계산할 수 있고, 계산된 거리를 로봇(100)(또는 로봇 제어 시스템(120))으로 지속적으로 전송할 수 있다. 통신 모듈(240)의 인식 범위는 예컨대, 약 40m일 수 있다. The
로봇(100)은 지속적으로 획득되는 로봇(100)과 사용자 단말(110) 간의 거리에 기반하여 능동적으로 이동함으로써, 해당 거리를 감소시키도록 제어될 수 있다. 따라서, 로봇(100)은 사용자(130)에게 점점 접근할 수 있다. The
또한, 로봇(100)은 카메라(230)를 통해 사용자(130)를 포함하는 사용자들을 인식할 수 있고, 카메라(230)를 사용하여 사용자들 각각과 로봇(100) 간의 거리를 계산할 수 있다. 로봇(100)은 카메라(230)에 기반하여 계산된 사용자와의 거리와 통신 모듈(240)에 기반하여 계산된 사용자 단말(110)과의 거리를 비교함으로써, 카메라(230)에 의해 인식된 사용자들 중 서비스를 요청한 사용자(130)를 결정할 수 있다. 로봇(100)은 결정된 사용자(130)에게 서비스를 제공하도록 제어될 수 있다. In addition, the
이상 도 1을 참조하여 전술된 기술적 특징에 대한 설명은, 도 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 및 도 4는 일 실시예에 따른, 공간 내에서 서비스를 제공하는 로봇을 제어하는 로봇 제어 시스템을 나타내는 블록도이다.3 and 4 are block diagrams illustrating a robot control system for controlling a robot providing a service in a space, according to an embodiment.
로봇 제어 시스템(120)은 전술된 로봇(100)의 공간 내에서의 이동(즉, 주행) 및 로봇(100)에 의한 사용자(130)에 대한 서비스의 제공을 제어하는 장치일 수 있다. 로봇 제어 시스템(120)은 로봇(100)이 복수인 경우 복수의 로봇들 각각의 이동 및 로봇들 각각의 서비스의 제공을 제어할 수 있다. 로봇 제어 시스템(120)은 로봇(100)과의 통신을 통해, 로봇(100)이 사용자(130)에 대한 서비스를 제공하기 위한 경로를 설정할 수 있고, 이러한 경로에 관한 정보를 로봇(100)에게 전달할 수 있다. 로봇(100)은 수신된 경로에 관한 정보에 따라 주행할 수 있고, 사용자(130)에 대한 서비스를 제공할 수 있다. 로봇 제어 시스템(120)은 상기 설정된 경로에 따라 로봇이 이동(주행)하도록 로봇(100)의 이동을 제어할 수 있다.The
로봇 제어 시스템(120)은 적어도 하나의 컴퓨팅 장치를 포함할 수 있고, 건물 내 또는 건물 외부에 위치하는 서버로 구현될 수 있다. The
로봇 제어 시스템(120)은 도시된 것처럼, 메모리(330), 프로세서(320), 통신부(310) 및 입출력 인터페이스(340)를 포함할 수 있다.As shown, the
메모리(330)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(330)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(330)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(330)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신부(310)를 통해 메모리(330)에 로딩될 수도 있다. The
프로세서(320)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(330) 또는 통신부(310)에 의해 프로세서(320)로 제공될 수 있다. 예를 들어, 프로세서(320)는 메모리(330)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. 이러한 프로세서(320)는 도 4에서 도시된 것과 같은 구성들(410 내지 440)을 포함할 수 있다. The
프로세서(320)의 구성들(410 내지 440) 각각은 프로세서(320)의 일부로서 소프트웨어 및/또는 하드웨어 모듈일 수 있고, 프로세서에 의해 구현되는 기능(기능 블록)을 나타낼 수 있다. 프로세서(320)의 구성들(410 내지 440)에 대해서는 도 4를 참조하여 후술한다.Each of the
통신부(310)는 로봇 제어 시스템(120)이 다른 장치(로봇(100) 등)와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(310)는 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 로봇 제어 시스템(120)의 안테나, 데이터 버스, 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.The
입출력 인터페이스(340)는 키보드 또는 마우스 등과 같은 입력 장치 및 디스플레이나 스피커와 같은 출력 장치와의 인터페이스를 위한 수단일 수 있다.The input/
실시예들에 따라 로봇 제어 시스템(120)은 도시된 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다.According to embodiments, the
로봇 제어 시스템(120)은, 로봇(100)이 서비스를 제공함에 있어서 요구되는 연산을 (즉, 이러한 연산을 로봇(100)이 수행하지 않는 경우, 예컨대, 로봇(100)이 브레인리스 로봇인 경우) 수행할 수 있다.The
도 4를 참조하여 프로세서(320)의 구성들(410 내지 440)에 대해 더 자세하게 설명한다. 프로세서(320)는 도시된 것처럼, 맵 생성 모듈(410), 로컬리제이션 처리 모듈(420), 경로 계획 처리 모듈(430) 및 서비스 운영 모듈(440)을 포함할 수 있다. 이러한 프로세서(320)가 포함하는 구성요소들은, 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)에 따라 프로세서(320)이 포함하는 적어도 하나의 프로세서가 수행하는 서로 다른 기능들(different functions)의 표현들일 수 있다. The
맵 생성 모듈(410)은 건물 내부에서 자율 주행하는 (도시되지 않은) 맵핑 로봇이 목표 시설물(예컨대, 건물의 내부)에 대해 생성한 센싱 데이터를 이용하여 목표 시설물의 실내 지도를 생성하기 위한 구성요소일 수 있다.The
이 때, 로컬리제이션 처리 모듈(420)은 로봇(100)으로부터 네트워크를 통해 수신되는 센싱 데이터와 맵 생성 모듈(410)을 통해 생성된 목표 시설물의 실내 지도를 이용하여 목표 시설물(건물 또는 건물의 층) 내부에서의 로봇(100)의 위치를 결정할 수 있다.At this time, the
경로 계획 처리 모듈(430)은 상술한 로봇(100)으로부터 수신된 센싱 데이터와 생성된 실내 지도를 이용하여 로봇(100)의 자율 주행을 제어하기 위한 제어 신호를 생성할 수 있다. 예컨대, 경로 계획 처리 모듈(430)은 로봇(100)의 경로(즉, 경로 데이터)를 생성할 수 있다. 생성된 경로(경로 데이터)는 해당 경로를 따르는 로봇(100)의 주행을 위해 로봇(100)에 대해 설정될 수 있다. 로봇 제어 시스템(120)은 생성된 경로에 관한 정보를 네트워크를 통해 로봇(100)으로 전송할 수 있다. 일례로, 경로에 관한 정보는 로봇(100)의 현재 위치를 나타내는 정보, 현재 위치와 실내 지도를 맵핑하기 위한 정보, 그리고 경로 계획 정보를 포함할 수 있다. 경로 계획 처리 모듈(430)은 로봇(100)을 위한 경로를 생성하여 로봇(100)에 대해 설정할 수 있다. 로봇 제어 시스템(120)은 이러한 설정된 경로에 따라(즉, 설정된 경로를 따라) 로봇(100)이 이동하도록 로봇(100)의 이동을 제어할 수 있다. The path
생성된 경로는 공간 내에서 로봇(100)이 서비스를 제공하기 위해 주행하는 경로일 수 있다. 경로 계획 처리 모듈(430)은 지도로부터 공간 내에서 서비스를 제공할 위치를 식별할 수 있고, 해당 위치에서 서비스를 제공할 수 있도록 하는 경로를 생성할 수 있다. The generated path may be a path along which the
서비스 운영 모듈(440)은 로봇(100)이 제공하는 서비스를 제어하기 위한 기능을 포함할 수 있다. 예를 들어, 로봇 제어 시스템(120) 또는 건물을 운영하는 서비스 제공자는 로봇(100)의 이용자나 제작자에게 로봇 제어 시스템(120)이 제공하는 서비스(예컨대, 클라우드 서비스)를 위한 IDE(Integrated Development Environment)를 제공할 수 있다. 이 때, 로봇(100)의 이용자나 제작자는 로봇(100)이 건물 내에서 제공하는 서비스를 제어하기 위한 소프트웨어를 IDE를 통해 제작하여 로봇 제어 시스템(120)에 등록할 수 있다. 이 경우, 서비스 운영 모듈(440)은 해당 로봇(100)과 연관하여 등록된 소프트웨어를 이용하여 로봇(100)이 제공하는 서비스를 제어할 수 있다. The
전술된 로봇(100)의 서비스를 제공하기 위한 자율 주행에 있어서 사용되는 공간의 (실내) 지도의 생성과, 이러한 지도에서의 로봇(100)에 대한 측위는 로봇 제어 시스템(120) 또는 별개의 서버가 저장 및 관리하는 측위 데이터에 기반하여 이루어질 수 있다. Generation of an (indoor) map of a space used in autonomous driving for providing the above-described service of the
실시예에서 로봇(100)에 대한 공간 내에서의 측위는 전술된 사용자 단말(110)에 대한 공간 내에서의 측위에 비해 더 정확할 수 있다. 예컨대, 사용자 단말(110)에 대한 공간 내에서의 측위는 5m 내지 10m 내외의 오차를 가짐에 비해, 로봇(100)에 대한 공간 내에서의 측위는 약 1m 이내의 오차를 가질 수 있다. In an embodiment, positioning in space for the
전술한 것처럼, 로봇(100)은, 로봇 제어 시스템(120)에 의한 제어에 따라, 사용자 단말(110)로부터 획득된 위치 정보와, 사용자(130) 및 사용자 단말(110) 중 적어도 하나에 대한 센서부(106)로부터의 센싱에 기반하여, 사용자(130)와 로봇 간의 거리를 감소시키도록 사용자(130)를 향해 이동할 수 있다. As described above, the
이상 도 1및 도 2를 참조하여 전술된 기술적 특징에 대한 설명은, 도 3 및 4에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 and 2 can be applied to FIGS. 3 and 4 as it is, and thus the overlapping description will be omitted.
도 5는 일 실시예에 따른, 사용자의 사용자 단말을 나타내는 블록도이다.5 is a block diagram illustrating a user terminal of a user, according to an embodiment.
도 5를 참조하여, 전술된 사용자 단말(110)에 대해 더 자세하게 설명한다. With reference to FIG. 5 , the above-described
사용자 단말(110)은 PC(personal computer), 노트북 컴퓨터(laptop computer), 스마트폰(smart phone), 태블릿(tablet), 웨어러블 컴퓨터(wearable computer), 사물 인터넷(Internet Of Things) 기기 등을 포함할 수 있는 여하한 단말 장치 또는 전자 장치를 의미할 수 있다. 사용자 단말(110)은 사용자(130)가 소지하고 있거나 착용하고 있는 장치일 수 있다. The
예컨대, 사용자 단말(110)은, 사용자 단말(110)에 설치된 어플리케이션을 통해, 로봇(100)에 의한 서비스의 제공을 요청할 수 있고, 이러한 요청과 함께 공간 내에서의 사용자 단말(110)의 위치 정보를 생성하여 로봇(100)(또는 로봇 제어 시스템(120))으로 송신할 수 있다.For example, the
사용자 단말(110)은 통신부(510) 및 프로세서(520)를 포함할 수 있다. The
통신부(510)는 사용자 단말(110)이 로봇(100) 또는 로봇 제어 시스템(120)과 통신하기 위한 장치일 수 있다. 말하자면, 통신부(510)는 이러한 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 사용자 단말(110)의 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다. 사용자 단말(110)은 통신부(510)를 통해 전술된 로봇(100)의 통신 모듈(240)과 통신할 수 있다. 일례로, 사용자(130)가 사용자 단말(110)을 통해 통신 모듈(240)에 대한 접속을 승인하는 경우에만, 통신부(510)는 통신 모듈(240)과 통신할 수 있다.The
프로세서(520)는 사용자 단말(110)의 구성 요소들을 관리할 수 있고, 사용자 단말(110)이 사용하는 프로그램 또는 어플리케이션을 실행할 수 있다. 예컨대, 프로세서(520)는, 로봇(100)에 의한 서비스의 제공의 요청을 생성 및 송신하기 위한 어플리케이션/프로그램을 설치 및 실행할 수 있고, 상기 프로그램 또는 어플리케이션의 실행과 데이터의 처리 등에 필요한 연산을 수행할 수 있다. 프로세서(520)는 사용자 단말(110)의 적어도 하나의 프로세서 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다. 프로세서(520)는 로봇(100)의 통신 모듈(240)로부터 수집된 신호에 기반하여 로봇(100)과 사용자 단말(110) 간의 거리를 계산할 수 있다. The
사용자 단말(110)은 도시되지는 않았으나 메모리를 포함할 수 있다. 메모리는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신부(510)를 통해 메모리에 로딩될 수도 있다.Although not shown, the
프로세서(520)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리 또는 통신부(510)에 의해 프로세서(520)로 제공될 수 있다. 예를 들어, 프로세서(520)는 메모리에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. The
또한, 사용자 단말(110)은 도시되지는 않았으나 디스플레이를 포함할 수 있다. 디스플레이는 사용자 단말(110)의 사용자(130)가 입력한 데이터를 출력하거나, 사용자 단말(110)에서 실행된 어플리케이션이 출력하는 데이터를 표시할 수 있다. 디스플레이는 터치 스크린을 포함할 수 있다.Also, although not shown, the
이상, 도 1 내지 도 4를 참조하여 전술된 기술적 특징에 대한 설명은, 도 5에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.As described above, the description of the technical features described above with reference to FIGS. 1 to 4 can be applied to FIG. 5 as it is, and thus a redundant description will be omitted.
후술될 상세한 설명에서, 로봇(100), 로봇 제어 시스템(120) 또는 사용자 단말(110)의 구성(예컨대, 로봇(100), 로봇 제어 시스템(120) 또는 사용자 단말(110)의 프로세서)들에 의해 수행되는 동작은 설명의 편의상 로봇(100), 로봇 제어 시스템(120) 또는 사용자 단말(110)에 의해 수행되는 동작으로 설명될 수 있다. In the detailed description to be described later, the components of the
또한, 후술될 상세한 설명에서 로봇 제어 시스템(120)에 의해 수행되는 것으로 설명되는 단계들의 적어도 일부와 로봇 제어 시스템(120)에 의해 수행되는 동작들의 적어도 일부는 로봇(100)에 의해서도 수행될 수 있다. 그 반대 또한 마찬가지이다. 이에 관해서는 중복되는 설명은 생략하는 경우가 있다. In addition, at least some of the steps described as being performed by the
도 6은 일 실시예에 따른, 공간 내에서 사용자에게 서비스를 제공하는 로봇을 제어하는 방법을 나타내는 흐름도이다.6 is a flowchart illustrating a method of controlling a robot that provides a service to a user in a space, according to an embodiment.
단계(S610)에서, 로봇 제어 시스템(120)은 로봇(100)으로부터 서비스를 제공 받는 사용자(130)의 사용자 단말(110)로부터, 공간 내에서의 사용자(130)의 위치 정보를 획득할 수 있다. 사용자(130)는, 예컨대, 사용자(130)는 사용자 단말(110)에 설치된 어플리케이션을 통해 로봇(100)에 의한 서비스의 제공을 요청할 수 있다. 사용자(130)에 의해 로봇(100)에 의한 서비스의 제공이 요청되면, 해당 서비스의 요청 및 사용자 단말(110)의 위치 정보(즉, 사용자의 위치 정보)가 로봇 제어 시스템(120)(또는, 실시예에 따라서는 로봇(100))으로 전달될 수 있다. 단계(S610)에서 획득되는 위치 정보는 사용자 단말(110)이 위치하는 것으로 결정된 좌표를 포함할 수 있다. 해당 위치 정보는 공간 내에서의 사용자 단말(110)의 위치를 대략적으로 나타내는 것일 수 있다.In step S610 , the
단계(S620)에서, 로봇 제어 시스템(120)은 단계(S610)에서 획득된 위치 정보와, 사용자(130) 및 사용자 단말(110) 중 적어도 하나에 대한 로봇(100)의 센서부(106)로부터의 센싱에 기반하여, 사용자(130)와 로봇(100) 간의 거리를 감소시키도록 로봇(100)의 이동을 제어할 수 있다. In step S620 , the
로봇 제어 시스템(120)은 획득된 위치 정보가 포함하는 좌표로의 로봇(100)이 이동하도록 로봇(100)을 제어할 수 있다. 이 때, 로봇 제어 시스템(120)은 사용자(130) 및 사용자 단말(110) 중 적어도 하나에 대한 센서부(106)로부터의 센싱에 따라 결정되는 사용자(130)(또는 사용자 단말(110))와 로봇(100) 간의 거리를 감소시키도록 로봇(100)의 이동을 제어할 수 있다.The
예컨대, 로봇 제어 시스템(120)은, 센서부(106)의 통신 모듈(240)과 사용자 단말(110)의 통신에 따라, 통신 모듈(240)로부터 사용자 단말(110)에 의해 수집된 신호에 기반하여 계산된 로봇(100)과 사용자 단말(110) 간의 거리를 감소시키도록 로봇(100)의 이동을 제어할 수 있다. 로봇(100)과 사용자 단말(110) 간의 거리는 통신 모듈(240)이 포함하는 AP 모듈 또는 블루투스 모듈로부터 사용자 단말(110)에 의해 수집된 신호의 세기 및 상태 정보 중 적어도 하나에 기반하여 계산될 수 있다. 예컨대, 사용자 단말(110)은 수집된 신호의 세기를 거리로 변환함으로써 로봇(100)과 사용자 단말(110) 간의 거리를 계산할 수 있다. 로봇 제어 시스템(120)은 사용자 단말(110)로부터 주기적으로 로봇(100)과 사용자 단말(110) 간의 거리를 수신할 수 있고, 이에 따라, 해당 거리를 줄이도록 로봇(100)의 이동을 제어할 수 있다. 한편, 로봇(100)과 사용자 단말(110) 간의 거리는 사용자 단말(110)에 의해 수집된 상태 정보에 기반하여 계산될 수도 있다. 상태 정보는 예컨대, CSI (Channel State Information)를 포함할 수 있다. CSI는 사용자 단말(110)에 대해 서브 반송파로 들어오는 다양한 채널의 위상과 진폭 정보를 나타낼 수 있다. 이러한 상태 정보를 핑거프린트(fingerprint)로서 사용함으로써 로봇(100)과 사용자 단말(110) 간의 거리가 추정될 수 있다. 또한, 상태 정보는 예컨대, FTM (Fine Time Measurement) 정보를 포함할 수 있다. 일례로, 이러한 FTM는 사용자 단말(110)이 신호를 수신한 시각과 사용자 단말(110)으로 신호가 송신된 시각의 차를 나타낼 수 있다. 로봇(100)과 사용자 단말(110) 간의 거리는 이러한 FTM으로부터 추정될 수도 있다.For example, the
실시예에 의해, 로봇(100)은 사용자 단말(110)로부터 획득되는 대략적인 위치 정보가 나타내는 위치로 이동하는 것에 그치지 않고, 센서부(106)에 의한 센싱을 통해 계산된 사용자(130)(또는 사용자 단말(110))와 로봇(100) 간의 거리에 기반하여 사용자(130)를 정확하게 특정할 수 있다. 따라서, 로봇(100)은 정확하게 특정된 사용자(130)의 위치에서 서비스를 제공할 수 있다.According to the embodiment, the
한편, 단계(S615)에서처럼, 로봇 제어 시스템(120)은 사용자 단말(110)에 대해, 사용자(130)의 이동을 자제하도록 요청하는 메시지를 송신할 수 있다. 말하자면, 서비스를 요청한 사용자(130)가 이동하거나 위치를 이탈하지 않도록 요청하는 메시지가 사용자 단말(110)에 대해 송신될 수 있다. 메시지는 예컨대, 팝업 창 또는 알림 바 등의 UI를 통해 사용자 단말(110)에서 출력될 수 있다. Meanwhile, as in step S615 , the
단계(S615)에서의 메시지의 송신은 사용자 단말(110)로부터 서비스 제공의 요청이 수신된 후에 이루어질 수 있다.Transmission of the message in step S615 may be performed after a request for service provision is received from the
사용자(130)는 주기적으로 또는 이동이 있을 때마다 사용자 단말(110)을 통해 (단계(S610)에서의) 위치 정보를 로봇 제어 시스템(120)으로 송신할 수 있다. 로봇 제어 시스템(120)은 이러한 갱신된 위치 정보에 따라 로봇(100)의 이동을 제어할 수 있다. The
한편, 단계(S610)에서 사용자 단말(110)로부터 획득되는 위치 정보는 사용자(130)(사용자 단말(110))가 위치하는 공간 내의 층을 나타내는 정보를 포함할 수 있다. 이에 따라, 단계(S620)에서 로봇(100)은 사용자(130)가 위치하는 공간 내의 층(즉, 층을 나타내는 정보에 따른 층)을 이동하도록 제어될 수 있다. 로봇(100)이 해당 층이 아닌 다른 층에 위치하는 경우 로봇(100)은 엘리베이터 등에 탑승하는 것을 통해 사용자(130)가 위치하는 공간 내의 층으로 이동할 수 있다. Meanwhile, the location information obtained from the
사용자(130)가 로봇(100)과 공간 내의 다른 층에 위치하는 경우에도 센서부(106)에 의한 센싱에 따른 사용자(130)와 로봇(100) 간의 거리는 가까운 것으로 결정될 수 있다. 상기와 같이, 사용자 단말(110)로부터 획득되는 위치 정보가 사용자(130)가 위치하는 공간 내의 층을 나타내는 정보를 포함함으로써, 로봇(100)이 사용자(130)가 위치하는 층과 다른 층을 이동하는 것을 방지할 수 있다. Even when the
이상, 도 1 내지 도 5를 참조하여 전술된 기술적 특징에 대한 설명은, 도 6에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.As described above, the description of the technical features described above with reference to FIGS. 1 to 5 can be applied to FIG. 6 as it is, and thus a redundant description will be omitted.
도 7은 일 예에 따른, 로봇의 이동을 제어함에 있어서, 통신 모듈을 사용하여 사용자 단말의 위치 좌표를 계산하는 방법을 나타내는 흐름도이다.7 is a flowchart illustrating a method of calculating position coordinates of a user terminal using a communication module in controlling movement of a robot, according to an example.
로봇 제어 시스템(120)은 사용자(130)를 향해 로봇(100)이 이동하도록 로봇(100)을 제어함에 있어서, 사용자(130)의 위치를 알아낼 수 있다.The
후술될 단계들(S710 및 S720)에 의한 사용자(130)의 측위에는 카메라(230)는 사용되지 않을 수 있다. 즉, 이 때 센서부(106)는 카메라(230)를 포함하지 않을 수 있다. The
단계(S710)에서, 로봇 제어 시스템(120)은 로봇(100)의 이동에 따른, 로봇(100)의 위치 좌표 및 해당 로봇(100)의 위치 좌표에서의 로봇(100)과 사용자 단말(110) 간의 거리로 구성된 복수의 쌍들을 결정할 수 있다. In step S710, the
로봇(100)과 사용자 단말(110) 간의 거리는 전술된 센서부(106)의 통신 모듈(240)을 사용하여 계산된 것으로서, 통신 모듈(240)과 사용자 단말(110)의 통신에 따라, 통신 모듈(240)로부터 사용자 단말(110)에 의해 수집된 신호에 기반하여 계산된 것일 수 있다. The distance between the
로봇(100)의 위치 좌표는 공간 내에서의 로봇(100)에 대한 측위의 결과로서 로봇 제어 시스템(120)이 이미 알고 있는 값일 수 있다. The position coordinates of the
단계(S720)에서, 로봇 제어 시스템(120)은 단계(S710)에서 결정된 복수의 쌍들에 기반하여 사용자 단말(110)의 위치 좌표를 계산할 수 있다. 계산된 사용자 단말(110)의 위치 좌표는 사용자(130)의 위치 좌표에 대응할 수 있다. In step S720 , the
로봇 제어 시스템(120)은 복수의 위치들에서의 로봇(100)의 위치 좌표들과 로봇(100)과 사용자 단말(110) 간의 거리를 알고 있으므로 사용자 단말(110)의 위치 좌표를 계산할 수 있다. 사용자 단말(110)의 위치 좌표는 예컨대, 삼각측량법 또는 삼변측량법에 의해 계산될 수 있다. The
관련하여, 도 13은 일 예에 따른, 통신 모듈(240)을 사용하여 계산된 로봇(100)과 사용자 단말(110)(사용자(130)) 간의 거리 및 로봇(100)의 위치에 기반하여, 서비스를 제공 받는 사용자(130)의 위치를 결정하는 방법을 나타낸다.In relation to this, FIG. 13 is based on the distance between the
도시된 사용자 A는 사용자(130)에 대응할 수 있다.The illustrated user A may correspond to the
도시된 것처럼, 로봇(100)은 <A>, <B> 및 <C>를 이동할 수 있고, 각 지점에서의 로봇(100)의 위치 좌표와 해당 위치 좌표에서의 사용자 A와의 거리(통신 모듈(240)을 사용하여 계산된 로봇(100)과 사용자 단말(110) 간의 거리)의 쌍을 사용하여, 사용자 A의 위치 좌표가 계산될 수 있다. As shown, the
예컨대, <A>에서의 로봇(100)의 위치 좌표가 (x1, y1, z1)이며 사용자 A까지의 거리가 d1이고; <B>에서의 로봇(100)의 위치 좌표가 (x2, y2, z2)이며 사용자 A까지의 거리자 d2이고; <C>에서의 로봇(100)의 위치 좌표가 (x3, y3, z3)이며 사용자 A까지의 거리자 d3이면, 사용자 A의 위치 좌표(x, y, z)를 아래의 수학식 1을 사용하여 계산할 수 있다.For example, the position coordinates of the
[수학식 1] [Equation 1]
실시예에 의해서는, 서비스를 제공 받는 사용자(130)의 위치가 정확하게 파악될 수 있는 바, 로봇(100)이 정확하게 사용자(130)에게 이동하여 서비스를 제공할 수 있다. According to the embodiment, the location of the
이상, 도 1 내지 도 6을 참조하여 전술된 기술적 특징에 대한 설명은, 도 7 및 도 13에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 6 can be applied to FIGS. 7 and 13 as it is, and thus overlapping descriptions will be omitted.
도 8은 일 예에 따른, 사용자에게 서비스를 제공하기 위해 로봇의 이동을 제어함에 있어서, 사용자와 로봇 간의 거리를 감소시키도록 로봇의 이동을 제어하는 방법을 나타내는 흐름도이다.8 is a flowchart illustrating a method of controlling the movement of the robot to reduce the distance between the user and the robot in controlling the movement of the robot to provide a service to the user, according to an example.
도 8을 참조하여, 센서부(106)의 카메라(230)를 사용하여 계산된 로봇(100)과 사용자(130) 간의 거리 및 통신 모듈(240)을 사용하여 계산된 로봇(100)과 사용자 단말(110)(사용자(130)) 간의 거리에 기반하여 로봇(100)에 의해 서비스를 제공 받을 사용자(130)를 결정하는 방법이 설명된다. 8, the distance between the
단계(S810)에서, 로봇 제어 시스템(120)(또는 로봇(100))은 카메라(230)에 의한 인식에 기반하여, 사용자(들)과 로봇(100) 간의 제1 거리를 계산할 수 있다. 사용자와 로봇(100) 간의 제1 거리는 예컨대, 깊이(depth) 카메라를 사용하여 계산될 수 있다. In step S810 , the robot control system 120 (or the robot 100 ) may calculate a first distance between the user(s) and the
예컨대, 카메라(230)에 의해 서비스를 제공 받는 사용자(130)를 포함하는 복수의 사용자들이 인식되는 경우, 로봇 제어 시스템(120)은 카메라(230)에 의한 인식에 기반하여 복수의 사용자들의 각 사용자와 로봇(100) 간의 제1 거리를 계산할 수 있다. 로봇 제어 시스템(120)은 카메라(230)의 화각 범위 내에 존재하는 사용자들의 각각에 대해 로봇(100)과의 거리를 제1 거리로서 계산할 수 있다.For example, when a plurality of users including the
단계(S820)에서, 로봇 제어 시스템(120)은 단계(S810)에서 계산된 제1 거리와 통신 모듈(240)로부터 사용자 단말(110)에 의해 수집된 신호에 기반하여 계산된 로봇(100)과 사용자 단말(110) 간의 제2 거리를 비교할 수 있다. 말하자면, 로봇 제어 시스템(120)은 카메라(230)를 사용하여 계산된 로봇(100)과 각 사용자 간의 거리(제1 거리)와, 통신 모듈(240)을 사용하여 계산된 로봇(100)과 사용자 단말(110) 간의 거리(제2 거리)를 비교할 수 있다. In step S820 , the
단계(S830)에서, 로봇 제어 시스템(120)은 카메라(230)를 통해 인식된 사용자들 중에서, 상기 제2 거리와의 차이가 소정의 값 이하인 제1 거리와 연관된 후보 사용자가 존재하는지 여부를 판정할 수 있다. In step S830 , the
상기 소정의 값은 카메라(230)를 사용하여 계산된 로봇(100)과 각 사용자 간의 거리 및 통신 모듈(240)을 사용하여 계산된 로봇(100)과 사용자 단말(110) 간의 거리가 가질 수 있는 오차 범위를 나타낼 수 있다. The predetermined value is the distance between the
단계(S840)에서, 로봇 제어 시스템(120)은 상기 제2 거리와의 차이가 소정의 값 이하인 제1 거리와 연관된 후보 사용자가 복수인지 여부를 판정할 수 있다. In step S840 , the
단계(S840)에서의 판정 결과가 복수가 아닌 경우, 단계(S850)에서, 로봇 제어 시스템(120)은 카메라(230)를 통해 인식된 사용자들 중에서, 상기 제2 거리와의 차이가 소정의 값 이하인 제1 거리와 연관된 후보 사용자를 로봇(100)에 의해 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다. If the determination result in step S840 is not a plurality, in step S850, the
말하자면, 로봇 제어 시스템(120)은 상기 제2 거리와 동일한(또는 오차 범위에 있는) 제1 거리를 갖는 사용자를 서비스를 제공 받는 사용자(130)로서 결정할 수 있다. In other words, the
단계(S860)에서, 로봇 제어 시스템(120)은 단계(S850)에서 결정된 후보 사용자로 로봇(100)이 이동하도록 로봇을 제어할 수 있다. In step S860, the
관련하여, 도 10은, 일 예에 따른, 상기 제1 거리 및 상기 제2 거리에 기반하여 로봇(100)에 의해 서비스를 제공 받는 사용자(130)를 결정하는 방법을 나타낸다. 도 10에서는 사용자 A가 사용자(130)에 해당하는 것으로 도시되었다. In relation to this, FIG. 10 illustrates a method of determining a
로봇(100)의 카메라(230)는 사용자 A 내지 D를 인식할 수 있고, 사용자 A 내지 D 각각과 로봇(100)과의 거리를 제1 거리로서 계산할 수 있다. 로봇(100)은 통신 모듈(240)을 사용하여 계산된 사용자 단말(110)과 로봇(100) 간의 거리인 제2 거리와 제1 거리를 비교할 수 있다. The
로봇(100)은 사용자 A와 연관된 제1 거리가 제2 거리와 동일하거나 적어도 그 차이가 소정의 값 이하인 것을 식별할 수 있고, 사용자 A를 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다. 따라서, 로봇(100)은 사용자 A를 향해 이동하여 사용자 A에게 서비스를 제공할 수 있다. The
설명한 것처럼, 사용자 A 내지 D에 관한 정보(예컨대, 안면 정보)가 등록되어 있지 않은 경우에도, 로봇(100)은 제1 거리 및 제2 거리를 비교하는 것을 통해 사용자 A가 서비스를 제공 받는 사용자(130)인 것으로 정확하게 결정할 수 있다.As described, even when information (eg, facial information) about users A to D is not registered, the
즉, 실시예에서는, 로봇(100)이 사용자 단말(110)로부터 획득된 대략적인 위치 정보에 기반하여 이동한 후, 카메라(230)에 의해 복수의 사용자들(사용자 A 내지 D)이 인식되는 경우, 통신 모듈(240)을 사용하여 계산된 제2 거리와 일치하는 (카메라(230)를 사용하여 계산된) 제1 거리를 갖는 사용자 A를 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다.That is, in the embodiment, when a plurality of users (users A to D) are recognized by the
한편, 단계(S850)에서 결정된 후보 사용자로 로봇(100)이 이동하는 동안, 제2 거리가 증가하는 경우가 존재할 수 있다. 이는 해당 후보 사용자가 서비스를 제공 받는 사용자(130)가 아님을 의미할 수 있다. Meanwhile, while the
단계(S870)에서, 로봇 제어 시스템(120)은, 후보 사용자로의 로봇(100)의 이동에 따라, 제2 거리가 증가하거나 해당 후보 사용자와 연관된 제1 거리와 제2 거리의 차이가 소정의 값을 초과하게 되는지를 판정할 수 있다. In step S870, the
단계(S870)에서의 판정의 결과가 부정인 경우, 단계(S880)에서, 로봇 제어 시스템(120)은 해당 후보 사용자로 이동하도록 로봇(100)을 제어할 수 있다. 이 때, 후보 사용자는 서비스를 제공 받는 사용자(130)인 것으로 결정될 수 있다.When the result of the determination in step S870 is negative, in step S880, the
단계(S870)에서의 판정의 결과가 긍정인 경우, 전술된 단계(S810) 이하의 동작들이 다시 수행될 수 있다. 말하자면, 로봇 제어 시스템(120)은 카메라(230)를 통해 다른 사용자를 인식하여 (전술된 거리 비교 등의 단계들을 통해) 해당 다른 사용자를 로봇(100)에 의해 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다. 로봇 제어 시스템(120)은 상기 제2 거리가 감소되도록 상기 다른 사용자를 향해 로봇(100)을 이동시킬 수 있다. When the result of the determination in step S870 is affirmative, the above-described operations in step S810 and subsequent operations may be performed again. In other words, the
관련하여, 도 11은, 단계(S870)에서의 판정의 결과가 긍정인 경우 서비스를 제공 받는 사용자(130)를 결정하는 방법의 예시를 나타낸다. 도 10에서는 사용자 A가 사용자(130)에 해당하는 것으로 도시되었으며, 사용자 B가 최초로 로봇(100)이 이동하는 후보 사용자로서 도시되었다. In relation to this, FIG. 11 shows an example of a method of determining the
도시된 예시에서, 로봇(100)의 카메라(230)는 화각 범위 내에 있는 사용자 B 내지 D를 인식할 수 있고, 사용자 A는 인식하지 못할 수 있다. 이 때, 카메라(230)는 로봇(100)의 일방에 설치된 것일 수 있다. In the illustrated example, the
로봇(100)은 사용자 B 내지 D 각각과 로봇(100)과의 거리를 제1 거리로서 계산할 수 있다. 로봇(100)은 통신 모듈(240)을 사용하여 계산된 사용자 단말(110)과 로봇(100) 간의 거리인 제2 거리와 제1 거리를 비교할 수 있다. The
로봇(100)은 사용자 B와 연관된 제1 거리가 제2 거리와 동일하거나 적어도 그 차이가 소정의 값 이하인 것을 식별할 수 있고, 사용자 B를 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다. 따라서, 로봇(100)은 사용자 B를 향해 이동할 수 있다. The
이 때, 로봇(100)은 이동하는 동안 사용자 B와 연관된 제1 거리는 감소함에 비해 상기 제2 거리는 증가함을 확인할 수 있고, 이 때, 사용자 B는 서비스를 제공 받는 사용자(130)가 아닌 것으로 결정할 수 있다. At this time, the
로봇(100)의 카메라(230)는 (필요하다면 로봇(100)을 회전시키거나 이동시켜) 사용자 A를 식별할 수 있다. 로봇(100)은 사용자 A와 연관된 제1 거리가 제2 거리와 동일하거나 적어도 그 차이가 소정의 값 이하인 것을 식별할 수 있고, 사용자 A를 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다. 따라서, 로봇(100)은 사용자 A를 향해 이동하여, 사용자 A에게 서비스를 제공할 수 있다. The
말하자면, 로봇 제어 시스템(120)은 통신 모듈(240)로부터 사용자 단말(110)에 의해 수집된 신호에 기반하여 계산된 로봇(100)과 사용자 단말(110) 간의 거리(제2 거리) 및 카메라(230)에 의한 인식에 기반하여 계산된 사용자(130)와 로봇(100) 간의 거리(제1 거리)를 함께 감소시키도록 로봇(100)의 이동을 제어할 수 있다. 로봇(100)이 후보 사용자를 향해 이동할 때, 제1 거리 및 제2 거리가 함께 감소하는 경우, 해당 후보 사용자는 서비스를 제공 받는 사용자(130)인 것으로 간주될 수 있다. In other words, the
또한, 관련하여, 도 14a 내지 도 14c는, 단계(S870)에서의 판정의 결과가 긍정인 경우 서비스를 제공 받는 사용자(130)를 결정하는 방법의 다른 예시를 나타낸다. 도 14a 내지 도 14c에서는 사용자 A가 사용자(130)에 해당하는 것으로 도시되었으며, 사용자 B가 최초로 로봇(100)이 이동하는 후보 사용자로서 도시되었다. Also, in connection with, FIGS. 14A to 14C show another example of a method of determining the
도시된 예시에서, 로봇(100)의 카메라(230)는 화각 범위 내에 있는 사용자 B 내지 E를 인식할 수 있고, 사용자 A는 인식하지 못할 수 있다. 이 때, 사용자 C가 사용자 A를 가로막고 있기 때문에 카메라(230)는 사용자A를 인식하지 못할 수 있다. 사용자 C는 사람이 아닌 여하한 장애물로서 대체될 수 있다(도 14a 참조). In the illustrated example, the
로봇(100)은 사용자 B 내지 E 각각과 로봇(100)과의 거리를 제1 거리로서 계산할 수 있다. 로봇(100)은 통신 모듈(240)을 사용하여 계산된 사용자 단말(110)과 로봇(100) 간의 거리인 제2 거리와 제1 거리를 비교할 수 있다. The
로봇(100)은 사용자 B와 연관된 제1 거리가 제2 거리와 동일하거나 적어도 그 차이가 소정의 값 이하인 것을 식별할 수 있고, 사용자 B를 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다. 따라서, 로봇(100)은 사용자 B를 향해 이동할 수 있다. The
도 14b 및 도 14c에서 도시된 것처럼, 로봇(100)가 사용자 B를 향해 이동하는 동안 사용자 B와 연관된 제1 거리 및 제2 거리는 함께 감소할 수 있다. 그러나, 도 14c에서 도시된 경우와 같이 로봇(100)가 사용자 B를 향해 이동한 경우, 사용자 B와 연관된 제1 거리와 제2 거리가 다시 불일치하게 될 수 있다. 즉, 사용자 B와 연관된 제1 거리와 제2 거리 간의 차이가 소정의 값을 초과하게 될 수 있다. 로봇(100)은 사용자 B와 연관된 제1 거리와 제2 거리 간의 차이가 소정의 값을 초과함을 식별할 수 있고, 이 때, 로봇(100)은 사용자 B는 서비스를 제공 받는 사용자(130)가 아닌 것으로 결정할 수 있다. 14B and 14C , while the
로봇(100)의 카메라(230)는 (필요하다면 로봇(100)을 회전시키거나 이동시켜) 사용자 A를 식별할 수 있다. 로봇(100)은 사용자 A와 연관된 제1 거리가 제2 거리와 동일하거나 적어도 그 차이가 소정의 값 이하인 것을 식별할 수 있고, 사용자 A를 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다. 따라서, 로봇(100)은 사용자 A를 향해 이동하여, 사용자 A에게 서비스를 제공할 수 있다. The
이와 같이, 실시예에 의해서는, 사용자 A의 주위에 존재하는 장애물에 의해 사용자 A가 카메라(230)를 통해 식별될 수 없더라도, 사용자 A가 서비스를 제공 받는 사용자(130)로서 정확하게 결정될 수 있다. As such, according to the embodiment, even if the user A cannot be identified through the
한편, 전술한 단계(S830)에서 카메라(230)에 의해 인식된 사용자들 중 제2 거리와의 차이가 소정의 값 이하인 제1 거리와 연관된 후보 사용자가 존재하지 않는 것으로 판정될 수 있다. Meanwhile, it may be determined that there is no candidate user associated with the first distance whose difference from the second distance is less than or equal to a predetermined value among users recognized by the
이러한 경우, 단계(S835)에서, 로봇 제어 시스템(120)은 카메라(230)에 의해 인식된 복수의 사용자들이 위치하는 방향과는 독립적인 제1 방향으로 로봇을 이동시킬 수 있다. 예컨대, 로봇 제어 시스템(120)은 로봇(100)을 회전시키거나, 로봇(100)을 수직(vertical) 방향 및 수평(horizontal) 방향으로 이동시킬 수 있다. 즉, 로봇 제어 시스템(120)은 기 인식된 복수의 사용자들 외의 (서비스를 제공 받는 사용자(130)가 될 수 있는) 다른 사용자를 인식하기 위해 로봇(100)을 이동시킬 수 있다. In this case, in step S835 , the
다른 사용자가 카메라(230)에 의해 인식됨에 따라 전술된 단계(S810) 이하의 단계들이 다시 수행될 수 있다. 말하자면, 제1 방향으로의 로봇(100)의 이동 후, 로봇 제어 시스템(120)은 카메라(230)에 의한 인식에 기반한 다른 사용자와 로봇(100) 간의 제1 거리와 상기 제2 거리를 비교할 수 있다. As another user is recognized by the
한편, 전술한 단계(S840)에서 카메라(230)에 의해 인식된 사용자들 중에서 제2 거리와의 차이가 소정의 값 이하인 제1 거리와 연관된 후보 사용자가 복수인 것으로 판정될 수 있다. Meanwhile, it may be determined that a plurality of candidate users associated with the first distance whose difference from the second distance is less than or equal to a predetermined value among users recognized by the
이러한 경우, 단계(S842)에서, 로봇 제어 시스템(120)은 복수의 후보 사용자들이 위치하는 방향과는 독립적인 제1 방향으로 로봇(100)을 이동시킬 수 있다. 예컨대, 로봇 제어 시스템(120)은 로봇(100)을 수직(vertical) 방향 및 수평(horizontal) 방향으로 이동시킬 수 있다. 즉, 로봇 제어 시스템(120)은제2 거리와, 복수의 후보 사용자들의 각각과 연관된 제1 거리를 변화시키기 위해 로봇(100)을 이동시킬 수 있다.In this case, in step S842 , the
단계(S844)에서, 로봇 제어 시스템(120)은 로봇(100)의 이동에 따라 변화하는, (후보 사용자들의 각각과 연관된) 제1 거리 및 제2 거리를 모니터링할 수 있다. 예컨대, 로봇 제어 시스템(120)은 로봇(100)의 제1 방향으로의 이동에 따라 변화하는, (후보 사용자들의 각각과 연관된) 제1 거리 및 제2 거리를 모니터링할 수 있다. 이러한 모니터링의 결과에 대해 전술된 단계(S820)에 따른 비교가 수행될 수 있다. 또는, 로봇 제어 시스템(120)은 로봇(100)의 후보 사용자들 중 어느 하나로의 이동에 따라 변화하는 제1 거리 및 제2 거리를 모니터링할 수도 있다.In step S844 , the
로봇 제어 시스템(120)은 단계(S844)에서의 모니터링의 결과에 기반하여, 복수의 후보 사용자들 중에서 제2 거리와의 차이가 소정의 값 이하인 제1 거리와 연관된 후보 사용자를 로봇(100)에 의해 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다. 따라서, 복수의 후보 사용자들 중 서비스를 제공 받는 사용자(130)가 특정될 수 있다. The
관련하여, 도 12는 일 예에 따른, 후보 사용자들이 복수인 경우에 있어서, 로봇(100)에 의해 서비스를 제공 받는 사용자(130)를 결정하는 방법을 나타낸다. 도 12에서는 사용자 A가 사용자(130)에 해당하는 것으로 도시되었다.In relation to this, FIG. 12 shows a method of determining a
로봇(100)의 카메라(230)는 사용자 A 내지 C를 인식할 수 있고, 사용자 A 내지 C 각각과 로봇(100)과의 거리를 제1 거리로서 계산할 수 있다. 로봇(100)은 통신 모듈(240)을 사용하여 계산된 사용자 단말(110)과 로봇(100) 간의 거리인 제2 거리와 제1 거리를 비교할 수 있다. The
로봇(100)은 사용자 A 내지 C 모두와 연관된 제1 거리가 제2 거리와 동일하거나 적어도 그 차이가 소정의 값 이하인 것을 식별할 수 있다. 즉, 사용자 A 내지 C가 모두 후보 사용자가 될 수 있다. The
이 때, 로봇(100)은 소정의 제1 방향(도시된 것처럼 수직 또는 수평 방향 혹은 불특정의 방향)으로 이동될 수 있고, 이에 따라, 제2 거리 및 사용자 A 내지 C 각각과 연관된 제1 거리가 변경될 수 있다. At this time, the
로봇(100)은 변경된 제2 거리 및 제1 거리를 기준으로, 제2 거리와 동일하거나 적어도 그 차이가 소정의 값 이하인 제1 거리와 연관된 사용자를 결정할 수 있다. 따라서, 로봇(100)은 사용자 A를 서비스를 제공 받는 사용자(130)인 것으로 결정할 수 있다.Based on the changed second distance and the first distance, the
즉, 실시예에서는, 복수의 후보 사용자들이 존재하는 경우에도 서비스를 제공 받는 사용자(130)를 정확하게 특정할 수 있다. That is, in the embodiment, even when a plurality of candidate users exist, the
이상, 도 1 내지 도 7을 참조하여 전술된 기술적 특징에 대한 설명은, 도 8 및 도 10 내지 도 14에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.As described above, the description of the technical features described above with reference to FIGS. 1 to 7 can be applied to FIGS. 8 and 10 to 14 as it is, and thus a redundant description will be omitted.
도 9는 일 예에 따른, 사용자에게 서비스를 제공하기 위해 로봇의 이동을 제어함에 있어서, 카메라를 사용하여 계산된 사용자와 로봇 간의 거리에 기반하여 로봇의 이동을 제어하는 방법을 나타내는 흐름도이다.9 is a flowchart illustrating a method of controlling movement of a robot based on a distance between a user and a robot calculated using a camera in controlling movement of a robot to provide a service to a user, according to an example.
도 9를 참조하여, 센서부(106)의 카메라(230)를 사용하여 사용자(130)와 로봇(100) 간의 거리를 계산하고, 로봇(100)의 이동을 제어하는 방법을 설명한다. A method of calculating the distance between the
단계(S910)에서, 로봇 제어 시스템(120)은 카메라(230)를 사용하여, 사용자(130)를 인식하고, 인식된 사용자(130)와 로봇(100) 간의 거리를 계산할 수 있다. 사용자(130)와 로봇(100) 간의 거리는 깊이 카메라를 사용하여 사용자(130)를 인식함으로써 계산될 수 있다. 또는, 카메라(230)가 일반적인 RGB 또는 단안 카메라인 경우에 있어서, 슬램을 통해 사용자(130)와 로봇(100) 간의 거리가 계산될 수 있다. 예컨대, 로봇 제어 시스템(120)은 로봇(100)을 이동시킬 수 있고, 로봇(100)의 이동에 따라 변화하는 카메라(230)에 의해 촬영된 사용자(130)의 영상을 분석함으로써 사용자(130)와 로봇(100) 간의 거리를 계산할 수 있다. In step S910 , the
단계(S920)에서, 로봇 제어 시스템(120)은 단계(S910)에서 계산된 거리를 감소시키도록 로봇(100)의 이동을 제어할 수 있다. 따라서, 로봇(100)은 사용자(130)를 향해 이동할 수 있다. In step S920 , the
한편, 로봇 제어 시스템(120)은 사용자(130)를 향해 로봇(100)이 이동하도록 로봇(100)을 제어함에 있어서, 사용자(130)의 위치(즉, 위치 좌표)를 알아낼 수 있다. 이러한 사용자(130)의 측위에는 통신 모듈(240)은 사용되지 않을 수 있다. 즉, 이 때 센서부(106)는 통신 모듈(240)을 포함하지 않을 수 있다.Meanwhile, when the
카메라(230)에 의한 사용자(130)의 인식에 기반하여 사용자(130)의 위치 좌표를 계산하는 방법에 대해서는, 도 7 및 도 13을 참조하여 전술된 사용자(130)의 위치 좌표를 계산하는 방법이 유사하게 적용될 수 있다. 따라서, 중복되는 설명은 생략한다. For a method of calculating the position coordinates of the
로봇 제어 시스템(120)은 카메라(230)의 센서 노이즈에 기반하여 사용자(130)와 로봇(100) 간의 거리 및 사용자(130)의 위치 좌표를 계산할 수 있다. 또한, 로봇 제어 시스템(120)은 사용자(130)와 로봇(100) 간의 거리 및 사용자(130)의 측위의 정확도/신뢰도를 높이기 위해 센서 노이즈 및 시차(카메라(230)의 각도)에 따른 신뢰도를 고려할 수 있다. The
이상, 도 1 내지 도 8 및 도 10 내지 도 14를 참조하여 전술된 기술적 특징에 대한 설명은, 도 9에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 8 and FIGS. 10 to 14 can be applied to FIG. 9 as it is, and thus a redundant description will be omitted.
실시예를 통해서는, 로봇(100)이 서빙 로봇인 경우, 로봇(100)이 고정된 테이블로 이동하여 서비스를 제공하는 것에 그치지 않고, 스탠딩 파티가 진행되는 공간과 같은, 지정된 테이블이 없고 사용자(130)가 자유롭게 이동할 수 있는 환경에서도, 사용자(130)를 특정하여 사용자(130)에게 서비스를 제공할 수 있다. In the embodiment, when the
또한, 실시예를 통해서는, 로봇(100)이 사용자(130)에게 길 안내 서비스를 제공함에 있어서, 사용자(130)가 미리 등록된 사용자가 아니더라도 사용자(130)를 다른 사용자들로부터 특정하여 추적할 수 있다. In addition, through the embodiment, when the
실시예의, 로봇(100)은 자율주행 이동체(자율주행 차량(택시 등), 무인비행체, 선박)로 대체될 수 있다. 즉, 전술된 실시예는, 이러한 이동체를 이용하는 사용자의 위치가 제공되지만 그 정확도가 떨어지는 경우에 있어서, 사용자의 위치를 정확하게 결정하여 해당 사용자의 위치로 자율주행 이동체를 이동시키기 위해(즉, 사용자의 위치에서 자율주행 이동체를 정차시키기 위해) 활용될 수 있다.In an embodiment, the
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or device described above may be implemented as a hardware component, a software component, or a combination of a hardware component and a software component. For example, 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 executed on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can 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.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.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.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.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.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (10)
상기 건물 내를 주행하며 서비스를 제공하는 적어도 하나의 로봇
이 배치되고,
상기 로봇은 로봇 제어 시스템에 의해 제어되고,
상기 로봇 제어 시스템은,
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
상기 로봇으로부터 서비스를 제공 받는 사용자의 사용자 단말로부터, 상기 건물 내에서의 상기 사용자의 위치 정보를 획득하고, 상기 획득된 위치 정보와, 상기 사용자 및 상기 사용자 단말 중 적어도 하나에 대한 상기 로봇의 센서부로부터의 센싱에 기반하여, 상기 사용자와 상기 로봇 간의 거리를 감소시키도록 상기 로봇의 이동을 제어하고,
상기 센서부는, 상기 사용자를 인식함으로써, 상기 사용자와 상기 로봇 간의 거리를 측정하기 위해 사용되는 카메라 및 상기 사용자 단말과 통신함으로써, 상기 로봇과 상기 사용자 단말 간의 거리를 측정하기 위해 사용되는 통신 모듈을 포함하도록 구성되고,
상기 적어도 하나의 프로세서는,
상기 로봇의 이동을 제어함에 있어서, 상기 카메라에 의해 상기 사용자를 포함하는 복수의 사용자들이 인식되는 경우,
상기 카메라에 의한 인식에 기반하여, 상기 복수의 사용자들의 각 사용자와 상기 로봇 간의 제1 거리를 계산하고, 상기 제1 거리와, 상기 통신 모듈과 상기 사용자 단말 간의 통신에 기반하여 계산된 상기 로봇과 상기 사용자 단말 간의 제2 거리를 비교하고, 상기 복수의 사용자들 중에서, 상기 제2 거리와의 차이가 소정의 값 이하인 상기 제1 거리와 연관된 후보 사용자를 상기 로봇에 의해 서비스를 제공 받는 상기 사용자인 것으로 결정하는, 건물.in the building,
At least one robot that provides a service while driving within the building
is placed,
The robot is controlled by a robot control system,
The robot control system,
at least one processor implemented to execute computer-readable instructions
including,
the at least one processor,
A sensor unit of the robot for at least one of the obtained location information and the user and the user terminal to obtain the location information of the user in the building from the user terminal of the user who is provided with the service from the robot Controlling the movement of the robot to reduce the distance between the user and the robot based on the sensing from
The sensor unit includes a communication module used to measure the distance between the robot and the user terminal by communicating with a camera and the user terminal used to measure the distance between the user and the robot by recognizing the user configured to do
the at least one processor,
In controlling the movement of the robot, when a plurality of users including the user are recognized by the camera,
Based on the recognition by the camera, calculate a first distance between each user of the plurality of users and the robot, and the robot calculated based on the first distance and communication between the communication module and the user terminal Comparing a second distance between the user terminals, and among the plurality of users, a candidate user associated with the first distance having a difference from the second distance equal to or less than a predetermined value is the user provided with the service by the robot. to be determined, the building.
상기 적어도 하나의 프로세서는,
상기 로봇의 이동을 제어함에 있어서,
상기 제2 거리를 감소시키도록 상기 로봇의 이동을 제어하되,
상기 로봇의 이동에 따라, 상기 통신 모듈과 상기 사용자 단말 간의 통신에 기반하여, 상기 로봇의 위치 좌표 및 상기 로봇의 위치 좌표에서의 상기 로봇과 상기 사용자 단말 간의 제2 거리들의 각각으로 구성된 복수의 쌍들을 결정하고, 상기 결정된 복수의 쌍들에 기반하여 상기 사용자 단말의 위치 좌표를 계산하는, 건물. According to claim 1,
the at least one processor,
In controlling the movement of the robot,
Controlling the movement of the robot to reduce the second distance,
According to the movement of the robot, based on the communication between the communication module and the user terminal, a plurality of pairs consisting of each of the position coordinates of the robot and the second distances between the robot and the user terminal in the position coordinates of the robot and to calculate the location coordinates of the user terminal based on the determined plurality of pairs, the building.
상기 적어도 하나의 프로세서는,
상기 로봇의 이동을 제어함에 있어서,
상기 후보 사용자를 향해 상기 로봇이 이동하도록 상기 로봇의 이동을 제어하되,
상기 로봇의 이동에 따라 상기 제2 거리가 증가함이 식별되면, 상기 카메라를 통해 다른 사용자를 인식하여 상기 다른 사용자를 상기 로봇에 의해 서비스를 제공 받는 상기 사용자인 것으로 결정하고, 상기 제2 거리가 감소되도록 상기 다른 사용자를 향해 상기 로봇을 이동시키는, 건물.According to claim 1,
the at least one processor,
In controlling the movement of the robot,
Controlling the movement of the robot so that the robot moves toward the candidate user,
If it is identified that the second distance increases according to the movement of the robot, another user is recognized through the camera and the other user is determined to be the user provided with the service by the robot, and the second distance is moving the robot towards the other user to be reduced.
상기 적어도 하나의 프로세서는,
상기 로봇의 이동을 제어함에 있어서,
상기 후보 사용자를 향해 상기 로봇이 이동하도록 상기 로봇의 이동을 제어하되,
상기 로봇의 이동에 따라 상기 제2 거리와 상기 후보 사용자와 연관된 상기 제1 거리 간의 차이가 소정의 값을 초과함이 식별되면, 상기 카메라를 통해 다른 사용자를 인식하여 상기 다른 사용자를 상기 로봇에 의해 서비스를 제공 받는 상기 사용자인 것으로 결정하고, 상기 제2 거리가 감소되도록 상기 다른 사용자를 향해 상기 로봇을 이동시키는, 건물.According to claim 1,
the at least one processor,
In controlling the movement of the robot,
Controlling the movement of the robot so that the robot moves toward the candidate user,
When it is identified that the difference between the second distance and the first distance associated with the candidate user exceeds a predetermined value according to the movement of the robot, the other user is recognized through the camera and the other user is transferred to the robot by the robot. A building that determines that it is the user receiving the service, and moves the robot toward the other user so that the second distance is reduced.
상기 적어도 하나의 프로세서는,
상기 로봇의 이동을 제어함에 있어서,
상기 복수의 사용자들 중에서, 상기 제2 거리와의 차이가 소정의 값 이하인 상기 제1 거리와 연관된 후보 사용자가 존재하지 않는 경우,
상기 카메라를 통해 다른 사용자를 인식하기 위해 상기 복수의 사용자들이 위치하는 방향과는 독립적인 제1 방향으로 상기 로봇을 이동시키고, 상기 제1 방향으로의 상기 로봇의 이동 후, 상기 카메라에 의한 인식에 기반한 상기 다른 사용자와 상기 로봇 간의 제1 거리와 상기 제2 거리를 비교하는, 건물.According to claim 1,
the at least one processor,
In controlling the movement of the robot,
When, among the plurality of users, there is no candidate user associated with the first distance whose difference from the second distance is less than or equal to a predetermined value;
In order to recognize another user through the camera, the robot is moved in a first direction independent of the direction in which the plurality of users are located, and after movement of the robot in the first direction, recognition by the camera Comparing the first distance and the second distance between the robot and the other user based on the building.
상기 복수의 사용자들 중에서 상기 제2 거리와의 차이가 소정의 값 이하인 상기 제1 거리와 연관된 후보 사용자가 복수인 경우,
상기 적어도 하나의 프로세서는,
상기 로봇의 이동을 제어함에 있어서,
상기 로봇의 이동에 따라 변화하는, 상기 제1 거리 및 상기 제2 거리를 모니터링하고, 상기 모니터링의 결과에 기반하여, 복수의 후보 사용자들 중에서 상기 제2 거리와의 차이가 소정의 값 이하인 상기 제1 거리와 연관된 후보 사용자를 상기 로봇에 의해 서비스를 제공 받는 상기 사용자인 것으로 결정하고,
상기 적어도 하나의 프로세서는,
상기 모니터링을 위해,
상기 복수의 후보 사용자들이 위치하는 방향과는 독립적인 제1 방향으로 상기 로봇을 이동시키고, 상기 제1 방향으로의 상기 로봇의 이동에 따라 변화하는, 상기 제1 거리 및 상기 제2 거리를 모니터링하는, 건물.According to claim 1,
When there are a plurality of candidate users associated with the first distance whose difference from the second distance is less than or equal to a predetermined value among the plurality of users,
the at least one processor,
In controlling the movement of the robot,
The first distance and the second distance, which change according to the movement of the robot, are monitored, and based on a result of the monitoring, the second distance from among a plurality of candidate users is equal to or less than a predetermined value. 1 Determine the candidate user associated with the distance to be the user provided with the service by the robot,
the at least one processor,
For the monitoring,
moving the robot in a first direction independent of the direction in which the plurality of candidate users are located, and monitoring the first distance and the second distance that change according to the movement of the robot in the first direction , building.
상기 적어도 하나의 프로세서는,
상기 로봇의 이동을 제어함에 있어서,
상기 제2 거리 및 상기 제2 거리와의 차이가 소정의 값 이하인 상기 제1 거리를 함께 감소시키도록 상기 로봇의 이동을 제어하는, 건물.According to claim 1,
the at least one processor,
In controlling the movement of the robot,
and controlling the movement of the robot so that the second distance and the first distance in which a difference between the second distance is equal to or less than a predetermined value are reduced together.
상기 위치 정보는 상기 사용자가 위치하는 상기 건물 내의 층을 나타내는 정보를 포함하고, 상기 로봇은 상기 사용자가 위치하는 상기 건물 내의 층을 이동하도록 제어되는, 건물.According to claim 1,
The location information includes information indicating a floor in the building where the user is located, and the robot is controlled to move a floor in the building where the user is located.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210076893D KR20210118773A (en) | 2020-03-23 | 2021-06-14 | Building in which robot providing service and autonomously driving building by locating user is disposed |
KR1020210076893A KR102322048B1 (en) | 2020-03-23 | 2021-06-14 | Building in which robot providing service and autonomously driving building by locating user is disposed |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200035014A KR102325703B1 (en) | 2020-03-23 | 2020-03-23 | Method and apparatus for controlling robot which provides users with services in a space |
KR1020210076893A KR102322048B1 (en) | 2020-03-23 | 2021-06-14 | Building in which robot providing service and autonomously driving building by locating user is disposed |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200035014A Division KR102325703B1 (en) | 2020-03-23 | 2020-03-23 | Method and apparatus for controlling robot which provides users with services in a space |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102322048B1 true KR102322048B1 (en) | 2021-11-04 |
Family
ID=78115465
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200035014A KR102325703B1 (en) | 2020-03-23 | 2020-03-23 | Method and apparatus for controlling robot which provides users with services in a space |
KR1020210076893A KR102322048B1 (en) | 2020-03-23 | 2021-06-14 | Building in which robot providing service and autonomously driving building by locating user is disposed |
KR1020210076893D KR20210118773A (en) | 2020-03-23 | 2021-06-14 | Building in which robot providing service and autonomously driving building by locating user is disposed |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200035014A KR102325703B1 (en) | 2020-03-23 | 2020-03-23 | Method and apparatus for controlling robot which provides users with services in a space |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210076893D KR20210118773A (en) | 2020-03-23 | 2021-06-14 | Building in which robot providing service and autonomously driving building by locating user is disposed |
Country Status (1)
Country | Link |
---|---|
KR (3) | KR102325703B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102569181B1 (en) * | 2022-11-21 | 2023-08-22 | 이재형 | ROS-based robot integrated management system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101060988B1 (en) * | 2009-01-23 | 2011-09-01 | 성균관대학교산학협력단 | Apparatus and method for tracking moving objects using intelligent signal strength of Zigbee |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021010502A1 (en) * | 2019-07-12 | 2021-01-21 | 엘지전자 주식회사 | Robot and method for managing article by using same |
-
2020
- 2020-03-23 KR KR1020200035014A patent/KR102325703B1/en active IP Right Grant
-
2021
- 2021-06-14 KR KR1020210076893A patent/KR102322048B1/en active IP Right Grant
- 2021-06-14 KR KR1020210076893D patent/KR20210118773A/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101060988B1 (en) * | 2009-01-23 | 2011-09-01 | 성균관대학교산학협력단 | Apparatus and method for tracking moving objects using intelligent signal strength of Zigbee |
Also Published As
Publication number | Publication date |
---|---|
KR20210118580A (en) | 2021-10-01 |
KR102325703B1 (en) | 2021-11-12 |
KR20210118773A (en) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6279125B2 (en) | A method for requesting an autonomous vehicle to the current location of a mobile device and a product to request an autonomous vehicle to the current location of a computer device | |
KR101948728B1 (en) | Method and system for collecting data | |
US10422645B2 (en) | Electronic apparatus providing indoor navigation and method thereof | |
KR102096875B1 (en) | Robot for generating 3d indoor map using autonomous driving and method for controlling the robot | |
US20200096598A1 (en) | Dynamic, cognitive hybrid method and system for indoor sensing and positioning | |
KR102631147B1 (en) | Robot for airport and method thereof | |
US9462423B1 (en) | Qualitative and quantitative sensor fusion for indoor navigation | |
KR101758093B1 (en) | Apparatus and method for controlling unmanned aerial vehicle | |
KR102042046B1 (en) | An Autonomous System and Method based on Distributed Cloud Environment | |
CN114761894A (en) | UAV balcony delivery to multi-storey buildings | |
KR20170032147A (en) | A terminal for measuring a position and method thereof | |
KR102322048B1 (en) | Building in which robot providing service and autonomously driving building by locating user is disposed | |
CN112085445A (en) | Robot destination arrival determining method and device, electronic equipment and storage medium | |
KR20160090199A (en) | Apparatus and method for measuring indoor position using wireless signal | |
KR102112162B1 (en) | Robot for generating 3d indoor map using autonomous driving and method for controlling the robot | |
KR20200046161A (en) | Indoor position recognition system of transpotation robot | |
KR102555924B1 (en) | Method and apparatus for route guidance using augmented reality view | |
JP6347533B1 (en) | LOCATION METHOD, LOCATION DEVICE, AND PROGRAM | |
KR101900812B1 (en) | Method for controlling movement of drone using low energy bluetooth and appartus for supporting the same | |
KR102292052B1 (en) | Method and apparatus for collecting location information of robot and sensing information of mobile terminal | |
KR20210003065A (en) | Method and system for collecting data | |
US20210263531A1 (en) | Mapping and simultaneous localisation of an object in an interior environment | |
KR20200043329A (en) | Method and system for collecting data | |
KR101917362B1 (en) | Indoor location based service system and method for visually-impaired person | |
KR101994542B1 (en) | Pedestrian Movement Tracking Web System, Method and Recording Medium thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |