KR20230053430A - Method of pose estimation and robot system using the same method - Google Patents

Method of pose estimation and robot system using the same method Download PDF

Info

Publication number
KR20230053430A
KR20230053430A KR1020210136924A KR20210136924A KR20230053430A KR 20230053430 A KR20230053430 A KR 20230053430A KR 1020210136924 A KR1020210136924 A KR 1020210136924A KR 20210136924 A KR20210136924 A KR 20210136924A KR 20230053430 A KR20230053430 A KR 20230053430A
Authority
KR
South Korea
Prior art keywords
robot
visual marker
posture
display
image
Prior art date
Application number
KR1020210136924A
Other languages
Korean (ko)
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 KR1020210136924A priority Critical patent/KR20230053430A/en
Priority to PCT/KR2022/014983 priority patent/WO2023063645A1/en
Publication of KR20230053430A publication Critical patent/KR20230053430A/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

The present invention relates to a method for measuring a pose of a robot and a robot system using the same. The method for measuring the pose of a robot according to the present invention comprises the steps of: moving at least one of a first robot and a second robot so that the first robot and the second robot are adjacent to each other; outputting a visual marker on a display of the second robot; photographing, by the first robot, the second robot; detecting the visual marker included in an image photographed by the first robot and calculating the pose of the visual marker included in the image; and calculating the pose of the second robot using coordinate data of the second robot and the pose of the visual marker included in the image. Thus, the present invention can provide the method and system for quickly and accurately measuring the pose of a robot.

Description

로봇의 자세 측정 방법 및 이를 이용한 로봇 시스템{Method of pose estimation and robot system using the same method}Method of pose estimation and robot system using the same method}

본 발명은 로봇의 자세 측정 방법 및 이를 이용한 로봇 시스템에 대한 것으로서, 로봇들 간의 인터랙션(interaction)을 위하여 상대 로봇의 자세를 측정하는 방법과, 인터랙션을 수행하는 로봇 시스템에 관한 것이다.The present invention relates to a method for measuring a posture of a robot and a robot system using the same, and relates to a method for measuring a posture of an opponent robot for interaction between robots, and a robot system for performing the interaction.

기술이 발전함에 따라, 다양한 서비스 디바이스들이 나타나고 있으며, 특히 최근에는 다양한 작업 또는 서비스를 수행하는 로봇에 대한 기술 개발이 활발하게 이루어지고 있다.As technology develops, various service devices are appearing, and in particular, technology development for robots performing various tasks or services has been actively conducted recently.

나아가 최근에는, 인공 지능 기술, 클라우드 기술 등이 발전함에 따라, 로봇을 보다 정밀하고, 안전하게 제어하는 것이 가능해지고 있으며, 이에 따라 로봇의 활용도가 점차적으로 높아지고 있다. 특히, 기술의 발전으로 인하여, 로봇은 실내 공간에서 인간과 안전하게 공존할 수 있을 정도의 수준에 이르렀다.Furthermore, recently, with the development of artificial intelligence technology, cloud technology, etc., it has become possible to control robots more precisely and safely, and accordingly, the utilization of robots is gradually increasing. In particular, due to the development of technology, robots have reached a level where they can safely coexist with humans in an indoor space.

이에, 최근에는 로봇이 인간의 업무 또는 작업을 대체하고 있으며, 특히 실내 공간에서 사람을 대상으로 로봇이 직접 서비스를 제공하는 다양한 방법들이 활발하게 연구되고 있다. Accordingly, recently, robots have been replacing human tasks or tasks, and in particular, various methods for robots to directly provide services to people in indoor spaces are being actively researched.

예를 들어, 공항, 역사, 백화점 등 공공 장소에서는 로봇들이 길안내 서비스를 제공하고 있으며, 음식점에서는 로봇들이 서빙 서비스를 제공하고 있다. 나아가, 오피스 공간, 공동 주거 공간 등에서는 로봇들이 우편물, 택배 등을 배송하는 배송 서비스를 제공하고 있다. 이 밖에도 로봇들은 청소 서비스, 방범 서비스, 물류 처리 서비스 등 다양한 서비스들을 제공하고 있으며, 로봇이 제공하는 서비스의 종류 및 범위는 앞으로도 기하급수적으로 늘어날 것이며, 서비스 제공 수준 또한 계속적으로 발전할 것으로 기대된다.For example, robots provide route guidance services in public places such as airports, stations, and department stores, and robots provide serving services in restaurants. Furthermore, robots are providing a delivery service in which mails and couriers are delivered in office spaces, co-living spaces, and the like. In addition, robots provide various services such as cleaning services, crime prevention services, and logistics handling services. The type and range of services provided by robots will increase exponentially in the future, and the level of service provision is expected to continue to evolve.

이러한, 로봇들은 실외 공간 뿐만 아니라, 사무실, 아파트, 백화점, 학교, 병원, 놀이시설 등과 같은 건물(또는 빌딩(building))의 실내 공간 내에서 다양한 서비스를 제공하고 있으며, 이 경우, 로봇들은 건물의 실내 공간을 이동하며 다양한 서비스들을 제공하도록 제어되고 있다.These robots provide various services not only in outdoor spaces but also in indoor spaces of buildings (or buildings) such as offices, apartments, department stores, schools, hospitals, amusement facilities, etc. In this case, robots provide It is controlled to provide various services while moving through the indoor space.

한편, 로봇들이 실내 공간에서 다양한 서비스를 제공하거나, 생활하기 위해서는 로봇들은, 서로 협업하여 임무를 수행해야할 니즈가 존재한다. 예를 들어, 대한민국 공개특허 제10-2010-0086093호(자율주행 군집로봇 위치 제어 시스템)에서는, 마스터 로봇이 다수의 종속 로봇들과 함께 군집을 이루어 자율 주행하는 시스템에 대하여 개시하고 있다. 이와 같이, 주행 기술에서 점차적으로 발달하여, 최근에는 로봇들 간에 인터랙션을 제어하여 다양한 서비스를 구현하려는 노력들이 활발하게 진행되고 있다.On the other hand, in order for robots to provide various services or live in an indoor space, there is a need for robots to perform tasks in collaboration with each other. For example, Republic of Korea Patent Publication No. 10-2010-0086093 (Self-driving Swarm Robot Position Control System) discloses a system in which a master robot autonomously navigates in a cluster together with a plurality of subordinate robots. As described above, with the gradual development of driving technology, recently, efforts to implement various services by controlling interaction between robots have been actively progressed.

이에, 로봇을 이용한 보다 수준 높은 서비스를 제공하기 로봇 인터랙션을 위하여, 로봇들 사이에서 위치나 자세를 정확하고 신속하게 측정할 수 있는 본질적인 연구가 필요하다.Therefore, for robot interaction to provide a higher level of service using robots, essential research that can accurately and quickly measure the position or posture between robots is required.

본 발명은, 로봇의 자세를 빠르고 정확하게 측정하는 방법 및 시스템을 제공하는 것이다.The present invention provides a method and system for quickly and accurately measuring the posture of a robot.

보다 구체적으로, 본 발명은, 로봇에 장착된 디스플레이와 비주얼 마커를 사용하여 로봇의 자세를 측정하는 방법을 제공한다.More specifically, the present invention provides a method for measuring a posture of a robot using a display mounted on the robot and a visual marker.

위에서 살펴본 과제를 해결하기 위하여, 본 발명에 따른 로봇의 자세 측정 방법 및 이를 이용한 로봇 시스템은, 상대 로봇의 디스플레이에 비주얼 마커를 출력하고, 로봇이 이를 촬영하여 상대 로봇의 자세를 인식하는 프로세스를 이용한다.In order to solve the problems described above, the method for measuring the posture of a robot and the robot system using the same according to the present invention use a process in which a visual marker is output to a display of an opponent robot and the robot photographs it to recognize the posture of the opponent robot. .

구체적으로, 본 발명의 로봇의 자세 측정 방법은, 제1로봇과 제2로봇이 서로 인접하도록 상기 제1로봇과 제2로봇 중 적어도 하나가 이동하는 단계와, 상기 제2로봇의 디스플레이에 비주얼 마커를 출력하는 단계와, 상기 제1로봇이 상기 제2로봇를 촬영하는 단계와, 상기 제1로봇에서 촬영된 이미지에 포함된 비주얼 마커를 검출하여, 상기 이미지에 포함된 비주얼 마커의 자세(pose)를 산출하는 단계, 및 상기 제2로봇의 좌표 데이터와 상기 이미지에 포함된 비주얼 마커의 자세를 이용하여, 상기 제2로봇의 자세를 산출하는 단계를 포함한다.Specifically, the method for measuring the posture of a robot of the present invention includes the steps of moving at least one of the first robot and the second robot so that the first robot and the second robot are adjacent to each other, and a visual marker on the display of the second robot. outputting, photographing the second robot by the first robot, detecting a visual marker included in an image captured by the first robot, and determining a pose of the visual marker included in the image. and calculating the posture of the second robot using the coordinate data of the second robot and the posture of the visual marker included in the image.

본 발명의 일 실시예에 있어서, 상기 로봇의 자세 측정 방법은 상기 제2로봇이 상기 비주얼 마커의 출력을 요청하는 요청 신호를 모니터링하는 단계를 더 포함할 수 있다.In one embodiment of the present invention, the method of measuring the posture of the robot may further include monitoring a request signal requesting an output of the visual marker by the second robot.

상기 요청 신호는 상기 제1로봇과 통신하는 서버 또는 상기 제1로봇에서 상기 제2로봇으로 전송될 수 있다. The request signal may be transmitted from a server communicating with the first robot or from the first robot to the second robot.

상기 비주얼 마커를 출력하는 단계는, 상기 디스플레이에 이미지 정보를 출력한 상태에서 상기 요청신호를 수신하면, 상기 이미지 정보의 출력을 오프하고 상기 비주얼 마커를 출력하거나, 상기 이미지 정보와 함께 상기 비주얼 마커를 출력할 수 있다.The outputting of the visual marker may include turning off the output of the image information and outputting the visual marker or displaying the visual marker together with the image information when the request signal is received in a state in which image information is output to the display. can be printed out.

상기 비주얼 마커를 출력하는 단계는, 상기 디스플레이가 비활성화된 상태에서 상기 요청신호를 수신하면, 상기 디스플레이를 활성화하고 상기 비주얼 마커를 출력할 수 있다.In the outputting of the visual marker, when the request signal is received in a state in which the display is deactivated, the display may be activated and the visual marker may be output.

한편, 본 발명은, 디스플레이가 배치된 특정 공간에서 로봇이 이동하는 단계와, 상기 디스플레이에 이미지 정보가 표시되는 단계와, 상기 로봇이 상기 디스플레이를 제어하는 제어 시스템에 비주얼 마커의 출력을 요청하는 요청신호를 전송 단계와, 상기 요청신호에 응답하여 상기 제어 시스템이 상기 비주얼 마커를 출력하도록 상기 디스플레이를 제어하는 단계, 및 상기 로봇이 상기 디스플레이에 출력된 비주얼 마커를 이용하여, 상기 로봇의 현재 위치를 추정하는 단계를 포함하는 로봇의 위치 측정 방법을 개시한다.On the other hand, the present invention is a step of moving a robot in a specific space where a display is arranged, a step of displaying image information on the display, and a request for the robot to request the output of a visual marker to a control system that controls the display. Transmitting a signal, controlling the display so that the control system outputs the visual marker in response to the request signal, and determining the current location of the robot by using the visual marker output on the display. Disclosed is a method for measuring a position of a robot including the step of estimating.

또한, 본 발명은, 카메라를 구비하는 제1로봇과, 상기 제1로봇과 인터랙션을 수행하며, 디스플레이를 구비하는 제2로봇을 포함하며, 상기 제2로봇의 디스플레이에 비주얼 마커를 출력하고, 상기 제1로봇이 상기 제2로봇를 촬영하며, 상기 제1로봇에서 촬영된 이미지에 포함된 비주얼 마커를 검출하여, 상기 이미지에 포함된 비주얼 마커의 자세(pose)를 산출하고, 상기 제2로봇의 좌표 데이터와 상기 이미지에 포함된 비주얼 마커의 자세를 이용하여, 상기 제2로봇의 자세를 추정하며, 상기 추정된 제2로봇의 자세를 이용하여 상기 제1로봇의 동작을 제어하는 것을 특징으로 하는 복수의 로봇이 인터랙션을 수행하는 로봇 시스템을 개시한다.In addition, the present invention includes a first robot having a camera, interacting with the first robot, and including a second robot having a display, outputting a visual marker to the display of the second robot, A first robot photographs the second robot, detects a visual marker included in an image captured by the first robot, calculates a pose of the visual marker included in the image, and calculates the coordinates of the second robot. A plurality of pluralities characterized in that the posture of the second robot is estimated using data and the posture of the visual marker included in the image, and the operation of the first robot is controlled using the estimated posture of the second robot. Discloses a robot system in which a robot performs an interaction.

