KR-20260060670-A - Robot cleaner and control method thereof
Abstract
본 발명은 로봇 청소기 및 그 제어 방법에 관한 것이다. 본 발명의 일 형태에 따른 로봇 청소기는, 로봇 청소기의 전방을 촬영하는 카메라부; 상기 로봇 청소기의 전방에 대한 이미지에서 관심 영역을 검출하는 이미지 처리부; 상기 검출된 관심 영역에 대한 경계 포인트를 설정하는 프로세서부; 및 상기 설정된 경계 포인트에 기초하여 로봇 청소기의 주행을 제어하는 주행 제어부를 포함한다.
Inventors
- 정순홍
- 이원주
- 조일수
- 최준오
Assignees
- 엘지전자 주식회사
Dates
- Publication Date
- 20260506
- Application Date
- 20241025
Claims (16)
- 로봇 청소기로서, 로봇 청소기의 전방을 촬영하는 카메라부; 상기 로봇 청소기의 전방에 대한 이미지에서 관심 영역을 검출하는 이미지 처리부; 상기 검출된 관심 영역에 대한 경계 포인트를 설정하는 프로세서부; 및 상기 설정된 경계 포인트에 기초하여 로봇 청소기의 주행을 제어하는 주행 제어부를 포함하는, 로봇 청소기.
- 제1항에 있어서, 상기 프로세서부는 상기 로봇 청소기 주행에 따라 검출된 관심 영역에 기초하여 상기 설정된 경계 포인트를 업데이트하고, 상기 주행 제어부는 상기 업데이트된 경계 포인트에 기초하여 상기 로봇 청소기의 주행을 제어하는, 로봇 청소기.
- 제2항에 있어서, 상기 프로세서부는 장애물의 존재 여부에 기초하여 상기 로봇 청소기의 주행 가능 여부를 판단하고, 상기 주행 제어부는 상기 로봇 청소기의 주행이 불가능한 경우에 상기 로봇 청소기의 회전 제어를 수행하는, 로봇 청소기.
- 제3항에 있어서, 상기 프로세서부는, 상기 로봇 청소기의 회전 제어 수행 후, 상기 장애물의 존재 여부에 기초하여 상기 로봇 청소기의 주행 가능 여부를 다시 판단하고, 상기 로봇 청소기의 주행이 불가능한 경우에, 상기 경계 포인트에 기초하여 상기 관심 영역 또는 상기 관심 영역의 경계를 추출하고, 상기 로봇 청소기의 주행이 가능한 경우에, 상기 로봇 청소기 주행에 따라 검출된 관심 영역에서 모서리 존재 여부를 판단하는, 로봇 청소기.
- 제4항에 있어서, 상기 로봇 청소기 주행에 따라 검출된 관심 영역에서 모서리가 존재하는 경우에, 상기 프로세서부는 상기 업데이트된 경계 포인트를 보정하는, 로봇 청소기.
- 제2항에 있어서, 상기 프로세서부는, 상기 설정된 경계 포인트에 대한 데이터를 누적하여 저장하고, 초기 설정된 경계 포인트와 상기 업데이트된 경계 포인트가 일치하는 경우에, 상기 저장된 경계 포인트에 대한 데이터에 기초하여 상기 관심 영역 또는 상기 관심 영역의 경계를 추출하는, 로봇 청소기.
- 제1항에 있어서, 상기 경계 포인트는, 상기 검출된 관심 영역에 대해 상기 로봇 청소기의 중심을 기준으로 최근접 거리에 위치한 지점인, 로봇 청소기.
- 제1항에 있어서, 상기 이미지 처리부는, 상기 로봇 청소기의 전방에 대한 이미지를 상방뷰(BEV; bird eye view) 이미지로 변환하고, 상기 변환된 상방뷰 이미지에서 관심 영역을 검출하는, 로봇 청소기.
- 로봇 청소기의 제어 방법으로서, 로봇 청소기의 전방을 촬영하는 단계; 상기 로봇 청소기의 전방에 대한 이미지에서 관심 영역을 검출하는 단계; 상기 검출된 관심 영역에 대한 경계 포인트를 설정하는 단계; 및 상기 설정된 경계 포인트에 기초하여 로봇 청소기의 주행을 제어하는 단계를 포함하는, 로봇 청소기의 제어 방법.
- 제9항에 있어서, 상기 주행을 제어하는 단계는, 상기 로봇 청소기 주행에 따라 검출된 관심 영역에 기초하여 상기 설정된 경계 포인트를 업데이트하는 단계; 및 상기 업데이트된 경계 포인트에 기초하여 상기 로봇 청소기의 주행을 제어하는 단계를 포함하는, 로봇 청소기의 제어 방법.
- 제10항에 있어서, 장애물의 존재 여부에 기초하여 상기 로봇 청소기의 주행 가능 여부를 판단하는 단계를 포함하고, 상기 로봇 청소기의 주행이 불가능한 경우에 상기 로봇 청소기의 회전 제어를 수행하는, 로봇 청소기의 제어 방법
- 제11항에 있어서, 상기 로봇 청소기의 회전 제어 수행 후, 상기 장애물의 존재 여부에 기초하여 상기 로봇 청소기의 주행 가능 여부를 다시 판단하고, 상기 로봇 청소기의 주행이 불가능한 경우에, 상기 경계 포인트에 기초하여 상기 관심 영역 또는 상기 관심 영역의 경계를 추출하고, 상기 로봇 청소기의 주행이 가능한 경우에, 상기 로봇 청소기 주행에 따라 검출된 관심 영역에서 모서리 존재 여부를 판단하는, 로봇 청소기의 제어 방법.
- 제12항에 있어서, 상기 로봇 청소기 주행에 따라 검출된 관심 영역에서 모서리가 존재하는 경우에, 상기 업데이트된 경계 포인트를 보정하는 단계를 포함하는, 로봇 청소기의 제어 방법.
- 제10항에 있어서, 상기 설정된 경계 포인트에 대한 데이터를 누적하여 저장하고, 초기 설정된 경계 포인트와 상기 업데이트된 경계 포인트가 일치하는 경우에, 상기 저장된 경계 포인트에 대한 데이터에 기초하여 상기 관심 영역 또는 상기 관심 영역의 경계를 추출하는 단계를 포함하는, 로봇 청소기의 제어 방법.
- 제9항에 있어서, 상기 경계 포인트는, 상기 검출된 관심 영역에 대해 상기 로봇 청소기의 중심을 기준으로 최근접 거리에 위치한 지점인, 로봇 청소기의 제어 방법.
- 제9항에 있어서, 상기 관심 영역을 검출하는 단계는, 상기 로봇 청소기의 전방에 대한 이미지를 상방뷰(BEV; bird eye view) 이미지로 변환하는 단계; 및 상기 변환된 상방뷰 이미지에서 관심 영역을 검출하는 단계를 포함하는, 로봇 청소기의 제어 방법.
Description
로봇 청소기 및 그 제어 방법{Robot cleaner and control method thereof} 본 발명은 로봇 청소기 및 그 제어 방법에 관한 것으로, 보다 상세하게는 카메라 이미지를 이용하여 관심 영역을 감지하면, 감지된 관심 영역의 경계를 따라 주행하도록 제어하는 로봇 청소기 및 그 제어 방법에 관한 것이다. 로봇 청소기는 주로 가정 등 실내 공간에 배치되어 실내 공간을 자유롭게 주행하면서 청소 동작을 수행할 수 있다. 한편, 로봇 청소기의 장애물 인식 및 회피는 이동 로봇의 주행 성능뿐만 아니라 청소 성능에 큰 영향을 미친다. 이와 관련하여 종래 기술의 경우, 주행 중 접촉 센서(예, 휠 인코더), 초근접 센서(예, 초음파) 등을 구비하여 로봇 청소기가 스스로 주행하며 관심 영역(예, 카펫, 벽 등)을 감지하고 감지된 관심 영역에 대한 지도를 생성하고, 생성된 지도를 기준으로 청소를 수행한다. 다만, 접촉 센서 및 초근접 센서를 이용한 관심 영역 검출 방식은 로봇 청소기가 관심 영역에 올라타는 모션을 수행하여 관심 영역을 검출하기 때문에 검출 속도가 느리고 관심 영역 검출 정확도가 낮으며, 관심 영역에 대한 훼손이 발생할 수 있다는 문제점이 있었다. 도 1은 본 발명의 일 실시예에 따른 로봇 청소기의 구성도이다. 도 2는 본 발명의 일 실시예에 따른 로봇 청소기 제어 방법의 순서도이다. 도 3은 본 발명의 일 실시예에 따른 관심 영역 검출을 설명하기 위한 예시도이다. 도 4는 본 발명의 일 실시예에 따른 경계 포인트를 설명하기 위한 개념도이다. 도 5는 발명의 일 실시예에 따른 경계 포인트 업데이트를 설명하기 위한 개념도이다. 도 6은 본 발명의 일 실시예에 따른 장애물 존재 여부에 따른 로봇 청소기의 주행을 설명하기 위한 예시도이다. 도 7은 본 발명의 일 실시예에 따른 업데이트된 경계 포인트의 보정을 설명하기 위한 개념도이다. 도 8은 본 발명의 일 실시예에 따른 업데이트된 경계 포인트와 초기 경계 포인트가 같은 경우를 설명하기 위한 개념도이다. 도 9는 본 발명의 일 실시예에 따른 관심 영역에 대한 경계 추출을 설명하기 위한 개념도이다. 이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세하게 설명하면 다음과 같다. 다만, 본 발명을 설명함에 있어서, 이미 공지된 기능 혹은 구성에 대한 설명은, 본 발명의 요지를 명료하게 하기 위하여 생략하기로 한다. 이하에서는 도 1 내지 도 9를 참조하여 본 발명에 따른 로봇 청소기 및 그 제어 방법에 대해 상술한다. 도 1은 본 발명의 일 실시예에 따른 로봇 청소기의 구성도이고, 도 2는 본 발명의 일 실시예에 따른 로봇 청소기의 제어 방법의 순서도이다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 로봇 청소기(100)는 카메라부(110), 이미지 처리부(120), 프로세서부(130), 주행 제어부(140) 등을 포함한다. 카메라부(110)는 로봇 청소기(100)의 전방 방향을 촬영하도록 설치된 카메라를 통해 로봇 청소기(100)의 전방에 대한 이미지를 촬영한다. 이미지 처리부(120)는 카메라부(110)를 통해 입력된 로봇 청소기(100)의 전방 방향에 대한 이미지를 기 학습된 모델에 적용하여 관심 영역(예, 카펫 영역)을 검출한다(도 2의 S205 단계 참조). 이와 관련하여, 도 3은 본 발명의 일 실시예에 따른 관심 영역 검출을 설명하기 위한 예시도이다. 도 3을 참조하면, 예컨대, 기 학습된 모델은 합성곱 신경망(CNN; Convolution Neural Network) 기반의 모델로 구현되어 객체(예, 카펫, 바닥 등)를 탐지하여 관심 영역을 검출할 수 있다. 그리고, 로봇 청소기(100)의 전방 방향에 대한 이미지에서 관심 영역(200)이 검출되면, 이미지 처리부(120)는 로봇 청소기(100)의 전방 방향에 대한 이미지를 상방뷰(BEV; Bird Eye View)로 변환한다. 예컨대, 이미지 처리부(120)는 원근 변환(perspective transform)으로 로봇 청소기(100)의 전방 방향에 대한 이미지를 상방뷰(BEV; Bird Eye View)로 변환할 수 있다. 그리고, 이미지 처리부(120)는 상방뷰로 변환된 이미지를 기 학습된 모델에 적용하여 상방뷰로 변환된 이미지에서 관심 영역(200)을 검출할 수 있다. 프로세서부(130)는 이미지 처리부(120)로부터 상방뷰로 변환된 이미지에서 검출된 관심 영역(200)에 대해 경계 포인트를 설정한다(도 2의 S210 단계 참조). 본 발명의 일 실시예에 따른 경계 포인트는 이미지 처리부(120)로부터 검출된 관심 영역(200) 중에서 로봇 청소기의 중심을 기준으로 가장 가까운 거리에 위치한 지점이다. 이와 관련하여, 도 4는 본 발명의 일 실시예에 따른 경계 포인트를 설명하기 위한 개념도이다. 도 4를 참조하면, 예컨대, 프로세서부(130)는 상방뷰로 변환된 이미지에서 관심 영역(200)이 검출되면, 검출된 관심 영역(200)에 대해 로봇 청소기(100)의 중심으로부터 가장 가까운 지점을 경계 포인트(예, 검은색 점)로 설정한다. 참고로, 프로세서부(130)는 검출된 관심 영역(200)에 대해 처음으로 설정된 경계 포인트를 초기 경계 포인트로 설정한다. 주행 제어부(140)는 프로세서부(130)로부터 설정된 경계 포인트에 기초하여 로봇 청소기의 주행을 제어한다(도 2의 S215 단계 참조). 이때, 주행 제어부(140)는 로봇 청소기(100)가 설정된 경계 포인트에 최대한 근접하도록 로봇 청소기(100)의 주행을 제어한다. 예컨대, 주행 제어부(140)는 설정된 경계 포인트와 로봇 청소기(100)의 중심 사이의 거리가 로봇 청소기(100)의 반지름 길이와 동일하도록 로봇 청소기(100)를 제어할 수 있다. 참고로, 프로세서부(130)는 로봇 청소기(100)의 움직임 정보 및 전방 방향에 대한 이미지(예, 관심 영역 검출 시점의 이미지)에 기초하여 로봇 청소기(100)와 설정된 경계 포인트 사이의 거리를 연산할 수 있다. 그리고, 로봇 청소기(100)의 위치와 설정된 경계 포인트가 근접하다고 판단된 경우에 프로세서부(130)는 설정된 경계 포인트를 업데이트한다(도 2의 S220 단계 참조). 프로세서부(130)는 로봇 청소기(100)의 주행(예, 회전 및/또는 직진)에 따라 검출된 관심 영역(200)에 기초하여 설정된 경계 포인트를 업데이트한다. 이와 관련하여, 도 5는 발명의 일 실시예에 따른 경계 포인트 업데이트를 설명하기 위한 개념도이다. 도 5를 참조하면, 예컨대, 로봇 청소기(100)가 초기 경계 포인트에 근접한 경우에, 주행 제어부(140)는 로봇 청소기(100)가 시계 방향 또는 반시계 방향으로 회전하도록 제어한다. 그리고, 카메라부(110)는 로봇 청소기(100)의 주행에 따른 전방 이미지를 이미지 처리부(120)에 전달하고, 이미지 처리부(120)는 관심 영역(200)을 검출하고, 프로세서부(130)는 검출된 관심 영역(200)에 기초하여 경계 포인트(예, 흰색 점)를 설정하여 초기 경계 포인트를 업데이트한다. 프로세서부(130)는 로봇 청소기(100)가 경계 포인트에 근접하다고 판단되면, 경계 포인트의 업데이트를 반복하여 수행하고, 업데이트된 경계 포인트를 누적하여 데이터 베이스에 저장한다. 그리고, 주행 제어부(140)는 업데이트된 경계 포인트에 기초하여 로봇 청소기(100)가 관심 영역(200)의 경계를 주행하도록 제어한다(도 2의 S225 단계 참조). 예컨대, 주행 제어부(140)는 설정된 경계 포인트 방향과 로봇 청소기(100)의 전방 방향이 직각이 되도록 로봇 청소기(100)의 주행을 제어한다. 한편, 장애물(예, 벽) 존재 여부에 따라 로봇 청소기(100)의 주행이 불가능할 수 있다. 따라서, 본 발명의 일 실시예에 따른 주행 제어부(140)는 장애물(400) 존재 여부에 따라 로봇 청소기(100)를 제어한다. 이와 관련하여, 도 6은 본 발명의 일 실시예에 따른 장애물 존재 여부에 따른 로봇 청소기의 주행을 설명하기 위한 예시도이다. 이미지 처리부(120)는 로봇 청소기(100)의 전방 방향에 대한 이미지에 기초하여 장애물(400) 존재 여부를 검출하고, 프로세서부(130)는 장애물(400) 존재 여부에 따라 로봇 청소기(100)의 주행 가능 여부를 판단한다(도 2의 단계 S230 참조). 예컨대, 이미지 처리부(120)는 카메라부(110)로부터 입력받은 로봇 청소기(100)의 전방 방향에 대한 이미지에 기초하여 장애물(400)을 검출한다. 그리고, 이미지 처리부(120)로부터 장애물(400) 존재한다고 판단되면, 프로세서부(130)는 로봇 청소기(100)의 주행이 불가능하다고 판단할 수 있다. 그리고, 프로세서부(130)로부터 로봇 청소기(100)가 장애물(400)에 의해 주행 불가능하다고 판단되면(도 6(a) 참조), 주행 제어부(140)는 로봇 청소기(100)가 회전하도록 제어한다(도 2의 단계 S235 및 도 6(b) 참조). 예컨대, 주행 제어부(140)는 로봇 청소기(100)가 관심 영역(200)의 경계를 주행하기 위해 180도 회전하도록 제어하고, 경계 포인트에 기초하여 로봇 청소기(100)의 주행을 제어할 수 있다. 그리고, 프로세서부(130)는 로봇 청소기(100)의 주행 가능 여부를 더 판단한다(도 2의 단계 S240 참조). 프로세서부(130)로부터 로봇 청소기(100)가 장애물(400)에 의해 2회 이상 주행 불가능하다고 판단되면(도 6(c) 참조), 주행 제어부(140)는 로봇 청소기(100)의 주행 제어를 종료한다. 한편, 프로세서부(130)에서 상방뷰 이미지에 경계 포인트 업데이트 수행 시, 관심 영역(예, 객체)의 높이를 특정하기 어려우며, 관심 영역(200)의 모서리 구간에서 관심 영역(200)의 높이에 의해 경계 포인트 설정에 오차가 발생할 수 있다. 따라서, 본 발명의 일 실시예에 따른 프로세서부(130)는 관심 영역(200)에 모서리가 존재하는 경우에 업데이트된 경계 포인트에 대해 보정을 수행한다. 프로세서부(130)는 검출된 관심 영역(200)에서 모서리 존재 여부를 판단한다(도 2의 단계 S245 참조). 이와 관련하여, 도 7은 본 발명의 일 실시예에 따른 업데