KR101970295B1 - 픽업 로봇의 제어 방법 - Google Patents

픽업 로봇의 제어 방법 Download PDF

Info

Publication number
KR101970295B1
KR101970295B1 KR1020170100437A KR20170100437A KR101970295B1 KR 101970295 B1 KR101970295 B1 KR 101970295B1 KR 1020170100437 A KR1020170100437 A KR 1020170100437A KR 20170100437 A KR20170100437 A KR 20170100437A KR 101970295 B1 KR101970295 B1 KR 101970295B1
Authority
KR
South Korea
Prior art keywords
camera
unit
image
pick
robot
Prior art date
Application number
KR1020170100437A
Other languages
English (en)
Other versions
KR20190016335A (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 KR1020170100437A priority Critical patent/KR101970295B1/ko
Publication of KR20190016335A publication Critical patent/KR20190016335A/ko
Application granted granted Critical
Publication of KR101970295B1 publication Critical patent/KR101970295B1/ko

Links

Images

Classifications

    • 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
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 픽업 로봇 및 픽업 로봇의 제어 방법을 개시한다. 상기 픽업 로봇은 바디부, 전 방향(全方向)으로 이동할 수 있도록 상기 바디부에 배치되고 독립적으로 회전하는 휠들을 포함하는 휠부, 전방을 향하여 상기 바디부에 회전 가능하게 배치되는 카메라를 포함하는 카메라부, 및 전방에서 해당 물체를 수거하도록 상기 바디부에 배치되는 픽업부를 포함한다. 상기 제어 방법은 상기 카메라로부터 획득된 카메라 영상으로부터 상기 해당 물체를 인식하는 단계, 상기 카메라 영상 내의 상기 해당 물체의 위치 및 상기 카메라의 회전각을 기초로 상기 픽업 로봇의 이동 모드를 결정하고, 상기 이동 모드에 따라 상기 휠부를 제어하는 단계, 상기 픽업 로봇이 제1 방향으로 회전 운동할 때, 상기 카메라가 상기 바디부에 대해 상기 제1 방향의 반대 방향인 제2 방향으로 회전하도록 상기 카메라부를 제어하는 단계, 및 상기 단계들을 반복하여 상기 픽업 로봇이 상기 해당 물체에 접근하면, 상기 해당 물체를 수거하기 위해 상기 픽업부를 제어하는 단계를 포함한다.

Description

픽업 로봇의 제어 방법{Method of controlling pickup robot}
본 발명은 로봇의 제어 방법에 관한 것으로, 더욱 상세하게는 자율 주행하면서 물체를 인식하고 수거하는 것이 가능한 픽업 로봇의 제어 방법에 관한 것이다.
픽업 로봇은 지면 상의 다양한 물체를 수거하는데 활용될 수 있다. 픽업 로봇은 카메라로부터 획득된 카메라 영상으로부터 물체를 감지하고, 감지된 물체를 향하여 자율적으로 이동하고, 감지된 물체를 수거할 수 있다. 픽업 로봇이 카메라 영상으로부터 감지된 물체의 위치를 포함하는 맵(map)을 만들기 위해서는 큰 용량의 메모리와 높은 연산 능력이 필요하다. 게다가, 픽업 로봇이 빠르게 이동할 경우, 카메라 앵글이 빠르게 변함에 따라 카메라 영상에 큰 모션 블러가 발생하여 물체를 감지하기 어렵다.
본 발명은 위와 같은 문제점을 포함하여 여러 문제점을 해결하기 위한 것으로서 작은 용량의 메모리와 낮은 연산 능력을 갖는 프로세서를 이용하여 카메라 영상으로부터 물체를 감지하고, 감지된 물체를 향하여 빠르게 이동하더라도 카메라 영상에 발생할 수 있는 모션 블러가 감소되며, 물체를 향하여 정확하게 이동할 수 있는 픽업 로봇 및 이의 제어 방법을 제공하고자 한다. 그러나 이러한 과제는 예시적인 것으로, 이에 의해 본 발명의 범위가 한정되는 것은 아니다.
본 발명의 일 측면은 바디부, 전 방향(全方向)으로 이동할 수 있도록 상기 바디부에 배치되고 독립적으로 회전하는 휠들을 포함하는 휠부, 전방을 향하여 상기 바디부에 회전 가능하게 배치되는 카메라를 포함하는 카메라부, 및 전방에서 해당 물체를 수거하도록 상기 바디부에 배치되는 픽업부를 포함하는 픽업 로봇의 제어 방법을 제공한다. 상기 제어 방법은 상기 카메라로부터 획득된 카메라 영상으로부터 상기 해당 물체를 인식하는 단계, 상기 카메라 영상 내의 상기 해당 물체의 위치 및 상기 카메라의 회전각을 기초로 상기 픽업 로봇의 이동 모드를 결정하고, 상기 이동 모드에 따라 상기 휠부를 제어하는 단계, 상기 픽업 로봇이 제1 방향으로 회전 운동할 때, 상기 카메라가 상기 바디부에 대해 상기 제1 방향의 반대 방향인 제2 방향으로 회전하도록 상기 카메라부를 제어하는 단계, 및 상기 단계들을 반복하여 상기 픽업 로봇이 상기 해당 물체에 접근하면, 상기 해당 물체를 수거하기 위해 상기 픽업부를 제어하는 단계를 포함한다.
일 예에 따르면, 상기 해당 물체를 인식하는 단계는 상기 카메라로부터 획득된 상기 카메라 영상을 전처리하여 제1 영상을 생성하는 단계, 상기 제1 영상을 컬러 마스킹하여 제2 영상을 생성하는 단계, 상기 제2 영상에 대하여 블랍 검출(blob detection)을 수행하여 후보 물체들의 위치와 크기를 검출하는 단계, 상기 후보 물체들의 위치와 크기에 대응하는 상기 제1 영상의 일부분들을 사전-트레이닝된 캐스케이드 분류기(cascade classifier)에 입력하여 수거 대상 물체들을 검출하는 단계, 및 상기 수거 대상 물체들 중 하나를 상기 해당 물체로 인식하는 단계를 포함할 수 있다.
다른 예에 따르면, 상기 제어부는 상기 카메라의 카메라 앵글이 미리 설정한 기준 각속도 이하의 각속도로 이동하도록 상기 카메라부를 제어할 수 있다. 상기 픽업 로봇이 상기 제1 방향으로 회전 운동할 때의 제1 각속도 크기는 상기 카메라가 상기 제2 방향을 회전할 때의 제2 각속도 크기보다 빠를 수 있다. 상기 제1 각속도 크기와 상기 제2 각속도 크기 사이의 차이는 상기 기준 각속도 이하일 수 있다. 상기 제어부는 상기 픽업 로봇이 상기 제1 방향의 회전 운동을 종료하면 상기 카메라가 상기 제1 방향으로 상기 기준 각속도 이하의 각속도로 회전하도록 상기 카메라부를 제어할 수 있다.
또 다른 예에 따르면, 상기 제어부는 상기 회전각을 기초로 상기 카메라 영상 내에 서로 수직한 가상의 가로선 및 가상의 세로선을 결정하고, 상기 가로선과 상기 세로선을 기준으로 상기 해당 물체의 위치를 결정하고, 상기 가로선과 상기 세로선에 대한 상기 해당 물체의 위치를 기초로 상기 픽업 로봇의 이동 모드를 결정할 수 있다.
본 발명의 다른 측면은 바디부, 전 방향(全方向)으로 이동할 수 있도록 상기 바디부에 배치되고 독립적으로 회전하는 휠들을 포함하는 휠부, 전방을 향하여 상기 바디부에 회전 가능하게 배치되는 카메라를 포함하는 카메라부, 전방에서 해당 물체를 수거하도록 상기 바디부에 배치되는 픽업부, 및 상기 휠부, 상기 카메라부, 및 상기 픽업부를 제어하는 제어부를 포함하는 픽업 로봇을 제공한다. 상기 제어부는 상기 카메라의 카메라 영상으로부터 상기 해당 물체를 인식하는 단계, 상기 카메라 영상 내의 상기 해당 물체의 위치 및 상기 카메라의 회전각을 기초로 이동 모드를 결정하고, 상기 이동 모드에 따라 상기 휠부를 제어하는 단계, 제1 방향으로 회전 운동할 때, 상기 카메라가 상기 제1 방향의 반대 방향인 제2 방향으로 회전하도록 상기 카메라부를 제어하는 단계, 및 상기 단계들을 반복하여 상기 해당 물체에 접근하면, 상기 해당 물체를 수거하도록 상기 픽업부를 제어하는 단계를 수행하도록 구성된다.
본 발명의 실시예들은 픽업 로봇이 빠르게 이동하더라도 카메라 영상에 모션 블러가 감소하도록 카메라를 제어하고, 카메라 영상으로부터 정확하게 물체를 감지하고, 감지된 물체를 향하여 자율 주행으로 이동하고, 수거 대상 물체들을 효과적으로 수거할 수 있다.
도 1은 본 발명의 일 실시예에 따른 픽업 로봇을 보여주는 사시도이다.
도 2는 본 발명의 일 실시예에 따른 픽업 로봇의 흡입부를 도시하는 개념도이다.
도 3은 본 발명의 일 실시예에 따른 픽업 로봇의 운동 구동부를 도시하는 사시도이다.
도 4는 본 발명의 일 실시예에 따른 픽업 로봇의 제어 흐름을 도시하는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 픽업 로봇의 제어부의 내부 구성을 도시하는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 픽업 로봇의 해당 물체 인식부의 내부 구성을 도시하는 블록도이다.
도 7a 내지 도 7f는 본 발명의 일 실시예에 따른 픽업 로봇의 해당 물체 인식부를 설명하기 위해 해당 물체 인식부에서 처리되는 예시적인 영상들을 도시한다.
도 8은 본 발명의 일 실시예에 따른 픽업 로봇의 제어부가 카메라 회전 구동부를 제어하는 방법을 설명하기 위한 개념도이다.
도 9a 내지 도 9e 및 도 10은 본 발명의 일 실시예에 따라서 제어부가 카메라 영상 내의 해당 물체의 위치 및 카메라의 회전각을 기초로 픽업 로봇의 이동 모드를 결정하는 방법을 설명하기 위한 예시적인 카메라 영상도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
일부 실시예는 기능적인 블럭 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블럭들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블럭들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블럭들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블럭들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “모듈” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 픽업 로봇을 보여주는 사시도이다.
도 1을 참고하면, 픽업 로봇(100)은 바디부(110), 픽업 로봇(100)이 전 방향(全方向)으로 이동할 수 있도록 바디부(110)에 배치되고 독립적으로 회전하는 휠들(160)을 포함하는 휠부, 픽업 로봇(100)의 전방(前方)을 향하여 바디부(110)에 회전 가능하게 배치되는 카메라(141)를 포함하는 카메라부, 픽업 로봇(100)의 전방에서 해당 물체를 수거하도록 바디부(110)에 배치되는 픽업부, 및 상기 휠부, 상기 카메라부, 및 상기 픽업부를 제어하는 제어부(도 4의 200)를 포함한다.
픽업 로봇(100)은 카메라(141)로부터 획득된 카메라 영상으로부터 물체를 인식하고, 인식된 물체를 향하여 자율 주행에 의해 이동한 후, 물체를 지면 등으로부터 수거할 수 있다.
픽업 로봇(100)은 물체를 흡입하는 방식으로 물체를 수거할 수 있다. 본 실시예에서, 상기 픽업부는 흡입부(120)와 흡입 배관(130)을 포함하며, 물체를 흡입하는 방식으로 물체를 수거할 수 있다. 이때, 흡입부(120)와 흡입 배관(130)에 의해 흡입되는 물체는 흡입물로 지칭될 수 있다. 일 예에 따르면, 흡입물은 탁구공, 테니스공 등과 같은 물체일 수 있다. 다른 예에 따르면, 흡입물은 휴지, 종이류, 쓰레기 등과 같은 물체일 수 있다. 본 발명에 따른 픽업 로봇(100)의 픽업부는 물체를 흡입하는 방식으로 한정되지 않으며, 물체를 예컨대 집게를 이용하여 들어 올리거나, 예컨대 접착 또는 부착하는 방식으로 수거할 수도 있다.
이하에서는 설명의 편의를 위하여 픽업 로봇(100)은 탁구공이나 테니스공과 같은 물체를 흡입하여 수거하는 경우를 중심으로 상세히 설명하기로 한다.
본 실시예에 따르면, 픽업 로봇(100)은 바디부(110), 흡입부(120), 흡입 배관(130), 카메라(141)를 포함하는 감지부(140), 운동 구동부(150), 휠들(160), 휠 구동부(170), 에너지 저장부(180) 및 제어부(200)를 포함할 수 있다.
본 실시예에서 상기 휠부는 휠들(160)과 휠 구동부(170)를 포함하며, 상기 카메라부는 카메라(141), 및 바디부(110)에 대해 카메라(141)를 회전시키는 카메라 회전 구동부(141a)를 포함한다.
바디부(110)는 픽업 로봇(100)의 외관을 형성할 수 있으며, 픽업 로봇(100)의 구성요소들을 지지할 수 있다. 이때, 바디부(110)는 다양한 형태의 박스, 프레임, 플레이트 등을 포함할 수 있다.
흡입부(120)는 바디부(110)에 배치되어 흡입 배관(130) 내부의 기체를 흡입할 수 있다. 흡입 배관(130)은 흡입부(120)와 연결되어 수거되는 물체의 이동 경로를 제공할 수 있다. 흡입 배관(130)의 끝단은 물체의 위치에 따라 이동 가능할 수 있다. 흡입 배관(130)의 길이는 가변될 수 있다. 예를 들면, 흡입 배관(130)은 주름관 형태일 수 있다. 흡입부(120)에 대하여 도 2를 참조로 아래에서 더욱 상세히 설명한다.
감지부(140)는 수거 대상 물체, 외부 물체(예를 들면, 벽, 나무, 장애물 등), 외부 환경(예를 들면, 지면의 평평도, 건물 내부인지 여부 등) 등을 감지할 수 있다. 이때, 감지부(140)는 다양한 형태로 형성될 수 있다. 예를 들면, 감지부(140)는 카메라(141)를 포함하며, 이 외에도 라이다, 레이더, 초음파 센서, 레이저 센서 등을 포함할 수 있다. 감지부(140)는 상기에 한정되는 것은 아니며, 수거 대상 물체, 외부 물체, 외부 환경 등을 감지할 수 있는 모든 장치를 포함할 수 있다. 본 명세서에서 수거 대상 물체는 픽업 로봇(100)이 수거할 대상 물체를 의미한다. 해당 물체는 픽업 로봇(100)이 수거하기 위해 근처로 이동하고 있거나 수거하고 있는 수거 대상 물체를 의미한다. 본 실시예에 따르면, 카메라(141)로부터 획득된 카메라 영상으로부터 수거 대상 물체들이 감지될 수 있으며, 감지된 수거 대상 물체들 중에서 어느 하나가 픽업 로봇(100)이 그 순간에 수거할 해당 물체로 선택될 수 있다.
본 실시예에 따르면, 감지부(140)는 픽업 로봇(100)의 전방(前方)을 향하여 바디부(110)에 배치되는 카메라(141)를 포함한다. 카메라(141)는 바디부(110)에 대해 회전 가능하도록 설치된다. 카메라(141)는 바디부(110)에 배치되는 카메라 회전 구동부(141a)에 연결된다. 카메라 회전 구동부(141a)는 카메라(141)와 연결되는 모터를 포함할 수 있다. 카메라 회전 구동부(141a)는 카메라(141)의 회전각을 제어부(200)에게 송신할 수 있다. 카메라(141)의 회전각은 픽업 로봇(100)의 전방을 기준으로 수평으로 회전한 각도를 의미한다. 예컨대, 카메라(141)의 회전각이 0도일 때, 카메라(141)는 픽업 로봇(100)의 전방을 향하고 있다. 카메라(141)의 회전각이 90도일 때, 카메라(141)는 픽업 로봇(100)의 우측 또는 좌측을 향하고 있다.
카메라(141)는 수거 대상 물체, 외부 물체, 외부 환경 등을 실시간으로 촬영하며, 제어부(200)는 카메라(141)가 실시간으로 촬영한 카메라 영상으로부터 수거 대상 물체들을 감지하고 수거 대상 물체들 중에서 수거할 해당 물체를 인식할 수 있다. 카메라(141)는 동영상을 촬영할 수 있는 일반 컬러 카메라, 캠코더, 또는 웹캠(webcam)일 수 있다. 카메라(141)는 적외선 카메라, 3차원 스테레오 카메라, 라이다 카메라, 레이더 카메라 등일 수도 있다. 본 실시예에서, 카메라(141)로부터 획득되는 카메라 영상은 카메라(141)가 촬영한 실시간 동영상 중 어느 한 프레임의 영상을 의미할 수 있다.
감지부(140)는 카메라(141) 외에 제1 감지부(142) 및 제2 감지부(143)를 더 포함할 수 있다. 이때, 카메라(141), 제1 감지부(142) 및 제2 감지부(143)는 서로 상이한 높이에 배치될 수 있다. 예를 들면, 제1 감지부(142)는 카메라(141)보다 높은 곳에 배치될 수 있으며, 제2 감지부(143)는 카메라(141)보다 낮은 곳에 배치될 수 있다. 카메라(141), 제1 감지부(142) 및 제2 감지부(143)는 서로 다양한 위치에서 수거 대상 물체, 외부 물체, 외부 환경 등을 감지하는 것이 가능하다.
제1 감지부(142)는 픽업 로봇(100)의 전방을 향하여 바디부(110)에 고정되도록 설치될 수 있다. 제1 감지부(142)는 라이다 또는 레이더를 포함할 수 있으며, 외부 물체, 외부 환경 등을 감지할 수 있다. 예컨대, 제1 감지부(142)는 픽업 로봇(100)의 이동 시에 장애가 될 수 있는 외벽, 장애물 등을 감지할 수 있다. 제어부(200)는 감지부(142)를 통해 감지한 외벽, 장애물 등을 기초로 픽업 로봇(100)의 이동 경로를 결정할 수 있다.
제2 감지부(143)는 바디부(110)에 고정되도록 설치될 수 있다. 제2 감지부(143)는 초음파 센서를 포함할 수 있으며, 외부 물체와 같은 외부 환경의 장애물을 근거리에서 감지할 수 있다. 제2 감지부(143)는 픽업 로봇(100)이 이동 중에 갑자기 만나게 되는 장애물을 감지할 수 있다. 제2 감지부(143)는 장애물을 감지하면, 픽업 로봇(100)은 이동을 멈추거나 우회하여 이동할 다른 경로를 찾을 수 있다.
제2 감지부(143)는 복수의 초음파 센서를 포함할 수 있으며, 복수의 초음파 센서는 바디부(110)의 다양한 면에 서로 이격되도록 배치될 수 있다. 예를 들면, 복수의 초음파 센서들 각각은 바디부(110)의 전방, 후방, 좌측방, 우측방에 적어도 하나씩 배치될 수 있다.
운동 구동부(150)는 바디부(110)에 배치되어 흡입 배관(130) 끝단의 운동을 구현할 수 있다. 운동 구동부(150)는 흡입 배관(130)의 끝단을 선형 운동시키거나 회전 운동시킬 수 있다. 특히 운동 구동부(150)는 흡입 배관(130)의 끝단을 수거 대상 물체에 대응되도록 배치할 수 있다. 운동 구동부(150)는 픽업 로봇(100)의 제어 관점에서 상기 픽업부에 포함될 수 있다. 운동 구동부(150)에 대해서 도 3을 참조하여 아래에서 더욱 상세히 설명한다.
휠들(160)은 픽업 로봇(100)이 전방향으로 이동할 수 있도록 바디부(110)에 독립적으로 회전 가능하도록 설치될 수 있다. 일 예에 따르면, 휠들(160)는 메카넘 휠을 포함할 수 있다. 이 경우, 휠들(160) 각각의 회전 방향 및 회전 속도에 따라서, 픽업 로봇(100)은 전방, 후방, 좌측방, 우측방, 대각선 방향으로 이동할 수 있으며, 픽업 로봇(100)은 어느 한 방향으로 이동하면서 시계 방향 또는 반시계 방향으로 회전할 수도 있다. 이때, 휠들(160) 중 일부는 어느 한 방향으로 회전하고, 다른 일부는 다른 방향으로 회전하고, 또 다른 일부는 회전하지 않을 수도 있다. 휠들(160)는 바디부(110)에 서로 이격되도록 배치될 수 있으며, 본 예에 따르면 4개의 휠들(160)이 앞쪽 양측과 뒤쪽 양측에 배치될 수 있다.
휠 구동부(170)는 바디부(110)에 배치되어 휠들(160)과 연결될 수 있다. 이때, 휠 구동부(170)는 모터를 포함하거나 모터 및 감속기를 포함할 수 있다. 이 경우, 휠 구동부(170)는 복수로 존재하며, 복수의 휠들(160)에 각각 연결될 수 있다. 각 휠 구동부(170)는 서로 독립적으로 구동함으로써 각 휠들(160)를 독립적으로 회전시킬 수 있다.
에너지 저장부(180)는 픽업 로봇(100)의 각 구성요소들과 전기적으로 연결되어 각 구성요소의 작동에 필요한 에너지를 공급할 수 있다. 예를 들면, 에너지 저장부(180)는 충전이 가능한 이차전지를 포함할 수 있다. 에너지 저장부(180)는 에너지를 공급하는 일차전지를 포함하는 것도 가능하다.
제어부(200)는 휠 구동부(170), 카메라 회전 구동부(141a), 흡입부(120), 및 운동 구동부(150) 등과 같은 각 구성요소의 동작을 제어할 수 있다. 제어부(200)는 감지부(140)에서 감지된 결과를 근거로 데이터를 처리하고, 처리 결과에 따라 각 구성요소의 동작을 제어할 수 있다.
본 실시예에 따르면, 제어부(200)는 카메라(141)의 카메라 영상으로부터 해당 물체를 인식하는 단계, 상기 카메라 영상 내의 상기 해당 물체의 위치 및 카메라(141)의 회전각을 기초로 픽업 로봇(100)의 이동 모드를 결정하고, 상기 이동 모드에 따라 휠 구동부(170)를 제어하는 단계, 픽업 로봇(100)이 제1 방향으로 회전 운동할 때, 카메라(141)가 바디부(110)에 대하여 제1 방향의 반대 방향인 제2 방향으로 회전하도록 카메라 회전 구동부(141a)를 제어하는 단계, 및 상기 단계들을 반복하여 픽업 로봇(100)이 상기 해당 물체에 접근하면, 상기 해당 물체를 수거하기 위해 흡입부(120)를 제어하는 단계를 수행할 수 있다. 제어부(200)는 상기 해당 물체를 수거하기 위해 흡입부(120)와 운동 구동부(150)를 함께 제어할 수도 있다.
제어부(200)는 다양한 형태로 형성될 수 있다. 예를 들면, 제어부(200)는 회로 기판의 형태로 바디부(110)에 배치될 수 있다. 제어부(200)는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다. 예를 들면, 제어부(200)는 소프트웨어 구성 요소들, 객체 지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들에 의해 구현될 수 있다.
제어부(200)의 동작에 대해서는 아래의 도 5 내지 도 10을 참조로 더욱 자세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 픽업 로봇의 흡입부를 도시하는 개념도이다.
도 2를 참고하면, 흡입부(120)는 흡입바디부(121), 차단판(122) 및 흡입력 생성부(123)를 포함한다.
흡입바디부(121)는 흡입 배관(130)과 연결되는 연결부(121a), 및 연결부(121a)에 배치되고 흡입되는 물체를 수납할 수 있도록 내부에 공간이 형성된 수납부(121b)를 포함할 수 있다. 연결부(121a)는 관 형태로 형성될 수 있으며, 흡입 배관(130)의 내경과 동일 또는 유사한 내경을 가질 수 있다. 수납부(121b)는 바구니 형태로 형성되어 연결부(121a)와 연통될 수 있다.
연결부(121a)와 수납부(121b)는 서로 일체로 형성되거나 별도로 형성되어 서로 연결될 수 있다. 연결부(121a)와 수납부(121b)가 서로 별도로 형성되어 연결되는 경우 연결부(121a)와 수납부(121b)는 서로 다양한 방식으로 연결될 수 있다. 일 예에 따르면, 연결부(121a) 또는 수납부(121b) 중 하나에는 결합돌기가 형성되고, 연결부(121a) 또는 수납부(121b) 중 다른 하나에는 결합돌기가 삽입되는 결합홈이 형성될 수 있다. 다른 예에 따르면, 연결부(121a)와 수납부(121b)는 클램프를 통하여 서로 연결되는 것도 가능하다. 또 다른 예에 따르면, 연결부(121a)와 수납부(121b)는 볼트, 나사 등과 같은 별도의 결속부재를 통하여 연결되는 것도 가능하다. 이때, 연결부(121a)와 수납부(121b)는 전술한 결합 방법들로 한정되지 않으며, 서로 별도로 형성된 두 물체가 서로 결합하는 모든 방법 및 구조를 포함할 수 있다.
차단판(122)은 연결부(121a) 내부에 배치될 수 있다. 차단판(122)은 연결부(121a)의 길이 방향에 대해서 경사지게 배치될 수 있다. 예를 들면, 차단판(122)의 상측 부분은 차단판(122)의 하측 부분보다 기체의 흐름 방향에 대해서 상류측으로 돌출되도록 배치될 수 있다. 차단판(122)의 상측 부분은 차단판(122)의 하측 부분보다 흡입 배관(130) 측으로 돌출되도록 배치될 수 있다.
차단판(122)은 플레이트 형태로 형성될 수 있으며, 적어도 한 개 이상의 관통홀(122a)이 형성될 수 있다. 이때, 관통홀(122a)은 복수일 수 있으며, 복수의 관통홀(122a)은 서로 이격되도록 배치될 수 있다. 각 관통홀(122a)의 크기는 수거 대상 물체(S)의 크기보다 작게 형성됨으로써 수거 대상 물체(S)가 관통홀(122a)을 통과하는 것을 방지할 수 있다.
흡입력 생성부(123)는 연결부(121a)에 배치되어 연결부(121a) 내부의 기체를 흡입할 수 있다. 흡입력 생성부(123)는 흡입모터, 흡입펌프 또는 흡입팬을 포함할 수 있다. 이하에서는 설명의 편의를 위하여 흡입력 생성부(123)는 흡입팬을 포함하는 경우를 중심으로 상세히 설명하기로 한다.
한편, 수거 대상 물체(S)의 위치에 따라 흡입 배관(130)의 끝단은 회전 운동 및 선형 운동 중 적어도 하나의 운동을 할 수 있다. 이러한 운동을 통하여 흡입 배관(130)의 끝단이 수거 대상 물체(S)과 대응되도록 위치하면, 흡입력 생성부(123)가 작동하여 연결부(121a) 내부의 기체를 흡입할 수 있다. 연결부(121a)에 연결된 흡입 배관(130) 내부의 기체도 흡입력 생성부(123) 측으로 이동할 수 있다. 흡입 배관(130)의 끝단에 위치하는 수거 대상 물체(S)가 주위의 기체(또는 공기)와 함께 흡입 배관(130)으로 흡입될 수 있다. 수거 대상 물체(S)는 기체의 흐름에 따라 흡입 배관(130)으로부터 연결부(121a)로 이동할 수 있다.
수거 대상 물체(S)는 연결부(121a) 내부로 진입한 후 흡입력 생성부(123) 측으로 이동할 수 있다. 이때, 수거 대상 물체(S)은 차단판(122)에 충돌함으로써 흡입력 생성부(123)와 접촉하지 않을 수 있다. 수거 대상 물체(S)가 차단판(112)에 도달하면, 흡입력 생성부(123)의 작동이 중지될 수 있다. 수거 대상 물체(S)은 차단판(122)과 접촉한 상태에서 흡입력이 제거됨으로써 수납부(121b) 측으로 낙하할 수 있다. 수납부(121b)는 낙하된 수거 대상 물체(S)을 보관할 수 있다.
수거 대상 물체(S)가 복수로 존재하는 경우, 위와 같은 동작은 지속적으로 수행될 수 있다. 수납부(121b)는 복수의 수거 대상 물체(S)를 보관할 수 있다.
도 3은 본 발명의 일 실시예에 따른 픽업 로봇의 운동 구동부를 도시하는 사시도이다.
도 3을 참고하면, 운동 구동부(150)는 지지부(151), 회전운동 구동부(152), 선형운동부(153), 선형운동 구동부(154) 및 가이드부(155)를 포함한다.
지지부(151)는 흡입 배관(도 1의 130)의 끝단과 연결되어 흡입 배관(130)의 끝단을 지지할 수 있다. 지지부(151)는 회전운동 구동부(152)와 연결되어 회전 운동을 할 수 있다. 지지부(151)는 플레이트 형태일 수 있으며, 적어도 일부분이 경사지게 형성됨으로써 흡입 배관(130)을 지지할 수 있다.
회전운동 구동부(152)는 지지부(151)와 연결될 수 있다. 지지부(151)의 일단은 회전운동 구동부(152)와 연결되고, 지지부(151)의 타단은 흡입 배관(130)의 끝단과 연결될 수 있다. 회전운동 구동부(152)는 모터를 포함할 수 있다. 다른 예에 따르면, 회전운동 구동부(152)는 모터와 지지부(151) 사이에 연결되는 감속기를 더 포함할 수 있다. 또 다른 예에 따르면, 회전운동 구동부(152)는 모터와 지지부(151) 사이에 연결되는 기어유닛을 더 포함할 수 있다.
선형운동부(153)는 회전운동 구동부(152)와 연결되며, 회전운동 구동부(152)를 지지할 수 있다. 선형운동부(153)는 운동부(153a) 및 연결지지부(153b)를 포함할 수 있다. 운동부(153a)는 선형운동 구동부(154) 및 가이드부(155)와 연결되어 선형 운동할 수 있다. 연결지지부(153b)는 운동부(153a)와 연결될 수 있으며, 일부가 절곡되도록 형성될 수 있다. 연결지지부(153b)의 끝단에 회전운동 구동부(152)가 배치될 수 있다.
선형운동 구동부(154)는 선형운동부(153)와 연결되어 선형운동부(153)를 선형 운동시킬 수 있다. 선형운동 구동부(154)는 다양한 형태로 형성될 수 있다. 일 예에 따르면, 선형운동 구동부(154)는 선형운동부(153)와 연결되는 실린더를 포함할 수 있다. 다른 예에 따르면, 선형운동 구동부(154)는 선형운동부(153)와 연결되는 리니어 모터를 포함할 수 있다. 또 다른 예에 따르면, 선형운동 구동부(154)는 선형운동부(153)와 연결되는 볼스크류(154a) 및 볼스크류(154a)와 연결되는 선형운동모터(154b)를 포함할 수 있다. 선형운동 구동부(154)는 전술한 바와 같이 한정되지 않으며, 선형운동부(153)와 연결되어 선형운동부(153)를 선형 운동시키는 모든 구조 및 모든 장치를 포함할 수 있다. 이하에서는 설명의 편의를 위하여 선형운동부(153)가 볼스크류(154a)와 선형운동모터(154b)를 포함하는 경우를 중심으로 상세히 설명하기로 한다.
가이드부(155)는 선형운동부(153)와 연결되어 선형운동부(153)의 운동을 가이드할 수 있다. 가이드부(155)는 리니어 모션 가이드를 포함할 수 있다. 예를 들면, 가이드부(155)는 선형운동부(153)와 연결되는 이동블록(155a)과 이동블록(155a)의 선형 운동을 가이드하는 가이드레일(155b)을 포함할 수 있다.
한편, 해당 물체(미 도시)가 인식되면, 해당 물체를 향하여 흡입 배관(130)을 이동시키기 위해 운동 구동부(150)가 작동할 수 있다.
선형운동모터(154b)는 볼스크류(154a)를 회전시킬 수 있다. 볼스크류(154a)가 회전함에 따라, 운동부(153a)는 볼스크류(154a)를 따라 볼스크류(154a)의 길이 방향으로 선형 운동하게 된다. 가이드부(155)와 볼스크류(154a)는 운동부(153a)의 선형 운동을 가이드할 수 있다. 운동부(153a)가 선형 운동하면, 운동부(153a)에 고정된 연결지지부(153b)와 회전운동 구동부(152)도 선형 운동하게 된다. 이때, 회전운동 구동부(152)에 연결된 지지부(151)와 지지부(151)에 연결된 흡입 배관(130)의 끝단도 역시 바디부(110)의 전방에서 선형 운동하게 된다.
회전운동 구동부(152)가 작동하면, 흡입 배관(130)의 끝단이 회전 운동하게 된다. 회전운동 구동부(152)의 작동에 따라 지지부(151)가 회전 운동하게 되며, 지지부(151)의 회전 운동에 의해 흡입 배관(130)의 끝단이 회전 운동하게 된다.
운동 구동부(150)의 작동에 의해, 흡입 배관(130) 끝단의 선형 운동과 회전 운동이 동시에 이루어질 수도 있다. 다른 예에 따르면, 운동 구동부(150)는 흡입 배관(130)의 끝단을 선형 운동시킨 후 회전 운동을 시키거나, 회전 운동시킨 후 선형 운동을 시키는 것도 가능하다. 운동 구동부(150)는 위와 같은 작동을 통하여 흡입 배관(130) 끝단을 원하는 위치로, 예컨대, 해당 물체의 근처로, 이동시킬 수 있다.
도 4는 본 발명의 일 실시예에 따른 픽업 로봇의 제어 흐름을 도시하는 블록도이다.
도 4를 참고하면, 제어부(200)는 카메라(141), 제1 감지부(142) 및 제2 감지부(143)로부터 수신된 데이터를 기초로, 카메라 회전 구동부(141a), 휠 구동부(170), 흡입력 생성부(123), 선형운동 구동부(154), 및 회전운동 구동부(152)를 제어할 수 있다.
픽업 로봇(100)은 주행하면서 카메라(141), 제1 감지부(142) 및 제2 감지부(143)를 이용하여 수거 대상 물체, 외부 물체 및 외부 환경 등을 감지할 수 있다. 카메라(141)는 바디부(110)에 대해 회전하면서 외부를 촬영할 수 있다.
제어부(200)는 카메라(141)가 바디부(110)의 전방에 대해 얼마나 회전하였는지를 나타내는 회전각에 관한 정보를 가질 수 있다. 일 예에 따르면, 제어부(200)는 내부 연산 결과로서 회전각에 관한 정보를 가질 수 있다. 다른 예에 따르면 제어부(200)는 카메라 회전 구동부(141a)로부터 회전각에 관한 정보를 수신할 수 있다. 또 다른 예에 따르면, 제어부(200)는 카메라(141)의 회전각을 감지하는 별도의 센서로부터 회전각에 관한 정보를 수신할 수도 있다.
일 예에 따르면, 카메라(141)는 수거 대상 물체를 감지하기 위한 카메라 영상을 제어부(200)에 제공하고, 제1 감지부(142)의 제1 감지 데이터는 외벽이나 장애물을 감지하는데 사용되고, 제2 감지부(143)의 제2 감지 데이터는 픽업 로봇(100)의 이동 방향으로 가까이 위치하는 장애물을 감지하는데 사용될 수 있다. 제어부(200)는 카메라(141)로부터 획득된 카메라 영상을 기초로 수거 대상 물체들을 감지할 수 있다. 제어부(200)는 제1 감지 데이터와 제2 감지 데이터를 이용하여 주변 장애물들을 감지하고, 픽업 로봇(100)이 주변 장애물들을 우회하여 수거 대상 물체로 이동하기 위한 이동 경로를 결정할 수 있다.
제어부(200)는 카메라(141)로부터 전송되는 카메라 영상을 처리하여 수거 대상 물체 또는 해당 물체를 감지할 수 있다. 카메라 영상 내에 수거 대상 물체들이 복수로 존재할 수 있으며, 제어부(200)는 감지된 수거 대상 물체들 중에서 하나를 해당 물체로 선택함으로써 해당 물체를 인식할 수 있다. 해당 물체는 감지된 수거 대상 물체들 중에서 가장 근접하게 위치하는 것으로 선택될 수 있다. 제어부(200)가 카메라 영상에서 해당 물체를 인식하는 방법은 도 6 및 도 7a 내지 도 7f를 참조하여 아래에서 더욱 자세히 설명한다.
다른 예에 따르면, 제어부(200)가 카메라(141)의 카메라 영상과 제1 감지부(142)의 제1 감지 데이터를 함께 이용하여 수거 대상 물체를 감지할 수도 있다. 제어부(200)는 제1 감지데이터 및 카메라(141)의 카메라 영상을 함께 처리하여 수거 대상 물체의 형태, 수거 대상 물체까지의 거리, 수거 대상 물체의 개수, 수거 대상 물체의 방향 등과 같은 수거 대상 물체에 관한 정보를 획득할 수 있다.
제어부(200)는 카메라(141)의 카메라 영상 내의 해당 물체의 위치, 및 카메라(141)의 회전각을 기초로, 픽업 로봇(100)의 이동 모드를 결정할 수 있다. 제어부(200)는 결정된 이동 모드에 따라 휠 구동부(170)를 제어하여 픽업 로봇(100)을 해당 물체를 향하여 이동시킬 수 있다. 픽업 로봇(100)은 휠 구동부(170)의 동작에 따라 모든 방향으로 직선으로 이동하거나, 제자리에서 회전하여 방향을 전환하거나, 이동 중에 회전하여 이동 방향을 전환할 수 있다.
픽업 로봇(100)이 이동 중에도 카메라(141)는 제어부(200)로 카메라 영상을 실시간으로 송신하며, 픽업 로봇(100)의 이동에 따라 카메라(141)의 카메라 앵글이 변하므로 카메라 영상도 조금씩 변하게 된다. 제어부(200)는 픽업 로봇(100)의 이동 중에 연속적으로 수신되는 카메라 영상들 각각에 대하여 해당 물체를 인식하고, 해당 물체의 위치 및 카메라(141)의 회전각을 기초로 이동 모드를 결정할 수 있다. 제어부(200)는 카메라(141)로부터 수신되는 카메라 동영상의 모든 프레임의 카메라 영상에 대하여 해당 물체를 인식할 수도 있고, 미리 설정한 시간 간격의 프레임의 카메라 영상에 대하여 해당 물체를 인식할 수도 있다.
제어부(200)는 수거 대상 물체들이 지면 상에 배치되어 있는 위치들을 기억하지 않고, 새로 수신되는 카메라 영상에서 수거 대상 물체들을 새로 감지한다. 따라서, 제어부(200)는 지면 상의 수거 대상 물체들의 지도를 만들 필요가 없으므로, 작은 용량의 메모리를 이용하여 픽업 로봇(100)의 제어 동작을 수행할 수 있다. 게다가, 수거 대상 물체들이 이동하는 경우, 제어부(200)는 수신되는 카메라 영상에서 수거 대상 물체들을 새롭게 감지하므로, 이동하는 수거 대상 물체도 감지할 수 있으며, 픽업 로봇(100)은 제어부(200)의 제어 하에서 이동하는 수거 대상 물체를 향하여 이동할 수 있다. 제어부(200)는 현재 수거할 해당 물체에 대해서는 카메라 영상 내의 위치를 기억하여 해당 물체를 추적할 수도 있다.
픽업 로봇(100)이 이동 중에는 카메라(141)의 카메라 앵글이 변하므로, 카메라 영상에는 모션 블러가 발생할 수 있다. 카메라 앵글이 빠르게 변할수록 모션 블러는 심해진다. 카메라 영상에 모션 블러가 많아지면, 제어부(200)는 수거 대상 물체들을 잘못 감지할 수 있다. 픽업 로봇(100)이 회전할 때 카메라(141)가 바디부(110)에 고정되어 있다면, 카메라 앵글은 매우 빠르게 변하게 된다.
본 실시예에 따르면, 제어부(200)는 카메라 회전 구동부(141a)를 제어함으로써 카메라 앵글의 이동 속도를 제한할 수 있다. 예를 들면, 픽업 로봇(100)이 제1 방향으로 회전할 때, 제어부(200)는 카메라(141)가 바디부(110)에 대해 제2 방향으로 회전하도록 카메라 회전 구동부(141a)를 제어할 수 있다. 여기서 제1 방향과 제2 방향은 서로 반대 방향이다. 예컨대, 제1 방향이 시계 방향 또는 반시계 방향인 경우, 제2 방향은 반시계 방향 또는 시계 방향이다. 제어부(200)는 픽업 로봇(100)의 회전 시에 카메라 앵글의 가변 속도를 각속도의 관점에서 제한할 수 있다. 예컨대, 제어부(200)는 카메라 앵글이 미리 설정한 각속도 이하의 각속도로 이동하도록 카메라 회전 구동부(141a)를 제어할 수 있다.
이와 같은 이유로 인하여, 카메라 회전 구동부(141a)에 의해 카메라(141)가 픽업 로봇(100)의 전방 방향을 기준으로 회전각만큼 회전하면, 카메라 영상 내의 해당 물체의 위치는 픽업 로봇(100)와 정렬되지 않는다. 제어부(200)는 카메라(141)의 회전각을 기초로 카메라 영상 내의 해당 물체의 위치를 픽업 로봇(100)에 대한 위치로 변환할 수 있다. 예를 들면, 제어부(200)는 카메라(141)의 카메라 영상 내의 해당 물체의 위치, 및 카메라(141)의 회전각을 기초로 픽업 로봇(100)에 대한 해당 물체의 위치를 감지하고, 픽업 로봇(100)에 대한 해당 물체의 위치에 따라 픽업 로봇(100)의 이동 모드를 결정할 수 있다.
제어부(200)는 픽업 로봇(100)이 이동하다가 픽업 로봇(100)으로부터 해당 물체까지의 거리가 일정 거리 이하가 되면, 픽업 로봇(100)이 회전하여 방향을 전환하지 않도록 휠 구동부(170)를 제어할 수 있다. 또한, 제어부(200)는 픽업 로봇(100)이 전진 또는 후진하도록 휠 구동부(170)를 제어하거나 흡입 배관(도 1의 130)의 끝단이 전진, 후진 및 회전 중 적어도 하나의 동작을 구현하도록 운동 구동부(도 3의 150)를 제어할 수 있다.
예를 들면, 픽업 로봇(100)으로부터 해당 물체까지의 거리가 50cm이내로 진입하는 경우, 제어부(200)는 픽업 로봇(100)의 방향 전환을 방지할 수 있다. 제어부(200)는 휠 구동부(170)를 제어하여 픽업 로봇(100)을 전진 또는 후진시킬 수 있다.
또한, 제어부(200)는 카메라(141)를 이용하여 카메라 영상 내의 해당 물체의 위치를 감지하고 흡입 배관의 끝단의 위치가 해당 물체의 위치에 대응되도록 운동 구동부(150)를 제어할 수 있다. 예를 들면, 제어부(200)는 선형운동 구동부(154)를 제어하여 흡입 배관(130)의 끝단을 전진시키거나 후진시킬 수 있다. 제어부(200)는 회전운동 구동부(152)를 제어하여 흡입 배관(130)의 끝단을 회전시킬 수 있다.
흡입 배관(130)의 끝단의 위치가 해당 물체의 근처에 위치하면, 제어부(200)는 흡입력 생성부(123)를 작동시켜 해당 물체를 흡입 배관(130)으로 흡입함으로써 해당 물체를 수거할 수 있다. 이때, 해당 물체는 흡입 배관(130)을 통하여 전술한 바와 같이 흡입부(120)로 흡입되어 보관될 수 있다.
이와 같은 과정이 완료되면, 제어부(200)는 카메라 영상에서 감지한 수거 대상 물체들 중에서 다른 하나를 해당 물체로 선택하거나, 픽업 로봇(100)을 회전하거나 이동하여 다른 수거 대상 물체를 찾을 수 있다. 이러한 과정은 반복하여 수행될 수 있다.
제1 감지부(142)와 제2 감지부(143)는 외부의 장애물을 감지할 수 있다. 예를 들면, 제1 감지부(142)와 제2 감지부(143)는 건물의 벽면, 천막, 수거 대상 물체가 아닌 다른 물체 등을 감지할 수 있다. 제어부(200)는 제1 감지부(142)와 제2 감지부(143)의 감지 데이터를 기초로 픽업 로봇(100)의 이동 경로를 산출하거나, 픽업 로봇(100)의 주행 방향, 주행속도 등을 제어할 수 있다. 예를 들면, 제2 감지부(143)에서 건물의 외벽이 감지되는 경우, 제어부(200)는 외벽에 충돌하지 않도록 픽업 로봇(100)을 다른 방향으로 이동하도록 휠 구동부(170)를 제어할 수 있다.
도 5는 본 발명의 일 실시예에 따른 픽업 로봇의 제어부의 내부 구성을 도시하는 블록도이다.
도 5를 참고하면, 제어부(200)는 해당 물체 인식부(210), 이동 모드 결정부(220), 수직 이동량 산출부(230), 수평 이동량 산출부(240), 회전량 산출부(250), 및 회전각 산출부(260)를 포함한다.
해당 물체 인식부(210)는 카메라(141)로부터 카메라 영상을 수신하고, 카메라 영상을 영상 처리하여 수거 대상 물체들을 감지하고, 수거 대상 물체들 중에서 하나를 해당 물체로 선택함으로써, 카메라 영상으로부터 해당 물체를 인식할 수 있다. 해당 물체 인식부(210)는 미리 설정된 시간마다 카메라 영상에서 해당 물체를 인식할 수 있다. 예를 들면, 해당 물체 인식부(210)는 미리 설정된 시간마다 카메라(141)로부터 카메라 영상을 수신하고, 수신된 카메라 영상에서 해당 물체를 인식할 수 있다. 제어부(200)는 미리 설정된 시간마다 새롭게 인식된 해당 물체를 수거하도록 픽업 로봇(100)을 제어할 수 있다. 해당 물체 인식부(210)에 대한 자세한 설명은 도 6 및 도 7a 내지 도 7f를 참조하여 아래에서 더욱 자세히 설명한다.
이동 모드 결정부(220)는 카메라 영상으로부터 인식된 해당 물체의 위치 및 카메라(141)의 회전각을 기초로, 픽업 로봇(100)의 이동 모드를 결정할 수 있다. 이동 모드에 따라, 수직 이동량 산출부(230), 수평 이동량 산출부(240), 및 회전량 산출부(250) 중 적어도 하나가 활성화될 수 있다. 예컨대, 해당 물체가 픽업 로봇(100)이 전방 방향에 위치할 경우에는 수직 이동량 산출부(230)만이 활성화될 수 있다. 해당 물체가 픽업 로봇(100)이 바로 수거 가능한 위치에 위치할 경우, 수직 이동량 산출부(230), 수평 이동량 산출부(240), 및 회전량 산출부(250)은 모두 비활성화되고, 제어부(200)는 상기 픽업부를 이용하여 해당 물체를 수거할 수 있다.
이동 모드 결정부(220)는 카메라(141)의 회전각를 회전각 산출부(260)로부터 수신할 수 있다. 카메라(141)의 회전각은 카메라 회전 구동부(141a)로부터 이동 모드 결정부(220)에 전송되거나, 카메라(141)의 회전각을 감지할 수 있는 별도의 센서로부터 이동 모드 결정부(220)에 전송될 수 있다.
이동 모드 결정부(220)는 카메라(141)의 회전각을 기초로 카메라 영상 내에 서로 수직한 가상의 가로선 및 가상의 세로선을 결정할 수 있다. 가상의 세로선은 픽업 로봇(100)이 전방 방향, 예컨대, 세로 방향으로 이동할 경우의 경로를 의미하고, 가상의 가로선은 픽업 로봇(100)이 가로 방향으로 이동할 경우의 경로를 의미한다. 카메라(141)는 바디부(110)에 대해 회전할 수 있으므로, 카메라 영상은 픽업 로봇(100)의 전방 방향을 향하지 않을 수 있다. 이동 모드 결정부(220)는 가상의 가로선과 가상의 세로선을 기준으로 해당 물체의 위치를 결정할 수 있다. 가로선과 세로선은 픽업 로봇(100)의 배치 방향에 따라 결정되므로, 가로선과 세로선을 기준으로 결정된 해당 물체의 위치는 픽업 로봇(100)에 대한 해당 물체의 위치를 의미한다. 이동 모드 결정부(220)는 가로선과 세로선에 대한 해당 물체의 위치(즉, 픽업 로봇(100)에 대한 해당 물체의 위치)를 기초로 이동 모드를 결정할 수 있다.
수직 이동량 산출부(230)는 가로선과 세로선에 대한 해당 물체의 위치를 기초로 픽업 로봇(100)이 미리 설정한 시간 동안 수직으로(즉, 전방 또는 후방으로) 이동할 수직 이동량을 계산하고, 계산된 수직 이동량만큼 픽업 로봇(100)이 이동하도록 휠 구동부(170)를 제어할 수 있다. 수평 이동량 산출부(240)는 가로선과 세로선에 대한 해당 물체의 위치를 기초로 픽업 로봇(100)이 미리 설정한 시간 동안 수평으로(즉, 우측 또는 좌측으로) 이동할 수평 이동량을 계산하고, 계산된 수평 이동량만큼 픽업 로봇(100)이 수평으로 이동하도록 휠 구동부(170)를 제어할 수 있다. 회전량 산출부(250)는 가로선과 세로선에 대한 해당 물체의 위치를 기초로 픽업 로봇(100)이 미리 설정한 시간 동안 회전할 회전량을 계산하고, 계산된 회전량만큼 픽업 로봇(100)이 회전하도록 휠 구동부(170)를 제어할 수 있다. 수직 이동량 산출부(230), 수평 이동량 산출부(240), 및 회전량 산출부(250)에 대하여 예시적인 도 9a 내지 도 9e를 참조하여 아래에서 더욱 자세히 설명한다.
다른 예에 따르면, 제어부(200)는 휠 구동 제어부를 더 포함할 수 있으며, 휠 구동 제어부는 수직 이동량 산출부(230)로부터 픽업 로봇(100)의 수직 이동량, 수평 이동량 산출부(240)로부터 픽업 로봇(100)의 수평 이동량, 및 회전량 산출부(250)로부터 픽업 로봇(100)의 회전량을 수신하고, 이들을 기초로 각각의 휠들(160)의 구동량을 결정하고, 결정된 각 휠들(160)의 구동량을 기초로 휠 구동부(170)를 제어할 수도 있다.
회전각 산출부(260)는 카메라(141)의 카메라 앵글이 미리 설정한 기준 각속도 이하의 각속도로 이동하도록 카메라(141)의 회전각을 산출하고, 카메라 구동 회전부(141a)를 제어할 수 있다. 예를 들면, 픽업 로봇(100)이 제1 각속도로 제1 방향으로 회전하는 경우, 회전각 산출부(260)는 카메라(141)가 제1 각속도의 크기에서 기준 각속도만큼 작은 제2 각속도의 크기로 제2 방향으로 회전하도록 카메라 구동 회전부(141a)를 제어할 수 있다. 픽업 로봇(100)이 제1 방향으로 회전하다가 회전을 정지하면, 회전각 산출부9260)는 카메라(141)를 기준 각속도 이하의 각속도로 제1 방향으로 회전하도록 카메라 구동 회전부(141a)를 제어할 수 있다. 회전각 산출부(260)는 카메라(141)가 바디부(110)에 대하여 회전하는 속도를 적분함으로써 카메라(141)의 회전각을 알 수 있으며, 카메라(141)의 회전각을 이동 모드 결정부(220)로 전송할 수 있다. 회전각 산출부(260)의 동작에 대하여 도 8를 참조로 아래에서 더욱 자세히 설명한다.
도 6은 본 발명의 일 실시예에 따른 픽업 로봇의 해당 물체 인식부의 내부 구성을 도시하는 블록도이다. 도 7a 내지 도 7f는 본 발명의 일 실시예에 따른 픽업 로봇의 해당 물체 인식부를 설명하기 위해 해당 물체 인식부에서 처리되는 예시적인 영상들을 도시한다.
도 6 및 도 7a 내지 도 7f를 참조하면, 제어부(200)의 해당 물체 인식부(210)는 전처리부(211), 컬러 마스킹부(212), 블랍 검출부(213), 분류부(214), 및 인식부(215)를 포함한다.
도 7a에 도시된 카메라 영상(img1)은 카메라(141)에서 촬영된 영상이다. 여기서 수거 대상 물체는 흰색의 탁구공이다. 카메라 영상(img1)에는 바닥에 흩어진 탁구공들과 픽업 로봇(100)의 흡입 배관(130)의 끝단이 보인다. 카메라 영상(img1)에는 바닥에서 조명이 반사된 반사광, 및 흰 벽이 함께 보인다. 반사광이나 흰 벽은 흰 탁구공의 인식을 방해할 수 있다. 카메라(141)는 카메라 영상(img1) 내의 노이즈를 최소화하고 이미지가 번지는 현상을 방지하기 위해 촬영 시에 노출을 최소화할 수 있다.
전처리부(211)는 카메라(141)로부터 획득된 카메라 영상(img1)을 전처리하여 제1 영상(도 7b의 img2)을 생성할 수 있다. 전처리부(211)는 카메라 영상(img1)에 필터를 적용하여, 노이즈가 제거되고 공과 바닥의 반사광 사이의 컬러 스펙트럼 차이가 부각된 제1 영상(img2)이 생성될 수 있다. 예컨대, 전처리부(211)는 필터 내부의 가장 낮은 값으로 변환하는 이로드(Erode) 필터를 사용할 수 있다. 이로드 필터는 3x3 사각형 구조의 필터일 수 있다. 전처리부(211)는 이로드 필터 외에 다른 필터를 사용할 수도 있다.
컬러 마스킹부(212)는 제1 영상(img2)을 컬러 마스킹하여 제2 영상(도 7c의 img3)을 생성할 수 있다. 컬러 마스킹부(212)는 제1 영상(img2)에 컬러 마스크를 적용하여 제2 영상(img3)을 생성할 수 있다. 컬러 마스크는 수거 대상 물체의 색상과 이의 유사 색상을 제1 색상(예컨대, 화이트)으로 변환하고, 나머지 색상은 제2 색상(예컨대, 블랙)으로 변환하는 마스크일 수 있다.
본 실시예에서, 컬러 마스킹부(212)가 사용한 컬러 마스크에 의하여, 제1 영상(img2) 내의 미리 설정된 밝기 이상의 화소들의 색상은 제1 색상(예컨대, 화이트)으로 변환되고, 미리 설정된 밝기 미만의 화소들의 색상은 제2 색상(블랙)으로 변환된다. 제2 영상(img3)을 참조하면, 제1 영상(img2)의 흰 탁구공, 반사광, 흰 벽들은 제2 영상(img3)에서 흰색으로 변환되고, 나머지는 제2 영상(img3)에서 검은색으로 변환된다.
다른 실시예에 따르면, 수거 대상 물체가 복수 종류일 수 있다. 컬러 마스킹부(212)는 수거 대상 물체들의 종류에 각각 대응하는 컬러 마스크들을 준비한 후, 제1 영상(img2)을 컬러 마스크들 각각을 이용하여 컬러 마스킹하여 컬러 마스킹된 영상들을 생성하고, 컬러 마스킹된 영상들을 병합하여 제2 영상(img3)을 생성할 수 있다.
예를 들면, 수거 대상 물체가 흰 탁구공과 녹색 테니스공으로 2종류일 수 있다. 이 경우, 컬러 마스킹부(212)는 수거 대상 물체의 종류 개수와 동일한 개수의 컬러 마스크를 사용할 수 있다. 예를 들면, 컬러 마스크들은 흰 탁구공을 검출하기 위한 제1 컬러 마스크와 녹색 테니스공을 검출하기 위한 제2 컬러 마스크를 포함할 수 있다. 제1 컬러 마스크는 미리 설정한 밝기를 기준으로 흰색을 마스킹하고, 제2 컬러 마스크는 미리 설정한 채도와 밝기를 기준으로 녹색을 마스킹할 수 있다. 이 경우, 컬러 마스킹부(212)는 제1 영상(img2)에 제1 컬러 마스크를 적용하여 생성되는 제1 컬러 마스킹된 영상을 생성하고, 제1 영상(img2)에 제2 컬러 마스크를 적용하여 생성되는 제2 컬러 마스킹된 영상을 생성한 후, 제1 컬러 마스킹된 영상과 제2 컬러 마스킹된 영상을 병합함으로써, 제2 영상을 생성할 수 있다.
또 다른 실시예에 따르면, 제1 영상(img2)은 미리 복수의 영역들로 구분되고, 각 영역들에 대응하는 서로 다른 컬러 마스크들이 존재할 수 있다. 상기 컬러 마스크들은 다른 기준으로 컬러 마스킹을 수행하게 된다. 컬러 마스킹부(212)는 제1 영상(img2)의 영역들에 각각 대응하는 복수의 컬러 마스크들을 준비하고, 제1 영상(img2)의 영역들 각각을 이에 대응하는 컬러 마스크들로 컬러 마스킹하여 제2 영상(img3)을 생성할 수 있다.
제1 영상(img2)을 관찰하면, 동일한 흰색이라고 하더라도 카메라(141)에 인접하여 제1 영상(img2)의 아래쪽에 위치하는 탁구공의 색상이 카메라(141)에 멀리 위치하여 제1 영상(img2)의 위쪽에 위치하는 탁구공의 색상보다 더 밝다. 이러한 성질을 이용하여, 제1 영상(img2)은 예컨대 아래쪽 영역, 중간 영역, 및 위쪽 영역으로 구분될 수 있다. 제1 영상(img2)의 아래쪽 영역은 더 밝은 밝기를 기준으로 컬러 마스킹을 수행하고, 제1 영상(img2)의 중간 영역은 중간 밝기를 기준으로 컬러 마스킹을 수행하고, 제1 영상(img2)의 위쪽 영역은 덜 밝은 밝기를 기준으로 컬러 마스킹을 수행할 수 있다.
블랍 검출부(213)는 제2 영상(img3)에 대하여 블랍 검출(blob detection)을 수행하여 블랍들(예컨대, BL1, BL2, BL3)을 검출할 수 있다. 블랍 검출은 제1 색상(예컨대, 화이트)와 제2 색상(예컨대, 블랙)의 경계를 검출하고, 검출된 경계를 기초로 제1 색상의 화소들이 뭉쳐있는 영역을 검출하는 것이다. 도 7c에 도시된 바와 같이, 화이트 화소들이 뭉쳐있는 영역들 중 일부들이 블랍들(예컨대, BL1, BL2, BL3)로 검출될 수 있다. 블랍 검출부(213)는 제2 영상(img3)에서 블랍들(예컨대, BL1, BL2, BL3)의 중심 위치 및 크기를 검출할 수 있다.
도 7d의 제3 영상(img3)은 블랍 검출부(213)에서 검출된 블랍들(예컨대, BL1, BL2, BL3)의 중심 위치 및 크기에 관한 정보를 제1 영상(img2)에 결합한 영상이다. 제3 영상(img3)에서 빨간 원은 블랍 검출부(213)에서 검출한 블랍들에 관한 정보에 기초하여 표시된 것이다. 제3 영상(img3)에는 블랍들(BL1, BL2, BL3)에 각각 대응하는 후보 물체들(CO1, CO2, CO3)이 표시된다. 제3 영상(img3)에는 빨간 원으로 후보 물체들(CO1, CO2, CO3)의 중심 위치와 크기가 표시된다.
분류부(214)는 후보 물체들(CO1, CO2, CO3)의 위치와 크기에 대응하는 제1 영상(img2)의 일부분들을 사전-트레이닝된 캐스케이드 분류기(cascade classifier)에 입력하여 수거 대상 물체들(도 7e의 PO1, PO2)을 검출할 수 있다. 도 7e의 제4 영상(img4)에는 수거 대상 물체들(PO1, PO2)이 표시된다. 수거 대상 물체들(PO1, PO2)는 사각형 파란 박스로 표시되며, 이 사각형 파란 박스는 후보 물체들(CO1, CO2, CO3)의 위치와 크기에 대응하는 제1 영상(img2)의 일부분들에 대응한다. 이러한 제1 영상(img2)의 일부분은 사전-트레이닝된 캐스케이드 분류기에 입력되어, 수거 대상 물체에 해당하는지 분류된다.
캐스케이드 분류기는 많은 수의 포지티브 샘플들과 많은 수의 네가티브 영상들을 기초로 트레이닝될 수 있다. 포지티브 샘플들은 수거 대상 물체가 찍힌 영상이고, 네가티브 영상들은 수거 대상 물체가 없는 영상이다. 캐스케이드 분류기가 트레이닝되면, 입력되는 영상 샘플에 수거 대상 물체가 포함되어 있는지를 판별할 수 있다. 제2 후보 물체(CO2)는 바닥 반사광이며, 캐스케이드 분류기는 제2 후보 물체(CO2)가 수거 대상 물체가 아님을 판별할 수 있다. 캐스케이드 분류기는 제1 후보 물체(CO1)와 제3 후보 물체(CO3)가 수거 대상 물체임을 판별하여, 각각 제1 및 제3 수거 대상 물체(PO1, PO2)임을 판별할 수 있다.
다른 실시예에 따르면, 제1 영상(img2)은 미리 복수의 영역들로 구분되고, 각 영역들의 후보 물체들은 서로 다른 캐스케이드 분류기에 입력될 수 있다. 분류부(214)는 제1 영상(img2)의 영역들에 각각 대응하는 복수의 사전-트레이닝된 캐스케이드 분류기들을 준비하고, 후보 물체들(CO1, CO2, CO3)에 대응하는 제1 영상(img2) 내의 일부분들 각각을, 각 일부분이 위치하는 영역에 대응하는 사전-트레이닝된 캐스케이드 분류기에 입력하여, 수거 대상 물체들(PO1, PO2)을 검출할 수 있다.
수거 대상 물체가 탁구공인 경우, 탁구공은 모두 동일한 크기를 갖는다. 제1 영상(img2)을 관찰하면, 카메라(141)에 인접하여 제1 영상(img2)의 아래쪽에 위치하는 탁구공의 크기는 카메라(141)에 멀리 위치하여 제1 영상(img2)의 위쪽에 위치하는 탁구공의 크기보다 크다. 이러한 성질을 이용하여, 제1 영상(img2)은 예컨대 아래쪽 영역, 중간 영역, 및 위쪽 영역으로 구분될 수 있다. 제1 영상(img2)의 아래쪽 영역에 적용할 제1 캐스케이드 분류기는 큰 크기의 탁구공이 찍힌 포지티브 샘플들로 트레이닝되고, 제1 영상(img2)의 중간 영역에 적용할 제2 캐스케이드 분류기는 중간 크기의 탁구공이 찍힌 포지티브 샘플들로 트레이닝되고, 제1 영상(img2)의 위쪽 영역에 적용할 제3 캐스케이드 분류기는 작은 크기의 탁구공이 찍힌 포지티브 샘플들로 트레이닝될 수 있다.
인식부(215)는 수거 대상 물체들(PO1, PO2) 중 하나를 해당 물체(QO)로 인식할 수 있다. 예를 들면, 인식부(215)는 수거 대상 물체들(PO1, PO2) 중에서 수거하기 위해 이동 경로가 더 짧은 수거 대상 물체(예컨대, PO1)를 해당 물체(QO)로 선택할 수 있다. 도 7f의 제5 영상(img6)에는 제4 영상(img5)의 제1 수거 대상 물체(PO1)가 해당 물체(QO)로 선택된다. 제5 영상(img6)에는 해당 물체(QO)로 선택되지 못한 수거 대상 물체들(PO)이 표시된다.
해당 물체 인식부(210)는 전술한 바와 같이 카메라(141)로부터의 카레라 영상(img1)으로부터 해당 물체(QO)를 인식할 수 있다.
도 8은 본 발명의 일 실시예에 따른 픽업 로봇의 제어부가 카메라 회전 구동부를 제어하는 방법을 설명하기 위한 개념도이다.
도 8을 참조하면, 픽업 로봇(100)과 카메라(141)가 도시된다. 도 8의 (a) 내지 (g)는 픽업 로봇(100)이 시계 방향으로 90도를 회전하고 그에 따라 카메라(141)가 회전하는 배치를 도시한다. 도 8의 (a) 내지 (g)는 예시적으로 단위 시간(예컨대, 0.1sec) 마다 변화하는 배치를 도시한다.
도 8에서 픽업 로봇(100) 내의 화살표는 픽업 로봇(100)의 전방 방향을 의미한다. 픽업 로봇(100)의 각도는 도 8의 수직 방향을 기준으로 시계 방향으로 정의된다. 카메라(141)의 방향은 픽업 로봇(100)의 전방 방향을 기준으로 시계 방향으로 정의된다. 카메라(141)의 카메라 앵글의 각도는 도 8의 수직 방향을 기준으로 시계 방향으로 정의된다.
카메라(141)의 카메라 앵글이 빠르게 이동하면 모션 블러가 발생하고 모션 블러에 의해 수거 대상 물체를 감지하는데 어려움이 발생할 수 있다. 제어부(200)는 카메라 앵글의 이동 속도를 제한할 수 있다. 픽업 로봇(100)이 제1 방향으로 회전할 때, 제어부(200)는 카메라(141)가 바디부(110)에 대해 제2 방향으로 회전하도록 카메라 회전 구동부(141a)를 제어할 수 있다. 도 8의 예에서, 카메라 앵글의 이동 속도는 단위 시간 당 15도 이하로 제한될 수 있다. 이때, 기준 각속도는 예컨대 15도/단위시간일 수 있다.
도 8을 참조하면, 픽업 로봇(100)은 2 단위시간 동안 시계 방향으로 90도를 회전한다. 그러나, 픽업 로봇(100)이 시계 방향으로 회전하는 동안, 카메라(141)는 반시계 방향으로 30도/단위시간으로 회전한다. 그에 따라, 카메라 앵글은 15도/단위시간의 각속도로 이동한다.
도 8의 (c) 내지 (g)에서 픽업 로봇(100)은 시계 방향의 회전을 멈춘 상태이다. 이때, 카메라(1410는 시계 방향으로 15도/단위시간으로 회전한다. 그에 따라, 카메라 앵글은 15도/단위시간의 각속도로 이동한다.
도 8에 도시된 바와 같이, 제어부(200)는 픽업 로봇(100)이 시계 방향으로 회전 운동할 때, 카메라(141)가 픽업 로봇(100)에 대해 반시계 방향으로 회전하도록 카메라 회전 구동부(141a)를 제어할 수 있다. 그에 따라, 카메라(141)의 카메라 앵글이 미리 설정한 기준 각속도(예컨대, 15도/단위시간) 이하의 각속도로 이동할 수 있다. 예를 들면, 픽업 로봇(100)이 시계 방향으로 회전 운동할 때의 제1 각속도 크기(예컨대, 45도/단위시간)는 카메라(141)가 반시계 방향으로 회전할 때의 제2 각속도 크기(예컨대, 30도/단위시간)보다 빠를 수 있다. 이때, 제1 각속도 크기(예컨대, 45도/단위시간)와 제2 각속도 크기(예컨대, 30도/단위시간) 사이의 차이는 기준 각속도(예컨대, 15도/단위시간) 이하일 수 있다. 제어부(200)는 픽업 로봇(100)이 시계 방향의 회전 운동을 종료하면 카메라(141)가 시계 방향으로 기준 각속도(예컨대, 15도/단위시간) 이하의 각속도(예컨대, 15도/단위시간)로 회전하도록 카메라 회전 구동부(141a)를 제어할 수 있다.
픽업 로봇(100)은 2 단위시간 동안만 회전하지만, 제어부(200)는 카메라 회전 구동부(141a)를 이용하여 카메라(141)의 회전을 제어함으로써, 카메라 앵글은 6 단위시간에 걸쳐 15도/단위시간의 각속도로 이동한다. 그에 따라, 카메라(141)의 카메라 영상에 모션 블러의 발생이 감소하게 된다. 모션 블러의 발생이 감소하므로, 제어부(200)는 수거 대상 물체를 정확하게 감지할 수 있다.
도 9a 내지 도 9e 및 도 10은 본 발명의 일 실시예에 따라서 제어부가 카메라 영상 내의 해당 물체의 위치 및 카메라의 회전각을 기초로 픽업 로봇의 이동 모드를 결정하는 방법을 설명하기 위한 예시적인 카메라 영상도이다.
도 9a 내지 도 9e 및 도 10은 카메라(141)의 카메라 영상을 예시적으로 도식화한 것이다.
도 9a를 참조하면, 카메라(141)의 회전각이 0도일 때, 카메라 영상에 정의되는 가상 가로선(VL1)과 가상 세로선(VL2)이 도시된다. 카메라 영상은 가상 가로선(VL1)과 가상 세로선(VL2)을 기초로 정의되는 제1 내지 제5 영역(AR1-AR5)으로 구분될 수 있다. 카메라(141)의 회전각이 0도일 때의 가상 가로선(VL1)과 가상 세로선(VL2)은 수직선(LV)와 수평선(LH)과 동일할 수 있다. 수직선(LV)와 수평선(LH)은 카메라 영상에 고정되며, 카메라(141)의 회전각이 변하더라도 움직이지 않는다. 그러나, 카메라(141)가 회전하면 카메라 앵글이 픽업 로봇(100)의 전방 방향에서 어긋나게 되므로, 가상 가로선(VL1)과 가상 세로선(VL2)은 움직인다.
제어부(200)는 카메라(141)의 회전각을 기초로 카메라 영상 내에 서로 수직한 가상 가로선(VL1) 및 가상 세로선(VL2)을 결정하고, 가상 가로선(VL1)과 가상 세로선(VL2)을 기준으로 해당 물체의 위치를 결정하고, 가상 가로선(VL1)과 가상 세로선(VL2)에 대한 해당 물체의 위치를 기초로 픽업 로봇(100)의 이동 모드를 결정할 수 있다. 이동 모드는 제1 내지 제5 영역들(AR1-AR5)에 대응하여 제1 내지 제5 모드를 가질 수 있다.
제1 영역(AR1)은 가상 가로선(VL1)과 가상 세로선(VL2)이 교차하는 지점에 대응한다. 수거 대상 물체가 제1 영역(AR1) 상에 위치할 때, 픽업 로봇(100)은 추가로 이동할 필요 없이 픽업부를 이용하여 수거 대상 물체를 수거할 수 있다. 제어부(200)는 이동 모드를 제1 모드로 결정하고, 수직 이동량 산출부(230), 수평 이동량 산출부(240) 및 회전량 산출부(250)를 모두 비활성화할 수 있다. 제어부(200)는 수거 대상 물체가 제1 영역(AR1)에 위치하도록 픽업 로봇(100)을 이동시킬 수 있다.
가상 가로선(VL1)은 픽업 로봇(100)이 가로 방향, 즉, 우측 또는 좌측 방향으로 이동할 때의 경로와 평행한 가상의 선이다. 가상 세로선(VL2)은 픽업 로봇이 세로 방향, 즉, 전방 또는 후방 방향으로 이동할 때의 경로와 평행하거나 일치하는 가상의 선이다.
도 9a에 도시된 바와 같이, 제2 영역(AR2)은 제1 영역(AR1)에서 가상 세로선(VL2)을 따라 위쪽으로 연장된다. 제3 영역(AR3)은 가상 가로선(VL1)의 방향을 따라 제2 영역(AR2)의 양측에 위치한다. 제4 영역(AR4)은 가상 가로선(VL1)의 방향을 따라 제2 및 제3 영역들(AR2, AR3)의 양측에 위치한다. 제5 영역(AR5)은 가상 가로선(VL1)의 아래쪽에 위치한다. 도 9a에 도시된 제1 내지 제5 영역들(AR1-AR5)은 예시적이며, 카메라 영상은 이보다 적은 개수의 영역들로 구분되거나, 이보다 많은 개수의 영역들로 구분될 수도 있다. 또한, 도 9a에 도시된 제1 내지 제5 영역들(AR1-AR5)은 그 크기나 위치가 달라질 수도 있다.
도 9b를 참조하면, 해당 물체(QO)가 제2 영역(AR2)에 위치한다. 이 경우, 제어부(200)는 이동 모드를 제2 모드로 결정할 수 있다. 제1 모드에서는 수직 이동량 산출부(230)가 활성화되고, 수평 이동량 산출부(240)와 회전량 산출부(250)는 비활성화될 수 있다. 따라서, 픽업 로봇(100)은 수직 방향(본 예에서는, 전방 방향)으로 이동한다. 수직 이동량 산출부(230)는 해당 물체(QO)가 가상 가로선(VL1)으로부터 세로선 방향으로 떨어진 세로 방향 위치(Δy)를 기초로 수직 이동량을 산출할 수 있다. 세로 방향 위치(Δy)가 픽업 로봇(100)의 최대 수직 이동량보다 작은 경우, 수직 이동량은 세로 방향 위치(Δy)로 결정될 수 있다. 세로 방향 위치(Δy)가 최대 수직 이동량보다 큰 경우, 수직 이동량은 최대 수직 이동량으로 결정될 수 있다. 최대 수직 이동량은 단위시간 동안 픽업 로봇(100)이 최대 속도로 수직 방향으로 이동할 수 있는 거리를 의미할 수 있다.
도 9c를 참조하면, 해당 물체(QO)가 제5 영역(AR5)에 위치한다. 이 경우, 제어부(200)는 이동 모드를 제5 모드로 결정할 수 있다. 제5 모드에서는 수직 이동량 산출부(230)와 수평 이동량 산출부(240)가 활성화되고, 회전량 산출부(250)는 비활성화될 수 있다. 따라서, 픽업 로봇(100)은 수직 방향(본 예에서는, 후방 방향)과 수평 방향(본 예에서는 좌측 방향)으로 이동한다. 픽업 로봇(100)이 회전할 경우, 흡입 배관(130)이 해당 물체(QO)와 접촉하여 해당 물체(QO)가 이동할 수도 있다.
일 예에 따르면, 수직 이동량 산출부(230)는 해당 물체(QO)가 가상 가로선(VL1)으로부터 세로선 방향으로 떨어진 세로 방향 위치(Δy)를 기초로 후방 방향의 수직 이동량을 산출할 수 있다. 세로 방향 위치(Δy)가 픽업 로봇(100)의 최대 수직 이동량보다 작은 경우, 수직 이동량은 세로 방향 위치(Δy)로 결정될 수 있다. 세로 방향 위치(Δy)가 최대 수직 이동량보다 큰 경우, 수직 이동량은 최대 수직 이동량으로 결정될 수 있다. 수평 이동량 산출부(230)는 해당 물체(QO)가 가상 세로선(VL2)으로부터 가로선 방향으로 떨어진 가로 방향 위치(Δx)를 기초로 좌측 방향의 수평 이동량을 산출할 수 있다. 가로 방향 위치(Δx)가 픽업 로봇(100)의 최대 수평 이동량보다 작은 경우, 수평 이동량은 가로 방향 위치(Δx)로 결정될 수 있다. 가로 방향 위치(Δx)가 최대 수평 이동량보다 큰 경우, 수평 이동량은 최대 수평 이동량으로 결정될 수 있다. 최대 수평 이동량은 단위시간 동안 픽업 로봇(100)이 최대 속도로 수평 방향으로 이동할 수 있는 거리를 의미할 수 있다. 픽업 로봇(100)은 후방 대각선 방향으로 이동하게 된다. 제5 모드에서 수직 이동량 산출부(230)와 수평 이동량 산출부(240)가 해당 물체(QO)의 위치에 따라 수직 이동량과 수평 이동량을 산출하는 방법은 위의 예로 한정되지 않는다.
도 9d를 참조하면, 해당 물체(QO)가 제3 영역(AR3)에 위치한다. 이 경우, 제어부(200)는 이동 모드를 제3 모드로 결정할 수 있다. 제3 모드에서는 수직 이동량 산출부(230)와 회전량 산출부(250)가 활성화되고, 수평 이동량 산출부(240)는 비활성화될 수 있다. 따라서, 픽업 로봇(100)은 수직 방향(본 예에서는, 전방 방향)으로 이동하면서 어느 한 방향(본 예에서는 시계 방향)으로 회전한다. 제3 영역(AR3)의 해당 물체(QO)는 제2 영역(AR2)에 인접하기 때문에, 픽업 로봇(100)이 수평 방향으로 이동할 경우 해당 물체(QO)가 제2 영역(AR2)을 넘어 반대쪽 제3 영역(AR3)으로 이동할 수도 있다.
일 예에 따르면, 수직 이동량 산출부(230)는 해당 물체(QO)의 세로 방향 위치(Δy)를 기초로 전방 방향의 수직 이동량을 산출할 수 있다. 세로 방향 위치(Δy)와 최대 수직 이동량 간의 대소 관계에 따라, 수직 이동량은 세로 방향 위치(Δy) 또는 최대 수직 이동량으로 결정될 수 있다. 회전량 산출부(230)는 해당 물체(QO)가 가상 수직선(VL2)로부터 떨어진 이격각(θ)을 기초로 회전량을 산출할 수 있다. 이격각(θ)은 카메라(141)의 회전축과 해당 물체(QO) 사이의 가상 선과 가상 수직선(VL2) 사이의 각도로 정의될 수 있다. 카메라(141)의 회전축은 카메라 영상 바깥에 위치할 수 있다. 이격각(θ)이 픽업 로봇(100)의 최대 회전량보다 작은 경우, 회전량은 이격각(θ)으로 결정될 수 있다. 이격각(θ)이 픽업 로봇(100)의 최대 회전량보다 큰 경우, 회전량은 최대 회전량으로 결정될 수 있다. 최대 회전량은 단위시간 동안 픽업 로봇(100)이 최대 속도로 회전할 수 있는 각속도를 의미할 수 있다. 최대 회전량은 카메라 앵글의 기준 각속도보다 클 수 있다. 본 예에서, 픽업 로봇(100)은 전방 방향으로 이동하면서 회전할 수 있다. 제3 모드에서 수직 이동량 산출부(230)와 회전량 산출부(250)가 해당 물체(QO)의 위치에 따라 수직 이동량과 회전량을 산출하는 방법은 위의 예로 한정되지 않는다.
도 9e를 참조하면, 해당 물체(QO)가 제4 영역(AR4)에 위치한다. 이 경우, 제어부(200)는 이동 모드를 제4 모드로 결정할 수 있다. 제4 모드에서는 수직 이동량 산출부(230), 수평 이동량 산출부(240), 및 회전량 산출부(250)가 모두 활성화될 수 있다. 따라서, 픽업 로봇(100)은 수직 방향(본 예에서는, 전방 방향)과 수평 방향(본 예에서는 우측 방향)으로 이동하면서 어느 한 방향(본 예에서는 시계 방향)으로 회전한다.
일 예에 따르면, 수직 이동량 산출부(230)는 해당 물체(QO)의 세로 방향 위치(Δy)를 기초로 전방 방향의 수직 이동량을 산출할 수 있다. 수직 이동량은 세로 방향 위치(Δy)와 최대 수직 이동량 중 작은 값으로 결정될 수 있다. 수평 이동량 산출부(240)는 해당 물체(QO)의 가로 방향 위치(Δx)를 기초로 우측 방향의 수평 이동량을 산출할 수 있다. 수평 이동량은 가로 방향 위치(Δx)와 최대 수평 이동량 중 작은 값으로 결정될 수 있다. 회전량 산출부(230)는 해당 물체(QO)가 가상 수직선(VL2)로부터 떨어진 이격각(θ)을 기초로 회전량을 산출할 수 있다. 회전량은 이격각(θ)과 픽업 로봇(100)의 최대 회전량 중 작은 값으로 결정될 수 있다.
본 예에서, 픽업 로봇(100)은 전방 대각선 방향으로 이동하면서 회전할 수 있다. 제4 모드에서 수직 이동량 산출부(230), 수평 이동량 산출부(240), 및 회전량 산출부(250)가 해당 물체(QO)의 위치에 따라 수직 이동량, 수평 이동량 및 회전량을 산출하는 방법은 위의 예로 한정되지 않는다.
도 10은 도 9e에 도시된 수거 대상 물체들과 해당 물체의 배치 상태에서 픽업 로봇(100)이 시계 방향으로 회전하는 경우의 카메라 영상을 개념적으로 도시한다. 예컨대, 픽업 로봇(100)과 카메라(141)는 도 8의 (b)와 유사한 배치를 가진 상태일 수 있다.
픽업 로봇(100)이 시계 방향으로 회전하고, 카메라(141)는 반시계 방향으로 회전하여 카메라(141)는 음의 회전각만큼 회전된 경우이다. 카메라 앵글은 시계 방향으로 회전하므로, 도 9e에 도시된 수거 대상 물체들과 해당 물체는 좌측으로 이동하며, 모션 블러가 발생할 수도 있다.
카메라(141)가 반시계 방향으로 회전하므로, 카메라 영상에서 픽업 로봇(100)의 흡입 배관(130)의 끝단은 시계 방향으로 회전하게 되며, 회전한 각도는 양의 회전각만큼 회전하게 된다. 이때 흡입 배관(130)의 끝단은 카메라(141)의 회전축을 중심으로 회전하게 된다.
도 10의 가상 가로선(VL1)과 가상 세로선(VL2)은 카메라 영상의 수평선(LH)와 수직선(LV)와 회전각만큼 회전할 수 있다. 따라서, 가상 가로선(VL1)과 카메라 영상에 고정된 수평선(LH) 사이의 각도는 카메라(141)의 회전각과 동일하고, 가상 세로선(VL2)과 카메라 영상에 고정된 수직선(LV) 사이의 각도는 카메라(141)의 회전각과 동일할 수 있다.
제1 내지 제5 영역은 카메라(141)의 회전각을 기초로 정의되는 가상 가로선(VL1)과 가상 세로선(VL2)을 기준으로 도 10에 도시된 바와 같이 새롭게 설정된다. 그 결과, 해당 물체(QO)는 제3 영역(AR3) 내에 위치하게 된다. 제어부(200)는 이동 모드를 제3 모드로 결정하고, 전술한 바와 같이 제3 모드에 따라 수직 이동량 산출부(230)와 회전량 산출부(250)를 활성화하고, 수평 이동량 산출부(240)를 비활성화할 수 있다. 픽업 로봇(100)은 전방 방향으로 이동하면서 회전하게 될 수 있다.
비록 본 발명이 상기 언급된 바람직한 실시예와 관련하여 설명되었지만, 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서 첨부된 특허청구의 범위에는 본 발명의 요지에 속하는 한 이러한 수정이나 변형을 포함할 것이다.
100: 픽업 로봇
110: 바디부
120: 흡입부
130: 흡입 배관
140: 감지부
141: 카메라
141a: 카메라 회전 구동부
150: 운동 구동부
160: 휠들
170: 휠 구동부
200: 제어부
210: 해당 물체 인식부
220: 이동 모드 결정부
230: 수직 이동량 산출부
240: 수평 이동량 산출부
250: 회전량 산출부
260: 회전각 산출부

Claims (14)

  1. 바디부, 전 방향(全方向)으로 이동할 수 있도록 상기 바디부에 배치되고 독립적으로 회전하는 휠들을 포함하는 휠부, 전방을 향하여 상기 바디부에 회전 가능하게 배치되는 카메라를 포함하는 카메라부, 전방에서 해당 물체를 수거하도록 상기 바디부에 배치되는 픽업부, 및 상기 휠부, 상기 카메라부, 및 상기 픽업부를 제어하는 제어부를 포함하는 픽업 로봇의 제어 방법으로서,
    상기 제어부에 의해, 상기 카메라로부터 획득된 카메라 영상으로부터 상기 해당 물체를 인식하는 단계;
    상기 제어부에 의해, 상기 카메라 영상 내의 상기 해당 물체의 위치 및 상기 카메라의 회전각을 기초로 상기 픽업 로봇의 이동 모드를 결정하고, 상기 이동 모드에 따라 상기 휠부를 제어하는 단계;
    상기 제어부에 의해, 상기 픽업 로봇이 제1 방향으로 회전 운동할 때, 상기 카메라가 상기 바디부에 대해 상기 제1 방향의 반대 방향인 제2 방향으로 회전하도록 상기 카메라부를 제어하는 단계; 및
    상기 제어부에 의해, 상기 단계들을 반복하여 상기 픽업 로봇이 상기 해당 물체에 접근하면, 상기 해당 물체를 수거하기 위해 상기 픽업부를 제어하는 단계를 포함하고,
    상기 해당 물체를 인식하는 단계는,
    상기 카메라로부터 획득된 상기 카메라 영상을 전처리하여 제1 영상을 생성하는 단계;
    상기 제1 영상을 컬러 마스킹하여 제2 영상을 생성하는 단계;
    상기 제2 영상에 대하여 블랍 검출(blob detection)을 수행하여 후보 물체들의 위치와 크기를 검출하는 단계;
    상기 후보 물체들의 위치와 크기에 대응하는 상기 제1 영상의 일부분들을 사전-트레이닝된 캐스케이드 분류기(cascade classifier)에 입력하여 수거 대상 물체들을 검출하는 단계; 및
    상기 수거 대상 물체들 중 하나를 상기 해당 물체로 인식하는 단계를 포함하는 픽업 로봇의 제어 방법.
  2. 삭제
  3. 제1 항에 있어서,
    상기 제2 영상을 생성하는 단계는,
    상기 수거 대상 물체들의 종류에 각각 대응하는 컬러 마스크들을 준비하는 단계;
    상기 제1 영상을 상기 컬러 마스크들 각각을 이용하여 컬러 마스킹하여 컬러 마스킹된 영상들을 생성하는 단계; 및
    상기 컬러 마스킹된 영상들을 병합하여 상기 제2 영상을 생성하는 단계를 포함하는 픽업 로봇의 제어 방법.
  4. 제1 항에 있어서,
    상기 제1 영상은 복수의 미리 설정한 영역들로 구분되고,
    상기 제2 영상을 생성하는 단계는,
    상기 제1 영상의 상기 영역들에 각각 대응하는 복수의 컬러 마스크들을 준비하는 단계; 및
    상기 제1 영상의 상기 영역들 각각을 이에 대응하는 컬러 마스크들로 컬러 마스킹하여 상기 제2 영상을 생성하는 단계를 포함하는 픽업 로봇의 제어 방법.
  5. 제1 항에 있어서,
    상기 제1 영상은 복수의 미리 설정한 영역들로 구분되고,
    상기 수거 대상 물체들을 검출하는 단계는,
    상기 제1 영상의 상기 영역들에 각각 대응하는 복수의 사전-트레이닝된 캐스케이드 분류기들을 준비하는 단계; 및
    상기 제1 영상의 상기 일부분들 각각을, 상기 각 일부분이 위치하는 상기 영역에 대응하는 사전-트레이닝된 캐스케이드 분류기에 입력하는 단계를 포함하는 픽업 로봇의 제어 방법.
  6. 제1 항에 있어서,
    상기 제어부는 상기 카메라의 카메라 앵글이 미리 설정한 기준 각속도 이하의 각속도로 이동하도록 상기 카메라부를 제어하는 것을 특징으로 하는 픽업 로봇의 제어 방법.
  7. 제6 항에 있어서,
    상기 픽업 로봇이 상기 제1 방향으로 회전 운동할 때의 제1 각속도 크기는 상기 카메라가 상기 제2 방향으로 회전할 때의 제2 각속도 크기보다 빠르고,
    상기 제1 각속도 크기와 상기 제2 각속도 크기 사이의 차이는 상기 기준 각속도 이하인 픽업 로봇의 제어 방법.
  8. 제6 항에 있어서,
    상기 제어부는 상기 픽업 로봇이 상기 제1 방향의 회전 운동을 종료하면 상기 카메라가 상기 제1 방향으로 상기 기준 각속도 이하의 각속도로 회전하도록 상기 카메라부를 제어하는 것을 특징으로 하는 픽업 로봇의 제어 방법.
  9. 바디부, 전 방향(全方向)으로 이동할 수 있도록 상기 바디부에 배치되고 독립적으로 회전하는 휠들을 포함하는 휠부, 전방을 향하여 상기 바디부에 회전 가능하게 배치되는 카메라를 포함하는 카메라부, 전방에서 해당 물체를 수거하도록 상기 바디부에 배치되는 픽업부, 및 상기 휠부, 상기 카메라부, 및 상기 픽업부를 제어하는 제어부를 포함하는 픽업 로봇의 제어 방법으로서,
    상기 제어부에 의해, 상기 카메라로부터 획득된 카메라 영상으로부터 상기 해당 물체를 인식하는 단계;
    상기 제어부에 의해, 상기 카메라 영상 내의 상기 해당 물체의 위치 및 상기 카메라의 회전각을 기초로 상기 픽업 로봇의 이동 모드를 결정하고, 상기 이동 모드에 따라 상기 휠부를 제어하는 단계;
    상기 제어부에 의해, 상기 픽업 로봇이 제1 방향으로 회전 운동할 때, 상기 카메라가 상기 바디부에 대해 상기 제1 방향의 반대 방향인 제2 방향으로 회전하도록 상기 카메라부를 제어하는 단계; 및
    상기 제어부에 의해, 상기 단계들을 반복하여 상기 픽업 로봇이 상기 해당 물체에 접근하면, 상기 해당 물체를 수거하기 위해 상기 픽업부를 제어하는 단계를 포함하고,
    상기 제어부는 상기 회전각을 기초로 상기 카메라 영상 내에 서로 수직한 가상의 가로선 및 가상의 세로선을 결정하고, 상기 가로선과 상기 세로선을 기준으로 상기 해당 물체의 위치를 결정하고, 상기 가로선과 상기 세로선에 대한 상기 해당 물체의 위치를 기초로 상기 이동 모드를 결정하는 것을 특징으로 하는 픽업 로봇의 제어 방법.
  10. 제9 항에 있어서,
    상기 가로선과 상기 카메라 영상에 고정된 수평선 사이의 각도는 상기 회전각과 동일한 것을 특징으로 하는 픽업 로봇의 제어 방법.
  11. 제9 항에 있어서,
    상기 제어부는 상기 카메라 영상을 상기 가로선과 상기 세로선이 교차하는 지점에 대응하는 제1 영역, 상기 제1 영역에서 상기 세로선을 따라 위쪽으로 연장되는 제2 영역, 상기 가로선 방향을 따라 상기 제2 영역의 양측에 위치하는 제3 영역, 상기 가로선 방향을 따라 상기 제2 및 제3 영역들의 양측에 위치하는 제4 영역, 및 상기 가로선의 아래쪽에 위치하는 제5 영역으로 구분하는 것을 특징으로 하는 픽업 로봇의 제어 방법.
  12. 제11 항에 있어서,
    상기 제어부는,
    상기 해당 물체가 상기 제1 영역에 위치하는 경우, 상기 해당 물체를 수거하도록 상기 픽업부를 제어하고,
    상기 해당 물체가 상기 제2 영역에 위치하는 경우, 상기 픽업 로봇이 전방 방향으로 이동하도록 상기 휠부를 제어하고,
    상기 해당 물체가 상기 제3 영역에 위치하는 경우, 상기 픽업 로봇이 전방 방향으로 이동하면서 회전하도록 상기 휠부를 제어하고,
    상기 해당 물체가 상기 제4 영역에 위치하는 경우, 상기 픽업 로봇이 전방 대각선 방향으로 이동하면서 회전하도록 상기 휠부를 제어하고,
    상기 해당 물체가 상기 제5 영역에 위치하는 경우, 상기 픽업 로봇이 후방 대각선 방향으로 이동하도록 상기 휠부를 제어하는 것을 특징으로 하는 픽업 로봇의 제어 방법.
  13. 바디부;
    전 방향(全方向)으로 이동할 수 있도록 상기 바디부에 배치되고 독립적으로 회전하는 휠들을 포함하는 휠부;
    전방을 향하여 상기 바디부에 회전 가능하게 배치되는 카메라를 포함하는 카메라부;
    전방에서 해당 물체를 수거하도록 상기 바디부에 배치되는 픽업부; 및
    상기 휠부, 상기 카메라부, 및 상기 픽업부를 제어하는 제어부로서,
    상기 카메라의 카메라 영상으로부터 상기 해당 물체를 인식하는 단계;
    상기 카메라 영상 내의 상기 해당 물체의 위치 및 상기 카메라의 회전각을 기초로 이동 모드를 결정하고, 상기 이동 모드에 따라 상기 휠부를 제어하는 단계;
    제1 방향으로 회전 운동할 때, 상기 카메라가 상기 제1 방향의 반대 방향인 제2 방향으로 회전하도록 상기 카메라부를 제어하는 단계; 및
    상기 단계들을 반복하여 상기 해당 물체에 접근하면, 상기 해당 물체를 수거하도록 상기 픽업부를 제어하는 단계를 수행하도록 구성되는 제어부를 포함하고,
    상기 제어부는 상기 해당 물체를 인식하는 단계에서,
    상기 카메라로부터 획득된 상기 카메라 영상을 전처리하여 제1 영상을 생성하는 단계;
    상기 제1 영상을 컬러 마스킹하여 제2 영상을 생성하는 단계;
    상기 제2 영상에 대하여 블랍 검출(blob detection)을 수행하여 후보 물체들의 위치와 크기를 검출하는 단계;
    상기 후보 물체들의 위치와 크기에 대응하는 상기 제1 영상의 일부분들을 사전-트레이닝된 캐스케이드 분류기(cascade classifier)에 입력하여 수거 대상 물체들을 검출하는 단계; 및
    상기 수거 대상 물체들 중 하나를 상기 해당 물체로 인식하는 단계를 수행하도록 구성되는 픽업 로봇.
  14. 바디부;
    전 방향(全方向)으로 이동할 수 있도록 상기 바디부에 배치되고 독립적으로 회전하는 휠들을 포함하는 휠부;
    전방을 향하여 상기 바디부에 회전 가능하게 배치되는 카메라를 포함하는 카메라부;
    전방에서 해당 물체를 수거하도록 상기 바디부에 배치되는 픽업부; 및
    상기 휠부, 상기 카메라부, 및 상기 픽업부를 제어하는 제어부로서,
    상기 카메라의 카메라 영상으로부터 상기 해당 물체를 인식하는 단계;
    상기 카메라 영상 내의 상기 해당 물체의 위치 및 상기 카메라의 회전각을 기초로 이동 모드를 결정하고, 상기 이동 모드에 따라 상기 휠부를 제어하는 단계;
    제1 방향으로 회전 운동할 때, 상기 카메라가 상기 제1 방향의 반대 방향인 제2 방향으로 회전하도록 상기 카메라부를 제어하는 단계; 및
    상기 단계들을 반복하여 상기 해당 물체에 접근하면, 상기 해당 물체를 수거하도록 상기 픽업부를 제어하는 단계를 수행하도록 구성되는 제어부를 포함하고,
    상기 제어부는 상기 회전각을 기초로 상기 카메라 영상 내에 서로 수직한 가상의 가로선 및 가상의 세로선을 결정하고, 상기 가로선과 상기 세로선을 기준으로 상기 해당 물체의 위치를 결정하고, 상기 가로선과 상기 세로선에 대한 상기 해당 물체의 위치를 기초로 상기 이동 모드를 결정하는 것을 특징으로 하는 픽업 로봇.
KR1020170100437A 2017-08-08 2017-08-08 픽업 로봇의 제어 방법 KR101970295B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170100437A KR101970295B1 (ko) 2017-08-08 2017-08-08 픽업 로봇의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170100437A KR101970295B1 (ko) 2017-08-08 2017-08-08 픽업 로봇의 제어 방법

Publications (2)

Publication Number Publication Date
KR20190016335A KR20190016335A (ko) 2019-02-18
KR101970295B1 true KR101970295B1 (ko) 2019-04-18

Family

ID=65561515

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170100437A KR101970295B1 (ko) 2017-08-08 2017-08-08 픽업 로봇의 제어 방법

Country Status (1)

Country Link
KR (1) KR101970295B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113506314B (zh) * 2021-06-25 2024-04-09 北京精密机电控制设备研究所 一种复杂背景下对称四边形工件的自动抓取方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100820316B1 (ko) 2006-11-03 2008-04-07 송기무 베이비 케어 로봇
KR100873723B1 (ko) 2007-07-25 2008-12-12 인하대학교 산학협력단 복수의 다리를 갖는 이동로봇
US20090137348A1 (en) * 2007-11-23 2009-05-28 Foxconn Technology Co., Ltd. Robot for collecting table tennis balls
JP2013524664A (ja) 2010-04-07 2013-06-17 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 車両カメラの画像センサ用のカラーマスク

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101598773B1 (ko) * 2010-10-21 2016-03-15 (주)미래컴퍼니 수술용 로봇의 움직임 제어/보상 방법 및 장치
US8718837B2 (en) * 2011-01-28 2014-05-06 Intouch Technologies Interfacing with a mobile telepresence robot

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100820316B1 (ko) 2006-11-03 2008-04-07 송기무 베이비 케어 로봇
KR100873723B1 (ko) 2007-07-25 2008-12-12 인하대학교 산학협력단 복수의 다리를 갖는 이동로봇
US20090137348A1 (en) * 2007-11-23 2009-05-28 Foxconn Technology Co., Ltd. Robot for collecting table tennis balls
JP2013524664A (ja) 2010-04-07 2013-06-17 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 車両カメラの画像センサ用のカラーマスク

Also Published As

Publication number Publication date
KR20190016335A (ko) 2019-02-18

Similar Documents

Publication Publication Date Title
CN111035327B (zh) 清洁机器人、地毯检测方法及计算机可读存储介质
EP3590665B1 (en) Mobile robot and control method therefor
US8340901B2 (en) Mobile robot and path planning method thereof for manipulating target objects
US10129521B2 (en) Depth sensing method and system for autonomous vehicles
US7184586B2 (en) Location mark detecting method for robot cleaner and robot cleaner using the method
US20160052133A1 (en) Robot cleaning system and method of controlling robot cleaner
KR101637359B1 (ko) 청소기
SE523831C2 (sv) Robotrengörare, robotrengöringssystem och förfarande för styrning av desamma
SE523438C2 (sv) Mobilt robotsystem med användning av RF-modul
Tsalatsanis et al. Vision based target tracking and collision avoidance for mobile robots
CN109946703A (zh) 一种传感器姿态调整方法及装置
Sokolov et al. Analysis of ROS-based Visual and Lidar Odometry for a Teleoperated Crawler-type Robot in Indoor Environment.
TWI756844B (zh) 自走車導航裝置及其方法
TWI748534B (zh) 清掃機器人及其控制方法
KR101970295B1 (ko) 픽업 로봇의 제어 방법
JP4967758B2 (ja) 物体移動の検出方法及び検出装置
KR101400400B1 (ko) 로봇 청소기 및 로봇 청소기의 제어방법
JP3868915B2 (ja) 前方監視装置及びその方法
WO2017188158A1 (ja) 路面状態検出装置
KR101854337B1 (ko) 청소기 및 그 제어방법
KR100500831B1 (ko) 로봇청소기의 회전각도 산출방법
KR102467990B1 (ko) 로봇 청소기
CN114029953B (zh) 基于深度传感器确定地平面的方法、机器人及机器人系统
JP2020052601A (ja) 自律走行掃除機及び制御方法
KR20190103524A (ko) 자율 주행 장치 및 방법

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