KR102042046B1 - 분산 클라우드 기반의 자율주행 시스템 및 방법 - Google Patents

분산 클라우드 기반의 자율주행 시스템 및 방법 Download PDF

Info

Publication number
KR102042046B1
KR102042046B1 KR1020180035008A KR20180035008A KR102042046B1 KR 102042046 B1 KR102042046 B1 KR 102042046B1 KR 1020180035008 A KR1020180035008 A KR 1020180035008A KR 20180035008 A KR20180035008 A KR 20180035008A KR 102042046 B1 KR102042046 B1 KR 102042046B1
Authority
KR
South Korea
Prior art keywords
node
cloud server
robot
identified
driving route
Prior art date
Application number
KR1020180035008A
Other languages
English (en)
Other versions
KR20190078454A (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 경희대학교 산학협력단
Publication of KR20190078454A publication Critical patent/KR20190078454A/ko
Application granted granted Critical
Publication of KR102042046B1 publication Critical patent/KR102042046B1/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/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0016Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement characterised by the operator's input device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62BHAND-PROPELLED VEHICLES, e.g. HAND CARTS OR PERAMBULATORS; SLEDGES
    • B62B3/00Hand carts having more than one axis carrying transport wheels; Steering devices therefor; Equipment therefor
    • B62B3/14Hand carts having more than one axis carrying transport wheels; Steering devices therefor; Equipment therefor characterised by provisions for nesting or stacking, e.g. shopping trolleys
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62BHAND-PROPELLED VEHICLES, e.g. HAND CARTS OR PERAMBULATORS; SLEDGES
    • B62B5/00Accessories or details specially adapted for hand carts
    • B62B5/0026Propulsion aids
    • B62B5/0033Electric motors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62BHAND-PROPELLED VEHICLES, e.g. HAND CARTS OR PERAMBULATORS; SLEDGES
    • B62B5/00Accessories or details specially adapted for hand carts
    • B62B5/0026Propulsion aids
    • B62B5/0069Control
    • 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/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours

Abstract

자율주행 시스템이 개시된다. 상기 자율주행 시스템은 로봇이 운용되는 전체 구역에 포함된 소구역에 설치된 카메라로부터 촬영된 영상에서 노드를 식별하고, 상기 식별된 노드에 대하여 상기 소구역에 해당하는 구역 맵 데이터에 실시간으로 맵핑을 수행하거나, 상기 식별된 노드의 이동 경로를 예측하고 모니터링하는 분산 클라우드 서버, 및 상기 분산 클라우드 서버로부터 전송받은 상기 구역 맵 데이터를 통합하고, 상기 로봇이 주행할 최적의 주행 경로를 산출하는 중앙 클라우드 서버를 포함한다.

Description

분산 클라우드 기반의 자율주행 시스템 및 방법{An Autonomous System and Method based on Distributed Cloud Environment}
본 발명은 자율주행 시스템 및 방법에 대한 것으로서, 보다 구체적으로 분산 처리 환경을 기반으로 일정 구역마다 설치된 카메라를 통해 로봇으로 하여금 자율주행을 수행하도록 하는 자율주행 시스템 및 방법에 대한 것이다.
자율주행 로봇이란 본체 내에 전원 및 센서가 탑재되어 외부로부터 신호와 전원의 공급 없이도 자율적으로 이동이 가능한 로봇을 말한다. 이러한 자율주행 로봇은 일정 공간의 지도 정보를 내장하고 있으며, 상기 일정 공간을 자유롭게 이동하기 위하여 현재 자기 위치를 파악한 후 목적지까지의 이동 경로를 설정하여 센서를 통해 감지되는 장애물을 피해 상기 설정된 목적지로 이동한다.
한편, 이러한 자율주행 로봇은 실내뿐만 아니라, 공항, 터미널, 쇼핑몰 등의 규모가 크고 구조가 복잡한 공간에서도 활용되고 있다. 예를 들어, 공항에서 이용되는 자율주행 로봇의 경우 로봇에 부착된 센서와 입력된 지도를 기반으로 자율주행을 통해 사용자에게 안내 서비스 및 청소와 같은 기능을 수행한다.
그러나, 자율주행 로봇에는 다수의 센서와 고성능의 카메라 등 고가의 장비들이 설치되어 많은 사람들이 서비스를 제공받기 어려우며, 위와 같이 복잡한 환경에서는 환경의 전체 상황을 인지하지 않고 근접한 상황만을 인지하여 자율주행하기 때문에 복잡한 환경에서는 자율주행 기능이 현저하게 떨어지는 문제점이 있다.
본 발명의 목적은 로봇에 카메라가 설치되는 것이 아니라, 로봇이 자율주행을 수행하는 공간의 일정 구간마다 설치된 카메라 및 분산 클라우드 시스템을 통해 공간 내의 노드들의 흐름을 예측하여 최적의 경로를 설정하고, 복잡한 공간 내에서 발생하는 돌발상황을 인지하여 빠르게 경로를 수정하고 충돌을 회피하도록 하여 돌발상황에 즉각적으로 대응할 수 있는 자율주행 시스템 및 방법을 제공하는 것에 있다.
본 발명의 일 실시 예에 따른 자율주행 시스템은 로봇이 운용되는 전체 구역에 포함된 소구역에 설치된 카메라로부터 촬영된 영상에서 노드를 식별하고, 상기 식별된 노드에 대하여 상기 소구역에 해당하는 구역 맵 데이터에 실시간으로 맵핑을 수행하거나, 상기 식별된 노드의 이동 경로를 예측하고 모니터링하는 분산 클라우드 서버, 및 상기 분산 클라우드 서버로부터 전송받은 상기 구역 맵 데이터를 통합하고, 상기 로봇이 주행할 최적의 주행 경로를 산출하는 중앙 클라우드 서버를 포함할 수 있다.
여기에, 상기 분산 클라우드 서버는 상기 카메라로부터 촬영된 영상에서 상기 노드를 식별하는 노드 식별부, 상기 식별된 노드에 대하여 상기 구역 맵 데이터에 맵핑을 수행하고, 맵핑 결과가 포함된 상기 구역 맵 데이터를 상기 중앙 클라우드 서버로 전송하는 맵핑부, 상기 식별된 노드의 이동 경로를 예측하고, 예측 결과에 따른 예측 경로 데이터를 상기 중앙 클라우드 서버로 전송하는 노드 이동 예측부, 상기 식별된 노드에 대하여 모니터링을 수행하는 노드 모니터링부, 및 상기 중앙 클라우드 서버로부터 전송받은 주행 경로 데이터를 상기 로봇에 전송하는 주행 경로 설정부를 포함할 수 있다.
여기에, 상기 노드 모니터링부는 상기 식별된 노드가 동적 노드인지 정적 노드인지 판단하고, 상기 식별된 노드가 동적 노드인 경우 상기 식별된 노드에 대하여 노드의 이동 방향 및 이동 속도를 계산할 수 있다.
여기에, 상기 노드 모니터링부는 상기 식별된 노드가 동적 노드인 경우 상기 식별된 노드가 상기 예측 경로 데이터와 다르게 이동하는 것으로 판단되면 회피 명령을 상기 주행 경로 설정부에 전송할 수 있다.
여기에, 상기 주행 경로 설정부는 상기 회피 명령을 전송받으면 상기 식별된 노드와 상기 로봇의 충돌을 피하기 위하여 상기 주행 경로를 수정하고, 수정된 주행 경로 데이터를 상기 로봇에 전송할 수 있다.
여기에, 상기 중앙 클라우드 서버는 상기 구역 맵 데이터를 통합하고, 상기 전체 구역에 대하여 모니터링을 수행하는 노드 관리부, 및 상기 로봇이 주행할 최적의 주행 경로를 산출하는 주행 경로 산출부를 포함할 수 있다.
본 발명의 일 실시 예에 따른 자율주행 방법은 (a) 로봇이 운용되는 전체 구역에 포함된 소구역에 설치된 카메라로부터 촬영된 영상에서 노드를 식별하는 단계, (b) 상기 식별된 노드에 대하여 상기 소구역에 해당하는 구역 맵 데이터에 실시간으로 맵핑을 수행하는 단계, (c) 상기 식별된 노드의 이동 경로를 예측하는 단계, 및 (d) 상기 분산 클라우드 서버로부터 전송받은 상기 구역 맵 데이터를 통합하고, 상기 로봇이 주행할 최적의 주행 경로를 산출하는 단계를 포함할 수 있다.
여기에, 상기 (b) 단계는 상기 식별된 노드가 동적 노드인지 정적 노드인지 판단하고, 상기 식별된 노드가 동적 노드인 경우 상기 식별된 노드에 대하여 노드의 이동 방향 및 이동 속도를 계산하는 단계를 더 포함할 수 있다.
여기에, (e) 상기 식별된 노드가 동적 노드인 경우 상기 식별된 노드가 상기 예측 경로 데이터와 다르게 이동하는 것으로 판단되면 회피 명령을 주행 경로 설정부에 전송하는 단계, 및 (f) 상기 주행 경로 설정부가 상기 회피 명령을 전송받으면 상기 주행 경로를 수정하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 자율주행을 수행하는 공간 내의 노드들의 흐름을 예측하여 최적의 경로를 설정하고, 돌발상황에 즉각적으로 대응할 수 있다.
또한, 기존의 자율주행 로봇보다 경량화되고 보다 저렴한 자율주행 로봇으로 복잡한 환경에서 자율주행을 수행할 수 있다.
또한, 분산 클라우드 환경을 적용하여 기존의 메인프레임 기반의 서비스에 발생하는 서버 및 네트워크 과부하, 서비스 가용성 저하 등의 문제점을 해결하여 부하 분산 및 고가용성을 보장할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 자율주행 시스템을 도시한 것이다.
도 2는 본 발명의 일 실시 예에 따른 로봇의 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 분산 클라우드 서버의 블록도이다.
도 4는 도 1에 도시된 자율주행 시스템이 공간 내의 노드를 식별 및 인지하는 방법을 도시한 것이다.
도 5는 본 발명의 일 실시 예에 따른 중앙 클라우드 서버의 블록도이다.
도 6은 도 1에 도시된 자율주행 시스템을 통한 자율주행 방법의 순서도를 도시한 것이다.
도 7은 도 1에 도시된 자율주행 시스템에서 돌발상황이 발생했을 때의 대응 방법을 도시한 것이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 자율주행 시스템을 도시한 것이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 자율주행 시스템(10)은 카메라(100), 로봇(200), 분산 클라우드 서버(300) 및 중앙 클라우드 서버(400)를 포함한다.
자율주행 시스템(10)은 중앙 클라우드 서버(400) 및 적어도 하나 이상의 분산 클라우드 서버(300)로 구성되는 분산 처리 환경과 로봇(200)이 운용되는 전체 구역을 일정 개수로 분할한 소구역 각각에 설치된 적어도 하나 이상의 카메라(100)를 기반으로 로봇(200)의 자율주행을 수행한다.
카메라(100)는 로봇(200) 및 소구역 내의 노드들의 영상 또는 이미지를 촬영할 수 있는 장치로서, 하나 이상의 이미지 센서, 렌즈, ISP(image signal processor) 또는 플래시(flash)를 포함할 수 있다.
카메라(100)는 로봇(200)을 촬영하기 위해 로봇(200)이 운용되는 공간 내에 설치되며, 바람직하게는 로봇(200)이 운용되는 전체 구역을 일정 개수로 분할한 소구역 각각에 적어도 하나 이상의 카메라(100)가 설치된다.
여기에, 카메라(100)는 촬영한 영상 또는 이미지를 분산 클라우드 서버(300)로 전송하기 위하여 별도의 통신 수단을 추가로 포함할 수 있다.
로봇(200), 분산 클라우드 서버(300) 및 중앙 클라우드 서버(400)는 도 2 내지 도 5를 참조하여 자세히 설명하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 로봇의 블록도를 도시한 것이다.
도 2를 참조하면, 로봇(200)은 통신부(210), 입출력부(220), 제어부(230), 구동부(240), 센서부(250) 및 전원부(260)를 포함한다.
통신부(210)는 후술할 분산 클라우드 서버(300)와 데이터를 주고받기 위한 구성으로서, 무선 또는 유선 통신을 통해서 네트워크에 연결되어 로봇(200)과 분산 클라우드 서버(300)가 통신하도록 할 수 있다.
여기서, 무선 통신은 LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multipleaccess), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband) 등의 셀룰러 통신 프로토콜이나 WiFi(wireless fidelity), 블루투스(Bluetooth), NFC(near field communication)와 같은 근거리 통신일 수 있다.
여기서, 유선 통신은 USB(universal serial bus),HDMI(high definition multimediainterface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다.
입출력부(220)는 사용자로부터 로봇(200)의 제어 명령 또는 데이터를 입력받고, 그에 따른 로봇(200)의 정보를 출력한다. 입출력부(220)는 사용자로부터의 입력을 받기 위한 사용자 인터페이스 및 정보를 출력하는 디스플레이부를 포함할 수 있다.
사용자 인터페이스는 사용자로부터 제어 명령 또는 데이터를 입력받기 위하여 버튼, 키보드 및 마우스 등의 형태로 구현될 수 있다. 이때, 사용자의 입력이란 로봇(200)을 온/오프 시키는 명령, 로봇(200)의 목적지 입력, 로봇(200)의 동작에 대한 명령 등의 다양한 형태의 입력일 수 있다.
디스플레이부는 사용자가 입력한 제어 명령에 따른 로봇(200)의 정보를 표시한다. 디스플레이부는 자체 발광이 가능한 발광 다이오드(Light Emitting Diode: LED)와 유기 발광 다이오드(Organic Light Emitting Diode: OLED) 또는 별도의 발원을 구비하는 액정 디스플레이(Liquid Crystal Display) 등을 채용할 수 있다.
한편, 입출력부(220)는 사용자로부터 제어 명령을 입력받고, 입력받은 제어 명령에 대응하는 동작 정보 등을 표시하는 터치 스크린 패널(TSP)의 형태로 구현될 수도 있다.
또한, 입출력부(220)는 로봇(200)과 전기적으로 연동되는 별도의 단말기의 형태로 구현될 수 있다. 이때, 별도의 단말기는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer) 등의 다양한 형태일 수 있다.
제어부(230)는 입출력부(220)를 통해 입력된 사용자의 입력 또는 분산 클라우드 서버(300)로부터 전송받은 주행 경로 데이터에 따라 제어 명령을 생성하고, 상기 제어 명령에 따라 로봇(200)을 제어한다.
구동부(240)는 제어부(230)에서 생성된 제어 명령에 따라 로봇(200)의 주행을 수행한다. 구동부(240)는 로봇(200)이 주행하도록 로봇(200)에 포함된 바퀴나 캐터필러 등에 동력을 제공할 수 있는 모든 수단들이 포함될 수 있다.
센서부(250)는 로봇(200)의 주행 경로 상의 장애물이나 사람들과 같은 객체를 감지하거나 주변으로부터 데이터를 수집하며, 이를 위해 여러 종류의 센서들을 포함할 수 있다.
전원부(260)는 구동부(240) 및 그 외 로봇(200)을 구동시키기 위하여 각 부하와 전기적으로 연결되어 구동 전원을 공급하는 배터리를 포함한다. 배터리는 재충전이 가능한 2차 배터리일 수 있다.
여기에, 로봇(200)은 GPS(global positioning system) 수신기를 더 포함할 수 있다. GPS 수신기는 로봇(200)의 위치를 측정하고, 측정된 위치 정보를 분산 클라우드 서버(300)로 전송할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 분산 클라우드 서버의 블록도이다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 분산 클라우드 서버(300)는 통신부(310), 저장부(320), 노드 식별부(330), 맵핑부(340), 노드 모니터링부(350), 노드 이동 예측부(360), 및 주행 경로 설정부(370)를 포함한다.
통신부(310)는 로봇(200) 및 후술할 중앙 클라우드 서버(400)와 데이터를 주고받기 위한 구성으로서, 무선 또는 유선 통신을 통해서 네트워크에 연결되어 로봇(200) 및 중앙 클라우드 서버(400)와 분산 클라우드 서버(300)가 통신하도록 할 수 있다.
분산 클라우드 서버(300)는 로봇(200)으로부터 로봇(200)의 실시간 위치 정보 및 사용자로부터 입력된 로봇(200)의 목적지 정보를 수신하면 통신부를 통해 중앙 클라우드 서버(400)에 송신한다.
저장부(320)는 맵핑 결과가 포함된 구역 맵 데이터, 예측 경로 데이터나 로봇(200) 및 중앙 클라우드 서버(400)로부터 전송받은 데이터를 저장할 수 있다.
노드 식별부(330)는 카메라(100)로부터 촬영된 영상 또는 이미지에서 노드를 식별한다. 노드란 카메라(100)로부터 촬영된 영상 또는 이미지에 포함된 사람, 장애물 또는 로봇(200) 등의 식별 대상이 되는 객체를 의미한다.
노드 식별부(330)는 이러한 노드를 식별하기 위하여 영상 기반의 다양한 객체 검출 알고리즘을 이용할 수 있다. 객체 검출 알고리즘은 검출 대상인 객체별로 다양한 특징점을 활용하여 SVM(support vector machine) 알고리즘, Adaboost 알고리즘, 가우시안 혼합(gaussian mixture) 방식 등의 다양한 학습 알고리즘을 기반으로 촬영된 영상 또는 이미지에서 객체를 검출할 수 있다. 한편, 상기 언급한 객체 검출 알고리즘에 한정되는 것은 아니며, 영상 또는 이미지로부터 객체를 식별할 수 있는 다양한 방법을 이용하여 노드를 식별할 수 있다.
한편, 로봇(200)의 경우 로봇(200)에 추가로 객체 식별을 위하여 Flag나 태그와 같은 별도의 식별 수단을 포함하여, 촬영된 영상 또는 이미지에서 이를 식별하는 방법으로 로봇(200)에 대한 식별이 수행될 수 있다.
맵핑부(340)는 노드 식별부(330)에서 식별된 노드들을 카메라(100)가 촬영하는 구역에 해당하는 맵 데이터인 구역 맵 데이터에 실시간으로 맵핑을 수행하고, 맵핑 결과가 포함된 구역 맵 데이터를 중앙 클라우드 서버(400)로 전송한다. 즉, 맵핑부(340)는 저장부(320)에 저장된 구역 맵 데이터에서 노드들이 식별된 위치에 해당하는 위치에 노드들을 맵핑시킨다.
노드 모니터링부(350)는 카메라(100)로부터 촬영된 영상 또는 이미지에서 실시간으로 식별되는 노드들을 모니터링한다.
다양한 실시 예에 따라, 노드 모니터링부(350)는 식별된 노드들이 동적 노드인지 아니면 정적 노드인지 여부를 판단한다.
이때, 노드 모니터링부(350)는 동적 노드 중에서 특정 노드가 노드 이동 예측부(360)를 통해 예측된 경로와 다르게 이동하는 것으로 판단되면 돌발 상황으로 판단하여 회피 명령을 주행 경로 설정부(370)에 전송할 수 있다.
또한, 노드 모니터링부(350)는 동적 노드에 대하여 노드의 이동 방향 및 이동 속도를 계산하고, 이를 모니터링할 수 있다.
도 1에 도시된 자율주행 시스템이 공간 내의 노드를 식별 및 인지하는 방법을 도시한 도 4를 참조하면, 노드 모니터링부(350)는 카메라(100)가 촬영하는 구역 내의 식별된 노드들에 대하여 동적 노드 또는 정적 노드인지 여부를 판단하고, 동적 노드들 각각의 이동 방향 및 이동 속도를 계산하고 이를 모니터링한다.
한편, 노드 모니터링부(350)는 노드 이동 예측부(360)를 통해 예측된 경로와 다르게 이동하는 노드가 있다면 돌발 상황으로 판단하고, 추가로 회피 명령을 주행 경로 설정부(370)에 전송하여 로봇(200)이 상기 예측된 경로와 다르게 이동하는 노드와의 충돌을 회피하도록 할 수 있다.
노드 이동 예측부(360)는 식별된 노드들의 이동 경로를 예측하고, 예측 결과에 따른 예측 경로 데이터를 중앙 클라우드 서버(400)에 전송한다. 일 실시 예로서, 노드 이동 예측부(360)는 노드 모니터링부(350)에서 계산된 노드의 이동 방향 및 이동 속도가 일정 시간 내에는 유지된다는 가정하에 노드들의 미래 위치에 대한 예측을 수행하고 예측 경로 데이터를 생성할 수 있다. 이때, 예측 경로 데이터에는 노드의 이동 방향 및 이동 속도에 대한 정보가 포함될 수 있다.
한편, 식별된 노드들의 경로 예측에는 위와 같은 실시 예에 한정되는 것은 아니며 이동 객체의 미래 움직임을 예측하는데 필요한 다양한 구성을 이용하여 노드들의 이동 예측을 수행할 수 있다.
주행 경로 설정부(370)는 중앙 클라우드 서버(400)로부터 전송받은 주행 경로 데이터를 로봇(200)에 전송하여 로봇(200)의 주행 경로를 설정한다. 한편, 주행 경로 설정부(370)는 노드 모니터링부(350)의 판단 결과에 따라 예측 경로와 다르게 이동하는 노드가 발생한 경우(즉, 노드 모니터링부(350)터 회피 명령을 전송받은 경우)에 노드와 로봇(200)의 충돌을 피하기 위하여 상기 주행 경로를 일부 수정하고, 수정된 주행 경로 데이터를 로봇에 전송할 수도 있다.
도 5는 본 발명의 일 실시 예에 따른 중앙 클라우드 서버의 블록도이다.
도 5를 참조하면, 본 발명의 일 실시 예에 따른 중앙 클라우드 서버(400)는 통신부(410), 저장부(420), 노드 관리부(430) 및 주행 경로 산출부(440)를 포함한다.
통신부(410)는 분산 클라우드 서버(300)와 데이터를 주고받기 위한 구성으로서, 무선 또는 유선 통신을 통해서 네트워크에 연결되어 중앙 클라우드 서버(400)와 분산 클라우드 서버(300)가 통신하도록 할 수 있다.
저장부(420)는 로봇(200)이 운용되는 전체 구역에 대한 통합 맵 데이터 및 분산 클라우드 서버(300)로부터 전송받은 각 노드들의 데이터를 저장한다.
노드 관리부(430)는 노드들의 맵핑 결과가 포함된 구역 맵 데이터를 분산 클라우드 서버(300)로부터 전송받고, 전송받은 구역 맵 데이터를 통합하여 전체 구역에 대한 통합 맵 데이터를 생성한다. 여기에, 통합 맵 데이터는 분산 클라우드 서버(300)로부터 전송받은 각 노드들의 예측 경로 데이터를 포함할 수 있다.
주행 경로 산출부(440)는 사용자가 입력한 목적지까지 로봇(200)이 주행할 최적의 주행 경로를 산출하고, 산출된 주행 경로 데이터를 분산 클라우드 서버(300)로 전송한다. 보다 구체적으로, 주행 경로 산출부(440)는 분산 클라우드 서버(300)로부터 전송받은 로봇(200)의 실시간 위치 정보, 사용자로부터 입력된 로봇(200)의 목적지 정보, 통합 맵 데이터 및 예측 경로 데이터를 토대로 로봇(200)의 현재 위치에서 사용자가 입력한 목적지까지 노드들과의 충돌없이 로봇(200)이 주행할 수 있는 최단 경로를 산출한다.
이때, 주행 경로 산출부(440)는 동적 노드에 대하여 이동 방향 및 이동 속도 정보가 포함된 예측 경로 데이터를 기반으로 하여 로봇(200)과 동적 노드와의 충돌 가능성을 판단하여 주행 경로 산출에 반영할 수 있다.
한편, 최적의 주행 경로 산출에는 그리드 기반의 경로 계획 알고리즘이나 샘플링 기반의 경로 계획 알고리즘 등이 활용될 수 있으나, 이러한 실시 예에 한정되는 것은 아니다.
도 6은 도 1에 도시된 자율주행 방법의 순서도를 도시한 것이다. 이하에서는 앞서 설명한 부분과 중복되는 부분에 대한 설명은 생략하기로 한다.
도 6을 참조하면, S510 단계는 분산 클라우드 서버(300)가 로봇(200) 및 카메라(100)로부터 로봇(200) 위치 정보, 로봇(200) 목적지 정보 및 소구역 영상을 전송받는다. 구역 영상 정보는 로봇(200)이 운용되는 전체 구역 내에 설치된 적어도 하나 이상의 카메라(100)로부터 각 구역별 영상 정보를 포함한다.
S520 단계는 카메라부터 촬영된 영상 정보에서 식별의 대상이 되는 객체인 사람, 장애물 또는 로봇(200) 등의 노드를 식별한다. 또한, 식별된 노드들을 구역 맵 데이터에 맵핑한다.
S530 단계는 S520 단계에서 식별된 각각의 노드에 대하여 경로 예측을 수행하고, 예측 결과에 따른 예측 경로 데이터를 생성한다.
S540 단계는 맵핑 결과가 포함된 구역 맵 데이터, 예측 경로 데이터, 분산 클라우드 서버(300)로부터 전송받은 로봇(200) 위치 정보 및 목적지 정보를 중앙 클라우드 서버(400)에 전송한다.
S550 단계는 중앙 클라우드 서버(400)가 S540 단계를 통하여 전송받은 구역 맵 데이터 및 예측 경로 데이터를 이용하여 통합 맵 데이터를 생성하고, 생성된 통합 맵 데이터, 로봇(200) 위치 정보 및 목적지 정보를 이용하여 로봇(200)의 최적의 주행 경로를 설정한다.
이후에 주행 경로 데이터를 분산 클라우드 서버(300)로 전송하고(S560), 분산 클라우드 서버(300)는 전송받은 주행 경로 데이터와 예측 경로 데이터를 로봇(200)에 전송한다(S570). 로봇(200)은 전송받은 주행 경로 데이터를 토대로 자율주행을 수행할 수 있다(S580).
도 7은 도 1에 도시된 자율주행 시스템에서 돌발상황이 발생했을 때의 대응 방법을 도시한 것이다.
도 7을 참조하면, 우선 맵핑된 노드의 현재 주행 경로와 예측 경로를 비교하고(S610), 현재 주행 경로와 예측 경로가 일치하는지 여부를 판단한다(S620).
S620 단계에 따라 경로가 일치하지 않는 것으로 판단되면, 주행 경로 설정부(370)에 회피 명령을 전송하고(S630), 주행 경로 설정부(370)는 그에 따라 노드와 로봇(200)의 충돌을 피하기 위해 주행 경로를 수정한 다음에(S640), 수정된 주행 경로 데이터를 로봇(200)으로 전송한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (9)

  1. 로봇이 운용되는 전체 구역에 포함된 소구역에 설치된 카메라로부터 촬영된 영상에서 노드를 식별하고, 상기 식별된 노드에 대하여 상기 소구역에 해당하는 구역 맵 데이터에 실시간으로 맵핑을 수행하거나, 상기 식별된 노드의 이동 경로를 예측하고 모니터링하는 분산 클라우드 서버; 및
    상기 분산 클라우드 서버로부터 전송받은 상기 구역 맵 데이터를 통합하고, 상기 로봇이 주행할 최적의 주행 경로를 산출하는 중앙 클라우드 서버를 포함하고,
    상기 분산 클라우드 서버는
    상기 카메라로부터 촬영된 영상에서 상기 노드를 식별하는 노드 식별부;
    상기 식별된 노드에 대하여 상기 구역 맵 데이터에 맵핑을 수행하고, 맵핑 결과가 포함된 상기 구역 맵 데이터를 상기 중앙 클라우드 서버로 전송하는 맵핑부;
    상기 식별된 노드의 이동 경로를 예측하고, 예측 결과에 따른 예측 경로 데이터를 상기 중앙 클라우드 서버로 전송하는 노드 이동 예측부;
    상기 식별된 노드에 대하여 모니터링을 수행하는 노드 모니터링부; 및
    상기 중앙 클라우드 서버로부터 전송받은 주행 경로 데이터를 상기 로봇에 전송하는 주행 경로 설정부를 포함하는 자율주행 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 노드 모니터링부는 상기 식별된 노드가 동적 노드인지 정적 노드인지 판단하고, 상기 식별된 노드가 동적 노드인 경우 상기 식별된 노드에 대하여 노드의 이동 방향 및 이동 속도를 계산하는 자율주행 시스템.
  4. 제3항에 있어서,
    상기 노드 모니터링부는 상기 식별된 노드가 동적 노드인 경우 상기 식별된 노드가 상기 예측 경로 데이터와 다르게 이동하는 것으로 판단되면 회피 명령을 상기 주행 경로 설정부에 전송하는 자율주행 시스템.
  5. 제4항에 있어서,
    상기 주행 경로 설정부는 상기 회피 명령을 전송받으면 상기 식별된 노드와 상기 로봇의 충돌을 피하기 위하여 상기 주행 경로를 수정하고, 수정된 주행 경로 데이터를 상기 로봇에 전송하는 자율주행 시스템.
  6. 제1항에 있어서,
    상기 중앙 클라우드 서버는
    상기 구역 맵 데이터를 통합하고, 상기 전체 구역에 대하여 모니터링을 수행하는 노드 관리부; 및
    상기 로봇이 주행할 최적의 주행 경로를 산출하는 주행 경로 산출부를 포함하는 자율주행 시스템.
  7. 자율주행 시스템에서 수행되는 자율주행 방법으로서,
    (a) 분산 클라우드 서버가 로봇이 운용되는 전체 구역에 포함된 소구역에 설치된 카메라로부터 촬영된 영상에서 노드를 식별하는 단계;
    (b) 분산 클라우드 서버가 상기 식별된 노드에 대하여 상기 소구역에 해당하는 구역 맵 데이터에 실시간으로 맵핑을 수행하는 단계;
    (c) 분산 클라우드 서버가 상기 식별된 노드의 이동 경로를 예측하는 단계; 및
    (d) 중앙 클라우드 서버가 상기 분산 클라우드 서버로부터 전송받은 상기 구역 맵 데이터를 통합하고, 상기 로봇이 주행할 최적의 주행 경로를 산출하는 단계를 포함하는 자율주행 방법.
  8. 제7항에 있어서,
    상기 (b) 단계는
    분산 클라우드 서버가 상기 식별된 노드가 동적 노드인지 정적 노드인지 판단하고, 상기 식별된 노드가 동적 노드인 경우 상기 식별된 노드에 대하여 노드의 이동 방향 및 이동 속도를 계산하는 단계를 더 포함하는 자율주행 방법.
  9. 제8항에 있어서,
    (e) 분산 클라우드 서버의 노드 모니터링부는 상기 식별된 노드가 동적 노드인 경우 상기 식별된 노드가 상기 예측 경로 데이터와 다르게 이동하는 것으로 판단되면 회피 명령을 주행 경로 설정부에 전송하는 단계; 및
    (f) 분산 클라우드 서버의 주행 경로 설정부가 상기 회피 명령을 전송받으면 주행 경로를 수정하는 단계를 더 포함하는 자율주행 방법.
