KR20120070291A - 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법 - Google Patents

보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법 Download PDF

Info

Publication number
KR20120070291A
KR20120070291A KR1020100131790A KR20100131790A KR20120070291A KR 20120070291 A KR20120070291 A KR 20120070291A KR 1020100131790 A KR1020100131790 A KR 1020100131790A KR 20100131790 A KR20100131790 A KR 20100131790A KR 20120070291 A KR20120070291 A KR 20120070291A
Authority
KR
South Korea
Prior art keywords
information
walking robot
walking
odometry
joint
Prior art date
Application number
KR1020100131790A
Other languages
English (en)
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 KR1020100131790A priority Critical patent/KR20120070291A/ko
Priority to US13/326,680 priority patent/US8873831B2/en
Publication of KR20120070291A publication Critical patent/KR20120070291A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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/0248Control 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 in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Manipulator (AREA)

Abstract

보행 로봇의 이동 과정에서 획득되는 오도메트리(odometry) 정보를 영상 기반 SLAM 기술에 적용함으로써 보행 로봇의 위치 인식의 정확성 및 수렴성을 향상시킬 수 있는 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법을 제안한다.
보행 로봇이 보행하는 이동 공간 주변의 영상 정보 및 상기 보행 로봇의 보행과 관련된 회전 관절의 회전 각도 정보를 획득하고, 보행 로봇을 구성하는 각 링크의 기구 정보 및 회전 각도 정보를 이용하여 오도메트리 정보를 산출하고; 영상 정보 및 오도메트리 정보를 이용하여 보행 로봇의 위치를 인식하고 이동 공간에 대한 지도를 작성함으로써, 영상 기반 위치 인식의 성능을 향상시킬 수 있다.

Description

