KR20130073476A - 이동 장치 및 이동 장치의 위치 인식 방법 - Google Patents

이동 장치 및 이동 장치의 위치 인식 방법 Download PDF

Info

Publication number
KR20130073476A
KR20130073476A KR1020110141334A KR20110141334A KR20130073476A KR 20130073476 A KR20130073476 A KR 20130073476A KR 1020110141334 A KR1020110141334 A KR 1020110141334A KR 20110141334 A KR20110141334 A KR 20110141334A KR 20130073476 A KR20130073476 A KR 20130073476A
Authority
KR
South Korea
Prior art keywords
information
filter
node
walking robot
mobile device
Prior art date
Application number
KR1020110141334A
Other languages
English (en)
Other versions
KR101913332B1 (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 KR1020110141334A priority Critical patent/KR101913332B1/ko
Priority to JP2012280327A priority patent/JP6108818B2/ja
Priority to US13/723,459 priority patent/US9563528B2/en
Publication of KR20130073476A publication Critical patent/KR20130073476A/ko
Application granted granted Critical
Publication of KR101913332B1 publication Critical patent/KR101913332B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • 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/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Abstract

본 발명은 이동 장치 및 이동 장치의 위치 인식 방법에 관한 것으로, 각각 독립적으로 동작하는 복수의 로컬 필터(local filter)와, 각각의 로컬 필터를 통해 수행된 위치 인식의 결과를 융합하는 하나의 융합 필터(fusion filter)로 이루어지는 분산화된 필터 시스템을 이용하여 이동 장치의 위치 인식 동작을 수행하되, 분산화된 필터 시스템에 정확한 위상학적 절대 위치 정보를 추가적으로 적용함으로써 광역 공간에서의 이동 장치(주행 로봇과 보행 로봇, 휴대 가능한 이동 기기 등)의 위치 인식 성능(위치 인식의 정확성 및 수렴성)이 더욱 개선된 이동 장치 및 이동 장치의 위치 인식 방법을 제안하고자 한다. 이를 위해 본 발명에 따른 이동 장치는, 적어도 하나의 센서와; 적어도 하나의 센서의 검출 값을 이용하여 현재의 상대 위치 정보를 생성하는 적어도 하나의 제 1 분산 필터와; 적어도 하나의 센서의 검출 값을 이용하여 현재의 절대 위치 정보를 생성하는 적어도 하나의 제 2 분산 필터와; 제 1 분산 필터의 상대 위치 정보와 제 2 분산 필터의 절대 위치 정보를 융합하여 위치 인식을 수행하는 융합 필터를 포함한다.

Description

이동 장치 및 이동 장치의 위치 인식 방법{MOBILE APPARATUS AND LOCALIZATION METHOD OF MOBILE APPARATUS}
이동 장치에 장착된 복수의 센서를 통해 검출된 정보들을 이용하여 이동 장치 자신의 위치를 추정하는 위치 인식 방법에 관한 것이다.
위치 인식은 이동 장치가 스스로 공간 지각 능력을 가지는 기술로, 이동 장치의 자율 이동 기능 구현이나 증강 현실(Augmented Reality; AR) 구현 등에 핵심이 되는 기술이다. 여기서, 이동 장치는 인간이 조종하지 않고 인간의 눈에 해당하는 센서가 컴퓨터와 같은 판단 기능을 갖추고 있어 자립적으로 돌아다닐 수 있는 이동 로봇(로봇 청소기, 보행 로봇 등)이나 자율 이동 기능을 가지고 있지는 않지만 손에 들고 조작할 수 있을 정도의 작은 크기를 갖고 있어 인간이 휴대하고 이동하면서 조작할 수 있는 모바일 기기(휴대폰과 같은 이동 통신 기기 등) 등을 포함한다.
대부분의 위치 인식 기술은 바퀴를 가진 이동 로봇 분야에서 발전되어 왔다. 이러한 기술들은 칼만 필터(Kalman Filter) 또는 파티클 필터(Particle Filter)를 핵심 알고리즘으로 이용하는 단일 필터 구조를 가지며, 동시 자기 위치 인식 및 지도 작성(Simultaneous Localization And Mapping; SLAM)이라는 방식으로 구현된다. 예측(prediction) 단계와 갱신(update) 단계를 반복적으로 수행하여 이동 로봇의 위치를 추정하는데, 예측 단계에서는 로봇 이동 모델(Motion Model)을 이용하여 다음 단계에서의 위치를 예측하고, 갱신 단계에서는 센서의 정보를 받아들여 예측한 이동 로봇의 위치 정보를 갱신한다.
위치 인식 기술은 로봇 본체에 영상 센서(카메라)나 거리 센서(레이저 센서, 초음파 센서 등)를 장착하여 각각의 센서로부터 획득한 정보들을 동시에 처리하는 센서 융합 관련 연구가 주를 이루고 있다. 로봇은 카메라로부터 획득한 영상 정보로부터 추출한 특징 점이나 레이저 센서 등을 통해 검출된 거리 정보로부터 획득한 코너, 벽, 격자 지도 등을 자연 표식(natural landmark)으로 이용하여 자기 자신과 표식의 위치 정보를 동시에 추정한다.
일반적으로 다중 센서 융합을 통한 위치 인식 구현 시, 센서의 수가 증가하게 되면 위치 추정 정확도가 향상되는 특성이 있다. 단일 필터 구조를 가진 종래의 위치 인식 기술은 센서의 수가 증가하면 필터의 구조 및 구현 과정이 복잡해지며, 연산되는 정보가 하나의 필터에만 집중되어 필터의 정보 처리 부하가 증가한다. 특히, 갱신 단계에서는 장착된 센서의 수에 비례하여 측정 정보의 양이 증가하기 때문에, 필터의 연산량이 증가하고, 동작 속도가 느려지는 문제가 있다.
또한 단일 필터 구조에서는 필터가 오작동을 하거나 잘못된 센서 정보가 입력되는 경우에도 이를 방지할 수 있는 방안이 없기 때문에 필터가 외란(disturbance)에 취약해 질 수 밖에 없다. 그 결과 로봇의 위치 추정 결과도 쉽게 발산하게 된다. 일반적으로 한 번이라도 필터의 추정 값이 발산하면 원래 기능으로 복구하기가 어려우며, 영상 정보를 이용하여 로봇의 위치 인식을 수행하는 경우에는 Kidnap Recovery라는 별도의 기술을 구현하여 복구가 가능하지만 계산 및 구현 과정이 복잡하다는 문제가 있다.
각각 독립적으로 동작하는 복수의 로컬 필터(local filter)와, 각각의 로컬 필터를 통해 수행된 위치 인식의 결과를 융합하는 하나의 융합 필터(fusion filter)로 이루어지는 분산화된 필터 시스템을 이용하여 이동 장치의 위치 인식 동작을 수행하되, 분산화된 필터 시스템에 정확한 위상학적 절대 위치/자세 정보를 추가적으로 적용함으로써 광역 공간에서의 이동 장치(주행 로봇과 보행 로봇, 휴대 가능한 이동 기기 등)의 위치 인식 성능(위치 인식의 정확성 및 수렴성)이 더욱 개선된 이동 장치 및 이동 장치의 위치 인식 방법을 제안하고자 한다.
본 발명에 따른 이동 장치는, 적어도 하나의 센서와; 적어도 하나의 센서의 검출 값을 이용하여 현재의 상대 위치 정보를 생성하는 적어도 하나의 제 1 분산 필터와; 적어도 하나의 센서의 검출 값을 이용하여 현재의 절대 위치 정보를 생성하는 적어도 하나의 제 2 분산 필터와; 제 1 분산 필터의 상대 위치 정보와 제 2 분산 필터의 절대 위치 정보를 융합하여 위치 인식을 수행하는 융합 필터를 포함한다.
또한, 제 2 분산 필터는 이동 장치의 이동 공간 상에 미리 설정되어 있는 적어도 하나의 노드 검출을 통해 절대 위치 정보를 생성한다.
또한, 제 2 분산 필터는, 이동 장치의 위치/자세 정보를 예측하는 예측부와; 적어도 하나의 센서의 검출 값을 이용하여 이동 장치의 예측된 위치/자세 정보를 갱신하는 갱신부를 포함하고, 갱신된 위치/자세 정보를 융합 필터에 제공하여 융합 필터의 위치/자세 정보의 갱신에 반영하도록 한다.
또한, 위치/자세 정보의 예측은 주기적으로 수행하고; 위치/자세 정보의 갱신은 노드가 검출될 때마다 수행한다.
또한, 제 1 분산 필터는 상대적 위치 정보를 갱신할 때 융합 필터의 융합된 위치/자세 정보를 반영하고; 제 2 분산 필터는 절대적 위치 정보를 갱신할 때 융합된 위치/자세 정보를 배제한다.
또한, 이동 장치의 이동 공간 상에 미리 설정되어 있는 적어도 하나의 노드를 인식하고 노드 인식 결과와 미리 마련된 로컬 맵의 비교를 통해 노드 검출의 불확실성을 제거한 노드 검출 정보를 생성하여 제 2 분산 필터에 제공하는 전 처리부를 더 포함한다.
또한, 전 처리부는, 노드 인식을 위한 노드 인식부와; 노드 검출의 불확실성 제거를 위한 노드 매칭부를 포함한다.
또한, 로컬 맵을 저장하기 위한 저장부를 더 포함한다.
또한, 적어도 하나의 센서는 이동 장치의 이동 공간을 촬영하기 위한 카메라이다.
본 발명에 따른 이동 장치의 위치 인식 방법은, 적어도 하나의 제 1 분산 필터가 적어도 하나의 센서의 검출 값을 이용하여 현재의 상대 위치 정보를 생성하고; 적어도 하나의 제 2 분산 필터가 적어도 하나의 센서의 검출 값을 이용하여 현재의 절대 위치 정보를 생성하며; 융합 필터가 제 1 분산 필터의 상대 위치 정보와 제 2 분산 필터의 절대 위치 정보를 융합하여 위치 인식을 수행한다.
또한, 제 2 분산 필터는 이동 장치의 이동 공간 상에 미리 설정되어 있는 적어도 하나의 노드 검출을 통해 절대 위치 정보를 생성한다.
또한, 제 2 분산 필터는, 이동 장치의 위치/자세 정보를 예측하는 예측부와; 적어도 하나의 센서의 검출 값을 이용하여 이동 장치의 예측된 위치/자세 정보를 갱신하는 갱신부를 포함하고, 갱신된 위치/자세 정보를 융합 필터에 제공하여 융합 필터의 위치/자세 정보의 갱신에 반영하도록 한다.
또한, 위치/자세 정보의 예측은 주기적으로 수행하고; 위치/자세 정보의 갱신은 노드가 검출될 때마다 수행한다.
또한, 제 1 분산 필터는 상대적 위치 정보를 갱신할 때 융합 필터의 융합된 위치/자세 정보를 반영하고; 제 2 분산 필터는 절대적 위치 정보를 갱신할 때 융합된 위치/자세 정보를 배제한다.
또한, 전 처리부가 이동 장치의 이동 공간 상에 미리 설정되어 있는 적어도 하나의 노드를 인식하고 노드 인식 결과와 미리 마련된 로컬 맵의 비교를 통해 노드 검출의 불확실성을 제거한 노드 검출 정보를 생성하여 제 2 분산 필터에 제공하는 것을 더 포함한다.
또한, 전 처리부는, 노드 인식을 위한 노드 인식부와; 노드 검출의 불확실성 제거를 위한 노드 매칭부를 포함한다.
또한, 로컬 맵을 저장하기 위한 저장부를 더 포함한다.
또한, 적어도 하나의 센서는 이동 장치의 이동 공간을 촬영하기 위한 카메라이다.
제안된 이동 장치 및 그 위치 인식 방법에 의하면, 각각 독립적으로 동작하는 복수의 로컬 필터와, 각각의 로컬 필터를 통해 수행된 위치 인식의 결과를 융합하는 하나의 융합 필터로 이루어지는 분산화된 필터 시스템을 이용하여 이동 장치의 위치 인식 동작을 수행하되, 분산화된 필터 시스템에 정확한 위상학적 절대 위치 정보를 추가적으로 적용함으로써 광역 공간에서의 이동 장치의 위치 인식 성능(위치 인식의 정확성 및 수렴성, 속도 등)을 개선한다.
도 1은 본 발명의 실시 예에 따른 이동 장치의 일례인 보행 로봇의 외관 구성도이다.
도 2는 도 1에 도시된 보행 로봇의 주요 기구 및 관절 구조를 나타낸 도면이다.
도 3은 도 1에 도시된 보행 로봇의 제어 계통을 나타낸 블록도이다.
도 4는 도 3에 도시된 위치 인식부의 구성을 나타낸 도면이다.
도 7은 도 4에 도시된 제 1 로컬 필터를 이용한 보행 로봇의 위치 인식 방법을 도시한 흐름도이다.
도 8은 도 4에 도시된 제 2 로컬 필터를 이용한 보행 로봇의 위치 인식 방법을 도시한 흐름도이다.
도 9는 도 4에 도시된 제 3 로컬 필터를 이용한 보행 로봇의 위치 인식 방법을 도시한 흐름도이다.
도 10은 도 4에 도시된 제 4 로컬 필터를 이용한 보행 로봇의 위치 인식 방법을 도시한 흐름도이다.
도 11은 도 4에 도시된 제 5 로컬 필터를 이용한 보행 로봇의 위치 인식 방법을 도시한 흐름도이다.
도 12는 도 4에 도시된 융합 필터를 이용한 보행 로봇의 위치 인식 방법을 도시한 흐름도이다.
도 13은 본 발명의 실시 예에 따른 이동 장치의 위치 인식 방법을 도시한 흐름도이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시 예를 상세하게 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 이동 장치의 일례인 보행 로봇의 외관 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시 예에 따른 이동 장치의 일례인 보행 로봇(10)은 인간과 마찬가지로 두 개의 다리(16L, 16R)에 의해 직립 이동하는 이족 보행 로봇으로, 머리(12), 몸통(13), 두 개의 팔(14L, 14R)로 이루어진 상체(11)와, 두 개의 다리(16L, 16R)로 이루어진 하체(15)를 가진다. 머리(12)에서 인간의 눈의 형상을 가진 기구부에는 이동 공간의 주위를 촬영하기 위한 카메라(120)가 장착된다.
참조 부호에서, 숫자 뒤에 오는 문자 "R"과 "L"은 각각 보행 로봇(10)의 왼쪽(left)과 오른쪽(right)을 나타낸다.
본 발명의 실시 예에서는 이동 장치로서 이족 보행 로봇을 예로 들어 설명하였으나, 이외에도 가정에서의 청소 로봇, 공공장소용 서비스 로봇, 생산 현장에서의 반송 로봇, 작업자 지원 로봇 등 다양한 형태의 이동 로봇 및 자율 이동 기능을 가지고 있지는 않지만 인간이 휴대하고 이동하면서 조작할 수 있는 모바일 기기(휴대폰과 같은 이동 통신 기기 등)에 대해 본 발명이 적용될 수 있다.
도 2는 도 1에 도시된 보행 로봇의 주요 기구 및 관절 구조를 나타낸 도면이다.
도 2에 도시된 바와 같이, 보행 로봇(10)의 머리(12)에는 이동 공간의 주위를 촬영하는 카메라(120)가 설치된다.
머리(12)는 목 관절부(17)를 통해 상체(11)의 몸통(13)과 연결된다. 몸통(13), 두 개의 팔(14L, 14R) 및 두 개의 다리(16L, 16R)에는 어깨 관절부(18), 팔꿈치 관절부(19), 손목 관절부(20), 허리 관절부(21), 힙 관절부(22), 무릎 관절부(23), 발목 관절부(24) 등 복수의 관절부가 설치된다. 각 관절부(18)(19)(20)(21)(22)(23)(24)에는 자유도(degree of freedom; 관절이 움직이는 방향의 수)에 따라 한 개 내지 세 개의 회전 관절(25)을 포함한다. 예를 들어, 힙 관절부(22)는 요우 방향(yaw, Z축 중심 회전)의 회전 관절(25)과, 피치 방향(pitch, Y축 중심 회전)의 회전 관절(25)과, 롤 방향(roll, X축 중심 회전)의 회전 관절(25)을 포함하여 3 자유도를 가진다. 각 관절부(18)(19)(20)(21)(22)(23)(24)는 링크(L; 도 2에서 직선으로 도시된 구조)에 의해 연결된다.
상체(11)의 하측에 설치되는 허리 관절부(21)에는 상체(11)를 지지하기 위한 골반(26)이 연결된다. 골반(26)은 펠비스 링크(27)를 통해 힙 관절부(22)에 연결된다. 펠비스 링크(27)에는 보행 로봇(10)의 자세 정보(각도 정보)를 검출하기 위한 관성 센서(Inertial Measurement Unit; IMU, 130)가 설치된다. 관성 센서(130)는 중력 방향과 관성계에 대해 펠비스 링크(27)의 상대적 각도를 검출하여 롤 방향, 피치 방향, 요우 방향의 자세 정보(각도 정보)를 발생시킨다. 이 관성 센서(130)는 펠비스 링크(27) 뿐만 아니라 몸통(13), 머리(12) 등에 설치하는 것도 가능하다.
도 2에 도시되어 있지는 않지만, 보행 로봇(10)의 각 관절부(18)(19)(20)(21)(22)(23)(24)에는 동력(전기, 유압)에 의해 각 회전 관절(25)을 구동하는 모터 등의 액추에이터(도 3의 "구동부"에 해당)와, 각 액추에이터의 회전 각도 즉, 각 회전 관절(25)의 회전 각도를 검출하는 엔코더(도 3의 110)가 설치된다. 보행 로봇(10)의 동작 전반을 제어하는 제어부(도 3의 200)는 이러한 액추에이터들을 적절히 제어함으로써 보행 로봇(10)의 다양한 동작을 구현할 수 있다.
도 3은 도 1에 도시된 보행 로봇의 제어 계통을 나타낸 블록도이다.
도 3에 도시된 바와 같이, 본 발명의 실시 예에 따른 이동 장치의 일례인 보행 로봇(10)의 제어 계통은 센서 모듈(100), 제어부(200), 저장부(400) 및 구동부(450)를 포함한다.
센서 모듈(100)은 보행 로봇(10)에 관한 정보 및 이동 공간에 관한 정보를 검출하기 위한 복수의 센서(110)(120)(130)를 포함하여 이루어진다. 센서 모듈(100)은 보행 로봇(10)의 보행과 관련된 회전 관절의 회전 각도 정보를 획득하기 위한 엔코더(110, encoder), 보행 로봇(10)이 보행하고 있는 이동 공간의 주변을 촬영하기 위한 카메라(120), 보행 로봇(10)의 자세 정보(각도 정보)를 검출하기 위한 관성 센서(130) 등의 다양한 센서들을 포함할 수 있다.
센서 모듈(100)에서, 엔코더(110)는 힙 관절부(22), 무릎 관절부(23) 및 발목 관절부(24)에 마련된 각 회전 관절(25)을 회전 구동하기 위해 설치된 액추에이터(구동부)의 회전 각도를 검출한다.
센서 모듈(100)에서, 카메라(120)는 피사체로부터 반사되는 빛을 검출하고, 이를 디지털 신호로 변환하여 이동 공간 주변의 영상 정보를 획득한다. 카메라(120)로는 CCD(charge-coupled device) 카메라, CMOS(complementary metal oxide) 카메라, TOF(Time of Flight) 카메라 등이 이용될 수 있으며, 이외에도 보행 로봇(10)이 보행하는 경로 상에 위치하는 물체에 대한 영상 정보를 획득할 수 있는 장치라면 어떠한 장치라도 사용 가능함은 물론이다.
센서 모듈(100)에서, 관성 센서(130)는 보행 로봇(10)의 가속도, 속도, 방향(각도) 등 다양한 항법 관련 정보를 측정하기 위한 것으로, 펠비스 링크(27)의 롤 방향, 피치 방향, 요우 방향의 기울기 및 회전 각도를 측정한다. 관성 센서(130)는 보행 로봇(10)의 각도를 측정하는 기울기 센서와, 각속도를 측정하는 각속도 센서를 포함한다. 여기서, 기울기 센서로는 가속도계가 이용되고 각속도 센서로는 레이트 자이로스코프(rate-gyroscope)가 이용된다.
제어부(200)는 보행 로봇(10)의 동작 전반을 제어하며, 제 1-5 전 처리부(210~250) 및 위치 인식부(300)를 포함한다.
제 1-5 전 처리부(210~250)는 엔코더(110), 카메라(120) 및 관성 센서(13)로부터 전달되는 검출 정보들(회전 각도 정보, 영상 정보, 관성 검출 정보)에 대해 연산 처리(preprocessing)를 수행하여 보행 로봇(10)의 위치 인식을 위해 필요한 측정 정보(measured data)를 산출하고, 산출된 측정 정보를 위치 인식부(300)에 제공한다.
위치 인식부(300)는 제 1-5 전 처리부(210~250)로부터 제공된 각종 정보를 이용하여 보행 로봇(10) 자신의 위치 및 자세를 추정한다. 위치 인식부(300)의 구성에 대해서는 후술하는 도 4를 참조하여 상세하게 설명하기로 한다.
저장부(400)는 보행 로봇(10)이 위치 인식을 수행하기 위해 필요로 하는 사전 정보 및 위치 인식의 수행 결과를 저장하기 위한 것으로, 저장부(400)에는 링크(관절부와 관절부 사이를 연결하는 기구 구조)의 기구 정보(길이 정보), 보행 로봇(100)의 보행 과정에서 복수의 알고리즘(복수의 필터)을 이용하여 산출되는 보행 로봇(10)의 위치 인식 결과(표식의 위치 정보, 보행 로봇의 위치/자세 정보) 및 복수의 알고리즘 중 특히 SLAM 알고리즘을 이용하여 작성되는 이동 공간(작업 공간)에 대한 로컬 맵 등이 저장된다.
본 발명의 실시 예에서는 위치 인식을 수행하기 위해 필요로 하는 사전 정보 및 위치 인식의 수행 결과를 저장하기 위한 저장부(400)가 별도로 마련되는 구성을 예로 들어 설명하였으나, 저장부(400)의 구성을 채용하지 않고 제어부(200) 내의 내부 메모리에 위치 인식을 위한 사전 정보 등을 저장하도록 구성할 수도 있다.
구동부(450)는 각 관절부(18)(19)(20)(21)(22)(23)(24)를 이루는 각 회전 관절(25)에 전기 또는 유압에 의한 동력을 전달하기 위한 모터 등의 액추에이터로, 제어부(200)로부터 전달되는 제어 신호에 따라 각 관절부(18)(19)(20)(21)(22)(23)(24)의 각 회전 관절(25)을 회전 구동한다.
이하에서는 도 4를 참조하여 도 3에 도시된 위치 인식부(300)의 구성을 상세하게 설명하도록 한다. 도 4는 도 3에 도시된 위치 인식부의 구성을 나타낸 도면이다.
도 4에 도시된 바와 같이, 위치 인식부(300)는 복수의 제 1-5 필터(310~350)로 이루어진 분산화된 필터 시스템(distributed filter system)의 구조를 갖는다. 도 4에서 제 1-4 로컬 필터(310)(320)(330)(340)는 “현재의 상대 위치 정보를 생성하는 적어도 하나의 제 1 분산 필터”로 구분할 수 있고, 제 5 로컬 필터(350)는 “현재의 절대 위치 정보를 생성하는 적어도 하나의 제 2 분산 필터”로 구분할 수 있으며, 융합 필터(360)는 이와 같은 제 1 분산 필터(즉, 제 1-4 로컬 필터(310)(320)(330)(340))의 상대 위치 정보와 제 2 분산 필터(즉, 제 5 로컬 필터(350))의 절대 위치 정보를 융합하여 지속적이고 강성한 위치 인식을 수행한다.
본 발명의 실시 예에서, 위치 인식부(300)는 제 1-5 로컬 필터(310~350) 및 하나의 융합 필터(360)를 포함하여 이루어진다. 제 1-5 로컬 필터(310~350) 및 하나의 융합 필터(360)는 독립적으로 동작하기 때문에, 보행 로봇(10)의 위치 인식을 수행하게 되면 제 1-5 로컬 필터(310~350) 및 하나의 융합 필터(360) 각각으로부터 위치 인식 결과를 획득할 수 있다. 제 1-5 로컬 필터(310~350) 및 하나의 융합 필터(360) 중에서, 제 5 로컬 필터(350)를 제외한 나머지 제 1-4 로컬 필터(310)(320)(330)(340) 및 융합 필터(360)는 각각 예측부(312)(322)(332)(342)(362), 갱신부(314)(324)(334)(344)(364) 및 동화부(316)(326)(336)(346)(366)를 가지며, 보행 로봇(10)의 이동이 정지될 때까지 반복적으로 예측(prediction), 갱신(update), 동화(assimilation)를 수행한다. 제 5 로컬 필터(350)는 예측부(352)와 갱신부(354)로 구성되며, 제 5 로컬 필터(350)는 동화부를 갖지 않는다.
제 1-5 로컬 필터(310)(320)(330)(340)(350) 및 융합 필터(360)의 각 예측부(312)(322)(332)(342)(352)(362)는 이전 갱신 단계에서 추정(인식)된 보행 로봇(10)의 위치/자세 정보로부터 보행 로봇(10)의 새로운 위치/자세 정보를 예측한다.
제 1-5 로컬 필터(310)(320)(330)(340)(350)의 각 갱신부(314)(324)(334)(344)(354)는 센서 모듈(100)의 검출 정보를 이용하여 예측 단계에서 예측된 보행 로봇(10)의 위치/자세 정보를 갱신한다. 또한 융합 필터(360)의 갱신부(364)는 제 1-5 로컬 필터(310)(320)(330)(340)(350)의 각 갱신부(314)(324)(334)(344)(354)로부터 전달되는 보행 로봇(10)의 위치 인식 결과(갱신된 위치/자세 정보)들을 융합하고, 융합된 정보를 이용하여 예측 단계에서 예측된 보행 로봇(10)의 위치/자세 정보를 갱신한다.
제 1-4 로컬 필터(310)(320)(330)(340)의 각 동화부(316)(326)(336)(346)는 갱신 단계에서 갱신된 보행 로봇(10)의 위치/자세 정보에 융합 필터(360)의 갱신부(364)로부터 전달된 보행 로봇(10)의 위치 인식 결과(갱신된 위치/자세 정보)를 반영한다. 단, 제 5 로컬 필터(350)는 동화부를 갖지 않고, 따라서 동화 과정을 수행하지 않는다. 위상학적 노드 정보를 다루는 제 5 로컬 필터(350)에서, 예측 과정은 주기적으로 수행되지만, 갱신 과정은 노드가 검출되었을 경우에만 수행된다. 절대적 위치 정보를 이용하는 제 5 로컬 필터(350)의 경우, 상대적 위치 정보를 이용하는 나머지 제 1-4 로컬 필터(310)(320)(330)(340)보다 위치 인식의 정확도 및 정보의 질이 더 뛰어나기 때문에, 다른 위치/자세 인식 정보와의 동화 과정은 오히려 제 5 로컬 필터(350)의 절대 위치/자세 정보의 일관성(consistency)을 떨어뜨리는 요인이 될 수 있기 때문이다. 융합 필터(360)의 동화부(366)는 예측 단계에서 예측된 보행 로봇(10)의 위치/자세 정보에 제 1-4 로컬 필터(310)(320)(330)(340)의 각 갱신부(314)(324)(334)(344)로부터 전달되는 보행 로봇(10)의 갱신된 상대 위치/자세 정보와 제 5 로컬 필터(350)의 갱신부(354)로부터 전달되는 보행 로봇(10)의 갱신된 절대 위치/자세 정보를 융합한다.
즉, 제 1-5 로컬 필터(310)(320)(330)(340)(350)는 각 센서(110)(120)(130)의 검출 정보를 이용하여 갱신된 보행 로봇(10)의 위치/자세 정보를 융합 필터(360)에 전달하고, 융합 필터(360)는 전달된 보행 로봇(10)의 위치/자세 정보들을 융합/갱신하여 제 1-4 로컬 필터(310)(320)(330)(340)로 피드백하는 과정을 수행한다. 제 5 로컬 필터(350)에는 융합 필터(360)의 갱신된 위치/자세 정보가 피드백되지 않는다.
이하에서는 제 5 로컬 필터(350)를 제외한 나머지 제 1-4 로컬 필터(310)(320)(330)(340)의 공통적인 동작 과정에 대해 설명하기로 한다. 본 발명의 실시 예에서는 제 1-4 로컬 필터(310)(320)(330)(340)가 칼만 필터(Kalman filter)로 이루어지는 경우를 예로 들어 설명하기로 한다.
제 1-4 로컬 필터(310)(320)(330)(340)는 융합 필터(360)와는 구조적으로 독립적인 형태를 이루고 있으며, 사용하는 센서(110)(120)(130)의 종류 및 센서(110)(120)(130)를 통해 검출된 정보의 처리 방식이 서로 다를 수 있다. 제 1-4 로컬 필터(310)(320)(330)(340)는 보행 로봇(10)의 위치/자세 정보를 추정하기 위한 상태 변수(xL(k|k))로 전역 좌표계(world coordinate)에 대한 3차원 위치( r ), 3차원 자세(quaternion, q ), 3차원 선형 속도( v ), 로봇 좌표계(Body coordinate)에 대한 3차원 각속도( w )를 가진다.
공통적으로 제 1-4 로컬 필터(310)(320)(330)(340)의 예측(prediction) 단계에서는 추정 상태 변수에 기반을 둔 등속도 운동 모델(constant velocity model)을 이용하여 갱신(update) 단계에서 센서 정보(보다 자세하게는 측정 정보)와 융합(fusion)하기 전에 현재의 상태 변수를 아래의 [수학식 1]과 같이 모델링 한다.
[수학식 1]
Figure pat00001
여기서, nv는 속도의 노이즈 성분이고, nw는 각속도의 노이즈 성분이다.
제 1-4 로컬 필터(310)(320)(330)(340)의 갱신(update) 단계에서는 각 센서(110)(120)(130)의 검출 정보들에 대한 전 처리를 통해 획득한 측정 정보 z(k)와 예측 단계에서 구한 상태 변수 xL(k|k-1)를 이용하여 산출한 예측 관측값 h(k)를 이용하여 칼만 필터 업데이트(Kalman Filter Update)를 수행한다. 예측된 보행 로봇(10)의 위치/자세 정보에 대한 갱신이 이루어진 이후에는 아래의 [수학식 2] 및 [수학식 3]과 같이 인포메이션 필터(information filter)에 대한 입력 형태로 융합 필터(360)에 필요한 정보를 전달한다.
[수학식 2]
Figure pat00002
[수학식 3]
Figure pat00003
여기서, H(k)는 예측 측정 정보 h(k)의 자코비안 행렬(Jacobian matrix)이며, R(k)는 측정 정보 z(k)의 불확실성을 표현하는 공분산 행렬(covariance matrix)을 의미한다.
센서 모듈(100)로부터 검출 정보가 입력될 때마다 기본적으로 이 두 과정(예측과 갱신)이 반복적으로 수행되며, 융합 필터(360)로부터 위치 인식 결과(갱신된 보행 로봇의 상대 위치/자세 정보)의 입력이 있는 경우, 동화(assimilation) 단계에서는 제 1-4 로컬 필터(310)(320)(330)(340)의 갱신 단계에서 갱신된 보행 로봇(10)의 상대 위치/자세 정보에 융합 필터(360)의 위치 인식 결과(갱신된 보행 로봇의 위치/자세 정보)를 갱신 단계에서와 유사한 칼만 필터 업데이트(Kalman Filter Update)를 사용하여 반영한다. 이는 독립적으로 구동되는 제 1-4 로컬 필터(310)(320)(330)(340)에 다른 센서의 검출 정보가 반영됨으로써 각각의 센서가 다른 센서의 검출 정보를 공유하는 것을 의미한다. 이로써 각각의 센서는 다른 센서의 검출 정보를 통해 자신의 검출 정보를 보완할 수 있으므로, 전체 필터 시스템(300)의 위치 추정 정확도는 크게 향상될 수 있다.
도 5는 도 4에 나타낸 제 5 전 처리부(250)의 구성을 나타낸 도면이다. 제 5 전 처리부(250)는 카메라(120) 및 관성 센서(13)로부터 전달되는 검출 정보들(회전 각도 정보, 영상 정보, 관성 검출 정보)에 대해 연산 처리(preprocessing)를 수행하여 보행 로봇(10)의 이동 공간 상에 설정되어 있는 노드(Node)(도 6의 설명 참조)를 검출한다. 노드(A-E)의 검출을 위해 제 5 전 처리부(250)는 노드 인식부(252)와 노드 매칭부(254)를 포함한다. 노드 인식부(252)는 카메라(120)로부터 전달되는 검출 정보(영상 정보)를 분석하여 보행 로봇(10)의 이동 공간 상에 미리 설정되어 있는 노드를 인식한다. 노드 매칭부(254)는 노드 인식 결과에 포함될 수 있는 불확실성을 제거하여 노드 인식률을 높이기 위한 것이다.
도 6을 참조하여 본 발명의 실시 예에 따른 노드 인식 방법을 좀 더 구체적으로 설명하면 다음과 같다. 도 6은 본 발명의 실시 예에 따른 노드 설정 상태를 나타낸 도면이다. 노드 인식은 현재 영상에서 추출한 특징 점 정보를 이용하여 저장부(400)에 저장되어 있는 로컬 맵 상의 특징 점 정보와 비교하는 것을 의미한다. 이 때, 대응되는 특징 점의 수가 많은 노드를 결정하여 보행 로봇(10)의 현재 위치에 인접한 노드를 판단한다.
본 발명의 실시 예에서는 융합 필터(360)에 절대 위치 인식 정보를 제공하기 위해 도 6과 같이 보행 로봇(10)의 이동 공간 상의 일정 지점을 노드(A-E)로 설정한다. 노드(A-E)는 복도의 교차로나 모서리와 같은 구조적 특징을 가지는 지점이나 다양한 시각 정보를 포함하는 시각적 특징을 가지는 지점 또는 보행 로봇(10)의 이동 시 정확한 위치 정보를 필요로 하는 지점 등으로 지정할 수 있다. 주어진 건물의 설계도 혹은 평면도로부터 광역 원점 좌표계에 대한 노드 좌표계의 위치를 정할 수 있으며, 이로부터 절대 위치 정보가 포함된 노드로 구성되는 위상학적 지도를 구축할 수 있다. 결정된 각각의 노드(A-E)에서, 노드 인식 및 매칭을 위해 시각 센서 기반 SLAM 알고리즘을 이용하여 영상 정보에서 추출한 특징 점의 3차원 위치와 보행 로봇(10)의 3차원 위치/자세 정보를 동시에 추정한다. 보행 로봇(10)의 이동 공간 상의 어느 한 지점을 노드 원점(O1)으로 정하고, 이 노드 원점(O1)을 중심으로 카메라(120)를 이동시켜서 카메라(120)를 통해 확보되는 영상 정보로부터 위치 인식에 필요한 특징 점을 추출한다. 추출된 특징 점 정보는 제 5 로컬 필터(350)의 상태 변수로 등록이 되고, 확률적인 필터 기법을 통해 지속적으로 특징 점 위치와 카메라 위치/자세 정보를 추정한다. 이와 같은 시각 센서 기반 SLAM 알고리즘의 결과물로서 얻은 노드(A-E) 주변의 특징 점들로 구성된 로컬 맵은 저장부(400)에 저장된다. 만약 3차원 점 구름 데이터(3D Point Cloud Data)를 얻을 수 있는 카메라(예를 들면 스테레오 카메라 또는 TOF 카메라 등)를 사용하는 경우에는 특징 점과 점 구름 데이터로 구성되는 3차원 지도를 노드 정보로서 추가적으로 활용할 수 있다.
노드 검출 방법은 노드 인식(Node Recognition)과 노드 매칭(Node Matching) 두 과정으로 이루어진다. 노드 검출 방법의 첫 번째 과정인 노드 인식은 카메라(120)를 통해 확보한 영상으로부터 추출한 특징 점 정보를 저장부(400)에 저장되어 있는 특징 점 정보와 비교하는 것이다. 이 비교를 통해 대응되는 특징 점의 수가 많은 노드를 인식할 수 있다.
노드 검출 방법의 두 번째 과정인 노드 매칭은 인식한 노드 좌표계 내에서 로봇의 자세(위치 및 방향)를 결정하는 과정이다. 노드를 포함하는 로컬 맵 내의 특징 점은 노드 좌표계 내에서 3차원 위치와 대응되는 불확실성 정보(Covariance)를 가지고 있다. 노드 매칭 과정에서, 각각의 매칭되는 특징 점 사이의 관계를 이용하면 노드 좌표계 내에서의 보행 로봇(10)의 3차원 자세와 대응되는 불확실성 정보를 계산할 수 있으며, 이를 위해 아래의 [수학식 4]가 사용된다.
[수학식 4]
Figure pat00004
[수학식 4]는 노드 검출 결과로서 얻은 노드의 지역 좌표계에 대한 보행 로봇(10)의 3차원 자세(O1xv)와 불확실성 정보(O1Pv)를 나타낸 것으로서, O1rv는 보행 로봇(10)의 3차원 위치(x, y, z)이고, O1qv는 보행 로봇의 3차원 자세(각도) 정보(quaternion)이다.
이와 같은 과정을 통해 구한 노드 좌표계에 대한 보행 로봇(10)의 위치는 아래의 [수학식 5]를 이용하여 위상학적 지도 정보로부터 광역 원점 좌표계에 대한 위치로 변환 가능하며, 위상학적 노드의 관측 정보로서 융합 필터(360)에 전달된다.
[수학식 5]
Figure pat00005
[수학식 5]는 [수학식 4]의 값을 전체 이동 공간의 원점 좌표계에 대해 3차원 자세(Gxv)로 변환한 것으로서, Grv는 원점 좌표계에 대한 로봇의 3차원 위치이고, Gqv는 3차원 각도 정보이며, R()는 3차원 자세(각도) 정보(quaternion)을 회전 매트릭스(Rotational Matrix)로 변환해주는 함수이고, x 연산자는 각도 변환 연산(quaternion product)을 의미하며, F는 야코비안(Jacobian) 변환을 나타낸다.
제 5 로컬 필터(350)에서 취급되는 위상학적 노드 정보는 공간 상에 분포 되어 있기 때문에 갱신을 위한 노드 인식 정보의 빈도수가 적고 일정 주기마다의 샘플링도 불가능하다. 따라서 제 1-4 로컬 필터(310)(320)(330)(340)와는 다르게, 추정을 하기 위한 상태 변수 xL(k|k)로서 광역 원점 좌표계에 대한 3차원 위치( r) 및 3차원 자세(quaternion, q)만을 갖는다.
추정 상태 변수로는 속도 성분을 구할 수 없기 때문에, 추정 상태 변수에 기반을 둔 절대 위치 모델(Constant Position Model)을 사용하여 갱신 과정에서 노드 정보와 융합(Fusion)하기 전에 현재의 상태 변수를 [수학식 6]과 같이 모델링한다. 이 과정은 제 5 로컬 필터(350)의 예측(Prediction) 단계에서 노드 정보의 갱신과 상관없이 일정 시간마다 주기적으로 수행된다.
[수학식 6]
Figure pat00006
[수학식 6]은 절대 위치 모델(Constant Position Model)을 이용하여 위치/자세를 추정하는 과정을 나타낸 수식으로서, XL(k|k-1)은 위상학적 정보(Topological Information)를 처리하는 제 5 로컬 필터의 상태 변수(state)를 나타내며, 3차원 위치(r)와 3차원 자세(quaternion, q)로 구성된다. 즉, 이전 단계(k-1)에서의 상태 변수를 그대로 유지하면서, 노이즈 성분만을 반영한다. [수학식 6]에서, nr은 속도의 노이즈 성분이고, nΘ는 각속도의 노이즈 성분이다.
제 5 로컬 필터의 갱신 과정에서는, 노드 검출을 통해 얻은 측정 정보 z(k)(아래의 [수학식 7] 참조)와 예측 과정에서 구한 상태 변수 xL(k|k-1)를 이용하여 얻은 예측 관측 정보 h(k)(아래의 [수학식 8] 참조)를 이용하여 칼만 필터 갱신(Kalman Filter Update)을 수행한다.
[수학식 7]
Figure pat00007
[수학식 7]은 갱신을 수행하기 위해 [수학식 5]에서 구한 정보를 z(k), R(k)에 대입한 것이다.
[수학식 8]
Figure pat00008
[수학식 8]은 예측된 상태 변수 정보(r(k|k-1), q(k|k-1))와 기준으로 정한 이전 단계에서 추정된 상태 변수 값(r_ref(k-1|k-1), q_ref(k-1|k-1))을 이용하여 예측 관측 값(h(k))구하는 것을 나타낸 것이다.
위상학적 노드 정보를 다루는 필터 모듈은 광역 원점 좌표계에 대한 절대 위치 및 방향 값을 이용하여 갱신을 수행한다. 그러나 3차원 자세(quaternion, q)의 비선형성으로 인해 직접적인 칼만 필터 갱신의 적용이 어려우므로, 이전 단계에서 추정된 상태 변수 값을 기준으로 정하여 그 값에 대한 변화량을 아래의 [수학식 9] 및 [수학식 10]과 같이 구하여 로드리게스 회전 공식(Rodrigues' rotation formula) 형태로 변환한 뒤 갱신 과정을 수행한다.
[수학식 9]
Figure pat00009
[수학식 10]
Figure pat00010
[수학식 9]와 [수학식 10]은 h(k)의 구성 요소인 Δr, Δq를 계산하기 위한 것으로, R(-1)(qref)는 3차원 위치/자세 정보(quaternion)를 회전 매트릭스(Rotational Matrix)로 변환하는 함수의 역함수이다.
갱신이 완료되면, 제 1-4 로컬 필터(310)(320)(330)(340)와 마찬가지로, 앞서 언급한 [수학식 2] 및 [수학식 3]과 같이 인포메이션 필터(information filter)에 대한 입력 형태로 융합 필터(360)에 필요한 정보를 전달한다.
이하에서는 도 7 내지 도 11을 참조하여 제 1-5 로컬 필터(310)(320)(330)(340)(350)를 이용하여 보행 로봇(10)의 위치를 인식하는 과정을 설명하도록 한다.
<제 1 로컬 필터(310)의 동작>
도 7은 도 4에 도시된 제 1 로컬 필터(310)를 이용한 보행 로봇(10)의 위치 인식 방법을 도시한 흐름도이다.
제 1 로컬 필터(310)는 보행 로봇(10)의 위치 인식을 수행하기 위한 센서로서 엔코더(110)를 사용하고, 보행 로봇(10)의 오도메트리(odometry) 정보를 이용하여 예측된 보행 로봇(10)의 위치/자세 정보를 갱신한다. 설명의 편의상, 제 1 로컬 필터(310)를 오도메트리 필터로 정의하기로 한다.
본 발명의 실시 예의 동작 설명을 위한 초기 조건으로서, 저장부(400)에는 보행 로봇(10)이 위치 인식을 수행하기 위한 사전 정보로서, 보행 로봇(10)의 링크(관절부와 관절부 사이를 연결하는 기구 구조)의 기구 정보(길이 정보)가 미리 저장되어 있는 것을 전제한다. 또한 시간적 선후 관계와 관련하여 이하에서 기술하는 이전 단계는 k-1로, 이전 단계의 다음 단계(현재 단계라고 표시될 수도 있음)는 k로 표시하기로 한다.
도 7에 도시된 바와 같이, 제 1 로컬 필터(310)의 예측부(312)는 이전 갱신 단계(k-1)에서 추정(인식)된 보행 로봇(10)의 위치/자세 정보에 융합 필터(360)의 위치 인식 결과가 반영된 새로운 보행 로봇(10)의 위치/자세 정보로부터 보행 로봇(10)의 다음 단계(k)의 위치/자세 정보를 예측한다(710). 이 과정은 위치 인식 알고리즘의 예측(prediction) 단계에 해당한다.
다음으로, 제 1 전 처리부(210)는 엔코더(110)로부터 보행 로봇(10)의 보행과 관련된 관절부를 이루는 회전 관절의 회전 각도 정보를 획득한다(720).
이후, 제 1 전 처리부(210)는 저장부(400)에 미리 저장되어 있는 각 링크(link)의 기구 정보 및 엔코더(110)로부터 입력된 각 회전 관절의 회전 각도 정보를 이용하여 오도메트리 정보를 산출한다(730). 오도메트리 정보는 이동 공간 상의 원점 좌표계(보행 로봇이 보행 동작을 시작한 지점을 원점으로 하는 좌표계)에 대한 보행 로봇(10)의 위치(좌표) 정보 및 자세(각도) 정보를 의미하며, 추측항법(dead reckoning)을 이용하여 누적하는 방식으로 산출한다.
다음으로, 제 1 전 처리부(210)는 k 단계와 k-1 단계의 오도메트리 정보를 이용하여 보행 로봇(10)의 상대적인 자세 변화 정보를 산출한다(740). 산출된 보행 로봇(10)의 상대적인 자세 변화 정보가 앞서 설명한 측정 정보 z(k)가 된다.
오도메트리 필터인 제 1 로컬 필터(310)에서 예측 관측 정보 h(k)는 아래의 [수학식 11]과 같이 나타낼 수 있다.
[수학식 11]
Figure pat00011
따라서 갱신부(314)는 산출된 보행 로봇(10)의 상대적인 자세 변화 정보를 전술한 [수학식 2]의 z(k)에 대입하고, [수학식 11]의 자코비안 행렬을 산출하여 [수학식 2] 및 [수학식 3]의 H(k)에 대입하여 예측 단계에서 예측된 보행 로봇(10)의 위치/자세 정보를 갱신한다(750). 이 과정은 위치 인식 알고리즘의 갱신(update) 단계에 해당한다. 갱신부(314)는 갱신된 보행 로봇(10)의 위치/자세 정보를 동화부(316)에 전송한다.
이후, 동화부(316)는 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과(갱신된 위치/자세 정보)가 입력되는가 여부를 판단한다(760). 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과가 입력되면(760에서의 '예') 동화부(316)는 갱신 단계에서 갱신된 보행 로봇(10)의 위치/자세 정보에 융합 필터(360)의 위치 인식 결과를 반영하고, 융합 필터(360)의 위치 인식 결과 반영된 보행 로봇(10)의 위치/자세 정보를 예측부(312)에 전송한다(570). 이 과정은 위치 인식 알고리즘의 동화(assimilation) 단계에 해당한다.
한편, 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과가 입력되면(760에서의 '아니오') 동화 단계는 수행하지 않고, 동작 780으로 진행한다.
다음으로, 제어부(200)는 보행 로봇(10)의 이동이 정지되었는지를 판단한다(780). 제어부(200)는 입력부(미도시)를 통해 사용자로부터 보행 로봇(10)의 보행 정지 명령이 입력되거나, 엔코더(110)로부터 더 이상의 회전 각도 정보가 입력되지 않으면 보행 로봇(10)의 이동이 정지된 것으로 판단한다.
보행 로봇(10)의 이동이 정지되지 않으면(780에서의 '아니오') 제어부(200)는 동작 710으로 돌아가 보행 로봇(10)의 위치 인식 동작을 계속 수행하도록 제어한다. 보행 로봇(10)의 이동이 정지되었으면(580에서의 '예') 제어부(200)는 보행 로봇(100)의 위치 인식 과정을 종료한다.
<제 2 로컬 필터(320)의 동작>
도 8은 도 4에 도시된 제 2 로컬 필터(320)를 이용한 보행 로봇(10)의 위치 인식 방법을 도시한 흐름도이다.
제 2 로컬 필터(320)는 보행 로봇(10)의 위치 인식을 수행하기 위한 센서로서 카메라(120)를 사용하고, 보행 로봇(10)의 상대적 자세 변화 정보를 이용하여 예측된 보행 로봇(10)의 위치/자세 정보를 갱신한다. 설명의 편의상, 제 2 로컬 필터(320)를 시각 센서 기반 오도메트리 필터로 정의하기로 한다.
도 8에 도시된 바와 같이, 제 2 로컬 필터(320) 내 예측부(322)는 이전 갱신 단계(k-1)에서 추정(인식)된 보행 로봇(10)의 위치/자세 정보에 융합 필터(360)의 위치 인식 결과가 반영된 새로운 보행 로봇(10)의 위치/자세 정보로부터 보행 로봇(10)의 다음 단계(k)의 위치/자세 정보를 예측한다(810). 이 과정은 위치 인식 알고리즘의 예측(prediction) 단계에 해당한다.
다음으로, 제 2 전 처리부(220)는 카메라(120)로부터 이동 공간 주변의 영상 정보를 획득한다(820).
이후, 제 2 전 처리부(220)는 이전 단계(k-1)에서 획득한 영상 정보 및 현재 단계(k)에서 획득한 영상 정보 각각에서 시각 특징 점(feature)을 추출하고, 추출된 특징 점들을 매칭(matching)한다(830).
다음으로, 제 2 전 처리부(220)는 특징 점의 추출 및 매칭을 통해 획득한 상관관계로부터 오도메트리 필터(310)와 마찬가지로 보행 로봇(10)의 상대적인 자세 변화 정보를 산출한다(840). 산출된 보행 로봇(10)의 상대적인 자세 변화 정보가 앞서 설명한 측정 정보 z(k)가 된다.
시각 센서 기반 필터인 제 2 로컬 필터(320)에서 예측 관측 정보 h(k)는 아래의 [수학식 12]와 같이 나타낼 수 있다.
[수학식 12]
Figure pat00012
따라서 갱신부(324)는 산출된 보행 로봇(10)의 상대적인 자세 변화 정보를 전술한 [수학식 2]의 z(k)에 대입하고, [수학식 12]의 자코비안 행렬을 산출하여 [수학식 2] 및 [수학식 3]의 H(k)에 대입하여 예측 단계에서 예측된 보행 로봇(10)의 위치/자세 정보를 갱신한다(850). 이 과정은 위치 인식 알고리즘의 갱신(update) 단계에 해당한다. 갱신부(324)는 갱신된 보행 로봇(10)의 위치/자세 정보를 동화부(326)에 전송한다.
이후, 동화부(326)는 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과(갱신된 위치/자세 정보)가 입력되는가 여부를 판단한다(860). 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과가 입력되면(860에서의 '예') 동화부(326)는 갱신 단계에서 갱신된 보행 로봇(10)의 위치/자세 정보에 융합 필터(360)의 위치 인식 결과를 반영하고, 융합 필터(360)의 위치 인식 결과 반영된 보행 로봇(10)의 위치/자세 정보를 예측부(322)에 전송한다(870). 이 과정은 위치 인식 알고리즘의 동화(assimilation) 단계에 해당한다.
한편, 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과가 입력되면(860에서의 '아니오') 동화 단계는 수행하지 않고, 동작 880으로 진행한다.
다음으로, 제어부(200)는 보행 로봇(10)의 이동이 정지되었는가 여부를 판단한다(880). 제어부(200)는 입력부(미도시)를 통해 사용자로부터 보행 로봇(10)의 보행 정지 명령이 입력되거나, 엔코더(110)로부터 더 이상의 회전 각도 정보가 입력되지 않으면 보행 로봇(10)의 이동이 정지된 것으로 판단한다.
보행 로봇(10)의 이동이 정지되지 않으면(880에서의 '아니오') 제어부(200)는 동작 810으로 돌아가 보행 로봇(10)의 위치 인식 동작을 계속 수행하도록 제어한다. 보행 로봇(10)의 이동이 정지되면(880에서의 '예') 제어부(200)는 보행 로봇(100)의 위치 인식 과정을 종료한다.
<제 3 로컬 필터(330)의 동작>
도 9는 도 4에 도시된 제 3 로컬 필터를 이용한 보행 로봇의 위치 인식 방법을 도시한 흐름도이다.
제 3 로컬 필터(330)는 보행 로봇(10)의 위치 인식을 수행하기 위한 센서로서 카메라(120)를 사용하고, 영상 정보에서 추출한 특징 점의 3차원 위치 정보와 보행 로봇(10)의 3차원 위치/자세 정보를 동시에 추정한다. 따라서 다른 로컬 필터들(310, 320, 340, 350)과는 다르게 특징 점의 위치에 대한 상태 변수 y i(k|k)를 추가적으로 가지게 된다.
설명의 편의상, 제 3 로컬 필터(330)를 시각 센서 기반 SLAM(Simultaneous Localization And Mapping) 필터로 정의하기로 한다. 시각 센서 기반 SLAM 필터는 전역 좌표계에서 보행 로봇(10)의 위치/자세 정보를 추정할 수 있다는 장점이 있지만, 특징 점의 위치 정보를 상태 변수로 유지하고 있기 때문에 이동 거리가 증가함에 따라 계산 시간이 증가하는 단점도 존재한다.
도 9에 도시된 바와 같이, 제 3 로컬 필터(330) 내 예측부(332)는 이전 갱신 단계(k-1)에서 추정(인식)된 보행 로봇(10)의 위치/자세 정보에 융합 필터(360)의 위치 인식 결과가 반영된 새로운 보행 로봇(10)의 위치/자세 정보로부터 보행 로봇(10)의 다음 단계(k)의 위치/자세 정보를 예측하고, 이전 갱신 단계(k-1)에서 추정(인식)된 특징 점의 위치 정보로부터 보행 로봇(10)의 다음 단계(k)의 특징 점의 위치 정보를 예측한다(910). 이 과정은 위치 인식 알고리즘의 예측(prediction) 단계에 해당한다.
다음으로, 제 3 전 처리부(230)는 카메라(120)로부터 이동 공간 주변의 영상 정보를 획득한다(920).
이후, 제 3 전 처리부(320)는 저장부(400)에 저장되어 있는 기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징 점 간의 동일성을 판단한다(930). 즉, 제 3 전 처리부(320)는 특징 점의 추적(tracking) 및 매칭(matching) 과정을 통해 현재 획득된 영상 정보로부터 추출된 특징 점이 기존에 표식으로 사용되고 있던 것인지, 아니면 새로운 특징 점으로 등록해야 하는 것인지 여부를 판단한다.
다음으로, 제 3 전 처리부(320)는 기존에 표식으로 등록된 특징 점의 위치 정보와 현재 획득된 영상 정보로부터 추출되어 기존의 표식과 매칭된 특징 점의 위치 정보를 산출한다(940). 산출된 기존의 표식과 매칭된 특징 점의 위치 정보가 앞서 설명한 측정 정보 z(k)가 된다.
시각 센서 기반 SLAM 필터인 제 3 로컬 필터(330)에서 예측 관측 정보 h(k)는 아래의 [수학식 13]과 같이 나타낼 수 있다.
[수학식 13]
Figure pat00013
따라서 갱신부(334)는 산출된 기존의 표식과 매칭된 특징 점의 위치 정보를 전술한 [수학식 2]의 z(k)에 대입하고, [수학식 13]의 자코비안 행렬을 산출하여 [수학식 2] 및 [수학식 3]의 H(k)에 대입하여 예측 단계에서 예측된 보행 로봇(10)의 위치/자세 정보 및 특징 점의 위치 정보를 갱신한다(950). 이 과정은 위치 인식 알고리즘의 갱신(update) 단계에 해당한다. 갱신부(334)는 갱신된 보행 로봇(10)의 위치/자세 정보를 동화부(336)에 전송한다.
이후, 동화부(336)는 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과(갱신된 위치/자세 정보)가 입력되는가 여부를 판단한다(960). 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과가 입력되면(960에서의 '예') 동화부(336)는 갱신 단계에서 갱신된 보행 로봇(10)의 위치/자세 정보에 융합 필터(360)의 위치 인식 결과를 반영하고, 융합 필터(360)의 위치 인식 결과 반영된 보행 로봇(10)의 위치/자세 정보를 예측부(332)에 전송한다(970). 이 과정은 위치 인식 알고리즘의 동화(assimilation) 단계에 해당한다.
한편, 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과가 입력되면(960에서의 '아니오') 동화 단계는 수행하지 않고, 동작 980으로 진행한다.
다음으로, 제어부(200)는 보행 로봇(10)의 이동이 정지되었는지를 판단한다(980). 제어부(200)는 입력부(미도시)를 통해 사용자로부터 보행 로봇(10)의 보행 정지 명령이 입력되거나, 엔코더(110)로부터 더 이상의 회전 각도 정보가 입력되지 않으면 보행 로봇(10)의 이동이 정지된 것으로 판단한다.
보행 로봇(10)의 이동이 정지되지 않으면(980에서의 '아니오') 제어부(200)는 동작 910으로 돌아가 보행 로봇(10)의 위치 인식 동작을 계속 수행하도록 제어한다. 보행 로봇(10)의 이동이 정지되었으면(980에서의 '예') 제어부(200)는 보행 로봇(100)의 위치 인식 과정을 종료한다.
<제 4 로컬 필터(340)의 동작>
도 10은 도 4에 도시된 제 4 로컬 필터(340)를 이용한 보행 로봇(10)의 위치 인식 방법을 도시한 흐름도이다.
제 4 로컬 필터(420)는 보행 로봇(10)의 위치 인식을 수행하기 위한 센서로서 관성 센서(130)를 사용하고, 3차원 가속도 정보 및 3차원 각속도 정보를 이용하여 예측된 보행 로봇(10)의 위치/자세 정보를 갱신한다. 설명의 편의상, 제 4 로컬 필터(340)를 IMU(Inertial Measurement Unit) 필터로 정의하기로 한다.
도 10에 도시된 바와 같이, 제 4 로컬 필터(320)의 예측부(342)는 이전 갱신 단계(k-1)에서 추정(인식)된 보행 로봇(10)의 위치/자세 정보에 융합 필터(360)의 위치 인식 결과가 반영된 새로운 보행 로봇(10)의 위치/자세 정보로부터 보행 로봇(10)의 다음 단계(k)의 위치/자세 정보를 예측한다(1010). 이 과정은 위치 인식 알고리즘의 예측(prediction) 단계에 해당한다.
다음으로, 제 4 전 처리부(230)는 관성 센서(130)로부터 관성 측정 정보를 획득한다(1020).
이후, 제 4 전 처리부(230)는 관성 센서(130)를 통해 검출된 가속도 정보 및 각속도 정보로부터 3차원 가속도 정보 및 3차원 각속도 정보를 산출한다(1030). 산출된 3차원 가속도 정보 및 3차원 각속도 정보가 앞서 설명한 측정 정보 z(k)가 된다.
IMU 필터(340)에서 예측 관측 정보 h(k)는 아래의 [수학식 14]와 같이 나타낼 수 있다.
[수학식 14]
Figure pat00014
따라서 갱신부(344)는 산출된 3차원 가속도 정보 및 3차원 각속도 정보를 전술한 [수학식 2]의 z(k)에 대입하고, [수학식 14]의 자코비안 행렬을 산출하여 [수학식 2] 및 [수학식 3]의 H(k)에 대입하여 예측 단계에서 예측된 보행 로봇(10)의 위치/자세 정보를 갱신한다(1040). 이 과정은 위치 인식 알고리즘의 갱신(update) 단계에 해당한다. 갱신부(344)는 갱신된 보행 로봇(10)의 위치/자세 정보를 동화부(346)에 전송한다.
다음으로, 동화부(346)는 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과(갱신된 위치/자세 정보)가 입력되는가 여부를 판단한다(1050). 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과가 입력되면(1050에서의 '예') 동화부(346)는 갱신 단계에서 갱신된 보행 로봇(10)의 위치/자세 정보에 융합 필터(360)의 위치 인식 결과를 반영하고, 융합 필터(360)의 위치 인식 결과 반영된 보행 로봇(10)의 위치/자세 정보를 예측부(342)에 전송한다(1060). 이 과정은 위치 인식 알고리즘의 동화(assimilation) 단계에 해당한다.
한편, 융합 필터(360)의 갱신부(364)로부터 보행 로봇(10)의 위치 인식 결과가 입력되면(1050에서의 '아니오') 동화 단계는 수행하지 않고, 동작 1070으로 진행한다.
다음으로, 제어부(200)는 보행 로봇(10)의 이동이 정지되었는가 여부를 판단한다(1080). 제어부(200)는 입력부(미도시)를 통해 사용자로부터 보행 로봇(10)의 보행 정지 명령이 입력되거나, 엔코더(110)로부터 더 이상의 회전 각도 정보가 입력되지 않으면 보행 로봇(10)의 이동이 정지된 것으로 판단한다.
보행 로봇(10)의 이동이 정지되지 않았으면(1070에서의 '아니오') 제어부(200)는 동작 1010으로 돌아가 보행 로봇(10)의 위치 인식 동작을 계속 수행하도록 제어한다. 보행 로봇(10)의 이동이 정지되면(1070에서의 '예') 제어부(200)는 보행 로봇(100)의 위치 인식 과정을 종료한다.
<제 5 로컬 필터(350)의 동작>
도 11은 도 4에 도시된 제 5 로컬 필터(350)를 이용한 보행 로봇(10)의 위치 인식 방법을 도시한 흐름도이다.
제 5 로컬 필터(350)는 보행 로봇(10)의 위치 인식을 수행하기 위한 센서로서 카메라(120)를 사용하고, 영상 정보에서 추출한 특징 점의 3차원 위치 정보를 통한 노드 인식과 보행 로봇(10)의 3차원 위치/자세 정보를 동시에 추정한다. 따라서 다른 로컬 필터들(310)(320)(330)(340)과는 다르게 추정을 위한 상태 변수 xL(k|k)로서 광역 원점 좌표계에 대한 3차원 위치(r) 및 3차원 자세(quaternion, q)만을 갖는다.
도 11에 도시된 바와 같이, 제 5 로컬 필터(350)의 예측부(352)는 이전 갱신 단계(k-1)에서 추정(인식)된 보행 로봇(10)의 위치/자세 정보에 새로운 노드 인식 결과가 반영된 새로운 보행 로봇(10)의 위치/자세 정보로부터 보행 로봇(10)의 다음 단계(k)의 위치/자세 정보를 예측하고, 이전 갱신 단계(k-1)에서 추정(인식)된 노드의 위치 정보로부터 보행 로봇(10)의 다음 단계(k)의 노드의 위치 정보를 예측한다(1110). 이 과정은 위치 인식 알고리즘의 예측(prediction) 과정에 해당한다.
다음으로, 제 5 전 처리부(250)는 카메라(120)로부터 이동 공간 주변의 영상 정보를 획득한다(1120).
이후, 제 5 전 처리부(250)는 저장부(400)에 저장되어 있는 로컬 맵 정보와 현재 획득된 영상 정보로부터 추출된 특징 점 간의 동일성 판단을 통해 노드를 검출한다(1130). 즉, 제 5 전 처리부(250)는 특징 점의 추적(tracking) 및 매칭(matching) 과정을 통해 현재 획득된 영상 정보로부터 추출된 특징 점에 대응하는 노드를 검출한다.
다음으로, 제 5 전 처리부(250)는 검출된 노드의 위치를 기준으로 하여 로컬 맵 상에서의 보행 로봇(10)의 절대 위치/자세 정보 z(k)([수학식 7] 참조)를 산출한다(1140).
노드 검출을 통해 산출된 절대 위치/자세 정보 z(k)와 예측 관측 정보 h(k)([수학식 8] 참조)를 이용하여 칼만 필터 갱신(Kalman Filter Update)을 수행한다(1150). 즉, 제 5 로컬 필터(350)의 갱신부(354)는 산출된 기존의 노드 위치 정보를 전술한 [수학식 7]의 z(k)에 대입하고, [수학식 6]의 자코비안 행렬을 산출하여 [수학식 2] 및 [수학식 3]의 H(k)에 대입하여 예측 단계에서 예측된 보행 로봇(10)의 위치/자세 정보 및 특징 점의 위치 정보를 갱신한다. 이 과정은 위치 인식 알고리즘의 갱신(update) 단계에 해당한다.
제 5 로컬 필터(350)의 갱신부(354)는 갱신된 보행 로봇(10)의 절대 위치/자세 정보를 융합 필터(360)의 동화부(366)에 제공한다(1160). 제 5 로컬 필터(350)로부터 절대 위치/자세 정보를 제공받은 융합 필터(360)의 동화부(366)는 갱신 단계에서 갱신된 보행 로봇(10)의 위치/자세 정보에 제 5 로컬 필터(350)의 절대 위치/자세 정보를 반영하여 융합 필터(360)의 예측부(362)에 전송함으로써 융합 필터(360)에서의 위치 인식 알고리즘의 동화(assimilation) 과정이 수행된다.
다음으로, 제어부(200)는 보행 로봇(10)의 이동이 정지되었는가 여부를 판단한다(1170). 제어부(200)는 입력부(미도시)를 통해 사용자로부터 보행 로봇(10)의 보행 정지 명령이 입력되거나, 엔코더(110)로부터 더 이상의 회전 각도 정보가 입력되지 않으면 보행 로봇(10)의 이동이 정지된 것으로 판단한다.
보행 로봇(10)의 이동이 정지되지 않았으면(1170의 '아니오') 제어부(200)는 동작 1110으로 돌아가 보행 로봇(10)의 위치 인식 동작을 계속 수행하도록 제어한다. 보행 로봇(10)의 이동이 정지되면(1170에서의 '예') 제어부(200)는 보행 로봇(100)의 위치 인식 과정을 종료한다.
이하에서는 다시 도 4를 참조하여 융합 필터(360)의 동작 과정에 대해 설명하기로 한다.
융합 필터(360)의 기본적인 동작 원리는 제 1-4 로컬 필터(310)(320)(330)(340)의 동작 원리와 유사하지만, 융합 필터(360)는 제 1-4 로컬 필터(310)(320)(330)(340)의 동작 필터로 사용되는 칼만 필터(Kalman filter)와 듀얼(dual) 형태인 인포메이션 필터(information filter)를 동작 필터로 사용한다. 인포메이션 필터는 보행 로봇(10)의 위치 및 자세를 추정하기 위해 상태 변수(state)로 아래의 [수학식 15] 및 [수학식 16]에 나타낸 바와 같이 인포메이션 상태 벡터 y G(k|k)와 인포메이션 행렬 YG(k|k)를 가진다.
[수학식 15]
Figure pat00015
[수학식 16]
Figure pat00016
융합 필터(360)의 동작 필터로 인포메이션 필터를 사용하는 이유는 융합 필터(360)의 동화 단계에서 제 1-5 로컬 필터(310)(320)(330)(340)(350)로부터 전송되는 보행 로봇(10)의 위치 인식 결과(갱신된 위치/자세 정보)를 단순히 아래의 [수학식 17] 및 [수학식 18]과 같이 덧셈의 형태로 융합할 수 있기 때문이다.
[수학식 17]
Figure pat00017
[수학식 18]
Figure pat00018
동화 단계에서 동화된 보행 로봇(10)의 위치/자세 정보를 이용하여 융합 필터(360)의 갱신된 위치/자세 인식 결과는 다시 각 제 1-4 로컬 필터(310)(320)(330)(340)에 전달되어 분산화된 필터 시스템(300) 전체의 위치 인식 추정 값의 일관성을 유지하게 된다.
이러한 분산화된 필터 시스템(300) 구조는 제 1-5 로컬 필터(310)(320)(330)(340)(350)에 문제가 발생하는 경우, 융합 필터(360)로 전달되는 정보를 차단할 수 있으며, 제 1-5 로컬 필터(310)(320)(330)(340)(350)의 문제만 해결한 뒤 다시 위치 인식 동작을 계속 수행할 수 있기 때문에 전체 위치 인식 시스템의 강인성을 향상시킬 수 있다.
<융합 필터(360)의 동작>
도 12는 도 4에 도시된 융합 필터(360)를 이용한 보행 로봇의 위치 인식 방법을 도시한 흐름도이다.
도 12에 도시된 바와 같이, 융합 필터(360)의 예측부(362)는 이전 갱신 단계(k-1)에서 추정(인식)된 보행 로봇(10)의 위치/자세 정보로부터 보행 로봇(10)의 다음 단계(k)의 위치/자세 정보를 예측한다(1210). 이 과정은 위치 인식 알고리즘의 예측(prediction) 단계에 해당한다.
다음으로, 동화부(366)는 제 1-5 로컬 필터(310)(320)(330)(340)(350)로부터 보행 로봇(10)의 위치 인식 결과(갱신된 상대 위치/자세 정보 및 절대 위치/자세 정보)를 획득한다(1220).
이후, 동화부(366)는 제 1-5 로컬 필터(310)(320)(330)(340)(350)의 위치 인식 결과를 통합한다(1230). 이 때, 제 5 로컬 필터(350)를 통해 얻은 절대 위치/자세 정보가 다른 제 1-4 로컬 필터(310)(320)(333)(340)를 통해 얻은 상대 위치/자세 정보에 반영됨으로써, 제 1-4 로컬 필터(310)(320)(333)(340)의 상대 위치/자세 정보에 포함될 수 있는 오차가 개선될 수 있다. 이를 통해 본 발명의 실시 예에 따른 보행 로봇(10)은 지속적으로 더욱 강인한 위치 인식을 수행할 수 있다.
다음으로, 갱신부(364)는 통합된 위치 인식 결과를 이용하여 예측 단계에서 예측된 보행 로봇(10)의 위치/자세 정보를 갱신한다(1240). 이 과정은 위치 인식 알고리즘의 갱신 단계에 해당한다. 갱신부(364)는 갱신된 보행 로봇(10)의 위치/자세 정보를 제 1-4 로컬 필터(310)(320)(330)(340)의 동화부(316)(326)(336)(346)에 전송한다(1250). 제 5 로컬 필터(350)는 융합 필터(360)로부터 정보를 피드백받지 않는다.
이후, 제어부(200)는 보행 로봇(10)의 이동이 정지되었는지를 판단한다(1260). 제어부(200)는 입력부(미도시)를 통해 사용자로부터 보행 로봇(10)의 보행 정지 명령이 입력되거나, 엔코더(110)로부터 더 이상의 회전 각도 정보가 입력되지 않으면 보행 로봇(10)의 이동이 정지된 것으로 판단한다.
보행 로봇(10)의 이동이 정지되지 않으면(1260의 '아니오') 제어부(200)는 동작 1210으로 돌아가 보행 로봇(10)의 위치 인식 동작을 계속 수행하도록 제어한다. 보행 로봇(10)의 이동이 정지되면(1260의 '예') 제어부(200)는 보행 로봇(100)의 위치 인식 과정을 종료한다.
앞에서는 도 1 내지 12를 참조하여 다양한 이동 장치들 중에서 보행 로봇(10)을 예로 들어 분산화된 필터 시스템을 이용하여 보행 로봇의 위치 인식 동작을 수행하는 경우를 설명하였으나, 보행 로봇 이외에도 다양한 형태의 이동 로봇 및 자율 이동 기능을 가지고 있지는 않지만 인간이 휴대하고 이동하면서 조작할 수 있는 이동 장치(휴대폰이나 타블렛 등)의 경우에도 본 발명에서 제시하고 있는 분산화된 필터 시스템을 이용하여 위치 인식 동작을 수행하는 것이 가능하다.
또한 앞에서는 이동 장치의 위치 인식을 수행하기 위한 센서로 엔코더, 카메라, 관성 센서를 이용(총 세 개의 센서를 이용)하는 경우를 예로 들어 설명하였으나, 이외에도 거리 센서, 나침반 센서, 위성 항법 장치(Global Positioning System; GPS) 등 이동 장치의 위치 인식을 수행하는데 이용될 수 있는 센서(또는 장치)라면 어떠한 센서라도 사용 가능함은 물론이다.
도 13은 본 발명의 실시 예에 따른 이동 장치의 위치 인식 방법을 도시한 흐름도이다.
이하에서는 도 13을 참조하여 본 발명의 실시 예에 따른 이동 장치의 위치 인식 방법을 설명하도록 한다.
먼저, 각 로컬 필터에서 이동 장치의 위치 인식 동작을 수행한다(1310).
이후, 각 로컬 필터는 위치 인식 결과를 융합 필터로 전송한다(1320).
다음으로, 융합 필터는 각 로컬 필터로부터 전송받은 위치 인식 결과를 융합한다(1330).
이후, 융합 필터는 융합된 위치 인식 결과를 이용하여 이동 장치의 위치 인식을 수행한다(1340).
다음으로, 융합 필터는 위치 인식 결과를 각 로컬 필터로 전송한다(1350).
이후, 이동 장치의 이동이 정지되었는지를 판단한다(1360). 이동 장치의 이동이 정지되지 않으면(1360에서의 '아니오') 동작 1310으로 돌아가 이동 장치의 위치 인식 동작을 계속 수행한다.
한편, 이동 장치의 이동이 정지되었으면(1360에서의 '예') 이동 장치의 위치 인식 과정을 종료한다.
10 : 보행 로봇
100 : 센서 모듈
110 : 엔코더
120 : 카메라
130 : 관성 센서
200 : 제어부
210~250 : 제 1-5 전 처리부
300 : 위치 인식부
310~340 : 제 1-4 로컬 필터(제 1 분산 필터)
350 : 제 5 로컬 필터(제 2 분산 필터)
360 : 융합 필터
400 : 저장부
450 : 구동부

Claims (18)

  1. 적어도 하나의 센서와;
    상기 적어도 하나의 센서의 검출 값을 이용하여 현재의 상대 위치 정보를 생성하는 적어도 하나의 제 1 분산 필터와;
    상기 적어도 하나의 센서의 검출 값을 이용하여 현재의 절대 위치 정보를 생성하는 적어도 하나의 제 2 분산 필터와;
    상기 제 1 분산 필터의 상기 상대 위치 정보와 상기 제 2 분산 필터의 상기 절대 위치 정보를 융합하여 위치 인식을 수행하는 융합 필터를 포함하는 이동 장치.
  2. 제 1 항에 있어서,
    상기 제 2 분산 필터는 상기 이동 장치의 이동 공간 상에 미리 설정되어 있는 적어도 하나의 노드 검출을 통해 상기 절대 위치 정보를 생성하는 이동 장치.
  3. 제 2 항에 있어서, 상기 제 2 분산 필터는,
    상기 이동 장치의 위치/자세 정보를 예측하는 예측부와;
    상기 적어도 하나의 센서의 검출 값을 이용하여 상기 이동 장치의 상기 예측된 위치/자세 정보를 갱신하는 갱신부를 포함하고,
    상기 갱신된 위치/자세 정보를 상기 융합 필터에 제공하여 상기 융합 필터의 위치/자세 정보의 갱신에 반영하도록 하는 이동 장치.
  4. 제 3 항에 있어서,
    상기 위치/자세 정보의 예측은 주기적으로 수행하고;
    상기 위치/자세 정보의 갱신은 상기 노드가 검출될 때마다 수행하는 이동 장치.
  5. 제 3 항에 있어서,
    상기 제 1 분산 필터는 상대적 위치 정보를 갱신할 때 상기 융합 필터의 상기 융합된 위치/자세 정보를 반영하고;
    상기 제 2 분산 필터는 상기 절대적 위치 정보를 갱신할 때 상기 융합된 위치/자세 정보를 배제하는 이동 장치.
  6. 제 1 항에 있어서,
    상기 이동 장치의 이동 공간 상에 미리 설정되어 있는 적어도 하나의 노드를 인식하고 상기 노드 인식 결과와 미리 마련된 로컬 맵의 비교를 통해 노드 검출의 불확실성을 제거한 노드 검출 정보를 생성하여 상기 제 2 분산 필터에 제공하는 전 처리부를 더 포함하는 이동 장치.
  7. 제 6 항에 있어서, 상기 전 처리부는,
    상기 노드 인식을 위한 노드 인식부와;
    상기 노드 검출의 불확실성 제거를 위한 노드 매칭부를 포함하여 이루어지는 이동 장치.
  8. 제 6 항에 있어서,
    상기 로컬 맵을 저장하기 위한 저장부를 더 포함하는 이동 장치.
  9. 제 1 항에 있어서,
    상기 적어도 하나의 센서는 상기 이동 장치의 이동 공간을 촬영하기 위한 카메라인 이동 장치.
  10. 적어도 하나의 제 1 분산 필터가 적어도 하나의 센서의 검출 값을 이용하여 현재의 상대 위치 정보를 생성하고;
    적어도 하나의 제 2 분산 필터가 상기 적어도 하나의 센서의 검출 값을 이용하여 현재의 절대 위치 정보를 생성하며;
    융합 필터가 상기 제 1 분산 필터의 상기 상대 위치 정보와 상기 제 2 분산 필터의 상기 절대 위치 정보를 융합하여 위치 인식을 수행하는 이동 장치의 위치 인식 방법.
  11. 제 10 항에 있어서,
    상기 제 2 분산 필터는 상기 이동 장치의 이동 공간 상에 미리 설정되어 있는 적어도 하나의 노드 검출을 통해 상기 절대 위치 정보를 생성하는 이동 장치의 위치 인식 방법.
  12. 제 11 항에 있어서, 상기 제 2 분산 필터는,
    상기 이동 장치의 위치/자세 정보를 예측하는 예측부와;
    상기 적어도 하나의 센서의 검출 값을 이용하여 상기 이동 장치의 상기 예측된 위치/자세 정보를 갱신하는 갱신부를 포함하고,
    상기 갱신된 위치/자세 정보를 상기 융합 필터에 제공하여 상기 융합 필터의 위치/자세 정보의 갱신에 반영하도록 하는 이동 장치의 위치 인식 방법.
  13. 제 12 항에 있어서,
    상기 위치/자세 정보의 예측은 주기적으로 수행하고;
    상기 위치/자세 정보의 갱신은 상기 노드가 검출될 때마다 수행하는 이동 장치의 위치 인식 방법.
  14. 제 12 항에 있어서,
    상기 제 1 분산 필터는 상대적 위치 정보를 갱신할 때 상기 융합 필터의 상기 융합된 위치/자세 정보를 반영하고;
    상기 제 2 분산 필터는 상기 절대적 위치 정보를 갱신할 때 상기 융합된 위치/자세 정보를 배제하는 이동 장치의 위치 인식 방법.
  15. 제 10 항에 있어서,
    전 처리부가 상기 이동 장치의 이동 공간 상에 미리 설정되어 있는 적어도 하나의 노드를 인식하고 상기 노드 인식 결과와 미리 마련된 로컬 맵의 비교를 통해 노드 검출의 불확실성을 제거한 노드 검출 정보를 생성하여 상기 제 2 분산 필터에 제공하는 것을 더 포함하는 이동 장치의 위치 인식 방법.
  16. 제 15 항에 있어서, 상기 전 처리부는,
    상기 노드 인식을 위한 노드 인식부와;
    상기 노드 검출의 불확실성 제거를 위한 노드 매칭부를 포함하여 이루어지는 이동 장치의 위치 인식 방법.
  17. 제 15 항에 있어서,
    상기 로컬 맵을 저장하기 위한 저장부를 더 포함하는 이동 장치의 위치 인식 방법.
  18. 제 10 항에 있어서,
    상기 적어도 하나의 센서는 상기 이동 장치의 이동 공간을 촬영하기 위한 카메라인 이동 장치의 위치 인식 방법.
KR1020110141334A 2011-12-23 2011-12-23 이동 장치 및 이동 장치의 위치 인식 방법 KR101913332B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110141334A KR101913332B1 (ko) 2011-12-23 2011-12-23 이동 장치 및 이동 장치의 위치 인식 방법
JP2012280327A JP6108818B2 (ja) 2011-12-23 2012-12-21 移動装置及び移動装置の位置認識方法
US13/723,459 US9563528B2 (en) 2011-12-23 2012-12-21 Mobile apparatus and localization method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110141334A KR101913332B1 (ko) 2011-12-23 2011-12-23 이동 장치 및 이동 장치의 위치 인식 방법

Publications (2)

Publication Number Publication Date
KR20130073476A true KR20130073476A (ko) 2013-07-03
KR101913332B1 KR101913332B1 (ko) 2018-10-31

Family

ID=48655363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110141334A KR101913332B1 (ko) 2011-12-23 2011-12-23 이동 장치 및 이동 장치의 위치 인식 방법

Country Status (3)

Country Link
US (1) US9563528B2 (ko)
JP (1) JP6108818B2 (ko)
KR (1) KR101913332B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220060766A (ko) 2020-11-05 2022-05-12 주식회사 인포웍스 관성센서를 이용한 보행항법 기반 상대/절대좌표 매칭 시스템 및 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323250B2 (en) 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
US9098611B2 (en) 2012-11-26 2015-08-04 Intouch Technologies, Inc. Enhanced video interaction for a user interface of a telepresence network
US9361021B2 (en) 2012-05-22 2016-06-07 Irobot Corporation Graphical user interfaces including touchpad driving interfaces for telemedicine devices
WO2013176758A1 (en) * 2012-05-22 2013-11-28 Intouch Technologies, Inc. Clinical workflows utilizing autonomous and semi-autonomous telemedicine devices
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US10408613B2 (en) 2013-07-12 2019-09-10 Magic Leap, Inc. Method and system for rendering virtual content
WO2015006784A2 (en) 2013-07-12 2015-01-15 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US10725550B2 (en) * 2014-01-07 2020-07-28 Nod, Inc. Methods and apparatus for recognition of a plurality of gestures using roll pitch yaw data
JP6548305B2 (ja) * 2014-01-08 2019-07-24 国立研究開発法人産業技術総合研究所 進行方向推定装置及び進行方向推定方法
ES2746754T3 (es) * 2014-04-17 2020-03-06 Softbank Robotics Europe Robot humanoide con ruedas omnidireccionales basado en un controlador de posición y velocidad lineal predictivo
JP6541026B2 (ja) * 2015-05-13 2019-07-10 株式会社Ihi 状態データ更新装置と方法
DE102016212694A1 (de) * 2016-05-31 2017-11-30 Siemens Aktiengesellschaft Verfahren zur Orientierung eines Industrieroboters und Industrieroboter
KR20180121244A (ko) * 2017-04-28 2018-11-07 엘지전자 주식회사 이동 로봇 및 그 제어방법
US10907972B2 (en) * 2018-03-29 2021-02-02 Intel Corporation 3D localization device
CN108628306B (zh) * 2018-04-10 2021-06-25 平安科技(深圳)有限公司 机器人行走障碍检测方法、装置、计算机设备和存储介质
KR102601141B1 (ko) * 2018-06-22 2023-11-13 삼성전자주식회사 이미지 센서와 복수의 지자기 센서를 융합하여 위치 보정하는 이동 로봇 장치 및 제어 방법
JP7225642B2 (ja) * 2018-09-27 2023-02-21 富士通株式会社 コミュニケーションロボット、制御方法及び制御プログラム
CN112394720A (zh) * 2019-08-15 2021-02-23 纳恩博(北京)科技有限公司 机器人的控制方法和装置、存储介质及电子装置
CN114815795A (zh) * 2021-01-28 2022-07-29 广州视源电子科技股份有限公司 机器人的控制方法及装置
WO2024057423A1 (ja) * 2022-09-13 2024-03-21 富士通株式会社 変換方法、変換プログラムおよび変換装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0914962A (ja) 1995-06-28 1997-01-17 Komatsu Ltd 建設車両の位置計測装置
EP2106886B1 (en) * 2002-04-26 2011-03-23 Honda Giken Kogyo Kabushiki Kaisha Self-position estimating device for leg type movable robots
JP2004030445A (ja) * 2002-06-27 2004-01-29 National Institute Of Advanced Industrial & Technology 移動ロボットの自己位置推定方法及びシステム、並びにプログラム
US7689321B2 (en) * 2004-02-13 2010-03-30 Evolution Robotics, Inc. Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system
KR100834761B1 (ko) * 2005-11-23 2008-06-05 삼성전자주식회사 이동 로봇의 자기 위치 인식 방법 및 장치
JP2008065562A (ja) 2006-09-06 2008-03-21 Sony Corp 情報処理装置、および同定処理方法、並びにコンピュータ・プログラム
JP4413957B2 (ja) 2007-08-24 2010-02-10 株式会社東芝 移動物体検出装置および自律移動物体
KR100937096B1 (ko) 2008-02-27 2010-01-15 성균관대학교산학협력단 센서융합 시스템 및 센서융합 방법
US8265817B2 (en) * 2008-07-10 2012-09-11 Lockheed Martin Corporation Inertial measurement with an imaging sensor and a digitized map
JP2011175393A (ja) 2010-02-24 2011-09-08 Toyota Motor Corp 経路計画装置、自律移動ロボット、及び移動経路の計画方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220060766A (ko) 2020-11-05 2022-05-12 주식회사 인포웍스 관성센서를 이용한 보행항법 기반 상대/절대좌표 매칭 시스템 및 방법

Also Published As

Publication number Publication date
JP2013132748A (ja) 2013-07-08
US9563528B2 (en) 2017-02-07
US20130166137A1 (en) 2013-06-27
JP6108818B2 (ja) 2017-04-05
KR101913332B1 (ko) 2018-10-31

Similar Documents

Publication Publication Date Title
KR101913332B1 (ko) 이동 장치 및 이동 장치의 위치 인식 방법
KR20130049610A (ko) 이동 기기 및 보행 로봇
US8873831B2 (en) Walking robot and simultaneous localization and mapping method thereof
JP3994950B2 (ja) 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置
WO2019138836A1 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
KR101739996B1 (ko) 이동 로봇 및 이동 로봇의 위치 인식 및 지도 작성 방법
TWI827649B (zh) 用於vslam比例估計的設備、系統和方法
US8447455B2 (en) Target route generation system
KR101439921B1 (ko) 비젼 센서 정보와 모션 센서 정보를 융합한 모바일 로봇용 slam 시스템
US10197399B2 (en) Method for localizing a robot in a localization plane
WO2008099652A1 (ja) 環境地図の生成方法及び移動ロボット
Zhang et al. An indoor navigation aid for the visually impaired
Oriolo et al. Humanoid odometric localization integrating kinematic, inertial and visual information
KR20170138977A (ko) 보행 로봇 및 그의 위치 인식과 지도 작성을 동시에 수행하는 방법
Weon et al. Intelligent robotic walker with actively controlled human interaction
Karam et al. Integrating a low-cost mems imu into a laser-based slam for indoor mobile mapping
JP2007219645A (ja) データ処理方法、データ処理装置およびプログラム
Emter et al. Stochastic cloning for robust fusion of multiple relative and absolute measurements
US20210255695A1 (en) Information processing apparatus, information processing method, program, and floor modeling system
Tardif et al. Vision-aided inertial navigation for power line inspection
Zhang et al. A depth-enhanced visual inertial odometry for a robotic navigation aid for blind people
Tan et al. Mobile Robot Docking With Obstacle Avoidance and Visual Servoing
Kim et al. A sensor fusion method to solve the scale ambiguity of single image by combining IMU
Xu et al. A Localization and Trajectory Planning Method for UAVs with Visual-Inertial Odometry
CN115930943A (zh) 基于图优化和ekf框架下融合单目视觉和imu的slam方法及系统

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