본 발명에 따른 로봇의 자세 측정 방법 및 이를 이용한 로봇 시스템은, 디스플레이에 출력된 마커를 검출하고, 마커 자세를 측정하여 로봇의 형상데이터와 비교하여 로봇의 자세로 변환하여 상대 로봇의 자세를 인식하며, 이를 통하여 간단한 방법으로 상대 로봇의 자세를 빠르고 정확하게 측정할 수 있다.A method for measuring a posture of a robot and a robot system using the same according to the present invention detects a marker output on a display, measures the posture of the marker, compares the posture of the robot with the shape data of the robot, converts the posture into the posture of the robot, recognizes the posture of the other robot, , it is possible to quickly and accurately measure the posture of the opponent robot in a simple way.

이와 같이, 새로운 프로세스를 통하여 정확한 로봇 자세를 신속하게 측정하기에, 다양한 로봇 서비스, 예를 들어 배송, 서빙, 접객 등에서 인간 수준의 서비스가 가능하게 된다. In this way, since the accurate posture of the robot is quickly measured through the new process, human-level services are possible in various robot services, such as delivery, serving, and customer service.

또한, 본 발명은 비주얼 마커를 이용하여 로봇의 자세를 바르고 정확하게 측정하므로, 인간과의 인터랙션을 위한 디스플레이를 활용하여 상대 로봇의 자세를 측정할 수 있게 된다. 이 경우에, 사이니지 등, 특정 공간에 고정된 디스플레이에서 비주얼 마커를 출력하여, 비주얼 마커를 촬영한 로봇의 위치를 정확하고 신속하게 측정할 수 있는 효과까지 발휘할 수 있다.In addition, since the present invention accurately and accurately measures the posture of the robot using the visual marker, it is possible to measure the posture of the other robot using a display for interaction with a human. In this case, by outputting a visual marker from a display fixed to a specific space, such as a signage, an effect of accurately and quickly measuring the position of a robot that has photographed the visual marker can be exerted.

도 1은 본 발명에 따른 로봇들의 인터랙션을 설명하기 위한 개념도이다.
도 2a 및 도 2b는 각각 도 1의 개념에서 제시하는 로봇들의 일 예를 도시한 것이다.
도 3은 본 발명의 로봇의 자세 측정 방법을 설명하기 위한 흐름도이다.
도 4는 도 2a의 로봇이 도 2b의 로봇의 자세를 측정하기 위하여 비주얼 마커를 촬영하는 개념을 나타내는 개념도이다.
도 5는 비주얼 마커의 포즈를 검출하는 개념도이고, 도 6은 로봇의 자세로 변환하는 예를 나타내는 개념도이다.
도 7a 및 도 7b는 본 발명의 다른 일 실시예를 나타내는 개념도들이다.
도 8은 본 발명의 프로세를 이용하여 구현한 실제 데이터를 나타내는 이미지 데이터이다.
도 9는 본 발명의 다른 일 실시예로 로봇의 위치를 측정하는 개념도이다.
1 is a conceptual diagram for explaining the interaction of robots according to the present invention.
2a and 2b each show an example of robots presented in the concept of FIG. 1 .
3 is a flowchart for explaining a method for measuring a posture of a robot according to the present invention.
FIG. 4 is a conceptual diagram illustrating the concept of the robot of FIG. 2a photographing a visual marker to measure the posture of the robot of FIG. 2b.
5 is a conceptual diagram for detecting a pose of a visual marker, and FIG. 6 is a conceptual diagram illustrating an example of transforming a posture of a robot.
7A and 7B are conceptual diagrams illustrating another embodiment of the present invention.
8 is image data representing actual data implemented using the process of the present invention.
9 is a conceptual diagram for measuring the position of a robot according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, the embodiments disclosed in this specification will be described in detail with reference to the accompanying drawings, but the same reference numerals will be assigned to the same or similar components regardless of reference numerals, and overlapping descriptions thereof will be omitted. The suffixes "module" and "unit" for components used in the following description are given or used together in consideration of ease of writing the specification, and do not have meanings or roles that are distinct from each other by themselves. In addition, in describing the embodiments disclosed in this specification, if it is determined that a detailed description of a related known technology may obscure the gist of the embodiment disclosed in this specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in this specification, the technical idea disclosed in this specification is not limited by the accompanying drawings, and all changes included in the spirit and technical scope of the present invention , it should be understood to include equivalents or substitutes.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers, such as first and second, may be used to describe various components, but the components are not limited by the terms. These terms are only used for the purpose of distinguishing one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, terms such as "comprise" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

본 발명은 로봇의 자세 측정 방법 및 이를 이용한 로봇 시스템에 대한 것으로서, 구체적으로 로봇들 간의 인터랙션(interaction)을 위하여 로봇의 자세를 측정하는 방법과, 인터랙션을 수행하는 로봇 시스템에 관한 것이다.The present invention relates to a method for measuring a posture of a robot and a robot system using the same, and more specifically, to a method for measuring a posture of a robot for interaction between robots and a robot system for performing the interaction.

여기에서, 인터랙션은 인간과 인간, 인간과 물질, 인간과 시스템, 시스템과 시스템을 위한 커뮤니케이션에서 일어나는 일종의 양식으로 정의될 수 있다. 구체적으로, Inter(상호)와 action(동작, 작동)의 합성어로, 둘 이상의 대상이 서로 영향을 주고받는 행동을 의미하며, 영향의 쌍방향성과 실시간성을 주된 특징으로 삼는 모든 행위를 의미할 수 있다.Here, interaction can be defined as a form of communication between humans and humans, humans and materials, humans and systems, and systems and systems. Specifically, it is a compound word of Inter (mutual) and action (action), which means an action in which two or more objects affect each other, and can mean all actions that have interactive and real-time characteristics of influence. .

또한, 본 명세서에서 로봇은 i) 사람과 유사한 기능을 가진 기계, 또는 ii) 하나 또는 복수의 컴퓨터 프로그램으로 작동할 수 있고(programmable), 자동적으로 복잡한 일련의 작업(comlex series of actions)을 수행하는 기계적 장치를 말한다. 또 다른 예로, 로봇은 형태가 있으며, 자신이 생각할 수 있는 능력을 가진 기계를 의미할 수 있다. 나아가, 본 명세서에서 설명되는 로봇은, 모습과 행동이 인간을 닮은 안드로이드(android) 로봇, 인간과 유사한 신체 구조를 지닌 휴머노이드(humanoid) 로봇, 신체 일부가 기계로 개조된 사이보그(cyborg) 등의 형태로 구현될 수 있다.In addition, in the present specification, a robot is i) a   machine with functions similar to those of a person, or  ii) programmable with one or a plurality of   computer programs and automatically performing a complex series of actions. refers to mechanical devices. As another example, a robot may mean a machine that has a form and has the ability to think on its own. Furthermore, the robot described in this specification may be in the form of an android robot resembling a human in appearance and behavior, a humanoid robot having a body structure similar to a human, and a cyborg having a body part modified into a machine. can be implemented as

기술이 발전함에 따라 로봇의 활용도는 점차적으로 높아지고 있다. 종래 로봇은 특수한 산업분야(예를 들어, 산업 자동화 관련 분야)에서 활용되었으나, 점차적으로 인간이나 설비를 위해 유용한 작업을 수행할 수 있는 서비스 로봇으로 변모하고 있다.As technology advances, the use of robots is gradually increasing. Conventional robots have been utilized in special industrial fields (eg, industrial automation related fields), but are gradually transforming into service robots capable of performing useful tasks for humans or facilities.

이 경우에, 상기 로봇이 제공하는 서비스는 건물 내에서 구현될 수 있다. 이러한 예로서, 본 발명에 따른 로봇들은 클라우드 서버 및 로봇 자체에 구비된 제어부 중 적어도 하나에 근거하여 제어되어, 건물 내를 주행하거나, 부여된 임무에 해당하는 서비스를 제공하도록 이루어질 수 있다.In this case, the service provided by the robot may be implemented within a building. As such an example, the robots according to the present invention may be controlled based on at least one of a cloud server and a control unit provided in the robot itself, so as to travel in a building or provide a service corresponding to an assigned task.

본 발명에 따른 건물은 로봇과 사람들이 공존하는 건물로서, 로봇들은 사람, 사람이 사용하는 물건(예를 들어 유모차, 카트 등), 동물과 같은 장애물을 피하여 주행하도록 이루어지며, 경우에 따라 로봇의 주행과 관련된 알림 정보를 출력하도록 이루어질 수 있다. 이러한 로봇의 주행은 클라우드 서버 및 로봇에 구비된 제어부 중 적어도 하나의 근거 하에 장애물을 피하도록 이루어질 수 있다. 클라우드 서버는 로봇에 구비된 다양한 센서(예를 들어, 카메라(이미지 센서), 근접 센서, 적외선 센서 등)를 통해 수신되는 정보에 근거하여, 로봇이 장애물을 피하여 건물 내를 이동하도록 로봇에 대한 제어를 수행할 수 있다. 다만, 본 발명은 반드시 이에 한정되는 것은 아니며, 본 발명에서 설명되는 서비스나 프로세스는 실외에서도 적용될 수 있다.The building according to the present invention is a building in which robots and people coexist, and the robots are made to avoid obstacles such as people, objects used by people (eg, strollers, carts, etc.), and animals. It may be configured to output notification information related to driving. The driving of the robot may be made to avoid an obstacle based on at least one of a cloud server and a control unit provided in the robot. The cloud server controls the robot so that the robot avoids obstacles and moves within the building based on information received through various sensors (eg, camera (image sensor), proximity sensor, infrared sensor, etc.) provided in the robot. can be performed. However, the present invention is not necessarily limited thereto, and the service or process described in the present invention may be applied outdoors.

한편, 본 발명의 로봇들은 건물 내에 존재하는 사람 또는 타겟 객체에게 서비스를 제공하도록 이루어질 수 있다. Meanwhile, the robots of the present invention may be configured to provide services to people or target objects present in a building.

로봇이 제공하는 서비스의 종류는, 로봇 마다 상이할 수 있다. 즉, 로봇은 용도에 따라 다양한 종류가 존재할 수 있으며, 로봇은 용도 마다 상이한 구조를 가지고, 로봇에는 용도에 적합한 프로그램이 탑재될 수 있다.The type of service provided by the robot may be different for each robot. That is, various types of robots may exist depending on the purpose, the robot may have a different structure for each purpose, and a program suitable for the purpose may be installed in the robot.

예를 들어, 건물에 배송, 물류 작업, 안내, 통역, 주차지원, 보안, 방범, 경비, 치안, 청소, 방역, 소독, 세탁, 음료 제조, 음식 제조, 서빙, 화재 진압, 의료 지원 및 엔터테인먼트 서비스 중 적어도 하나의 서비스를 제공하는 로봇들이 배치될 수 있다. 로봇들이 제공하는 서비스는 위에서 열거된 예들 외에도 다양할 수 있다.For example, delivery to buildings, logistics, guidance, interpretation, parking assistance, security, crime prevention, security, security, cleaning, quarantine, disinfection, laundry, beverage preparation, food preparation, serving, fire suppression, medical assistance and entertainment services. Robots providing at least one of the services may be deployed. Services provided by robots may be various other than the examples listed above.

한편, 클라우드 서버는 로봇들 각각의 용도를 고려하여, 로봇들에게 적절한 임무를 할당하고, 할당된 임무가 수행되도록 로봇들에 대한 제어를 수행할 수 있다.Meanwhile, the cloud server may assign an appropriate task to the robots in consideration of the use of each robot, and control the robots to perform the assigned task.

본 발명에서 설명되는 로봇들 중 적어도 일부는 클라우드 서버(20)의 제어 하에 주행하거나, 임무를 수행할 수 있으며, 이 경우, 로봇 자체에서 주행 또는 임무를 수행하기 위하여 처리되는 데이터의 양은 최소화될 수 있다. 본 발명에서는 이러한 로봇을 브레인리스(brainless) 로봇이라고 명명할 수 있다. 이러한 브레인리스 로봇은, 건물 내에서 주행, 임무 수행, 충전 수행, 대기, 세척 등의 행위를 하는데 있어서, 적어도 일부의 제어를 클라우드 서버의 제어에 의존할 수 있다.At least some of the robots described in the present invention may drive or perform missions under the control of the cloud server 20, and in this case, the amount of data processed by the robot itself to drive or perform missions may be minimized. there is. In the present invention, such a robot may be referred to as a brainless robot. These brainless robots may depend on the control of the cloud server for at least some control in performing actions such as driving, performing missions, performing charging, waiting, and cleaning within a building.

다만, 본 명세서에서는 브레인 리스 로봇을 구분하여 명명하지 않고, 모두 “로봇”으로 통일하여 명명하도록 한다.However, in this specification, the brainless robots are not classified and named, but all are unified and named as “robots”.

또한, 본 발명에서 건물에는 로봇들이 제공하는 서비스를 구현하기 위하여, 다양한 인프라(또는 설비 인프라)가 제공될 수 있다. In addition, in the present invention, various infrastructures (or facility infrastructures) may be provided in buildings in order to implement services provided by robots.