보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법{WALKING ROBOT AND SIMULTANEOUS LOCALIZATION AND MAPPING METHOD THEREOF}
카메라를 통해 획득한 영상 정보를 이용하여 이동 공간에 대응되는 지도를 작성함과 동시에 로봇 자신의 위치를 추정하는 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법에 관한 것이다.
보행 로봇이란 다리를 이용하여 이동하는 로봇으로서 이족 또는 3족 이상의 다리를 이용하여 동물이나 인간과 유사한 방법으로 이동한다. 이는 바퀴형 로봇에 비해 바퀴로는 넘을 수 없는 장애물을 넘을 수 있으며, 무엇보다도 이족 보행 로봇의 경우 인간과 유사한 외모로 인해 인간과 같은 생활 공간에서 작업하기 유리한 장점이 있을 뿐만 아니라 인간에게 거부감을 주지 않는 외모로 인해 휴머노이드 로봇의 핵심 기술로 자리잡아가고 있다.
보행 로봇이 이동 공간 내에서 원하는 목적지에 대한 경로 계획을 세우고 자율적으로 보행하기 위해서는 실시간으로 실내 공간에서의 자기 위치를 파악하는 것이 전제되어야 한다.
보행 로봇이 자기 위치를 인식하는 방법으로 인공 표식(artificial landmark)을 이용하는 방법이 있다. 이는 보행 로봇의 이동 공간 내에 배경과 구분되는 특정 표식을 미리 설치하고 보행 로봇에 장착된 비전 센서(카메라), 초음파 센서 등의 위치 계측 센서를 이용하여 인공 표식을 인식함으로써 보행 로봇의 현재 위치를 파악하는 방법이다. 보행 로봇은 이동 공간 내의 원점 좌표에 대한 인공 표식의 위치(좌표) 정보를 미리 가지고 있으며, 인식된 인공 표식과 자기(보행 로봇) 사이의 상대적인 거리를 측정하여 원점 좌표에 대한 자신의 현재 위치를 추정하게 된다. 이러한 인공 표식을 이용한 위치 인식 방법은 표식이 성공적으로 검출되면 절대적 위치 정보를 획득할 수 있으나, 표식의 가려짐 등으로 인해 표식 검출이 실패할 경우 위치 정보를 얻을 수 없으며 측위 시스템을 구축할 공간의 크기가 증가하면 표식 설치에 따른 부담이 증가하는 문제점이 있었다. 또한, 인공 표식을 이용한 위치 인식 방법의 적용에는 보행 로봇이 이동 공간 내에 존재하는 인공 표식의 위치(좌표) 정보를 사전에 알고 있어야 한다는 제약 조건이 존재한다.
보행 로봇이 자기 위치를 인식하는 다른 방법으로 자연 표식(natural landmark)을 이용하는 방법이 있다. 이는 보행 로봇의 이동 공간 내에 추가적인 인공 표식을 설치하지 않고 평상 시 환경에서 특징적인 것들을 표식으로 사용하여 보행 로봇의 현재 위치를 파악하는 방법으로, 대표적인 예로 동시 위치 인식 및 지도 작성(Simultaneous Localization And Mapping; SLAM) 기술을 들 수 있다. SLAM은 보행 로봇이 주변 환경 정보를 검출하고 얻어진 정보를 가공하여 이동 공간(작업 수행 공간)에 대응되는 지도를 작성함과 동시에 자신의 절대 위치를 추정하는 기술을 말한다. 최근에는 보행 로봇의 본체에 비전 센서(카메라)를 장착하고 카메라를 통해 획득한 영상 정보를 이용하여 SLAM 기술을 구현하는 영상 기반 SLAM에 대한 연구가 진행되고 있다. 보행 로봇은 카메라를 통해 획득한 영상 정보에서 추출한 특징점을 자연 표식으로 이용하여 자신의 위치 정보 및 표식의 위치 정보를 동시에 추정하게 된다. 하지만, 보행 로봇은 보행 중 3차원 방향으로의 직선/회전 움직임 및 진동이 크고 이러한 움직임과 진동은 카메라에 외란(disturbance)으로 작용하여 카메라를 통해 획득되는 영상 정보에도 영향을 주기 때문에, 카메라를 통해 획득한 영상 정보만으로 보행 로봇의 위치를 정확하게 추정하기에는 현실적으로 많은 어려움이 있으며 이를 극복하기 위한 연구가 활발히 진행 중이다.
보행 로봇의 이동 과정에서 획득되는 오도메트리(odometry) 정보를 영상 기반 SLAM 기술에 적용함으로써 보행 로봇의 위치 인식의 정확성 및 수렴성을 향상시킬 수 있는 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법을 제안하고자 한다.
이를 위해 본 발명의 일 측면은 보행 로봇이 보행하는 이동 공간 주변의 영상 정보 및 보행 로봇의 보행과 관련된 회전 관절의 회전 각도 정보를 획득하고; 보행 로봇을 구성하는 각 링크의 기구 정보 및 회전 각도 정보를 이용하여 오도메트리 정보를 산출하고; 영상 정보 및 오도메트리 정보를 이용하여 보행 로봇의 위치를 인식하고 이동 공간에 대한 지도를 작성한다.
또한, 오도메트리 정보는 이동 공간의 원점 좌표계에 대한 보행 로봇의 위치 정보 및 자세 정보이다.
또한, 보행 로봇의 보행과 관련된 회전 관절은 힙 관절부, 무릎 관절부 및 발목 관절부를 이루는 복수의 회전 관절이다.
또한, 오도메트리 정보 산출 시 이용하는 각 링크의 기구 정보는 발과 발목 관절부가 제거된 보행 로봇 모델의 각 링크의 기구 정보이다.
또한, 보행 로봇의 위치를 인식하고 이동 공간에 대한 지도를 작성하는 것은: 현재 획득된 영상 정보 및 오도메트리 정보를 이용하여 보행 로봇의 위치 정보 및 자세 정보와, 특징점의 위치 정보를 예측하고; 기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단하고; 기존의 표식의 위치 정보와 현재 획득된 영상 정보로부터 추출되어 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 예측된 보행 로봇의 위치 정보 및 자세 정보와, 표식으로 등록된 특징점의 위치 정보를 갱신하는 것을 포함한다.
본 발명의 다른 측면은 보행 로봇이 보행하는 이동 공간 주변의 영상 정보, 보행 로봇의 보행과 관련된 회전 관절의 회전 각도 정보 및 보행 로봇의 관성 측정 정보를 획득하고; 보행 로봇을 구성하는 각 링크의 기구 정보 및 회전 각도 정보를 이용하여 오도메트리 정보를 산출하고; 오도메트리 정보와 관성 측정 정보를 융합하고; 영상 정보 및 융합된 정보를 이용하여 보행 로봇의 위치를 인식하고 이동 공간에 대한 지도를 작성한다.
또한, 오도메트리 정보는 이동 공간의 원점 좌표계에 대한 보행 로봇의 위치 정보 및 자세 정보이다.
또한, 보행 로봇의 보행과 관련된 회전 관절은 힙 관절부, 무릎 관절부 및 발목 관절부를 이루는 복수의 회전 관절이다.
또한, 오도메트리 정보 산출 시 이용하는 각 링크의 기구 정보는 발과 발목 관절부가 제거된 보행 로봇 모델의 각 링크의 기구 정보이다.
또한, 보행 로봇의 위치를 인식하고 이동 공간에 대한 지도를 작성하는 것은: 현재 획득된 영상 정보 및 융합된 정보를 이용하여 보행 로봇의 위치 정보 및 자세 정보와, 특징점의 위치 정보를 예측하고; 기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단하고; 기존의 표식의 위치 정보와 현재 획득된 영상 정보로부터 추출되어 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 예측된 보행 로봇의 위치 정보 및 자세 정보와, 표식으로 등록된 특징점의 위치 정보를 갱신하는 것을 포함한다.
본 발명의 일 측면은 보행 로봇이 보행하는 이동 공간 주변의 영상 정보를 획득하는 영상 정보 획득부; 보행 로봇의 보행과 관련된 회전 관절의 회전 각도 정보를 획득하는 회전 각도 검출부; 및 보행 로봇을 구성하는 각 링크의 기구 정보 및 회전 각도 정보를 이용하여 오도메트리 정보를 산출하고, 영상 정보 및 오도메트리 정보를 이용하여 보행 로봇의 위치를 인식하고 이동 공간에 대한 지도를 작성하는 제어부를 포함한다.
또한, 오도메트리 정보는 이동 공간의 원점 좌표계에 대한 보행 로봇의 위치 정보 및 자세 정보이다.
또한, 보행 로봇의 보행과 관련된 회전 관절은 힙 관절부, 무릎 관절부 및 발목 관절부를 이루는 복수의 회전 관절이다.
또한, 오도메트리 정보 산출 시 이용하는 각 링크의 기구 정보는 발과 발목 관절부가 제거된 보행 로봇 모델의 각 링크의 기구 정보이다.
또한, 제어부는 현재 획득된 영상 정보 및 오도메트리 정보를 이용하여 보행 로봇의 위치 정보 및 자세 정보와, 특징점의 위치 정보를 예측하고, 기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단하고, 기존의 표식의 위치 정보와 현재 획득된 영상 정보로부터 추출되어 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 예측된 보행 로봇의 위치 정보 및 자세 정보와, 표식으로 등록된 특징점의 위치 정보를 갱신한다.
본 발명의 다른 측면은 보행 로봇이 보행하는 이동 공간 주변의 영상 정보를 획득하는 영상 정보 획득부; 보행 로봇의 보행과 관련된 회전 관절의 회전 각도 정보를 획득하는 회전 각도 검출부; 보행 로봇의 관성 측정 정보를 획득하는 관성 센서; 및 보행 로봇을 구성하는 각 링크의 기구 정보 및 회전 각도 정보를 이용하여 오도메트리 정보를 산출하고, 오도메트리 정보와 관성 측정 정보를 융합하고, 영상 정보 및 융합된 정보를 이용하여 보행 로봇의 위치를 인식하고 이동 공간에 대한 지도를 작성하는 제어부를 포함한다.
또한, 오도메트리 정보는 이동 공간의 원점 좌표계에 대한 보행 로봇의 위치 정보 및 자세 정보이다.
또한, 보행 로봇의 보행과 관련된 회전 관절은 힙 관절부, 무릎 관절부 및 발목 관절부를 이루는 복수의 회전 관절이다.
또한, 오도메트리 정보 산출 시 이용하는 각 링크의 기구 정보는 발과 발목 관절부가 제거된 보행 로봇 모델의 각 링크의 기구 정보이다.
또한, 제어부는 현재 획득된 영상 정보 및 융합된 정보를 이용하여 보행 로봇의 위치 정보 및 자세 정보와, 특징점의 위치 정보를 예측하고, 기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단하고, 기존의 표식의 위치 정보와 현재 획득된 영상 정보로부터 추출되어 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 예측된 보행 로봇의 위치 정보 및 자세 정보와, 표식으로 등록된 특징점의 위치 정보를 갱신하는 것을 포함한다.
제안된 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법에 의하면, 보행 로봇의 이동 과정에서 획득되는 오도메트리(odometry) 정보를 영상 기반 SLAM 기술에 적용함으로써 보행 로봇의 위치 인식의 정확성 및 수렴성을 향상시킬 수 있다.
또한, 제안된 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법에 의하면, 보행 로봇의 이동 과정에서 획득되는 오도메트리(odometry) 정보와 관성 센서를 통해 검출된 관성 측정 정보를 융합하고 융합된 정보를 영상 기반 SLAM 기술에 적용함으로써 보행 로봇의 위치 인식의 정확성 및 수렴성을 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 보행 로봇의 외관 구성도이다.
도 2는 본 발명의 실시예에 따른 보행 로봇의 주요 기구 및 관절 구조를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 보행 로봇의 제어 블록도이다.
도 4는 본 발명의 실시예에 따른 보행 로봇의 동시 위치 인식 및 지도 작성 방법을 도시한 흐름도이다.
도 5는 보행 로봇의 보행 제어 방식 중 토크 기반의 FSM(Finite State Machine) 제어 방식을 설명하기 위한 개념도이다.
도 6은 토크 기반의 FSM 제어 방식에 따른 보행 시, 이족 보행 로봇이 평면 위를 보행하는 모습을 나타낸 도면이다.
도 7은 토크 기반의 FSM 제어 방식에 따른 보행 시, 이족 보행 로봇이 높이 변화가 있는 환경에서 보행하는 모습을 나타낸 도면이다.
도 8은 이족 보행 로봇이 토크 기반의 FSM 제어 방식에 따라 평면 위를 보행하는 경우 기존(발이 있는) 이족 보행 로봇 모델을 사용하여 획득한 오도메트리 정보를 예시한 도면이다.
도 9는 기존(발이 있는) 이족 보행 로봇 모델 및 발이 제거된 이족 보행 로봇 모델의 하체의 주요 기구 및 관절 구조를 간략히 나타낸 도면이다.
도 10은 이족 보행 로봇이 토크 기반의 FSM 제어 방식에 따라 평면 위를 보행하는 경우 발이 제거된 이족 보행 로봇 모델을 사용하여 획득한 오도메트리 정보를 예시한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 보행 로봇의 제어 블록도이다.
도 12는 본 발명의 다른 실시예에 따른 보행 로봇의 동시 위치 인식 및 지도 작성 방법을 도시한 흐름도이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명하도록 한다.
도 1은 본 발명의 실시예에 따른 보행 로봇의 외관 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 보행 로봇(100)은 인간과 마찬가지로 두 개의 다리(110L, 110R)에 의해 직립 이동하는 이족 보행 로봇으로, 몸통(102), 머리(104), 팔(106L, 106R)로 이루어진 상체(101)와, 두 개의 다리(110L, 110R)로 이루어진 하체(103)를 가진다.
보행 로봇(100)의 상체(101)는 몸통(102)과, 몸통(102)의 상부에 목(120)을 통해 연결된 머리(104)와, 몸통(102)의 상부 양측에 어깨(114L, 114R)를 통해 연결된 두 개의 팔(106L, 106R)과, 이 두 개의 팔(106L, 106R)의 말단에 각각 연결된 손(108L, 108R)으로 이루어진다. 머리(104)에서 인간의 눈의 형상을 가진 기구부에는 이동 공간의 주위를 촬영하기 위한 카메라(41)가 장착된다.
보행 로봇(100)의 하체(103)는 상체(101)의 몸통(102) 하부 양측에 연결된 두 개의 다리(110L, 110R)와, 두 개의 다리(110L, 110R) 말단에 각각 연결된 발(112L, 112R)로 이루어진다.
참조 부호에서, "R"과 "L"은 각각 보행 로봇(100)의 왼쪽(left)과 오른쪽(right)을 나타낸다.
도 2는 본 발명의 실시예에 따른 보행 로봇의 주요 기구 및 관절 구조를 나타낸 도면이다.
도 2에 도시된 바와 같이, 보행 로봇(100)의 머리(104)에는 이동 공간의 주위를 촬영하는 카메라(41)와, 사용자 음성을 입력하는 마이크로폰(42)이 설치된다.
머리(104)는 목 관절부(280)를 통해 상체(101)의 몸통(102)과 연결된다. 목 관절부(280)는 요우 방향(yaw, Z축 중심 회전)의 회전 관절(281)과, 피치 방향(pitch, Y축 중심 회전)의 회전 관절(282) 및 롤 방향(roll, X축 중심 회전)의 회전 관절(283)을 포함하여 3 자유도를 가진다.
목 관절부(280)의 각각의 회전 관절(281, 282, 283)에는 머리(104)의 회전을 위한 모터들(예를 들어, 전기 모터, 유압 모터 등의 액츄에이터)이 연결된다.
로봇(100)의 두 개의 팔(106L, 106R)은 각각 상박 링크(31), 하박 링크(32) 및 손(108L, 108R)을 가진다.
상박 링크(31)는 어깨 관절부(250L, 250R)를 통해 상체(101)에 연결되고, 상박 링크(31)와 하박 링크(32)는 팔꿈치 관절부(260)를 통해 서로 연결되며, 하박 링크(32)와 손(108L, 108R)은 손목 관절부(270)를 통해 서로 연결된다.
어깨 관절부(250L, 250R)는 상체(101)의 몸통(102)의 양측에 설치되어 두 개의 팔(106L, 106R)을 상체(101)의 몸통(102)에 연결한다.
팔꿈치 관절부(260)는 피치 방향의 회전 관절(261)과, 요우 방향의 회전 관절(262)를 포함하여 2 자유도를 가진다.
손목 관절부(270)는 피치 방향의 회전 관절(271)과, 롤 방향의 회전 관절(272)을 포함하여 2 자유도를 가진다.
손(108L, 108R)에는 5개의 손가락(108a)이 설치된다. 각각의 손가락(108a)에는 모터에 의해 구동되는 다수의 관절(미도시)들이 설치될 수 있다. 손가락(108a)은 팔(106L, 106R)의 움직임에 연동하여 물건을 파지하거나 특정 방향을 가리키는 것과 같은 다양한 동작을 실행한다.
몸통(102)에는 상체(101)가 회전할 수 있도록 요우 방향(yaw, Z축 중심 회전)의 1 자유도를 가지는 허리 관절부(240)가 설치된다.
상체(101)의 하측에 설치되는 허리 관절부(240)에는 상체(101)를 지지하기 위한 골반(15)이 연결된다. 골반(15)은 펠비스 링크(16)를 통해 힙 관절부(210)에 연결된다. 펠비스 링크(16)에는 보행 로봇(100)의 자세 정보(각도 정보)를 검출하기 위한 관성 센서(Inertial Measurement Unit; IMU, 17)가 설치된다. 관성 센서(17)는 중력 방향과 관성계에 대해 펠비스 링크(16)의 상대적 각도를 검출하여 롤 방향, 피치 방향, 요우 방향의 자세 정보(각도 정보)를 발생시킨다. 이 관성 센서(17)는 펠비스 링크(16) 뿐만 아니라 몸통(102), 머리(104) 등에 설치하는 것도 가능하다.
그리고, 로봇(100)의 두 개의 다리(110L, 110R)는 각각 대퇴 링크(21)와 하퇴 링크(22), 발(112L, 112R)을 가진다.
대퇴 링크(21)는 인간의 허벅다리(허벅지)에 해당하는 부분으로 힙 관절부(210)를 통해 상체(101)의 몸통(102)에 연결되고, 대퇴 링크(21)와 하퇴 링크(22)는 무릎 관절부(220)를 통해 서로 연결되며, 하퇴 링크(22)와 발(112L, 112R)은 발목 관절부(230)를 통해 서로 연결된다.
힙 관절부(210)는 요우 방향(yaw, Z축 중심 회전)의 회전 관절(211; 힙 요우 조인트)과, 피치 방향(pitch, Y축 중심 회전)의 회전 관절(212; 힙 피치 조인트)과, 롤 방향(roll, X축 중심 회전)의 회전 관절(213; 힙 롤 조인트)을 포함하여 3 자유도를 가진다.
무릎 관절부(220)는 피치 방향의 회전 관절(221)을 포함하여 1 자유도를 가진다.
발목 관절부(230)는 피치 방향의 회전 관절(231)과, 롤 방향의 회전 관절(232)을 포함하여 2 자유도를 가진다.
두 개의 다리(110L, 110R) 각각에는 힙 관절부(210), 무릎 관절부(220), 발목 관절부(230)에 대해 6개의 회전 관절이 마련되므로, 두 개의 다리(110L, 110R) 전체에 대해서는 12개의 회전 관절이 마련된다.
한편, 두 개의 다리(110L, 110R)에서 발(112L, 112R)과 발목 관절부(230)의 사이에는 다축 힘/토크 센서(Multi-Axis Force and Torque Sensor; 24)가 각각 설치된다. 힘/토크 센서(24)는 발(112L, 112R)로부터 전달되는 힘의 3방향 성분(Fx, Fy, Fz)과 모멘트의 3방향 성분(Mx, My, Mz)을 측정함으로써 발(112L, 112R)의 착지 여부 및 발(112L, 112R)에 가해지는 하중을 검출한다.
도 2에 도시되어 있지는 않지만, 보행 로봇(100)의 각 관절부에는 동력(전기, 유압)에 의해 각 회전 관절을 구동하는 모터 등의 액츄에이터(도 3 및 도 11의 "구동부"에 해당)와, 각 액츄에이터의 회전 각도 즉, 각 회전 관절의 회전 각도를 검출하는 엔코더(도 3 및 도 11의 "회전 각도 검출부"에 해당)가 설치된다. 보행 로봇(100)의 보행 동작 전반을 제어하는 자세 제어부(도 3의 342)는 이러한 액츄에이터들을 적절히 제어함으로써 보행 로봇(100)의 다양한 동작을 구현할 수 있다.
본 발명의 실시예에서는 보행 로봇(100)으로 이족 보행 로봇을 예로 들어 설명하였으나, 이외에 4족 보행 로봇, 6족 보행 로봇 등 다양한 형태의 족형 보행 로봇에 대해서도 본 발명이 적용될 수 있다.
도 3은 본 발명의 실시예에 따른 보행 로봇의 제어 블록도이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 보행 로봇(100)은 입력부(310), 자세 검출부(320), 영상 정보 획득부(330), 제어부(340), 저장부(350), 서보 제어부(360), 구동부(370) 및 회전 각도 검출부(380)를 포함한다.
입력부(310)는 사용자가 보행 로봇(100)의 동작 명령(예: 보행 명령, 작업 명령 등)을 입력하기 위한 것으로, 사용자 인터페이스(UI)나 원격 조작기 등으로 구성할 수 있다.
자세 검출부(320)는 펠비스 링크(16)의 롤 방향, 피치 방향, 요우 방향의 기울기 및 회전 각도를 측정하는 관성 센서(17)와, 보행 로봇(100)의 발(112L, 112R)과 발목 관절부(230)의 사이에 설치되어 발(112L, 112R)의 지면 접촉 여부를 검출하는 힘/토크 센서(24)를 포함한다.
여기서, 관성 센서(17)는 보행 로봇(100)의 가속도, 속도, 방향(각도) 등 다양한 항법 관련 정보를 측정하기 위한 것으로, 각도를 측정하는 기울기 센서와, 각속도를 측정하는 각속도 센서를 포함하여 구성된다. 여기서, 기울기 센서로는 가속도계가 이용되고 각속도 센서로는 레이트 자이로스코프(rate-gyroscope)가 이용된다.
영상 정보 획득부(330)는 피사체로부터 반사되는 빛을 검출하고, 이를 디지털 신호로 변환 및 처리하여 이동 공간 주변의 영상을 획득한다. 이를 위해, 영상 정보 획득부(330)는 이동 공간의 주위를 촬영하는 카메라(41)와, 카메라(41)의 출력을 수신하여 2차원 이미지 영상 및 3차원 거리 정보를 생성하는 영상 처리 모듈로 이루어진다. 카메라(41)로는 CCD(charge-coupled device) 카메라, CMOS(complementary metal oxide) 카메라, TOF(Time of Flight) 카메라 등이 이용될 수 있으며, 이외에도 보행 로봇(100)이 보행하는 경로 상에 위치하는 물체에 대한 영상 정보를 획득할 수 있는 장치라면 어떠한 장치라도 사용 가능함은 물론이다.
제어부(340)는 보행 로봇(100)의 전반적인 동작을 제어하는 것으로, 자세 제어부(342), 오도메트리 정보 산출부(344) 및 위치 추정부(346)를 포함한다.
자세 제어부(342)는 입력부(310)를 통해 입력된 사용자 명령과, 관성 센서(17)를 통해 검출된 보행 로봇(100)의 롤 방향, 피치 방향, 요우 방향의 기울기 및 회전 각도 정보, 힘/토크 센서(24)를 통해 검출된 보행 로봇(100)의 착지 정보(착지 여부 및 착지에 의해 변경되는 축이 되는 발과 움직이는 발) 등을 바탕으로 보행 로봇(100)의 자세를 제어하는 PD(Proportional-Derivative) 또는 PID(Proportional-Integral-Derivative) Controller이다. 자세 제어부(342)는 보행 로봇(100)의 각 다리(110L)(110R)에 장착된 회전 관절들의 목표 회전 각도를 생성하고 생성된 목표 회전 각도를 추종하기 위한 관절 토크(τ)를 산출하여 서보 제어부(360)에 출력한다.
오도메트리 정보 산출부(344)는 보행 동작의 제어 주기마다 이동 공간 상의 원점 좌표계(보행 로봇이 보행 동작을 시작한 지점을 원점으로 하는 좌표계)에 대한 보행 로봇(100)의 위치(좌표)와 자세(각도)를 산출하기 위한 것으로, 저장부(350)에 미리 저장되어 있는 보행 로봇(100)을 구성하는 각 링크의 기구학 정보(길이 정보, 이하 "기구 정보"라 함)와 회전 각도 검출부(380)를 통해 검출된 각 회전 관절의 회전 각도 정보(이하 "관절 각도 정보"라 함)를 이용하여 기구학(Forward Kinematics)을 통해 오도메트리 정보를 산출한다.
위치 추정부(346)는 영상 정보 획득부(330)를 통해 획득된 영상 정보 및 오도메트리 정보 산출부(344)를 통해 산출된 오도메트리 정보에 SLAM 알고리즘을 적용하여 보행 로봇(100) 자신의 위치를 추정함과 동시에 이동 공간에 대응되는 지도를 작성한다. SLAM 알고리즘은 특징점(feature)의 위치와 보행 로봇(100)의 위치 정보 및 자세 정보를 하나의 상태 변수(state)로 설정하여 확률적인 필터 기법을 통해 동시에 추정하게 되며, 그 과정은 예측(Prediction) 단계, 정보 교합(Data Association) 단계 및 갱신(Update) 단계로 이루어져 반복적으로 수행된다. 이 때, 확률 필터로는 확장 칼만 필터(Extended Kalman Filter), 입자 필터(Particle Filter) 등이 사용될 수 있다.
저장부(350)는 보행 로봇(100)이 위치 인식을 수행하기 위해 필요로 하는 사전 정보 및 위치 인식의 수행 결과를 저장하기 위한 메모리로, 저장부(350)에는 기존(발이 있는) 보행 로봇 모델과 발이 제거된 보행 로봇 모델 각각에 대한 링크(관절부와 관절부 사이를 연결하는 기구 구조)의 기구 정보(길이 정보), 보행 로봇(100)의 보행 과정에서 SLAM 알고리즘을 이용하여 산출되는 보행 로봇(100)의 위치 인식 결과(표식의 위치 정보, 보행 로봇의 위치/자세 정보) 및 SLAM 알고리즘을 이용하여 작성되는 이동 공간(작업 공간)에 대한 지도 등이 저장된다.
본 발명의 실시예에서는 위치 인식을 수행하기 위해 필요로 하는 사전 정보 및 위치 인식의 수행 결과를 저장하기 위한 저장부(350)가 별도로 마련되는 구성을 예로 들어 설명하였으나, 저장부(350)의 구성을 채용하지 않고 제어부(340) 내의 내부 메모리에 위치 인식을 위한 사전 정보 등을 저장하도록 구성할 수도 있다.
서보 제어부(360)는 자세 제어부(342)로부터 전달된 목표 회전 각도를 추종하기 위한 관절 토크(τ)에 대응하는 토크 제어 신호를 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)의 각 회전 관절을 회전 구동하는 구동부(360)에 출력한다.
구동부(370)는 관절부를 이루는 각 회전 관절에 전기 또는 유압에 의한 동력을 전달하기 위한 모터 등의 액츄에이터로, 서보 제어부(360)로부터 전달된 토크 제어 신호에 따라 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)의 각 회전 관절을 회전 구동한다. 이족 보행 로봇의 경우, 각각 6개의 회전 관절(힙 관절부-3 자유도, 무릎 관절부-1 자유도, 발목 관절부-2 자유도)을 가지는 두 개의 다리가 장착되기 때문에, 두 다리(110L, 110R)에는 총 12개의 회전 관절이 마련되고, 이 회전 관절들을 구동하기 위해 총 12개의 액츄에이터를 필요로 하게 된다.
회전 각도 검출부(380)는 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 마련된 각 회전 관절을 회전 구동하기 위해 설치된 액츄에이터(구동부)의 회전 각도를 검출하기 위한 것으로, 회전 각도 검출부(380)로는 엔코더(encoder)가 이용될 수 있다.
이하에서는 도 4를 참조하여 본 발명의 실시예에 따른 보행 로봇의 동시 위치 인식 및 지도 작성 방법을 설명하도록 한다.
본 발명의 실시예의 동작설명을 위한 초기조건으로서, 저장부(350)에는 보행 로봇(100)이 위치 인식을 수행하기 위한 사전 정보로서, (발이 있는) 보행 로봇 모델의 링크(관절부와 관절부 사이를 연결하는 기구 구조)의 기구 정보(길이 정보)가 미리 저장되어 있는 것을 전제한다.
입력부(310)를 통해 사용자로부터 보행 로봇(100)의 보행 명령이 입력되면 보행 로봇(100)의 보행이 시작된다.
보행 로봇(100)의 보행이 시작되면 제어부(340)는 영상 정보 획득부(330)로부터 주변 환경에 대한 영상 정보를, 회전 각도 검출부(370)로부터 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)의 각 회전 관절(총 12개의 회전 관절)에 장착된 액츄에이터의 회전 각도 정보(각 회전 관절의 회전 각도 정보)를, 관성 센서(17)로부터 관성 측정 정보(보행 로봇의 롤 방향, 피치 방향, 요우 방향의 기울기 및 회전 각도 정보)를 주기적으로 입력받으면서 보행 동작을 진행한다(410).
보행 로봇(10)의 보행 동작이 진행되는 동안 제어부(340) 내의 오도메트리 정보 산출부(344)는 저장부(350)에 미리 저장되어 있는 각 링크(link)의 기구 정보 및 회전 각도 검출부(370)로부터 입력된 각 회전 관절의 회전 각도 정보를 이용하여 오도메트리 정보를 산출하여 제어부(340) 내의 위치 추정부(346)로 출력한다(420). 오도메트리 정보 산출 과정에 대해서는 이후 도 6 내지 도 10을 참조하여 상세하게 설명하기로 한다.
다음으로, 위치 추정부(346)는 오도메트리 정보 산출부(344)를 통해 산출된 오도메트리 정보를 이용하여 이전 갱신 단계에서 추정된 보행 로봇(100)의 위치/자세 정보 및 표식(landmark)의 위치 정보로부터 현재 주행 로봇(100)의 위치/자세 정보 및 특징점(feature)의 위치 정보를 예측한다(430). 이 과정은 SLAM 알고리즘의 예측(Prediction) 단계에 해당한다.
이후, 위치 추정부(346)는 저장부(350)에 저장되어 있는 기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단한다(440). 즉, 위치 추정부(346)는 특징점의 추적(tracking) 및 매칭(matching) 과정을 통해 현재 획득된 영상 정보로부터 추출된 특징점이 기존에 표식으로 사용되고 있던 것인지, 아니면 새로운 특징점으로 등록해야 하는 것인지 여부를 판단한다. 이 과정은 SLAM 알고리즘의 정보 교합(Data Association) 단계에 해당한다.
다음으로, 위치 추정부(346)는 기존에 표식으로 등록된 특징점의 위치 정보와 현재 획득된 영상 정보로부터 추출되어 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 예측 단계에서 예측한 보행 로봇(100)의 위치/자세 정보 및 표식으로 등록된 특징점(feature)의 위치 정보를 갱신한다(450). 이 과정은 SLAM 알고리즘의 갱신(Update) 단계에 해당한다.
이후, 제어부(340)는 보행 로봇(100)의 이동이 정지되었는가 여부를 판단한다(460). 제어부(340)는 입력부(310)를 통해 사용자로부터 보행 로봇(100)의 보행 정지 명령이 입력되거나, 회전 각도 검출부(380)로부터 더 이상의 회전 각도 정보가 입력되지 않으면 보행 로봇(100)의 이동이 정지된 것으로 판단한다.
보행 로봇(100)의 이동이 정지되지 않았으면(460에서의 '아니오') 제어부(340)는 동작 410으로 리턴하여 계속적으로 영상 정보, 각 회전 관절의 회전 각도 정보 및 관성 측정 정보를 획득하면서 보행 동작을 수행하도록 제어한다. 보행 로봇(100)의 이동이 정지되었으면(460에서의 '예') 제어부(340)는 이동 공간에 대해 최종적으로 작성된 지도를 저장부(350)에 저장하고 보행 로봇(100)의 위치 인식 및 지도 작성(SLAM) 과정을 종료한다.
이하에서는 도 5를 참조하여 보행 로봇의 보행 제어 방식 중 토크 기반의 FSM(Finite State Machine) 제어 방식에 대해 설명하도록 한다.
보행 로봇(100)의 보행 제어 방식(액츄에이터의 구동 방식)에는 각 관절의 지령(command) 각도, 즉 지령(command) 위치를 주고 그것을 추종 제어하는 위치 기반의 ZMP(Zero Moment Point) 제어 방식과, 각 관절의 지령(command) 토크를 주고 그것을 추종 제어하는 토크 기반의 FSM(Finite State Machine) 제어 방식이 있다.
ZMP 제어 방식은 위치 기반의 제어 방법이기 때문에 정확한 위치 제어가 가능한 반면, ZMP를 제어하기 위해 각 관절의 정확한 각도 제어를 수행해야 하므로 높은 서보 게인을 필요로 한다. 또한 각 관절의 각도를 계산하기 위해선 기구학적 특이점(Kinematic Singularity)을 피해야 하므로 보행 중 무릎을 항상 굽힌 자세를 유지하게 되어 인간과 다른 부자연스러운 보행을 하게 된다.
따라서, 보행 로봇(100)이 인간과 유사한 방식으로 보행하도록 하기 위해 토크 기반의 FSM 제어 방식이 새롭게 제안되었다. 도 5에 도시된 바와 같이, FSM 제어 방식은 기존의 ZMP 제어 방식과는 다르게 발(112L, 112R)과 지면 사이에 발을 내딛는(Heel-landing) 과정(도 5의 (a) 참조)과 발을 떼는(Toe-off) 과정이 추가된다. 보행 로봇(100)이 이러한 FSM 제어 방식에 따라 보행하는 경우에는 ZMP 제어 방식에 따라 보행하는 경우에 비해 힙 관절부(210)를 포함한 다른 관절부들(220, 230)의 움직임이 상대적으로 증가하게 된다. 여기서, 본 발명의 실시예에 따른 보행 로봇(100)을 FSM 제어 방식에 따라 보행 제어하게 되면 힙 관절부(210) 등의 움직임 증가로 인해 주변 환경을 촬영하기 위한 카메라(41)에 입력되는 외란(disturbance)도 더 커지게 된다.
영상 기반 SLAM 알고리즘을 이용하여 보행 로봇(100)의 위치 인식을 수행하는 경우, 보행 로봇(100)의 보행 중 발생하는 각 관절부의 움직임과 진동이 카메라(41)에 외란(disturbance)으로 작용하여 카메라(41)를 통해 획득되는 영상 정보에도 영향을 주기 때문에, 카메라(41)를 통해 획득한 영상 정보만으로 보행 로봇(100)의 위치를 정확하게 추정하기에는 현실적으로 많은 어려움이 있다는 점은 앞서 언급한 바 있다.
따라서, 본 발명의 실시예에서는 영상 기반 SLAM 알고리즘을 이용하여 보행 로봇(100)의 위치 인식을 수행하는 경우에, 카메라(41)를 통해 획득한 영상 정보 외에도 오도메트리 정보를 추가적으로 이용함으로써 위치 인식의 성능(정확성, 수렴성)을 향상시킬 수 있는 방안을 제안하고자 한다.
다만, 전술한 바와 같이 보행 로봇(100)을 FSM 제어 방식에 따라 보행 제어하는 경우에는 ZMP 제어 방식에 따라 보행 제어하는 경우에 비해 카메라(41)에 입력되는 외란(disturbance)이 더 커지고 그만큼 위치 인식 성능 향상의 필요성도 더 크다고 볼 수 있기 때문에, 본 발명의 실시예에서는 보행 로봇(100)이 FSM 제어 방식에 따라 보행하는 경우를 위주로 오도메트리 정보를 이용하여 위치 인식의 성능을 향상시킬 수 있는 방안에 대해 설명하도록 한다.
이하에서는 도 6 내지 도 10을 참조하여 오도메트리 정보의 산출 과정에 대해 설명하도록 한다.
본 발명의 실시예에서 SLAM 알고리즘의 예측(Prediction) 단계에 제공하고자 하는 오도메트리 정보는 이동 공간 상의 원점 좌표계(보행 로봇이 보행 동작을 시작한 지점을 원점으로 하는 좌표계)에 대한 보행 로봇(100)에 장착된 영상 정보 획득부(330; 좀 더 구체적으로 카메라(41))의 위치(좌표) 정보 및 자세(각도) 정보로 정의한다. 다만, 오도메트리 정보는 보행 로봇(100)의 보행 동작과 관련하여 산출되는 정보이기 때문에 보행 로봇(100)의 상체(101)를 이루는 관절부(240 내지 280)의 움직임을 고려할 필요는 없고, 보행 로봇(100)의 하체(103)를 이루는 관절부, 즉 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)의 움직임만을 고려하여 산출하면 된다. 따라서, 본 발명의 실시예에서는 먼저 이동 공간 상의 원점 좌표계에 대한 보행 로봇(100)의 골반(15, 좀 더 구체적으로 골반(15)과 허리 관절부(240)의 접점; 도 6의 "pel" 참조)의 위치 정보 및 자세 정보를 산출하고, 산출된 골반(15)의 위치 정보 및 자세 정보와 보행 로봇(100)의 골반(15)과 카메라(41)를 연결하는 링크 또는 관절들의 기구 정보의 벡터합으로 최종적인 오도메트리 정보(SLAM 알고리즘의 예측 단계에 제공하고자 하는 정보), 즉 이동 공간 상의 원점 좌표계에 대한 카메라(41)의 위치 정보 및 자세 정보를 산출한다.
우선, 오도메트리 정보 산출부(344)는 보행 동작의 제어 주기마다 추측 항법(dead reckoning)을 사용하여 원점 좌표계에 대한 보행 로봇(100)의 골반(15)의 위치 정보 및 자세 정보(이하 "중간 오도메트리 정보"라 함)를 반복적으로 산출한다. 이전 단계(이전 제어 주기; (k-1) 단계)에서의 중간 오도메트리 정보는 아래의 [수학식 1]과 같이 회전 변환 행렬(Rotation Matrix;
Figure pat00001
)과 병진 변환 행렬(Translation Matrix;
Figure pat00002
)로 구성된 SE3 형식의 3차원 강체 변환 행렬로 표현된다.
[수학식 1]
Figure pat00003
도 6은 보행 로봇(100)을 FSM 제어 방식에 따라 보행 제어하는 경우 보행 로봇(100)이 평면 위를 보행하는 모습을 나타낸 도면이다. 여기서, 도 6의 (a)는 왼쪽 발(112L)을 축이 되는 발로 하여 보행하기 위한 대기 상태를, 도 6의 (b)는 오른쪽 발(112L)을 떼는 과정(Toe-off 과정)을, 도 6의 (c)는 오른쪽 발(112L)을 내딛는 과정(Heel-landing 과정)을, 도 6의 (d)는 오른쪽 발(112R)을 축이 되는 발로 하여 보행하기 위한 대기 상태를 나타낸다.
일반적으로 보행 로봇(100)은 축이 되는 발(contacted foot)과 움직이는 발(swing foot)을 번갈아 바꿔가면서 보행하게 되며(ZMP 제어 방식에 따라 보행 제어하는 경우에도 마찬가지임), 이 때 축이 되는 발과 움직이는 발이 어느 쪽 발인지는 발(112L, 112R)과 발목 관절부(230)의 사이에 설치된 힘/토크 센서(24)의 검출 정보를 이용하여 판단할 수 있다. (k-1) 단계에서의 원점(O)에 대한 축이 되는 발(contacted foot; cf)의 위치는 아래의 [수학식 2]과 같이 (k-1) 단계에서의 중간 오도메트리 정보와 (k-1) 단계에서 기구 정보와 관절 각도 정보를 이용하여 산출된 골반(pel)에서 축이 되는 발(cf)까지의 기구학 정보를 이용하여 산출된다.
[수학식 2]
Figure pat00004
현재 단계(현재 제어 주기; (k) 단계)에서의 중간 오도메트리 정보는 아래의 [수학식 3]과 같이 (k-1) 단계에서의 원점(O)에 대한 축이 되는 발(cf)의 위치와, (k) 단계에서 기구 정보와 관절 각도 정보를 이용하여 산출된 축이 되는 발(cf)에서 골반(pel)까지의 기구학 정보를 이용하여 산출된다.
[수학식 3]
Figure pat00005
전술한 중간 오도메트리 정보를 산출하는 방식은 보행 로봇(100)이 평면 위를 보행하는 경우뿐만 아니라, 보행 로봇(100)이 경사면 위를 보행하는 경우(도 7의 (a) 참조)나, 계단을 보행하는 경우(도 7의 (b) 참조)와 같이 높이 변화가 있는 환경에서 보행하는 경우에도 적용이 가능하다. 또한 전술한 중간 오도메트리 정보를 산출하는 방식은 보행 로봇(100)을 FSM 제어 방식에 따라 보행 제어하는 경우와 ZMP 제어 방식에 따라 보행 제어하는 경우에 공통적으로 적용된다.
보행 로봇(100)을 ZMP 제어 방식에 따라 보행 제어하는 경우에는 전술한 [수학식 1] 내지 [수학식 3]을 이용하여 산출된 중간 오도메트리 정보와 보행 로봇(100)의 골반(15)과 카메라(41)를 연결하는 링크 또는 관절들의 기구 정보의 벡터합으로 산출되는 최종 오도메트리 정보를 SLAM 알고리즘의 예측 단계에 제공하는 것만으로도 위치 인식의 성능(정확성, 수렴성)을 향상시킬 수 있다.
하지만, 보행 로봇(100)을 FSM 제어 방식에 따라 보행 제어하는 경우에 기존의 발이 있는 보행 로봇 모델(도 9의 (a) 참조)을 이용하여 중간 오도메트리 정보를 산출하게 되면, 발을 내딛는(Heel-landing) 동작의 영향으로 인해 보행 로봇(100)이 실제 직진으로 평면 위를 보행하였음에도 불구하고 도 8에 도시된 바와 같이((a)→(b)→(c) 순서로 보행 동작 진행), 중간 오도메트리 정보는 보행 로봇(100)이 마치 경사면을 보행한 것처럼 산출된다. 이러한 비정상적인 중간 오도메트리 정보를 이용한 최종 오도메트리 정보를 SLAM 알고리즘의 예측 단계에 제공하게 되면, 현재 영상에서 예측되는 특징점의 위치를 부정확하게 만들고, 이는 특징점의 추적(tracking) 및 매칭(matching)을 불가능하게 하여 결과적으로 위치 인식 성능의 저하를 불러 일으킬 수 있다.
따라서, 본 발명의 실시예에서는 기존의 발이 있는 보행 로봇 모델(도 9의 (a) 참조)에서 발이 제거된 형태의 새로운 보행 로봇 모델(도 9의 (b) 참조)을 사용하여 중간 오도메트리 정보를 산출한다. 발이 제거된 보행 로봇 모델은 도 9의 (b)에 도시된 바와 같이 발 부분을 제외한 전체 기구 모델은 기존의 보행 로봇 모델(도 9의 (a) 참조)과 동일하며, 기존의 보행 로봇 모델의 하퇴 링크(22; 인간의 종아리에 해당)를 발(112L, 112R)의 바닥면까지 연장하여 사용한다. 여기서, 발이 제거된 보행 로봇 모델에서 기존의 보행 로봇 모델의 하퇴 링크(22)에 해당하는 부분(22´)은 무릎 관절부(220)와 (기존 보행 로봇 모델의) 발(112L, 112R)과 지면의 접촉점(c)을 연결한다(발목 관절부(230)가 제거된 형태).
이러한 발이 제거된 보행 로봇 모델을 이용하여 중간 오도메트리 정보를 산출하는 경우, 기존의 보행 로봇 모델을 사용하여 중간 오도메트리 정보를 산출하는 방식에서와 마찬가지로 보행 로봇(100)이 평면 위를 보행하는 경우뿐만 아니라, 경사면이나 계단을 보행하는 경우에도 중간 오도메트리 정보를 산출하는 것이 가능하다.
또한, 발이 제거된 보행 로봇 모델은 발목 관절부(230)가 제거된 형태이기 때문에 발을 내딛는(Heel-landing) 동작의 영향을 최소화할 수 있다. 따라서, 보행 로봇(100)을 FSM 제어 방식에 따라 평면 위를 직진 보행하도록 제어하는 경우에 발이 제거된 보행 로봇 모델을 이용하여 중간 오도메트리 정보를 산출하게 되면 도 10에 도시된 바와 같이((a)→(b)→(c) 순서로 보행 동작 진행), 정상적인 중간 오도메트리 정보를 산출할 수 있다. 이로 인해 카메라(41)에 입력되는 외란이 커지는 FSM 제어 방식에 따라 보행 로봇(100)을 보행 제어하는 경우에도 정확한 특징점 매칭 및 추적을 수행할 수 있어 영상 기반 위치 인식의 성능을 향상시킬 수 있게 된다.
SLAM 알고리즘의 예측 단계에 오도메트리 정보를 제공할 때, 기존의 발이 있는 보행 로봇 모델을 사용하여 [수학식 1] 내지 [수학식 3]을 통해 산출된 중간 오도메트리 정보를 이용하는 경우에는 보행 로봇(100)을 ZMP 제어 방식에 따라 보행 제어하는 경우에만 위치 인식 성능 효과를 기대할 수 있다. 반면, 발이 제거된 형태의 새로운 보행 로봇 모델을 사용하여 [수학식 1] 내지 [수학식 3]을 통해 산출된 중간 오도메트리 정보를 이용하는 경우에는 보행 로봇(100)을 ZMP 제어 방식에 따라 보행 제어하는 경우뿐만 아니라 FSM 제어 방식에 따라 보행 제어하는 경우에도 위치 인식 성능 효과를 기대할 수 있다. 따라서, 중간 오도메트리 정보 산출 시, 발이 있는 보행 로봇 모델을 사용하는 것보다 발이 제거된 보행 로봇 모델을 사용하는 것이 더 범용적(汎用的)이라고 할 수 있다.
일반적으로, 보행 로봇(100)의 제어부(340)에는 보행 로봇(100)이 지면에 서 있거나 보행하는 동안 직립 자세를 유지하면서 실시간으로 균형을 유지할 수 있도록 하기 위한 밸런싱(balancing) 알고리즘이 구현되어 있으며, 이를 위해서는 관성 센서(17)의 설치가 필수적이다.
따라서, 본 발명에서는 다른 실시예로서 기구 정보와 관절 각도 정보를 이용하여 산출된 중간 오도메트리 정보의 정확도를 향상시키기 위해 산출된 중간 오도메트리 정보에 관성 센서(17)를 통해 검출된 관성 측정 정보(보행 로봇(100)의 롤 방향, 피치 방향, 요우 방향의 기울기 및 회전 각도 정보; Quaternion 형태로 표현됨)를 융합하고, 융합된 정보를 SLAM 알고리즘의 예측 단계에 제공하여 자기 위치 인식 및 지도 작성을 수행하는 방식을 제안하고자 한다.
3차원 강체 변환으로 표현되는 중간 오도메트리 정보는 융합 과정을 위해 아래의 [수학식 4]와 같이 벡터(vector) 형태의 병진 변환 행렬과 회전 변환 행렬(Quaternion)로 표현할 수 있다.
[수학식 4]
Figure pat00006
중간 오도메트리 정보(
Figure pat00007
)와 관성 센서(17)의 관성 측정 정보(
Figure pat00008
)는 확장 칼만 필터(Extended Kalman Filter; EKF) 기반의 정보 융합 과정을 통해 갱신(Update)되며, 아래의 [수학식 5] 내지 [수학식 7]을 이용한 확장 칼만 필터 기반의 갱신 과정을 통해 불확실성이 있는 서로 다른 두 정보(중간 오도메트리 정보와 관성 측정 정보)를 융합하여 보다 정확한 중간 오도메트리 정보(
Figure pat00009
)를 산출할 수 있다.
[수학식 5]
Figure pat00010
[수학식 6]
Figure pat00011
여기서,
Figure pat00012
는 확장 칼만 필터의 이득(gain)을 의미한다.
[수학식 7]
Figure pat00013
여기서,
Figure pat00014
는 관성 센서(17)의 관성 측정 정보의 노이즈 오차를 표현하는 공분산 행렬(Covariance Matrix)을 의미한다.
또한, 위의 [수학식 5]에서 확장 칼만 필터 기반의 갱신 과정을 위해 사용되는 관성 센서(17)의 관성 측정 정보와 중간 오도메트리 정보의 차이인
Figure pat00015
는 아래의 [수학식 8]과 같이 관성 센서(17)의 검출 정보인 Quaternion과 중간 오도메트리 정보로부터 산출되는 Quaternion의 켤레 복소수(conjugate)로부터 산출되며,
Figure pat00016
의 Jacobian 행렬도 아래의 [수학식 9]와 같이
Figure pat00017
를 직접 미분하여 구할 수 있다.
[수학식 8]
Figure pat00018
[수학식 9]
Figure pat00019
전술한 방식으로 얻어진 융합 정보(
Figure pat00020
)는 앞서 설명한 본 발명의 실시예에 따른 오도메트리 정보를 이용한 영상 기반 위치 인식 및 지도 작성 방법에 그대로 적용될 수 있으며, 오도메트리 정보 산출 및 관성 센서(17)의 정보 검출 시의 오차로 인한 영향을 최소화하여 보다 정확한 위치 인식 및 지도 작성을 가능하게 한다.
도 11은 본 발명의 다른 실시예에 따른 보행 로봇의 제어 블록도이다.
도 11에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 보행 로봇(100)은 도 3에 도시된 본 발명의 실시예에 따른 보행 로봇(100)과 다른 구성 요소들은 모두 동일하며, 제어부(340) 내에 정보 융합부(348)를 더 포함하고 있다는 점에서 차이가 있다.
도 3에 관한 설명에서 언급한 바와 같이, 본 발명의 실시예에 따른 보행 로봇(100)의 오도메트리 정보 산출부(344)는 기구 정보와 관절 각도 정보를 이용하여 오도메트리 정보를 산출하고, 산출된 오도메트리 정보를 SLAM 알고리즘의 예측 단계에 위치 추정부(346)로 출력하여 오도메트리 정보를 이용한 위치 인식 및 지도 작성을 수행하도록 한다.
반면, 도 11에 도시된 바와 같이 본 발명의 다른 실시예에 따른 보행 로봇(100)의 오도메트리 정보 산출부(344)는 기구 정보와 관절 각도 정보를 이용하여 산출한 오도메트리 정보를 곧바로 위치 추정부(346)에 제공하는 것이 아니라, 먼저 산출한 오도메트리 정보를 정보 융합부(348)로 출력하고, 정보 융합부(348)는 오도메트리 정보 산출부(344)로부터 전달된 오도메트리 정보에 관성 센서(17)의 검출 정보(보행 로봇(100)의 롤 방향, 피치 방향, 요우 방향의 기울기 및 회전 각도 정보)를 융합하고 융합된 정보를 위치 추정부(346)로 출력함으로써, SLAM 알고리즘의 예측 단계에서 융합된 정보(더 정확한 오도메트리 정보)를 이용한 위치 인식 및 지도 작성을 수행하도록 한다.
도 11에 도시된 본 발명의 다른 실시예에 따른 보행 로봇(100)의 구성 요소 중 정보 융합부(348)를 제외한 다른 구성 요소들은 도 3에 도시된 본 발명의 실시예에 따른 보행 로봇(100)의 구성 요소들과 동일하기 때문에, 여기서는 다른 구성 요소들에 대한 설명은 생략하도록 한다.
이하에서는 도 12를 참조하여 본 발명의 다른 실시예에 따른 보행 로봇의 동시 위치 인식 및 지도 작성 방법을 설명하도록 한다.
본 발명의 다른 실시예의 동작설명을 위한 초기조건으로서, 저장부(350)에는 보행 로봇(100)이 위치 인식을 수행하기 위한 사전 정보로서, 발이 있는 보행 로봇 모델과 발이 제거된 보행 로봇 모델 각각에 대한 링크(관절부와 관절부 사이를 연결하는 기구 구조)의 기구 정보(길이 정보)가 미리 저장되어 있는 것을 전제한다.
입력부(310)를 통해 사용자로부터 보행 로봇(100)의 보행 명령이 입력되면 보행 로봇(100)의 보행이 시작된다.
보행 로봇(100)의 보행이 시작되면 제어부(340)는 영상 정보 획득부(330)로부터 주변 환경에 대한 영상 정보를, 회전 각도 검출부(370)로부터 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)의 각 회전 관절(총 12개의 회전 관절)에 장착된 액츄에이터의 회전 각도 정보(각 회전 관절의 회전 각도 정보)를, 관성 센서(17)로부터 관성 측정 정보(보행 로봇의 롤 방향, 피치 방향, 요우 방향의 기울기 및 회전 각도 정보)를 주기적으로 입력받으면서 보행 동작을 진행한다(510).
보행 로봇(10)의 보행 동작이 진행되는 동안 제어부(340) 내의 오도메트리 정보 산출부(344)는 저장부(350)에 미리 저장되어 있는 각 링크(link)의 기구 정보 및 회전 각도 검출부(370)로부터 입력된 각 회전 관절의 회전 각도 정보를 이용하여 오도메트리 정보를 산출하여 제어부(340) 내의 정보 융합부(348)로 출력한다(520).
이후, 정보 융합부(348)는 오도메트리 정보 산출부(344)로부터 전달된 오도메트리 정보에 관성 센서(17)의 검출 정보(보행 로봇(100)의 롤 방향, 피치 방향, 요우 방향의 기울기 및 회전 각도 정보)를 융합하고, 융합된 정보를 제어부(340) 내의 위치 추정부(346)에 제공한다(530).
다음으로, 위치 추정부(346)는 정보 융합부(348)를 통해 융합된 정보(오도메트리 정보와 관성 센서(17)의 검출 정보)를 이용하여 이전 갱신 단계에서 추정된 주행 로봇(100)의 위치/자세 정보 및 표식(landmark)의 위치 정보로부터 현재 주행 로봇(100)의 위치/자세 정보 및 특징점(feature)의 위치 정보를 예측한다(540). 이 과정은 SLAM 알고리즘의 예측(Prediction) 단계에 해당한다.
이후, 위치 추정부(346)는 저장부(350)에 저장되어 있는 기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단한다(550). 즉, 위치 추정부(346)는 특징점의 추적(tracking) 및 매칭(matching) 과정을 통해 현재 획득된 영상 정보로부터 추출된 특징점이 기존에 표식으로 사용되고 있던 것인지, 아니면 새로운 특징점으로 등록해야 하는 것인지 여부를 판단한다. 이 과정은 SLAM 알고리즘의 정보 교합(Data Association) 단계에 해당한다.
다음으로, 위치 추정부(346)는 기존에 표식으로 등록된 특징점의 위치 정보와 현재 획득된 영상 정보로부터 추출되어 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 예측 단계에서 예측한 보행 로봇(100)의 위치/자세 정보 및 표식으로 등록된 특징점(feature)의 위치 정보를 갱신한다(560). 이 과정은 SLAM 알고리즘의 갱신(Update) 단계에 해당한다.
이후, 제어부(340)는 보행 로봇(100)의 이동이 정지되었는가 여부를 판단한다(570). 제어부(340)는 입력부(310)를 통해 사용자로부터 보행 로봇(100)의 보행 정지 명령이 입력되거나, 회전 각도 검출부(380)로부터 더 이상의 회전 각도 정보가 입력되지 않으면 보행 로봇(100)의 이동이 정지된 것으로 판단한다.
보행 로봇(100)의 이동이 정지되지 않았으면(570에서의 '아니오') 제어부(340)는 동작 410으로 리턴하여 계속적으로 영상 정보, 각 회전 관절의 회전 각도 정보 및 관성 측정 정보를 획득하면서 보행 동작을 수행하도록 제어한다. 보행 로봇(100)의 이동이 정지되었으면(570에서의 '예') 제어부(340)는 이동 공간에 대해 최종적으로 작성된 지도를 저장부(350)에 저장하고 보행 로봇(100)의 위치 인식 및 지도 작성(SLAM) 과정을 종료한다.
100 : 보행 로봇 310 : 입력부
320 : 자세 검출부 330 : 영상 정보 획득부
340 : 제어부 342 : 자세 제어부
344 : 오도메트리 정보 산출부 346 : 위치 추정부
348 : 정보 융합부 350 : 저장부
360 : 서보 제어부 370 : 구동부
380 : 회전 각도 검출부