KR1020180035008A 2017-12-26 2018-03-27 분산 클라우드 기반의 자율주행 시스템 및 방법 KR102042046B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170179205 2017-12-26
KR1020170179205 2017-12-26

Publications (2)

Publication Number Publication Date
KR20190078454A KR20190078454A (ko) 2019-07-04
KR102042046B1 true KR102042046B1 (ko) 2019-11-07

Family

ID=67259705

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180035008A KR102042046B1 (ko) 2017-12-26 2018-03-27 분산 클라우드 기반의 자율주행 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102042046B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113252026A (zh) * 2021-06-03 2021-08-13 炬星科技(深圳)有限公司 跨场景导航方法、设备及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102205794B1 (ko) * 2019-08-15 2021-01-21 엘지전자 주식회사 자율주행시스템에서 서버브릿지를 설정하는 방법 및 이를 위한 장치
KR102300124B1 (ko) * 2019-12-31 2021-09-08 이노뎁 주식회사 코어 vms와 엣지 vms를 구비한 모바일 엣지 컴퓨팅 기반의 영상 관제 시스템
CN111857131B (zh) * 2020-06-19 2024-01-12 深圳宏芯宇电子股份有限公司 一种全局式自动驾驶方法、系统以及车载终端
KR102385323B1 (ko) * 2020-07-22 2022-04-12 주식회사 알지티 식당 서비스용 로봇
KR20220135139A (ko) * 2021-03-29 2022-10-06 네이버랩스 주식회사 공간의 혼잡도에 기반하여 이동 경로가 제어되는 로봇이 주행하는 건물
KR102527951B1 (ko) * 2021-05-11 2023-04-28 경희대학교 산학협력단 자율 주행 장치, 자율 주행 장치의 위치 관리 시스템 및 이를 이용한 자율 주행 장치의 이동 경로 결정 방법
KR102650059B1 (ko) * 2021-11-02 2024-03-21 네이버랩스 주식회사 로봇 친화형 건물, 로봇 및 건물을 주행하는 멀티-로봇 제어 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988736B1 (ko) * 2006-03-15 2010-10-20 삼성전자주식회사 자율주행 이동로봇의 최단 경로 이동을 위한 홈 네트워크시스템 및 그 방법
KR20150038776A (ko) * 2013-09-30 2015-04-09 국민대학교산학협력단 인프라 센서를 이용한 자동주차 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113252026A (zh) * 2021-06-03 2021-08-13 炬星科技(深圳)有限公司 跨场景导航方法、设备及存储介质
CN113252026B (zh) * 2021-06-03 2021-10-08 炬星科技(深圳)有限公司 跨场景导航方法、设备及存储介质