인프라 또는 설비 인프라는, 서비스 제공, 로봇의 이동, 기능 유지, 청결 유지 등을 위하여 건물에 구비되는 시설로서, 그 종류 및 형태는 매우 다양할 수 있다. 예를 들어, 건물에 구비되는 인프라는 이동 설비(예를 들어, 로봇 이동 통로, 엘리베이터, 에스컬레이터 등), 충전 설비, 통신 설비, 세척 설비, 구조물(예를 들어, 계단 등) 등과 같이 다양할 수 있다. 이와 같이, 상기 인프라 또는 설비 인프라는 로봇들이 부여된 임무를 수행하기 위하여 사용하는 인프라로 정의된다.Infrastructure or facilities Infrastructure is a facility provided in a building for service provision, robot movement, function maintenance, cleanliness maintenance, and the like, and its types and forms can be very diverse. For example, infrastructure provided in a building may be diverse, such as mobile facilities (eg, robot moving passages, elevators, escalators, etc.), charging facilities, communication facilities, cleaning facilities, structures (eg, stairs, etc.), and the like. there is. In this way, the infrastructure or facility infrastructure is defined as an infrastructure used by robots to perform assigned tasks.

본 발명에서 로봇들은 부여된 임무를 수행하기 위하여 서로 협업을 하도록 이루어진다. 상기 협업은 로봇들 간의 인터랙션(interaction)을 통하여 구현되며, 본 발명에서는 이를 위하여 로봇의 자세를 측정하는 방법에 대하여 제시한다.In the present invention, the robots are made to cooperate with each other in order to perform assigned tasks. The collaboration is implemented through interaction between robots, and the present invention proposes a method for measuring the posture of a robot for this purpose.

이러한 예로서, 도 1에 도시된 바와 같이, 로봇들이, 사용자에게 물품(예를 들어, 우편물, 택배 등)을 배송하거나, 음식을 서빙하는 것과 같은 서비스를 구현하기 위하여 서로 협업할 수 있다.As such an example, as shown in FIG. 1 , robots may cooperate with each other to implement a service such as delivering an item (eg, mail, courier, etc.) to a user or serving food.

이러한 서비스를 제공하는 로봇은 서비스의 구현하기 위하여 제1로봇(100)이 제2로봇(200)에게 물건을 전달하도록 이루어질 수 있다, 예를 들어, 배송을 위하여 물품을 상대 로봇에게 전달하거나, 또는 상대 로봇으로부터 픽업하거나, 다른 예로서, 음식을 서빙하고 난 후에 쟁반을 다른 로봇에게 전달하는 동작 등이 가능하다.A robot providing such a service may be configured such that the first robot 100 delivers an object to the second robot 200 in order to implement the service, for example, to deliver an object to another robot for delivery, or Picking up from the other robot, or, as another example, an operation of delivering the tray to another robot after serving food, and the like are possible.

보다 구체적으로, 제1로봇(100)은 고정된 위치에서, 배송물품, 쟁반 등의 물건(10)을 픽업하도록 형성되고, 제2로봇(200)은 주로 주행하여 상기 물건(10)을 이송하도록 이루어진다. 이와 같이, 상기 제1로봇(100)에는 제1임무가 부여되고, 상기 제2로봇(200)에는 제2임무가 부여될 수 있다. 예를 들어, 상기 제2로봇(200)에게 할당된 임무는 해당하는 서비스를 제공(물건 배송)을 위하여, 물품을 사용자로부터 받아서 제1로봇(100)까지 이송하는 임무가 될 수 있다. 상기 제1로봇(100)에게 할당된 임무는 상기 제1로봇(100)이 이송한 물건(10)을 픽업하여 적재함에 적재하는 임무가 될 수 있다.More specifically, the first robot 100 is configured to pick up an object 10 such as a delivery item or a tray at a fixed location, and the second robot 200 mainly travels to transport the object 10. It is done. In this way, a first task may be assigned to the first robot 100, and a second task may be assigned to the second robot 200. For example, the task assigned to the second robot 200 may be a task of receiving a product from a user and transferring it to the first robot 100 in order to provide a corresponding service (product delivery). The task assigned to the first robot 100 may be a task of picking up the object 10 transported by the first robot 100 and loading it into a loading box.

이 경우에, 상기 제2로봇(200)은 건물 내를 주행하여, 사용자가 전달한 물건(10)을 수용한 채로, 상기 제1로봇(100)과 인접한 특정위치(11)로 이동하게 된다. 상기 제1로봇(100)은 상기 제2로봇(200)이 상기 특정위치(11)에 다가오면 이를 인지하고, 상기 제1로봇(100)이 이송한 물건(10)을 픽업하여 적재함(미도시)에 적재한다. 이와 같이, 제1로봇(100)과 제2로봇(200)은 서로 협업하여 물건(10)의 배송을 위한 특정 구간에서 임무를 완수하며, 하나의 로봇 시스템으로 지칭될 수 있다.In this case, the second robot 200 travels inside the building and moves to a specific location 11 adjacent to the first robot 100 while accommodating the object 10 delivered by the user. The first robot 100 recognizes when the second robot 200 approaches the specific location 11, picks up the object 10 transferred by the first robot 100, and loads it (not shown). ) is loaded into In this way, the first robot 100 and the second robot 200 cooperate with each other to complete a task in a specific section for delivery of the object 10, and may be referred to as one robot system.

한편, 상기 제2로봇(200)이 이송한 물건(10)을 상기 제1로봇(100)이 정확하게 픽업하기 위하여, 상기 제1로봇(100)은 상기 제2로봇(200)의 자세를 정확하게 검출하여야 한다. 특히, 도 1과 함께 도 2a 및 도 2b를 참조하면, 제1로봇(100)과 제2로봇(200)은 서로 다른 형상으로 이루어질 수 있다. 즉, 각각의 임무에 적합하도록 제1로봇(100)과 제2로봇(200)의 형상은 서로 다르게 이루어지며, 이러한 경우에 임무를 수행하기 위하여 상대 로봇의 자세를 보다 용이하면서도 정확하게 측정할 니즈가 발생하게 된다.Meanwhile, in order for the first robot 100 to accurately pick up the object 10 transported by the second robot 200, the first robot 100 accurately detects the posture of the second robot 200. shall. In particular, referring to FIGS. 2A and 2B together with FIG. 1 , the first robot 100 and the second robot 200 may have different shapes. That is, the shapes of the first robot 100 and the second robot 200 are made differently to suit each task, and in this case, there is a need to more easily and accurately measure the posture of the other robot to perform the task. It happens.

이하에서는, 도 1의 개념에서 제시하는 로봇들에 대하여 도 2a 및 도 2b를 참조하여, 보다 상세하게 설명한다.Hereinafter, the robots presented in the concept of FIG. 1 will be described in more detail with reference to FIGS. 2A and 2B.

도 2a 및 도 2b는 각각 도 1의 개념에서 제시하는 로봇들의 일 예를 도시한 것이다.2a and 2b each show an example of robots presented in the concept of FIG. 1 .

도 2a를 참조하면, 예를 들어, 제1로봇(100)은 바디부(110), 센싱부, 통신부 중 적어도 하나를 구비할 수 있다.Referring to FIG. 2A , for example, the first robot 100 may include at least one of a body unit 110, a sensing unit, and a communication unit.

상기 바디부에는 물건(10)을 픽업하기 위하여 엔드 이펙터(111, end effector), 매니퓰레이터(112, Manipulator), 액추에이터(actuator, 미도시) 등이 구비될 수 있다.In order to pick up the object 10, an end effector 111, a manipulator 112, an actuator (not shown), and the like may be provided in the body part.

상기 엔드 이펙터(111)는 환경과 상호 작용하도록 설계된 로봇 암의 끝단 장치로서, 그리퍼, 핀셀 및 메스 등이 될 수 있다. 이러한, 엔드 이펙터(111)는 로봇과 별도로 구비되어 로봇 주변기기나 액세서리 등이 되는 것도 가능하다.The end effector 111 is an end device of a robot arm designed to interact with the environment, and may be a gripper, a pin cell, or a scalpel. Such an end effector 111 may be provided separately from the robot and become a robot peripheral device or accessory.

상기 매니퓰레이터(112)는 로봇 장치의 본체와 팔에 링크, 조인트 및 기타 구조 요소와 메커니즘을 통합하는 장치가 될 수 있다. 다관절 로봇의 경우, 모터의 회전운동을 하는 여러 개의 관절을 가지는 매니퓰레이터(112)를 구비할 수 있다.The manipulator 112 may be a device that incorporates links, joints, and other structural elements and mechanisms into the body and arms of the robotic device. In the case of an articulated robot, a manipulator 112 having a plurality of joints performing rotational movement of a motor may be provided.

이 경우에, 상기 매니퓰레이터(112)와 엔드 이펙터(111)는 6자유도 이상의 팔과 1자유도 이상의 손을 형성할 수 있다. 또한, 본 발명의 로봇이 양팔 로봇이나 여러 개의 팔을 가지는 로봇으로 구현되기 위하여, 상기 팔과 손은 여러 개의 쌍으로 존재할 수 있다.In this case, the manipulator 112 and the end effector 111 may form an arm with six or more degrees of freedom and a hand with one or more degrees of freedom. In addition, in order to implement the robot of the present invention as a dual-armed robot or a robot having several arms, the arms and hands may exist in several pairs.

또한, 상기 액추에이터는 전기, 화학 또는 열에너지를 회전 또는 직선 운동으로 변환하는 장치로서, 모터, 공압 실린더, 인공 근육 등이 될 수 있다.In addition, the actuator is a device that converts electrical, chemical, or thermal energy into rotational or linear motion, and may be a motor, a pneumatic cylinder, or an artificial muscle.

이와 같이, 상기 제1로봇(100)은 엔드 이펙터(111), 매니퓰레이터(112), 액추에이터를 제어하여 물건(10)을 픽업 및 이동한다.In this way, the first robot 100 picks up and moves the object 10 by controlling the end effector 111 , the manipulator 112 , and the actuator.

센싱부는 로봇 내 정보(특히, 로봇의 구동상태), 로봇을 둘러싼 주변 환경 정보, 로봇의 위치 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다.The sensing unit may include one or more sensors for sensing at least one of information within the robot (particularly, a driving state of the robot), environment information surrounding the robot, location information of the robot, and user information.

예를 들어, 센싱부는 카메라(이미지 센서, 121), 근접 센서, 바이오 센서, 적외선 센서, 레이저 스캐너(라이다 센서), RGBD 센서, 지자기 센서, 초음파 센서, 관성 센서, UWB 센서, 마이크 등을 구비할 수 있다.For example, the sensing unit includes a camera (image sensor, 121), a proximity sensor, a bio sensor, an infrared sensor, a laser scanner (lidar sensor), an RGBD sensor, a geomagnetic sensor, an ultrasonic sensor, an inertial sensor, a UWB sensor, a microphone, and the like. can do.

상기 카메라(121)는 상기 로봇의 바디부의 상단에 배치되어, 주로 하향으로 주변 환경을 촬영하도록 형성될 수 있다. 이 경우에, 상기 카메라(121)는 틸팅 등이 가능하도록 형성되어 촬영 각도가 조절될 수 있다.The camera 121 may be disposed at an upper end of the body of the robot to photograph the surrounding environment mainly downward. In this case, the camera 121 is formed to enable tilting, etc., so that the shooting angle can be adjusted.

로봇의 통신부는 로봇과 건물의 통신 설비 사이, 로봇과 다른 로봇의 사이, 또는 로봇과 클라우드 서버의 사이에서 무선 통신을 수행하기 위하여, 로봇에서 무선 신호를 송수신하도록 이루어진다. 이러한 예로서, 통신부는 무선 인터넷 모듈, 근거리 통신 모듈, 위치정보 모듈 등을 구비할 수 있다.The communication unit of the robot is configured to transmit and receive wireless signals to and from the robot in order to perform wireless communication between a robot and a communication facility in a building, between a robot and another robot, or between a robot and a cloud server. As such an example, the communication unit may include a wireless Internet module, a short-distance communication module, a location information module, and the like.

도 2b를 참조하면, 예를 들어, 제2로봇(200)은 바디부(210), 구동부(220), 센싱부(230), 통신부 및 디스플레이(240) 중 적어도 하나를 구비할 수 있다.Referring to FIG. 2B , for example, the second robot 200 may include at least one of a body unit 210, a driving unit 220, a sensing unit 230, a communication unit, and a display 240.

바디부(210)는 외관을 이루는 케이스(케이싱, 하우징, 커버 등)를 포함한다. 본 실시예에서, 케이스는 복수의 파트로 구분될 수 있으며, 케이스에 의하여 형성된 공간에는 각종 전자부품들이 내장된다. 이 경우에, 바디부(210)는 본 발명에서 예시하는 다양한 서비스에 따라 서로 다른 형태로 이루어질 수 있다. 예를 들어, 배송 서비스를 제공하는 로봇의 경우에, 바디부(210)의 상부에 물건(10)을 보관하는 수용함이 구비될 수 있다. The body part 210 includes a case (casing, housing, cover, etc.) constituting an external appearance. In this embodiment, the case may be divided into a plurality of parts, and various electronic components are embedded in the space formed by the case. In this case, the body part 210 may be formed in different forms according to various services exemplified in the present invention. For example, in the case of a robot providing a delivery service, a container for storing the object 10 may be provided on the upper part of the body part 210 .

