KR20170138977A - 보행 로봇 및 그의 위치 인식과 지도 작성을 동시에 수행하는 방법 - Google Patents

보행 로봇 및 그의 위치 인식과 지도 작성을 동시에 수행하는 방법 Download PDF

Info

Publication number
KR20170138977A
KR20170138977A KR1020170166695A KR20170166695A KR20170138977A KR 20170138977 A KR20170138977 A KR 20170138977A KR 1020170166695 A KR1020170166695 A KR 1020170166695A KR 20170166695 A KR20170166695 A KR 20170166695A KR 20170138977 A KR20170138977 A KR 20170138977A
Authority
KR
South Korea
Prior art keywords
information
walking robot
walking
odometry
robot
Prior art date
Application number
KR1020170166695A
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 KR1020170166695A priority Critical patent/KR20170138977A/ko
Publication of KR20170138977A publication Critical patent/KR20170138977A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (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) 과정(도 5의 (b) 참조)이 추가된다. 보행 로봇(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)는 동작 510으로 리턴하여 계속적으로 영상 정보, 각 회전 관절의 회전 각도 정보 및 관성 측정 정보를 획득하면서 보행 동작을 수행하도록 제어한다. 보행 로봇(100)의 이동이 정지되었으면(570에서의 '예') 제어부(340)는 이동 공간에 대해 최종적으로 작성된 지도를 저장부(350)에 저장하고 보행 로봇(100)의 위치 인식 및 지도 작성(SLAM) 과정을 종료한다.
100 : 보행 로봇 310 : 입력부
320 : 자세 검출부 330 : 영상 정보 획득부
340 : 제어부 342 : 자세 제어부
344 : 오도메트리 정보 산출부 346 : 위치 추정부
348 : 정보 융합부 350 : 저장부
360 : 서보 제어부 370 : 구동부
380 : 회전 각도 검출부

Claims (16)

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
















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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (1)

Publication Number Publication Date
KR20170138977A true KR20170138977A (ko) 2017-12-18

Family

ID=60923129

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR20170138977A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11185982B2 (en) 2019-08-08 2021-11-30 Lg Electronics Inc. Serving system using robot and operation method thereof
US11281225B2 (en) 2019-08-08 2022-03-22 Lg Electronics Inc. Driving method of robot
US11429113B2 (en) 2019-08-08 2022-08-30 Lg Electronics Inc. Serving system using robot and operation method thereof
US11426875B2 (en) * 2014-08-25 2022-08-30 Boston Dynamics, Inc. Natural pitch and roll

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11426875B2 (en) * 2014-08-25 2022-08-30 Boston Dynamics, Inc. Natural pitch and roll
US11911916B2 (en) 2014-08-25 2024-02-27 Boston Dynamics, Inc. Natural pitch and roll
US11185982B2 (en) 2019-08-08 2021-11-30 Lg Electronics Inc. Serving system using robot and operation method thereof
US11281225B2 (en) 2019-08-08 2022-03-22 Lg Electronics Inc. Driving method of robot
US11429113B2 (en) 2019-08-08 2022-08-30 Lg Electronics Inc. Serving system using robot and operation method thereof

Similar Documents

Publication Publication Date Title
KR20120070291A (ko) 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법
KR101913332B1 (ko) 이동 장치 및 이동 장치의 위치 인식 방법
KR20130049610A (ko) 이동 기기 및 보행 로봇
US7877165B2 (en) Handshake legged mobile robot control system
JP5607886B2 (ja) 歩行ロボット及びその制御方法
KR20170138977A (ko) 보행 로봇 및 그의 위치 인식과 지도 작성을 동시에 수행하는 방법
EP1975046B1 (en) Legged locomotion robot
EP1975878B1 (en) Projective transformation convergence calculation method
Havoutis et al. Onboard perception-based trotting and crawling with the hydraulic quadruped robot (HyQ)
WO2008099652A1 (ja) 環境地図の生成方法及び移動ロボット
Baumgartner et al. Rover localization results for the FIDO rover
JP2011093024A (ja) 脚式移動ロボットの制御装置
US9555846B1 (en) Pelvis structure for humanoid robot
KR20120035518A (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
US10179619B1 (en) Robotic foot sensor
WO2004085121A1 (ja) ロボット装置及びロボット装置の制御方法
KR101268401B1 (ko) 로봇 제어용 클러치 시스템 및 보행 보조 로봇 시스템, 보행 보조 로봇의 동작 산출 방법
US9802315B2 (en) Controller for mobile robot
JP2002307340A (ja) 脚式移動ロボット及びその制御方法
Rodriguez-Angeles et al. An online inertial sensor-guided motion control for tracking human arm movements by robots
Guo et al. A bio-inspired SLAM system for a legged robot
Nishiwaki et al. Online humanoid locomotion control by using 3d vision information
Tan et al. Mobile Robot Docking With Obstacle Avoidance and Visual Servoing

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
E601 Decision to refuse application
E801 Decision on dismissal of amendment