Also Published As

Publication number Publication date
KR20190078454A (ko) 2019-07-04

Similar Documents

Publication Publication Date Title
KR102042046B1 (ko) 분산 클라우드 기반의 자율주행 시스템 및 방법
US11231717B2 (en) Auto-tuning motion planning system for autonomous vehicles
US10969782B2 (en) Systems and methods for matching an autonomous vehicle to a rider
US20170176999A1 (en) Distributed Celling-Mounted Smart Cameras for Multi-Unmanned Gound Vehicle Routing and Coordination
KR20210114952A (ko) 목표대상물의 검출방법, 장치, 기기 및 기억매체
US11138844B2 (en) Artificial intelligence apparatus and method for detecting theft and tracing IoT device using same
KR20190104486A (ko) 행동 방향성 인식기반 서비스 요구자 식별 방법
US9909878B2 (en) Method and apparatus for triggering conveyance of guidance information
US11904853B2 (en) Apparatus for preventing vehicle collision and method thereof
CN109656319B (zh) 一种用于呈现地面行动辅助信息方法与设备
US20230033518A1 (en) Joint optimization of robotic vehicle routing for ride quality, safety, and operator demand
US10768631B2 (en) Method and apparatus for controlling a mobile robot
US11562645B2 (en) Edge-accelerated artificial intelligence for collaborative sensing of physical intelligent moving objects
US11211045B2 (en) Artificial intelligence apparatus and method for predicting performance of voice recognition model in user environment
KR101900812B1 (ko) 저전력 블루투스를 이용한 드론의 움직임 제어 방법 및 이를 지원하기 위한 장치
US20220171392A1 (en) Method and cloud server for controlling robot providing service in connection with service application
KR102322048B1 (ko) 사용자를 측위하여 건물을 자율주행하고 서비스를 제공하는 로봇이 배치되는 건물
JP6733732B2 (ja) 位置推定プログラム、位置推定装置、および位置推定方法
KR102585341B1 (ko) 유동적인 이동경로 정보를 이용한 다수 무인이동체 제어 시스템, 장치 및 방법
Kuribayashi et al. Designing a Smartphone-Based Assistance System for Blind People to Recognize Intersections and Obstacles in Indoor Corridors
KR102595490B1 (ko) 무인 이동체 및 무인 이동체의 이동 경로 계획을 위한 코스트 결정 방법
JP7271028B2 (ja) 監視装置、監視プログラム及び飛行体を利用した監視システム
US20240053746A1 (en) Display system, communications system, display control method, and program
JP7409324B2 (ja) 制御装置、情報処理装置、並びに、移動制御システム、方法及びプログラム
EP4102325A1 (en) Method and system for collecting field operation situation and facility information

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right