구동부(220)는 클라우드 서버 또는 제2로봇(200)의 제어부에서 전송하는 제어 명령에 따른 특정 동작을 수행하도록 이루어진다. The driving unit 220 is configured to perform a specific operation according to a control command transmitted from the cloud server or the control unit of the second robot 200 .

구동부(220)는 주행과 관련하여 로봇의 바디부가 특정 공간 내를 이동할 수 있는 수단을 제공한다. 보다 구체적으로, 구동부(220)는 모터 및 복수의 바퀴를 포함하며, 이들이 조합되어, 로봇(R)을 주행, 방향 전환, 회전시키는 기능을 수행한다. 다만, 본 발명은 반드시 이에 한정되는 것은 아니며, 구동부(220)는 주행 외의 다른 동작, 예를 들어 픽업 등의 수행을 위하여 엔드 이펙터, 매니퓰레이터, 액추에이터 중 적어도 하나를 구비할 수 있다. The driving unit 220 provides a means for moving the body of the robot within a specific space in relation to driving. More specifically, the drive unit 220 includes a motor and a plurality of wheels, which are combined to perform functions of driving, changing directions, and rotating the robot R. However, the present invention is not necessarily limited thereto, and the drive unit 220 may include at least one of an end effector, a manipulator, and an actuator to perform other operations other than driving, such as pickup.

상기 센싱부(230)는 상기 제1로봇(100)과 유사하게, 로봇 내 정보(특히, 로봇의 구동상태), 로봇을 둘러싼 주변 환경 정보, 로봇의 위치 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다.Similar to the first robot 100, the sensing unit 230 senses at least one of information within the robot (particularly, driving state of the robot), environment information surrounding the robot, location information of the robot, and user information. It may include one or more sensors for

상기 제2로봇(200)은 자율 주행을 위하여, 특정 공간을 이동하면서 상기 카메라를 통하여 촬영 이미지를 획득한 후, 3차원 맵 데이터와 비교하는 프로세스를 통하여 이미지 기반 측위(Visual Localization)를 수행할 수 있다.For self-driving, the second robot 200 may perform image-based positioning (Visual Localization) through a process of acquiring images taken through the camera while moving in a specific space and then comparing them with 3D map data. there is.

또한, 상기 통신부는 상기 제1로봇(100)과 유사하게, 로봇과 건물의 통신 설비 사이, 로봇과 다른 로봇의 사이, 또는 로봇과 클라우드 서버의 사이에서 무선 통신을 수행하기 위하여, 로봇에서 무선 신호를 송수신하도록 이루어진다. 이러한 예로서, 통신부는 무선 인터넷 모듈, 근거리 통신 모듈, 위치정보 모듈 등을 구비할 수 있다.In addition, the communication unit, similar to the first robot 100, to perform wireless communication between a robot and a communication facility in a building, between a robot and another robot, or between a robot and a cloud server, a wireless signal from a robot is made to transmit and receive As such an example, the communication unit may include a wireless Internet module, a short-distance communication module, a location information module, and the like.

상기 디스플레이(240)는 상기 제2로봇(200)의 전면 또는 상면에서 상향으로 배치될 수 있으며, 영상 및 그래픽 객체가 출력될 수 있다. 본 발명에서는 디스플레이(240)의 종류에 대해서는 제한을 두지 않는다. 상기 디스플레이(240)는 모니터로서 동작하며, 터치 스크린으로 이루어질 수 있다. 이 경우, 디스플레이(240)는 정보를 출력하는 역할과, 정보를 입력받는 역할을 모두 수행할 수 있다.The display 240 may be disposed upward from the front or upper surface of the second robot 200, and images and graphic objects may be output. In the present invention, the type of display 240 is not limited. The display 240 operates as a monitor and may be made of a touch screen. In this case, the display 240 may perform both a role of outputting information and a role of receiving information.

한편, 도 1을 참조하여 설명한 것과 같이, 상기 제1로봇(100)과 제2로봇(200)은 각각 제어부를 구비하거나, 클라우드 서버에 의하여 제어될 수 있다. 예를 들어, 클라우드 서버나, 제2로봇(200)의 제어부가, 이미지 정보를 출력하도록 상기 디스플레이(240)를 제어할 수 있다. 상기 이미지 정보에는 사용자에게 제공되는 정보 뿐만 아니라, 상대 로봇, 예를 들어 제1로봇(100)에게 제공되는 정보가 포함될 수 있다.Meanwhile, as described with reference to FIG. 1 , the first robot 100 and the second robot 200 may each have a controller or be controlled by a cloud server. For example, a cloud server or a controller of the second robot 200 may control the display 240 to output image information. The image information may include not only information provided to the user, but also information provided to the other robot, for example, the first robot 100 .

본 발명에서는, 상기 제2로봇(200)의 디스플레이(240)에 비주얼 마커를 출력하고, 상기 제1로봇(100)이 이를 촬영하여 상대 로봇의 자세를 측정하는 프로세스를 이용하여, 상기 제1로봇(100)과 제2로봇(200)의 인터랙션을 구현한다. 이하에서는, 도 3 내지 도 9를 참조하여 이러한 인터랙션을 구현하기 위하여 로봇의 자세를 측정하는 프로세스에 대하여 보다 상세하게 설명한다.In the present invention, a visual marker is output to the display 240 of the second robot 200, and the first robot 100 photographs it to measure the attitude of the opponent robot. Interaction between (100) and the second robot (200) is implemented. Hereinafter, with reference to FIGS. 3 to 9 , a process of measuring a posture of a robot to implement such an interaction will be described in detail.

도 3은 본 발명의 로봇의 자세 측정 방법을 설명하기 위한 흐름도이다.3 is a flowchart for explaining a method for measuring a posture of a robot according to the present invention.

본 발명의 로봇의 자세 측정 방법에서는, 제2로봇(200)에서 출력되는 비주얼 마커를 제1로봇(100)이 촬영하여, 제1로봇(100)이 제2로봇(200)의 자세를 인식하는 새로운 자세 측정 방법을 제시한다. 이 때에, 상기 로봇의 자세는 위치(position)를 나타내는 좌표와 오리엔테이션(orientation)을 나타내는 방향을 포함할 수 있다In the method for measuring the posture of a robot of the present invention, the first robot 100 photographs the visual marker output from the second robot 200, and the first robot 100 recognizes the posture of the second robot 200. A new posture measurement method is proposed. At this time, the posture of the robot may include a coordinate indicating a position and a direction indicating an orientation.

본 발명에서는, 한 쌍의 로봇(제1로봇(100) 및 제2로봇(200))을 예시하여 상대 로봇의 자세를 측정하는 방법에 대하여 설명하나, 이에 한정되는 것은 아니다. 예를 들어, 하나의 로봇이 복수의 로봇의 비주얼 마커를 촬영할 수 있고, 복수의 로봇이 하나의 로봇의 비주얼 마커를 촬영하는 것도 가능하다.In the present invention, a method of measuring the posture of a partner robot by exemplifying a pair of robots (the first robot 100 and the second robot 200) will be described, but is not limited thereto. For example, one robot may photograph visual markers of a plurality of robots, and a plurality of robots may photograph visual markers of one robot.

도 3을 참조하면, 본 발명의 로봇의 자세 측정 방법에서는, 제1로봇(100)과 제2로봇(200)이 서로 인접하도록 상기 제1로봇(100)과 제2로봇(200) 중 적어도 하나가 이동하는 단계(S111)가 먼저 진행될 수 있다. Referring to FIG. 3 , in the posture measurement method of a robot of the present invention, at least one of the first robot 100 and the second robot 200 is positioned so that the first robot 100 and the second robot 200 are adjacent to each other. The step of moving (S111) may proceed first.

예를 들어, 제1로봇(100)은 특정 위치에 고정되고, 제2로봇(200)이 물건 등을 이송하여 제1로봇(100)의 근처로 이동하거나, 제1로봇(100) 및 제2로봇(200)이 특정 지점으로 이동하여 상기 특정 지점에서 서로 인접하게 위치될 수 있다.For example, the first robot 100 is fixed at a specific location, and the second robot 200 transports an object or the like to move near the first robot 100, or the first robot 100 and the second robot 100 The robots 200 may move to a specific point and be positioned adjacent to each other at the specific point.

이 때에, 상기 제1로봇(100)은 카메라(121)를 구비하고, 상기 제2로봇(200)은 디스플레이(240)를 구비할 수 있다. 다만, 본 발명에서 예시하는 제1로봇(100)과 제2로봇(200)은 설명의 편의를 위하여 명명한 것이므로, 상기 제1로봇(100)이 디스플레이를 구비하고, 상기 제2로봇(200)이 카메라를 구비하는 것도 가능하다. 나아가, 상기 제1로봇(100) 및 제2로봇(200)이 모두 카메라와 디스플레이를 구비하는 것도 가능하다.At this time, the first robot 100 may include a camera 121 and the second robot 200 may include a display 240 . However, since the first robot 100 and the second robot 200 exemplified in the present invention are named for convenience of description, the first robot 100 has a display, and the second robot 200 It is also possible to provide this camera. Furthermore, it is also possible that both the first robot 100 and the second robot 200 have cameras and displays.

예를 들어, 상기 제2로봇(200)은 상기 디스플레이(240)를 이용하여 주변의 사람들에게 여러가지 이미지 정보를 출력할 수 있다. 상기 이미지 정보는, 사람과의 인터랙션(Interaction)을 위한 그래픽 객체나, 광고 등을 위한 영상 정보가 될 수 있다.For example, the second robot 200 may output various image information to people around it using the display 240 . The image information may be a graphic object for interaction with a person or image information for advertising.

다음으로, 상기 제2로봇(200)에게 비주얼 마커의 출력을 요청하는 단계(S112)가 진행될 수 있다.Next, a step of requesting the output of the visual marker from the second robot 200 (S112) may proceed.

상기 제2로봇(200)에게 비주얼 마커의 출력을 요청하는 것은, 상기 제1로봇(100) 또는 상기 제1로봇(100)과 통신하는 서버, 예를 들어 클라우드 서버가 수행할 수 있다. 구체적으로, 상기 제1로봇(100)이 임무를 수행하기 하기 위하여, 상기 제2로봇(200)에게 비주얼 마커의 요청 신호를 전송하거나, 상기 서버에서 상기 요청 신호를 상기 제2로봇(200)으로 전송할 수 있다.Requesting the output of the visual marker from the second robot 200 may be performed by the first robot 100 or a server communicating with the first robot 100, for example, a cloud server. Specifically, in order for the first robot 100 to perform a task, the request signal of the visual marker is transmitted to the second robot 200, or the server transmits the request signal to the second robot 200. can transmit

다른 예로서, 상기 제1로봇(100)과 제2로봇(200)의 협업을 위하여, 상기 클라우드 서버가 상기 제2로봇(200)의 자세 데이터가 필요하다고 판단되면, 상기 제2로봇(200)에게 비주얼 마커의 출력을 요청하는 요청 신호를 전송할 수 있다.As another example, if the cloud server determines that the posture data of the second robot 200 is necessary for collaboration between the first robot 100 and the second robot 200, the second robot 200 A request signal requesting the output of the visual marker may be transmitted to .

이 경우에, 본 발명의 로봇의 자세 측정 방법에서는, 상기 제2로봇(200)이 상기 비주얼 마커의 출력을 요청하는 요청 신호를 모니터링하는 단계가 더 포함될 수 있다.In this case, the method for measuring the posture of a robot according to the present invention may further include monitoring a request signal for requesting an output of the visual marker by the second robot 200 .

상기 요청하는 단계(S112)에서 요청 신호가 전송되면, 상기 전송된 요청 신호를 수신하여 상기 비주얼 마커의 출력 요청을 인식하기 위하여, 상기 제2로봇(200)이 상기 요청 신호를 주기적으로 모니터링할 수 있다.When a request signal is transmitted in the requesting step (S112), the second robot 200 may periodically monitor the request signal in order to receive the transmitted request signal and recognize the output request of the visual marker. there is.

상기 요청 신호의 모니터링은 상기 제2로봇(200)이 특정 위치로 이동한 경우에 수행될 수 있다. 예를 들어, 상기 제2로봇(200)은 상기 제1로봇(100)으로 물건을 전달하기 위하여 이동하여 상기 특정 위치에 도달하면, 상기 제2로봇(200)의 제어부가 이를 판단하여 상기 요청 신호의 모니터링을 시작할 수 있다.Monitoring of the request signal may be performed when the second robot 200 moves to a specific location. For example, when the second robot 200 moves to deliver an object to the first robot 100 and reaches the specific location, the control unit of the second robot 200 determines this and signals the request. monitoring can begin.

다음으로, 상기 제2로봇(200)의 디스플레이(240)에 비주얼 마커를 출력하는 단계(S113)가 진행될 수 있다.Next, a step of outputting a visual marker to the display 240 of the second robot 200 (S113) may proceed.

