KR101378305B1 - 로봇맵 생성 방법 및 시스템 - Google Patents

로봇맵 생성 방법 및 시스템 Download PDF

Info

Publication number
KR101378305B1
KR101378305B1 KR1020070110054A KR20070110054A KR101378305B1 KR 101378305 B1 KR101378305 B1 KR 101378305B1 KR 1020070110054 A KR1020070110054 A KR 1020070110054A KR 20070110054 A KR20070110054 A KR 20070110054A KR 101378305 B1 KR101378305 B1 KR 101378305B1
Authority
KR
South Korea
Prior art keywords
map
robot
server
converter
space
Prior art date
Application number
KR1020070110054A
Other languages
English (en)
Other versions
KR20090044118A (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 KR1020070110054A priority Critical patent/KR101378305B1/ko
Publication of KR20090044118A publication Critical patent/KR20090044118A/ko
Application granted granted Critical
Publication of KR101378305B1 publication Critical patent/KR101378305B1/ko

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 로봇맵 생성 방법 및 시스템에 관한 것으로, 이동 로봇이 맵 서버로 로봇맵을 요청하면 맵 서버가 맵 변환기로 로봇맵 생성을 요청하고, 해당 공간맵을 전송하는 과정과, 맵 변환기가 공간맵을 로봇맵으로 변환시켜 로봇맵을 생성하는 과정과, 맵 변환기가 생성된 로봇맵을 맵 서버에 업로드하고 맵 서버가 로봇맵을 저장하는 과정과, 이동 로봇이 맵 서버로부터 로봇맵을 다운로드하여 로봇맵을 통해 이동하는 과정을 포함한다. 본 발명에 따르면, 공간맵을 이용하여 정확한 로봇맵을 생성할 수 있으므로, 이동 로봇이 공간에 대해 정확하게 인식하고 동작할 수 있고, 로봇맵을 용이하게 수정 및 업데이트할 수 있다.
이동 로봇, 로봇맵, 공간맵, 맵 서버, 맵 변환기

Description

로봇맵 생성 방법 및 시스템{METHOD AND SYSTEM FOR CREATING ROBOT MAP}
본 발명은 로봇맵 생성 방법 및 시스템에 관한 것으로, 특히 이동 로봇이 공간을 정확하게 인식하여 정확하게 이동할 수 있는 로봇맵을 생성하는 로봇맵 생성 방법 및 시스템에 관한 것이다.
로봇(Robot)은 자동 조절에 의해 조작이나 이동 등의 일을 수행할 수 있는 기계 장치로서, 인간을 대신하여 여러 작업에 이용되고 있다. 그 동안 로봇 산업은 급속도로 발전해 왔으며, 산업용/특수 작업용 로봇에 대한 연구에서 가정용, 교육용 로봇과 같이 인간의 작업을 돕고 인간의 생활에 즐거움을 주는 목적으로 만들어지는 로봇에 대한 연구로 확대되고 있는 실정이다. 이러한 로봇들은 인간 생활 환경 안에서 작업을 수행하기 때문에, 주로 작은 크기의 이동 로봇(Mobile Robot)들이 대부분이다. 이런 이동 로봇의 주행에 관한 연구는 로봇 분야에서 매우 중요한 연구 분야 중 하나이다.
기존의 이동 로봇에 대한 연구는 특정 영역에서 고정되어 있는 형태 또는 미리 정형화된 경로(Path)를 따라서만 이동하는 형태의 로봇에 대해 주로 행해졌다. 하지만, 최근에는 미지의 자유 공간에서 센서(Sensor)나 비전(Vision) 등을 통해 임의의 장애물을 인식하고, 특정한 표시(Landmark)나 장착된 센서에서 획득한 정보를 이용해 자신의 현재 위치를 파악하여 목적지로 충돌 없이 이동하는 로봇에 대한 연구가 이루어지고 있다. 이러한 이동 로봇에 대한 일련의 기능을 SLAM(Simultaneous Localization And Mapping)이라고 한다.
SLAM 기술은 로봇에 장착된 센서나 비전을 이용해서 주변 환경 정보와 자신의 위치 정보를 스스로 인식하는 기술로 많은 연구가 있어 왔으나, 센서 측정 시의 오차와 환경 지도 작성 및 위치 인식에 대한 불확실성 등으로 실제 적용하는 데는 어려움이 따른다.
따라서, 본 발명의 목적은 이동 로봇의 센서를 통한 이동으로 오류가 발생했던 문제점을 해결할 수 있는 로봇맵 생성 방법 및 시스템을 제공하는 데 있다.
본 발명의 다른 목적은 공간맵을 로봇맵으로 변환시켜, 정확한 로봇맵을 통해 이동 로봇이 이동할 수 있는 로봇맵 생성 방법 및 시스템을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명은 이동 로봇, 맵 서버 및 맵 변환기로 구성되는 로봇맵 생성 시스템의 로봇맵 생성 방법으로서, 상기 이동 로봇이 상기 맵 서버로 로봇맵을 요청하면, 상기 맵 서버가 상기 맵 변환기로 로봇맵 생성을 요청하고, 해당 공간맵을 전송하는 과정과, 상기 맵 변환기가 상기 공간맵을 로봇맵으로 변환시켜 로봇맵을 생성하는 과정과, 상기 맵 변환기가 생성된 로봇맵을 상기 맵 서버에 업로드하고, 상기 맵 서버가 상기 로봇맵을 저장하는 과정과, 상기 이동 로봇이 상기 맵 서버로부터 로봇맵을 다운로드하여, 상기 로봇맵을 통해 이동하는 과정을 포함한다.
상기와 같은 목적을 달성하기 위한 다른 발명은 로봇맵 생성 시스템으로서, 공간맵과 상기 공간맵을 통해 생성된 로봇맵을 저장하는 맵 서버와, 상기 맵 서버로 로봇맵을 요청하고, 상기 맵 서버로부터 로봇맵을 다운로드받으며, 상기 다운로드된 로봇맵을 통해 이동하는 이동 로봇과, 상기 맵 서버로부터 로봇맵 생성 요청 시, 상기 맵 서버로부터 수신한 해당 공간맵을 로봇맵으로 변환시켜 로봇맵을 생성 하고, 상기 생성된 로봇맵을 상기 맵 서버로 업로드하는 맵 변환기를 포함한다.
본 발명에 따르면, 공간맵을 이용하여 정확한 로봇맵을 생성할 수 있으므로, 이동 로봇이 공간에 대해 정확하게 인식하고 동작할 수 있고, 로봇맵을 용이하게 수정 및 업데이트할 수 있다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명하면 다음과 같다.
실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
도 1은 본 발명에 따른 로봇맵 생성 시스템을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 로봇맵 생성을 위한 시스템의 구성은 이동 로봇(mobile robot; 100), 맵 서버(map server; 200) 및 맵 변환기(300)로 구성된 다.
이동 로봇(100)은 크게 바디부분(150)과 머리부분(130)으로 구분될 수 있다. 이동 로봇(100)의 바디부분(150)의 하단 면에는 이동 로봇(100)의 직선 운동과 회전 운동을 담당하는 이동부(도 2의 109)를 포함한다.
이동 로봇(100)의 머리부분(130)은 영상을 입력받기 위한 카메라(도 2의 103)를 포함할 수 있다. 카메라는 설계자의 설계의도에 따라 이동 로봇(100)의 바디부분(150)에 설치될 수도 있다. 이동 로봇(100)의 바디부분(150)과 머리부분(130)의 경계 지점에는 머리부분(130)을 회전 운동 시킬 수 있는 회전부를 포함할 수 있다. 여기서 회전부는 회전 운동 뿐만 아니라 상하 운동도 할 수 있도록 설계될 수도 있다.
이동 로봇(100)은 맵 서버(200)와 통신을 수행한다. 이동 로봇(100)은 맵 서버(200)로 로봇맵을 요청하거나, 다운로드한 로봇맵의 업데이트를 요청한다. 이동 로봇(100)은 맵 서버(200)로부터 다운로드한 로봇맵을 이용하여 해당 공간을 이동한다.
맵 서버(200)는 이동 로봇(100) 및 맵 변환기(300)와 통신을 수행한다. 맵 서버(200)는 이동 로봇(100)으로부터 로봇맵 요청 시, 맵 변환기(300)로 로봇맵을 요청하고, 맵 변환기(300)로부터 생성된 로봇맵을 수신한다. 맵 서버(200)는 맵 변환기(300)로부터 수신한 로봇맵을 전송한다. 맵 서버(200)는 공간맵과 로봇맵을 저장한다. 여기서, 공간맵은 이동 로봇(100)이 실제로 이동하는 공간에 대한 지도이고, 로봇맵은 이동 로봇(100)이 실제 공간을 인식할 수 있는 형태로 바꾼 지도이 다.
맵 변환기(300)는 맵 서버(200)와 통신을 수행한다. 맵 변환기(300)는 맵 서버(200)로부터 로봇맵 요청 시, 전송된 해당 공간맵을 이용하여 로봇맵으로 변환시킨다.
이하, 본 발명에 따른 로봇맵 생성을 위한 이동 로봇의 구조에 대하여 설명한다. 도 2는 본 발명에 따른 로봇맵 생성 시스템의 이동 로봇을 개략적으로 나타낸 블록도이다.
도 2를 참조하면, 본 발명에 따른 이동 로봇(100)은 통신부(101), 카메라(103), 메모리부(105), 센서(107), 이동부(109) 및 제어부(111)의 구성을 갖는다.
통신부(101)는 이동 로봇(100)의 무선 통신 기능을 수행한다. 통신부(101)는 본 실시예에 따라 맵 서버(200)와 TCP 통신을 수행한다. 통신부(101)는 맵 서버(200)에 로봇맵을 요청하거나, 로봇맵의 업데이트를 요청하고, 맵 서버(200)로부터 로봇맵을 수신한다. 여기서, 통신부(101)가 TCP 통신인 것에 한정되는 것은 아니다.
카메라(103)는 피사체를 촬영하여 영상 신호를 생성한다. 카메라(103)는 촬영된 광 신호를 전기적 신호로 변환하는 카메라 센서와 카메라 센서로부터 촬영되는 아날로그 영상 신호를 디지털 신호로 변환하는 신호 처리부를 구비한다. 카메라(103)는 출력되는 영상 신호를 표시하기 위한 화면 데이터를 발생하는 기능을 수행하는 영상 처리부를 구비한다. 영상 처리부는 영상 코덱을 구비하고, 표시되는 영상 데이터를 설정된 방식으로 압축하거나, 압축된 영상 데이터를 원래의 영상 데이터로 복원하는 기능을 수행한다.
카메라(103)는 본 실시예에 따라 이동 로봇(100)이 이동하는 공간을 촬영한다. 카메라(103)를 통해 촬영된 이미지는 공간맵으로서 사용될 수 있다. 본 실시예에서는 카메라(103)를 구비하는 이동 로봇(100)을 예로 들어 설명하지만, 이에 한정되는 것은 아니다. 즉, 카메라(103)를 구비하지 않아도 본 실시예에 따른 로봇맵 생성을 위한 이동 로봇(100)을 구동시킬 수 있다.
메모리부(105)는 이동 로봇(100)의 동작에 필요한 프로그램 및 정보를 저장한다. 메모리부(105)는 이동 로봇(100)의 시스템을 부팅하기 위한 부팅 정보와 초기화 정보 및 각종 데이터를 저장하기 위한 영역이다. 메모리부(105)는 본 실시예에 따라 맵 서버(200)로부터 수신된 로봇맵을 저장한다. 메모리부(105)는 센서(107)를 통해 인식되는 공간 정보를 저장한다.
센서(107)는 본 실시예에 따른 이동 로봇(100)의 공간 이동 시, 공간에 대한 정보를 획득하는 부분이다. 센서(107)는 적외선 센서(Infrared sensor), 터치 센서(Touch sensor), 휴먼 센서(Human sensor) 등의 센서가 사용될 수 있다. 적외선 센서는 적외선을 이용하여 온도, 압력의 세기 등을 감지하여 감지 결과를 제어부(111)로 전달한다. 터치 센서는 사용자로부터의 접촉 등을 감지하고, 외부 접촉에 의한 압력을 감지하여 감지 결과를 제어부(111)로 전달한다. 휴먼 센서는 인체에서 방출되는 적외선 양의 변화 상태를 포착하여 인체를 감지하는 PIR(Pyroelectronic Infrared) 센서 등으로 구성될 수 있고, 인체를 감지하여 감지 결과를 제어부(111)로 전달한다.
센서(107)는 이동 로봇(100)이 맵 서버(200)로부터 수신한 로봇맵을 통해 특정 공간 이동 시, 공간에 대한 정보를 획득한다. 센서(107)는 메모리부(105)에 저장된 로봇맵과 센서(107)를 통해 획득한 정보가 다른 경우, 즉, 오류 발생 시, 이를 제어부(111)에 알린다.
이동부(109)는 이동 로봇(100)의 이동을 담당하는 구동부로서 직선 운동과 회전 운동에 필요한 동력을 발생시키고 공급한다. 이동부(109)는 제어부(111)의 제어 하에 수신된 로봇맵을 통해 이동 로봇(100)을 이동시킨다. 이동부(109)는 다양한 형태가 가능하다. 예를 들어 이동부(109)는 원형 바퀴, 벨트형 바퀴, 하나 이상의 다리 등의 다양한 타입이 가능하다.
제어부(111)는 이동 로봇(100)의 각 구성 요소에 대한 전반적인 동작을 제어한다. 제어부(111)는 본 실시예에 따라 맵 서버(200)와 통신부(101)를 통해 연결되면, 로봇맵을 요청한다. 제어부(111)는 수신된 로봇맵을 이용하여, 이동 로봇(100)을 특정 공간에서 이동시키고, 센서(107)를 통해 오류 발생 여부를 확인한다. 제어부(111)는 센서(107)를 통한 오류 발생 시, 맵 서버(200)로 로봇맵의 업데이트를 요청한다. 여기서, 센서(107)가 정확하지 못하여, 공간에 대한 정보를 잘못 인식할 수도 있으므로, 제어부(111)는 특정 값 이상의 큰 오류가 발생 시, 맵 서버(200)로 로봇맵의 업데이트를 요청한다. 그 이유는 종래 이동 로봇의 센서가 공간을 잘못 인식하여 실제 공간과 센서가 인식한 공간 정보에 차이가 있음으로 인해 발생했던 문제가 재발될 수 있기 때문이다.
제어부(111)는 이동 로봇(100)이 이동을 위한 특정 공간에 위치한 경우, 카메라(103)를 구동시켜 해당 공간을 촬영하고, 촬영된 이미지를 공간맵으로서 맵 서버(200)로 전송할 수도 있다.
한편, 전술한 이동 로봇(100)은 이동 로봇(100)으로 특정 신호를 입력하는 입력부와 특정 정보를 표시하는 표시부를 더 포함할 수 있다.
이하, 본 발명에 따른 로봇맵 생성을 위한 맵 서버의 구조에 대하여 설명한다. 도 3은 본 발명에 따른 로봇맵 생성 시스템의 맵 서버를 개략적으로 나타낸 블록도이다.
도 3을 참조하면, 본 발명에 따른 맵 서버(200)는 통신부(201), 메모리부(205) 및 제어부(211)의 구성을 갖는다.
통신부(201)는 맵 서버(200)의 무선 통신 기능을 수행한다. 통신부(201)는 본 실시예에 따라 이동 로봇(100) 및 맵 변환기(300)와 TCP 통신을 수행한다. 통신부(201)는 이동 로봇(100)으로 로봇맵을 전송한다. 통신부(201)는 맵 변환기(300)로 공간맵과 로봇맵을 전송하여, 맵 변환기(300)로부터 로봇맵을 업로드한다. 여기서, 통신부(201)가 TCP 통신인 것에 한정되는 것은 아니다.
메모리부(205)는 맵 서버(200)의 동작에 필요한 프로그램 및 정보를 저장한다. 메모리부(105)는 본 실시예에 따라 공간맵 DB(Date Base; 213)와 로봇맵 DB(215)를 구비한다. 공간맵 DB(213)는 이동 로봇(100)이 실제로 이동하는 공간에 대한 지도를 저장한다. 공간맵 DB(213)에 저장될 수 있는 공간맵의 종류가 도 5a 내지 도 5c에 도시된다. 도 5a 내지 도 5c는 본 발명에 따른 로봇맵 생성 시 사용 되는 공간맵을 나타낸 도면이다.
도 5a에 도시된 공간맵은 제작 도구를 이용하여 자체 맵 드로윙 기능을 통해 제작된 맵이고, 도 5b에 도시된 공간맵은 실제 도면을 이용하여 이미지 데이터 기반 드로잉 기능을 통해 제작된 맵이며, 도 5c에 도시된 공간맵은 범용 CAD 데이터를 활용하여 제작된 맵이다. 또한, 전술한 바와 같이, 공간맵은 이동 로봇(100)의 카메라(103)를 통해 촬영된 이미지일 수도 있다.
로봇맵 DB(215)는 이동 로봇(100)이 실제 공간을 인식할 수 있는 형태로 바꾼 지도를 저장한다. 로봇맵 DB(215)에 저장된 로봇맵의 형태가 도 5d에 도시된다. 도 5d는 본 발명에 따른 생성된 로봇맵을 나타낸 도면이다. 하기되는 맵 변환기(300)를 통해서 전술한 도 5a 내지 도 5c의 공간맵이 도 5d에 도시된 바와 같은 형태의 로봇맵으로 생성된다.
제어부(211)는 맵 서버(200)의 각 구성 요소에 대한 전반적인 동작을 제어한다. 제어부(211)는 본 실시예에 따라 통신부(201)를 통해 이동 로봇(100) 및 맵 변환기(300)와 연결된다. 제어부(211)는 이동 로봇(100)으로부터 로봇맵 요청 시, 맵 변환기(300)로 해당 공간맵을 전송한다. 제어부(211)는 이동 로봇(100)으로부터 로봇맵 업데이트요청 시, 이동 로봇(100)의 센서(107)를 통해 획득된 수정 정보와 해당 공간맵 및 로봇맵을 맵 변환기(300)로 전송한다. 제어부(211)는 사용자로부터 로봇맵의 업데이트 요청 시, 변경된 로봇맵으로 해당 로봇맵을 업데이트한다. 제어부(211)는 맵 변환기(300)로부터 업로드된 로봇맵 또는 수정/변경된 로봇맵을 이동 로봇(100)으로 전송한다.
이하, 본 발명에 따른 로봇맵 생성을 위한 맵 변환기의 구조에 대하여 설명한다. 도 4는 본 발명에 따른 로봇맵 생성 시스템의 맵 변환기를 개략적으로 나타낸 블록도이다.
도 4를 참조하면, 본 발명에 따른 맵 변환기(300)는 통신부(301), 변환부(313), 수정부(315) 및 제어부(311)의 구성을 갖는다.
통신부(301)는 맵 변환기(300)의 무선 통신 기능을 수행한다. 통신부(301)는 본 실시예에 따라 맵 서버(200)와 TCP 통신을 수행한다. 통신부(301)는 맵 서버(200)로 로봇맵을 전송한다. 여기서, 통신부(301)가 TCP 통신인 것에 한정되는 것은 아니다.
변환부(313)는 맵 서버(200)로부터 수신한 공간맵을 이용하여 로봇맵으로 변환시킨다. 변환부(313)는 실제 공간에 대한 지도를 나타내는 공간맵을 이동 로봇(100)이 인식할 수 있는 로봇맵으로 변환시켜 로봇맵을 생성한다.
수정부(315)는 맵 서버(200)로부터 생성된 로봇맵의 업데이트 요청 시, 로봇맵을 수정한다. 수정부(315)는 맵 서버(200)로부터 로봇맵 업데이트 요청 시, 함께 수신된 수정 정보와 해당 공간맵 및 로봇맵을 이용하여, 로봇맵을 수정한다.
제어부(311)는 맵 변환기(300)의 각 구성 요소에 대한 전반적인 동작을 제어한다. 제어부(311)는 본 실시예에 따라 통신부(301)를 통해 맵 서버(200)와 연결된다. 제어부(311)는 맵 서버(200)로부터 로봇맵 요청 시, 전술한 바와 같이, 변환부(313)를 구동시켜 로봇맵을 생성한다. 제어부(311)는 맵 서버(200)로부터 로봇맵 업데이트 요청 시, 전술한 바와 같이, 수정부(315)를 구동시켜, 로봇맵을 수정한 다. 제어부(311)는 사용자로부터 로봇맵 업데이트 요청 시, 수신된 로봇맵으로 로봇맵을 업데이트하고, 이를 맵 서버(200)로 전송한다.
이하, 본 발명에 따른 로봇맵 생성 시스템의 로봇맵 생성 방법에 대하여 설명한다. 도 6은 본 발명에 따른 로봇맵 생성 시스템의 로봇맵 생성 방법을 개략적으로 나타낸 흐름도이다.
도 1 내지 도 6을 참조하여 본 발명에 따른 로봇맵 생성 시스템의 전체적인 로봇맵 생성을 위한 흐름도를 살펴보면, 먼저 도 6에 도시된 바와 같이, 이동 로봇(100)과 맵 서버(200) 및 맵 서버(200)와 맵 변환기(300)가 연결된다(S601, S603).
이어서, 이동 로봇(100)이 맵 서버(200)로 로봇맵을 요청하면(S605), 맵 서버(200)가 맵 변환기(300)로 로봇맵을 요청하고, 해당 공간맵을 전송한다(S607). 여기서, 공간맵은 전술한 바와 같이, 도 5a 내지 도 5c에 도시된 다양한 방법으로 그려진 도면 중 어느 하나일 수도 있고, 이동 로봇(100)의 카메라(103)를 통해 촬영된 이미지일 수도 있다.
다음으로, 맵 변환기(300)는 맵 서버(200)로부터 수신한 공간맵을 로봇맵으로 변환시킨다(S609). 그리고 맵 변환기(300)는 변환되어 생성된 로봇맵을 맵 서버(200)로 업로드시키고(S611), 맵 서버(200)는 이를 저장한다(S613). 그리고 맵 서버(200)는 로봇맵을 이동 로봇(100)으로 전송한다(S615).
이동 로봇(100)은 맵 서버(200)로부터 수신한 로봇맵을 다운로드하고, 이를 이용하여 해당 공간을 이동한다(S617). 이동 로봇(100)은 공간을 이동 중에 센 서(107)를 통한 오류 발생 여부를 확인한다(S619). 오류 발생 시, 이동 로봇(100)은 맵 서버(200)로 로봇맵의 업데이트를 요청하고, 수정 정보를 함께 전송한다(S621). 즉, 이동 로봇(100)이 맵 서버(200)로부터 다운로드한 로봇맵을 통한 이동 중에, 해당 공간에 변화가 생긴 경우(예를 들어, 없던 물건이 생기거나, 있던 물건이 없어진 경우), 이를 감지하여 맵 서버(200)로 로봇맵의 업데이트를 요청한다.
맵 서버(200)는 맵 변환기(300)로 로봇맵의 업데이트를 요청하고, 수정 정보와 함께 해당 공간맵과 로봇맵을 전송한다(S623). 맵 변환기(300)는 수신한 정보들을 이용하여 해당 로봇맵을 수정하고(S625), 수정된 로봇맵을 맵 서버(200)로 업로드한다(S629).
맵 서버(200)는 수정된 로봇맵을 업데이트하고(S629), 이동 로봇(100)으로 업데이트된 로봇맵을 전송한다(S631).
이하, 본 발명에 따른 로봇맵 생성 시스템의 로봇맵 생성 방법에서 이동 로봇의 동작에 대하여 좀 더 상세히 설명한다. 도 7a와 도 7b는 본 발명에 따른 로봇맵 생성 시스템의 이동 로봇의 로봇맵 생성 방법을 개략적으로 나타낸 흐름도이다.
도 7a를 참조하여 이동 로봇(100)의 로봇맵 생성 방법을 살펴보면, 먼저 이동 로봇(100)의 제어부(111)가 로봇맵의 존재 여부를 확인한다(S701). 이동 로봇(100)이 현재 위치해 있는 공간에서 이전에 맵 서버(200)로부터 다운로드받아 메모리부(105)에 저장한 로봇맵이 있을 수 있으므로, 본 과정을 수행한다.
로봇맵이 존재하는 경우, 제어부(111)는 맵 서버(200)와의 연결 여부를 확인 한다(S703). 저장된 로봇맵이 있더라도, 해당 로봇맵을 저장한 시점이 오래된 경우, 사용자는 해당 로봇맵의 업데이트를 위하여 맵 서버(200)로의 연결을 요구할 수도 있다.
맵 서버(200)와의 연결 요청 시, 제어부(111)는 통신부(101)를 통해 맵 서버(200)와 연결한다(S711). 본 과정은 전술한 S701 과정에서 이동 로봇(100)의 메모리부(105)에 로봇맵이 저장되어 있지 않은 경우, 수행될 수도 있다.
이어서, 제어부(111)는 맵 서버(200)로 로봇맵을 요청하고(S713), 맵 서버(300)로부터 전송되는 로봇맵을 다운로드한다(S715). 그리고 제어부(111)는 이동부(109)를 구동시켜, 로봇맵에 의해 이동 로봇(100)을 이동시킨다(S717).
이동 로봇(100)의 이동 중에 제어부(111)는 오류 발생 여부를 확인한다(S719). 저장된 로봇맵과 센서(107)를 통해 감지된 정보에 차이가 있을 수 있다. 센서(107)는 이동 로봇(100)의 이동 중에 해당 공간을 계속적으로 감지하므로, 감지된 정보와 저장된 로봇맵 사이에 차이가 있는 경우, 이를 오류로 인식하여 제어부(111)로 이를 알린다. 여기서, 센서(107)가 정확하지 못하여, 공간 정보를 잘못 감지할 수도 있으므로, 제어부(111)는 특정 값 이상의 큰 오류 발생 시, 오류가 발생하였다고 인식한다.
오류 발생 시, 제어부(111)는 맵 서버(200)로 로봇맵의 업데이트를 요청하고, 수정 정보를 전송한다(S721). 제어부(111)는 센서(107)를 통해 감지한 오류에 대한 정보를 맵 서버(200)로 전송한다.
그 후에, 제어부(111)는 맵 서버(200)로부터 수정된 로봇맵을 다운로드한 다(S723). 그리고 제어부(111)는 종료 여부를 확인하고(S725), 종료 미요청 시, 제어부(111)는 전술한 S717 과정으로 복귀한다.
한편, 전술한 S703 과정에서 맵 서버(200)와의 연결이 요구되지 않은 경우, 제어부(111)는 해당 로봇맵을 따라 이동부(109)를 구동시켜 이동 로봇(100)을 이동시킨다(S705).
이동 로봇(100)의 이동 중에 제어부(111)는 오류 발생 여부를 확인한다(S707). 센서(107)는 이동 로봇(100)의 이동 중에 해당 공간을 계속적으로 감지한다. 센서(107)는 감지된 정보와 저장된 로봇맵 사이에 차이가 있는 경우, 이를 오류로 인식하여 제어부(111)로 이를 알린다.
오류 발생 시, 제어부(111)는 맵 서버(200)와 연결하고(S709), 전술한 S721 과정으로 복귀한다.
도 7b를 참조하여 이동 로봇(100)의 로봇맵 생성 방법에 대한 다른 예를 설명한다. 전술한 도 7a를 참조한 이동 로봇(100)의 로봇맵 생성 방법은 전술한 도 5a 내지 도 5c에 도시된 바와 같은 공간맵을 이용하는 경우이고, 이하에서 도 7b를 참조한 이동 로봇(100)의 로봇맵 생성 방법은 이동 로봇(100)의 카메라(103)를 통해 촬영된 이미지를 공간맵으로서 이용하는 경우이다.
도 7b를 참조하면, 제어부(111)는 이미지 촬영 모드인지 여부를 확인한다(S751). 제어부(111)는 로봇맵 생성을 위한 공간맵을 카메라(103)를 통한 이미지 촬영으로 생성할 수 있다.
이미지 촬영 모드인 경우, 제어부(111)는 이미지를 촬영하고, 촬영된 이미지 를 저장한다(S753). 제어부(111)는 카메라(103)를 구동시켜, 이동 로봇(100)의 이동을 위한 공간 이미지를 촬영한다.
한편, 전술한 S751 과정에서 이미지 촬영 모드가 아닌 경우, 제어부(111)는 메모리부(105)에 저장된 이미지의 선택 여부를 확인한다(S759). 본 과정에서 저장된 이미지가 선택되지 않은 경우, 제어부(111)는 요구되는 해당 기능을 수행한다. 예를 들어, 제어부(111)는 전술한 S701 과정을 수행하여, 저장된 로봇맵을 통해 이동 로봇(100)을 이동시키거나, 맵 서버(200)로 로봇맵을 요청할 수 있다. 즉, 로봇맵 생성을 위한 공간맵으로서, 카메라(103)를 통해 촬영된 이미지를 사용하는 것이 아니라, 맵 서버(200)에 저장된 공간맵을 사용한다.
이어서, 제어부(111)는 맵 서버(200)와 연결하고(S755), 맵 서버(200)로 촬영된 이미지 또는 선택된 이미지를 공간맵으로서 전송하고, 로봇맵을 요청한다(S757). 다음으로, 전술한 S715 과정으로 복귀한다.
이하, 본 발명에 따른 로봇맵 생성 시스템의 로봇맵 생성 방법에서 맵 서버의 동작에 대하여 좀 더 상세히 설명한다. 도 8은 본 발명에 따른 로봇맵 생성 시스템의 맵 서버의 로봇맵 생성 방법을 개략적으로 나타낸 흐름도이다.
도 8을 참조하여 맵 서버(200)의 로봇맵 생성 방법을 살펴보면, 먼저 맵 서버(200)는 이동 로봇(100) 및 맵 변환기(300)와 통신부(201)를 통해 연결한다(S801).
이어서, 맵 서버(200)는 이동 로봇(100)으로부터 로봇맵 요청 여부를 확인한다(S803). 이동 로봇(100)으로부터 로봇맵 요청 시, 맵 서버(200)는 맵 변환 기(300)로 해당 공간맵을 전송한다(S805). 여기서, 공간맵은 전술한 바와 같이, 도 5a 내지 도 5c에 도시된 다양한 방법으로 그려진 도면 중 어느 하나로서, 공간맵 DB(213)에 저장된 도면일 수도 있고, 이동 로봇(100)의 카메라(103)를 통해 촬영되어 전송된 이미지일 수도 있다.
다음으로, 맵 서버(200)는 맵 변환기(300)로부터 로봇맵을 다운로드하고, 메모리부(205)의 로봇맵 DB(215)에 저장한다(S807). 그리고 맵 서버(200)는 이동 로봇(100)에 로봇맵을 전송한다(S809).
한편, 전술한 S803 과정에서 이동 로봇(100)으로부터 로봇맵이 요청되지 않으면, 맵 서버(200)는 이동 로봇(100)으로부터 로봇맵의 업데이트 요청 여부를 확인한다(S811).
이동 로봇(100)으로부터 로봇맵의 업데이트 요청 시, 맵 서버(200)는 맵 변환기(300)로 로봇맵의 업데이트를 요청하고, 수정 정보와 함께 해당 공간맵과 로봇맵을 전송한다(S813). 여기서, 수정 정보는 이동 로봇(100)으로부터 수신한 정보이다.
다음으로, 맵 서버(200)는 업데이트된 로봇맵을 맵 변환기(300)로부터 다운로드하고, 이를 저장한다(S815). 그 후에, 전술한 S809 과정으로 복귀한다.
한편, 전술한 S811 과정에서 이동 로봇(100)으로부터 로봇맵의 업데이트가 요청되지 않은 경우, 맵 서버(200)는 사용자로부터 로봇맵의 업데이트 요청 여부를 확인한다(S817). 이 경우는 사용자가 직접 맵 서버(200)로 로봇맵의 업데이트를 요청한 경우로서, 사용자가 직접 변경된 로봇맵을 맵 서버(200)에 업데이트할 수 있 다.
사용자로부터 로봇맵의 업데이트 요청 시, 맵 서버(200)는 변경된 로봇맵을 수신하고, 로봇맵을 업데이트한다(S819). 그 후에, 전술한 S809 과정으로 복귀한다.
이하, 본 발명에 따른 로봇맵 생성 시스템의 로봇맵 생성 방법에서 맵 변환기의 동작에 대하여 좀 더 상세히 설명한다. 도 9는 본 발명에 따른 로봇맵 생성 시스템의 맵 변환기의 로봇맵 생성 방법을 개략적으로 나타낸 흐름도이다.
도 9를 참조하여 맵 변환기(300)의 로봇맵 생성 방법을 살펴보면, 먼저 맵 변환기(300)는 맵 서버(200)와 통신부(301)를 통해 연결한다(S901).
이어서, 맵 변환기(300)는 맵 서버(200)로부터 로봇맵 요청 여부를 확인한다(S901). 맵 변환기(300)는 맵 서버(200)가 이동 로봇(100)으로부터 요청된 로봇맵을 요청하는지 여부를 확인한다.
맵 서버(200)로부터 로봇맵 요청 시, 맵 변환기(300)는 맵 서버(200)로부터 해당 공간맵을 수신한다(S905). 맵 변환기(300)는 로봇맵을 생성하기 위한 공간맵을 맵 서버(200)의 공간맵 DB(213)로부터 수신하거나, 이동 로봇(100)의 카메라(103)를 통해 촬영된 이미지를 맵 서버(200)로부터 공간맵으로서 수신할 수 있다.
다음으로, 맵 변환기(300)는 변환부(313)를 통해 공간맵을 로봇맵으로 변환시켜, 로봇맵을 생성한다(S907). 그리고 맵 변환기(300)는 생성된 로봇맵을 맵 서버(200)에 업로드한다(S909).
한편, 전술한 S903 과정에서 맵 서버(200)로부터 로봇맵이 요청되지 않으면, 맵 변환기(300)는 맵 서버(200)로부터 로봇맵 업데이트 요청 여부를 확인한다(S911). 이동 로봇(100)은 로봇맵을 통해 이동 중에 센서(107)를 통한 오류 발생 시, 로봇맵의 업데이트를 맵 서버(200)로 요청하고, 맵 서버(200)는 맵 변환기(300)로 로봇맵의 업데이트를 요청한다.
맵 서버(200)로부터 로봇맵 업데이트 요청 시, 맵 변환기(300)는 맵 서버(200)로 수정 정보와 해당 공간맵 및 로봇맵을 요청하여, 수신한다(S913). 그리고 맵 변환기(300)는 수정부(315)를 구동시켜 해당 정보들을 이용하여 로봇맵을 수정한다(S915). 그 후에 맵 변환기(300)는 전술한 S909 과정으로 복귀한다.
한편, 본 발명에 따른 로봇맵 생성 방법 및 시스템은 전술한 실시예에 한정되지 않고 본 발명의 기술적 중심 사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 이는 본원발명이 속하는 기술 분야에 종사하는 자라면 쉽게 알 수 있을 것이다.
도 1은 본 발명에 따른 로봇맵 생성 시스템을 개략적으로 나타낸 도면이다.
도 2는 본 발명에 따른 로봇맵 생성 시스템의 이동 로봇을 개략적으로 나타낸 블록도이다.
도 3은 본 발명에 따른 로봇맵 생성 시스템의 맵 서버를 개략적으로 나타낸 블록도이다.
도 4는 본 발명에 따른 로봇맵 생성 시스템의 맵 변환기를 개략적으로 나타낸 블록도이다.
도 5a 내지 도 5c는 본 발명에 따른 로봇맵 생성 시 사용되는 공간맵을 나타낸 도면이다.
도 5d는 본 발명에 따른 생성된 로봇맵을 나타낸 도면이다.
도 6은 본 발명에 따른 로봇맵 생성 시스템의 로봇맵 생성 방법을 개략적으로 나타낸 흐름도이다.
도 7a와 도 7b는 본 발명에 따른 로봇맵 생성 시스템의 이동 로봇의 로봇맵 생성 방법을 개략적으로 나타낸 흐름도이다.
도 8은 본 발명에 따른 로봇맵 생성 시스템의 맵 서버의 로봇맵 생성 방법을 개략적으로 나타낸 흐름도이다.
도 9는 본 발명에 따른 로봇맵 생성 시스템의 맵 변환기의 로봇맵 생성 방법을 개략적으로 나타낸 흐름도이다.

Claims (13)

  1. 이동 로봇, 맵 서버 및 맵 변환기로 구성되는 로봇맵 생성 시스템의 로봇맵 생성 방법에 있어서,
    상기 이동 로봇이 상기 맵 서버로 로봇맵을 요청하면, 상기 맵 서버가 상기 맵 변환기로 로봇맵 생성을 요청하고, 해당 공간맵을 전송하는 과정과,
    상기 맵 변환기가 상기 공간맵을 로봇맵으로 변환시켜 로봇맵을 생성하는 과정과,
    상기 맵 변환기가 생성된 로봇맵을 상기 맵 서버에 업로드하고, 상기 맵 서버가 상기 로봇맵을 저장하는 과정과,
    상기 이동 로봇이 상기 맵 서버로부터 로봇맵을 다운로드하여, 상기 로봇맵을 통해 이동하는 과정을 포함하는 것을 특징으로 하는 로봇맵 생성 방법.
  2. 제1 항에 있어서, 상기 전송 과정은,
    상기 이동 로봇이 이미지를 촬영하거나 저장된 이미지를 선택하는 과정과,
    상기 이동 로봇이 상기 촬영 또는 선택된 이미지를 공간맵으로서 상기 맵 서버로 전송하고, 상기 전송된 공간맵의 로봇맵 생성을 요청하는 과정을 더 포함하는 것을 특징으로 하는 로봇맵 생성 방법.
  3. 제1 항에 있어서, 상기 이동 과정은,
    상기 이동 로봇이 이동 중에 오류 발생 여부를 확인하는 과정과,
    상기 오류 발생 시, 상기 이동 로봇이 상기 맵 서버로 상기 로봇맵의 업데이트를 요청하고, 상기 맵 서버가 상기 맵 변환기로 상기 로봇맵의 업데이틀 요청하는 과정과,
    상기 맵 변환기가 상기 로봇맵을 수정하여 업데이트하는 과정과,
    상기 맵 변환기가 업데이트된 로봇맵을 상기 맵 서버에 업로드하고, 상기 맵 서버가 상기 업데이트된 로봇맵을 저장하는 과정고,
    상기 이동 로봇이 상기 맵 서버로부터 업데이트된 로봇맵을 다운로드하여, 상기 업데이트된 로봇맵을 통해 이동하는 과정을 더 포함하는 것을 특징으로 하는 로봇맵 생성 방법.
  4. 제3 항에 있어서, 상기 업데이트 요청 과정은,
    상기 이동 로봇이 오류에 따른 수정 정보를 상기 맵 서버에 전송하고,
    상기 맵 서버는 상기 맵 변환기로 상기 수정 정보와 해당 공간맵 및 로봇맵을 전송하는 것을 특징으로 하는 로봇맵 생성 방법.
  5. 제3 항에 있어서, 상기 오류는,
    상기 이동 로봇에 구비된 센서가 상기 이동 로봇이 이동 중인 공간을 감지하여 측정하는 것을 특징으로 하는 로봇맵 생성 방법.
  6. 제1 항에 있어서,
    상기 맵 서버는 사용자로부터 로봇맵의 업데이트 요청 및 변경된 로봇맵 수신 시, 상기 로봇맵을 업데이트하는 과정과,
    상기 이동 로봇이 상기 맵 서버로부터 업데이트된 로봇맵을 다운로드하여, 상기 업데이트된 로봇맵을 통해 이동하는 과정을 더 포함하는 것을 특징으로 하는 로봇맵 생성 방법.
  7. 공간맵과 상기 공간맵을 통해 생성된 로봇맵을 저장하는 맵 서버와,
    상기 맵 서버로 로봇맵을 요청하고, 상기 맵 서버로부터 로봇맵을 다운로드받으며, 상기 다운로드된 로봇맵을 통해 이동하는 이동 로봇과,
    상기 맵 서버로부터 로봇맵 생성 요청 시, 상기 맵 서버로부터 수신한 해당 공간맵을 로봇맵으로 변환시켜 로봇맵을 생성하고, 상기 생성된 로봇맵을 상기 맵 서버로 업로드하는 맵 변환기를 포함하는 것을 특징으로 하는 로봇맵 생성 시스템.
  8. 제7 항에 있어서, 상기 이동 로봇은,
    이미지를 촬영하는 카메라를 더 포함하고,
    상기 맵 서버로 로봇맵 요청 시, 상기 카메라를 통해 촬영된 이미지 또는 저장된 이미지 중 어느 하나를 공간맵으로서 상기 맵 서버로 전송하는 것을 특징으로 하는 로봇맵 생성 시스템.
  9. 제7 항에 있어서, 상기 이동 로봇은,
    이동 중인 공간을 감지하는 센서를 더 포함하고,
    상기 다운로드된 로봇맵을 통한 이동 중에 상기 센서로부터 오류 발생 시, 상기 맵 서버로 상기 로봇맵의 업데이트를 요청하는 것을 특징으로 하는 로봇맵 생성 시스템.
  10. 제9 항에 있어서, 상기 맵 서버는,
    상기 맵 변환기로 상기 로봇맵의 업데이트를 요청함과 동시에, 상기 오류에 따른 수정 정보와 해당 공간맵 및 로봇맵을 전송하는 것을 특징으로 하는 로봇맵 생성 시스템.
  11. 제10 항에 있어서, 상기 맵 변환기는,
    상기 전송된 수정 정보와 공간맵을 이용하여 상기 로봇맵을 수정하여 업데이트하는 수정부를 더 포함하는 것을 특징으로 하는 로봇맵 생성 시스템.
  12. 제11 항에 있어서, 상기 맵 서버는,
    상기 맵 변환기로부터 업데이트된 로봇맵을 수신하여 저장하고, 상기 이동 로봇으로 상기 업데이트된 로봇맵을 전송하는 것을 특징으로 하는 로봇맵 생성 시스템.
  13. 제7 항에 있어서, 상기 맵 서버는,
    사용자로부터 로봇맵의 업데이트 요청 시, 변경된 로봇맵을 수신하여 해당 로봇맵을 업데이트하는 것을 특징으로 하는 로봇맵 생성 시스템.
KR1020070110054A 2007-10-31 2007-10-31 로봇맵 생성 방법 및 시스템 KR101378305B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070110054A KR101378305B1 (ko) 2007-10-31 2007-10-31 로봇맵 생성 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070110054A KR101378305B1 (ko) 2007-10-31 2007-10-31 로봇맵 생성 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20090044118A KR20090044118A (ko) 2009-05-07
KR101378305B1 true KR101378305B1 (ko) 2014-03-28

Family

ID=40854728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070110054A KR101378305B1 (ko) 2007-10-31 2007-10-31 로봇맵 생성 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101378305B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101782057B1 (ko) 2010-05-03 2017-09-26 삼성전자주식회사 지도 생성 장치 및 방법
KR101876968B1 (ko) * 2016-10-21 2018-07-12 네이버 주식회사 실내 자율 주행 로봇을 위한 제어 방법 및 시스템
KR102428216B1 (ko) * 2017-12-04 2022-08-01 엘지전자 주식회사 인공지능을 이용한 이동 로봇, 이동 로봇의 제어방법, 및 이동 로봇의 제어 시스템
KR20220102343A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 로봇 및 그 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0822324A (ja) * 1994-07-05 1996-01-23 Mitsubishi Heavy Ind Ltd 移動ロボットの軌道生成方法
JP2004042165A (ja) 2002-07-10 2004-02-12 Mitsubishi Heavy Ind Ltd 移動ロボット用環境地図
KR20050024840A (ko) * 2003-09-05 2005-03-11 학교법인 인하학원 자율이동로봇을 위한 경로계획방법
KR20060101450A (ko) * 2006-09-11 2006-09-25 주식회사 마이크로로보트 절대좌표 버츄얼 맵핑방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0822324A (ja) * 1994-07-05 1996-01-23 Mitsubishi Heavy Ind Ltd 移動ロボットの軌道生成方法
JP2004042165A (ja) 2002-07-10 2004-02-12 Mitsubishi Heavy Ind Ltd 移動ロボット用環境地図
KR20050024840A (ko) * 2003-09-05 2005-03-11 학교법인 인하학원 자율이동로봇을 위한 경로계획방법
KR20060101450A (ko) * 2006-09-11 2006-09-25 주식회사 마이크로로보트 절대좌표 버츄얼 맵핑방법

Also Published As

Publication number Publication date
KR20090044118A (ko) 2009-05-07

Similar Documents

Publication Publication Date Title
CN109551502B (zh) 具有触摸灵敏度的机器人
US11989835B2 (en) Augmented reality overlay
JP6551455B2 (ja) 歩行分析支援ロボット
JP5122770B2 (ja) 映像認識の可能な移動体誘導システム
JP6659317B2 (ja) 位置姿勢推定装置、位置姿勢推定プログラムおよび電気掃除機システム
KR20180055571A (ko) 이동 로봇 시스템, 이동 로봇 및 이동 로봇 시스템의 제어 방법
JP6943988B2 (ja) 移動可能物体の制御方法、機器およびシステム
KR101378305B1 (ko) 로봇맵 생성 방법 및 시스템
US11536621B2 (en) Methods and systems for calibrating deformable sensors using camera
US11279036B2 (en) Methods and systems for implementing customized motions based on individual profiles for identified users
JP7024155B2 (ja) ジンバル制御方法、ジンバル、及びコンピュータプログラム
CN110549353B (zh) 力觉视觉化装置、机器人以及存储力觉视觉化程序的计算机可读介质
EP3865968B1 (en) Systems for determining location using robots with deformable sensors
CN105808062A (zh) 一种用于控制智能装置的方法和终端
US11366450B2 (en) Robot localization in a workspace via detection of a datum
KR20130099667A (ko) 레이저 스캐너 및 구조물을 이용한 모바일 로봇의 위치추정장치 및 방법
KR20120033414A (ko) 자기 위치 인식을 수행하는 로봇 및 그의 운용 방법
CN114800535A (zh) 机器人的控制方法、机械臂控制方法、机器人及控制终端
KR101380852B1 (ko) 사용자로부터 환경에 대한 사진 입력을 받는 이동로봇의 slam 시스템 및 방법
JP2007265343A (ja) 移動物体の追従装置及び同装置を備えた電動車椅子
KR102565444B1 (ko) 객체를 식별하기 위한 장치 및 방법
KR101240418B1 (ko) 실시간 비접촉식 동작 모방시스템을 이용한 로봇 교시 장치 및 방법
US11926065B2 (en) Vision-based operation for robot
JP2021071878A (ja) アノテーション装置
CN114714330B (zh) 外骨骼机器人、外骨骼机器人的肢体调节方法和电子装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee