KR100763234B1 - 주행 상태를 감지하는 시스템 및 방법 - Google Patents

주행 상태를 감지하는 시스템 및 방법 Download PDF

Info

Publication number
KR100763234B1
KR100763234B1 KR1020040042981A KR20040042981A KR100763234B1 KR 100763234 B1 KR100763234 B1 KR 100763234B1 KR 1020040042981 A KR1020040042981 A KR 1020040042981A KR 20040042981 A KR20040042981 A KR 20040042981A KR 100763234 B1 KR100763234 B1 KR 100763234B1
Authority
KR
South Korea
Prior art keywords
driving
information
image
state
driving state
Prior art date
Application number
KR1020040042981A
Other languages
English (en)
Other versions
KR20050117769A (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 KR1020040042981A priority Critical patent/KR100763234B1/ko
Priority to US11/126,259 priority patent/US8014900B2/en
Publication of KR20050117769A publication Critical patent/KR20050117769A/ko
Application granted granted Critical
Publication of KR100763234B1 publication Critical patent/KR100763234B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels

Abstract

본 발명은 주행 상태를 감지하는 것에 관한 것으로서, 본 발명의 실시에 따른 주행 상태를 감지하는 시스템은 연속된 2개의 영상을 수신하고, 상기 수신한 영상들에 대한 각각의 이미지 정보로부터 제1 주행 정보를 추출하는 영상 수신부와, 상기 수신한 영상 방향과 수직 방향으로 이동하는 구동 장치와 연결되어 상기 구동 장치로부터 제2 주행 정보를 추출하는 주행 정보 처리부와, 상기 제1 주행 정보와 상기 제2 주행 정보로부터 주행 상태를 판별하는 제어부를 포함한다.
주행 상태 감지, 회전 이동, 직진 이동

Description

주행 상태를 감지하는 시스템 및 방법{System and method for detecting a state of travelling}
도 1은 본 발명의 실시예에 따른 주행 상태를 감지하는 시스템의 개략적인 블록도이다.
도 2는 본 발명의 실시예에 따른 주행 상태를 감지하는 시스템의 보다 상세한 블록도이다.
도 3은 본 발명의 실시예에 따른 주행부를 나타내는 개략적인 사시도이다.
도 4는 본 발명의 실시예에 따른 주행 상태를 감지하는 방법을 나타내는 처리 흐름도이다.
도 5는 본 발명의 실시예에 따라 회전 이동에 의한 주행 상태를 감지하는데 걸리는 시간을 나타내는 시간 흐름도이다.
도 6은 본 발명의 실시예에 따라 직진 이동에 의한 주행 상태를 감지하는데 걸리는 시간을 나타내는 시간 흐름도이다.
도 7은 본 발명의 실시예에 따라 영상 수신 장치에 의한 회전 이동 각도를 얻기 위한 영상 좌표 매핑 방법을 나타내는 예시도이다.
도 8은 본 발명의 실시예에 따라 영상 수신 장치에 의한 회전 이동 각도를 얻기 위한 그래프이다.
도 9는 본 발명의 실시예에 따른 영상 수신부의 회전 이동 상태를 판단하는 방법을 나타내는 처리 흐름도이다.
도 10은 본 발명의 실시예에 따른 영상 수신부의 직진 이동 상태를 판단하는 방법을 나타내는 예시도이다.
도 11은 본 발명의 실시예에 따라 주행부의 주행 정보를 처리하는 방법을 나타내는 처리 흐름도이다.
도 12는 본 발명의 실시예에 따라 주행 상태를 보상하는 방법을 나타내는 처리 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 제어부
112: 명령 수신부
114: 보상부
116: 주행 상태 판별부
130: 주행부
132: 구동부
134: 주행 정보 처리부
150: 영상 수신부
152: 영상 입력부
154: 영상 정보 처리부
170: 주행 명령 입력부
190: 전원부
본 발명은 주행 상태 감지에 관한 것으로, 특히, 직진 이동 또는 회전 이동과 같은 주행이 가능한 시스템이 정상적으로 주행하고 있는지 여부를 판별하는 방법에 관한 것이다.
전자, 통신, 기계 등 다양한 분야의 기술이 발달함에 따라 인간의 생활은 더욱 편리하게 되었고, 많은 부분에 있어서 인간을 대신하여 움직이고 주어진 일을 처리하는 자동 시스템이 개발되었는데, 흔히 이러한 자동 시스템을 로봇이라고 한다.
특히 이러한 로봇은 자신의 위치를 감지하고, 특정한 위치로 이동하는 기능을 가지며, 이 때 정상적인 주행은 이동 기능 수행을 위한 필수적인 요소이다.
즉, 비정상적인 주행의 일예로는 로봇이 회전하는 경우, 로봇의 구동을 담당하는 좌우 바퀴의 속도 값에 따라서 발생하는 미끄러짐과 로봇이 직진하는 경우, 문턱 등에 걸려서 바퀴가 살짝 들리게 되어 헛바퀴가 계속 도는 것이 있으며, 이러한 비정상적인 주행은 결과적으로 로봇이 원하는 위치로의 이동을 불가능하게 만든다.
이러한 문제점을 해결하기 위해 일본 특허공개공보 제1994-105781호에서는 바퀴 구조를 기구적으로 제안하여 바퀴의 미끄러짐을 방지하는 방법을 제시하고 있 다. 그러나 이러한 경우에는 바퀴의 구조가 복잡해지고 기계적인 결함이 발생할 가능성이 높아지게 된다.
또한 미국특허등록 제5999866호에서는 바닥 영상을 이용하여 로봇의 위치를 계산하는 방법을 제시하고 있으나, 현재 로봇의 주행 상태를 감지하는 방법에 대해서는 제시가 되지 않고 있다.
따라서, 구동 장치의 구조가 복잡하지 않으면서도 이동가능한 로봇의 주행 상태를 보다 효율적으로 감지하고, 정상적인 주행 상태가 아닌 경우에 정상 주행 상태로 전환시키는 방법이 필요하게 되었다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 비전 센서로부터 수신된 영상 정보와 구동 장치의 센서로부터 수신한 주행 이동 정보를 이용하여 이동 가능한 로봇의 주행 상태를 감지하는 시스템 및 방법을 제공하는데 목적이 있다.
본 발명의 또다른 목적은 정상적인 주행을 하지 않는 경우에 정상적인 주행 상태로 전환하는 시스템 및 방법을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 주행 상태를 감지하 는 시스템은 연속된 2개의 영상을 수신하고, 상기 수신한 영상들에 대한 각각의 이미지 정보로부터 제1 주행 정보를 추출하는 영상 수신부와, 상기 수신한 영상 방향과 수직 방향으로 이동하는 구동 장치와 연결되어 상기 구동 장치로부터 제2 주행 정보를 추출하는 주행 정보 처리부 및 상기 제1 주행 정보와 상기 제2 주행 정보로부터 주행 상태를 판별하는 제어부를 포함한다.
또한 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 주행 상태를 감지하는 방법은 연속된 2개의 영상을 수신하고, 상기 수신한 영상들에 대한 각각의 이미지 정보로부터 제1 주행 정보를 추출하는 단계와, 상기 수신한 영상 방향과 수직 방향으로 이동하는 구동 장치와 연결되어 상기 구동 장치로부터 제2 주행 정보를 추출하는 단계 및 상기 제1 주행 정보와 상기 제2 주행 정보로부터 주행 상태를 판별하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 본 발명의 실시예들에 의하여 상태를 감지하는 시스템 및 방법을 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다.
이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하도록 기구를 만들 수 있다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
도 1은 본 발명의 실시예에 따른 주행 상태를 감지하는 시스템의 개략적인 블록도로서, 상기 시스템(100)은 제어부(110), 주행부(130), 영상 수신부(150), 주행 명령 입력부(170), 전원부(190)를 포함한다.
주행 명령 입력부(170)는 사용자로부터 직진 이동 또는 회전 이동과 같은 주행 명령을 수신하고, 수신된 명령을 상기 제어부(110)로 전달한다. 여기서 사용자는 주행 명령을 내릴 수 있는 모든 자동화된 매체 또는 사람을 의미한다. 이 때, 주행 명령 입력부(170)는 사용자로부터 주행 명령을 직접 입력받기 위하여 시스템(100)에 부착된 주행 기능 버튼 또는 사용자로부터 주행 명령을 원격으로 입력받기 위하여 무선 제어 신호를 수신할 수 있는 무선 신호 수신 모듈을 포함한다.
또한, 주행 명령 입력부(170)는 현재 주행 중인 상기 시스템(100)이 주행을 정지하도록 하는 명령을 사용자로부터 수신하여 제어부(110)로 전달한다.
영상 수신부(150)는 카메라와 같은 영상 수신 장치를 포함하며, 수신한 영상 정보를 상기 제어부(110)로 전달한다.
주행부(130)는 서보 모터 또는 스텝핑 모터 등으로 복수의 바퀴를 회전시켜 이동하는 바퀴 타입, 무한궤도를 이용하는 케터필러 타입 또는 복수의 다리를 이용하여 이동하는 관절 타입 등의 다양한 방식을 포함하며, 주행 이동 거리와 방향을 감지하여 상기 제어부(110)로 전달한다.
제어부(110)는 마이크로 프로세서와 메모리를 탑재하고 있는데, 주행 명령 입력부(170)로부터 주행 명령을 수신하고, 수신한 주행 명령에 따라 주행부(130)과 영상 수신부(150)를 동작시킴으로써 시스템(100)의 주행 상태를 감지하게 된다. 또한 전원부(190)에 저장된 전원의 양이 일정치 이하로 떨어지면 전원부(190)의 전원 을 충전하는 동작을 행하도록 하는 등 시스템(100)의 전체적인 동작을 제어한다.
전원부(190)는 시스템(100)의 동작에 필요한 전원, 예컨대 주행부(130)의 바퀴를 회전시키는 모터의 전원, 영상 수신부(150)를 동작시키는데 필요한 전원, 제어부(110)를 동작시키는데 필요한 전원 등을 공급하며, 바람직하게는 축전지로 구성되어 있어 일정시간 동안 외부에서의 전원 공급 없이도 시스템(100)이 동작할 수 있도록 한다.
도 2는 본 발명의 실시예에 따른 주행 상태를 감지하는 시스템의 보다 상세한 블록도이다.
주행부(130)는 제어부(110)로부터 주행 명령을 수신하여 시스템(100)을 움직이도록 하는 구동부(132)와 구동부(134)로부터 주행 정보를 수신하여 신호 처리(signal processing)을 수행하고, 그 결과를 제어부(110)로 전달하는 주행 정보 처리부(134)를 포함한다. 이 때, 구동부(132)는 바람직하게는 바퀴와 상기 바퀴를 움직이게 하는 모터를 포함한다.
영상 수신부(150)는 제어부(110)의 명령에 따라 영상을 수신하는 영상 입력부(152)와 영상 입력부(152)로부터 영상 정보를 수신하여 신호 처리(signal processing)을 수행하고, 그 결과를 제어부(110)로 전달하는 영상 정보 처리부(154)를 포함한다. 이 때, 영상 입력부(152)는 카메라와 같은 영상 수신 장치를 포함하고, 영상 수신 장치에 포함된 렌즈는 시스템(100)이 이동하는 평면과 수직이 되는 방향을 향하도록 구성하는 것이 바람직하다.
제어부(110)는 사용자로부터 주행 명령을 수신하고, 구동부(132)와 영상 입 력부(152)를 동작시키는 명령 수신부(112)와 주행 정보 처리부(134)와 영상 정보 처리부(154)로부터 각각 주행 정보와 영상 정보를 수신하여 현재 시스템(100)의 주행 상태를 판별하는 주행 상태 판별부(116)와 만일 현재의 주행 상태가 정상적이지 않을 경우 예컨대 구동부(132)의 바퀴가 헛돌거나 미끄러짐이 발생한 경우 시스템(100)의 주행 상태를 정상적으로 하기 위한 보상부(114)를 포함한다.
상기와 같이 구성된 주행 상태를 감지하는 시스템(100)의 동작 및 작용을 설명하면 다음과 같다.
명령 수신부(112)가 시스템(100)에 부착된 주행 기능 버튼 또는 무선 신호 수신 모듈 또는 자체 명령 연산을 통하여 주행 이동 명령을 수신하면, 명령 수신부(112)는 구동부(132)에 포함된 모터와 영상 입력부(152)를 동작시킨다. 이 때, 상기 주행 이동 명령에는 직진 이동 명령과 회전 이동 명령이 있는데, 우선 직진 이동 명령을 수행하는 경우를 설명하도록 한다.
명령 수신부(112)는 영상 입력부(152)에 있는 영상 수신 장치를 동작하게 하고, 영상 수신 장치는 기설정된 주기마다 영상을 수신한다. 그리고 나서, 수신한 영상을 상기 영상 정보 처리부(154)로 전달한다. 이 때, 영상 수신 장치에 포함된 렌즈는 시스템(100)이 이동하는 평면과 수직이 되는 방향을 향하도록 구성하는 것이 바람직하므로, 예컨대 시스템(100)이 댁내의 청소용 로봇인 경우에 수신된 영상은 댁내의 천정에 대한 영상이 될 수 있다. 영상 정보 처리부(154)는 영상 입력부(152)로부터 영상을 수신하고, 수신된 영상을 이용하여 직진 이동 상태를 판별하는 기준값을 계산한 후, 계산된 기준값을 주행 상태 판별부(116)로 전달한다.
한편, 명령 수신부(112)는 구동부(132)의 모터를 동작시켜 시스템(100)이 직진 이동을 하게 한다. 이 때, 주행 정보 처리부(134)는 모터와 연결되어 기설정된 주기마다 모터의 회전 변위를 측정하고, 그 결과를 이용하여 바퀴가 이동한 거리를 계산할 수 있다. 그리고 나서, 계산된 거리 정보를 주행 상태 판별부(116)로 전달한다. 본 발명에 대한 설명을 용이하게 하기 위하여, 이하에서는 상기 거리 정보를 '적산 거리 정보'라고 칭하기로 한다.
주행 상태 판별부(116)는 직진 이동 상태를 판별하는 기준값과 적산 거리 정보를 수신하여 직진 이동 상태, 예컨대 구동부(132)에 있는 바퀴가 헛돌고 있는지 여부를 판별하게 된다. 이 때, 기준값이 직진 이동을 하고 있지 않음을 나타내고 있는데, 적산 거리 정보가 기설정된 문턱값을 초과하는 경우에는 바퀴가 헛도는 것과 같은 비정상적인 직진 이동을 하고 있다고 판단할 수 있다. 만일 주행 상태 판별부(116)에서 비정상적인 직진 이동이라고 판단된 경우에는 정상적인 주행을 하기 위해 구동부(132)를 제어할 필요가 있으므로, 주행 상태 판별부(116)는 보상부(114)로 하여금 구동부(132)를 제어하도록 한다. 이 때, 주행 상태 판별부(116)는 보상부(114)에게 주행 보상을 위한 정보를 제공한다.
이하에서는 회전 이동 명령을 수행하는 경우의 동작 과정을 설명하도록 한다.
명령 수신부(112)는 영상 입력부(152)에 있는 영상 수신 장치를 동작하게 하고, 영상 수신 장치는 회전 이동 명령을 수신한 시점의 영상과 주행 정지 명령 즉, 여기에서는 회전 이동을 멈추라는 명령을 수신한 시점의 영상을 수신한다. 영상 정 보 처리부(154)는 영상 입력부(152)로부터 2개의 영상을 수신하고, 수신된 영상을 이용하여 일정한 시간동안 영상이 회전한 각도를 계산한 후, 계산된 각도 정보를 주행 상태 판별부(116)로 전달한다. 본 발명에 대한 설명을 용이하게 하기 위하여, 이하에서는 상기 각도 정보를 '제1 회전 정보'라고 칭하기로 한다.
한편, 명령 수신부(112)는 구동부(132)를 동작시켜 시스템(100)이 회전 이동을 하게 한다. 이 때, 구동부(132)와 연결된 주행 정보 처리부(134)는 회전 이동을 시작해서 멈출 때까지의 모터 회전의 변위 측정을 통하여 회전 각도를 계산한 후 이 값을 주행 상태 판별부(116)로 전달한다. 본 발명에 대한 설명을 용이하게 하기 위하여, 이하에서는 상기 계산된 회전 각도에 대한 정보를 '제2 회전 정보'라고 칭하기로 한다.
주행 상태 판별부(116)는 제1 회전 정보와 제2 회전 정보를 수신하여 각각의 정보를 비교한 후 회전 이동 상태, 예컨대 구동부(132)에 있는 바퀴가 미끄러졌는지 여부를 판별하게 된다. 이 때, 제1 회전 정보와 제2 회전 정보의 차가 기설정된 값보다 클 경우에 바퀴가 미끄러진 것과 같은 비정상적인 회전 이동을 하고 있다고 판단할 수 있다. 만일 주행 상태 판별부(116)에서 비정상적인 회전 이동이라고 판단된 경우에는 정상적인 주행을 하기 위해 시스템(100)의 현재의 위치 좌표를 수정할 필요가 있다. 따라서, 주행 상태 판별부(116)는 보상부(114)로 하여금 시스템(100)의 현재의 위치 좌표를 갱신하도록 한다. 이 때, 주행 상태 판별부(116)는 보상부(114)에게 주행 보상을 위한 정보를 제공한다. 한편, 주행 정보 처리부(134) 또는 영상 정보 처리부(154)는 제어부(110)에 포함될 수도 있다.
도 3은 본 발명의 실시예에 따른 주행부를 나타내는 개략적인 사시도이다.
주행부(130)는 바퀴(310), 바퀴(310)를 구동시키는 모터(330), 모터(330)와 바퀴(310) 사이에 동력을 전달하는 기어 박스(320) 그리고 모터(330)와 연결되어 바퀴(310)의 이동 거리 또는 회전 각도에 대한 정보를 처리하는 엔코더(encoder)(340)를 포함한다. 이 때, 바퀴(310), 기어 박스(320), 모터(330)는 도 2에서 도시한 구동부(132)에 해당하고, 엔코더(encoder)(340)는 주행 정보 처리부(134)에 해당한다.
도 4는 본 발명의 실시예에 따른 주행 상태를 감지하는 방법을 나타내는 처리 흐름도이다.
사용자가 시스템(100)에 대하여 주행 명령을 내리면(S400), 시스템(100)은 현재의 조명 밝기가 기설정된 범위 내에 해당하는지 판별한다(S402). 이것은 영상 입력부(152)에 있는 영상 수신 장치가 영상을 수신하기에 알맞은 밝기인지를 판단하여 너무 밝거나 또는 너무 어두울 경우에는 주행 감지 기능을 수행하지 않도록 하기 위함이다. 이러한 기능은 조명의 밝기를 감지하는 센서를 시스템(100)에 부착하고, 감지된 결과를 명령 수신부(112)로 전달함으로써 수행될 수 있다. 현재의 조명 밝기가 기설정된 범위 내에 해당하지 않는 경우에 명령 수신부(112)는 구동부(132)만 동작시키고, 영상 입력부(152)는 동작시키지 않으므로 이러한 경우에는 구동부(132)에 의해서만 주행 상태를 감지하게 된다(S404). 이 때, 조명 밝기가 다시 기설정된 범위에 속하게 되면, 명령 수신부(112)는 다시 영상 입력부(152)를 동작시키게 된다.
현재의 조명 밝기가 기설정된 범위 내에 해당하는 경우에 시스템(100) 예컨대, 시스템(100)이 가정용 로봇인 경우에는 현재 로봇이 어느 위치에 있는지에 대한 정보를 저장한다(S405). 로봇의 현재 위치는 공간상의 특정한 위치를 원점으로 하여 현재 로봇의 위치를 나타내는 벡터 형태로 나타낼 수 있고, 로봇이 위치한 지점을 원점으로 할 수도 있다. 이 때, 상기 벡터 성분으로서 거리와 방위각을 포함할 수있다.
주행 명령은 회전 이동 명령, 직진 명령 또는 주행 정지 명령일 수 있는데, 만일 주행 명령이 주행 정지 명령인 경우에는 로봇은 정지하게 된다(S435).
만일 주행 명령이 회전 이동 명령인 경우에는 영상 수신부(150)에 있는 영상 수신 장치의 비전 센서를 이용하여 제1 회전 정보를 검출하고(S415), 주행부(130)에 있는 엔코더 센서를 이용하여 제2 회전 정보를 검출한다(S420). 이 때, 제1 회전 정보를 'vision_angle', 제2 회전 정보를 'odometry_angle' 이라고 칭하기로 하고, 제1 회전 정보를 검출하는 방법은 도 7, 도 8 및 도 9에서, 제2 회전 정보를 검출하는 방법은 도 11에서 구체적으로 설명하도록 한다.
S425단계에서는 제1 회전 정보와 제2 회전 정보를 비교하여 바퀴가 미끄러졌는지 여부를 판별한다. 예컨대, vision_angle의 값이 odometry_angle의 값보다 일정한 값 이상 큰 경우 즉, 'vision_angle > odometry_angle + 문턱값(threshold-value)'인 경우에는 바퀴가 미끄러졌다고 판단하게 된다. 만일 바퀴가 미끄러졌다고 판단되면 주행 상태에 이상이 발생한 것이고, 주행 이상 동작을 보상하기 위한 단계가 수행된다(S425, S455). 이 때, 주행 이상 동작을 보상하는 방법은 도 12에 서 구체적으로 설명하도록 한다. 만일 바퀴가 미끄러지지 않았다고 판단되면 상기 S405 단계를 수행하게 된다.
한편, 만일 주행 명령이 직진 이동 명령인 경우에는 영상 수신부(150)에 있는 비전 센서를 이용하여 직진 이동 상태를 검출하고(S440), 주행부(130)에 있는 엔코더 센서를 이용하여 적산 거리 정보를 검출한다(S445). 한편, 직진 이동 상태를 검출하는 방법은 도 10에서, 적산 거리 정보를 검출하는 방법은 상기 도 11에서 구체적으로 설명하도록 한다.
S450단계에서는 검출된 직진 이동 상태와 적산 거리 정보를 이용하여 바퀴가 헛돌고 있는지 여부를 판별한다. 예컨대, 직진 이동이 수행되지 않는 것으로 판단되고, 적산 거리 정보가 기설정된 문턱값(threshold-value) 이상의 값을 갖는 경우에는 바퀴가 헛돌고 있다고 판단하게 된다.
만일 바퀴가 헛돌고 있다고 판단되면 주행 상태에 이상이 발생한 것이고, 주행 이상 동작을 보상하기 위한 단계가 수행된다(S450, S455). 이 때, 주행 이상 동작을 보상하는 방법은 도 12에서 구체적으로 설명하도록 한다. 만일 바퀴가 정상적으로 직진 이동을 하고 있다고 판단되면 S405 단계를 수행하게 된다.
도 5는 본 발명의 실시예에 따라 회전 이동에 의한 주행 상태를 감지하는데 걸리는 시간을 나타내는 시간 흐름도이다.
영상 입력부(152)는 회전 이동이 시작되는 시점의 영상을 수신하고, 회전 이동이 종료되는 시점의 영상을 수신한다. 이 때, 회전 이동이 진행되는 시간을 도 5 에서는 Ta로 나타내고 있다. 그리고 나서, 바퀴가 미끄러졌는지 여부를 판별하는 시간이 소요되는데 도 5에서는 Tb로 나타내고 있다. 만일 바퀴가 미끄러졌다고 판단되면 주행 상태를 보상하기 위한 동작을 하게 되는데 도 5에서는 Tc로 나타내고 있다.
즉, 회전 이동에 의한 주행 상태를 감지하여 주행 상태를 보상하기까지 걸리는 시간(T)은 [수학식 1]과 같다.
Figure 112004025283008-pat00001
도 6은 본 발명의 실시예에 따라 직진 이동에 의한 주행 상태를 감지하는데 걸리는 시간을 나타내는 시간 흐름도이다.
영상 수신부(150)는 직진 이동이 시작되는 시점부터 일정한 시간 간격으로 수신된 연속된 2개의 영상을 비교하여 직진 이동 상태를 검출하고, 주행부(130)가 상기 적산 거리 정보를 검출한 후, 제어부(110)에서 직진 이동 상태에 이상이 있는지 여부, 예컨대 헛바퀴가 돌고 있는지 여부를 판별하여 만일 이상이 발생했다고 판단한 경우에는 주행 상태를 보상하기 위한 동작을 하게 되는데 이러한 과정을 수행하는데 걸리는 시간을 T1이라고 가정한다.
만일 도 6에서 도시한 바와 같이, 직진 시작 명령을 수신한 후 직진 멈춤 명령을 수신하기까지 걸리는 시간이 T라고 할 경우, T 동안에 n번의 직진 이동 상태를 감지하는 동작이 수행된다. 즉, [수학식 2]와 같은 관계식이 성립될 수 있다.
Figure 112004025283008-pat00002
이 때, 각각의 Tk(1 ≤ k ≤ n )는 주행 보상 단계를 수행할 수도, 수행하지 않을 수도 있으므로 반드시 동일하지는 않다.
도 7은 본 발명의 실시예에 따라 영상 수신 장치에 의한 회전 이동 각도를 얻기 위한 영상 좌표 매핑 방법을 나타내는 예시도이다.
도 1에서 도시한 시스템(100)이 주행 명령 입력부(170)를 통하여 사용자로부터 회전 이동 명령을 수신하면, 도 2에서 도시한 영상 입력부(152)에 있는 영상 수신 장치는 회전 이동 명령을 수신한 시점의 영상(710)과 사용자로부터 주행 정지 명령을 수신하여 회전 이동을 종료한 시점의 영상(720)을 영상 정보 처리부(154)로 전달한다. 이 때, 영상 정보 처리부(154)는 좌표 매핑 블록(730)를 포함하는데, 좌표 매핑 블록(730)은 영상 입력부(152)가 수신한 영상(710, 720)에 대하여 X축을 각도, Y축을 거리로 하는 극좌표 영상(715, 725)(이하, 각각 '제1 극좌표 영상', '제2 극좌표 영상'이라 한다)을 얻는다. 이 때, 제1 극좌표 영상(715)과 제2 극좌표 영상(725)의 원점은 좌표 매핑 전의 영상(710, 720)의 기준선(712, 722)을 기준으로 할 수 있는데, 기준선(712,722)은 영상의 광학 중심점을 끝점으로 하여 임의로 정할 수 있다. 한편, 회전 이동을 종료한 시점의 영상(720)은 회전 이동 명령을 수신한 시점의 영상(710)보다 도 5에서 도시한 Ta만큼의 시간 지연이 발생하게 된다.
도 8은 본 발명의 실시예에 따라 영상 수신 장치에 의한 회전 이동 각도를 얻기 위한 그래프이다.
도 7에서, 제2 극좌표 영상(725)을 X축의 양의 방향을 따라 일정한 각도 간격으로 이동하면서 제1 극좌표 영상(715)과 제2 극좌표 영상(725)을 비교한다. 예컨대 X축이 0도에서 360도의 범위를 갖는 경우, 제2 극좌표 영상(725)을 1도 간격으로 우측으로 이동하고, 이동한 후의 영상을 제1 극좌표 영상(715)과 비교한다.
제2 극좌표 영상(725)의 X축은 각도를 나타내므로, 제2 극좌표 영상(725)을 1도 간격으로 이동할 때 360도를 넘는 제2 극좌표 영상(725)의 일부분은 로테이션되어 X축의 0도 부분으로 이동하게 된다.
이러한 방법으로 제2 극좌표 영상(725)를 1도 간격으로 X축의 양의 방향을 따라 이동할 때마다, 1도 간격으로 연속된 360개의 각도(0도부터 359도) 각각에 해당하는 제1 극좌표 영상(715) 정보와 제2 극좌표 영상(725) 정보의 차이값(이하, '영상 정보 차이 값'라고 한다)을 얻는다. 이 때, 360개의 각도에 대하여 영상 정보 차이 값을 얻게 되는데, 각각의 영상 정보 차이 값을 제곱하여 모두 더한 값을 얻을 수 있는데. 이 값을 이하에서는 'SSD(Sum of Squared Distance)'라고 칭하기로 한다.
도 8에서 X축은 제2 극좌표 영상(725)이 이동된 각도를 나타내고, Y축은 제2 극좌표 영상(725)을 이동할 때마다 얻은 SSD값을 나타낸다. 이 때, 회전 이동한 각도는 가장 작은 SSD값을 나타내는 X축의 각도로 표현될 수 있는데, 가장 작은 SSD값에서 제1 극좌표 영상(715)과 제2 극좌표 영상(725)이 겹치게 된다.
도 9는 본 발명의 실시예에 따른 영상 수신부의 회전 이동 상태를 판단하는 방법을 나타내는 처리 흐름도로서, 도 9에서 도시하는 과정은 도 2에서 도시한 영상 입력부(152)와 영상 정보 처리부(154)에서 수행된다.
도 2에서 도시한 영상 입력부(152)에 있는 영상 수신 장치는 회전 이동을 시작하는 시점의 영상을 입력받고(S905), 영상 정보 처리부(154)에서는 상기 입력된 영상을 도 7에서 도시한 것과 같이 극좌표 변환시킴으로써(S910), 도 7에서 도시한 제1 극좌표 영상(715)을 획득한다(S915). 또한, 영상 수신 장치는 회전 이동을 종료하는 시점의 영상을 입력받고(S920), 영상 정보 처리부(154)에서는 입력된 영상을 도 7에서 도시한 것과 같이 극좌표 변환시킴으로써(S925), 도 7에서 도시한 제2 극좌표 영상(725)을 획득한다(S930).
제1 극좌표 영상(715)을 획득한 후 제2 극좌표 영상(725)을 획득하기까지는 시간 지연이 발생하게 되므로, 제1 극좌표 영상(715)과 제2 극좌표 영상(725) 모두를 획득하기까지 대기 상태에 놓이게 된다(S935).
만일 제1 극좌표 영상(715)과 제2 극좌표 영상(725) 모두를 획득하게 되면, 회전 이동한 각도를 검출하기 위한 과정을 수행하게 되는데, 이 때, 'shift_count'라는 변수를 설정함으로써 SSD연산을 수행하는 횟수를 조절하게 된다. 본 발명에서는 1도 간격으로 0도부터 359도까지 360개의 각도에 대해 SSD연산이 수행되므로, shift_count 변수의 초기값을 0으로 설정하고(S940), shift_count 변수의 값이 360이 되면 회전 각도를 검출하게 된다(S945, S965).
shift_count 변수의 값이 360이 되기 전까지는 도 8에 대한 설명에서 언급한 방법으로 제1 극좌표 영상(715)와 제2 극좌표 영상(725)을 이용하여 SSD를 연산하고(S950), 도 7에서 도시한 바와 같이 제2 극좌표 영상(725)을 X축의 양의 방향으로 1도만큼 이동한다(S955). 그리고 나서, shift_count 변수의 값을 1증가 시킨다(S960).
만일, shift_count 변수의 값이 360이 되면 회전 이동한 각도를 검출하게 되는데, 도 8에서 설명한 바와 같이 가장 작은 SSD 값에 해당하는 각도를 회전 각도로 볼 수 있다.
S965 단계에서, 영상 정보 처리부(154)에 의하여 회전 각도가 검출되면, 검출된 회전 각도를 상기 제어부(110)에 있는 주행 상태 판별부(116)로 전달하게 된다. 이 때, 검출된 회전 각도는 도 2에서 설명한 제1 회전 정보가 된다.
한편, 본 발명의 실시예에서는 제2 극좌표 영상(725)을 X축의 양의 방향으로 1도만큼 이동하면서 회전 각도를 검출하는 방법을 이용하고 있는데, 또다른 실시예로서 제2 극좌표 영상(725) 대신에 제1 극좌표 영상(715)을 이동시키거나, X축의 양의 방향 대신 X축의 음의 방향으로 이동시킬 수도 있다.
도 10은 본 발명의 실시예에 따른 영상 수신부의 직진 이동 상태를 판단하는 방법을 나타내는 예시도이다.
도 1에서 도시한 시스템(100)이 주행 명령 입력부(170)를 통하여 사용자로부터 직진 이동 명령을 수신하면, 도 2에서 도시한 영상 입력부(152)에 있는 영상 수신 장치는 기설정된 시간 간격으로 영상을 수신한다. 이 때, 영상 정보 처리부(154)는 영상 입력부(152)로부터 연속된 2개의 영상(1010, 1020)을 수신한다(S1030).
그리고 나서, 연속된 2개의 영상(1010, 1020)간의 차이를 비교하여 정규화된 영상을 나타내는 값을 얻을 수 있는데, 이 값을 여기에서는 'N'으로 표시하도록 하며, 직진 이동 상태를 판단하는 기준이 된다.
상기 N은 [수학식 3]과 같은 방법으로 얻을 수 있다.
Figure 112004025283008-pat00003
이 때, X는 도 10에서의 영상 폭(width), Y는 도 10에서의 영상 높이(height)에 해당한다. 그리고, 상기 A(x, y)는 이동 전의 영상(1010)의 (x, y) 좌표에서의 이미지 정보 값을 나타내고, 상기 B(x,y)는 이동 후의 영상(1020)의 (x,y) 좌표에서의 이미지 정보 값을 나타낸다.
만일, 직진 이동 명령에 의해 시스템(100)이 이동하게 되면, N값은 상기 [수학식 3]에 의해 특정한 값을 갖게된다. 이 때, 시스템(100)의 직진 이동 여부를 나타내는 'moving_var' 변수를 정의한다. 만일 N값이 기설정된 문턱값(threshold)을 넘는 경우에는 moving_var 변수의 값을 현재 시스템(100)이 직진 이동 중임을 나타내는 'TRUE'로 설정하고(S1050), 그렇지 않은 경우에는 moving_var 변수의 값을 현재 시스템(100)이 정지하고 있음을 나타내는 'FALSE'로 설정한다(S1060).
도 11은 본 발명의 실시예에 따라 주행부의 주행 정보를 처리하는 방법을 나 타내는 처리 흐름도로서, 도 11에서 도시하는 과정은 도 2에 도시된 주행 정보 처리부(134)에서 수행된다.
주행 정보 처리부(134)에 현재 시스템(100)이 위치하고 있는 (x-y) 평면상의 X, Y 좌표와 방위각 θ의 값이 설정되어 있다고 가정한다(S1110). 이 때, 도 2에서 도시된 제어부(110)가 사용자로부터 주행 이동 명령을 수신하면 구동부(132)가 동작하게 되고, 구동부(132)에 있는 구동 모터와 결합된 주행 정보 처리부(130)는 상기 주행부(130)의 직진이동량과 회전량을 연산한다(S1130). 이렇게 연산된 결과는 도 2에서 도시된 주행 상태 판별부(116)로 전달되고, 주행 상태 판별부(116)는 영상 정보 처리부(154)에서 수신한 직진 이동 거리 또는 회전 각도에 관한 정보와 주행 정보 처리부(134)로부터 수신한 연산 결과를 비교함으로써 시스템(100)의 주행 상태를 감지하게 된다. 이 때, 주행 정보 처리부(134)의 바람직한 실시예로서 엔코더(encoder)를 포함할 수 있다.
한편, 주행 정보 처리부(134)는 S1110 단계에서 설정된 주행 전 위치 및 방위각과 S1130 단계에서 연산된 직진이동량 및 회전량을 이용하여 위치와 방위각을 갱신하게 된다(S1150).
이하에서는, 주행 정보 처리부(134)가 주행부(130)의 직진이동량과 회전량을 연산하는 방법을 설명하도록 한다.
우선 사용자로부터 주행 이동 명령을 수신하기 전의 로봇의 위치를 (x, y, θ)라고 가정한다. 이 때, x, y 는 임의의 점을 원점으로 하는 평면 좌표를 나타내고, θ는 상기 로봇의 방위각을 나타낸다.
로봇이 주행을 시작한 후, 도 2에 도시된 구동부(132)에 있는 바퀴가 실제로 움직인 거리는 [수학식 4]와 [수학식 5]로서 나타낼 수 있는데, [수학식 4]는 왼쪽 바퀴가 실제로 움직인 거리를, [수학식 5]는 오른쪽 바퀴가 실제로 움직인 거리를 나타낸다.
Figure 112004025283008-pat00004
Figure 112004025283008-pat00005
이 때, 상기 NL,i 또는 NR,i 는 각각 상기 도 2에서 도시된 주행 정보 처리부(134)에 있는 엔코더(encoder)로부터 얻은 펄스(pulse)의 개수를 나타내고, ΔUL,i 와 ΔUR,i 는 NL,i 또는 NR,i 에 비례하여 좌우 바퀴가 실제로 이동한 거리를 나타낸다. 또한, Cm은 엔코더(encoder)로부터 얻은 펄스(pulse) 개수의 값을 실제로 바퀴가 움직인 거리로 환산하기 위한 상수값을 나타낸다. Cm은 [수학식 6]과 같이 나타낼 수 있다.
Figure 112004025283008-pat00006
이 때, Dn은 바퀴 지름을 나타내고, n은 엔코더(encoder)가 장착된 모터와 바퀴간의 기어 비(gear ratio)를 나타내고, Ce는 바퀴가 1회전할 때 발생하는 엔코더(encoder) 펄스(pulse)의 개수를 나타낸다.
따라서, 바퀴 중심의 평균 이동 거리는 [수학식 7]과 같이 나타낼 수 있고, 변환된 방위각은 [수학식 8]과 같이 나타낼 수 있다.
Figure 112004025283008-pat00007
Figure 112004025283008-pat00008
이 때, [수학식 8]은 주행부(130)가 왼쪽으로 회전하는 경우를 나타낸 것이고, b는 좌우 바퀴 사이의 거리를 나타낸다.
따라서, 주행 이동이 회전 이동인 경우에 갱신된 방위각은 [수학식 9]로 나타낼 수 있다.
Figure 112004025283008-pat00009
또한, 주행 이동이 직진 이동인 경우에 갱신된 x-y 좌표는 각각 [수학식 10]과 [수학식 11]으로 나타낼 수 있다.
Figure 112004025283008-pat00010
Figure 112004025283008-pat00011
도 12는 본 발명의 실시예에 따라 주행 상태를 보상하는 방법을 나타내는 처리 흐름도로서, 로봇이 직진 이동 명령을 수신하였는데 헛바퀴가 돌고 있음이 판명된 경우 정상적인 주행을 하기 위하여 현재의 주행 상태를 보상하는 과정을 나타내고 있다.
이러한 경우 우선 도 2에 도시된 제어부(110)에 포함된 보상부(114)는 주행부(130)의 구동부(132)로 하여금 후진하도록 한다(S1210). 그리고 나서, 정상 주행으로 복귀되었는지 여부를 판별하여(S1220) 만일 정상 주행으로 복귀되었다면 현재의 로봇 위치 및 방위각을 갱신한다(S1260).
만일 정상 주행으로 복귀되지 않은 경우 경우에는 보상부(114)는 구동부(132)로 하여금 좌측 또는 우측으로 회전하도록 하고(S1230), 만일 정상 주행으로 복귀되었다면 현재의 로봇 위치 및 방위각을 갱신한다(S1240, S1260).
만일 로봇을 좌우 회전시켰음에도 불구하고 정상 주행 상태로 복귀되지 않은 경우에는 보상부(114)는 구동부(132)의 동작을 정지시키고 경고음 등을 출력함으로써 사용자에게 주행 상태에 이상이 발생했음을 알려주게 된다.
한편, 만일 로봇이 회전 이동 명령을 수신하였는데 바퀴의 미끄러짐이 감지된 경우에는 상기 도 2에서 도시된 주행부(130)로부터 얻은 회전 각도 대신에 영상 수신부(150)로부터 얻은 회전 각도를 이용하여 로봇의 방위각을 계산하도록 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정하는 것은 아니다.
본 발명의 실시에 따라 이동 가능한 로봇이 직진 이동 또는 회전 이동을 할 때 발생할 수 있는 비주행상태를 효율적으로 감지하고, 비주행상태를 정상적인 주행 상태로 전환함으로써 로봇의 주행을 정상적으로 유지할 수 있는 효과가 있다.

Claims (16)

  1. 연속된 2개의 영상을 수신하고, 상기 수신한 영상들에 대한 각각의 이미지 정보로부터 제1 주행 정보를 추출하는 영상 수신부;
    상기 수신한 영상을 향한 방향과 수직이 되는 방향으로 이동하는 구동 장치와 연결되어 상기 구동 장치에 의한 이동에 관한 제2 주행 정보를 추출하는 주행 정보 처리부; 및
    상기 제1 주행 정보와 상기 제2 주행 정보로부터 주행 상태를 판별하는 제어부를 포함하는 주행 상태를 감지하는 시스템.
  2. 제1항에 있어서,
    상기 주행 정보는 이동 거리 정보를 포함하는 주행 상태를 감지하는 시스템.
  3. 제2항에 있어서,
    상기 제1 주행 정보는 상기 각각의 이미지 정보를 나타내는 값의 차이를 이용하여 직진 이동 상태를 나타내는 정보를 포함하고,
    상기 제2 주행 정보는 상기 구동 장치가 이동한 거리를 나타내는 적산 거리 정보를 포함하는데,
    상기 제어부는 상기 제1 주행 정보가 직진 이동이 수행되고 있지 않음을 나타내고, 상기 제2 주행 정보가 기설정된 기준값을 초과하는 경우에 주행 상태가 비정상적인 것으로 판단하는 주행 상태를 감지하는 시스템.
  4. 제3항에 있어서,
    상기 제어부는 주행 상태가 비정상적인 것으로 판단한 경우에 상기 구동 장치를 후진하게 하여 상기 주행 상태를 정상적으로 하는 주행 상태를 감지하는 시스템.
  5. 제3항에 있어서,
    상기 제어부는 주행 상태가 비정상적인 것으로 판단한 경우에 상기 구동 장치를 회전하게 하여 상기 주행 상태를 정상적으로 하는 주행 상태를 감지하는 시스템.
  6. 제1항에 있어서,
    상기 주행 정보는 회전 정보를 포함하는 주행 상태를 감지하는 시스템.
  7. 제6항에 있어서,
    상기 제1 주행 정보는 상기 영상 수신부가 수신한 연속된 2개의 영상을 각각 각도와 상기 각도 방향에 대한 거리를 좌표축으로 하는 극좌표 영상으로 변환하고, 상기 2개의 극좌표 영상 중 임의로 1개의 극좌표 영상을 선택하여 각도를 나타내는 축의 방향을 따라 이동하면서, 상기 2개의 극좌표 영상에 대한 각각의 이미지 정보를 나타내는 값의 차이를 계산하여 가장 작은 차이를 나타내는 값에 대응하는 각도 에 대한 정보를 포함하고,
    상기 제2 주행 정보는 상기 구동 장치의 회전 변위를 나타내는 정보를 포함하는데,
    상기 제어부는 상기 제1 주행 정보를 나타내는 값과 상기 제2 주행 정보를 나타내는 값의 차이가 기설정된 기준값을 초과하는 경우에 주행 상태가 비정상적인 것으로 판단하는 주행 상태를 감지하는 시스템.
  8. 제7항에 있어서,
    상기 제어부는 주행 상태가 비정상적인 것으로 판단한 경우에 상기 제1 주행 정보를 현재의 회전 각도로 설정하도록 하는 주행 상태를 감지하는 시스템.
  9. 연속된 2개의 영상을 수신하고, 상기 수신한 영상들에 대한 각각의 이미지 정보로부터 제1 주행 정보를 추출하는 단계;
    상기 수신한 영상을 향한 방향과 수직이 되는 방향으로 이동하는 구동 장치에 의한 이동에 관한 제2 주행 정보를 추출하는 단계; 및
    상기 제1 주행 정보와 상기 제2 주행 정보로부터 주행 상태를 판별하는 단계를 포함하는 주행 상태를 감지하는 방법.
  10. 제9항에 있어서,
    상기 주행 정보는 이동 거리 정보를 포함하는 주행 상태를 감지하는 방법.
  11. 제10항에 있어서,
    상기 제1 주행 정보는 상기 각각의 이미지 정보를 나타내는 값의 차이를 이용하여 직진 이동 상태를 나타내는 정보를 포함하고,
    상기 제2 주행 정보는 상기 구동 장치가 이동한 거리를 나타내는 적산 거리 정보를 포함하는데,
    상기 주행 상태를 판별하는 단계는 상기 제1 거리 정보가 직진 이동이 수행되고 있지 않음을 나타내고, 상기 제2 거리 정보가 기설정된 기준값을 초과하는 경우에 상기 주행 상태가 비정상적인 것으로 판단하는 단계를 포함하는 주행 상태를 감지하는 방법.
  12. 제11항에 있어서,
    상기 주행 상태를 판별하는 단계는 상기 주행 상태가 비정상적인 것으로 판단한 경우에 상기 구동 장치를 후진하게 하여 상기 주행 상태를 정상적으로 하는 단계를 포함하는 주행 상태를 감지하는 방법.
  13. 제11항에 있어서,
    상기 주행 상태를 판별하는 단계는 상기 주행 상태가 비정상적인 것으로 판단한 경우에 상기 구동 장치를 회전하게 하여 상기 주행 상태를 정상적으로 하는 단계를 포함하는 주행 상태를 감지하는 방법.
  14. 제9항에 있어서,
    상기 주행 정보는 회전 정보를 포함하는 주행 상태를 감지하는 방법.
  15. 제14항에 있어서,
    상기 제1 주행 정보를 추출하는 단계는,
    상기 수신한 연속된 2개의 영상을 각각 각도와 상기 각도 방향에 대한 거리를 좌표축으로 하는 극좌표 영상으로 변환하는 단계;
    상기 2개의 극좌표 영상 중 임의로 1개의 극좌표 영상을 선택하여 각도를 나타내는 축의 방향을 따라 이동시키면서 상기 2개의 극좌표 영상에 대한 각각의 이미지 정보를 나타내는 값의 차이를 계산하는 단계;
    상기 계산된 결과 중에서 가장 작은 결과값에 대응하는 각도에 대한 정보를 상기 제1 주행 정보로 설정하는 단계를 포함하고,
    상기 제2 주행 정보를 추출하는 단계는 상기 구동 장치의 회전 변위를 나타내는 정보를 상기 제2 주행 정보로 설정하는 단계를 포함하는데,
    상기 주행 상태를 판별하는 단계는 상기 제1 주행 정보를 나타내는 값과 상기 제2 주행 정보를 나타내는 값의 차이가 기설정된 기준값을 초과하는 경우에 주행 상태가 비정상적인 것으로 판단하는 단계를 포함하는 주행 상태를 감지하는 방법.
  16. 제15항에 있어서,
    상기 주행 상태를 판별하는 단계는 상기 주행 상태가 비정상적인 것으로 판단되는 경우에 상기 제1 주행 정보를 현재의 회전 변위에 대한 정보로 설정하는 단계를 포함하는 주행 상태를 감지하는 방법.
KR1020040042981A 2004-06-11 2004-06-11 주행 상태를 감지하는 시스템 및 방법 KR100763234B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040042981A KR100763234B1 (ko) 2004-06-11 2004-06-11 주행 상태를 감지하는 시스템 및 방법
US11/126,259 US8014900B2 (en) 2004-06-11 2005-05-11 System and method for detecting traveling state

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040042981A KR100763234B1 (ko) 2004-06-11 2004-06-11 주행 상태를 감지하는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20050117769A KR20050117769A (ko) 2005-12-15
KR100763234B1 true KR100763234B1 (ko) 2007-10-04

Family

ID=35461555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040042981A KR100763234B1 (ko) 2004-06-11 2004-06-11 주행 상태를 감지하는 시스템 및 방법

Country Status (2)

Country Link
US (1) US8014900B2 (ko)
KR (1) KR100763234B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101962890B1 (ko) * 2012-03-02 2019-08-01 현대모비스 주식회사 차량 센서 오프셋 보정 시스템 및 그 방법
US10339389B2 (en) * 2014-09-03 2019-07-02 Sharp Laboratories Of America, Inc. Methods and systems for vision-based motion estimation
JP6481347B2 (ja) * 2014-11-28 2019-03-13 村田機械株式会社 移動量推定装置、自律移動体、及び移動量の推定方法
CN107598927A (zh) * 2017-10-20 2018-01-19 苏州瑞得恩光能科技有限公司 太阳能面板清扫机器人直行判定装置及其判定方法
AU2018438158A1 (en) * 2018-08-28 2021-03-11 Techtronic Cordless Gp An autonomous lawn mower and a system for navigating thereof
JP7366364B2 (ja) * 2019-11-20 2023-10-23 株式会社竹中工務店 検出システム、及び検出プログラム
JP7431652B2 (ja) * 2020-04-24 2024-02-15 キヤノン株式会社 制御装置およびその制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166488A (ja) 1997-08-21 1999-03-09 Honda Motor Co Ltd 白線認識装置
KR20010112433A (ko) * 1999-04-16 2001-12-20 마츠시타 덴끼 산교 가부시키가이샤 화상처리장치 및 감시시스템
KR20020038819A (ko) * 1999-10-12 2002-05-23 마츠시타 덴끼 산교 가부시키가이샤 감시 시스템, 카메라 조정방법 및 차량감시 시스템
JP2003319382A (ja) 2002-04-24 2003-11-07 Nissan Motor Co Ltd 障害物検出装置及び方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6084610A (ja) * 1983-10-17 1985-05-14 Hitachi Ltd 誘導装置
US4706120A (en) * 1985-08-30 1987-11-10 Texas Instruments Incorporated Modular, vision system for automation of inspection and process control
US4789940A (en) * 1985-08-30 1988-12-06 Texas Instruments Incorporated Method and apparatus for filtering reflections from direct images for mobile robot navigation
US4887223A (en) * 1985-08-30 1989-12-12 Texas Instruments Incorporated Visual navigation system for a mobile robot having capabilities of regenerating of hidden images
JPS63314618A (ja) * 1987-06-17 1988-12-22 Nissan Motor Co Ltd 自律走行車両制御装置
US5051906A (en) * 1989-06-07 1991-09-24 Transitions Research Corporation Mobile robot navigation employing retroreflective ceiling features
JPH06105781A (ja) 1992-09-30 1994-04-19 Sanyo Electric Co Ltd 自走式掃除機
KR0161031B1 (ko) * 1993-09-09 1998-12-15 김광호 로보트의 위치오차보정장치
US5999866A (en) * 1996-11-05 1999-12-07 Carnegie Mellon University Infrastructure independent position determining system
US6130706A (en) * 1998-03-25 2000-10-10 Lucent Technologies Inc. Process for determining vehicle dynamics
IL149558A0 (en) * 1999-11-18 2002-11-10 Procter & Gamble Home cleaning robot
JP4672175B2 (ja) * 2000-05-26 2011-04-20 本田技研工業株式会社 位置検出装置、位置検出方法、及び位置検出プログラム
JP2002127059A (ja) * 2000-10-20 2002-05-08 Sony Corp 行動制御装置および方法、ペットロボットおよび制御方法、ロボット制御システム、並びに記録媒体
US6496754B2 (en) * 2000-11-17 2002-12-17 Samsung Kwangju Electronics Co., Ltd. Mobile robot and course adjusting method thereof
RU2220643C2 (ru) * 2001-04-18 2004-01-10 Самсунг Гванджу Электроникс Ко., Лтд. Автоматическое чистящее устройство, автоматическая чистящая система и способ управления этой системой (варианты)
JP3968501B2 (ja) * 2001-11-30 2007-08-29 ソニー株式会社 ロボットの自己位置同定システム及び自己位置同定方法
JP3945279B2 (ja) * 2002-03-15 2007-07-18 ソニー株式会社 障害物認識装置、障害物認識方法、及び障害物認識プログラム並びに移動型ロボット装置
KR100483548B1 (ko) * 2002-07-26 2005-04-15 삼성광주전자 주식회사 로봇 청소기와 그 시스템 및 제어 방법
AU2003256435A1 (en) * 2002-08-16 2004-03-03 Evolution Robotics, Inc. Systems and methods for the automated sensing of motion in a mobile robot using visual data
KR100493159B1 (ko) * 2002-10-01 2005-06-02 삼성전자주식회사 이동체의 효율적 자기 위치 인식을 위한 랜드마크 및 이를이용한 자기 위치 인식 장치 및 방법
KR100500842B1 (ko) * 2002-10-31 2005-07-12 삼성광주전자 주식회사 로봇청소기와, 그 시스템 및 제어방법
US7774158B2 (en) * 2002-12-17 2010-08-10 Evolution Robotics, Inc. Systems and methods for landmark generation for visual simultaneous localization and mapping
AU2003900861A0 (en) * 2003-02-26 2003-03-13 Silverbrook Research Pty Ltd Methods,systems and apparatus (NPS042)
JP4080932B2 (ja) * 2003-03-31 2008-04-23 本田技研工業株式会社 2足歩行ロボットの制御装置
KR20040086940A (ko) * 2003-04-03 2004-10-13 엘지전자 주식회사 이미지센서를 채용한 이동로봇 및 그의 이동거리 측정방법
JP2005103680A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 監視システムおよび監視ロボット
US7197388B2 (en) * 2003-11-06 2007-03-27 Ford Global Technologies, Llc Roll stability control system for an automotive vehicle using an external environmental sensing system
JP4319928B2 (ja) * 2004-03-09 2009-08-26 株式会社デンソー 車両状態検知システムおよび車両状態検知方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166488A (ja) 1997-08-21 1999-03-09 Honda Motor Co Ltd 白線認識装置
KR20010112433A (ko) * 1999-04-16 2001-12-20 마츠시타 덴끼 산교 가부시키가이샤 화상처리장치 및 감시시스템
KR20020038819A (ko) * 1999-10-12 2002-05-23 마츠시타 덴끼 산교 가부시키가이샤 감시 시스템, 카메라 조정방법 및 차량감시 시스템
JP2003319382A (ja) 2002-04-24 2003-11-07 Nissan Motor Co Ltd 障害物検出装置及び方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020020038819
15319382

Also Published As

Publication number Publication date
US20050278068A1 (en) 2005-12-15
KR20050117769A (ko) 2005-12-15
US8014900B2 (en) 2011-09-06

Similar Documents

Publication Publication Date Title
EP0847549B1 (en) Autonomous mobile robot system for sensor-based and map-based navigation in pipe networks
US11918175B2 (en) Control method for carpet drift in robot motion, chip, and cleaning robot
EP3466314A1 (en) Cleaning robot and method of surmounting obstacle
EP1868056B1 (en) Moving apparatus, method, and medium for compensating position of the moving apparatus
JP4173144B2 (ja) ロボット掃除機のジャイロセンサーの補正方法
JP5412985B2 (ja) 車両走行支援装置
US8634959B2 (en) Apparatus and method detecting a robot slip
US20040158358A1 (en) Method of teaching traveling path to robot and robot having function of learning traveling path
US20230202531A1 (en) Transitioning steering control from an autonomous vehicle to a driver
KR100871114B1 (ko) 이동로봇 및 그 동작방법
US8014900B2 (en) System and method for detecting traveling state
SE526719C2 (sv) Rengöringsrobot, rengöringsrobotsystem och metod att styra desamma
JP2007316799A (ja) 学習機能をもつ自律移動ロボット
JP2009123061A (ja) ロボット位置検出システム
US20220371579A1 (en) Driving assistance apparatus, vehicle, and driving assistance method
KR20130120307A (ko) 주행로봇 및 주행로봇의 제어방법
CN112379676A (zh) 循迹自走式机器人及其行走方法、空地式行进系统及其运行方法
US10241517B2 (en) Method for correcting a trajectory in a personal movement assistance device equipped with sensors
KR20080053085A (ko) 이동 로봇의 이동제어 시스템
CN114604235A (zh) 自动驾驶辅助系统
KR100635826B1 (ko) 이동로봇 위치추정 시스템과 그 방법
KR102366333B1 (ko) 로봇용 인공지능 플랫폼 제공 방법
EP4092576A2 (en) Learning device, learning method, and computer program product for training
CN117006986A (zh) 机器人的移位检测方法及装置、存储介质、电子设备
Peynot et al. A probabilistic framework to monitor a multi-mode outdoor robot

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E801 Decision on dismissal of amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20060831

Effective date: 20070730

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20120814

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150818

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160817

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190820

Year of fee payment: 13