KR102621089B1 - 시각적 측위방법,이를 이용하는 제어서버 및 건물 - Google Patents

시각적 측위방법,이를 이용하는 제어서버 및 건물 Download PDF

Info

Publication number
KR102621089B1
KR102621089B1 KR1020220004824A KR20220004824A KR102621089B1 KR 102621089 B1 KR102621089 B1 KR 102621089B1 KR 1020220004824 A KR1020220004824 A KR 1020220004824A KR 20220004824 A KR20220004824 A KR 20220004824A KR 102621089 B1 KR102621089 B1 KR 102621089B1
Authority
KR
South Korea
Prior art keywords
robot
positioning
positioning module
space
control server
Prior art date
Application number
KR1020220004824A
Other languages
English (en)
Other versions
KR20230108997A (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 KR1020220004824A priority Critical patent/KR102621089B1/ko
Priority to PCT/KR2022/020966 priority patent/WO2023136495A1/ko
Publication of KR20230108997A publication Critical patent/KR20230108997A/ko
Application granted granted Critical
Publication of KR102621089B1 publication Critical patent/KR102621089B1/ko

Links

Images

Classifications

    • 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/04Viewing devices
    • 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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches

Abstract

본 발명은 시각적 측위방법, 이를 이용하는 제어서버 및 건물에 관한 것으로서, 본 발명의 일 실시예에 의한 시각적 측위방법은 로봇으로부터, 상기 로봇이 위치하는 공간에 대한 주변 영상을 입력받는 단계; 상기 공간에 설정된 공간특성에 따라, 측위모듈을 선택하는 단계; 및 상기 선택된 측위모듈을 이용하여 상기 주변 영상으로부터 상기 로봇에 대한 측위정보를 생성하는 단계를 포함할 수 있다.

Description

시각적 측위방법,이를 이용하는 제어서버 및 건물 {Method for visual localization, control server and buiding using the same}
본 발명은 로봇의 주행을 제어하기 위해 로봇의 위치 및 포즈(pose)를 측위하는 시각적 측위방법, 이를 이용하는 제어서버 및 건물에 관한 것이다.
VL(Visual Localization)은 로봇 등에서 촬영된 이미지에 기반하여 로봇의 전역 위치를 추정할 수 있는 기술로, 로봇은 촬영된 이미지를 VL 서버로 전송하고, VL 서버는 전송된 이미지에 기반하여 로봇의 전역 위치를 추정할 수 있다. 그러나, 이러한 VL은 공간 전체를 스캔하여 공간에 대한 전체 맵을 생성하는 사전 작업을 요구하며, 이때 라이더(Lidar)와 같은 고가의 장비가 요구된다. 뿐만 아니라, VL은 초기 위치가 주어지지 않은 단계에서 VL만을 사용하여 로봇의 위치를 인식하는 경우, 쿼리 이미지를 이용하여 전체 탐색을 수행하기 때문에 긍정 오류(false positive)가 발생할 가능성이 높다. 게다가, 야외와 같이 열린 공간은 규모와 환경의 변화 때문에 기존의 VL을 활용하기 취약하다는 문제점이 있다.
다른 예로, 2차원 이미지 마커를 활용하여 로봇의 전역 위치를 추정하는 기술이 존재한다. 예를들어, 한국공개특허 제10-2006-0129960호는 이동 로봇 및 그의 위치 및 자세의 산출방법에 관한 것으로, 맵 데이터 메모리는 이동 영역의 맵 데이터, 이동 영역의 소정의 위치에 있는 마커의 위치 데이터, 마커의 식별 데이터 및 이동 영역의 마커에 인접하는 경계선의 위치 데이터를 저장하고, 마커 검출 유닛이, 마커의 위치 데이터 및 식별 데이터를 기초하여 화상에서 마커를 검출하며, 경계선 검출 유닛이 화상으로부터 마커에 인접하는 경계선을 검출하고, 파라미터 산출 유닛이 화상에서 경계선의 파라미터를 산출하면, 위치 자세 산출 유닛이, 경계선의 파라미터와 경계선의 위치 데이터에 기초하여, 이동 영역 내의 이동 로봇의 위치 및 자세를 산출함을 개시하고 있다.
본 발명은 일반적인 시각적 측위 방법 이외에, 각각의 공간들의 공간특성에 따라 특화된 복수의 시각적 측위 방법을 함께 활용하여, 보다 정확한 시각적 측위를 수행할 수 있는 시각적 측위방법, 이를 이용하는 제어서버 및 건물을 제공하고자 한다.
본 발명은 시각적 측위를 수행하는 복수의 측위 모듈을 통합함으로써, 공간특성에 강인한 특성을 가지는 시각적 측위방법, 이를 이용하는 제어서버 및 건물을 제공하고자 한다.
본 발명은 건물 내를 주행하며 서비스를 제공하는 로봇들을 포함하는 건물을 제공하고자 한다.
본 발명의 일 실시예에 의한 시각적 측위방법은, 로봇에 구비된 카메라로부터 취득한 주변 영상을 기반으로, 대상영역 내 상기 로봇의 위치를 판별하는 제어서버의 시각적 측위(visual localization) 방법에 관한 것으로, 상기 로봇으로부터, 상기 로봇이 위치하는 공간에 대한 주변 영상을 입력받는 단계; 상기 공간에 설정된 공간특성을 기초로, 측위모듈을 적용하는 단계; 및 상기 측위모듈을 이용하여 상기 주변 영상으로부터 상기 로봇에 대한 측위정보를 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 의한 제어서버는, 로봇에 구비된 카메라로부터 취득한 주변 영상을 기반으로, 대상영역 내 상기 로봇의 위치를 판별하는 시각적 측위(visual localization)를 수행하는 것으로, 상기 로봇으로부터, 상기 로봇이 위치하는 공간에 대한 주변 영상을 입력받는 영상수신부; 상기 공간에 설정된 공간특성을 기초로, 측위모듈을 적용하는 측위모듈 결정부; 및 상기 측위모듈을 이용하여 상기 주변 영상으로부터 상기 로봇에 대한 측위정보를 생성하는 측위부를 포함할 수 있다.
본 발명의 일 실시예에 의한 건물은, 상기 건물 내를 주행하며 서비스를 제공하는 적어도 하나의 로봇이 배치되고, 상기 로봇은 제어서버와의 통신을 통하여 제어되며, 상기 제어서버는 상기 로봇에 구비된 카메라로부터 취득한 주변 영상을 기반으로, 상기 건물 내 상기 로봇의 위치를 판별하는 시각적 측위(visual localization)를 수행하는 것으로, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 로봇으로부터, 상기 로봇이 위치하는 공간에 대한 주변 영상을 입력받고, 상기 공간에 설정된 공간특성을 기초로, 측위모듈을 적용하며, 상기 측위모듈을 이용하여 상기 주변 영상으로부터 상기 로봇에 대한 측위정보를 생성할 수 있다.
덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 의한 시각적 측위방법, 이를 이용하는 제어서버 및 건물에 의하면, 일반적인 시각적 측위 방법 이외에, 각각의 공간들의 공간특성에 따라 특화된 복수의 시각적 측위 방법을 함께 활용하므로, 보다 정확한 시각적 측위를 수행하는 것이 가능하다.
본 발명의 일 실시예에 의한 시각적 측위방법, 이를 이용하는 제어서버 및 건물은, 공간특성에 따라 특화된 복수의 측위 모듈을 통합하여 로봇에 대한 시각적 측위를 수행할 수 있으므로, 다양한 공간특성에 대해 강인한 시각적 측위를 제공할 수 있다.
다만, 본 발명의 실시예들에 따른 시각적 측위방법, 이를 이용하는 제어서버 및 건물이 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도1은 본 발명의 일 실시예에 의한 로봇의 동작을 제어하는 제어시스템을 나타내는 개략도이다.
도2는 본 발명의 일 실시예에 의한 제어서버를 나타내는 블록도이다.
도3는 본 발명의 일 실시예에 의한 메인 측위모듈을 이용한 시각적 측위를 나타내는 예시도이다.
도4는 본 발명의 일 실시예에 의한 마커 측위모듈을 이용한 시각적 측위를 나타내는 예시도이다.
도5는 본 발명의 일 실시예에 의한 사이니지 측위모듈을 이용한 시각적 측위를 나타내는 예시도이다.
도6은 본 발명의 일 실시예에 의한 엘리베이터 측위모듈을 이용한 시각적 측위를 나타내는 예시도이다.
도7은 본 발명의 일 실시예에 의한 제어서버를 나타내는 개략도이다.
도8은 본 발명의 일 실시예에 의한 시각적 측위를 이용하는 제어시스템이 구축된 건물을 나타내는 개략도이다.
도9는 본 발명의 일 실시예에 의한 시각적 측위방법을 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 즉, 본 발명에서 사용되는 '부'라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.
또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도1은 본 발명의 일 실시예에 의한 로봇의 동작을 제어하는 제어시스템을 나타내는 개략도이다.
도1을 참조하면, 본 발명의 일 실시예에 의한 제어시스템은 로봇(1) 및 제어서버(100)를 포함할 수 있다.
이하 도1을 참조하여 본 발명의 일 실시예에 의한 제어시스템을 설명한다.
로봇(1)은 대상영역(A) 내에서 이동하면서 다양한 서비스 등을 수행할 수 있다. 여기서 대상영역(A)은 건물 등 실내 공간일 수 있으며, 로봇(1)은 자율주행방식으로 대상영역(A) 내에서 이동할 수 있으나, 로봇(1)의 위치에 대한 측위나 이동에 대한 제어 등은 제어서버(100)에 의하여 수행될 수 있다. 즉, 로봇(1)은 제어서버(100)와의 통신을 통하여 이동 등 동작을 수행할 수 있다.
로봇(1)은 카메라를 포함할 수 있으며, 카메라를 이용하여 로봇(1)의 이동에 대응하는 주변 영상을 촬영할 수 있다. 로봇(1)은 주변 영상을 제어서버(100)에게 전송할 수 있으며, 제어서버(100)는 수신한 주변 영상을 기반으로 로봇(1)에 대한 시각적 측위(visual localization)를 수행할 수 있다.
실시예에 따라서는 로봇(1)은 카메라 이외에 IMU(Inertial Measurment Unit) 센서, 휠 인코더 센서, 라이다 센서 등 다양한 센서들을 더 포함할 수 있으며, 제어서버(100)는 시각적 측위 이외에 다른 방식으로 로봇(1)에 대한 추가적인 측위(localization)을 수행하는 것도 가능하다.
제어서버(100)는 네트워크(N)를 통하여 대상영역(A) 내 위치하는 로봇(1)들과 통신을 수행할 수 있으며, 로봇(1)의 이동 등을 포함하여 다양한 동작들을 제어할 수 있다. 여기서, 제어서버(100)와 로봇(1) 사이의 통신 방식은 제한되지 않으며, 네트워크(N)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 등도 포함될 수 있다. 예를 들어, 네트워크(N)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(N)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
제어서버(100)는 로봇(1)과 네트워크(N)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 실시예에 따라서는, 제어서버(100)를 클라우드 서버 형태로 구현하는 것도 가능하다.
로봇(1)이 대상영역(A) 내를 이동하기 위해서는, 로봇(1)의 현재 위치 및 포즈(pose)를 포함하는 측위정보를 생성하기 위한 측위를 수행할 필요가 있다. 여기서, 대상영역(A)에 대한 구체적인 지도정보 등은 미리 저장되어 있을 수 있으며, 제어서버(100)는 지도정보에 로봇(1)의 현재 위치와 포즈를 정합하여, 로봇(1)의 현재 위치와 포즈를 지도정보 내에 매핑할 수 있다. 실시예에 따라서는, 위치 및 포즈를 각각 3차원 좌표값과 3축 회전값(pitch, roll, yaw)으로 표현할 수 있다.
제어서버(100)는 로봇(1)으로부터 주변 영상을 수신할 수 있으며, 수신한 주변 영상을 기반으로 로봇(1)에 대한 시각적 측위를 수행할 수 있다. 즉, 제어서버(100)는 로봇(1)에 대한 시각적 측위의 결과로, 로봇(1)의 지도정보 내 정확한 위치와 포즈를 확인할 수 있으며, 이를 바탕으로 로봇(1)의 진행방향, 회전방향, 진행속도 등을 결정하여, 로봇(1)의 이동을 제어할 수 있다.
구체적으로, 제어서버(100)는 수신한 주변 영상을 쿼리 영상으로 하여, 지도정보 내에서 쿼리 영상에 대응하는 참조 이미지를 검색할 수 있다. 여기서, 참조 이미지에 대응하는 측정장비의 위치와 포즈는 설정되어 있을 수 있으므로, 참조 이미지와 주변 영상을 비교하면 현재 로봇(1)의 위치와 포즈를 구하는 것이 가능하다. 즉, 국소 특징정합을 통하여 쿼리영상에 대응하는 로봇(1)의 위치와 포즈를 구할 수 있다.
다만, 로봇(1)이 주행 중인 공간이 반복적이거나 공간 내 특징이 부족한 경우에는 주변 영상을 이용하는 시각적 측위의 성능이 저하되는 등의 문제가 발생할 수 있다. 한편, 본 발명의 일 실시예에 의한 제어서버(100)는 일반적인 시각적 측위 방법 이외에, 각각의 공간들의 공간특성에 따라 특화된 복수의 시각적 측위 방법을 함께 활용하므로, 보다 정확한 시각적 측위를 수행하는 것이 가능하다. 이하, 본 발명의 일 실시예에 의한 제어서버를 설명한다.
도2는 본 발명의 일 실시예에 의한 제어서버(100)를 나타내는 블록도이다.
도2를 참조하면 본 발명의 일 실시예에 의한 제어서버(100)는 영상수신부(110), 측위모듈 결정부(120), 측위부(130) 및 지도데이터베이스(140)를 포함할 수 있다.
영상수신부(110)는 로봇(1)으로부터, 로봇(1)이 위치하는 공간에 대한 주변 영상을 입력받을 수 있다. 로봇(1)은 자체에 설치된 카메라를 이용하여 이동 중에 주변을 촬영한 주변영상을 생성할 수 있으며, 촬영한 주변 영상을 네트워크를 통해 영상수신부(110)로 전송할 수 있다. 실시예에 따라서는, 로봇(1)에 근접한 사물이나 사람 등에 의하여 주변 영상이 가려지는 것을 최소화하고, 영상 내 스케일(scale) 변화를 줄이기 위하여, 카메라를 연직상방을 향하도록 설치할 수 있다. 즉, 주변 영상은 로봇(1)의 상방을 촬영하여 대상영역(A)의 천장을 촬영한 영상일 수 있다.
측위모듈 결정부(120)는 공간에 설정된 공간특성을 기초로, 측위모듈을 적용할 수 있다. 즉, 제어서버(100) 내에는 복수의 측위모듈들이 포함되어 있을 수 있으며, 측위모듈 결정부(120)는 복수의 측위모듈 중에서 현재 로봇(1)이 위치하는 공간의 공간특성에 가장 적합한 측위모듈을 적용할 수 있다.
구체적으로, 대상영역(A)은 복수의 공간들로 구분될 수 있으며, 지도데이터베이스(140) 내에 저장된 대상영역(A)에 대한 지도정보 내에는 각각의 공간별 공간특성들이 설정되어 있을 수 있다. 예를들어, 대상영역(A)이 건물인 경우, 건물 내에는 로봇(1)들에 대한 충전을 지원하기 위한 별도의 충전 스테이션 등의 공간이 마련되어 있을 수 있으며, 충전 스테이션 내에서는 로봇(1)들의 충전을 위한 정확한 위치제어가 필요하므로 이를 보조하기 위한 마커(marker) 등이 포함될 수 있다. 또한, 건물 내 업무공간 등에는 작업자 등이 공간 내 위치를 인식할 수 있도록 표지판 등의 사이니지가 일정한 규칙에 따라 정해진 설정규격으로 설치될 수 있으며, 건물 내 엘리베이터의 경우 엘리베이터 공간 내 특정한 공간상의 특징들이 포함될 수 있다.
즉, 지도정보 내에는 각각의 공간들에 대한 공간특성들이 설정되어 있으므로, 각각의 공간특성을 기초로 가장 적합한 측위모듈들을 미리 설정할 수 있다. 따라서, 측위모듈 결정부(120)는 각각의 공간에 대하여, 공간특성을 기초로 미리 설정된 각각의 측위모듈들을 적용할 수 있다. 이 경우, 각 공간들의 공간특성에 따라 가장 적절한 측위모듈을 선택될 수 있으므로, 보다 정확하고 빠르게 해당 공간 내에서의 시각적 측위를 수행하는 것이 가능하다.
여기서, 측위모듈 결정부(120)는 먼저 각각의 로봇(1)들이 현재 어느 공간에 위치하는 지를 판별할 필요가 있다. 이를 위하여 측위모듈 결정부(120)는 대상영역(A)에 대응하는 지도정보와, 로봇(1)의 직전 측위정보를 활용할 수 있다. 지도정보는 로봇(1)이 대상영역(A) 내를 주행할 수 있도록 미리 정밀하게 생성되어 저장될 수 있으며, 지도정보 내에는 대상영역(A) 내에 포함되는 각각의 공간들과, 공간들에 설정되는 공간특성 등이 미리 저장되어 있을 수 있다. 따라서, 측위모듈 결정부(120)는 로봇(1)의 직전 측위정보를 기반으로 현재 로봇(1)이 위치하는 지도정보 상에 어느 공간인지를 판별할 수 있으며, 해당 공간에 설정된 공간특성을 추출할 수 있다. 실시예에 따라서는, 측위모듈 결정부(120)는 로봇(1)에 포함된 별도의 IMU 센서나 휠 인코더 센서 등을 활용하여 로봇(1)의 오도메트리(odometry)를 구할 수 있으며, 직전 측위정보에 해당 오도메트리를 적용하여, 현재 로봇(1)이 위치하는 공간을 특정하는 것도 가능하다.
추가적으로, 측위모듈 결정부(120)가 주변 영상으로부터 각각의 공간 등을 구별하는 실시예도 가능하다. 예를들어, 주변 영상 내에 마커나 사이니지가 포함되는 경우, 측위모듈 결정부(120)는 각각의 공간특성을 마커 공간, 사이니지 공간 등으로 판별하여 각각 대응하는 측위 모듈을 적용하도록 할 수 있다.
여기서, 측위모듈은 메인 측위모듈(V1), 마커 측위모듈(V2), 사이니지 측위모듈(V3), 엘리베이터 측위모듈(V4) 등을 포함할 수 있다. 다만, 이에 한정되는 것은 아니며 실시예에 따라서는 다양한 측위모듈 등을 더 포함하는 것도 가능하다.
메인 측위모듈(V1)은 주변 영상으로부터 특징점을 추출하고, 특징점을 지도정보 내 특징점들과 비교하여, 로봇(1)의 측위정보를 생성할 수 있다. 여기서, 제어서버(100)에 포함된 지도데이터베이스에는 해당 대상영역(A)에 대응하는 특징점 지도가 포함되어 있을 수 있다. 따라서, 메인 측위모듈(V1)은 주변 영상을 쿼리 이미지로 설정한 후, 딥러닝(deep learning) 모델 등을 통하여 쿼리 이미지에서 글로벌한 특징점을 추출할 수 있다. 이후, 도3에 도시한 바와 같이, 추출한 특징점을 이용하여, 쿼리 이미지(i1)에 대응하는 참조 이미지(i2)를 특징점 지도에서 검색할 수 있다. 여기서, 각각의 참조 이미지에는 특징점 지도를 생성할 때 활용한 측정장비의 위치 및 포즈 등에 대한 정보가 태깅되어 있을 수 있다. 따라서, 메인 측위모듈(V1)은 참조이미지와 쿼리 이미지를 비교하여, 현재 로봇(1)의 위치 및 포즈를 특정하여 측위정보를 생성할 수 있다.
한편, 메인 측위모듈(V1)은 특징점 지도가 생성된 대상영역(A)의 전체 공간에 적용가능하므로, 측위모듈 결정부(120)는 일반적인 공간에서는 메인 측위모듈(V1)을 적용하여 측위를 수행하고, 이후 특정한 공간에 진입하는 경우에 각각의 공간특성에 대응하는 측위모듈들을 적용할 수 있다. 이때, 측위모듈 결정부(120)는 메인 측위모듈에서 다른 측위모듈로 전환할 수 있으나, 실시예에 따라서는 메인 측위모듈(V1)과 함께 다른 측위모듈들이 동작하도록 하는 것도 가능하다. 즉, 측위모듈 결정부(120)는 하나의 측위모듈만을 선택하는 것이 아니라, 복수의 측위모듈을 선택하여 로봇(1)의 위치에 대한 시각적 측위를 수행하도록 할 수 있다.
마커 측위모듈(V2)은, 주변 영상으로부터 마커(marker)를 추출하고, 마커로부터 인식한 좌표정보를 기반으로 로봇(1)의 측위정보를 생성할 수 있다.
마커는 포스터나 벽지, 스티커 등 공간 상에 부착가능한 인쇄물 형태로 제작될 수 있으며, 실시예에 따라서는 도4(a)에 도시한 바와 같이 에이프릴 태그(April tag) 등의 형태로 마커(M)를 생성할 수 있다. 여기서, 각각의 마커(M)에는 상이한 식별코드가 포함될 수 있으며, 식별코드를 이용하여 각각의 마커(M)를 구별할 수 있다. 마커 측위모듈(V2)은 마커(M)의 식별코드를 이용하여, 도4(b)에 도시한 바와 같이, 각각의 마커(M1, M2)에 미리 설정된 3차원의 좌표 정보 등을 추출할 수 있다. 지도데이터베이스(140) 내에는 대상영역(A) 내 각각의 마커가 부착된 마커 공간에 대한 정보와, 각각의 마커의 식별 태그와 해당 마커가 부착된 3차원 좌표를 매칭하여 저장한 마커 지도 등이 포함되어 있을 수 있다. 따라서, 마커 측위모듈(V2)은 로봇(1)에서 촬영된 주변 영상을 쿼리 이미지로 하여, 쿼리 이미지 내에서 마커(M)를 검출할 수 있으며, 마커(M) 내에 포함된 식별 태그에 매칭된 좌표정보를 기반으로, 쿼리 이미지에 대한 위치 및 포즈를 포함하는 측위정보를 구할 수 있다. 즉, 마커 측위모듈(V2)은 쿼리 이미지 내 포함된 마커(M)의 위치와 각도 등으로부터, 로봇(1)의 위치와 포즈에 대한 측위정보를 생성할 수 있다.
한편, 마커 측위모듈(V2)은 마커 공간에 한하여 측위를 수행할 수 있으므로, 측위모듈 결정부(120)는 로봇(1)이 위치하는 공간의 공간특성이 마커 공간이면 측위모듈로 마커 측위모듈(V2)을 적용할 수 있다. 즉, 마커 공간은 로봇(1)의 위치에 대한 정밀한 제어가 필요하거나, 기존의 메인 측위모듈(V1)만으로는 정확한 측위가 어려운 공간 등일 수 있으며, 측위모듈 결정부(120)는 지도정보 내에 마커 공간으로 설정된 공간에 해당하면 마커 측위모듈(V2)를 적용할 수 있다.
사이니지 측위모듈(V3)은, 주변 영상으로부터 사이니지(signage)를 추출하고, 사이니지의 좌표정보를 구한 후 사이니지의 좌표정보를 기반으로 로봇(1)의 측위정보를 생성할 수 있다.
사이니지는 공간 내 미리 지정된 위치에 설정규격으로 설치되는 것일 수 있으며, 대상영역(A) 내 작업자나 로봇 등이 내부 공간의 위치를 인식할 수 있도록 설치되는 표지판 등일 수 있다. 실시예에 따라서는 도5(a)에 도시한 바와 같이 사이니지(S1, S2)가 공간 내에 부착되어 있을 수 있다. 여기서, 사이니지는 미리 설정된 위치 상에 일정한 설정규격에 따라 설치되므로, 사이니지 측위모듈(V3)은 주변 영상 내에 포함된 사이니지를 추출할 수 있으며, 사이니지의 설정규격으로부터 사이니지의 좌표정보를 구할 수 있다. 실시예에 따라서는, 사이니지 측위모듈(V3)이 사이니지에 대한 OCR(Optical Character Reader) 등을 통하여 문자를 인식한 후, 인식한 문자를 통하여 해당 사이니지를 구별하고 해당 사이니지의 3차원 좌표 정보 등을 추출하는 것도 가능하다. 지도데이터베이스(140) 내에는 대상영역(A) 내 각각의 사이니지가 부착된 사이니지 공간에 대한 정보와, 각각의 사이니지가 부착된 3차원 좌표를 매핑하여 저장한 사이니지 지도 등이 포함되어 있을 수 있다. 따라서, 사이니지 측위모듈(V3)은 로봇(1)에서 촬영된 주변 영상을 쿼리 이미지로 하여, 쿼리 이미지 내에서 사이니지(S)를 검출할 수 있으며, 사이니지(S)로부터 구한 좌표정보를 기반으로, 쿼리 이미지에 대한 위치 및 포즈를 포함하는 측위정보를 구할 수 있다.
한편, 사이니지 측위모듈(V3)은 사이니지 공간에 한하여 측위를 수행할 수 있으므로, 측위모듈 결정부(120)는 로봇(1)이 위치하는 공간의 공간특성이 사이니지 공간이면, 측위모듈로 사이니지 측위모듈(V3)을 적용할 수 있다.
엘리베이터 측위모듈(V4)은 주변 영상으로부터 엘리베이터의 특정특징점을 추출하고, 특정특징점을 기반으로 로봇(1)의 측위정보를 생성할 수 있다. 엘리베이터 내부는 일반적으로 사각형의 천장 형상을 가지고 있으므로, 사각형의 천장 형상을 엘리베이터의 특징으로 추출할 수 있으며, 주변 영상 내에 나타난 엘리베이터의 천장 형상을 기반으로 엘리베이터 내 로봇(1)의 위치 및 포즈에 대한 측위정보를 생성할 수 있다. 실시예에 따라서는, 해당 엘리베이터는 로봇(1)만이 탑승하는 전용 엘리베이터일 수 있다.
구체적으로, 도6(a)에 나타난 바와 같이, 엘리베이터의 천장은 사각형(R)으로 나타날 수 있으며, 도6(b)에 나타난 바와 같이, 주변 영상 내 나타난 사각형의 천장형상으로부터 해당 엘리베이터의 특정특징점(F1, F2, F3)들을 추출할 수 있다. 예를들어, 사각형 형상을 형성하는 각 변들의 기울기(F1, F2), 주변 영상의 중심점이 사각형 형상 내 위치하는 좌표정보(F3) 등을 기반으로, 엘리베이터 내 로봇(1)의 위치 및 포즈에 대한 측위정보를 생성할 수 있다. 또한, 지도데이터베이스(140) 내에는 대상영역(A) 내 엘리베이터가 설치된 엘리베이터 공간에 대한 정보와, 각각의 엘리베이터에서 추출하는 특정특징점의 종류 등을 포함하는 엘리베이터 지도가 포함되어 있을 수 있다. 따라서, 엘리베이터 측위모듈(V4)은 로봇(1)에서 촬영된 주변 영상을 쿼리 이미지로 하여, 쿼리 이미지 내에서 엘리베이터의 특정특징점을 추출할 수 있으며, 특정특징점을 기반으로, 쿼리 이미지에 대한 위치 및 포즈를 포함하는 측위정보를 구할 수 있다.
한편, 엘리베이터 측위모듈(V4)은 엘리베이터 공간에 한하여 측위를 수행할 수 있으므로, 측위모듈 결정부(120)는 로봇(1)이 위치하는 공간의 공간특성이 엘리베이터 공간이면, 측위모듈로 엘리베이터 측위모듈(V3)을 적용할 수 있다.
추가적으로, 여기서는 측위모듈 결정부(120)가 각각의 공간들의 공간특성을 기반으로 측위모듈을 결정하는 것으로 가정하였으나, 실시예에 따라서는 하나의 측위모듈을 이용한 측위 실패시 다른 측위모듈을 이용하도록 구현하는 것도 가능하다. 예를들어, 측위모듈 결정부(120)는 메인측위모듈(V1)을 기본으로 설정하여 측위를 수행하도록 할 수 있으며, 이후 메인측위모듈(V1)에 의한 측위의 정확도가 떨어지는 등 측위에 실패하면 마커 측위모듈(V2)이나 사이니지 측위모듈(V3)을 적용하도록 측위모듈을 변경할 수 있다.
구체적으로, 메인 측위모듈(V1)은 쿼리 이미지에 대응하는 참조 이미지를 매칭시킨 후, RANSAC(Random Sample Consensus) 알고리즘 기반의 PNP(Perspective-N-Point)를 적용할 수 있다. 즉, PNP를 이용하여 쿼리 이미지와 참조 이미지 내에 매칭된 특징점들을 비교함으로써, 로봇(1)의 회전각도 등의 포즈를 구할 수 있다. 다만, 쿼리 이미지와 참조 이미지에서 매칭되는 특징점들 중에서 정상치(inlier)로 분류되는 특징점의 개수가 설정개수 이하인 경우가 발생할 수 있으며, 이 경우 메인 측위모듈(V1)를 이용한 공간 측위는 실패한 것으로 판별할 수 있다. 즉, 쿼리 이미지와 참조 이미지를 비교할 수 있을 정도로 매칭이 충분히 이루어지지 않은 경우에 해당하므로, 메인 측위모듈(V1)에 의한 측위의 부정확하게 나타나게 된다. 따라서, 측위모듈 결정부(120)는 메인 측위모듈(V1)을 대신하여, 마커 측위모듈(V2)이나 사이니지 측위모듈(V3)을 적용할 수 있으며, 실시예에 따라서는, 마커 측위모듈(V2)과 사이니지 측위모듈(V3)을 동시에 적용하도록 할 수 있다.
대상영역(A) 내 포함되는 공간들 중에는 특성상 메인 측위모듈(V1)에 의한 공간 측위가 어려운 공간이 존재할 수 있으며, 이러한 공간 내에는 미리 마커나 사이니지 등을 부착해둘 수 있다. 따라서, 측위모듈 결정부(120)는 메인 측위모듈(V1)에 의한 측위에 실패하는 경우, 메신 측위모듈(V1)을 대신하여 마커 측위모듈(V1)이나 사이니지 측위모듈(V2)을 이용한 측위를 시도하도록 구현할 수 있다.
측위부(130)는 측위모듈을 이용하여 주변 영상으로부터 로봇에 대한 측위정보를 생성할 수 있다. 즉, 메인 측위모듈(V1), 마커 측위모듈(V2), 사이니지 측위모듈(V3), 엘리베이터 측위모듈(V4) 등에 따라, 각각 측위를 수행하여 측위정보를 생성할 수 있다. 다만, 각각의 측위모듈에서 수행하는 구체적인 측위방법은 앞서 설명하였으므로, 여기서는 구체적인 내용을 생략한다.
한편, 측위모듈 결정부(120)는 복수의 측위모듈을 동시에 적용할 수 있으며, 이 경우 측위부(130)는 복수의 측위모듈을 이용하여 측위를 수행할 수 있다. 구체적으로, 측위부(130)는 각각의 측위모듈에서 측정한 측위정보를 취합하여 최종 측위정보를 생성할 수 있으며, 이때 각각의 측위모듈들에 대한 가중치를 설정하고, 각각의 가중치가 적용된 측위정보들을 결합하여 최종 측위정보를 생성하도록 할 수 있다. 예를들어, 메인 측위모듈(V1)과 마커 측위모듈(V2)이 동시에 선택된 경우, 메인 측위모듈(V1)의 가중치를 1로 두고 마커 측위모듈(V2)의 가중치를 9로 설정하여, 최종 측위정보를 생성하도록 할 수 있다. 이외에도, 센서 퓨전(sensor fusion) 분야에서 널리 사용하는 포즈 그래프 최적화(pose graph optimization)기법이나 칼만 필터(kalman filter) 등을 활용하여, 각각의 측위모듈에서 측정한 측위정보를 결합할 수 있다. 실시예에 따라서는 포즈 그래프 최적화 기법 중에서 Dynamic Covariance Scaling 기법을 활용할 수 있으며, 이를 통하여 일부 부정확한 포즈가 입력되더라도, 최적화 과정에서 covariance를 조절하여 강인하게 포즈 추정을 수행하도록 할 수 있다.
도7은 본 발명의 일 실시예에 의한 제어서버(100)를 나타내는 블록도이다.
도7을 참조하면, 제어서버(100)는 메모리(10), 프로세서(20), 통신 인터페이스(30), 입출력 인터페이스(40) 등을 포함할 수 있다. 메모리(10)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(10)와는 구분되는 별도의 영구 저장 장치로서 제어서버(100)에 포함될 수도 있다. 또한, 메모리(10)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(10)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(10)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(30)를 통해 메모리(10)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(N)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 제어서버(100)의 메모리(10)에 로딩될 수 있다.
프로세서(20)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(10) 또는 통신 인터페이스(30)에 의해 프로세서(20)로 제공될 수 있다. 예를 들어 프로세서(20)는 메모리(10)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(30)은 네트워크(N)를 통해 제어서버(100)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 제어서버(100)의 프로세서(20)가 메모리(10)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(30)의 제어에 따라 네트워크(N)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(N)를 거쳐 제어서버(100)의 통신 인터페이스(30)를 통해 수신될 수 있다. 통신 인터페이스(30)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(20)나 메모리(10)로 전달될 수 있고, 파일 등은 제어서버(100)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(40)는 입출력 장치(50)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(40)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(50)는 제어서버(100)와 하나의 장치로 구성될 수도 있다.
도8은 본 발명의 일 실시예에 의한 시각적 측위를 이용하는 제어시스템이 구축된 건물(B)을 나타내는 개략도이다. 도8에 도시한 바와 같이, 건물(B)을 대상영역으로 설정할 수 있으며, 대상영역 내에서 서비스를 제공하는 복수의 로봇(1)들이 건물(B) 내 포함될 수 있다. 또한, 건물(B)은 로봇이 주행하는 실내 영역을 포함하고, 실내 영역은 공간특성에 따라 복수의 공간으로 구별되는 것일 수 있다. 여기서, 건물(B)은 복수의 공간 중에서 마커가 부착된 마커공간, 사이니지를 포함하는 사이니지 공간, 엘리베이터를 포함하는 엘리베이터 공간 등을 포함할 수 있다. 로봇(1)은 네트워크(N)를 통하여 제어서버(100)와의 통신을 수행할 수 있으며, 제어서버(100)의 제어에 의하여 이동 등의 동작을 수행할 수 있다. 제어서버(100)는 건물(B) 내에 구축되지 않을 수 있으며, 건물(B)과는 별도의 클라우드 서버 등으로 구현될 수 있다.
제어서버(100)는 로봇(1)에 구비된 카메라로부터 취득한 주변 영상을 기반으로, 건물(B) 내 각각의 로봇(1)의 위치를 판별하는 시각적 측위를 수행할 수 있다. 제어서버(100)의 구체적인 동작에 대하여는 앞서 설명하였으므로, 여기서는 구체적인 설명을 생략한다.
도9는 본 발명의 일 실시예에 의한 시각적 측위방법을 나타내는 순서도이다. 여기서, 도9의 각 단계들은 본 발명의 일 실시예에 의한 제어서버에 의하여 수행될 수 있다.
제어서버는 로봇으로부터, 로봇이 위치하는 공간에 대한 주변 영상을 입력받을 수 있다(S10). 로봇은 자체에 설치된 카메라를 이용하여 이동 중에 주변을 촬영한 주변영상을 생성할 수 있으며, 촬영한 주변 영상을 네트워크를 통해 제어서버로 전송할 수 있다. 실시예에 따라서는, 로봇에 근접한 사물이나 사람 등에 의하여 주변 영상이 가려지는 것을 최소화하기 위하여, 카메라를 연직상방을 향하도록 설치할 수 있다. 즉, 주변 영상은 로봇의 상방을 촬영하여 대상영역의 천장을 촬영한 영상일 수 있다.
제어서버는 공간에 설정된 공간특성에 따라, 측위모듈을 선택할 수 있다(S20). 즉, 제어서버 내에는 복수의 측위모듈들이 포함되어 있을 수 있으며, 제어서버는 복수의 측위모듈 중에서 현재 로봇이 위치하는 공간의 공간특성에 가장 적합한 측위모듈을 선택할 수 있다.
구체적으로, 대상영역은 복수의 공간들로 구분될 수 있으며, 지도데이터베이스 내에 저장된 지도정보 내에는 대상영역 내 포함된 각각의 공간들에 대한 공간특성이 미리 설정되어 있을 수 있다. 따라서, 제어서버는 로봇이 위치하는 각각의 공간들을 구별한 후, 각 공간들의 공간특성에 따라 가장 적절한 측위모듈을 선택함으로써, 보다 정확하고 빠르게 해당 공간 내에서의 시각적 측위를 수행하도록 할 수 있다.
여기서, 제어서버는 먼저 각각의 로봇들이 현재 어느 공간에 위치하는 지를 판별할 필요가 있으며, 이를 위하여 제어서버는 대상영역에 대응하는 지도정보와 로봇의 직전 측위정보를 활용할 수 있다. 즉, 제어서버는 로봇의 직전 측위정보를 기반으로 현재 로봇이 위치하는 지도정보 상에 어느 공간인지를 판별할 수 있으며, 이를 이용하여 해당 공간에 설정된 공간특성을 추출할 수 있다. 또한, 실시예에 따라서는, 로봇에 포함된 별도의 IMU 센서나 휠 인코더 센서 등으로부터 수신한 센서값을 이용하여 로봇의 오도메트리(odometry)를 구할 수 있으므로, 제어서버가 직전 측위정보에 해당 오도메트리를 적용하여, 현재 로봇이 위치하는 공간을 정확하게 특정하는 것도 가능하다.
여기서, 측위모듈은 메인 측위모듈, 마커 측위모듈, 사이니지 측위모듈, 엘리베이터 측위모듈 등을 포함할 수 있다. 마커 측위모듈은 주변 영상으로부터 마커를 추출하고, 마커로부터 인식한 좌표정보를 기반으로 로봇의 측위정보를 생성할 수 있다. 사이니지 측위모듈은 주변 영상으로부터 사이니지를 추출하고, 사이니지의 좌표정보를 구한 후, 사이니지의 좌표정보를 기반으로 로봇의 측위정보를 생성할 수 있다. 엘리베이터 측위모듈은 주변 영상으로부터 엘리베이터의 특정특징점을 추출하고, 특정특징점을 기반으로 로봇의 측위정보를 생성할 수 있다. 메인 측위모듈은 주변 영상으로부터 특징점을 추출하고, 특징점을 지도정보 내 특징점들과 비교하여, 로봇의 측위정보를 생성할 수 있다.
실시예에 따라서는, 제어서버가 메인 측위모듈을 1차적으로 측위모듈로 선택한 후, 공간특성에 따라 마커 측위모듈, 사이니지 측위모듈, 엘리베이터 측위모듈 등으로 전환하도록 할 수 있다. 즉, 메인 측위모듈은 전체 대상영역에 대한 시각적 측위를 수행할 수 있으므로, 메인 측위모듈을 기본 모듈로 활용하다가 공간특성에 따라 특화된 측위모듈이 존재하는 경우에는 해당 측위모듈로 전환하도록 할 수 있다. 또한, 다른 실시예에서는 메인 측위모듈과 함께, 각각의 공간특성에 따라 추가된 측위모듈을 동시에 동작하도록 하는 것도 가능하다.
제어서버는 선택된 측위모듈을 이용하여 주변 영상으로부터 로봇에 대한 측위정보를 생성할 수 있다(S30). 즉, 메인 측위모듈, 마커 측위모듈, 사이니지 측위모듈, 엘리베이터 측위모듈 등에 따라, 각각 측위를 수행하여 측위정보를 생성할 수 있다. 다만, 각각의 측위모듈에서 수행하는 구체적인 측위방법은 앞서 설명하였으므로, 여기서는 구체적인 내용을 생략한다.
한편, 제어서버는 복수의 측위모듈을 동시에 선택할 수 있으며, 선택된 복수의 측위모듈을 동시에 이용하여 측위를 수행할 수 있다. 구체적으로, 제어서버는 각각의 측위모듈에서 측정한 측위정보를 취합하여 최종 측위정보를 생성할 수 있으며, 이때 각각의 측위모듈들에 대한 가중치를 설정하고, 각각의 가중치가 적용된 측위정보들을 결합하여 최종 측위정보를 생성하도록 할 수 있다. 또한, 실시예에 따라서는, 센서 퓨전(sensor fusion) 분야에서 널리 사용하는 포즈 그래프 최적화(pose graph optimization)기법이나 칼만 필터(kalman filter) 등을 활용하여, 각각의 측위모듈에서 측정한 측위정보를 결합하는 것도 가능하다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.
1: 로봇 10: 메모리
20: 프로세서 30: 통신인터페이스
40: 입출력인터페이스 50: 입출력장치
100: 제어서버 110: 영상수신부
120: 측위모듈 결정부 130: 측위부
140: 지도데이터베이스

Claims (11)

  1. 로봇에 구비된 카메라로부터 취득한 주변 영상을 기반으로, 대상영역 내 상기 로봇의 위치를 판별하는 제어서버의 시각적 측위(visual localization) 방법에 있어서,
    상기 로봇으로부터, 상기 로봇이 위치하는 공간에 대한 주변 영상을 입력받는 단계;
    상기 공간에 설정된 공간특성을 기초로, 복수의 측위모듈 중 적어도 어느 하나의 측위모듈을 적용하는 단계; 및
    상기 측위모듈을 이용하여 상기 주변 영상으로부터 상기 로봇에 대한 측위정보를 생성하는 단계를 포함하는 것으로,
    상기 측위모듈을 적용하는 단계는
    상기 대상영역에 대응하는 지도정보를 이용하여 상기 로봇이 위치하는 공간에 설정된 공간특성을 판별하고, 상기 공간특성에 따라 상기 측위모듈을 적용하는 것인, 제어서버의 시각적 측위방법.
  2. 제1항에 있어서, 상기 측위모듈을 적용하는 단계는
    상기 대상영역에 대응하는 지도정보와, 상기 로봇의 측위정보 또는 상기 로봇의 오도메트리(odometry)를 기반으로 상기 로봇이 위치하는 공간을 구별하고, 상기 공간에 설정된 공간특성을 판별하는 것을 특징으로 하는 제어서버의 시각적 측위방법.
  3. 제1항에 있어서, 상기 복수의 측위모듈은
    상기 주변 영상으로부터 마커(marker)를 추출하고, 상기 마커로부터 인식한 좌표정보를 기반으로 상기 로봇의 측위정보를 생성하는 마커 측위모듈;
    상기 주변 영상으로부터 사이니지(signage)를 추출하고, 상기 사이니지의 좌표정보를 구한 후 상기 사이니지의 좌표정보를 기반으로 상기 로봇의 측위정보를 생성하는 사이니지 측위모듈;
    상기 주변 영상으로부터 엘리베이터의 특정특징점을 추출하고, 상기 특정특징점을 기반으로 상기 로봇의 측위정보를 생성하는 엘리베이터 측위모듈; 및
    상기 주변 영상으로부터 특징점을 추출하고, 상기 특징점을 상기 지도정보 내 특징점들과 비교하여, 상기 로봇의 측위정보를 생성하는 메인 측위모듈 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 제어서버의 시각적 측위방법.
  4. 제3항에 있어서, 상기 측위모듈을 적용하는 단계는
    상기 메인 측위모듈을 상기 측위모듈로 적용한 후, 상기 공간특성에 따라 상기 마커 측위모듈, 사이니지 측위모듈 및 엘리베이터 측위모듈 중 어느 하나로 전환하거나, 상기 측위모듈과 동시에 동작하도록 추가 적용하는 것을 특징으로 하는 제어서버의 시각적 측위방법.
  5. 제3항에 있어서, 상기 측위모듈을 적용하는 단계는
    상기 공간특성이 내부에 좌표정보를 포함하는 마커가 부착된 마커 공간이면, 상기 마커 측위모듈을 적용하는 것을 특징으로 하는 제어서버의 시각적 측위방법.
  6. 제3항에 있어서, 상기 측위모듈을 적용하는 단계는
    상기 공간특성이 내부의 미리 지정된 위치에 설정규격으로 설치되는 사이니지를 포함하는 사이니지 공간이면, 상기 사이니지 측위모듈을 적용하는 것을 특징으로 하는 제어서버의 시각적 측위방법.
  7. 제3항에 있어서, 상기 측위모듈을 적용하는 단계는
    상기 공간특성이 엘리베이터 공간이면, 상기 엘리베이터 측위모듈을 적용하는 것을 특징으로 하는 제어서버의 시각적 측위방법.
  8. 하드웨어와 결합되어 제1항 내지 제7항 중 어느 한 항의 제어서버의 시각적 측위방법을 실행시키기 위하여 기록 매체에 저장된 컴퓨터 프로그램.
  9. 로봇에 구비된 카메라로부터 취득한 주변 영상을 기반으로, 대상영역 내 상기 로봇의 위치를 판별하는 시각적 측위(visual localization)를 수행하는 제어서버에 있어서,
    상기 로봇으로부터, 상기 로봇이 위치하는 공간에 대한 주변 영상을 입력받는 영상수신부;
    상기 공간에 설정된 공간특성을 기초로, 복수의 측위모듈 중 적어도 어느 하나의 측위모듈을 적용하는 측위모듈 결정부; 및
    상기 측위모듈을 이용하여 상기 주변 영상으로부터 상기 로봇에 대한 측위정보를 생성하는 측위부를 포함하는 것으로,
    상기 측위모듈 결정부는
    상기 대상영역에 대응하는 지도정보를 이용하여 상기 로봇이 위치하는 공간에 설정된 공간특성을 판별하고, 상기 공간특성에 따라 상기 측위모듈을 적용하는 것인, 제어서버.
  10. 건물에 있어서,
    상기 건물 내를 주행하며 서비스를 제공하는 적어도 하나의 로봇이 배치되고,
    상기 로봇은 제어서버와의 통신을 통하여 제어되며,
    상기 제어서버는 상기 로봇에 구비된 카메라로부터 취득한 주변 영상을 기반으로, 상기 건물 내 상기 로봇의 위치를 판별하는 시각적 측위(visual localization)를 수행하는 것으로, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 로봇으로부터, 상기 로봇이 위치하는 공간에 대한 주변 영상을 입력받는 것,
    상기 공간에 설정된 공간특성을 기초로, 복수의 측위모듈 중 적어도 어느 하나의 측위모듈을 적용하는 것,
    상기 측위모듈을 이용하여 상기 주변 영상으로부터 상기 로봇에 대한 측위정보를 생성하는 것을 실행하는 것으로,
    상기 측위모듈을 적용하는 것은,
    대상영역에 대응하는 지도정보를 이용하여 상기 로봇이 위치하는 공간에 설정된 공간특성을 판별하고, 상기 공간특성에 따라 상기 측위모듈을 적용하는 것인, 건물.
  11. 제10항에 있어서, 상기 건물은
    상기 로봇이 주행하는 실내 영역을 포함하고, 상기 실내 영역을 공간특성에 따라 복수의 공간으로 구별하여, 상기 복수의 공간 중 적어도 어느 하나에 마커 또는 사이니지를 포함하는 것을 특징으로 하는, 건물.
KR1020220004824A 2022-01-12 2022-01-12 시각적 측위방법,이를 이용하는 제어서버 및 건물 KR102621089B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220004824A KR102621089B1 (ko) 2022-01-12 2022-01-12 시각적 측위방법,이를 이용하는 제어서버 및 건물
PCT/KR2022/020966 WO2023136495A1 (ko) 2022-01-12 2022-12-21 시각적 측위방법, 이를 이용하는 제어서버 및 건물

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220004824A KR102621089B1 (ko) 2022-01-12 2022-01-12 시각적 측위방법,이를 이용하는 제어서버 및 건물

Publications (2)

Publication Number Publication Date
KR20230108997A KR20230108997A (ko) 2023-07-19
KR102621089B1 true KR102621089B1 (ko) 2024-01-08

Family

ID=87279364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220004824A KR102621089B1 (ko) 2022-01-12 2022-01-12 시각적 측위방법,이를 이용하는 제어서버 및 건물

Country Status (2)

Country Link
KR (1) KR102621089B1 (ko)
WO (1) WO2023136495A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100493159B1 (ko) * 2002-10-01 2005-06-02 삼성전자주식회사 이동체의 효율적 자기 위치 인식을 위한 랜드마크 및 이를이용한 자기 위치 인식 장치 및 방법
KR101739996B1 (ko) * 2010-11-03 2017-05-25 삼성전자주식회사 이동 로봇 및 이동 로봇의 위치 인식 및 지도 작성 방법
KR102041664B1 (ko) * 2016-12-28 2019-11-07 한국과학기술원 Qr 마커와 레이저 스캐너를 이용하여 광범위 실내 공간에서 로봇의 위치를 인식하기 위한 방법 및 장치
KR102457588B1 (ko) * 2019-12-13 2022-10-24 주식회사 케이티 자율주행 로봇, 자율주행 로봇의 위치 추정 서버 및 이를 이용한 자율주행 로봇의 위치 추정 방법
KR20210080140A (ko) * 2019-12-20 2021-06-30 주식회사 코이노 실내 내비게이션 방법 및 그 시스템

Also Published As

Publication number Publication date
WO2023136495A1 (ko) 2023-07-20
KR20230108997A (ko) 2023-07-19

Similar Documents

Publication Publication Date Title
US11127203B2 (en) Leveraging crowdsourced data for localization and mapping within an environment
Guindel et al. Automatic extrinsic calibration for lidar-stereo vehicle sensor setups
US10949712B2 (en) Information processing method and information processing device
US11094112B2 (en) Intelligent capturing of a dynamic physical environment
JP2020500767A (ja) 車両自動パーキングシステム及び方法
CN112189218A (zh) 基于场地的增强现实的方法和装置
KR102092392B1 (ko) 실 공간에서 관심지점 관련 정보를 자동으로 수집 및 업데이트하는 방법 및 시스템
CA2678156A1 (en) Measurement apparatus, measurement method, and feature identification apparatus
US11113896B2 (en) Geophysical sensor positioning system
KR102096926B1 (ko) 관심 영역 변화를 검출하는 방법 및 시스템
US20210142667A1 (en) Electronic device for generating map data and operating method therefor
US20220156973A1 (en) Information processing apparatus, information processing method, and program
JP2016157197A (ja) 自己位置推定装置、自己位置推定方法およびプログラム
CN111105695A (zh) 地图制作方法、装置、电子设备及计算机可读存储介质
KR102106029B1 (ko) 간판 검출 성능 향상을 위한 방법 및 시스템
Ishihara et al. Deep radio-visual localization
KR102189926B1 (ko) 관심 영역 변화를 검출하는 방법 및 시스템
US11402215B2 (en) Indoor positioning method for a moving apparatus using first and second two-dimensional maps of z-axis areas
CN112597946A (zh) 障碍物表示方法、装置、电子设备及可读存储介质
KR102621089B1 (ko) 시각적 측위방법,이를 이용하는 제어서버 및 건물
EP3751371A1 (en) Alignment of plant models in augmented reality
Nowak et al. Leveraging object recognition in reliable vehicle localization from monocular images
KR102618069B1 (ko) 지상조사 로봇의 점군 자료와 시각정보를 이용한 실내건물 재난정보 분석 방법 및 장치
CN117649619B (zh) 无人机视觉导航定位回收方法、系统、装置及可读存储介质
Shewail et al. Survey of indoor tracking systems using augmented reality

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right