Claims (20)

  1. 보행 로봇이 보행하는 이동 공간 주변의 영상 정보 및 상기 보행 로봇의 보행과 관련된 회전 관절의 회전 각도 정보를 획득하고;
    상기 보행 로봇을 구성하는 각 링크의 기구 정보 및 상기 회전 각도 정보를 이용하여 오도메트리 정보를 산출하고;
    상기 영상 정보 및 상기 오도메트리 정보를 이용하여 상기 보행 로봇의 위치를 인식하고 상기 이동 공간에 대한 지도를 작성하는 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  2. 제 1 항에 있어서,
    상기 오도메트리 정보는 상기 이동 공간의 원점 좌표계에 대한 상기 보행 로봇의 위치 정보 및 자세 정보인 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  3. 제 1 항에 있어서,
    상기 보행 로봇의 보행과 관련된 회전 관절은 힙 관절부, 무릎 관절부 및 발목 관절부를 이루는 복수의 회전 관절인 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  4. 제 3 항에 있어서, 상기 오도메트리 정보 산출 시 이용하는 상기 각 링크의 기구 정보는 발과 상기 발목 관절부가 제거된 보행 로봇 모델의 상기 각 링크의 기구 정보인 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  5. 제 1 항에 있어서, 상기 보행 로봇의 위치를 인식하고 상기 이동 공간에 대한 지도를 작성하는 것은:
    현재 획득된 영상 정보 및 상기 오도메트리 정보를 이용하여 상기 보행 로봇의 위치 정보 및 자세 정보와, 특징점의 위치 정보를 예측하고;
    기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단하고;
    상기 기존의 표식의 위치 정보와 상기 현재 획득된 영상 정보로부터 추출되어 상기 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 상기 예측된 보행 로봇의 위치 정보 및 자세 정보와, 표식으로 등록된 특징점의 위치 정보를 갱신하는 것을 포함하는 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  6. 보행 로봇이 보행하는 이동 공간 주변의 영상 정보, 상기 보행 로봇의 보행과 관련된 회전 관절의 회전 각도 정보 및 상기 보행 로봇의 관성 측정 정보를 획득하고;
    상기 보행 로봇을 구성하는 각 링크의 기구 정보 및 상기 회전 각도 정보를 이용하여 오도메트리 정보를 산출하고;
    상기 오도메트리 정보와 상기 관성 측정 정보를 융합하고;
    상기 영상 정보 및 상기 융합된 정보를 이용하여 상기 보행 로봇의 위치를 인식하고 상기 이동 공간에 대한 지도를 작성하는 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  7. 제 6 항에 있어서,
    상기 오도메트리 정보는 상기 이동 공간의 원점 좌표계에 대한 상기 보행 로봇의 위치 정보 및 자세 정보인 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  8. 제 6 항에 있어서,
    상기 보행 로봇의 보행과 관련된 회전 관절은 힙 관절부, 무릎 관절부 및 발목 관절부를 이루는 복수의 회전 관절인 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  9. 제 8 항에 있어서, 상기 오도메트리 정보 산출 시 이용하는 상기 각 링크의 기구 정보는 발과 상기 발목 관절부가 제거된 보행 로봇 모델의 상기 각 링크의 기구 정보인 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  10. 제 6 항에 있어서, 상기 보행 로봇의 위치를 인식하고 상기 이동 공간에 대한 지도를 작성하는 것은:
    현재 획득된 영상 정보 및 상기 융합된 정보를 이용하여 상기 보행 로봇의 위치 정보 및 자세 정보와, 특징점의 위치 정보를 예측하고;
    기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단하고;
    상기 기존의 표식의 위치 정보와 상기 현재 획득된 영상 정보로부터 추출되어 상기 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 상기 예측된 보행 로봇의 위치 정보 및 자세 정보와, 표식으로 등록된 특징점의 위치 정보를 갱신하는 것을 포함하는 보행 로봇의 동시 위치 인식 및 지도 작성 방법.
  11. 보행 로봇이 보행하는 이동 공간 주변의 영상 정보를 획득하는 영상 정보 획득부;
    상기 보행 로봇의 보행과 관련된 회전 관절의 회전 각도 정보를 획득하는 회전 각도 검출부; 및
    상기 보행 로봇을 구성하는 각 링크의 기구 정보 및 상기 회전 각도 정보를 이용하여 오도메트리 정보를 산출하고, 상기 영상 정보 및 상기 오도메트리 정보를 이용하여 상기 보행 로봇의 위치를 인식하고 상기 이동 공간에 대한 지도를 작성하는 제어부를 포함하는 보행 로봇.
  12. 제 11 항에 있어서,
    상기 오도메트리 정보는 상기 이동 공간의 원점 좌표계에 대한 상기 보행 로봇의 위치 정보 및 자세 정보인 보행 로봇.
  13. 제 11 항에 있어서,
    상기 보행 로봇의 보행과 관련된 회전 관절은 힙 관절부, 무릎 관절부 및 발목 관절부를 이루는 복수의 회전 관절인 보행 로봇.
  14. 제 13 항에 있어서, 상기 오도메트리 정보 산출 시 이용하는 상기 각 링크의 기구 정보는 발과 상기 발목 관절부가 제거된 보행 로봇 모델의 상기 각 링크의 기구 정보인 보행 로봇.
  15. 제 11 항에 있어서,
    상기 제어부는 현재 획득된 영상 정보 및 상기 오도메트리 정보를 이용하여 상기 보행 로봇의 위치 정보 및 자세 정보와, 특징점의 위치 정보를 예측하고, 기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단하고, 상기 기존의 표식의 위치 정보와 상기 현재 획득된 영상 정보로부터 추출되어 상기 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 상기 예측된 보행 로봇의 위치 정보 및 자세 정보와, 표식으로 등록된 특징점의 위치 정보를 갱신하는 보행 로봇.
  16. 보행 로봇이 보행하는 이동 공간 주변의 영상 정보를 획득하는 영상 정보 획득부;
    상기 보행 로봇의 보행과 관련된 회전 관절의 회전 각도 정보를 획득하는 회전 각도 검출부;
    상기 보행 로봇의 관성 측정 정보를 획득하는 관성 센서; 및
    상기 보행 로봇을 구성하는 각 링크의 기구 정보 및 상기 회전 각도 정보를 이용하여 오도메트리 정보를 산출하고, 상기 오도메트리 정보와 상기 관성 측정 정보를 융합하고, 상기 영상 정보 및 상기 융합된 정보를 이용하여 상기 보행 로봇의 위치를 인식하고 상기 이동 공간에 대한 지도를 작성하는 제어부를 포함하는 보행 로봇.
  17. 제 16 항에 있어서,
    상기 오도메트리 정보는 상기 이동 공간의 원점 좌표계에 대한 상기 보행 로봇의 위치 정보 및 자세 정보인 보행 로봇.
  18. 제 16 항에 있어서,
    상기 보행 로봇의 보행과 관련된 회전 관절은 힙 관절부, 무릎 관절부 및 발목 관절부를 이루는 복수의 회전 관절인 보행 로봇.
  19. 제 18 항에 있어서, 상기 오도메트리 정보 산출 시 이용하는 상기 각 링크의 기구 정보는 발과 상기 발목 관절부가 제거된 보행 로봇 모델의 상기 각 링크의 기구 정보인 보행 로봇.
  20. 제 16 항에 있어서,
    상기 제어부는 현재 획득된 영상 정보 및 상기 융합된 정보를 이용하여 상기 보행 로봇의 위치 정보 및 자세 정보와, 특징점의 위치 정보를 예측하고, 기존의 표식과 현재 획득된 영상 정보로부터 추출된 특징점 간의 동일성을 판단하고, 상기 기존의 표식의 위치 정보와 상기 현재 획득된 영상 정보로부터 추출되어 상기 기존의 표식과 매칭된 특징점의 위치 정보를 이용하여 상기 예측된 보행 로봇의 위치 정보 및 자세 정보와, 표식으로 등록된 특징점의 위치 정보를 갱신하는 것을 포함하는 보행 로봇.
