KR20180040314A - 소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치 - Google Patents

소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치 Download PDF

Info

Publication number
KR20180040314A
KR20180040314A KR1020160132027A KR20160132027A KR20180040314A KR 20180040314 A KR20180040314 A KR 20180040314A KR 1020160132027 A KR1020160132027 A KR 1020160132027A KR 20160132027 A KR20160132027 A KR 20160132027A KR 20180040314 A KR20180040314 A KR 20180040314A
Authority
KR
South Korea
Prior art keywords
mobile robot
image
vanishing point
corner line
corridor
Prior art date
Application number
KR1020160132027A
Other languages
English (en)
Other versions
KR101859618B1 (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 KR1020160132027A priority Critical patent/KR101859618B1/ko
Publication of KR20180040314A publication Critical patent/KR20180040314A/ko
Application granted granted Critical
Publication of KR101859618B1 publication Critical patent/KR101859618B1/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명의 복도를 이동하는 이동 로봇의 복도 주행 장치에서, 상기 이동 로봇이 이동하는 주변의 영상 데이터를 획득하기 위한 영상 획득부, 상기 영상 획득부로부터 획득한 영상 데이터에 대하여 전처리를 수행하고, 복도의 양측 모서리인 좌측 코너 라인과 우측 코너 라인을 검출하고, 검출된 코너 라인의 교점인 소실점을 추출하기 위한 영상 처리부, 상기 이동 로봇의 기존 좌표 데이터와 각속도 데이터를 바탕으로 현재 이동 로봇의 상태를 판단하기 위한 상태 판단부 및 상기 영상 처리부로부터 획득한 소실점 중에서, 이동 로봇의 초기 위치에서 추출한 초기 소실점과, 이동 로봇의 이동 중에 추출한 소실점을 비교하고, 그 차이 값인 편차 값을 계산하고, 계산된 편차 값을 이용하여 상기 이동 로봇의 주행을 제어하기 위한 제어량 값을 산출하고, 산출된 제어량 값을 이용하여 상기 상태 판단부에서 판단한 현재 이동 로봇의 각속도를 조절하여 상기 이동 로봇의 위치를 조절하는 방식으로 이동 로봇의 주행을 제어하는 주행 제어부를 포함한다. 본 발명에 의하면, 기존의 이동 로봇 주행 방법보다 정교하고 정확한 복도주행이 가능하다는 효과가 있다.

Description

소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치{Method and device for driving mobile robot using vanishing point in corridor}
본 발명은 이동로봇의 복도 주행 방법 및 장치에 관한 것으로, 자율 이동이 가능한 이동 로봇(이하 “이동 로봇”이라 함)을 복도에서 주행시키는 방법 및 장치에 관한 것이다.
최근 로봇기술에 관한 연구가 활발하게 진행됨에 따라 실내외 환경에서 사람을 대신해 임무를 수행할 수 있는 자율 주행 로봇에 대한 관심이 증가하고 있다. 자율주행로봇은 주위 환경을 인식하여 스스로 목적지로 이동하여 임무를 완수할 수 있어야 한다.
이러한 자율주행로봇이 임무를 완수하는데 있어서 레이저, 카메라, 초음파 등의 센서를 통하여 주위 환경정보를 획득하고, 이를 이용하여 스스로 자세를 제어하며 움직일 수 있어야 한다.
이와 같은 이동 로봇의 주행 방법에 대하여, 기존에 많은 연구들이 진행되어 왔으며, 대표적으로 레이저 스캐너가 초음파 및 적외선 센서 등의 다른 거리 센서 보다 정밀하다는 장점을 바탕으로, 레이저 스캐너를 이용한 이동 로봇의 위치 및 주행을 실시하는 연구가 진행된 바 있고, 또한 천장영상을 이용하여 특징 패턴을 인식하여 이동 로봇의 위치와 방향성 등을 인지할 수 있는 연구들이 진행되어 왔다.
그러나, 기존의 레이저 스캐너를 이용한 기술의 경우, 레이저 스캐너 자체도 고가이지만, 시스템 구성을 위한 준비가 필요하고, 넓은 공간의 경우 부가적인 인공 표식의 설치가 필요하므로, 부가적인 비용도 많이 든다는 단점이 존재한다. 그리고, 천장영상을 이용한 연구의 경우, 영상 인식을 위한 특징패턴이 필요하고 영상을 얻고 추출하기까지의 많은 시간이 소모된다는 단점이 있다.
대한민국 공개특허공보 제10-2015-0019986호(공고일 2016.08.18) 대한민국 공개특허공보 제10-2011-0107332호(공고일 2013.08.13)
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 전방 카메라 한 대만을 이용함에 있어 비용적인 부분을 감소시키며, 기존 방법들과 달리 실내 환경 데이터의 코너라인을 취득하여 처리함으로써, 특징패턴이 필요 없기 때문에 간편하게 처리할 수 있으며, 불필요한 데이터들을 제거하여 실내 코너라인을 빠르게 추출하고, 이를 통해 획득한 코너라인의 정보를 이용하여 강인한 소실점 데이터를 획득하도록 함으로써, 보다 정확하게 이동 로봇을 주행하도록 하는 방법 및 장치를 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
이와 같은 목적을 달성하기 위한 본 발명의 복도를 이동하는 이동 로봇의 복도 주행 장치에서, 상기 이동 로봇이 이동하는 주변의 영상 데이터를 획득하기 위한 영상 획득부, 상기 영상 획득부로부터 획득한 영상 데이터에 대하여 전처리를 수행하고, 복도의 양측 모서리인 좌측 코너 라인과 우측 코너 라인을 검출하고, 검출된 코너 라인의 교점인 소실점을 추출하기 위한 영상 처리부, 상기 이동 로봇의 기존 좌표 데이터와 각속도 데이터를 바탕으로 현재 이동 로봇의 상태를 판단하기 위한 상태 판단부 및 상기 영상 처리부로부터 획득한 소실점 중에서, 이동 로봇의 초기 위치에서 추출한 초기 소실점과, 이동 로봇의 이동 중에 추출한 소실점을 비교하고, 그 차이 값인 편차 값을 계산하고, 계산된 편차 값을 이용하여 상기 이동 로봇의 주행을 제어하기 위한 제어량 값을 산출하고, 산출된 제어량 값을 이용하여 상기 상태 판단부에서 판단한 현재 이동 로봇의 각속도를 조절하여 상기 이동 로봇의 위치를 조절하는 방식으로 이동 로봇의 주행을 제어하는 주행 제어부를 포함한다.
상기 영상 획득부는 상기 이동 로봇에 전방을 향하여 부착된 카메라를 이용하여 주변 영상 데이터를 획득할 수 있다.
상기 영상 처리부는 상기 영상 획득부에서 얻은 영상에서 불필요한 영역을 제외하고, 필요한 영역 만을 얻을 수 있는 관심 영역을 설정할 수 있다.
상기 영상 처리부는 상기 관심 영역에 대하여 전처리 과정과, 허프 변환(Hough transformation)을 통하여 코너 라인의 데이터를 추출할 수 있다.
상기 영상 처리부는 좌측 코너 라인 및 우측 코너 라인의 데이터를 각각 좌표로 변환하여 직선의 방정식을 얻고, 직선의 방정식을 이용하여 각 코너 라인의 기울기 값을 계산하고, 계산된 기울기 값을 이용하여 소실점을 추출할 수 있다.
상기 상태 판단부는 상기 이동 로봇에 설치된 엔코더를 이용하여 이동 로봇의 위치 및 각속도 정보를 획득할 수 있다.
상기 주행 제어부는 계산된 편차 값에 대하여 PID 제어를 적용하여 상기 제어량 값을 산출할 수 있다.
본 발명의 복도를 이동하는 이동 로봇의 복도 주행 방법에서, 상기 이동 로봇에 장착된 카메라를 통해 주변의 영상을 획득하는 단계, 획득한 영상을 이용하여 복도의 양측 모서리인 좌측 코너 라인과 우측 코너 라인을 추출하는 단계, 상기 좌측 코너 라인과 상기 우측 코너 라인의 교점인 소실점을 추출하는 단계, 이동 로봇의 초기 위치에서 추출한 초기 소실점과, 이동 로봇의 이동 중에 추출한 소실점을 비교하고, 그 차이 값인 편차를 계산하는 단계 및 계산된 편차를 이용하여 상기 이동 로봇의 주행을 제어하기 위한 제어량 값을 산출하고, 산출된 제어량 값을 이용하여 상기 이동 로봇의 위치를 조절하는 단계를 포함한다.
상기 코너 라인을 추출하는 단계에서, 카메라로부터 획득한 영상에서 불필요한 영역을 제외하고, 필요한 영역 만을 얻을 수 있는 관심 영역을 설정하고, 이 관심 영역을 이용하여 좌측 코너 라인과 우측 코너 라인을 추출할 수 있다.
상기 코너 라인을 추출하는 단계에서, 상기 관심 영역에 대하여 전처리 과정과, 허프 변환(Hough transformation)을 통하여 코너 라인의 데이터를 추출할 수 있다.
상기 소실점 추출 단계에서, 좌측 코너 라인 및 우측 코너 라인의 데이터를 각각 좌표로 변환하여 직선의 방정식을 얻고, 직선의 방정식을 이용하여 각 코너 라인의 기울기 값을 계산하고, 계산된 기울기 값을 이용하여 소실점을 추출할 수 있다.
상기 이동 로봇의 위치를 조절하는 단계는, 계산된 편차 값에 대하여 PID 제어를 적용하여 상기 제어량 값을 산출할 수 있다.
본 발명에 의하면, 코너 라인의 데이터를 이용한 이동 로봇의 복도 주행 방법을 제공함으로써, 기존의 이동 로봇 주행 방법보다 정교하고 정확한 복도주행이 가능하다는 효과가 있다.
그리고, 본 발명은 기존에 적용하는 전체 탐색 방법에 비해 빠른 탐색이 가능하여 실시간으로도 탐색이 빠르다는 장점이 있다.
또한, 본 발명은 기존의 일정 패턴을 인식하여 주행을 하는 방법보다, 어디에서든 쉽게 찾을 수 있는 코너라인의 소실점의 데이터를 토대로 한 PID 제어를 통해, 이동 로봇의 자세를 제어하여 주행 중의 주행오차를 최소화한다는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 최종 데이터의 결과 영상 정보를 시각적으로 나타낸 예시도이다.
도 2는 본 발명의 일 실시예에 따른 관심영역의 설정에 따른 영상 정보를 시각적으로 나타낸 예시도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 이동 로봇의 위치에 따른 소실점 추출 결과를 시각적으로 나타낸 예시도이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 복도 주행 장치의 내부 구성을 보여주는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 이동 로봇의 복도 주행 방법을 보여주는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 이동 로봇의 복도 주행 방법에 있어서 코너 라인을 얻기 위한 방법을 보여주는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 갖는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명은 소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치에 관한 것으로서, 영상을 이용하여 실내 모서리를 인식하고, 인식된 모서리를 이용하여 소실점을 추출하고, 소실점의 데이터를 비교하여 이동 로봇의 자세를 제어하여 복도를 주행하는 방법 및 장치에 관한 것이다.
본 발명은 복도를 이동하는 이동 로봇의 복도 주행 장치 및 방법에 대한 것이다.
도 1은 본 발명의 일 실시예에 따른 최종 데이터의 결과 영상 정보를 시각적으로 나타낸 예시도이다.
도 1를 참조하면, 도 1의 (a)는 이동 로봇의 현재 위치와 방향을 나타낸 것이고, (b)는 최종 데이터의 결과 영상 정보를 나타낸 것이다.
도 2는 본 발명의 일 실시예에 따른 관심영역의 설정에 따른 영상 정보를 시각적으로 나타낸 예시도이다.
도 2를 참조하면, (a)는 전체적인 영역에서의 관심영역(Region of Interesting, ROI)을 설정할 범위를 시각적으로 나타낸 것이고 (b)는 관심영역을 설정한 후, 영상 내 코너 라인을 추출한 결과를 나타낸 것이다.
도 2에서, 코너 라인을 추출할 때, 영상 내의 코너를 갖는 영역이 많이 존재한다. 이러한 경우, 허프 변환(Hough transformation)시 불필요한 코너들을 변환하게 되므로, 많은 계산량과 시간이 필요하게 된다. 이를 방지하고, 필요한 코너 라인을 부각시키기 위해, 불필요한 영역들을 제거하고 주행에 필요한 영상 위치를 기준으로 하단 부분을 추출하는 관심영역(19)을 설정함으로써, 코너 라인을 좀 더 빠르게 추출할 수 있다.
도 1 및 도 2를 참조하면, 결과 영상 정보를 나타내기 위해서는 초기 영상의 데이터에 관심영역(19)를 설정하여 필요 없는 부분을 제거한 특정 영역만을 얻을 수 있고, 전처리 과정을 거친 후 허프 변환을 통해 얻은 코너라인들 중에서 가장 적합한 코너라인들(20)을 추출하고, 두 코너라인을 이용하여 소실점(vanishing point)(21)을 추출할 수 있다. 본 발명에서 소실점(21)이란 코너라인들이 한 지점으로 모여 만나는 점을 말한다.
소실점은 추출한 두 코너라인(20)의 직선의 방정식으로 계산할 수 있다.
즉, 좌측 코너라인이 갖는 직선의 방정식,
Figure pat00001
(1)와, 우측 코너라인이 갖는 직선의 방정식,
Figure pat00002
(2)를 이용하여, y1=y2, 즉
Figure pat00003
(3)의 식을 적용하고, 이를 통해 영상 내 소실점의 위치좌표 값 (x,y)을 추출할 수 있다. 그리고 추출되는 데이터들의 정보를 시각적인 선과 원의 형태로 나타낼 수 있으며 소실점과 현재 이동 로봇(10)의 위치의 중점을 선으로 연결한 선(22)을 나타낼 수 있고, 이 선(22)을 통해 현재 이동 로봇(10)의 주행방향을 시각적으로 확인할 수 있다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 이동 로봇의 위치에 따른 소실점 추출 결과를 시각적으로 나타낸 예시도이다.
이동 로봇(10)이 주행하게 되면 바닥과의 마찰이나 미끄러짐 등으로 인한 주행오차가 생길 수 있으며, 주행오차가 생기게 되면 로봇의 주행방향이 틀어져서 이동 경로를 이탈하게 되는데, 도 3은 이동 로봇(10)의 방향이 왼쪽으로 이탈한 경우이고, 도 4는 이동 로봇(10)의 방향이 오른쪽으로 틀어진 경우이다.
먼저 도 3을 참조하면, 이동 로봇(10)의 방향이 왼쪽으로 이탈하게 되면, 이동 로봇(10)의 위치가 초기 위치에서 왼쪽으로 움직이게 되고(30), 이때 소실점의 위치도 변경된다.
즉, 이동 로봇(10)이 기존 이동 경로에서 추출한 초기 소실점(21) 위치에서, 이동 경로를 왼쪽으로 이탈했을 때에 검출된 소실점(31) 위치로 변경된다.
이렇게 소실점의 위치가 왼쪽으로 움직이게 되면, 초기 소실점(21) 위치와 변경된 소실점(31) 간에 편차(40)가 발생하게 되고, 이 편차(40)를 계산하고, PID 제어(proportional integral derivative control)를 통해 계산한 제어량을 각속도로 설정하여, 왼쪽으로 경로를 이탈한 이동 로봇(10)을 다시 기존 경로로 움직이도록 움직일 방향(32)을 산출하여, 이동 로봇(10)의 주행을 제어한다.
도 4를 참조하면, 이동 로봇(10)의 방향이 오른쪽으로 이탈하게 되면, 이동 로봇(10)의 위치가 초기 위치에서 오른쪽으로 움직이게 되고(27), 이때 소실점의 위치도 변경된다.
즉, 이동 로봇(10)이 기존 이동 경로에서 추출한 초기 소실점(21) 위치에서, 이동 경로를 오른쪽으로 이탈했을 때에 검출된 소실점(26) 위치로 변경된다.
이렇게 소실점의 위치가 오른쪽으로 움직이게 되면, 초기 소실점(21) 위치와 변경된 소실점(26) 간에 편차(41)가 발생하게 되고, 이 편차(41)를 계산하고, PID 제어(proportional integral derivative control)를 통해 계산한 제어량을 각속도로 설정하여, 오른쪽으로 경로를 이탈한 이동 로봇(10)을 다시 기존 경로로 움직이도록 움직일 방향(29)을 산출하여, 이동 로봇(10)의 주행을 제어한다.
이처럼, 본 발명에서는 PID 제어를 통해 이동 로봇(10)의 틀어짐(27, 30)이 점점 줄어들게 되며, 기준 소실점과 추후 측정되는 소실점과의 차이(40, 41)도 점점 줄어들어서, 결과적으로 기준 경로로의 주행이 가능해진다.
본 발명에서 이동 로봇(10)의 위치는 다음과 같이 좌·우 코너라인의 기울기 값으로 측정할 수 있다.
먼저, 좌측 코너라인이 갖는 직선의 방정식을
Figure pat00004
(1)라 하고, 우측 코너라인이 갖는 직선의 방정식을
Figure pat00005
(2)라 할 때, 좌·우 코너라인의 기울기인 a와 c를 비교한 것을,
Figure pat00006
(4)로 나타낼 수 있다.
이때, k=1인 경우는 이동 로봇(10)의 위치가 초기 위치 대비 왼쪽에 존재하는 경우(30)이고 k=0인 경우는 이동 로봇(10)이 정위치인 경우이고, k=-1인 경우는 이동 로봇(10)이 초기 위치 대비 오른쪽(27)에 위치한 경우이다.
그리고, 초기 소실점(21)의 좌표
Figure pat00007
(5)와, 이동 로봇(10)이 주행하면서 소실점의 위치가 왼쪽으로 변하는 경우(31)의 소실점 위치 좌표
Figure pat00008
(6) 및 이동 로봇(10)이 주행하면서 소실점의 위치가 오른쪽으로 변하는 경우(26)의 소실점 위치 좌표
Figure pat00009
(7)를 비교하여, 그 차이 값인 편차를 구할 수 있다.
본 발명의 영상 내 좌표에서 Y축은 로봇의 직선거리 정보만을 포함하므로, 이를 제외하고, X축의 차이를 이용하여 편차 값을 계산할 수 있다. 이렇게 편차를 계산하는 방법은 다음과 같이 나타낼 수 있다.
Figure pat00010
(8)
본 발명에서 (8) 식을 이용하여 이동 로봇(10)의 자세를 제어한다. 즉, 이동 로봇(10)에 위치에 따라 k의 값을 설정하고, (8) 식을 이용하여 편차 값을 계산하고, 계산된 편차 값을 이용하여 PID 제어를 통한 제어 값을 계산하여, 이동 로봇(10)의 각속도를 조절함으로써, 이동 로봇(10)의 자세를 제어하게 된다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 복도 주행 장치의 내부 구성을 보여주는 블록도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 이동 로봇의 복도 주행 장치는 영상 획득부(110), 영상 처리부(120), 상태 판단부(130) 및 주행 제어부(140)를 포함한다.
본 발명의 이동 로봇의 복도 주행 장치는 이동 로봇이 이동하는 주변의 영상 데이터를 획득하기 위한 영상 획득부(110), 영상 획득부(110)로부터 획득한 영상 데이터에 대하여 전처리를 수행하고, 복도의 양측 모서리인 좌측 코너 라인과 우측 코너 라인을 검출하고, 검출된 코너 라인의 교점인 소실점을 추출하기 위한 영상 처리부(120), 이동 로봇의 기존 좌표 데이터와 각속도 데이터를 바탕으로 현재 이동 로봇의 상태를 판단하기 위한 상태 판단부(130) 및 영상 처리부(120)로부터 획득한 소실점 중에서, 이동 로봇의 초기 위치에서 추출한 초기 소실점과, 이동 로봇의 이동 중에 추출한 소실점을 비교하고, 그 차이 값인 편차 값을 계산하고, 계산된 편차 값을 이용하여 이동 로봇의 주행을 제어하기 위한 제어량 값을 산출하고, 산출된 제어량 값을 이용하여 상태 판단부(130)에서 판단한 현재 이동 로봇의 각속도를 조절하여 이동 로봇의 위치를 조절하는 방식으로 이동 로봇의 주행을 제어하는 주행 제어부(140)를 포함한다.
본 발명의 일 실시예에서 영상 획득부(110)는 이동 로봇에 전방을 향하여 부착된 카메라를 이용하여 주변 영상 데이터를 획득할 수 있다.
영상 처리부(120)는 영상 획득부(110)에서 얻은 영상에서 불필요한 영역을 제외하고, 필요한 영역 만을 얻을 수 있는 관심 영역을 설정할 수 있다. 그리고, 영상 처리부(120)는 관심 영역에 대하여 전처리 과정과, 허프 변환(Hough transformation)을 통하여 코너 라인의 데이터를 추출할 수 있다.
영상 처리부(120)는 좌측 코너 라인 및 우측 코너 라인의 데이터를 각각 좌표로 변환하여 직선의 방정식을 얻고, 직선의 방정식을 이용하여 각 코너 라인의 기울기 값을 계산하고, 계산된 기울기 값을 이용하여 소실점을 추출할 수 있다.
상태 판단부(130)는 이동 로봇에 설치된 엔코더를 이용하여 이동 로봇의 위치 및 각속도 정보를 획득할 수 있다.
주행 제어부(140)는 계산된 편차 값에 대하여 PID 제어를 적용하여 제어량 값을 산출할 수 있다.
영상 획득부(110)는 이동 로봇(10)에 장착되어 이동 로봇 주변의 영상을 획득하는 역할을 한다. 본 발명의 일 실시예에서 영상 획득부(110)는 이동 로봇(10)에 전방을 향하여 부착된 카메라를 이용하여 주변의 영상 데이터를 획득할 수 있다.
영상 처리부(120)는 영상 획득부(110)로부터 획득한 영상 데이터에 대하여 전처리를 수행하고, 복도 모서리의 좌·우의 선인 코너라인을 검출하고, 검출된 코너라인을 토대로 소실점을 추출한다.
상태 판단부(130)는 이동 로봇(10)의 기존 좌표 데이터와 각속도 데이터를 바탕으로 현재의 이동 로봇 상태를 판단한다.
주행 제어부(140)는 영상 처리부(120)로부터 획득한 소실점의 데이터를 비교한 후, PID 제어를 이용하여 현재의 이동 로봇(10) 상태를 판단하여 이동 로봇(10)의 주행을 제어한다.
본 발명에서 영상 처리부(120)는 영상 획득부(110)에서 얻은 영상의 불필요한 영상을 제외한 필요한 영상만을 얻을 수 있는 관심 영역을 설정할 수 있다.
또한, 영상 처리부(120)는 영상 획득부(110)에서 얻은 실내 구조의 바닥 모서리를 전처리하는 전처리 과정과 허프 변환을 통하여 코너라인의 데이터를 얻을 수 있다. 그리고, 영상 처리부(120)는 코너라인의 데이터를 좌표로 변환하여 직선의 방정식을 추출할 수 있다. 그리고, 영상 처리부(120)는 코너라인의 직선 방정식을 이용하여 코너라인의 기울기 값을 계산할 수 있다.
영상 처리부(120)는 코너라인 추출을 통한 데이터를 토대로 좌·우 양 코너라인의 교점이라 할 수 있는 소실점을 추출할 수 있다.
상태 판단부(130)는 이동 로봇(10)에 설치된 엔코더 센서를 이용하여 로봇의 위치와 각속도, 모터 속도 정보를 획득할 수 있다.
주행 제어부(140)는 영상 처리부(120)에서 얻은 소실점의 데이터를 비교하여 기준이 되는 초기 소실점과 주행 중 추출되는 소실점의 차이인 소실점의 편차 값을 계산할 수 있다.
주행 제어부(140)는 편차 값을 이용하여 PID 제어를 거쳐 이동 로봇(10)의 주행을 제어하기 위한 제어량 값을 계산할 수 있다.
그리고, 주행 제어부(140)는 제어량 값을 이용하여 상태 판단부(130)에서 획득한 각속도를 조절하여 이동 로봇(10)의 위치를 조절할 수 있다.
그리고, 주행 제어부(140)는 이동 로봇(10)의 위치를 조절하여 초기 이동 로봇의 주행경로인 기존경로를 최대한 유지하며 주행을 실시할 수 있다.
도 6은 본 발명의 일 실시예에 따른 이동 로봇의 복도 주행 방법을 보여주는 흐름도이다.
도 6을 참조하면, 본 발명의 소실점을 이용한 이동 로봇의 복도 주행 방법은 다음과 같다.
이동 로봇(10)에 부착된 카메라를 통해 영상이 입력되면(S610), 영상으로부터 코너 라인을 추출하는 단계(S620)와, 추출한 코너라인들의 교점인 소실점을 추출하는 단계(S630)와, 추출한 소실점을 기준으로 이동 로봇(10)의 이동에 따른 소실점과의 편차를 계산하는 편차 계산 단계(S640)와, 계산된 편차 값을 기준으로 이동 로봇(10)의 방향을 제어하여 위치를 조절하는 이동 로봇 위치 조절 단계(S650)이다.
먼저, 코너 라인 추출 단계(S620)는 이동 로봇(10)에 부착된 카메라를 통하여 영상을 획득하고, 획득한 영상에 대하여 영상에 담긴 특징과 데이터를 얻을 수 있도록 전처리 과정을 거치고, 이 후 허프 변환을 이용하여 복도 모서리의 좌·우 라인인 코너라인(20)을 추출한다.
다음, 소실점 추출 단계(S630)에서는 S620 단계에서 추출한 코너라인들의 교점인 소실점(21)을 추출한다. 기본적인 허프 변환을 이용하면 여러 선들이 나와서, 결국 많은 소실점이 생성되지만, 본 발명에서는 허프 변환에 사용되는 직선의 방정식을 이용하여 구할 수 있는 기울기 값들 중에서, 영상에서 사용하지 않는 기울기 값들을 제한하고, 필요하지 않은 기울기를 제외한 일정 기울기 값을 이용하여 필요한 코너라인만을 나타내도록 설정하며, 영상에서 실내 모서리의 좌·우 여러 코너라인 중 하나의 코너라인(20)만 나타냄으로써, 하나의 중요 소실점만이 생성되도록 한다.
다음, 편차 계산 단계(S640)에서는 S630 단계에서 추출한 소실점을 기준으로 이동 로봇(10)이 주행 시 추출되는 소실점과의 편차를 계산하는 소실점 편차 계산 단계이다. 이동 로봇(10)이 움직일 때 바닥의 미끄럼이나 마찰 때문에 일정하지 않은 주행이 되고, 이때 이동 로봇(10)의 주행 방향이 조금만 비틀어져도 소실점이 변경되어 다른 좌표로 소실점이 추출된다. 이러한 소실점들의 데이터를 S630 단계에서 추출한 초기 소실점 좌표를 기준으로 편차 값을 계산하게 된다.
마지막으로 위치 조절 단계(S650)에서는 S640 단계에서 계산한 편차 값을 기준으로 이동 로봇(10)의 방향을 제어하여 위치를 조절하는 이동 로봇 위치 조절 단계이다. S640 단계에서 계산한 편차 값을 기준으로 PID 제어를 통해 각속도에 대한 제어량을 계산할 수 있으며, 계산된 제어량을 이용하여 이동 로봇(10)의 방향을 조절하게 되고, 이렇게 조절된 방향으로 인하여 이동 로봇(10)은 일정한 방향으로 복도를 주행하게 된다. 본 발명의 일 실시예에서 이동 로봇(10)의 현재 위치와 모터 속도 및 각속도는 이동 로봇(10)에 장착된 엔코더 센서를 이용하여 측정할 수 있다.
도 7은 본 발명의 일 실시예에 따른 이동 로봇의 복도 주행 방법에 있어서 코너 라인을 얻기 위한 방법을 보여주는 흐름도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 이동 로봇의 복도 주행 방법에 있어서 코너 라인을 얻기 위한 방법은 다음과 같다.
영상이 입력되면(S710), 입력받은 영상에서 관심 영역(ROI)을 설정하는 단계(S720)와, 관심영역에서 코너라인을 추출하기 위해 필요한 이진화 단계(S730)와, 허프 변환을 실시하는 단계(S740)와, 허프 변환을 통해 수집된 데이터들 중에서 코너라인 후보점을 추출하여(S750), 좌우 코너라인을 추출하는 단계(S760)이다.
먼저, 관심 영역 설정 단계(S720)는 실시간으로 처리하기 위한 빠른 연산을 실행시키기 위해, 입력받은 영상에서 불필요한 영역을 제거하는 관심영역을 설정하는 단계이다.
다음, 이진화 단계(S730)에서는 관심 영역의 데이터에서 코너라인을 추출하기 위해 필요한 이진화를 수행한다. 이때, 코너라인을 추출하기 위해서 필요한 영상처리를 위하여, 32비트의 영상을 8비트로 변환하고 코너라인의 경계선을 표시하도록 소벨 마스크를 적용할 수 있다. 이처럼 소벨 마스크를 적용한 후, 이진화를 실시하면 코너라인의 윤곽선을 확실하게 표시할 수 있다.
다음, 허브 변환 단계(S740)에서는 S730 단계의 과정을 통해 허프 변환을 위한 준비과정을 마치고 허프 변환을 실시하는 단계이다. 허프 변환은 간단하게 말해서 영상에서 직선 성분을 검출해 내기 위해 사용되는 기법 중 하나이다. 허프 변환은 x-y 평면으로 나타낼 수 있는데, 한 평면 위에서 어떠한 점을 지나는 직선은 다음과 같은 식으로 표현할 수 있다.
Figure pat00011
(9)
여기서 x와 y는 변수이고, θ와 ρ는 상수이다. 기본적으로 θ의 범위는 [0,PI]이다. 위의 (9)식을 이용하여, 전처리 과정 후 얻은 실내 모서리의 데이터에서 실내 모서리의 선인 코너라인의 데이터를 얻을 수 있다.
S750, S760 단계에서는 S740 단계에서 얻은 실내 모서리의 선들의 데이터들을 토대로 자세 제어를 위해 필요한 데이터들만 후보점으로 남겨두는 방식으로, 가장 적합한 데이터를 코너라인의 후보점으로 추출한다. 본 발명에서는 직선의 기울기 값을 이용하여 데이터들의 후보군을 두고 그 중 가장 적합한 기울기 값을 가지는 선을 선택하여 사용한다. 직선의 방정식
Figure pat00012
(9)에서 θ 값과 ρ 값을 이용하면 직선의 기울기를 구할 수 있다. 실내 환경의 경우, 허프 변환을 통해 나타날 수 있는 직선의 기울기는 한정적이므로, 일부 값들을 받아오지 않도록 설정한 후, 초기 데이터의 기울기 값을 이용하여 코너라인들의 후보군을 설정한다(S750). 그리고, 매 영상마다 설정한 후보군에 적합하면 그 직선을 후보선으로 저장하게 되고, 후보군에 저장된 선들의 데이터들을 비교하여 실내 모서리의 윤곽선과 가장 비슷한 위치의 선을 최종 데이터로 선택하는 방식으로, 좌·우 모서리의 직선인 코너라인(20)을 추출할 수 있다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
110 영상 획득부 120 영상 처리부
130 상태 판단부 140 주행 제어부

Claims (12)

  1. 복도를 이동하는 이동 로봇의 복도 주행 장치에서,
    상기 이동 로봇이 이동하는 주변의 영상 데이터를 획득하기 위한 영상 획득부;
    상기 영상 획득부로부터 획득한 영상 데이터에 대하여 전처리를 수행하고, 복도의 양측 모서리인 좌측 코너 라인과 우측 코너 라인을 검출하고, 검출된 코너 라인의 교점인 소실점을 추출하기 위한 영상 처리부;
    상기 이동 로봇의 기존 좌표 데이터와 각속도 데이터를 바탕으로 현재 이동 로봇의 상태를 판단하기 위한 상태 판단부; 및
    상기 영상 처리부로부터 획득한 소실점 중에서, 이동 로봇의 초기 위치에서 추출한 초기 소실점과, 이동 로봇의 이동 중에 추출한 소실점을 비교하고, 그 차이 값인 편차 값을 계산하고, 계산된 편차 값을 이용하여 상기 이동 로봇의 주행을 제어하기 위한 제어량 값을 산출하고, 산출된 제어량 값을 이용하여 상기 상태 판단부에서 판단한 현재 이동 로봇의 각속도를 조절하여 상기 이동 로봇의 위치를 조절하는 방식으로 이동 로봇의 주행을 제어하는 주행 제어부를 포함하는 이동 로봇의 복도 주행 장치.
  2. 청구항 1에 있어서,
    상기 영상 획득부는 상기 이동 로봇에 전방을 향하여 부착된 카메라를 이용하여 주변 영상 데이터를 획득하는 것을 특징으로 하는 이동 로봇의 복도 주행 장치.
  3. 청구항 1에 있어서,
    상기 영상 처리부는 상기 영상 획득부에서 얻은 영상에서 불필요한 영역을 제외하고, 필요한 영역 만을 얻을 수 있는 관심 영역을 설정할 수 있는 것을 특징으로 하는 이동 로봇의 복도 주행 장치.
  4. 청구항 3에 있어서,
    상기 영상 처리부는 상기 관심 영역에 대하여 전처리 과정과, 허프 변환(Hough transformation)을 통하여 코너 라인의 데이터를 추출하는 것을 특징으로 하는 이동 로봇의 복도 주행 장치.
  5. 청구항 1에 있어서,
    상기 영상 처리부는 좌측 코너 라인 및 우측 코너 라인의 데이터를 각각 좌표로 변환하여 직선의 방정식을 얻고, 직선의 방정식을 이용하여 각 코너 라인의 기울기 값을 계산하고, 계산된 기울기 값을 이용하여 소실점을 추출하는 것을 특징으로 하는 이동 로봇의 복도 주행 장치.
  6. 청구항 1에서,
    상기 상태 판단부는 상기 이동 로봇에 설치된 엔코더를 이용하여 이동 로봇의 위치 및 각속도 정보를 획득하는 것을 특징으로 하는 이동 로봇의 복도 주행 장치.
  7. 청구항 1에 있어서,
    상기 주행 제어부는 계산된 편차 값에 대하여 PID 제어를 적용하여 상기 제어량 값을 산출하는 것을 특징으로 하는 이동 로봇의 복도 주행 장치.
  8. 복도를 이동하는 이동 로봇의 복도 주행 방법에서,
    상기 이동 로봇에 장착된 카메라를 통해 주변의 영상을 획득하는 단계;
    획득한 영상을 이용하여 복도의 양측 모서리인 좌측 코너 라인과 우측 코너 라인을 추출하는 단계;
    상기 좌측 코너 라인과 상기 우측 코너 라인의 교점인 소실점을 추출하는 단계;
    이동 로봇의 초기 위치에서 추출한 초기 소실점과, 이동 로봇의 이동 중에 추출한 소실점을 비교하고, 그 차이 값인 편차를 계산하는 단계; 및
    계산된 편차를 이용하여 상기 이동 로봇의 주행을 제어하기 위한 제어량 값을 산출하고, 산출된 제어량 값을 이용하여 상기 이동 로봇의 위치를 조절하는 단계를 포함하는 이동 로봇의 복도 주행 방법.
  9. 청구항 8에 있어서,
    상기 코너 라인을 추출하는 단계에서, 카메라로부터 획득한 영상에서 불필요한 영역을 제외하고, 필요한 영역 만을 얻을 수 있는 관심 영역을 설정하고, 이 관심 영역을 이용하여 좌측 코너 라인과 우측 코너 라인을 추출하는 것을 특징으로 하는 이동 로봇의 복도 주행 방법.
  10. 청구항 9에 있어서,
    상기 코너 라인을 추출하는 단계에서, 상기 관심 영역에 대하여 전처리 과정과, 허프 변환(Hough transformation)을 통하여 코너 라인의 데이터를 추출하는 것을 특징으로 하는 이동 로봇의 복도 주행 방법.
  11. 청구항 8에 있어서,
    상기 소실점 추출 단계에서, 좌측 코너 라인 및 우측 코너 라인의 데이터를 각각 좌표로 변환하여 직선의 방정식을 얻고, 직선의 방정식을 이용하여 각 코너 라인의 기울기 값을 계산하고, 계산된 기울기 값을 이용하여 소실점을 추출하는 것을 특징으로 하는 이동 로봇의 복도 주행 방법.
  12. 청구항 8에 있어서,
    상기 이동 로봇의 위치를 조절하는 단계는, 계산된 편차 값에 대하여 PID 제어를 적용하여 상기 제어량 값을 산출하는 것을 특징으로 하는 이동 로봇의 복도 주행 방법.
KR1020160132027A 2016-10-12 2016-10-12 소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치 KR101859618B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160132027A KR101859618B1 (ko) 2016-10-12 2016-10-12 소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160132027A KR101859618B1 (ko) 2016-10-12 2016-10-12 소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180040314A true KR20180040314A (ko) 2018-04-20
KR101859618B1 KR101859618B1 (ko) 2018-05-18

Family

ID=62088245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160132027A KR101859618B1 (ko) 2016-10-12 2016-10-12 소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101859618B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102047303B1 (ko) * 2018-06-01 2019-11-21 엘지전자 주식회사 저조도 영상 내 소실점에 기반하여 방향을 추정하는 로봇 및 방법
KR20200030738A (ko) * 2018-09-13 2020-03-23 주식회사 케이티 이동 로봇 및 이의 위치 인식 방법
CN112091967A (zh) * 2020-07-27 2020-12-18 一重集团大连核电石化有限公司 焊接机器人轨迹离线编程批量修正方法
WO2024001596A1 (zh) * 2022-06-30 2024-01-04 北京极智嘉科技股份有限公司 机器人运动控制方法以及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102047303B1 (ko) * 2018-06-01 2019-11-21 엘지전자 주식회사 저조도 영상 내 소실점에 기반하여 방향을 추정하는 로봇 및 방법
WO2019231127A1 (ko) * 2018-06-01 2019-12-05 엘지전자 주식회사 저조도 영상 내 소실점에 기반하여 방향을 추정하는 로봇 및 방법
US11801604B2 (en) 2018-06-01 2023-10-31 Lg Electronics Inc. Robot of estimating direction based on vanishing point of low luminance image and method estimating thereof
KR20200030738A (ko) * 2018-09-13 2020-03-23 주식회사 케이티 이동 로봇 및 이의 위치 인식 방법
CN112091967A (zh) * 2020-07-27 2020-12-18 一重集团大连核电石化有限公司 焊接机器人轨迹离线编程批量修正方法
CN112091967B (zh) * 2020-07-27 2024-04-19 一重集团大连核电石化有限公司 焊接机器人轨迹离线编程批量修正方法
WO2024001596A1 (zh) * 2022-06-30 2024-01-04 北京极智嘉科技股份有限公司 机器人运动控制方法以及装置

Also Published As

Publication number Publication date
KR101859618B1 (ko) 2018-05-18

Similar Documents

Publication Publication Date Title
US20230360230A1 (en) Methods and system for multi-traget tracking
KR101083394B1 (ko) 이동 로봇의 위치 인식을 위한 지도 생성 및 갱신 방법
US8265425B2 (en) Rectangular table detection using hybrid RGB and depth camera sensors
KR101859618B1 (ko) 소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치
Stokkeland et al. Autonomous visual navigation of unmanned aerial vehicle for wind turbine inspection
JP4409035B2 (ja) 画像処理装置、特異箇所検出方法、及び特異箇所検出プログラムを記録した記録媒体
CN110072673B (zh) 跟踪人类的机器人及其方法
EP2144131B1 (en) Apparatus and method of building map for mobile robot
Munoz et al. Depth-aware indoor staircase detection and recognition for the visually impaired
US10061324B2 (en) Autonomous moving device and self position estimation method
KR101775114B1 (ko) 이동 로봇의 위치 인식 및 지도 작성 시스템 및 방법
KR102547274B1 (ko) 이동 로봇 및 이의 위치 인식 방법
KR20110097140A (ko) 이동 로봇의 위치 추정 장치 및 방법
KR102117313B1 (ko) 그래디언트 추정 장치, 그래디언트 추정 방법, 컴퓨터 프로그램 및 제어 시스템
US11112780B2 (en) Collaborative determination of a load footprint of a robotic vehicle
JP7372708B2 (ja) 広視野角のステレオカメラ装置およびこれを利用した深度画像処理方法
CN115552348A (zh) 移动目标跟随方法、机器人和计算机可读存储介质
Khaliluzzaman et al. Stairways detection based on approach evaluation and vertical vanishing point
US20210371260A1 (en) Automatic detection and tracking of pallet pockets for automated pickup
KR20160068241A (ko) 동적 환경에서 lrf를 이용한 자율 이동 로봇의 장애물 탐지 시스템
Fahimi et al. A vision-based guidance algorithm for entering buildings through windows for delivery drones
KR102674878B1 (ko) Lidar 활용 항공기 특정 부위 검출 방법
JOOCHIM et al. Mobile robot navigation by wall following using polar coordinate image from omnidirectional image sensor
Wang et al. A ceiling feature-based vision control system for a service robot
KR102426744B1 (ko) Tof 카메라와 머신러닝 알고리즘을 활용한 자율주행 팔로잉 모빌리티의 동작 방법

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
GRNT Written decision to grant