상기 제2로봇(200)은 상기 요청 신호를 수신하면, 디스플레이(240)를 이용하여 상기 비주얼 마커를 표시한다.Upon receiving the request signal, the second robot 200 displays the visual marker using the display 240 .

상기 비주얼 마커는, 예를 들어 비주얼 기준 마커(Visual Fiducial Marker) 가 될 수 있다. 상기 비주얼 기준 마커는 이미지에 기준 또는 측정 포인트로 사용하기 위해 표시가 생성된 것으로, Apriltag, Aruco 등 공개되어 누구나 자유로이 사용할 수 있는 마커가 될 수 있다. 다른 예로서, 상기 비주얼 마커는 Artificial marker 로서, 사용자가 직접 설계한 다양한 형태의 마커가 될 수 있다.The visual marker may be, for example, a visual fiducial marker. The visual fiducial marker is a mark created in an image to be used as a reference or measurement point, and may be a publicly available marker such as Apriltag or Aruco that anyone can freely use. As another example, the visual marker is an artificial marker, and may be a marker of various types directly designed by a user.

이 때에, 상기 비주얼 마커를 출력하는 단계(S113)는, 상기 디스플레이(240)가 비활성화된 상태에서 상기 요청신호를 수신하면, 상기 디스플레이(240)를 활성화하고 상기 비주얼 마커를 출력할 수 있다. 구체적인 예로서, 상기 디스플레이(240)는 비활성화된 상태에서 상기 요청 신호에 응답하여 활성화되면서 상기 비주얼 마커를 출력할 수 있다. At this time, in the step of outputting the visual marker (S113), when the request signal is received while the display 240 is deactivated, the display 240 can be activated and the visual marker can be output. As a specific example, the display 240 may output the visual marker while being activated in response to the request signal in a deactivated state.

다른 예로서, 상기 비주얼 마커를 출력하는 단계(S113)는, 상기 디스플레이(240)에 이미지 정보를 출력한 상태에서 상기 요청신호를 수신하면, 상기 이미지 정보의 출력을 오프하고 상기 비주얼 마커를 출력하거나, 상기 이미지 정보와 함께 상기 비주얼 마커를 출력할 수 있다. 즉, 상기 디스플레이(240)가 활성화된 상태에서 이미지 등을 출력하다가, 상기 요청 신호에 의하여 상기 이미지의 출력을 중지하고, 상기 비주얼 마커를 출력하는 것도 가능하다.As another example, in the step of outputting the visual marker (S113), if the request signal is received while the image information is output to the display 240, the output of the image information is turned off and the visual marker is output, or , The visual marker may be output together with the image information. That is, it is also possible to output an image or the like while the display 240 is activated, stop the output of the image according to the request signal, and output the visual marker.

한편, 상기 제2로봇(200)의 디스플레이(240)에 비주얼 마커를 출력한 후에 특정 시간이 경과하면, 상기 비주얼 마커의 출력을 종료하는 것도 가능하다. 이 경우에, 상기 특정 시간은 상기 제1로봇(100)이 상기 제2로봇(200)을 촬영하는 제어의 수행 시간보다 길도록 설정될 수 있다.Meanwhile, when a specific time elapses after the visual marker is output to the display 240 of the second robot 200, it is also possible to end the output of the visual marker. In this case, the specific time may be set to be longer than a control execution time for the first robot 100 to photograph the second robot 200 .

다음으로, 상기 제1로봇(100)이 상기 제2로봇(200)를 촬영하는 단계(S114)가 진행된다.Next, the first robot 100 photographs the second robot 200 (S114).

상기 제1로봇(100)은 카메라(121)를 이용하여, 상기 제2로봇(200)을 촬영한다. The first robot 100 photographs the second robot 200 using a camera 121 .

예를 들어, 상기 제2로봇(200)은 상기 비주얼 마커를 출력하였음을 알리는 피드백 신호를 상기 제1로봇(100)으로 전송하고, 상기 제1로봇(100)은 상기 피드백 신호에 응답하여 상기 제2로봇(200)을 촬영할 수 있다. 다른 예로서, 상기 피드백 신호는 상기 제2로봇(200)으로부터 클라우드 서버로 전송되고, 상기 클라우드 서버에서 상기 제2로봇(200)을 촬영하는 제어 명령을 생성하여 제1로봇(100)으로 전송할 수 있다.For example, the second robot 200 transmits a feedback signal indicating that the visual marker has been output to the first robot 100, and the first robot 100 responds to the feedback signal to the first robot 100. 2 The robot 200 can be photographed. As another example, the feedback signal may be transmitted from the second robot 200 to a cloud server, and a control command to photograph the second robot 200 may be generated and transmitted to the first robot 100 in the cloud server. there is.

이 경우에, 상기 카메라(121)는 상기 제1로봇(100)에 장착된 센서가 될 수 있으나, 본 발명은 반드시 이에 한정되는 것은 아니다. 이러한 예로서, 로봇이 위치한 공간에는 카메라가 배치될 수 있다. 공간에 배치된 카메라의 수는 그 제한이 없으며 공간에는 복수개의 카메라들이 배치될 수 있다. 공간에 배치된 카메라의 종류는 다양할 수 있으며, 예를 들어 공간에 배치된 카메라는 CCTV(closed circuit television)일 수 있다. In this case, the camera 121 may be a sensor mounted on the first robot 100, but the present invention is not necessarily limited thereto. As such an example, a camera may be disposed in a space where a robot is located. The number of cameras disposed in the space is not limited, and a plurality of cameras may be disposed in the space. The types of cameras disposed in the space may vary, and for example, the camera disposed in the space may be a closed circuit television (CCTV).

나아가, 건물의 통신 설비는 상기 공간에 배치된 카메라와의 직접적인 통신을 수행할 수 있다. 또한, 건물의 통신 설비는 상기 카메라를 제어하는 영상 관제 시스템과 통신하도록 이루어질 수 있다. 이 때에, 상기 카메라는 제2로봇(200)이 상기 특정 위치에 도착한 상황을 검출하여, 상기 제1로봇(100)을 촬영하도록 상기 영상 관제 시스템에 의하여 제어될 수 있다. 이 경우에, 상기 영상 관제 시스템은 별도의 관제 시스템으로 구비되거나, 전술한 클라우드 서버의 일부로서 구성될 수 있다.Furthermore, the communication facility of the building can perform direct communication with the camera disposed in the space. In addition, communication facilities of the building may be configured to communicate with a video control system that controls the camera. At this time, the camera may be controlled by the video control system to detect a situation in which the second robot 200 arrives at the specific location and photograph the first robot 100 . In this case, the video control system may be provided as a separate control system or configured as part of the cloud server described above.

도 3을 참조하면, 상기 제1로봇(100)에서 촬영된 이미지에 포함된 비주얼 마커를 검출하여, 상기 이미지에 포함된 비주얼 마커의 자세(pose)를 산출하는 단계(S115)가 진행된다.Referring to FIG. 3 , a step of detecting a visual marker included in an image captured by the first robot 100 and calculating a pose of the visual marker included in the image (S115) proceeds.

여기에서, 상기 비주얼 마커는 도시된 것과 같이, 적어도 하나의 에이프릴 태그(Apriltag)를 포함하도록 이루어질 수 있다. 에이프릴 태그는, 시각적 기준이 되는 표식으로서, 2차원 정보로 이루어질 수 있다. 복수의 에이프릴 태그가 조합되어 상기 비주얼 마커를 구성할 수 있다.Here, as shown, the visual marker may include at least one April tag. The April tag is a mark serving as a visual reference and may be composed of two-dimensional information. A plurality of April tags may be combined to form the visual marker.

이러한 마커를 상기 제1로봇(100)에서 촬영된 이미지로부터 검출하고, 검출된 비주얼 마커를 이용하여 비주얼 마커의 자세를 산출한다. 상기 비주얼 마커의 자세 검출은 PnP (Perspective-n-Point) 방법을 이용하여 수행할 수 있다.These markers are detected from the image captured by the first robot 100, and the posture of the visual marker is calculated using the detected visual markers. The posture detection of the visual marker may be performed using a Perspective-n-Point (PnP) method.

상기 PnP 방법은 perspective-n-point 알고리즘을 이용하여 카메라 포즈(예를 들어, 카메라의 위치, 각도, 방향)를 추정하는 기법이 될 수 있다. 이를 이용하여, 입력 이미지인 비주얼 마커의 자세를 카메라 좌표계에 대하여 산출한다.The PnP method may be a technique for estimating a camera pose (eg, a camera position, angle, and direction) using a perspective-n-point algorithm. Using this, the posture of the visual marker, which is the input image, is calculated with respect to the camera coordinate system.

다음으로, 상기 제2로봇(200)의 좌표 데이터와 상기 이미지에 포함된 비주얼 마커의 자세를 이용하여, 상기 제2로봇(200)의 자세를 산출하는 단계(S115)가 진행될 수 있다.Next, a step of calculating the posture of the second robot 200 using the coordinate data of the second robot 200 and the posture of the visual marker included in the image (S115) may proceed.

예를 들어, 상기 제2로봇(200)의 형상 데이터, 예를 들어 CAD 모델 데이터를 이용하여 카메라 좌표계에 대한 비주얼 마커의 자세가 상기 제2로봇(200)의 자세로 변환될 수 있다.For example, the posture of the visual marker with respect to the camera coordinate system may be converted into the posture of the second robot 200 using shape data of the second robot 200, for example, CAD model data.

다른 예로서, 캘리브레이션 방법을 사용하여 카메라 좌표계에 대한 마커 자세를 로봇 자세로 변환하는 것도 가능하다. 이 경우에, 상기 캘리브레이션 방법은 카메라와 wheel odometry 간의 캘리브레이션 방법이 사용될 수 있다.As another example, it is also possible to convert a marker pose with respect to the camera coordinate system to a robot pose using a calibration method. In this case, the calibration method between the camera and wheel odometry may be used.

상기에서 설명한 바와 같이, 본 발명에서는 상대 로봇에서 비주얼 마커를 출력하면, 이를 촬영하여 상대 로봇의 자세를 측정하고, 상기 자세를 이용하여 상대 로봇과의 인터랙션이 수행될 수 있다.As described above, in the present invention, when the partner robot outputs a visual marker, it is photographed to measure the pose of the partner robot, and interaction with the partner robot can be performed using the pose.

이하에서는, 본 발명의 로봇의 자세 측정 방법의 각 단계에 대하여 예시와 함께 보다 상세히 설명한다.Hereinafter, each step of the method for measuring the posture of a robot according to the present invention will be described in detail with examples.

도 4는 도 2a의 로봇이 도 2b의 로봇의 자세를 측정하기 위하여 비주얼 마커를 촬영하는 개념을 나타내는 개념도이고, 도 5는 비주얼 마커의 포즈를 검출하는 개념도이고, 도 6은 로봇의 자세로 변환하는 예를 나타내는 개념도이며, 도 7a 및 도 7b는 본 발명의 다른 일 실시예를 나타내는 개념도들이고, 도 8은 본 발명의 프로세를 이용하여 구현한 실제 데이터를 나타내는 이미지 데이터이다.4 is a conceptual diagram showing the concept of the robot of FIG. 2a photographing a visual marker to measure the pose of the robot of FIG. 2b, FIG. 5 is a conceptual diagram of detecting the pose of the visual marker, and FIG. 6 is a conversion into the pose of the robot. 7a and 7b are conceptual diagrams illustrating another embodiment of the present invention, and FIG. 8 is image data representing actual data implemented using the process of the present invention.

먼저, 도 4를 참조하면, 상기 제2로봇(200)은 비주얼 마커(250)를 출력하고, 상기 제1로봇(100)을 상기 출력된 비주얼 마커(250)를 촬영한다. First, referring to FIG. 4 , the second robot 200 outputs a visual marker 250 and the first robot 100 photographs the output visual marker 250 .

상기 비주얼 마커(250)의 촬영이 보다 용이하고 정확하게 이루어지도록, 상기 비주얼 마커(250)를 출력하는 상기 제2로봇(200)의 디스플레이(240)는 상기 제2로봇(200)의 전면 또는 상면에서 상향으로 배치되고, 상기 제1로봇(100)은 상기 제2로봇(200)을 하향으로 촬영하는 카메라(121)를 구비할 수 있다. To make photographing of the visual marker 250 easier and more accurate, the display 240 of the second robot 200 outputting the visual marker 250 is placed on the front or upper surface of the second robot 200. It is disposed upward, and the first robot 100 may include a camera 121 that photographs the second robot 200 downward.