KR1020100131790A 2010-12-21 2010-12-21 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법 KR20120070291A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100131790A KR20120070291A (ko) 2010-12-21 2010-12-21 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법
US13/326,680 US8873831B2 (en) 2010-12-21 2011-12-15 Walking robot and simultaneous localization and mapping method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100131790A KR20120070291A (ko) 2010-12-21 2010-12-21 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020170166695A Division KR20170138977A (ko) 2017-12-06 2017-12-06 보행 로봇 및 그의 위치 인식과 지도 작성을 동시에 수행하는 방법

Publications (1)

Publication Number Publication Date
KR20120070291A true KR20120070291A (ko) 2012-06-29

Family

ID=46234516

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100131790A KR20120070291A (ko) 2010-12-21 2010-12-21 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법

Country Status (2)

Country Link
US (1) US8873831B2 (ko)
KR (1) KR20120070291A (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101456576B1 (ko) * 2013-07-10 2014-10-31 한국원자력연구원 인-파이프 로봇의 자세 추정 장치 및 방법
WO2015194868A1 (ko) * 2014-06-17 2015-12-23 (주)유진로봇 광각 카메라가 탑재된 이동 로봇의 주행을 제어하기 위한 장치 및 그 방법
WO2015194864A1 (ko) * 2014-06-17 2015-12-23 (주)유진로봇 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
WO2016093607A1 (ko) * 2014-12-12 2016-06-16 한국항공우주연구원 이동체 제어 장치, 방법 및 그 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체
US10275649B2 (en) 2014-06-17 2019-04-30 Yujin Robot Co., Ltd. Apparatus of recognizing position of mobile robot using direct tracking and method thereof
US10307910B2 (en) 2014-06-17 2019-06-04 Yujin Robot Co., Ltd. Apparatus of recognizing position of mobile robot using search based correlative matching and method thereof
US10399228B2 (en) 2014-06-17 2019-09-03 Yujin Robot Co., Ltd. Apparatus for recognizing position of mobile robot using edge based refinement and method thereof
US10556340B2 (en) 2014-12-12 2020-02-11 Korea Aerospace Research Institute Apparatus and method for controlling moving object, and computer-readable recording medium in which program for implementing method in computer is recorded
KR20200132098A (ko) * 2019-05-15 2020-11-25 주식회사 폴라리스쓰리디 위치 측정 시스템과 이를 구비하는 이동 수단 및 이를 수행하기 위한 컴퓨팅 장치

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101732901B1 (ko) * 2010-10-05 2017-05-08 삼성전자주식회사 보행 로봇 및 그 제어방법
US8798840B2 (en) * 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
GB2506338A (en) * 2012-07-30 2014-04-02 Sony Comp Entertainment Europe A method of localisation and mapping
KR102048954B1 (ko) * 2012-10-25 2020-01-09 한국전자통신연구원 실내 인프라 정보 제공 시스템, 장치 및 방법
KR101428877B1 (ko) * 2012-12-05 2014-08-14 엘지전자 주식회사 로봇 청소기
CN103900555B (zh) * 2012-12-30 2016-12-28 联想(北京)有限公司 一种可移动电子设备的定位方法及可移动电子设备
FR3004570B1 (fr) * 2013-04-11 2016-09-02 Aldebaran Robotics Procede d'estimation de la deviation angulaire d'un element mobile relativement a une direction de reference
US9922427B2 (en) * 2014-06-06 2018-03-20 Infineon Technologies Ag Time-of-flight camera with location sensor system
US9283949B2 (en) * 2014-07-22 2016-03-15 Google Inc. Hybrid hydraulic and electrically actuated mobile robot
US9259838B1 (en) 2014-07-24 2016-02-16 Google Inc. Systems and methods for ground plane estimation
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
CN105865462B (zh) * 2015-01-19 2019-08-06 北京雷动云合智能技术有限公司 带有深度增强视觉传感器的基于事件的三维slam方法
DE102015204867A1 (de) * 2015-03-18 2016-09-22 Kuka Roboter Gmbh Robotersystem und Verfahren zum Betrieb eines teleoperativen Prozesses
US9940542B2 (en) * 2015-08-11 2018-04-10 Google Llc Managing feature data for environment mapping on an electronic device
WO2017057054A1 (ja) * 2015-09-30 2017-04-06 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
KR102462799B1 (ko) * 2015-11-05 2022-11-03 삼성전자주식회사 자세 추정 방법 및 자세 추정 장치
KR102403504B1 (ko) * 2015-11-26 2022-05-31 삼성전자주식회사 이동 로봇 및 그 제어 방법
US11092441B2 (en) * 2016-06-02 2021-08-17 Bigmotion Technologies Inc. Systems and methods for walking speed estimation
DE102016225310A1 (de) * 2016-12-16 2018-06-21 Kuka Roboter Gmbh Mobiler Manipulator und Verfahren zum Steuern eines mobilen Manipulators
JP7046506B2 (ja) * 2017-06-12 2022-04-04 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
CN108958232A (zh) * 2017-12-07 2018-12-07 炬大科技有限公司 一种基于深度视觉的移动扫地机器人slam装置及算法
WO2019169540A1 (zh) * 2018-03-06 2019-09-12 斯坦德机器人(深圳)有限公司 紧耦合视觉slam的方法、终端及计算机可读存储介质
CN108731701A (zh) * 2018-05-30 2018-11-02 苏州工业职业技术学院 双足机器人行驶里程计量装置
US11550335B2 (en) * 2018-11-28 2023-01-10 Ubtech Robotics Corp Ltd Biped robot and its moving method and apparatus
GB2580690B (en) * 2019-01-24 2023-03-29 Imperial College Innovations Ltd Mapping an environment using a state of a robotic device
CN111127497B (zh) * 2019-12-11 2023-08-04 深圳市优必选科技股份有限公司 一种机器人及其爬楼控制方法和装置
CN111319041B (zh) * 2020-01-17 2021-04-16 深圳市优必选科技股份有限公司 一种机器人位姿确定方法、装置、可读存储介质及机器人
US11685049B2 (en) 2020-04-22 2023-06-27 Boston Dynamics, Inc. Robot localization using variance sampling
US11560192B2 (en) * 2020-04-24 2023-01-24 Ubtech Robotics Corp Ltd Stair climbing gait planning method and apparatus and robot using the same
CN111890352A (zh) * 2020-06-24 2020-11-06 中国北方车辆研究所 基于全景导航的移动机器人触控式遥操作控制方法
JP7484658B2 (ja) * 2020-10-23 2024-05-16 トヨタ自動車株式会社 位置特定システム
CN112504540B (zh) * 2020-11-23 2021-10-08 乐聚(深圳)机器人技术有限公司 落脚检测方法、***、装置及主控制器
US11933615B2 (en) * 2021-01-26 2024-03-19 Ubkang (Qingdao) Technology Co., Ltd. Estimated time of arrival calculating method and system and mobile machine using the same
WO2023037139A1 (en) * 2021-09-08 2023-03-16 Ptt Exploration And Production Public Company Limited A method and system for controlling motion of a multi-segmented walking robot
CN115922731B (zh) * 2023-01-09 2023-05-30 深圳鹏行智能研究有限公司 一种机器人的控制方法以及机器人

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58177287A (ja) * 1982-04-05 1983-10-17 株式会社日立製作所 ロボットの制御方法
US6560512B1 (en) * 2002-01-04 2003-05-06 Machine Consciousness, Inc. Relational robotic controller
JP3945279B2 (ja) * 2002-03-15 2007-07-18 ソニー株式会社 障害物認識装置、障害物認識方法、及び障害物認識プログラム並びに移動型ロボット装置
US7015831B2 (en) * 2002-12-17 2006-03-21 Evolution Robotics, Inc. Systems and methods for incrementally updating a pose of a mobile device calculated by visual simultaneous localization and mapping techniques
US7257237B1 (en) * 2003-03-07 2007-08-14 Sandia Corporation Real time markerless motion tracking using linked kinematic chains
JP2004298977A (ja) * 2003-03-28 2004-10-28 Sony Corp 行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置
EP2041516A2 (en) * 2006-06-22 2009-04-01 Roy Sandberg Method and apparatus for robotic path planning, selection, and visualization
WO2008152733A1 (ja) * 2007-06-15 2008-12-18 Fujitsu Limited ロボット
EP2460629B1 (en) * 2009-07-28 2022-06-29 Yujin Robot Co., Ltd. Control method for localization and navigation of mobile robot and mobile robot using same
US8457830B2 (en) * 2010-03-22 2013-06-04 John R. Goulding In-line legged robot vehicle and method for operating
US8786680B2 (en) * 2011-06-21 2014-07-22 Disney Enterprises, Inc. Motion capture from body mounted cameras
KR20130034082A (ko) * 2011-09-28 2013-04-05 삼성전자주식회사 로봇 및 그 제어 방법
US8805584B2 (en) * 2011-11-22 2014-08-12 Disney Enterprises, Inc Kinematic and dynamic calibration methods for legged robots with force-controlled joints

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101456576B1 (ko) * 2013-07-10 2014-10-31 한국원자력연구원 인-파이프 로봇의 자세 추정 장치 및 방법
WO2015194868A1 (ko) * 2014-06-17 2015-12-23 (주)유진로봇 광각 카메라가 탑재된 이동 로봇의 주행을 제어하기 위한 장치 및 그 방법
WO2015194864A1 (ko) * 2014-06-17 2015-12-23 (주)유진로봇 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
US10133278B2 (en) 2014-06-17 2018-11-20 Yujin Robot Co., Ltd. Apparatus of controlling movement of mobile robot mounted with wide angle camera and method thereof
US10133279B2 (en) 2014-06-17 2018-11-20 Yujin Robot Co., Ltd. Apparatus of updating key frame of mobile robot and method thereof
US10275649B2 (en) 2014-06-17 2019-04-30 Yujin Robot Co., Ltd. Apparatus of recognizing position of mobile robot using direct tracking and method thereof
US10307910B2 (en) 2014-06-17 2019-06-04 Yujin Robot Co., Ltd. Apparatus of recognizing position of mobile robot using search based correlative matching and method thereof
US10399228B2 (en) 2014-06-17 2019-09-03 Yujin Robot Co., Ltd. Apparatus for recognizing position of mobile robot using edge based refinement and method thereof
WO2016093607A1 (ko) * 2014-12-12 2016-06-16 한국항공우주연구원 이동체 제어 장치, 방법 및 그 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체
US10556340B2 (en) 2014-12-12 2020-02-11 Korea Aerospace Research Institute Apparatus and method for controlling moving object, and computer-readable recording medium in which program for implementing method in computer is recorded
KR20200132098A (ko) * 2019-05-15 2020-11-25 주식회사 폴라리스쓰리디 위치 측정 시스템과 이를 구비하는 이동 수단 및 이를 수행하기 위한 컴퓨팅 장치

Also Published As

Publication number Publication date
US20120155775A1 (en) 2012-06-21
US8873831B2 (en) 2014-10-28

Similar Documents

Publication Publication Date Title
KR20120070291A (ko) 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법
JP6108818B2 (ja) 移動装置及び移動装置の位置認識方法
KR20130049610A (ko) 이동 기기 및 보행 로봇
JP4645601B2 (ja) 環境地図の生成方法及び移動ロボット
KR101772974B1 (ko) 휴머노이드 로봇의 인간 유사 동작 생성 방법
EP1975046B1 (en) Legged locomotion robot
KR20170138977A (ko) 보행 로봇 및 그의 위치 인식과 지도 작성을 동시에 수행하는 방법
JP4807583B2 (ja) 射影変換収束演算処理方法
Baumgartner et al. Rover localization results for the FIDO rover
WO2008001793A1 (fr) Dispositif de robot et son procédé de commande
KR20120035518A (ko) 보행 로봇 및 그 제어방법
US9555846B1 (en) Pelvis structure for humanoid robot
KR20150084444A (ko) 로봇 및 로봇의 제어 방법
US7778731B2 (en) Legged mobile robot control system
US11000944B2 (en) Foot touch position following apparatus, method of controlling movement thereof, and non-transitory computer-readable information recording medium storing the same
Ahn et al. On-board odometry estimation for 3D vision-based SLAM of humanoid robot
KR101268401B1 (ko) 로봇 제어용 클러치 시스템 및 보행 보조 로봇 시스템, 보행 보조 로봇의 동작 산출 방법
US9802315B2 (en) Controller for mobile robot
CN111301552A (zh) 一种机器人腿部动力***及其控制方法
Jin et al. A wearable robotic device for assistive navigation and object manipulation
Mashali et al. Design, implementation and evaluation of a motion control scheme for mobile platforms with high uncertainties
Tan et al. Mobile Robot Docking With Obstacle Avoidance and Visual Servoing
JP6218641B2 (ja) ロボットの保持システム
Moulard et al. Reliable indoor navigation on humanoid robots using vision-based localization
US20220388174A1 (en) Autonomous and teleoperated sensor pointing on a mobile robot

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
A107 Divisional application of patent