KR102262378B1 - 지도 관리 방법 및 시스템 - Google Patents

지도 관리 방법 및 시스템 Download PDF

Info

Publication number
KR102262378B1
KR102262378B1 KR1020190166716A KR20190166716A KR102262378B1 KR 102262378 B1 KR102262378 B1 KR 102262378B1 KR 1020190166716 A KR1020190166716 A KR 1020190166716A KR 20190166716 A KR20190166716 A KR 20190166716A KR 102262378 B1 KR102262378 B1 KR 102262378B1
Authority
KR
South Korea
Prior art keywords
map
facility
information
slam
mobile robot
Prior art date
Application number
KR1020190166716A
Other languages
English (en)
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 KR1020190166716A priority Critical patent/KR102262378B1/ko
Application granted granted Critical
Publication of KR102262378B1 publication Critical patent/KR102262378B1/ko

Links

Images

Classifications

    • 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
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • 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
    • 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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • 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
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory

Abstract

일 실시 예에 따르면, 로봇의 제어에 이용되는 지도를 관리하는 방법에 있어서, 이동 로봇에 포함된 하나 이상의 센서로부터 획득된 정보에 기초하여 생성되고, 상기 이동 로봇의 자율 주행에 이용되는 슬램 지도를 획득하는 단계; 상기 이동 로봇의 이동 가능 영역에 대한 시설물의 정보 및 상기 슬램 지도가 획득된 이후 상기 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하는 단계; 상기 시설물 지도와 상기 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득하는 단계; 및 상기 업데이트된 슬램 지도를 상기 이동 로봇에 제공하는 단계;를 포함하는, 방법이 제공된다.

Description