이러한 상대 위치를 구현하기 위하여, 상기 제2로봇(200)의 디스플레이(240)는 수직 방향을 기준으로 경사진 면 형태의 뷰 영역(241)을 구비할 수 있다. 한편, 제1로봇(100)의 카메라(121)는 상기 제1로봇(100)의 바디부 상단에 배치되어, 상기 뷰 영역(241)을 향하는 시야각을 가지도록 하향 배치될 수 있다. 이 경우에, 상기 시야각은 카메라(121)의 화각(FoV, Field of VIEW)이 될 수 있다.In order to implement this relative position, the display 240 of the second robot 200 may have a view area 241 in the form of an inclined plane with respect to the vertical direction. Meanwhile, the camera 121 of the first robot 100 may be disposed at an upper end of the body of the first robot 100 and disposed downward to have an angle of view toward the view area 241 . In this case, the viewing angle may be a field of view (FoV) of the camera 121 .

또한, 상기 제1로봇(100)이 상기 제2로봇(200)을 보다 정확하게 촬영하기 위하여, 상기 제1로봇(100)과 제2로봇(200)은 서로 마주보도록 위치와 방향이 제어될 수 있다.In addition, in order for the first robot 100 to more accurately photograph the second robot 200, the position and direction of the first robot 100 and the second robot 200 may be controlled so as to face each other. .

이 때에, 상기 디스플레이(240)에 출력되는 비주얼 마커(250)는 디스플레이(240)의 중앙에 실제 사이즈로 출력될 수 있다. 이 경우에, 디스플레이(240)의 픽셀 피치(Pixel Pitch, mm)와 마커 이미지 사이즈(pixel)를 이용하여 비주얼 마커(250)는 실제 사이즈로 출력될 수 있으며, 이러한 예로서, 비주얼 마커(250)의 폭(w)은 175mm이고 높이(h)는 91mm 가 될 수 있다.At this time, the visual marker 250 output to the display 240 may be output in an actual size at the center of the display 240 . In this case, the visual marker 250 may be output in an actual size using the pixel pitch (mm) of the display 240 and the size (pixel) of the marker image. As an example, the visual marker 250 The width (w) of may be 175 mm and the height (h) may be 91 mm.

제1로봇(100)은 먼저, 촬영된 이미지에 포함된 비주얼 마커(250)를 검출할 수 있다. 이 경우, 제1로봇(100)의 제어부는 기 설정된 마커 검출 알고리즘(또는 프로그램)에 근거하여, 비주얼 마커(250)에 포함된 적어도 하나의 마커 기준점을 특정할 수 있다. 마커 기준점은, 비주얼 마커(250)에 포함된 코너들에 각각 대응되는 적어도 하나의 코너 포인트(corner point)를 의미할 수 있다.First, the first robot 100 may detect the visual marker 250 included in the photographed image. In this case, the control unit of the first robot 100 may specify at least one marker reference point included in the visual marker 250 based on a predetermined marker detection algorithm (or program). The marker reference point may refer to at least one corner point corresponding to each corner included in the visual marker 250 .

구체적으로, 제1로봇(100)의 제어부는 촬영된 이미지로부터 비주얼 마커(250)를 인식하고, 인식된 마커의 코너에 각각 대응되는 적어도 하나의 마커 기준점(P, 또는 코너 포인트, a, b, c, d, e, f, g, h)을 특정(추출)할 수 있다.Specifically, the control unit of the first robot 100 recognizes the visual marker 250 from the captured image, and selects at least one marker reference point (P, or corner point, a, b, c, d, e, f, g, h) can be specified (extracted).

그리고 제1로봇(100)의 제어부는 상기 특정된 마커 기준점(P)에 근거하여, 제1로봇(100)의 제어부는 상기 비주얼 마커(250)의 마커 좌표계{W}를 특정할 수 있다. 즉, 카메라 좌표계{C}에 대한 마커 좌표계{W} 자유도 정보(또는 6자유도 자세(POSE))가 측정될 수 있다.Further, the control unit of the first robot 100 may specify the marker coordinate system {W} of the visual marker 250 based on the specified marker reference point P. That is, the marker coordinate system {W} degree-of-freedom information (or six-degree-of-freedom posture (POSE)) for the camera coordinate system {C} can be measured.

마커 좌표계{W}는 특정된 마커 기준점(예를 들어, a, b, c, d, e, f, g, h) 중 어느 하나를 원점으로 3차원의 축을 포함할 수 있으며, “”에 해당하는 마커 기준점을 원점으로 할 수 있다.The marker coordinate system {W} may include a 3-dimensional axis with one of the specified marker reference points (eg, a, b, c, d, e, f, g, h) as the origin, corresponding to “” You can set the reference point of the marker to be used as the origin.

다음으로, 제1로봇(100)의 제어부는 상기 비주얼 마커(250)의 자세를 추정할 수 있다. 이를 위하여, 상기 이미지에 포함된 비주얼 마커의 자세(pose)를 산출하는 단계(S115)에서는, 상기 검출된 비주얼 마커(250)를 이용하여, 상기 제2로봇(200)을 촬영한 카메라(121)의 좌표계에 대한 상기 비주얼 마커(250)의 6자유도 자세가 추정될 수 있다.Next, the control unit of the first robot 100 may estimate the posture of the visual marker 250 . To this end, in the step of calculating the pose of the visual marker included in the image (S115), the camera 121 photographing the second robot 200 using the detected visual marker 250 The 6 degree of freedom posture of the visual marker 250 with respect to the coordinate system of can be estimated.

이러한 카메라(121)는 도시된 것과 같이, 카메라 좌표계{C}를 갖도록 이루어질 수 있다. 카메라 좌표계{C}는 카메라(121)의 특정 지점을 원점으로 하는 3차원 좌표계일 수 있다. 또한, 도시된 것과 같이, 카메라(121)를 통해 촬영된 이미지에 포함된 마커를 기준으로 설정되는 마커 좌표계{W}가 다른 기준 좌표계로 설정될 수 있다. 이 경우에, 마커 좌표계{W}는 이미지에 포함된 마커의 특정 지점을 원점으로 하는 3차원 좌표계일 수 있다.As shown, the camera 121 may have a camera coordinate system {C}. The camera coordinate system {C} may be a three-dimensional coordinate system having a specific point of the camera 121 as an origin. Also, as illustrated, the marker coordinate system {W} set based on the marker included in the image captured through the camera 121 may be set as another reference coordinate system. In this case, the marker coordinate system {W} may be a three-dimensional coordinate system having a specific point of a marker included in the image as an origin.

이 경우, 상기 비주얼 마커(250)는 마커의 포인트에 기준 좌표계를 가질 수 있으며, 마커의 자유도 정보가, 카메라(121)의 기준 좌표계와 마커의 기준 좌표계 간의 상대적인 위치 관계를 반영하여, 얻어질 수 있다. In this case, the visual marker 250 may have a reference coordinate system at the point of the marker, and degree of freedom information of the marker may be obtained by reflecting the relative positional relationship between the reference coordinate system of the camera 121 and the reference coordinate system of the marker. can

이와 같이, 상기 카메라(121)의 카메라 좌표계{C}를 기준으로, 마커 좌표계{W}의 자유도 정보(6자유도 자세)를 추출할 수 있다. 이를 통해, 상기 제어부는 카메라 좌표계{C}에 대하여, 촬영된 이미지에 포함된 비주얼 마커(250) 또는 마커 좌표계{W}가 회전(rotation) 및 변환(translation, 병진 이동)된 정도를 추출할 수 있다.In this way, based on the camera coordinate system {C} of the camera 121, the degree of freedom information (six degree of freedom posture) of the marker coordinate system {W} can be extracted. Through this, the control unit can extract the degree of rotation and translation (translation) of the visual marker 250 or the marker coordinate system {W} included in the captured image with respect to the camera coordinate system {C}. there is.

예를 들어, 마커 기준점에 대응되는 픽셀(pixel) 좌표를 특정하고, 상기 마커 기준점에 대응되는 픽셀(pixel) 좌표 및 카메라(121)의 카메라 좌표계{C}를 이용하여, 카메라 좌표계{C}에 대한 상기 마커 좌표계{W}의 자유도 자세를 특정할 수 있다.For example, by specifying the pixel coordinates corresponding to the marker reference point and using the pixel coordinates corresponding to the marker reference point and the camera coordinate system {C} of the camera 121, the camera coordinate system {C} The position of the degree of freedom of the marker coordinate system {W} can be specified.

보다 구체적으로, 제어부(130)는 카메라 좌표계{W}에 대한 마커 좌표계{W}의 자유도 정보(또는 상대적인 위치 관계)를 추출하기 위하여, PnP가 계산될 수 있다.More specifically, the controller 130 may calculate PnP in order to extract degree of freedom information (or relative positional relationship) of the marker coordinate system {W} with respect to the camera coordinate system {W}.

한편, 카메라 좌표계{W}에 대한 마커 좌표계{W}의 상대적인 위치 관계는, 마커 좌표계{W}가 카메라 좌표계{W}에 대하여, 회전(rotation) 및 변환(translation)된 정도를 의미할 수 있다. 이러한 회전 및 변환된 정도에 따른 정보는 카메라 좌표계{C}에 대한 마커 좌표계{W}의 자유도 정보(자유도 자세)에 해당할 수 있다.Meanwhile, the relative positional relationship of the marker coordinate system {W} with respect to the camera coordinate system {W} may mean the degree to which the marker coordinate system {W} is rotated and translated with respect to the camera coordinate system {W}. . Information according to the degree of rotation and transformation may correspond to degree of freedom information (DOF posture) of the marker coordinate system {W} with respect to the camera coordinate system {C}.

카메라 좌표계{C}에 대한 마커 좌표계{W}의 자유도 정보(자유도 자세)를 추출하기 위하여, 상기 비주얼 마커(250)의 적어도 하나의 마커 기준점들에 해당하는 픽셀 좌표(u, v) 카메라의 3차원 좌표(x, y, z)를 PnP방정식에 대입하여, 카메라 좌표계{C}에 대한 마커 좌표계{W}의 자유도 정보(자유도 자세)를 추출할 수 있다.Pixel coordinates (u, v) corresponding to at least one marker reference point of the visual marker 250, in order to extract the degree of freedom information (DOF posture) of the marker coordinate system {W} with respect to the camera coordinate system {C} By substituting the 3D coordinates (x, y, z) of the PnP equation, the degree of freedom information (DOF posture) of the marker coordinate system {W} with respect to the camera coordinate system {C} can be extracted.

구체적으로, 카메라 좌표계에 대한 마커 좌표계의 6자유도 자세가 산출되며, 이는 PnP 방정식을 이용하여 에이프릴 태그의 코너 포인트의 픽셀(Pixel) 좌표를 다음의 식 (1)로 정의함에 따라 산출될 수 있다.Specifically, the 6 degree of freedom posture of the marker coordinate system with respect to the camera coordinate system is calculated, which can be calculated by defining the pixel coordinates of the corner point of the April tag as the following equation (1) using the PnP equation. .

Figure pat00001
Figure pat00001

이 경우에, 좌변은 에이프릴 태그의 코너 포인트의 픽셀(Pixel) 좌표이고, 우변의 첫번째 행렬은 카메라 파라미터에 대한 것이고, 두번째 행렬은 카메라 좌표계에 대한 마커 좌표계의 6자유도 자세이며, 세번째 행렬은 실세계의 좌표값에 대한 것이다. 또한, 에이프릴 태그는 오픈 소스를 이용해서 영상에서 코너 포인트를 제공하므로, 상기 코너 포인트의 픽셀좌표가 산출될 수 있다.In this case, the left side is the pixel coordinates of the corner point of the April tag, the first matrix on the right side is for the camera parameters, the second matrix is the 6 degree of freedom pose of the marker coordinate system with respect to the camera coordinate system, and the third matrix is the real world It is about the coordinate value of . Also, since the April tag provides a corner point in an image using an open source, pixel coordinates of the corner point can be calculated.

상기 비주얼 마커(250)의 자세가 측정되고 나면, 상기 자세를 상기 제2로봇(200)의 자세로 변환한다.After the posture of the visual marker 250 is measured, the posture is converted into the posture of the second robot 200 .

먼저, 도 6에 도시된 바와 같이, 제2로봇(200)의 형상 데이터인, CAD 모델을 사용하여 상기 비주얼 마커(250)의 자세를 로봇의 자세로 변환할 수 있다. 예를 들어, CAD 모델의 기준 좌표계에 대한 비주얼 마커(250)의 코너 포인트의 3차원 좌표(x,y,z)가 추출될 수 있다. 이러한 좌표 변환을 위하여, 상기 제1로봇(100) 또는 전술한 클라우드 서버에는 제2로봇(200)의 형상 데이터가 저장될 수 있다.First, as shown in FIG. 6 , the posture of the visual marker 250 may be converted into the posture of the robot using the CAD model, which is the shape data of the second robot 200 . For example, the 3D coordinates (x, y, z) of the corner point of the visual marker 250 with respect to the reference coordinate system of the CAD model may be extracted. For this coordinate conversion, shape data of the first robot 100 or the cloud server described above may store the shape data of the second robot 200 .

나아가, 도시된 것과 같이, 로봇을 기준으로 설정되는 로봇 좌표계{O}가 기준 좌표계의 하나로 설정될 수 있다. 로봇 좌표계{O}는 제2로봇(200)의 특정 지점을 원점으로 하는 3차원 좌표계일 수 있다.Furthermore, as shown, the robot coordinate system {O} set based on the robot may be set as one of the reference coordinate systems. The robot coordinate system {O} may be a three-dimensional coordinate system having a specific point of the second robot 200 as an origin.

나아가, 제2로봇(200)의 자유도 정보는, 마커의 기준 좌표계와 제2로봇(200)의 기준 좌표계 간의 상대적인 위치 관계를 반영하여 얻어질 수 있음은 물론이다. 즉, 본 발명에서는, 카메라(121)의 기준 좌표계, 마커의 기준 좌표계, 로봇의 기준 좌표계 간의 상호 상대적인 위치 관계에 근거하여, 카메라(121), 마커 및 로봇 중 적어도 하나에 대한 자유도 정보를 수집하는 것이 가능하다.Furthermore, the degree of freedom information of the second robot 200 can be acquired by reflecting the relative positional relationship between the reference coordinate system of the marker and the reference coordinate system of the second robot 200 . That is, in the present invention, based on the relative positional relationship between the reference coordinate system of the camera 121, the reference coordinate system of the marker, and the reference coordinate system of the robot, information on the degree of freedom of at least one of the camera 121, the marker, and the robot is collected. It is possible.

상기 좌표 변환은 PnP 방정식을 이용하여 에이프릴 태그의 코너 포인트의 픽셀(Pixel) 좌표를 다음의 식 (2)로 정의함에 따라 산출될 수 있다.The coordinate conversion can be calculated by defining the pixel coordinates of the corner point of the April tag as the following Equation (2) using the PnP equation.

Figure pat00002
Figure pat00002

이 경우에, 좌변은 에이프릴 태그의 코너 포인트의 픽셀(Pixel) 좌표이고, 우변의 첫번째 행렬은 카메라 파라미터에 대한 것이고, 두번째 행렬은 카메라 좌표계에 대한 로봇 좌표계(즉, 제2로봇(200)의 좌표계)의 6자유도 자세이며, 세번째 행렬은 실세계의 좌표값에 대한 것이다. In this case, the left side is the pixel coordinates of the corner point of the April tag, the first matrix on the right side is for camera parameters, and the second matrix is the robot coordinate system for the camera coordinate system (ie, the coordinate system of the second robot 200). ), and the third matrix is for the coordinate values of the real world.

도 6에 도시된 바와 같이. 비주얼 마커(250)의 우측 하단의 코너 포인트(Pf)에 대한 x,y,z의 좌표값을 로봇기준의 좌표계를 기준으로 산출하게 되며, 이로부터 제2로봇(200)의 자세가 정의될 수 있다. 이와 같은 방법으로, 상기 제2로봇(200)의 CAD 모델의 기준 좌표계에 대한 상기 이미지에 포함된 비주얼 마커(250)의 포인트의 3D 좌표가 추출된다.As shown in Figure 6. The coordinate values of x, y, and z for the corner point Pf at the lower right of the visual marker 250 are calculated based on the coordinate system of the robot reference, and the posture of the second robot 200 can be defined from this. there is. In this way, the 3D coordinates of the point of the visual marker 250 included in the image relative to the reference coordinate system of the CAD model of the second robot 200 are extracted.

상기 비주얼 마커(250)의 자세를 로봇의 자세로 변환하는 것은 다른 방법으로도 가능하다. 도 7, 도 8a 및 도 8b를 참조하면, 캘리브레이션 방법을 사용하여 카메라 좌표계에 대한 마커 자세를 로봇 자세로 변환할 수 있다.Converting the posture of the visual marker 250 into the posture of the robot can be done in another method. Referring to FIGS. 7, 8A, and 8B , a marker posture with respect to a camera coordinate system may be converted into a robot posture using a calibration method.

이러한 예로서, 상기 제1로봇(100)의 카메라(121)와 상기 제2로봇(200)의 휠(220)에 대한 오도메트리(odometry) 정보를 이용하여 상기 이미지에 포함된 비주얼 마커(250)의 자세가 상기 제2로봇(200)의 자세로 변환될 수 있다.As such an example, the visual marker 250 included in the image uses odometry information about the camera 121 of the first robot 100 and the wheel 220 of the second robot 200. ) may be converted into the posture of the second robot 200 .

이 경우에, 모바일 로봇에 장착된 카메라를 이용하여 주변을 탐색하는 시스템에서, 적절한 작동 기능을 보장하기 위하여, 카메라의 내부 및 외부 매개변수, 카메라와 모바일 로봇의 프레임 사이의 상대 포즈, 모바일 로봇의 주행 매개변수를 추정하기 위한 보정을 수행하게 된다. 이 때에, 오도메트리(Odometry, 주행거리측정) 방법이 적용되며, 오도메트리는 휠(220)에서 인코더의 측정에 의존하여 모바일 로봇 구성(즉, 위치 및 방향)을 재구성하는 것으로, 알려진 구성에서 시작하여 로봇의 현재 위치와 방향은 측정된 휠(220)의 속도에 해당하는 차량 속도의 시간 적분에 의해 산출한다. 이러한 방법은 본 발명에서, 제2로봇(200)의 기준좌표계, 비주얼 마커(250)의 코너 포인트, 휠 오도메트리 간의 관계에 적용하여 로봇 자세를 산출할 수 있다.In this case, in a system that uses a camera mounted on a mobile robot to explore the surroundings, in order to ensure an appropriate operating function, the internal and external parameters of the camera, the relative pose between the camera and the frame of the mobile robot, the Calibration is performed to estimate driving parameters. At this time, the odometry (mileage measurement) method is applied, and the odometry is to reconstruct the mobile robot configuration (ie, position and direction) depending on the measurement of the encoder on the wheel 220, in a known configuration. Starting with, the current position and direction of the robot are calculated by time integration of the vehicle speed corresponding to the measured wheel 220 speed. In the present invention, this method can be applied to the relationship between the reference coordinate system of the second robot 200, the corner point of the visual marker 250, and the wheel odometry to calculate the robot posture.

예를 들어, 휠 오도메트리를 OiTOj 로 정의하면, 하기의 식 (3)의 관계가 성립하게 되며, 비주얼 마커(250)의 자세는 하기의 식 (4)로 정의될 수 있다.For example, if the wheel odometry is defined as Oi T Oj , the relationship of Equation (3) below is established, and the posture of the visual marker 250 may be defined by Equation (4) below.

Figure pat00003
Figure pat00003

Figure pat00004
Figure pat00004

식 (3)과 식 (4)를 이용하여 비주얼 마커(250)의 자세가 로봇의 자세로 변환될 수 있다.The posture of the visual marker 250 may be converted into the posture of the robot using Equations (3) and (4).

상기에서 설명한 방법에 의하면, 제1로봇(100)이 제2로봇(200)의 자세를 비주얼 마커(250)를 이용하여 측정할 수 있게 된다. 이러한 예로서, 도 8의 (a), (b), (c)는 각각 측정된 자세를 바탕으로 로봇의 CAD 모델(Mesh)을 영상에 투영한 예시를 보여준다.According to the method described above, the first robot 100 can measure the posture of the second robot 200 using the visual marker 250 . As such an example, (a), (b), and (c) of FIG. 8 show an example of projecting a CAD model (Mesh) of a robot onto an image based on the measured posture, respectively.

이와 같이, 제2로봇(200)의 자세를 측정하고 나면, 제1로봇(100)은 제2로봇(200)의 이송한 물건의 위치를 산출하며, 상기 물건을 픽업하여 주어진 임무를 수행하게 된다.In this way, after measuring the posture of the second robot 200, the first robot 100 calculates the position of the transferred object of the second robot 200, picks up the object, and performs the given task. .

상기에서 설명한 프로세스에 의하여, 본 발명에 따른 로봇의 자세 측정 방법 및 이를 이용한 로봇 시스템은, 상대 로봇의 자세를 인식하며, 이를 통하여 간단한 방법으로 상대 로봇의 자세를 빠르고 정확하게 측정할 수 있다.According to the process described above, the method for measuring the posture of a robot according to the present invention and the robot system using the same recognize the posture of the opponent robot, and through this, can quickly and accurately measure the posture of the opponent robot in a simple way.

한편, 상기에서 설명한 프로세스는 상대 로봇이 아니라, 자신의 위치를 측위하는 방법으로 변형될 수 있다. 이하에서는 이러한 변형예에 대하여 도 9를 참조하여 설명한다.On the other hand, the process described above can be modified as a method of locating one's own position, not the other robot's. Hereinafter, this modified example will be described with reference to FIG. 9 .

도 9는 본 발명의 다른 일 실시예로 로봇의 위치를 측정하는 개념도이다 9 is a conceptual diagram for measuring the position of a robot according to another embodiment of the present invention.

실내 공간의 실제 환경에서는 시간 경과에 따라 큰 변화가 존재하므로, 로봇의 카메라의 정확한 포즈 정보를 추정하는 것은 매우 어려운 문제이다. 예를 들어, 텍스처(질감)이 없는 공간(textureless areas), 사이니지 등에서 콘텐츠의 변화 등에 의하여 발생하는 외관 변화(changing appearance), 시간에 따른 혼잡도(crowdedness)나 가리는 정도(occlusions)의 변화, 동적 환경 변화(dynamic environment) 등에 의하여, 이미지에 대한 카메라 포즈 추정이 어렵게 된다.It is very difficult to estimate the exact pose information of the camera of the robot because there is a large change over time in the real environment of the indoor space. For example, textureless areas, changing appearance caused by changes in content in signage, etc., changes in crowdedness or occlusions over time, dynamic Due to a dynamic environment or the like, estimation of a camera pose for an image becomes difficult.

도 1 내지 도 8을 참조하여 전술한 비주얼 마커를 이용한 자세 측정은 실내 공간을 주행하는 로봇의 카메라 포즈 추정에도 적용될 수 있다.The posture measurement using the visual marker described above with reference to FIGS. 1 to 8 may also be applied to camera pose estimation of a robot traveling in an indoor space.

도 9의 (a)를 참조하면, 먼저, 디스플레이(410)가 배치된 실내 공간(20)에서 로봇(300)이 이동할 수 있다. 이 경우에, 상기 로봇(300)은 전술한 예시의 제2로봇(200)이 될 수 있다.Referring to (a) of FIG. 9 , first, the robot 300 may move in the indoor space 20 where the display 410 is disposed. In this case, the robot 300 may be the second robot 200 of the above-described example.

상기 디스플레이(410)는 사이니지를 예시하나, 다른 형태의 디스플레이도 가능하다. 이 때에, 상기 디스플레이(410)에 이미지 정보가 표시될 수 있으며, 상기 이미지 정보는 광고 정보, 안내 정보, 영상 콘텐츠 등이 될 수 있다.The display 410 exemplifies signage, but other types of displays are also possible. At this time, image information may be displayed on the display 410, and the image information may be advertisement information, guide information, video content, and the like.

상기 로봇(300)이 실내 공간(20)을 주행하다가, 상기 로봇(300)에 장착된 카메라(321)를 이용하여 상기 디스플레이(410)를 검출할 수 있다. 상기 디스플레이(410)가 검출되면, 상기 로봇(300)은 상기 디스플레이(410)를 제어하는 제어 시스템에 비주얼 마커(420)의 출력을 요청하는 요청신호를 전송한다. 이 때에, 상기 제어 시스템이 상기 요청신호의 수신을 모니터링을 할 수 있다.While the robot 300 travels in the indoor space 20 , the display 410 may be detected using a camera 321 mounted on the robot 300 . When the display 410 is detected, the robot 300 transmits a request signal requesting output of the visual marker 420 to a control system that controls the display 410 . At this time, the control system may monitor reception of the request signal.

상기 제어 시스템은 상기 실내 공간을 가지는 건물의 제어 시스템이 될 수 있으며, 클라우드 서버 등 외부 서버가 되는 것도 가능하다. The control system may be a control system of a building having the indoor space, or may be an external server such as a cloud server.

도 9의 (b)를 참조하면, 상기 요청신호에 응답하여 상기 제어 시스템이 상기 비주얼 마커(420)를 출력하도록 상기 디스플레이(410)를 제어한다. Referring to (b) of FIG. 9 , the control system controls the display 410 to output the visual marker 420 in response to the request signal.

상기 비주얼 마커(420)는 도 1 내지 도 8을 참조하여 설명한 예시의 비주얼 마커가 될 수 있으며, 상기 디스플레이(410)에서 출력하는 이미지 정보와 함께 상기 디스플레이(410)에 출력될 수 있다. 이러한 예로서, 상기 비주얼 마커(420)는 상기 디스플레이(410)의 일측 하단에 상기 이미지 정보에 오버랩되어 출력될 수 있다.The visual marker 420 may be the visual marker of the examples described with reference to FIGS. 1 to 8 , and may be output to the display 410 together with image information output from the display 410 . As such an example, the visual marker 420 may be overlapped with the image information and output at a lower portion of one side of the display 410 .