지도 관리 방법 및 시스템{A METHOD AND SYSTEM FOR MANAGING MAPS}
본 발명은 로봇의 제어에 이용되는 지도를 관리하는 방법 및 시스템에 관한 것으로, 더욱 상세하게는, 이동 로봇에서 이용되는 슬램 지도와 시설물 지도를 매핑하여 통합 관리함으로써, 시설물 지도의 변경 사항을 효율적으로 슬램 지도에 반영할 수 있는 방법 및 시스템에 관한 것이다.
종래 기술은 서비스 제공자가 대형 쇼핑몰이나 공항, 호텔 등과 같은 실내 공간에서 시설물에 대한 실내 지도를 미리 생성하고, 클라우드 서비스를 통해 이용자들의 개별 서비스 로봇들과 통신하면서 개별 서비스 로봇들을 위한 로컬리제이션(현재 위치 파악)과 경로 계획을 미리 생성된 실내 지도에 기반하여 처리하여 그 결과 데이터를 제공해준다.
이러한 종래 기술의 방식은 개별 서비스 로봇들이 제공된 결과 데이터에 기반하여 자율 주행을 처리할 수 있어 고가의 센서를 탑재 하지 않고 서비스 로봇의 제작이 가능하도록 하여 제작 비용을 줄일 수 있는 장점이 있으나, 넓은 실내 공간에서 복수의 시설물의 위치와 정보를 포함하기 위해서는, POI(관심 지점) 및 각 지점 별 제공 컨텐츠 등을 개발자/운영자가 수시로 편집해야 하며, 지정된 시간 또는 즉시 원격에서 서비스 로봇에 반영할 수 없는 등의 단점이 있다.
또한, 종래 기술은 맵핑 로봇이 SLAM(Simultaneous Localization and Mapping) 기술을 기반으로 자율 주행 기능과 맵핑 기능을 통해 시설물의 실내 지도를 제작하며, 고가의 센서를 탑재 하지 않은 서비스 로봇에 적용된다.
이에 따라, 종래 기술은 시설물 이동/설치가 빈번한 대형 쇼핑몰이나 공항, 호텔 등의 환경에서 개별, 시설물 증축이나 수리 등으로 실내 지도 수정이 발생할 때마다 매번 맵핑 로봇을 투입하여 실내 지도를 제작하는 과정이 요구되며, 움직이는 사람이나 기타 장애물이 존재할 경우 정확한 지도를 제작하기 위해 수작업으로 해당 오브젝트(예: 사람, 장애물 등)을 제거해야 하는 문제점이 있다.
또한, 종래 기술에 따르면, 맵핑 로봇에 탑재되는 라이더(LiDAR) 센서의 특성상 유리벽 등의 반사 물질이 존재하는 경우, 센서에서 인식 불가능한 높이의 장애물이 존재하는 경우, 또는, 센서에서 인식되어 로봇이 이동가능한 구역으로 판단되었으나 개발자/운영자에 의해 로봇이 이동하지 않은 금지구역으로 설정해야 하는 경우 등의 다양한 상황에서 지도의 자동 생성이 불가능한 한계가 있다. 또한, 맵핑 로봇의 센서 오작동으로 지도 제작에 오차가 발생할 수 있으며, 엘리베이터, 에스컬레이터, 화장실, 분수대 등 맵핑 로봇이 투입될 수 없는 공간의 지도는 제작할 수가 없다는 한계가 있다.
한국등록특허 제10-1876968호는 실내 자율 주행 로봇을 위한 제어 방법 및 시스템에 관한 것으로, 클라우드 시스템에서 로봇의 실내 자율 주행을 제어하는 방법에 있어서, 목표 시설물의 내부에서 자율 주행하는 맵핑 로봇에서 센서를 통해 상기 목표 시설물의 내부에 대해 생성한 제1 센싱 데이터를, 상기 클라우드 시스템에서 수신하는 단계; 상기 제1 센싱 데이터를 이용하여 상기 목표 시설물의 실내 지도를 생성하는 단계; 상기 목표 시설물의 내부에 위치한 서비스 로봇으로부터, 상기 서비스 로봇이 센서를 통해 상기 목표 시설물의 내부에 대해 생성한 제2 센싱 데이터를, 네트워크를 통해 수신하는 단계; 및 상기 제2 센싱 데이터 및 상기 생성된 실내 지도를 이용하여 상기 서비스 로봇의 상기 목표 시설물에 대한 실내 자율 주행을 제어하는 단계를 포함하는 것을 특징으로 하는 제어 방법을 개시하고 있다.
본 발명의 일 실시 예는 이동 로봇의 제어에 이용되는 지도를 관리하는 방법 및 시스템을 제공하여 상기한 종래 기술의 문제점을 해결할 수 있고, 더욱 상세하게는, 이동 로봇에서 이용되는 슬램 지도와 시설물 지도를 매핑하여 통합 관리함으로써, 시설물 지도의 변경 사항을 효율적으로 슬램 지도에 반영할 수 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
본 개시의 제 1 측면에 따른 로봇의 제어에 이용되는 지도를 관리하는 방법에 있어서, 상기 방법은 이동 로봇에 포함된 하나 이상의 센서로부터 획득된 정보에 기초하여 생성되고, 상기 이동 로봇의 자율 주행에 이용되는 슬램 지도를 획득하는 단계; 상기 이동 로봇의 이동 가능 영역에 대한 시설물의 정보 및 상기 슬램 지도가 획득된 이후 상기 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하는 단계; 상기 시설물 지도와 상기 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득하는 단계; 및 상기 업데이트된 슬램 지도를 상기 이동 로봇에 제공하는 단계;를 포함할 수 있다.
또한, 상기 업데이트된 슬램 지도를 획득하는 단계는 상기 슬램 지도를 제 1 지도 포맷으로 변환하는 단계; 상기 변환된 슬램 지도를 이용하여 상기 시설물 지도를 업데이트하는 단계; 및 상기 업데이트된 시설물 지도를 제 2 지도 포맷으로 변환하여 상기 업데이트된 슬램 지도를 획득하는 단계;를 더 포함할 수 있다.
또한, 상기 제 1 지도 포맷은 2차원 벡터 방식의 SVG, AI 및 VML 중 적어도 하나 또는 3차원 이미지 기반의 DAE 및 3DS 중 적어도 하나를 포함하고, 상기 제 2 지도 포맷은 래스터 방식의 PNG, JPEG 및 GIF 중 적어도 하나를 포함할 수 있다.
또한, 상기 업데이트된 슬램 지도를 획득하는 단계는 PNG-SVG 컨버터, CAD-SVG 컨버터 및 2D-3D 컨버터 중 하나 이상을 이용하여 상기 제 1 지도 포맷 또는 상기 제 2 지도 포맷으로의 변환을 수행하는 단계를 포함할 수 있다.
또한, 상기 업데이트된 슬램 지도를 획득하는 단계는 타일 맵 슬라이서(Tile Map Slicer)를 이용하여 상기 업데이트된 슬램 지도를 획득하는 단계를 포함할 수 있다.
또한, 상기 업데이트된 슬램 지도는 상기 시설물의 정보, 하나 이상의 관심지점, 임무 컨텐츠 및 정체 구역 중 적어도 하나를 포함할 수 있다.
또한, 상기 업데이트된 슬램 지도를 획득하는 단계는 사용자의 입력 또는 상기 시설물 지도에 기초하여 상기 하나 이상의 관심지점을 결정하는 단계; 상기 이동 로봇으로부터 수신되는 위치 정보를 이용하여 상기 이동 로봇로부터 기설정 거리 이내에 위치한 시설물 및 상기 하나 이상의 관심지점의 좌표 정보를 산출하는 단계 및 상기 산출된 좌표 정보를 이용하여 상기 이동 로봇의 상기 기설정 거리 이내에 위치한 시설물 또는 상기 하나 이상의 관심지점에 대한 진입을 제어하는 단계를 더 포함할 수 있다.
또한, 임무 내용, 임무 위치 및 기한을 포함하는 상기 임무 컨텐츠를 획득하는 단계; 상기 업데이트된 슬램 지도 및 복수의 이동 로봇으로부터 수신되는 위치 정보를 이용하여 상기 복수의 이동 로봇 중 어느 하나에 상기 임무 컨텐츠를 할당하는 단계; 및 상기 할당된 어느 하나의 이동 로봇에 상기 임무 컨텐츠, 임무 시간 및 이동 경로를 포함하는 임무 스케줄링 정보를 제공하는 단계;를 더 포함할 수 있다.
또한, 상기 임무 스케줄링 정보를 제공하는 단계는 상기 복수의 이동 로봇으로부터 수신되는 위치 정보 및 주변 정보를 이용하여 상기 정체 구역을 결정하는 단계; 및 상기 결정된 정체 구역을 회피하는 추천 경로를 생성하여 상기 임무 스케줄링 정보를 갱신하는 단계;를 더 포함할 수 있다.
본 개시의 제 2 측면에 따른 로봇의 제어에 이용되는 지도를 관리하는 로봇 서비스 시스템에 있어서, 상기 로봇 서비스 시스템은 이동 로봇에 포함된 하나 이상의 센서로부터 획득된 정보에 기초하여 생성되고, 상기 이동 로봇의 자율 주행에 이용되는 슬램 지도를 획득하고, 상기 이동 로봇의 이동 가능 영역에 대한 시설물의 정보 및 상기 슬램 지도가 획득된 이후 상기 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하고, 상기 시설물 지도와 상기 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득하는 프로세서; 및 상기 업데이트된 슬램 지도를 상기 이동 로봇에 제공하는 통신부;를 포함할 수 있다.
또한, 상기 프로세서는 상기 슬램 지도를 제 1 지도 포맷으로 변환하고, 상기 변환된 슬램 지도를 이용하여 상기 시설물 지도를 업데이트하고, 상기 업데이트된 시설물 지도를 제 2 지도 포맷으로 변환하여 상기 업데이트된 슬램 지도를 획득할 수 있다.
또한, 상기 제 1 지도 포맷은 2차원 벡터 방식의 SVG, AI 및 VML 중 적어도 하나 또는 3차원 이미지 기반의 DAE 및 3DS 중 적어도 하나를 포함하고, 상기 제 2 지도 포맷은 래스터 방식의 PNG, JPEG 및 GIF 중 적어도 하나를 포함할 수 있다.
또한, 상기 프로세서는 PNG-SVG 컨버터, CAD-SVG 컨버터 및 2D-3D 컨버터 중 하나 이상을 이용하여 상기 제 1 지도 포맷 또는 상기 제 2 지도 포맷으로의 변환을 수행할 수 있다.
또한, 상기 프로세서는 타일 맵 슬라이서(Tile Map Slicer)를 이용하여 상기 업데이트된 슬램 지도를 획득할 수 있다.
또한, 상기 업데이트된 슬램 지도는 시설물 정보, 하나 이상의 관심지점(POI), 임무 컨텐츠 및 정체 구역 중 적어도 하나를 포함할 수 있다.
또한, 상기 프로세서는 상기 시설물 지도에 기초하여 상기 시설물 정보 및 상기 하나 이상의 관심지점을 결정하고, 상기 업데이트된 슬램 지도와 상기 이동 로봇으로부터 수신되는 위치 정보를 이용하여 상기 이동 로봇의 주위에 위치한 시설물 및 상기 하나 이상의 관심지점의 좌표 정보를 산출하고, 상기 산출된 좌표 정보를 이용하여 상기 이동 로봇의 상기 시설물 또는 상기 하나 이상의 관심지점에 대한 진입을 제어할 수 있다.
또한, 상기 프로세서는 임무 내용, 위치 및 기한을 포함하는 상기 임무 컨텐츠를 획득하고, 상기 업데이트된 슬램 지도 및 복수의 이동 로봇으로부터 수신되는 위치 정보를 이용하여 상기 복수의 이동 로봇 중 어느 하나에 상기 임무 컨텐츠를 할당하고, 상기 할당된 어느 하나의 이동 로봇에 상기 임무 컨텐츠, 임무 시간 및 이동 경로를 포함하는 임무 스케줄링 정보를 제공할 수 있다.
또한, 상기 프로세서는 상기 복수의 이동 로봇으로부터 수신되는 위치 정보 및 주변 정보를 이용하여 상기 정체 구역을 결정하고, 상기 결정된 정체 구역을 회피하는 추천 경로를 생성하여 상기 임무 스케줄링 정보를 갱신할 수 있다.
본 개시의 제 3 측면에 따른 이동 로봇이 임무 컨텐츠를 수행하는 방법에 있어서, 상기 방법은 상기 이동 로봇에 포함된 하나 이상의 센서로부터 획득된 정보에 기초하여 생성되고, 상기 이동 로봇의 자율 주행에 이용되는 슬램 지도를 획득하는 단계; 상기 이동 로봇의 이동 가능 영역에 대한 시설물의 정보 및 상기 슬램 지도가 획득된 이후 상기 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하는 단계; 상기 시설물 지도와 상기 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득하는 단계; 및 상기 업데이트된 슬램 지도를 이용하여 임무 컨텐츠를 수행하는 단계;를 포함할 수 있다.
본 개시의 제 4 측면에 따른 임무 컨텐츠를 수행하는 이동 로봇에 있어서, 상기 이동 로봇은 상기 이동 로봇의 주변 상황에 대한 정보를 획득하는 센서; 및 상기 센서로부터 획득된 정보에 기초하여 생성되고, 상기 이동 로봇의 자율 주행에 이용되는 슬램 지도를 획득하고, 상기 이동 로봇의 이동 가능 영역에 대한 시설물의 정보 및 상기 슬램 지도가 획득된 이후 상기 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하고, 상기 시설물 지도와 상기 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득하고, 상기 업데이트된 슬램 지도에 따른 임무 컨텐츠의 수행을 위한 제어 신호를 출력하는 프로세서;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 이동 로봇에서 이용되는 슬램 지도와 시설물 지도를 매핑하여 통합 관리함으로써, 이동 로봇을 통한 별도의 계측 과정 없이도 시설물 지도의 변경 사항을 효율적으로 슬램 지도에 간편하게 반영하여 이동 로봇에서 즉각적으로 이용되도록 지원할 수 있다.
또한, 시설물 지도의 변경 사항을 슬램 지도에 변환하여 반영함으로써, 측정 오차를 감소시켜 높은 신뢰성을 가는 슬램 지도를 제작할 수 있다.
또한, 서비스 이용자에게 맵 편집 기능을 제공하여 경로 생성을 비롯한 컨텐츠 설정 및 금지구역 지정 등 이용자가 원하는 정보를 관제 지도에 표현할 수 있어 사용자를 위한 다양한 서비스를 제공함으로써, 종래 클라우드 시스템에서는 해결되지 않는 문제점을 해결할 수 있다.
또한, 시설물 이동/설치가 빈번한 대형 쇼핑몰이나 공항, 호텔 등의 넓은 실내 공간에서 복수의 시설물의 위치와 정보변경에 의한 실내 지도 수정이 필요한 경우, 관심지점 및 각 지점 별 제공 컨텐츠 등을 개발자/운영자가 수시로 편집하여 원격으로 이동 로봇에 반영할 수 있다.
또한, 라이다(LiDAR) 센서의 특성상 유리벽 등의 반사물질이 존재하거나, 센서에서 인식 불가능한 높이의 장애물이 존재하는 등의 경우, 개발자/운영자가 맵핑 로봇을 통해 시설물을 실측하지 않고도 시설물 지도(Facility Map) 상에서 지도 편집하여 이동 로봇의 개별지도(SLAM)에 변환하여 반영할 수 있다.
또한, 엘리베이터, 에스컬레이터, 화장실, 분수대 등 이동 로봇을 투입하여 지도를 제작할 수 없는 공간에 대해 개발자/운영자가 시설물 편집을 통해 로봇에 적용할 수 있다.
또한, 편집한 지도를 복수의 이동 로봇에 적용 시 전송 효율성을 제고하기 위해 경로 편집된 지도를 타일(Tile) 맵 형태로 나누어 로봇에게 전송하여, 편집되지 않은 나머지 실내 지도를 불필요하게 전송하지 않으므로, 업데이트된 지도 데이터 전송 시 네트워크를 과도하게 사용하지 않아 클라우드 서비스를 안정적으로 제공할 수 있다.
또한, 제공받은 슬램(SLAM) 데이터나 시설물에 관한 캐드(CAD) 데이터 또는 3차원의 포인트 클라우드(Point Cloud) 데이터를 좌표 체계 변환하여 실내 지도로 제작할 수 있으며, 서비스 이용자에게 지도 편집 기능을 제공하여 사람이나 움직일 수 있는 물체 또는 반사 물체 등에 의해 발생될 수 있는 오차를 제거할 수 있어 실내 지도 제작의 정확성을 높일 수 있다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 일 실시 예에 따른 로봇 서비스 시스템의 구성을 개략적으로 도시한 도면이다.
도 2는 도 1에 있는 로봇 서비스 시스템의 구성의 일 예를 도시한 블록도이다.
도 3은 도 1에 있는 이동 로봇의 구성의 일 예를 도시한 블록도이다.
도 4는 일 실시 예에 따른 로봇 서비스 시스템이 이동 로봇의 제어에 이용되는 지도를 관리하는 방법의 일 예를 도시한 흐름도이다.
도 5는 도 1에 있는 로봇 서비스 시스템의 구성의 다른 일 예를 도시한 블록도이다.
도 6은 도 5에 있는 지도 관리부의 구성의 일 예를 도시한 블록도이다.
도 7은 도 1에 있는 이동 로봇의 구성의 다른 일 예를 도시한 블록도이다.
도 8은 일 실시 예에 따른 로봇 서비스 시스템이 이동 로봇의 제어에 이용되는 지도를 관리하는 방법의 다른 일 예를 도시한 흐름도이다.
도 9는 일 실시 예에 따른 로봇 서비스 시스템이 지도 관리를 위해 시설물 또는 관심지점의 좌표를 산출하는 일 예시 동작을 설명하기 위한 도면이다.
도 10은 일 실시 예에 따른 로봇 서비스 시스템이 통합 관리하는 지도들의 일 예시를 설명하기 위한 도면이다.
도 11은 일 실시 예에 따른 로봇 서비스 시스템이 시설물 지도와 슬램 지도를 매핑하여 통합 관리하는 일 예시 동작을 설명하기 위한 도면이다.
도 12는 일 실시 예에 따른 로봇 서비스 시스템이 사용자가 시설물 지도를 편집 제작할 수 있도록 지원하는 일 예시 동작을 설명하기 위한 도면이다.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시 예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
이하 첨부된 도면을 참고하여 실시 예를 상세히 설명하기로 한다.
도 1은 일 실시 예에 따른 로봇 서비스 시스템(100)을 개략적으로 도시한 도면이다.
도 1을 참조하면, 일 실시 예에 따른 로봇 서비스 시스템(100)은 지도를 기반으로 이동 로봇(200)의 현재 위치 및 상태를 확인할 수 있고, 이동 로봇(200)에 대한 원격 제어 명령을 수행할 수 있으며, 이동 로봇(200)에 할당되는 임무 컨텐츠에 관한 임무 스케쥴링 및 동작 현황을 관리할 수 있고, 관심지점 기반의 컨텐츠 서비스를 제공할 수 있다. 일 실시 예에 따른 로봇 서비스 시스템(100)은 이동 로봇(200)으로부터 수신되는 로봇 데이터를 수집 및 분석할 수 있다. 일 실시 예에 따른 로봇 서비스 시스템(100)은 이동 로봇(200)의 스마트 서비스 구현에 필요한 관제 기능 및 AI 연계 기능을 포함된 소프트웨어 플랫폼으로 구현될 수 있다.
일 실시 예에 따른 로봇 서비스 시스템(100)은 이동 로봇(200)으로부터 획득된 슬램 지도에 대한 업데이트를 수행하여 업데이트된 슬램 지도를 획득할 수 있고, 업데이트된 슬램 지도에 금지구역, 시설물 정보, 추천경로, 위치 기반 컨텐츠 및 제어 신호를 전송하여 이동 로봇(200)을 제어할 수 있다. 이러한 내용은 이하에서 도 2를 참조하며 보다 상세히 후술하도록 한다.
일 실시 예에 따른 로봇 서비스 시스템(100)은 하나 이상의 서버로 구현되어 네트워크를 통해 다른 디바이스(예: 단말, 서버)와 연결될 수 있는 모든 종류의 유무선 통신 장치를 포함할 수 있고, 하나 이상의 이동 로봇(200)과 네트워크를 통해 연결될 수 있다. 여기에서, 네트워크는 유선 및 무선 등과 같은 다양한 통신망을 통해 구성될 수 있고, 예를 들면, 근거리 통신망(LAN: Local Area Network), 도시권 통신망(MAN: Metropolitan Area Network), 광역 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다.
일 실시 예에 따른 이동 로봇(200)은 지도를 이용하여 자율 주행할 수 있는 이동형 로봇 장치로서, 일 실시 예서, 전동 바퀴를 포함하는 이동 주행식의 형태로 구현될 수 있으나, 이에 제한되지 않으며, 예를 들면, 복수의 관절 자유도를 가지는 다족 보행 로봇의 형태로 구현될 수도 있고, 다른 예를 들면, 드론을 포함하는 이동 비행식의 형태로 구현될 수 있다. 이처럼, 이동 로봇(200)은 상술한 실시 예에 제한되지 않으며, 그 밖의 다양한 환경에서 자율 주행이 가능한 다양한 형태의 실시예들을 통해 구현될 수 있다.
일 실시 예에 따른 이동 로봇(200)은 자율 주행을 통해 로봇 개별지도에 해당하는 슬램 지도를 생성할 수 있고, 탑재된 로봇 서비스 플랫폼 에이전트(222)를 통해 로봇 서비스 시스템(100)에 슬램 지도를 전송할 수 있으며, 그밖에도, 로봇 서비스 시스템(100)에 현재 위치 및 로봇 상태에 관한 로봇 데이터들을 제공할 수 있고, 로봇 서비스 시스템(100)으로부터 수신되는 제어 신호에 따라 지정된 시간에 또는 수신되는 즉시 임무 컨텐츠를 수행할 수 있다. 이러한 내용은 이하에서 도 2 내지 도 3을 참조하며 보다 상세히 후술하도록 한다.
도 2는 도 1에 있는 로봇 서비스 시스템(100)의 구성의 일 예를 도시한 블록도이다.
도 2를 참조하면, 일 실시 예에 따른 로봇 서비스 시스템(100)은 프로세서(110), 통신부(120) 및 저장부(130)를 포함할 수 있다.
일 실시 예에 따른 프로세서(110)는 슬램 지도를 획득할 수 있다. 여기에서, 슬램 지도는 이동 로봇(200)의 자율 주행에 이용되는 지도로서, 이동 로봇(200)에 포함된 하나 이상의 센서(210)로부터 획득된 정보에 기초하여 생성된다. 예를 들면, 슬램 지도는 이동 로봇(200)이 SLAM(Simultaneous Localization and Mapping) 기반으로 자율 주행을 하며 내장된 센서(210)를 이용해 자신의 위치를 계측하여 자체적으로 생성한 개별 지도를 의미할 수 있다(도 10(a) 참조).
일 실시 예에 따른 프로세서(110)는 통신부(120)를 통해 이동 로봇(200)과 통신하여 슬램 지도를 수신할 수 있다. 예를 들면, 프로세서(110)는 기설정 주기에 따라 이동 로봇(200)으로부터 슬램 지도를 수신하거나, 사용자(예: 관리자)의 입력에 기초하여 이동 로봇(200)으로부터 슬램 지도를 수신하거나, 기저장된 시설물 지도(Facility Map)의 변경이 감지되면 이동 로봇(200)으로부터 슬램 지도를 수신할 수 있다. 다른 예를 들면, 프로세서(110)는 이동 로봇(200)에서 슬램 지도가 수정됨에 따라 이동 로봇(200)이 수정된 슬램 지도를 송신해오면 이를 수신할 수 있다.
일 실시 예에 따른 프로세서(110)는 시설물 지도를 획득할 수 있다. 여기에서, 시설물 지도는 이동 로봇(200)의 이동 가능 영역에 대한 시설물의 정보 및 슬램 지도가 획득된 이후 시설물의 변경 사항에 대한 정보를 포함할 수 있다(도 10(c) 참조). 예를 들면, 이동 가능 영역(예: 인천공항)은 관리자에 의해 이동 로봇(200)이 자율 주행하는 대상 공간으로 설정된 영역에 해당하고, 시설물의 정보는 이동 가능 영역(예: 인천공항)에 설치된 복수의 시설물(예: 화장실, 엘리베이터, 계단, 안내데스크 등) 각각의 시설명, 식별자, 설치목적, 설치유형(예: 고정적, 일시적), 설치기간(예: 2019/11/22 ~ 2019/11/25) 및 공간좌표를 포함할 수 있다. 또한, 시설물의 변경 사항에 대한 정보는 슬램 지도의 획득 이전의 시설물 지도와 비교하여 현재 시점의 시설물 지도에서 변경된 시설물의 정보를 포함할 수 있고, 예를 들면, 슬램 지도의 획득 전후로 시설물 지도에 포함된 시설물 중 제 1 시설물(예: 계단)의 공간좌표만 변경된 경우, 제 1 시설물의 식별자 및 공간좌표를 포함할 수 있다.
일 실시 예에 따른 프로세서(110)는 시설물 지도와 슬램 지도 각각의 변경 히스토리를 관리할 수 있으며, 예를 들면, 시설물 지도의 획득 시점 및 변경 내용에 관한 시설물 지도 히스토리를 관리할 수 있고, 이동 로봇(200)으로부터 획득되는 슬램 지도의 획득 시점 및 이에 따라 이동 로봇(200)에 제공된 업데이트된 슬램 지도의 제공 시점을 포함하는 슬램 지도 히스토리를 관리할 수 있다. 예를 들면, 프로세서(110)는 시설물 지도 히스토리 및 슬램 지도 히스토리를 이용하여, 가장 최근의 슬램 지도의 획득 시점 또는 업데이트된 슬램 지도의 제공 시점을 기준으로, 그 이후로 변경된 시설물 지도에 포함된 시설물의 변경 사항에 대한 정보를 관리할 수 있다. 다른 예를 들면, 프로세서(110)는 슬램 지도 히스토리에 따라 이동 로봇(200)의 슬램 지도가 최초로 획득된 경우에는 최초에 획득된 시설물 지도와 가장 최근 획득된 시설물 지도를 비교하여 시설물의 변경 사항에 대한 정보를 관리할 수 있다.
일 실시 예에서, 슬램 지도와 시설물 지도는 실내 지도일 수 있으나, 이에 제한되지 않으며, 실외 지도이거나 실내 및 실외가 혼합된 통합 지도일 수도 있다.
일 실시 예에 따른 프로세서(110)는 시설물 지도와 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득할 수 있다. 예를 들면, 프로세서(110)는 이동 로봇(200)으로부터 획득된 슬램 지도를 기설정 지도 포맷(예: SVG)으로 변환하여 시설물 지도 수정을 위한 파일 포맷으로 만들고, 변환된 슬램 지도를 이용하여 시설물 지도와 매핑하여 통합 관리할 수 있으며, 매핑에 따라 상호 간에 변경된 부분을 반영하고 관리하는 방식으로 업데이트된 슬램 지도를 생성할 수 있다.
일 실시 예에 따른 프로세서(110)는 슬램 지도를 제 1 지도 포맷으로 변환할 수 있다. 여기에서, 제 1 지도 포맷은 시설물 지도의 수정에 이용되는 이미지 파일 포맷으로서, 일 실시 예에서, 2차원 벡터 기반의 SVG, AI 및 VML 중 적어도 하나를 포함하거나, 또는, 3차원 이미지 기반의 DAE 및 3DS 중 적어도 하나를 포함할 수 있으나, 이에 한정되지 않으며, 시설물 지도 또는 그 수정 과정에 이용될 수 있는 그밖의 다양한 형태의 파일 포맷을 포함할 수 있다. 예를 들면, 프로세서(110)는 슬램 지도를 SVG의 벡터형 관제 지도 포맷으로 변환하거나, 또는, 슬램 지도를 SVG의 2차원 벡터형 관제형 지도 포맷으로 변환한 후 3DS의 3차원 관제형 지도 포맷으로 변환하여, 관제 가능한 시설물 지도를 편집할 수 있도록 변환된 슬램 지도를 준비할 수 있다.
일 실시 예에 따른 프로세서(110)는 변환된 슬램 지도를 이용하여 시설물 지도를 업데이트할 수 있다. 예를 들면, 프로세서(110)는 SVG로 변환된 슬램 지도와 시설물 지도를 매핑하고, 이동 로봇(200)에서 생성된 좌표 정보에 근거하여 변경된 부분(예: 타일(Tile))만 반영하는 방식으로 시설물 지도를 업데이트할 수 있다.
일 실시 예에서, 시설물 지도는 제 1 지도 포맷(예: SVG)으로 관리될 수 있고, 다른 일 실시 예에서, 제 1 지도 포맷으로 용이하게 수정될 수 있는 기설정 지도 포맷으로 관리될 수 있다.
일 실시 예에 따른 프로세서(110)는 업데이트된 시설물 지도를 제 2 지도 포맷으로 변환하여 업데이트된 슬램 지도를 획득할 수 있다. 여기에서, 제 2 지도 포맷은 슬램 지도의 지도 포맷에 해당될 수 있고, 일 실시 예에서, 래스터(Raster) 방식의 PNG, JPEG 및 GIF 중 적어도 하나를 포함할 수 있으나, 이에 한정되지 않으며, 예를 들면, 3차원 이미지 파일 포맷을 포함할 수도 있고, 이처럼, 이동 로봇(200)에서 개별 지도에 이용될 수 있는 그밖의 다양한 형태의 파일 포맷을 포함할 수 있다. 예를 들면, 프로세서(110)는 업데이트된 시설물 지도를 슬램 지도의 지도 포맷에 해당하는 PNG로 변환하여, 이동 로봇(200)에서 시설물의 변경 사항이 반영된 슬램 지도를 별도의 포맷 변환없이 바로 이용할 수 있도록, 업데이트된 슬램 지도를 준비할 수 있다.
일 실시 예에 따른 프로세서(110)는 PNG-SVG 컨버터, CAD-SVG 컨버터 및 2D-3D 컨버터 중 하나 이상을 이용하여 제 1 지도 포맷 또는 제 2 지도 포맷으로의 변환을 수행할 수 있다. 예를 들면, 프로세서(110)는 PNG-SVG 컨버터를 이용하여 PNG 형식의 슬램 지도를 SVG 형식으로 변환하거나, 2D-3D 컨버터를 이용하여 SVG 형식의 슬램 지도를 3DS 형식의 슬램 지도로 변환하거나, PNG-SVG 컨버터를 이용하여 PNG 형식의 업데이트된 슬램 지도를 획득할 수 있다.
일 실시 예에 따른 프로세서(110)는 타일 맵 슬라이서(Tile Map Slicer)를 이용하여 업데이트된 슬램 지도를 획득할 수 있으며, 예를 들면, 타임 맵 슬라이서를 이용하여 슬램 지도와 시설물 지도를 매핑하여 통합 관리를 수행할 수 있고, 이동 로봇(200)으로부터 수신된 좌표 정보에 기초하여 변경된 부분(예: Tile)만 업데이트할 수 있도록 시설물 지도를 변환하여 업데이트된 슬램 지도를 획득할 수 있다.
일 실시 예에서, 상술한 컨버터 외에도 다양한 모듈들이 상술한 변환 또는 매핑의 구체화된 기술적 특징을 구현하는데 이용될 수 있으며, 이에 관한 실시 예들은 이하에서 도 5 내지 도 6을 참조하며 후술하도록 한다.
일 실시 예에서, 업데이트된 슬램 지도는 시설물의 정보, 하나 이상의 관심지점(Point Of Interest, POI), 임무 컨텐츠 및 정체 구역 중 적어도 하나를 포함할 수 있다. 일 실시 예에서, 시설물의 정보는 상술한 것처럼, 이동 가능 영역에 설치된 하나 이상의 시설물에 대한 시설명, 식별자, 설치목적, 설치유형, 설치기간 및 공간좌표 중 적어도 하나를 포함할 수 있다. 또한, 일 실시 예에서, 임무 컨텐츠는 임무 내용(예: 바닥 물걸레 청소), 임무 위치(예: 1층 1번 화장실) 및 기한(예: 오늘 오후 2시)을 포함할 수 있다.
일 실시 예에 따른 프로세서(110)는 사용자의 입력 또는 시설물 지도에 기초하여 하나 이상의 관심지점을 결정할 수 있다. 예를 들면, 프로세서(110)는 시설물 지도에 포함된 복수의 시설물 중 어느 하나에 대한 사용자(예: 관리자)의 선택 입력에 기초하여 하나 이상의 관심지점으로 결정하거나, 가장 최근 획득된 시설물 지도에 주요 시설물로 설정된 하나 이상의 시설물을 검출하여 하나 이상의 관심지점으로 결정하거나, 복수의 이동 로봇(200)으로부터 수신되는 데이터를 수집하고 빅데이터 분석하여 기저장된 알고리즘에 따라 문제 발생 가능성을 산출하고 기준값 이상으로 높은 하나 이상의 지점을 검출하여 하나 이상의 관심지점으로 결정할 수 있다.
일 실시 예에서, 관심지점은 진입 가능구역, 진입 제한구역 및 진입 금지구역 중 적어도 하나를 포함할 수 있다. 예를 들면, 진입 가능구역은 이동 로봇(200)이 이동 가능한 로봇 서비스 가능구역을 의미하고, 진입 제한구역은 별도의 임무 컨텐츠가 할당되지 않는 경우에는 이동 또는 경유가 제한되는 구역을 의미하며, 진입 금지구역은 이동 로봇(200)의 진입이 금지되는 시설물 도는 장애물을 의미할 수 있다. 예를 들면, 진입 가능구역, 진입 제한구역 및 진입 금지구역 각각은 시설물 지도를 기준으로 관리자에 의해 관심지점으로서 설정 및 관리될 수 있다.
일 실시 예에 따른 프로세서(110)는 이동 로봇(200)으로부터 수신되는 위치 정보를 이용하여 이동 로봇(200)으로부터 기설정 거리 이내에 위치한 시설물 및 하나 이상의 관심지점의 좌표 정보를 산출할 수 있다. 예를 들면, 프로세서(110)는 슬램 지도와 시설물 지도의 매핑 결과에 이동 로봇(200)의 좌표 정보를 적용하여 이동 로봇(200) 가까이에 있는 시설물과 관심지점의 좌표 정보를 산출할 수 있다.
일 실시 예에 따른 프로세서(110)는 산출된 좌표 정보를 이용하여 이동 로봇(200)의 기설정 거리 이내에 위치한 시설물 또는 하나 이상의 관심지점에 대한 진입을 제어할 수 있다. 예를 들면, 프로세서(110)는 이동 로봇(200)과 이동 로봇(200)에서 기설정 거리(예: 5미터) 이내에 있는 시설물 및 관심지점의 좌표 정보를 트래킹하여 해당 시설물 또는 관심지점에 설정된 진입 제어 설정(예: 진입 허용, 진입 금지 등)에 따른 제어 신호를 생성하여 이동 로봇(200)에 전송함으로써 이동 로봇(200)의 자율 주행을 제어할 수 있다.
일 실시 예에 따른 프로세서(110)는 이동 로봇(200)으로부터 기설정 거리 이내에 위치한 하나 이상의 관심지점이 검출되면, 이동 로봇(200)과 실시간 통신하여 이동 로봇(200)이 검출된 관심지점으로부터 기설정 거리 이상 벗어날 때까지 이동 로봇(200)의 이동 경로를 트래킹할 수 있고, 트래킹에 따른 이동 경로 히스토리를 저장 및 관리할 수 있다.
일 실시 예에 따른 프로세서(110)는 임무 컨텐츠를 획득할 수 있고, 업데이트된 슬램 지도 및 복수의 이동 로봇(200)으로부터 수신되는 위치 정보를 이용하여 복수의 이동 로봇(200) 중 어느 하나에 임무 컨텐츠를 할당할 수 있다. 예를 들면, 프로세서(110)는 관리자에 의해 이동 로봇(200)의 이동 가능 영역(예: 인천공항)에 관한 임무 컨텐츠(예: 1층 1번 화장실) 및 임무 컨텐츠를 할당할 이동 로봇 식별자(예: 로봇번호 001번)가 등록되면, 해당 이동 로봇 식별자에 대응되는 이동 로봇(200)에 임무 컨텐츠를 전송하여 이동 로봇(200)의 임무 컨텐츠 수행을 관리할 수 있다. 다른 예를 들면, 프로세서(110)는 특정 이동 가능 영역(예: 인천공항)에서 자율 주행하는 복수의 이동 로봇(200)으로부터 실시간으로 수신되는 위치 정보, 상태 정보 및 주변 상황 정보를 수집할 수 있고, 빅데이터 분석을 통해 해당 이동 가능 영역(예: 인천공항)에서의 문제 발생 여부를 감시할 수 있으며, 문제 발생(예: 1번 로봇 고장)이 감지되면 기저장된 복수의 임무 컨텐츠 중 하나 이상을 복수의 이동 로봇(200) 중 어느 하나 이상에 할당(예: 1번 로봇이 수행하던 임부 컨텐츠를 1번 로봇의 근처에 있고 임무 컨텐츠가 할당되지 않은 2번 로봇에게 할당)하고 관리자에게 문제 발생에 관한 메시지를 제공할 수 있다.
일 실시 예에 따른 프로세서(110)는 할당된 어느 하나의 이동 로봇(200)에 임무 컨텐츠, 임무 시간 및 이동 경로를 포함하는 임무 스케줄링 정보를 제공할 수 있다. 예를 들면, 프로세서(110)는 해당 이동 가능 영역(예: 인천공항) 내에 있는 복수의 이동 로봇(200)의 위치 정보를 기초로 임무 컨텐츠에 포함된 임무 위치(예: 1층 1번 화장실, 좌표 정보)에 접근할 수 있는 복수의 이동 로봇(200) 각각의 이동 경로 및 이동 시간 예측값을 검출하여 가장 작은 이동 시간 예측값을 가지는 하나의 이동 로봇(200)에 임무 컨텐츠를 할당하는 임무 스케줄링을 수행할 수 있으며, 이에 따라, 임무 수행에 예측되는 소요 시간을 나타내는 임무 시간, 이동 시간 예측값, 임무 컨텐츠 및 이동 경로를 포함하는 임무 스케줄링 정보를 해당 이동 로봇(200)에 전송할 수 있다.
일 실시 예에 따른 프로세서(110)는 복수의 이동 로봇(200)으로부터 수신되는 위치 정보 및 주변 정보를 이용하여 정체 구역을 결정할 수 있다. 예를 들면, 프로세서(110)는 복수의 이동 로봇(200)의 위치 정보를 이용하여 기설정 거리 반경 이내로 기설정 개수 이상 이동 로봇(200)이 위치해있는 경우, 해당 거리 반경의 중심 지점을 정체 구역으로 결정할 수 있고, 또는, 이동 로봇(200)에 내장된 라이다 센서의 객체 검출에 기초하여 이동 로봇(200)으로부터 기설정 거리 반경 이내로 기설정 개수 이상 사람의 검출이 수신되면 해당 이동 로봇(200)의 위치한 지점을 정체 구역으로 결정할 수 있다.
일 실시 예에 따른 프로세서(110)는 결정된 정체 구역을 회피하는 추천 경로를 생성하여 임무 스케줄링 정보를 갱신할 수 있다. 예를 들면, 프로세서(110)는 이동 로봇(200)에 할당된 임무 컨텐츠의 이동 경로가 정체 구역을 경유하는 경우에는 정체 구역을 회피하며 임무 위치에 가장 빠르게 접근할 수 있는 하나 이상의 우회 경로를 검출하여 추천 경로로 획득할 수 있고, 임무 스케줄링 정보에 추천 경로를 포함시켜 이동 로봇(200)이 추천 경로를 우선적으로 이용하도록 제어할 수 있다.
일 실시 예에 따른 프로세서(110)는 신속성, 임무 적합성 및 관리 적합성에 기초하여, 복수의 이동 로봇(200) 중 하나를 임무 컨텐츠를 할당하는 이동 로봇으로 결정할 수 있다. 여기에서, 신속성은 임무 컨텐츠의 착수까지 걸리는 시간이 짧은 정도를 나타내고, 예를 들면, 현재 임무를 수행하고 있지 않으면서 현재 자신의 위치에서 임무 위치에 도착하기까지 소요되는 예측 시간이 짧은 이동 로봇 순으로 높은 신속성을 가지는 것으로 결정될 수 있다.
또한, 임무 적합성은 임무 컨텐츠의 특성과 임무 컨텐츠가 할당된 이동 로봇(200)의 특성 간의 관련성을 나타내며, 예를 들면, 임무 컨텐츠의 임무 특성(예: 고객 응대)에 적합한 기능(예: 물건 적재, 티켓 발권, 음성 안내 등)을 더 많이 가지고 있는 이동 로봇 순으로 높은 임무 적합성을 가지는 것으로 결정될 수 있다. 일 실시 예에서, 임무 적합성은 임무 컨텐츠의 특성(예: 물건 전달, 청소, 발권, 안내, 수리 등)과 이동 로봇(200)의 기능(예: 물건 들기 기능, 청소 기능, 발권 기능, 안내 기능, 수리 기능 등)이 서로 매칭되는지 여부로 결정될 수 있다.
또한, 관리 적합성은 임무 적합성 및 복수의 이동 로봇(200)의 관리에 적합한 정도를 나타내며, 예를 들면, 시설물 관리(예: 청소, 수리)에 적합한 기능(예: 바닥 청소 기능, 물걸레 기능 등)을 보유하고 있는지 여부를 통해 결정될 수 있다.
일 실시 예에 따른 프로세서(110)는 임무 컨텐츠가 시간 제한이 있는 컨텐츠인 경우, 신속성에 가장 높은 우선순위를 부여하여 임무 컨텐츠를 할당하는 이동 로봇(200)을 결정할 수 있다. 예를 들면, 프로세서(110)는 출발 시간이 정해진 비행기 표에 대한 발권과 같은 시간 제한 있는 임무 컨텐츠에 있어서, 복수의 이동 로봇(200) 중 임무 적합성 및 관리 적합성 각각을 기설정 기준 조건 이상 충족하면서 가장 높은 신속성을 가지는 하나의 이동 로봇을 검출하여 해당 임무 컨텐츠를 할당할 수 있다.
일 실시 예에 따른 프로세서(110)는 임무 컨텐츠가 시간 제한이 없고 고객 응대에 대한 컨텐츠인 경우, 임무 적합성에 가장 높은 우선순위를 부여하여 임무 컨텐츠를 할당하는 이동 로봇(200)을 결정할 수 있다. 예를 들면, 프로세서(110)는 물건 전달, 발권 또는 안내와 같은 시간 제한 없는 고객 응대의 임무 컨텐츠에 있어서, 복수의 이동 로봇(200) 중 신속성 및 관리 적합성 각각을 기설정 기준 조건 이상 충족하면서 가장 높은 임무 적합성을 가지는 하나의 이동 로봇을 검출하여 해당 임무 컨텐츠를 할당할 수 있다.
일 실시 예에 따른 프로세서(110)는 임무 컨텐츠가 시간 제한이 없고 시설물 관리에 대한 컨텐츠인 경우, 관리 적합성에 가장 높은 우선순위를 부여하여 상기 임무 컨텐츠를 할당하는 이동 로봇을 결정할 수 있다. 예를 들면, 프로세서(110)는 시설물 관리에 대한 컨텐츠(예: 청소, 수리)인 경우에는, 복수의 이동 로봇(200) 중 신속성 및 임무 적합성 각각을 기설정 기준 조건 이상 충족하면서 가장 높은 및 관리 적합성을 가지는 하나의 이동 로봇을 검출하여 해당 임무 컨텐츠를 할당할 수 있다.
일 실시 예에 따른 프로세서(110)는 하기의 수학식 1에 따라 신속성, 임무 적합성 및 관리 적합성 각각에 가중치를 부여하는 방식으로 우선 순위를 부여할 수 있다. 예를 들면, 프로세서(110)는 시간 제한이 있으면 제한된 시간까지 남은 시간에 반비례하도록 신속성에 대한 제 1 가중치를 결정하고, 시간 제한이 없으면 임무 컨텐츠의 특성에 적합한 기능의 보유 수에 비례하도록 임무 적합성에 대한 제 2 가중치를 결정하고, 시간 제한이 없으면 시설물 관리에 적합한 기능의 보유 수에 비례하도록 관리 적합성에 대한 제 3 가중치를 결정할 수 있다.
[수학식 1]
f1 = f0 { (t0 / tR) * tL + (1 - tL) }
f2 = f0 { (nF1 / n1) * (1 - tL) + tL }
f3 = f0 { (nF2 / n2) * (1 - tL) + tL }
v1 = f1 * (f1 + f2 + f3)
v2 = f2 * (f1 + f2 + f3)
v3 = f3 * (f1 + f2 + f3)
(여기에서, f1, f2 및 f3은 제 1 가중치 지수, 제 2 가중치 지수 및 제 3 가중치 지수를 나타내고, f0은 사용자에 의해 설정 가능한 디폴트 가중치 지수를 나타내고, tR은 임무 컨텐츠의 제한된 시간까지 남은 시간(예: 단위는 분)을 나타내고, t0은 사용자에 의해 설정 가능한 상기 제한된 시간까지 남은 시간의 기준값(예: 단위는 분)을 나타내고, tL은 시간 제한 유무(예: 1은 제한 있음, 0은 제한 없음)을 나타내고, nF1은 임무 컨텐츠의 특성에 적합한 기능의 보유 수를 나타내고, n1은 사용자에 의해 설정 가능한 임무 컨텐츠의 특성에 적합한 기능의 보유 수의 기준값을 나타내고, nF2는 시설물 관리에 적합한 기능의 보유 수를 나타내고, n2는 사용자에 의해 설정 가능한 시설물 관리에 적합한 기능의 보유 수의 기준값을 나타내며, v1, v2 및 v3은 제 1 가중치, 제 2 가중치 및 제 3 가중치를 나타냄)
일 실시 예에서, 업데이트된 슬램 지도는 이벤트 정보를 더 포함할 수 있다. 여기에서, 이벤트 정보는 시설물 지도와 연관된 일시적인 시설물의 변경 사항에 대한 정보를 나타내고, 일 실시 예에서, 시설물 지도에 있는 하나 이상의 시설물에 특정 시간 구간 동안 제한적으로 적용되는 변경 사항을 나타낼 수 있다. 예를 들면, 이벤트 정보는 제 1 시설물(예: 2층 A-구역)에 지정된 시간(예: 2019/11/23, 13:00-18:00) 동안에만 제한적으로 변경되거나 추가되는 시설물의 설치목적(예: 음악회), 설치유형 및 설치기간을 포함할 수 있다. 일 실시 예에 따른 프로세서(110)는 관리자에 의한 등록에 따라 이벤트 정보를 획득할 수 있다.
일 실시 예에 따른 프로세서(110)는 이벤트 정보를 이용하여 하나 이상의 관심지점 또는 정체 구역을 결정할 수 있고, 예를 들면, 이벤트 정보에 포함된 시설물의 위치 정보에 기초하여 진입 제한구역 또는 진입 금지구역을 가변적으로 조정할 수 있다.
일 실시 예에 따른 프로세서(110)는 업데이트된 슬램 지도를 이동 로봇(200)에 제공할 수 있다. 예를 들면, 프로세서(110)는 시설물 지도에 포함된 슬램 지도의 획득 이후 시설물의 변경 사항에 대한 정보가 반영된, 시설물의 정보 및 하나 이상의 관심지점을 포함하는 업데이트된 슬램 지도를 이동 로봇(200)에 전송하여 이동 로봇(200)이 업데이트된 슬램 지도를 이용하여 자율 주행을 하도록 지원할 수 있고, 이동 로봇(200)에 임무 컨텐츠를 할당하는 경우에는 임무 컨텐츠 및 추천 경로를 포함하는 임무 스케줄링 정보를 전송하여 이동 로봇(200)이 업데이트된 슬램 지도를 이용해 임무 컨텐츠를 효율적으로 수행하도록 제어할 수 있다.
일 실시 예에 따른 프로세서(110)는 로봇 서비스 시스템(100)의 동작 전반을 제어하는 CPU(central processor unit)로 구현될 수 있고, 통신부(120) 및 저장부(130)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다.
일 실시 예에 따른 통신부(120)는 다른 디바이스와 네트워크를 통해 연결될 수 있는 유선 또는 무선의 통신 모듈을 포함할 수 있고, 예를 들면, 이동 로봇(200)과 통신하여 상술되었거나 후술될 또는 그밖의 다양한 정보들을 송수신할 수 있다.
일 실시 예에 따른 저장부(130)는 슬램 지도, 시설물 지도 및 업데이트된 슬램 지도를 저장 및 관리할 수 있고, 로봇 서비스 시스템(100)이 지도를 관리하기 위한 데이터 처리 과정에서 요구 및 생성되는 데이터를 저장할 수 있다. 일 실시 예에서, 저장부(130)는 SSD(Solid State Disk) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현된 보조기억장치 또는 RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다. 일 실시 예에서, 저장부(130)는 데이터베이스로 구현되거나 클라우드 또는 별도의 저장 서버로 구현되어 유무선 통신망을 통해 로봇 서비스 시스템(100)에 필요한 데이터 및 저장 공간을 제공할 수 있다.
또한, 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 로봇 서비스 시스템(100)에 더 포함될 수 있음을 관련 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 예를 들면, 로봇 서비스 시스템(100)은 사용자 입력을 수신하거나 출력하기 위한 입출력 인터페이스나 출력 정보를 시각화하기 위한 디스플레이 등을 더 포함할 수 있다. 또한, 다른 실시 예에 따를 경우, 도 2에 도시된 구성요소들 중 일부는 생략될 수 있다.
도 3은 도 1에 있는 이동 로봇(200)의 구성의 일 예를 도시한 블록도이다.
도 3을 참조하면, 일 실시 예에 따른 이동 로봇(200)은 센서(210), 프로세서(220), 구동기(230) 및 통신부(240)를 포함할 수 있다.
일 실시 예에 따른 센서(210)는 이동 로봇(200)의 주변 상황에 대한 정보를 획득할 수 있다. 일 실시 예에서, 센서(210)는 SLAM 기반으로 슬램 지도를 생성하기 위한 하나 이상의 센서 모듈을 포함할 수 있고, 예를 들면, 3D 라이더, 카메라, 자이로스코프, 가속도센서 및 지자계 센서를 포함하는 IMU(Inertial Measurement Unit) 및 GPS 모듈을 포함하여 구현될 수 있으나, 이에 제한되지 않으며, 그밖에도, 이동 로봇(200)의 자율 구동에 이용될 수 있는 다양한 센서 모듈들을 포함할 수 있다.
일 실시 예에 따른 프로세서(220)는 센서(210)로부터 획득된 정보에 기초하여 생성되고 이동 로봇(200)의 자율 주행에 이용되는 슬램 지도를 획득할 수 있고, 획득된 슬램 지도를 로봇 서비스 시스템(100)에 전송할 수 있다. 예를 들면, 프로세서(220)는 이동 가능 영역을 자율 주행하면서 생성된 센싱 데이터를 이용하여 해당 이동 가능 영역에 대한 슬램 지도를 생성할 수 있으며, 로봇 서비스 시스템(100)으로부터 수신되는 제어 신호에 기반하여 동작할 수 있다.
일 실시 예에 따른 프로세서(220)는 로봇 서비스 시스템(100)이 이동 로봇(200)의 이동 가능 영역에 대한 시설물의 정보 및 슬램 지도가 획득된 이후 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하면, 로봇 서비스 시스템(100)으로부터 시설물 지도와 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득할 수 있다.
다른 일 실시 예에 따른 프로세서(220)는 상술한 로봇 서비스 시스템(100)의 기능을 포함할 수 있고, 로봇 서비스 시스템 (100)으로부터 이동 로봇(200)의 이동 가능 영역에 대한 시설물의 정보 및 슬램 지도가 획득된 이후 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득할 수 있으며, 시설물 지도와 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득할 수 있다.
일 실시 예에 따른 프로세서(220)는 업데이트된 슬램 지도에 따른 임무 컨텐츠의 수행을 위한 제어 신호를 출력할 수 있고, 예를 들면, 임무 컨텐츠의 수행을 위해 구동기(230)를 구동시켜 업데이트된 슬램 지도에 기반하여 특정 장소로 이동하면서 임무 컨텐츠를 수행하기 위해 하나 이상의 기능이 수행되도록 제어할 수 있다.
일 실시 예에 따른 프로세서(220)는 이동 로봇(200)의 동작 전반을 제어하는 CPU(central processor unit)로 구현될 수 있고, 센서(210), 구동기(230) 및 통신부(240)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다.
일 실시 예에 따른 구동기(230)는 이동 로봇(200)의 이동 또는 기능 수행을 위한 하나 이상의 물리적 구동 모듈을 포함할 수 있고, 예를 들면, 전동 바퀴, 복수의 자유도(예: (예: 6축 자유도)를 가지는 로봇암 또는 다리, 구동 모터 및 드론 모듈 중 하나 이상을 포함할 수 있으나, 이에 제한되지 않으며, 이동 로봇(200)의 자율 구동에 이용될 수 있는 다양한 구동 모듈들을 포함할 수 있다.
일 실시 예에 따른 통신부(240)는 다른 디바이스와 네트워크를 통해 연결될 수 있는 유선 또는 무선의 통신 모듈을 포함할 수 있고, 예를 들면, 로봇 서비스 시스템(100)과 통신하여 상술되었거나 후술될 또는 그밖의 다양한 정보들을 송수신할 수 있다.
일 실시 예에 따른 이동 로봇(200)의 보다 상세한 구성의 일 예에 관해서는 이하에서 도 7을 참조하며 후술하도록 한다.
또한, 도 3에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 이동 로봇(200)에 더 포함될 수 있음을 관련 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 예를 들면, 이동 로봇(200)는 사용자 입력을 수신하거나 출력하기 위한 입출력 인터페이스나 출력 정보를 시각화하기 위한 디스플레이 등을 더 포함할 수 있다. 또한, 다른 실시 예에 따를 경우, 도 3에 도시된 구성요소들 중 일부는 생략될 수 있다.
도 4는 일 실시 예에 따른 로봇 서비스 시스템(100)이 이동 로봇(200)의 제어에 이용되는 지도를 관리하는 방법의 일 예를 도시한 흐름도이다.
도 4는 도 1 내지 도 3에 개시된 로봇 서비스 시스템(1000)의 구성 요소들이 동작하는 모든 실시 예를 참조하여 이해될 수 있다.
단계 S410 에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 이동 로봇(200)에 포함된 하나 이상의 센서(210)로부터 획득된 정보에 기초하여 생성되고, 이동 로봇(200)의 자율 주행에 이용되는 슬램 지도를 획득할 수 있다. 예를 들면, 로봇 서비스 시스템(100)은 기설정 주기에 따라 이동 로봇(200)으로부터 슬램 지도를 수신하거나, 사용자(예: 관리자)의 입력에 기초하여 이동 로봇(200)으로부터 슬램 지도를 수신할 수 있다.
단계 S420 에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 이동 로봇(200)의 이동 가능 영역에 대한 시설물의 정보 및 슬램 지도가 획득된 이후 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득할 수 있다. 예를 들면, 로봇 서비스 시스템(100)은 관리자에 의한 등록에 기반하여 시설물의 정보 및 하나 이상의 관심지점을 포함하는 시설물 지도를 획득할 수 있다.
단계 S430 에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 시설물 지도와 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득할 수 있다. 일 실시 예에서, 업데이트된 슬램 지도는 시설물의 정보, 하나 이상의 관심지점, 임무 컨텐츠 및 정체 구역 중 적어도 하나를 포함할 수 있다.
단계 S440 에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 업데이트된 슬램 지도를 이동 로봇(200)에 제공할 수 있다. 예를 들면, 로봇 서비스 시스템(100)은 시설물의 변경 사항에 대한 정보가 반영되어 시설물의 정보 및 하나 이상의 관심지점을 포함하는 업데이트된 슬램 지도를 이동 로봇(200)에 전송하여 이동 로봇(200)이 업데이트된 슬램 지도를 이용하여 자율 주행을 하도록 제어할 수 있다.
본 발명의 일 실시 예에 따르면, 로봇 서비스 시스템(100)은 이동 로봇(200)에서 이용되는 슬램 지도와 시설물 지도를 매핑하여 통합 관리함으로써, 이동 로봇(200)을 통한 별도의 계측 과정 없이도 시설물 지도의 변경 사항을 효율적으로 슬램 지도에 간편하게 반영하여 이동 로봇(200)에서 이용되도록 지원할 수 있다.
본 발명의 일 실시 예에 따르면, 로봇 서비스 시스템(100)은 시설물 지도의 변경 사항을 슬램 지도에 변환하여 반영함으로써, 이동 로봇(200)에서 이용되는 슬램 지도를 효율적이면서도 높은 신뢰성을 가지도록 지도를 제작할 수 있다.
도 5는 도 1에 있는 로봇 서비스 시스템(100)의 구성의 다른 일 예를 도시한 블록도이다.
도 5를 참조하면, 일 실시 예에 따른 로봇 서비스 시스템(100)은 프로세서(110), 통신부(120), 저장부(130), 로봇 관제부(140), 지도 관리부(150), 컨텐츠 관리부(160), 로봇 임무 관리부(170), 로봇 데이터 관리부(180) 및 서비스 관리부(190)를 포함할 수 있다.
일 실시 예에 따른 로봇 관제부(140)는 지도를 기반으로 이동 로봇(200)의 현재 위치 및 상태를 확인할 수 있고, 이동 로봇(200)에 대한 원격 제어 명령을 수행할 수 있고, 임무 스케쥴링 및 동작 현황을 관리할 수 있고, 관심지점 기반 컨텐츠 서비스를 제공할 수 있다.
일 실시 예에 따른 지도 관리부(150)는 상술한 지도 매핑 기능을 포함하며, 이동 로봇(200)에서 사용하는 슬램 지도와 시설물 지도를 매핑하여 통합 관리할 수 있고, 이동 로봇(200)에서 생성된 좌표정보에 기초하여 로봇 운용 환경 주위에 분포된 시설물과 복수의 관심지점을 등록 및 관리할 수 있고, 시설물 지도를 기준으로 이동 로봇(200)의 진입 가능구역(예: 로봇 서비스 가능구역) 및 진입 금지구역(예: 진입이 허가되지 않은 시설물 및 장애물에 대한 금지구역)을 설정 및 관리할 수 있다.
일 실시 예에 따른 컨텐츠 관리부(160)는 관리자 연관된 관리자 단말 설치된 로봇 서비스 어플리케이션을 통해 관리자에 의한 입력을 수신하여 임무 컨텐츠를 위한 컨텐츠 리소스를 등록 및 관리할 수 있고, 시설물의 위치정보와 연계하여 컨텐츠 서비스가 가능하도록 관심지점 연계 및 버전을 관리할 수 있다.
일 실시 예에 따른 로봇 임무 관리부(170)는 이동 로봇(200)의 임무 컨텐츠를 등록 및 관리할 수 있고, 이동 로봇(200)에 설치된 로봇 서비스를 위한 어플리케이션의 버전을 관리할 수 있고, 상술한 임무 스케쥴링을 통해 이동 로봇(200)이 임무 컨텐츠를 수행할 시간을 설정할 수 있으며 이동 로봇(200)이 할당된 임무 컨텐츠를 1회 또는 반복 수행할 수 있도록 관리할 수 있다.
일 실시 예에 따른 로봇 데이터 관리부(180)는 이동 로봇(200)에 설치된 로봇 서비스 플랫폼 에이전트(222)를 통해 이동 로봇(200)로부터 수신되는 로봇 데이터를 수집 및 분석할 수 있다.
일 실시 예에 따른 서비스 관리부(190)는 사용자, 이동 로봇(200) 또는 컨텐츠 서비스 운영에 대한 통계 정보를 제공할 수 있다.
일 실시 예에 따른 프로세서(110)는 통신부(120), 저장부(130), 로봇 관제부(140), 지도 관리부(150), 컨텐츠 관리부(160), 로봇 임무 관리부(170), 로봇 데이터 관리부(180) 및 서비스 관리부(190)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 일 실시 예에 따른 로봇 관제부(140), 지도 관리부(150), 컨텐츠 관리부(160), 로봇 임무 관리부(170), 로봇 데이터 관리부(180) 및 서비스 관리부(190) 중 하나 이상은 프로세서(110)가 컴퓨터 프로그램을 기반으로 처리하는 서로 다른 기능들의 개념적인 표현에 해당될 수 있다.
도 6은 도 5에 있는 지도 관리부(140)의 구성의 일 예를 도시한 블록도이다.
도 6을 참조하면, 일 실시 예에 따른 지도 관리부(140)는 지도 표시 모듈(141), 지도 변환 모듈(142) 및 시설물 지도 편집 모듈(143)을 포함할 수 있다.
일 실시 예에 따른 지도 표시 모듈(141)은 사용자(예: 개발자, 운영자)가 용이하게 볼 수 있도록 지도 포맷 형식의 뷰어 기능을 제공할 수 있다.
일 실시 예에서, 지도 표시 모듈(141)는 슬램 지도 뷰어(141a), 모니터링 지도 뷰어(141b) 및 에스코트 지도 뷰어(141c)를 포함할 수 있다.
일 실시 예에 따른 슬램 지도 뷰어(141a)는 이동 로봇(200)에 의해 생성된 또는 사용자(예: 개발자, 운영자)가 등록한 슬램 지도를 시각화하는 기능을 제공하고, 이동 로봇(200)의 자율 주행 과정에서 슬램 지도의 뷰어로 이용될 수 있다.
일 실시 예에 따른 모니터링 지도 뷰어(141b)는 사용자(예: 개발자, 운영자)에 의해 편집된 2차원 형식의 시설물 지도(2D Facility Map)에 대한 뷰어 기능을 제공하고, 사용자(예: 개발자, 운영자)가 복수의 구역을 모니터링하거나 복수의 이동 로봇(200)을 관제하는 과정에서 모니터링용 지도의 뷰어로 이용될 수 있다.
일 실시 예에 따른 에스코트 지도 뷰어(141c)는 사용자(예: 개발자, 운영자)에 의해 편집된 3차원 형식의 시설물 지도(3D Facility Map)에 대한 뷰어를 제공하고, 이동 로봇(200)의 자율 주행을 통한 경로 안내(예: Escort) 임무 수행 과정에서 네비게이션 지도의 뷰어로 이용될 수 있다.
일 실시 예에 따른 지도 변환 모듈(142)은 이동 로봇(200)에서 이용하는 슬램 지도 및 사용자(예: 개발자, 운영자)에 의해 등록된 캐드(CAD) 지도를 벡터형 관제 지도 포맷(예: SVG)으로 변환하여 관제 가능한 시설물 지도 정보를 편집할 수 있도록 준비할 수 있다. 또한, 지도 변환 모듈(142)은 벡터형 관제 지도 포맷(예: SVG)으로 변환된 슬램 지도 및 캐드 지도를 이용하여 시설물 지도가 수정되면, 수정된 시설물 지도를 다시 이동 로봇(200)에서 사용하는 슬램 지도의 형식으로 변환할 수 있다.
일 실시 예에 따른 지도 변환 모듈(142)은 PNG-SVG 컨버터(142a), CAD-SVG 컨버터(142b), 2D-3D 컨버터(142c) 및 타일 맵 슬라이서(142d)를 포함할 수 있다.
일 실시 예에 따른 PNG-SVG 컨버터(142a)는 이동 로봇(200)에서 생성한 슬램 지도를 벡터형 관제 지도 포맷(예: SVG)으로 변환할 수 있다.
일 실시 예에 따른 CAD-SVG 컨버터(142b)는 사용자(예: 운영자)에 의해 제공된 캐드 지도를 벡터형 관제 지도 포맷(예: SVG)으로 변환할 수 있다.
일 실시 예에 따른 2D-3D 컨버터(142c)는 2D 형식의 벡터형 관제 지도 포맷(예: SVG)을 3D 형식의 관제 지도 포맷(예: 3DS)으로 변환할 수 있다.
일 실시 예에 따른 타일 맵 슬라이서(142d)는 이동 로봇(200)에서 이용하는 슬램 지도 및 시설물 지도를 매핑하여 통합 관리할 수 있고, 이동 로봇(200)에서 생성된 좌표 정보를 이용하여 변경된 부분(예: Tile)만 업데이트하도록 변환을 수행할 수 있다.
일 실시 예에 따른 시설물 지도 편집 모듈(143)은 시설물 지도 편집기(143a), 관심지점 컨텐츠 관리기(143b), 경로 토폴로지 편집기(143c), 추천 경로 편집기(143d), 좌표 관리기(143e) 및 금지 구역 편집기(143f)를 포함할 수 있다.
일 실시 예에 따른 시설물 지도 편집기(143a)는 사용자(예: 개발자/운영자)가 벡터형 관제 지도 포맷(예: SVG) 상에서 시설물의 위치 및 정보를 편집하고 관리할 수 있도록 GUI(graphical user interface) 기반 에디터를 제공한다.
일 실시 예에 따른 관심지점 컨텐츠 관리기(143b)는 상술한 관심지점(POI)을 설정 및 관리할 수 있고, 관심지점(POI)과 컨텐츠를 연계하여 해당 지점에서 컨텐츠 서비스가 가능하도록 사용자가 편집 및 관리할 수 있는 GUI 기반 에디터 제공한다.
일 실시 예에 따른 경로 토폴로지 편집기(143c)는 이동 로봇(200)이 이동 가능한 노드(Node)와 가장자리(Edge)를 연결하여 주행 가능한 경로 토폴로지(Path Topology)를 사용자가 편집 및 관리할 수 있는 GUI 기반 에디터를 제공한다.
일 실시 예에 따른 추천 경로 편집기(143d)는 이동 로봇(200)이 특정 서비스를 위해 경로 기반으로 이동하기 위해 복수의 관심지점과 그 순서를 사용자가 편집 및 관리할 수 있는 GUI 기반 에디터를 제공한다.
일 실시 예에 따른 좌표 관리기(143e)는 벡터형 관제 지도 포맷(예: SVG)을 이용하여 슬램 지도와 시설물 지도를 매핑할 수 있다.
일 실시 예에 따른 금지 구역 편집기(143f)는 시설물 지도를 기준으로 이동 로봇(200)의 진입 가능구역(예: 로봇 서비스 가능구역) 및 진입 금지구역(예: 진입이 허가되지 않은 시설물 및 장애물에 대한 금지구역)을 사용자가 편집 및 관리할 수 있는 GUI 기반 에디터를 제공할 수 있다.
도 7은 도 1에 있는 이동 로봇(200)의 구성의 다른 일 예를 도시한 블록도이다.
도 7을 참조하면, 일 실시 예에 따른 프로세서(220)는 컴퓨터 프로그램으로 구현된 로봇 애플리케이션(221), 로봇 서비스 플랫폼 에이전트(222) 및 로봇 소프트웨어(223) 중 하나 이상을 컴퓨터 프로그램 기반의 제어 명령을 통해 기능적으로 처리할 수 있다.
일 실시 예에 따른 프로세서(220)는 이동 로봇(200)에 탑재된 로봇 서비스 플랫폼 에이전트(222)를 실행시키고, 통신부(240)를 통해 로봇 서비스 시스템 (100)과 통신할 수 있다.
일 실시 예에 따른 프로세서(220)는 로봇 소프트웨어(223)를 통해 센서(210)로부터 수집되는 센싱 데이터, 센서(210)를 통해 생성되는 개별 지도, 자신의 상태 정보 및 위치 정보를 로봇 서비스 시스템(100)에 전송할 수 있다.
일 실시 예에 따른 프로세서(220)는 로봇 소프트웨어(223)를 통해 이동 로봇(200)이 자율 주행을 수행하기 위한 슬램 지도, 금지구역, 시설물 정보, 추천경로 및 위치 기반 컨텐츠를 다운로드 및 적용할 수 있다.
일 실시 예에 따른 프로세서(220)는 로봇 소프트웨어(223)를 통해 로봇 서비스 시스템(100)으로부터 수신된 임무 컨텐츠(예: 위치 이동)를 로봇 서비스 시스템(100)에 의해 설정된 주기에 따라 지정된 시간에 수행하거나 또는 즉시 수행할 수 있다.
일 실시 예에 따른 로봇 서비스 플랫폼 에이전트(222)는 로봇 관리 모듈(222a), 원격 제어 모듈(222b), 임무 컨텐츠 관리 모듈(222c), 지도 관리 모듈(222d), 상태 보고 모듈(222e), 이벤트 보고 모듈(222f) 및 로봇 서비스 에이전트(222)를 포함할 수 있다.
일 실시 예에 따른 로봇 관리 모듈(222a)은 이동 로봇(200)의 프로파일을 관리하고 인증을 수행할 수 있다.
일 실시 예에 따른 원격 제어 모듈(222b)은 이동 로봇 모델 별로 수행 가능한 사전 정의된 제어 명령을 수신 받아 지정된 시간 또는 즉시 임무를 수행하도록 제어할 수 있다.
일 실시 예에 따른 임무 컨텐츠 관리 모듈(222c)은 임무 컨텐츠의 다운로드 및 업데이트가 필요한 경우 다운로드 및 설치를 수행하고, 지정된 시간에 따라 임무 컨텐츠의 정보를 수신하여 실행 및 재생할 수 있다.
일 실시 예에 따른 지도 관리 모듈(222d)은 최신의 슬램 지도가 이용되도록 관리하여 이동 로봇(200)의 주행 상태가 최신의 슬램 지도를 이용하여 수행되도록 관리할 수 있고, 로봇 운용 환경 주위에 분포된 시설물과 복수의 관심지점, 진입 가능구역(예: 로봇 서비스 가능 구역) 및 진입 금지구역(예: 진입이 허가되지 않은 시설물 및 장애물에 대한 금지구역)에 대한 정보를 수신하여 적용할 수 있다.
일 실시 예에 따른 상태 보고 모듈(222e)은 이동 로봇(200)의 현재 상태 및 위치 정보 등을 로봇 서비스 시스템(100)에 송신할 수 있다.
일 실시 예에 따른 이벤트 보고 모듈(222f)은 이동 로봇(200)에서 생성되는 프로세서(220), 센서(210), 구동기(230)의 정보 및 로봇 서비스 시스템(1000) 전반에서 발생하는 이벤트를 로봇 서비스 시스템(100)에 송신할 수 있다.
도 8은 일 실시 예에 따른 로봇 서비스 시스템(100)이 이동 로봇(200)의 제어에 이용되는 지도를 관리하는 방법의 다른 일 예를 도시한 흐름도이다.
도 8은 도 1 내지 도 7에 개시된 로봇 서비스 시스템(1000)의 구성 요소들이 동작하는 모든 실시 예를 참조하여 이해될 수 있다.
단계 S801 에서 일 실시 예에 따른 이동 로봇(200)은 SLAM 기반의 자율 주행을 통해 슬램 지도를 획득할 수 있다.
단계 S802 에서 일 실시 예에 따른 이동 로봇(200)은 SLAM 기반의 자율 주행을 통해 슬램 지도를 갱신할 수 있다.
단계 S803에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 기설정 주기에 따라 또는 사용자에 의한 시설물 지도의 변경에 따라 이동 로봇(200)에 슬램 지도의 전송을 요청할 수 있고, 이동 로봇(200)은 가장 최근 갱신된 슬램 지도를 로봇 서비스 시스템(100)에 전송할 수 있다. 일 실시 예에 따른 로봇 서비스 시스템(100)은 그밖에도 위치 정보, 상태 정보 및 주변 정보를 이동 로봇(200)으로부터 더 수신할 수 있다.
단계 S804 에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 관리자에 의한 수정 요청에 기반하여 기저장된 시설물 지도에 대한 수정을 수행하여 수정된 시설물 지도를 획득할 수 있다.
단계 S805 에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 관리자에 의한 설정 요청에 기반하여 임무 컨텐츠 및 관심지역의 설정 정보를 획득할 수 있다. 일 실시 예에 따른 로봇 서비스 시스템(100)은 운영자에 의해 제공되는 캐드 지도 등을 더 수신할 수 있다.
단계 S806 에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 이동 로봇(200)으로부터 수신된 슬램 지도 및 캐드 지도를 벡터형 관제 지도 포맷(예: SVG)으로 변환하고, 단계 S807 에서 벡터형 관제 지도 포맷(예: SVG)으로 변환된 슬램 지도 및 캐드 지도를 가장 최근 수정된 시설물 지도와 매핑하여 시설물 지도에 대한 업데이트를 수행할 수 있으며, 단계 S808 에서 업데이트된 시설물 지도를 이동 로봇(200)에서 이용되는 슬램 지도의 이미지 형식(예: PNG)으로 변환할 수 있다. 상술한 변환을 통해 업데이트된 슬램 지도에는 시설물 지도에 변경 사항에 대한 시설물의 정보 및 하나 이상의 관심지점이 포함될 수 있다.
단계 S809 에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 복수의 이동 로봇(200)으로부터 수신되는 위치 정보를 이용하여 복수의 이동 로봇(200) 중 어느 하나에 임무 컨텐츠를 할당하여 할당된 이동 로봇(200)에 임무 컨텐츠, 임무 시간 및 이동 경로를 포함하는 임무 스케줄링 정보를 제공할 수 있고, 도 8에 도시된 이동 로봇(200)에 해당 임무 컨텐츠가 할당된 경우를 가정하면, 단계 S810 에서 임무 컨텐츠, 정체 구역 및 추천 경로를 더 포함하는 업데이트된 슬램 지도를 획득할 수 있다.
단계 S811 에서 일 실시 예에 따른 로봇 서비스 시스템(100)은 업데이트된 슬램 지도를 이동 로봇(200)에 전송할 수 있으며, 단계 S812 에서 이동 로봇(200)은 업데이트된 슬램 지도를 이용하여 추천 경로에 따라 임무 위치로 자율 주행하면서 할당된 임무 컨텐츠를 수행하고, 진입 금지구역으로 설정된 구역은 진입하지 않고 정체 구역으로 설정된 구역은 우회하는 방식으로 자율 주행 전반을 제어할 수 있다.
도 8에 도시된 단계들의 순서 및 조합은 일 실시 예이고, 명세서에 기재된 각 구성요소들의 본질적인 특성에서 벗어나지 않는 범위에서 순서, 조합, 분기, 기능 및 그 수행 주체가 추가, 생략 또는 변형된 형태로 다양하게 실시될 수 있음을 알 수 있다. 예를 들면, 시설물 지도가 수정되면, 이에 따라 로봇 서비스 시스템(100)이 이동 로봇(200)에 슬램 지도를 요청하여 이동 로봇(200)으로부터 슬램 지도를 획득한 후 매핑을 수행할 수 있다. 또한, 상기에서는 일 예시로서 시설물 내의 바닥을 주행하는 이동 주행식의 이동 로봇(200)의 실시 예를 중심으로 기술하였으나, 이에 제한되지 않으며, 이동 비행식이나 이동 보행식의 이동 로봇(200)이 이용될 수도 있으며, 그밖에 서비스 로봇으로 이용될 수 있는 다양한 형태의 실시 예들이 적용될 수 있다.
도 9는 일 실시 예에 따른 로봇 서비스 시스템(100)이 지도 관리를 위해 시설물 또는 관심지점의 좌표를 산출하는 일 예시 동작을 설명하기 위한 도면이다.
도 9a 내지 도 9h를 참조하면, 일 실시 예에 따른 로봇 서비스 시스템(100)은 이동 로봇(200)에서 이용하는 슬램 지도와 시설물 지도를 매핑하여 통합 관리하기 위해 이동 로봇(200), 주변의 시설물 또는 관심지점에 대한 좌표를 산출할 수 있고, 예를 들면, 좌표 관리기(143e)를 통해 이동 로봇(200)에서 생성된 좌표정보에 기초하여 로봇 운용 환경 주위에 분포된 시설물과 복수의 관심지점의 좌표를 산출할 수 있으며, 기저장된 회전 각도 알고리즘에 따른 수식을 적용해 시설물의 회전 각도를 계산하여 설정할 수 있다.
도 10은 일 실시 예에 따른 로봇 서비스 시스템(100)이 통합 관리하는 지도들의 일 예시를 설명하기 위한 도면이다.
도 10(a)를 참조하면, 일 실시 예에 따른 슬램 지도는 이동 로봇(200)이 건물을 주행하며 라이더 센서를 통해 수집된 센싱 정보를 이용하여 생성한 로봇 내의 개별 지도에 해당한다. 이러한 슬램 지도는 이동 로봇(200)의 자율 주행 과정에서 이용될 수 있으나, 사용자가 이해하기 어려운 형태로 도시화되어 사용자에 의한 편집 및 통합 관리가 어려운 측면이 있다.
도 10(b)를 참조하면, 일 실시 예에 따른 설계 지도는 설계자, 운영자 또는 관리자에 의해 등록 가능한 지도로서, 실제 건물 형태에 가장 가깝다는 특징이 있다.
도 10(c)를 참조하면, 일 실시 예에 따른 시설물 지도는 실내 지도 상에서 사용자가 시설물을 등록하거나 편집하는데 이용되는 지도를 나타내고, 시설물에 관한 변경 사항 등을 포함할 수 있다. 예를 들면, 로봇 서비스 시스템(100)은 이동 로봇(200)으로부터 수신되는 슬램 지도와 관리자에 의해 등록된 시설물 지도를 매핑하여 통합 관리할 수 있고, 사용자에 의한 편집 요청에 기반하여 시설물 지도에 포함된 시설물에 관한 정보를 갱신할 수 있다.
도 10(d)를 참조하면, 일 실시 예에 따른 관제 지도는 이동 로봇(200)의 위치를 실시간으로 모니터링하는데 이용되는 지도를 나타낸다. 예를 들면, 로봇 서비스 시스템(100)은 이동 로봇(200)으로부터 수신되는 위치 정보를 관제 지도는 상에 표시하여 실시간 모니터링을 지원할 수 있다.
도 11은 일 실시 예에 따른 로봇 서비스 시스템(100)이 시설물 지도와 슬램 지도를 매핑하여 관제 지도를 생성하는 일 예시 동작을 설명하기 위한 도면이다.
도 11을 참조하면, 일 실시 예에 따른 로봇 서비스 시스템(100)은 로봇 내 슬램 지도를 서비스 운영자가 쉽게 관리하기 위한 실내 지도로서 관제 지도를 생성할 수 있다. 예를 들면, 로봇 서비스 시스템(100)은 운영자에 의해 등록된 설계 도면을 지도 변환하여 기본 실내 지도를 생성할 수 있고, 사용자에 의한 편집을 통해 기본 실내 지도에 시설물 정보 등을 부가하여 시설물 지도를 생성할 수 있다.
또한, 로봇 서비스 시스템(100)은 이동 로봇(200)으로부터 슬램 지도를 수신하고, 수신된 슬램 지도와 시설물 지도의 좌표를 매핑하여 통합 관리할 수 있으며, 슬램 지도에 시설물 지도에 포함된 관심지점(POI), 시설물 및 금지구역에 대한 정보를 반영하여 업데이트를 수행하고 업데이트된 슬램 지도를 이동 로봇(200)에 제공할 수 있다.
또한, 로봇 서비스 시스템(100)은 시설물 지도와 슬램 지도를 매핑하고 통합 관리하며 서비스 운영자가 쉽게 관리하기 위한 관제 지도를 생성 및 운영할 수 있고, 복수의 이동 로봇(200)으로부터 실시간 위치 정보를 수신하여 관제 지도 상에 서비스 지역 내 전체 이기종의 이동 로봇(200)들에 대한 실시간 로봇 위치를 표시하여 관리자의 용이한 모니터링을 지원할 수 있다.
그밖에도, 상술한 것처럼, 로봇 서비스 시스템(100)은 이동 로봇(200)에 위치 기반의 임무 컨텐츠를 포함하는 명령 신호를 전송하여 이동 로봇(200)을 원격 제어할 수 있고, 이동 로봇(200)이 서비스해야하는 지점을 나타내는 관심지점(POI), 시설물 및 금지구역에 대한 정보를 등록, 설정 및 편집할 수 있다.
도 12는 일 실시 예에 따른 로봇 서비스 시스템(100)이 사용자가 시설물 지도를 편집 제작할 수 있도록 지도 편집 툴을 지원하는 일 예시 동작을 설명하기 위한 도면이다.
도 12를 참조하면, 로봇 서비스 시스템(100)은 사용자에게 시설물 지도 편집 툴을 제공하여 사용자의 입력을 기초로 이동 로봇(200)이 서비스해야하는 관심지점(POI), 시설물, 금지구역에 대한 정보를 등록, 설정 및 편집할 수 있고, 변경이 빈번한 POI, 시설물, 금지구역 정보를 실시간으로 이동 로봇(200)에 전송하여 POI, 시설물, 금지구역 정보에 대한 실시간 원격 관리를 수행할 수 있다.
예를 들면, 로봇 서비스 시스템(100)은 사용자가 건물의 외곽만 있는 기본 실내 지도 상에서 직접 시설물의 정보를 편집하여 시설물 지도를 제작할 수 있는 시설물 지도 편집 툴을 제공하여 시설물 지도의 용이한 편집을 지원할 수 있다.
본 개시는 지도 관리 방법 및 시스템을 제공할 수 있으며, 로봇 서비스 시스템(100)은 지도 관리 시스템을 포함할 수 있고, 로봇 서비스 시스템(100)에 의해 수행되는 이동 로봇의 제어에 이용되는 지도를 관리하는 방법은 지도 관리 방법을 포함할 수 있다.
한편, 상술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 램, USB, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 로봇 서비스 시스템 110: 프로세서
120: 통신부 130: 저장부
200: 이동 로봇 210: 센서
220: 프로세서 230: 구동기
240: 통신부

Claims (20)

  1. 로봇의 제어에 이용되는 지도를 관리하는 방법에 있어서,
    이동 로봇에 포함된 하나 이상의 센서로부터 획득된 정보에 기초하여 생성되고, 상기 이동 로봇의 자율 주행에 이용되는 슬램 지도를 획득하는 단계;
    상기 이동 로봇의 이동 가능 영역에 대한 시설물의 정보 및 상기 슬램 지도가 획득된 이후 상기 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하는 단계;
    상기 시설물 지도와 상기 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득하는 단계; 및
    상기 업데이트된 슬램 지도를 상기 이동 로봇에 제공하는 단계;를 포함하고,
    상기 업데이트된 슬램 지도를 획득하는 단계는
    상기 슬램 지도를 상기 시설물 지도의 수정 시 이용되는 제 1 지도 포맷으로 변환하는 단계;
    상기 시설물 지도와 상기 변환된 슬램 지도의 매핑 결과를 이용하여 상기 시설물 지도를 업데이트하는 단계; 및
    상기 업데이트된 시설물 지도를 상기 이동 로봇의 자율 주행 시 이용되는 제 2 지도 포맷으로 변환하여 상기 업데이트된 슬램 지도를 획득하는 단계;를 포함하고,
    상기 시설물의 변경 사항에 대한 정보는
    상기 슬램 지도가 획득된 이후로 변경된 상기 시설물의 시설명, 식별자, 설치목적, 설치유형, 설치기간 및 공간좌표 중 적어도 하나에 대한 정보를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 시설물 지도를 획득하는 단계는
    상기 이동 가능 영역에 대한 바운더리를 포함하는 기본 시설물 지도를 획득하는 단계;
    상기 기본 시설물 지도에 대한 사용자 입력에 기초하여 상기 시설물의 정보 및 상기 시설물의 변경 사항에 대한 정보를 획득하는 단계; 및
    상기 기본 시설물 지도, 상기 시설물의 정보 및 상기 시설물의 변경 사항에 대한 정보를 이용하여 상기 시설물 지도를 획득하는 단계;를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 제 1 지도 포맷은 2차원 벡터 방식의 SVG, AI 및 VML 중 적어도 하나 또는 3차원 이미지 기반의 DAE 및 3DS 중 적어도 하나를 포함하고,
    상기 제 2 지도 포맷은 래스터 방식의 PNG, JPEG 및 GIF 중 적어도 하나를 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 업데이트된 슬램 지도를 획득하는 단계는
    PNG-SVG 컨버터, CAD-SVG 컨버터 및 2D-3D 컨버터 중 하나 이상을 이용하여 상기 제 1 지도 포맷 또는 상기 제 2 지도 포맷으로의 변환을 수행하는 단계를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 업데이트된 슬램 지도를 획득하는 단계는
    타일 맵 슬라이서(Tile Map Slicer)를 이용하여 상기 업데이트된 슬램 지도를 획득하는 단계를 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 업데이트된 슬램 지도는
    상기 시설물의 정보, 하나 이상의 관심지점, 임무 컨텐츠 및 정체 구역 중 적어도 하나를 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 업데이트된 슬램 지도를 획득하는 단계는
    사용자의 입력 또는 상기 시설물 지도에 기초하여 상기 하나 이상의 관심지점을 결정하는 단계;
    상기 이동 로봇으로부터 수신되는 위치 정보를 이용하여 상기 이동 로봇로부터 기설정 거리 이내에 위치한 시설물 및 상기 하나 이상의 관심지점의 좌표 정보를 산출하는 단계 및
    상기 산출된 좌표 정보를 이용하여 상기 이동 로봇의 상기 기설정 거리 이내에 위치한 시설물 또는 상기 하나 이상의 관심지점에 대한 진입을 제어하는 단계를 더 포함하는, 방법.
  8. 제 6 항에 있어서,
    임무 내용, 임무 위치 및 기한을 포함하는 상기 임무 컨텐츠를 획득하는 단계;
    상기 업데이트된 슬램 지도 및 복수의 이동 로봇으로부터 수신되는 위치 정보를 이용하여 상기 복수의 이동 로봇 중 어느 하나에 상기 임무 컨텐츠를 할당하는 단계; 및
    상기 할당된 어느 하나의 이동 로봇에 상기 임무 컨텐츠, 임무 시간 및 이동 경로를 포함하는 임무 스케줄링 정보를 제공하는 단계;를 더 포함하고,
    상기 복수의 이동 로봇 중 어느 하나에 상기 임무 컨텐츠를 할당하는 단계는
    상기 임무 컨텐츠의 착수까지 걸리는 시간이 짧은 정도를 나타내는 신속성, 상기 임무 컨텐츠의 특성과 상기 임무 컨텐츠가 할당되는 이동 로봇의 특성 간의 관련성을 나타내는 임무 적합성, 및 시설물 관리에 적합한 정도를 나타내는 관리 적합성에 기초하여, 상기 복수의 이동 로봇 중 하나에 상기 임무 컨텐츠를 할당하는, 방법.
  9. 제 8 항에 있어서,
    상기 임무 스케줄링 정보를 제공하는 단계는
    상기 복수의 이동 로봇으로부터 수신되는 위치 정보 및 주변 정보를 이용하여 상기 정체 구역을 결정하는 단계; 및
    상기 결정된 정체 구역을 회피하는 추천 경로를 생성하여 상기 임무 스케줄링 정보를 갱신하는 단계;를 더 포함하는, 방법
  10. 로봇의 제어에 이용되는 지도를 관리하는 로봇 서비스 시스템에 있어서,
    이동 로봇에 포함된 하나 이상의 센서로부터 획득된 정보에 기초하여 생성되고, 상기 이동 로봇의 자율 주행에 이용되는 슬램 지도를 획득하고,
    상기 이동 로봇의 이동 가능 영역에 대한 시설물의 정보 및 상기 슬램 지도가 획득된 이후 상기 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하고,
    상기 시설물 지도와 상기 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득하는 프로세서; 및
    상기 업데이트된 슬램 지도를 상기 이동 로봇에 제공하는 통신부;를 포함하고,
    상기 프로세서는
    상기 슬램 지도를 상기 시설물 지도의 수정 시 이용되는 제 1 지도 포맷으로 변환하고, 상기 시설물 지도와 상기 변환된 슬램 지도의 매핑 결과를 이용하여 상기 시설물의 변경 사항이 반영되도록 상기 시설물 지도를 업데이트하고, 상기 업데이트된 시설물 지도를 상기 이동 로봇의 자율 주행 시 이용되는 제 2 지도 포맷으로 변환하여 상기 업데이트된 슬램 지도를 획득하고,
    상기 시설물의 변경 사항에 대한 정보는
    상기 슬램 지도가 획득된 이후로 변경된 상기 시설물의 시설명, 식별자, 설치목적, 설치유형, 설치기간 및 공간좌표 중 적어도 하나에 대한 정보를 포함하는, 로봇 서비스 시스템.
  11. 제 10 항에 있어서,
    상기 프로세서는
    상기 이동 가능 영역에 대한 바운더리를 포함하는 기본 시설물 지도를 획득하고,
    상기 기본 시설물 지도에 대한 사용자 입력에 기초하여 상기 시설물의 정보 및 상기 시설물의 변경 사항에 대한 정보를 획득하고,
    상기 기본 시설물 지도, 상기 시설물의 정보 및 상기 시설물의 변경 사항에 대한 정보를 이용하여 상기 시설물 지도를 획득하는, 로봇 서비스 시스템.
  12. 제 10 항에 있어서,
    상기 제 1 지도 포맷은 2차원 벡터 방식의 SVG, AI 및 VML 중 적어도 하나 또는 3차원 이미지 기반의 DAE 및 3DS 중 적어도 하나를 포함하고,
    상기 제 2 지도 포맷은 래스터 방식의 PNG, JPEG 및 GIF 중 적어도 하나를 포함하는, 로봇 서비스 시스템.
  13. 제 10 항에 있어서,
    상기 프로세서는
    PNG-SVG 컨버터, CAD-SVG 컨버터 및 2D-3D 컨버터 중 하나 이상을 이용하여 상기 제 1 지도 포맷 또는 상기 제 2 지도 포맷으로의 변환을 수행하는, 로봇 서비스 시스템.
  14. 제 10 항에 있어서,
    상기 프로세서는
    타일 맵 슬라이서(Tile Map Slicer)를 이용하여 상기 업데이트된 슬램 지도를 획득하는, 로봇 서비스 시스템.
  15. 제 10 항에 있어서,
    상기 업데이트된 슬램 지도는
    시설물 정보, 하나 이상의 관심지점(POI), 임무 컨텐츠 및 정체 구역 중 적어도 하나를 포함하는, 로봇 서비스 시스템.
  16. 제 15 항에 있어서,
    상기 프로세서는
    상기 시설물 지도에 기초하여 상기 시설물 정보 및 상기 하나 이상의 관심지점을 결정하고,
    상기 업데이트된 슬램 지도와 상기 이동 로봇으로부터 수신되는 위치 정보를 이용하여 상기 이동 로봇의 주위에 위치한 시설물 및 상기 하나 이상의 관심지점의 좌표 정보를 산출하고,
    상기 산출된 좌표 정보를 이용하여 상기 이동 로봇의 상기 시설물 또는 상기 하나 이상의 관심지점에 대한 진입을 제어하는, 로봇 서비스 시스템.
  17. 제 15 항에 있어서,
    상기 프로세서는
    임무 내용, 위치 및 기한을 포함하는 상기 임무 컨텐츠를 획득하고,
    상기 업데이트된 슬램 지도 및 복수의 이동 로봇으로부터 수신되는 위치 정보를 이용하여 상기 복수의 이동 로봇 중 어느 하나에 상기 임무 컨텐츠를 할당하고,
    상기 할당된 어느 하나의 이동 로봇에 상기 임무 컨텐츠, 임무 시간 및 이동 경로를 포함하는 임무 스케줄링 정보를 제공하고,
    상기 임무 컨텐츠의 착수까지 걸리는 시간이 짧은 정도를 나타내는 신속성, 상기 임무 컨텐츠의 특성과 상기 임무 컨텐츠가 할당되는 이동 로봇의 특성 간의 관련성을 나타내는 임무 적합성, 및 시설물 관리에 적합한 정도를 나타내는 관리 적합성에 기초하여, 상기 복수의 이동 로봇 중 하나에 상기 임무 컨텐츠를 할당하는, 로봇 서비스 시스템.
  18. 제 17 항에 있어서,
    상기 프로세서는
    상기 복수의 이동 로봇으로부터 수신되는 위치 정보 및 주변 정보를 이용하여 상기 정체 구역을 결정하고,
    상기 결정된 정체 구역을 회피하는 추천 경로를 생성하여 상기 임무 스케줄링 정보를 갱신하는, 로봇 서비스 시스템.
  19. 이동 로봇이 임무 컨텐츠를 수행하는 방법에 있어서,
    상기 이동 로봇에 포함된 하나 이상의 센서로부터 획득된 정보에 기초하여 생성되고, 상기 이동 로봇의 자율 주행에 이용되는 슬램 지도를 획득하는 단계;
    상기 이동 로봇의 이동 가능 영역에 대한 시설물의 정보 및 상기 슬램 지도가 획득된 이후 상기 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하는 단계;
    상기 시설물 지도와 상기 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득하는 단계; 및
    상기 업데이트된 슬램 지도를 이용하여 임무 컨텐츠를 수행하는 단계;를 포함하고,
    상기 업데이트된 슬램 지도를 획득하는 단계는
    상기 슬램 지도를 상기 시설물 지도의 수정 시 이용되는 제 1 지도 포맷으로 변환하는 단계;
    상기 시설물 지도와 상기 변환된 슬램 지도의 매핑 결과를 이용하여 상기 시설물 지도를 업데이트하는 단계; 및
    상기 업데이트된 시설물 지도를 상기 이동 로봇의 자율 주행 시 이용되는 제 2 지도 포맷으로 변환하여 상기 업데이트된 슬램 지도를 획득하는 단계;를 포함하고,
    상기 시설물의 변경 사항에 대한 정보는
    상기 슬램 지도가 획득된 이후로 변경된 상기 시설물의 시설명, 식별자, 설치목적, 설치유형, 설치기간 및 공간좌표 중 적어도 하나에 대한 정보를 포함하는 방법.
  20. 임무 컨텐츠를 수행하는 이동 로봇에 있어서,
    상기 이동 로봇의 주변 상황에 대한 정보를 획득하는 센서; 및
    상기 센서로부터 획득된 정보에 기초하여 생성되고, 상기 이동 로봇의 자율 주행에 이용되는 슬램 지도를 획득하고,
    상기 이동 로봇의 이동 가능 영역에 대한 시설물의 정보 및 상기 슬램 지도가 획득된 이후 상기 시설물의 변경 사항에 대한 정보를 포함하는 시설물 지도를 획득하고,
    상기 시설물 지도와 상기 슬램 지도를 매핑하여 업데이트된 슬램 지도를 획득하고,
    상기 업데이트된 슬램 지도에 따른 임무 컨텐츠의 수행을 위한 제어 신호를 출력하는 프로세서;를 포함하고,
    상기 프로세서는
    상기 슬램 지도를 상기 시설물 지도의 수정 시 이용되는 제 1 지도 포맷으로 변환하고, 상기 시설물 지도와 상기 변환된 슬램 지도의 매핑 결과를 이용하여 상기 시설물 지도를 업데이트하고, 상기 업데이트된 시설물 지도를 상기 이동 로봇의 자율 주행 시 이용되는 제 2 지도 포맷으로 변환하여 상기 업데이트된 슬램 지도를 획득하고,
    상기 시설물의 변경 사항에 대한 정보는
    상기 슬램 지도가 획득된 이후로 변경된 상기 시설물의 시설명, 식별자, 설치목적, 설치유형, 설치기간 및 공간좌표 중 적어도 하나에 대한 정보를 포함하는 이동 로봇.
KR1020190166716A 2019-12-13 2019-12-13 지도 관리 방법 및 시스템 KR102262378B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190166716A KR102262378B1 (ko) 2019-12-13 2019-12-13 지도 관리 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190166716A KR102262378B1 (ko) 2019-12-13 2019-12-13 지도 관리 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102262378B1 true KR102262378B1 (ko) 2021-06-08

Family

ID=76399674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190166716A KR102262378B1 (ko) 2019-12-13 2019-12-13 지도 관리 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102262378B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102534829B1 (ko) * 2022-12-13 2023-05-26 (주)로우코리아 드론을 이용하여 촬영된 영상에 지상의 객체에 대한 정보를 표시하는 장치 및 방법과 이를 위한 프로그램

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140126539A (ko) * 2013-04-23 2014-10-31 삼성전자주식회사 이동로봇, 사용자단말장치 및 그들의 제어방법
KR20160040674A (ko) * 2013-08-06 2016-04-14 퀄컴 인코포레이티드 궤적을 이용한 포지션 추정을 위한 방법 및 장치
KR101876968B1 (ko) 2016-10-21 2018-07-12 네이버 주식회사 실내 자율 주행 로봇을 위한 제어 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140126539A (ko) * 2013-04-23 2014-10-31 삼성전자주식회사 이동로봇, 사용자단말장치 및 그들의 제어방법
KR20160040674A (ko) * 2013-08-06 2016-04-14 퀄컴 인코포레이티드 궤적을 이용한 포지션 추정을 위한 방법 및 장치
KR101876968B1 (ko) 2016-10-21 2018-07-12 네이버 주식회사 실내 자율 주행 로봇을 위한 제어 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102534829B1 (ko) * 2022-12-13 2023-05-26 (주)로우코리아 드론을 이용하여 촬영된 영상에 지상의 객체에 대한 정보를 표시하는 장치 및 방법과 이를 위한 프로그램

Similar Documents

Publication Publication Date Title
JP6731388B2 (ja) 室内自律走行ロボットのための制御方法、プログラム、システム、マッピングロボット及びサービスロボット
CN110832417B (zh) 使用高清地图为自主车辆生成路线
EP3785093B1 (en) Robot contextualization of map regions
US10841496B2 (en) Lidar to camera calibration based on edge detection
KR102096875B1 (ko) 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법
KR102169283B1 (ko) 자율주행 로봇을 이용한 지도 업데이트 방법 및 시스템
JP2020519987A (ja) 環境地図生成および位置整合のための方法ならびにシステム
US11694557B2 (en) Integrating air and ground data collection for improved drone operation
US11073400B2 (en) Map creation from hybrid data
US20190096250A1 (en) Systems and Methods for Determining Whether an Autonomous Vehicle Can Provide a Requested Service for a Rider
US11859990B2 (en) Routing autonomous vehicles using temporal data
US20220307851A1 (en) Autonomous vehicle augmented reality display for displaying contextual information
JP7351079B2 (ja) 制御装置、制御方法及びプログラム
KR20190143524A (ko) 장애물 회피에 기반하여 경유 지점을 주행하는 로봇 및 주행하는 방법
US20170176193A1 (en) Generation of Link Node Routing Graph Using a Straight Skeleton Algorithm
US11785430B2 (en) System and method for real-time indoor navigation
KR102043421B1 (ko) 실내 자율 주행 로봇을 위한 제어 방법 및 시스템
JP2024504990A (ja) 軌道予測方法及び装置、及び地図
KR102262378B1 (ko) 지도 관리 방법 및 시스템
US20220234621A1 (en) Augmented 3d map
WO2020154670A1 (en) Vehicle routing with local and general routes
Wagner et al. An approach for hybrid indoor/outdoor navigation
KR102112162B1 (ko) 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법
KR102555924B1 (ko) 증강현실 뷰를 사용하는 경로 안내 방법 및 장치
KR102504941B1 (ko) 자율주행 로봇을 이용한 사물주소 기반의 배달 방법 및 장치

Legal Events

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