다음으로, 상기 로봇(300)이 상기 디스플레이(410)에 출력된 비주얼 마커(420)를 이용하여, 상기 로봇(300)의 현재 위치를 추정한다. 또한, 이 경우에 상기 로봇(300)의 포즈도 추정될 수 있다. 상기 로봇(300)의 현재 위치 및 포즈의 추정은 상기 실내 공간의 특징맵을 이용한 이미지 기반 측위를 통하여 수행될 수 있다.Next, the robot 300 estimates the current location of the robot 300 using the visual marker 420 output to the display 410 . Also, in this case, the pose of the robot 300 may also be estimated. Estimation of the current position and pose of the robot 300 may be performed through image-based positioning using a feature map of the indoor space.

이러한 위치 및 추정된 포즈를 이용하여 상기 로봇(300)의 정확한 위치가 추정될 수 있다. 이 경우에, 상기 로봇(300)에서는 상기 위치를 기반으로 한 여러가지 서비스가 실행될 수 있다.An accurate position of the robot 300 may be estimated using the position and the estimated pose. In this case, the robot 300 may execute various services based on the location.

본 예시에서 설명한 바와 같이, 본 발명은 사이니지 등, 특정 공간에 고정된 디스플레이에서 비주얼 마커를 출력하여, 비주얼 마커를 촬영한 로봇의 위치를 정확하고 신속하게 측정할 수 있는 효과를 발휘할 수 있다.As described in this example, the present invention outputs a visual marker on a display fixed to a specific space, such as a signage, so that the position of the robot that has photographed the visual marker can be accurately and quickly measured.

상기와 같이 설명된 로봇의 자세 측정 방법 및 이를 이용한 로봇 시스템은 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.The method for measuring the posture of a robot described above and the robot system using the same are not limited to the configuration and method of the above-described embodiments, but the above embodiments are all or all of the embodiments so that various modifications can be made. Some of them may be selectively combined and configured.

Claims (14)

제1로봇과 제2로봇이 서로 인접하도록 상기 제1로봇과 제2로봇 중 적어도 하나가 이동하는 단계;
상기 제2로봇의 디스플레이에 비주얼 마커를 출력하는 단계;
상기 제1로봇이 상기 제2로봇를 촬영하는 단계;
상기 제1로봇에서 촬영된 이미지에 포함된 비주얼 마커를 검출하여, 상기 이미지에 포함된 비주얼 마커의 자세(pose)를 산출하는 단계; 및
상기 제2로봇의 좌표 데이터와 상기 이미지에 포함된 비주얼 마커의 자세를 이용하여, 상기 제2로봇의 자세를 산출하는 단계를 포함하는 로봇의 자세 측정 방법.
moving at least one of the first robot and the second robot so that the first robot and the second robot are adjacent to each other;
outputting a visual marker to a display of the second robot;
photographing the second robot by the first robot;
detecting a visual marker included in an image captured by the first robot and calculating a pose of the visual marker included in the image; and
and calculating a posture of the second robot using coordinate data of the second robot and a posture of a visual marker included in the image.
제1항에 있어서, 
상기 제2로봇이 상기 비주얼 마커의 출력을 요청하는 요청 신호를 모니터링하는 단계를 더 포함하는 로봇의 자세 측정 방법.
According to claim 1,
The method of measuring the posture of a robot further comprising monitoring a request signal requesting an output of the visual marker by the second robot.
제2항에 있어서, 
상기 요청 신호는 상기 제1로봇과 통신하는 서버 또는 상기 제1로봇에서 상기 제2로봇으로 전송하는 것을 특징으로 하는 로봇의 자세 측정 방법.
According to claim 2,
The request signal is transmitted from a server communicating with the first robot or from the first robot to the second robot.
제2항에 있어서, 
상기 비주얼 마커를 출력하는 단계는,
상기 디스플레이에 이미지 정보를 출력한 상태에서 상기 요청신호를 수신하면, 상기 이미지 정보의 출력을 오프하고 상기 비주얼 마커를 출력하거나, 상기 이미지 정보와 함께 상기 비주얼 마커를 출력하는 것을 특징으로 하는 로봇의 자세 측정 방법.
According to claim 2,
The step of outputting the visual marker,
When the request signal is received while image information is output to the display, the output of the image information is turned off and the visual marker is output, or the visual marker is output together with the image information. measurement method.
제2항에 있어서, 
상기 비주얼 마커를 출력하는 단계는,
상기 디스플레이가 비활성화된 상태에서 상기 요청신호를 수신하면, 상기 디스플레이를 활성화하고 상기 비주얼 마커를 출력하는 것을 특징으로 하는 로봇의 자세 측정 방법.
According to claim 2,
The step of outputting the visual marker,
and activating the display and outputting the visual marker when the request signal is received while the display is inactive.
제1항에 있어서, 
상기 제2로봇의 디스플레이에 비주얼 마커를 출력한 후에 특정 시간이 경과하면, 상기 비주얼 마커의 출력을 종료하는 것을 특징으로 하는 로봇의 자세 측정 방법.
According to claim 1,
and ending the output of the visual marker when a specific time elapses after outputting the visual marker to the display of the second robot.
제1항에 있어서, 
상기 디스플레이는 상기 제2로봇의 전면 또는 상면에서 상향으로 배치되고, 상기 제1로봇은 상기 제2로봇을 하향으로 촬영하는 카메라를 구비하는 것을 특징으로 로봇의 자세 측정 방법.
According to claim 1,
The display is disposed upward from the front or upper surface of the second robot, and the first robot includes a camera that photographs the second robot downward.
제1항에 있어서, 
상기 이미지에 포함된 비주얼 마커의 자세(pose)를 산출하는 단계에서는,
상기 검출된 비주얼 마커를 이용하여, 상기 제2로봇을 촬영한 카메라의 좌표계에 대한 상기 비주얼 마커의 6자유도 자세가 추정되는 것을 특징으로 하는 로봇의 자세 측정 방법.
According to claim 1,
In the step of calculating the pose of the visual marker included in the image,
The method of measuring the posture of the robot, characterized in that the 6 degree of freedom posture of the visual marker with respect to the coordinate system of the camera photographing the second robot is estimated using the detected visual marker.
제1항에 있어서,
상기 제2로봇의 자세를 산출하는 단계에서는,
상기 제2로봇의 CAD 모델의 기준 좌표계에 대한 상기 이미지에 포함된 비주얼 마커의 포인트의 3D 좌표가 추출되는 것을 특징으로 하는 로봇의 자세 측정 방법.
According to claim 1,
In the step of calculating the posture of the second robot,
3D coordinates of a point of a visual marker included in the image with respect to a reference coordinate system of the CAD model of the second robot are extracted.
제1항에 있어서,
상기 제2로봇의 자세를 산출하는 단계에서는,
상기 제1로봇의 카메라와 상기 제2로봇의 휠에 대한 오도메트리(odometry) 정보를 이용하여 상기 이미지에 포함된 비주얼 마커의 자세를 상기 제2로봇의 자세로 변환하는 것을 특징으로 하는 로봇의 자세 측정 방법.
According to claim 1,
In the step of calculating the posture of the second robot,
Converting the posture of the visual marker included in the image to the posture of the second robot using odometry information about the camera of the first robot and the wheel of the second robot How to measure posture.
디스플레이가 배치된 특정 공간에서 로봇이 이동하는 단계;
상기 디스플레이에 이미지 정보가 표시되는 단계;
상기 로봇이 상기 디스플레이를 제어하는 제어 시스템에 비주얼 마커의 출력을 요청하는 요청신호를 전송 단계;
상기 요청신호에 응답하여 상기 제어 시스템이 상기 비주얼 마커를 출력하도록 상기 디스플레이를 제어하는 단계; 및
상기 로봇이 상기 디스플레이에 출력된 비주얼 마커를 이용하여, 상기 로봇의 현재 위치를 추정하는 단계를 포함하는 로봇의 위치 측정 방법.
Moving the robot in a specific space where the display is arranged;
displaying image information on the display;
transmitting, by the robot, a request signal requesting output of a visual marker to a control system that controls the display;
controlling the display so that the control system outputs the visual marker in response to the request signal; and
and estimating, by the robot, a current position of the robot using a visual marker output on the display.
제11항에 있어서, 
상기 제어 시스템이 상기 요청신호의 수신을 모니터링하는 단계를 더 포함하는 로봇의 위치 측정 방법.
According to claim 11,
The method of measuring the position of the robot further comprising the step of the control system monitoring the reception of the request signal.
카메라를 구비하는 제1로봇;
상기 제1로봇과 인터랙션을 수행하며, 디스플레이를 구비하는 제2로봇을 포함하며,
상기 제2로봇의 디스플레이에 비주얼 마커를 출력하고, 상기 제1로봇이 상기 제2로봇를 촬영하며,
상기 제1로봇에서 촬영된 이미지에 포함된 비주얼 마커를 검출하여, 상기 이미지에 포함된 비주얼 마커의 자세(pose)를 산출하고, 상기 제2로봇의 좌표 데이터와 상기 이미지에 포함된 비주얼 마커의 자세를 이용하여, 상기 제2로봇의 자세를 추정하며,
상기 추정된 제2로봇의 자세를 이용하여 상기 제1로봇의 동작을 제어하는 것을 특징으로 하는 복수의 로봇이 인터랙션을 수행하는 로봇 시스템.
A first robot equipped with a camera;
A second robot that interacts with the first robot and has a display;
A visual marker is output to the display of the second robot, and the first robot photographs the second robot;
A visual marker included in an image captured by the first robot is detected, a pose of the visual marker included in the image is calculated, and the coordinate data of the second robot and the pose of the visual marker included in the image are calculated. Estimating the posture of the second robot using
A robot system in which a plurality of robots perform interactions, characterized in that for controlling the operation of the first robot using the estimated posture of the second robot.
제13항에 있어서,
상기 제2로봇은 상기 제1로봇으로 물건을 전달하도록 제어되며,
상기 제1로봇은 상기 추정된 제2로봇의 자세를 이용하여 상기 제2로봇의 설정된 위치로 엔드 이펙터를 이동시키는 것을 특징으로 하는 복수의 로봇이 인터랙션을 수행하는 로봇 시스템.
According to claim 13,
The second robot is controlled to deliver an object to the first robot,
The robot system in which a plurality of robots perform interaction, characterized in that the first robot moves an end effector to a set position of the second robot using the estimated posture of the second robot.
KR1020210136924A 2021-10-14 2021-10-14 Method of pose estimation and robot system using the same method KR20230053430A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210136924A KR20230053430A (en) 2021-10-14 2021-10-14 Method of pose estimation and robot system using the same method
PCT/KR2022/014983 WO2023063645A1 (en) 2021-10-14 2022-10-05 Method for measuring pose of robot and robot system using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210136924A KR20230053430A (en) 2021-10-14 2021-10-14 Method of pose estimation and robot system using the same method

Publications (1)

Publication Number Publication Date
KR20230053430A true KR20230053430A (en) 2023-04-21

Family

ID=85988424

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210136924A KR20230053430A (en) 2021-10-14 2021-10-14 Method of pose estimation and robot system using the same method

Country Status (2)

Country Link
KR (1) KR20230053430A (en)
WO (1) WO2023063645A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4300199B2 (en) * 2005-06-13 2009-07-22 株式会社東芝 Mobile robot, mobile robot position and orientation calculation method, mobile robot autonomous traveling system
KR101262181B1 (en) * 2010-05-03 2013-05-14 한국과학기술원 Method and apparatus for locating robot fishes in aquarium
KR101850118B1 (en) * 2016-08-09 2018-04-19 한국생산기술연구원 Method and System for Calibration of Mobile Robot and Camera
JPWO2020100522A1 (en) * 2018-11-15 2021-10-21 日本電産株式会社 Mark detection systems, signal processing circuits, computer programs and methods
US11410250B2 (en) * 2018-11-19 2022-08-09 Zhengxu He Automated restaurant

Also Published As

Publication number Publication date
WO2023063645A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
US11691273B2 (en) Generating a model for an object encountered by a robot
US20210187735A1 (en) Positioning a Robot Sensor for Object Classification
CA3073920C (en) Collision detection, estimation, and avoidance
CN114728417A (en) Robot autonomous object learning triggered by a remote operator
US11642780B2 (en) Monitoring of surface touch points for precision cleaning
JPWO2019146201A1 (en) Information processing equipment, information processing methods and information processing systems
US11587302B2 (en) Shared dense network with robot task-specific heads
US20220366590A1 (en) Fusing Multiple Depth Sensing Modalities
EP4095486A1 (en) Systems and methods for navigating a robot using semantic mapping
US20240153314A1 (en) Engagement Detection and Attention Estimation for Human-Robot Interaction
KR20230053430A (en) Method of pose estimation and robot system using the same method
US20220168909A1 (en) Fusing a Static Large Field of View and High Fidelity Moveable Sensors for a Robot Platform
US11407117B1 (en) Robot centered augmented reality system
Fiala A robot control and augmented reality interface for multiple robots
US11818328B2 (en) Systems and methods for automatically calibrating multiscopic image capture systems
US20220281113A1 (en) Joint Training of a Narrow Field of View Sensor with a Global Map for Broader Context
Cervera et al. Localization and navigation of an assistive humanoid robot in a smart environment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)