KR102233739B1 - 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법 - Google Patents

강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법 Download PDF

Info

Publication number
KR102233739B1
KR102233739B1 KR1020190117375A KR20190117375A KR102233739B1 KR 102233739 B1 KR102233739 B1 KR 102233739B1 KR 1020190117375 A KR1020190117375 A KR 1020190117375A KR 20190117375 A KR20190117375 A KR 20190117375A KR 102233739 B1 KR102233739 B1 KR 102233739B1
Authority
KR
South Korea
Prior art keywords
artificial neural
neural network
walking robot
network model
value
Prior art date
Application number
KR1020190117375A
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 KR1020190117375A priority Critical patent/KR102233739B1/ko
Application granted granted Critical
Publication of KR102233739B1 publication Critical patent/KR102233739B1/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/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Fuzzy Systems (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

본 발명의 일 실시 예는 자세 제어와 관련된 강화학습을 이용하여 학습데이터를 생성하고, 이와 같은 학습데이터를 인공신경망으로 학습함으로써, 복수 개의 다리가 설치된 보행 로봇의 자세 제어가 자동으로 수행되는 기술을 제공한다. 본 발명의 실시 예에 따른 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법은, 보행 로봇이 서 있는 바닥부의 피치각(전후 기울기) 또는 롤각(좌우 기울기)이 변하는 경우, 몸체의 균형이 유지되도록 가변하는 상측관절과 하측관절 각각의 각도 파라미터를 설정하고, 정책 반복(Policy Iteration)을 통해 기존의 정책에서 최적 정책(Optimal Policy)이 도출되도록 강화학습(Reinforcement Learning)을 수행하는 제1단계; 노드(node)의 수를 조절하여, 강화학습에 의한 학습데이터인 기존학습데이터에 존재하고 상측관절과 하측관절을 각각 제어하는 각도 정보를 출력하는 인공 신경망(Artificial Neural Network) 모델인 제1인공신경망 모델을 복수 개 생성하는 제2단계; 기존학습데이터의 상황에 상이한 상황에 대한 학습데이터인 신규학습데이터를 학습한 제1인공신경망 모델은 제2-1인공신경망 모델과 제2-2인공신경망 모델로 나뉘어지는 제3단계; 제2-1인공신경망 모델과 제2-2인공신경망 모델 각각의 데이터와 기존학습데이터를 이용하여 제3인공신경망 모델을 생성하는 제4단계; 및 제3인공신경망 모델에 의한 데이터를 이용하여 자세 제어를 수행하는 제5단계;를 포함한다.

Description

강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법 {WALKING ROBOT POSTURE CONTROL METHOD USING REINFORCEMENT LEARNING AND ARTIFICIAL NEURAL NETWORK}
본 발명은 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법에 관한 것으로, 더욱 상세하게는, 자세 제어와 관련된 강화학습을 이용하여 학습데이터를 생성하고, 이와 같은 학습데이터를 인공신경망으로 학습함으로써, 복수 개의 다리가 설치된 보행 로봇의 자세 제어가 자동으로 수행되는 기술에 관한 것이다.
로봇은 사람으로서는 하기 힘든 무거운 물건을 운반하는 작업이나 고도의 정밀도를 필요로 하는 작업 등을 수행하는 산업현장에서 주로 사용되어 왔다. 시간이 지남에 따라 산업분야에서 정해진 일만을 수행하는 산업용 로봇 외에 애완용 로봇, 인명구조로봇, 휴먼(human) 로봇 등의 비산업형 로봇이 등장하여 그 수요가 증가하고 있고, 이에 따라, 기존의 하나의 장소에 고정되어 작업을 수행하는 로봇이나 바퀴를 구비하여 이동하는 로봇 외에 사람 또는 동물과 같이 다리를 구비하는 로봇에 대한 연구 개발이 활발히 추진되고 있다.
이와 같이 다리를 구비하는 보행 로봇은 스스로 움직여야 하므로 많은 기술을 요구하고 있으며, 각각의 다리를 별도로 제어하여 몸체의 균형을 위한 자세 제어를 수행해야 하므로, 보행 로봇에 특정되는 다양한 기술이 요구되고 있다. 종래기술의 제어방법은, 수평 유지식(Balancing Equation)과 다리 역기구학식(Inverse Kinematics)과 같은 기구학 해석을 통해 보행 로봇의 다리의 발끝 위치와 각 관절의 서보모터의 회전 각도를 계산하여 수행된다. 하지만, 종래기술의 제어방법으로는 보행 로봇의 구조를 해석해야 하며, 로봇의 구조와 관련된 수식을 연산하여야만 보행 로봇에 대한 제어가 가능하다는 문제가 있다.
대한민국 공개특허 제10-2019-0040506호(발명의 명칭: 로봇 조작을 위한 심층 강화 학습)에서는, 복수의 로봇 각각에 의해, 각 에피소드가 태스크에 대한 강화 학습 정책을 나타내는 정책 신경망에 기초하여 태스크를 수행하는 탐색인, 복수의 에피소드의 수행 중에: 상기 로봇들에 의해 상기 에피소드 동안 생성된 로봇 경험 데이터의 인스턴스를 버퍼에 저장하는 단계와, 상기 로봇 경험 데이터의 각 인스턴스는 에피소드들 중 대응하는 하나의 에피소드 동안 생성되고, 상기 대응하는 에피소드에 대한 정책 신경망을 위한 대응 정책 파라미터를 갖는 정책 신경망을 사용하여 생성된 대응 출력에 적어도 부분적으로 기초하여 생성되고; 상기 정책 신경망의 업데이트된 정책 파라미터를 반복적으로 생성하는 단계와, 상기 반복적으로 생성하는 단계의 반복들 각각은 상기 반복 동안 버퍼내의 로봇 경험 데이터의 하나 이상의 인스턴스의 그룹을 사용하여 상기 업데이트된 정책 파라미터를 생성하는 단계를 포함하는 방법이 개시되어 있다.
대한민국 공개특허 제10-2019-0040506호
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 종래기술과 같이 보행 로봇의 구조를 해석한 후 기구학 관련 수식을 연산하여 보행 로봇의 자세 제어를 수행하는 방식을 탈피하여 강화학습과 인공신경망을 이용하여 보행 로봇의 자세 제어가 수행되도록 하는 것이다.
본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 구성은, 상기 보행 로봇이 서 있는 바닥부의 피치각(전후 기울기) 또는 롤각(좌우 기울기)이 변하는 경우, 상기 몸체의 균형이 유지되도록 가변하는 상기 상측관절과 상기 하측관절 각각의 각도 파라미터를 설정하고, 정책 반복(Policy Iteration)을 통해 기존의 정책에서 최적 정책(Optimal Policy)이 도출되도록 강화학습(Reinforcement Learning)을 수행하는 제1단계; 노드(node)의 수를 조절하여, 상기 강화학습에 의한 학습데이터인 기존학습데이터에 존재하고 상기 상측관절과 상기 하측관절을 각각 제어하는 각도 정보를 출력하는 인공 신경망(Artificial Neural Network) 모델인 제1인공신경망 모델을 복수 개 생성하는 제2단계; 상기 기존학습데이터의 상황에 상이한 상황에 대한 학습데이터인 신규학습데이터를 학습한 상기 제1인공신경망 모델은 제2-1인공신경망 모델과 제2-2인공신경망 모델로 나뉘어지는 제3단계; 상기 제2-1인공신경망 모델과 상기 제2-2인공신경망 모델 각각의 데이터와 상기 기존학습데이터를 이용하여 제3인공신경망 모델을 생성하는 제4단계; 및 상기 제3인공신경망 모델에 의한 데이터를 이용하여 자세 제어를 수행하는 제5단계;를 포함한다.
본 발명의 실시 예에 있어서, 상기 제1단계에서, 상기 기존학습데이터에 의한 상기 보행 로봇의 피치각과 롤각에 대해 평균 값을 측정할 수 있다.
본 발명의 실시 예에 있어서, 상기 제1단계에서, 상기 보행 로봇의 피치각과 롤각에 대해 평균 값이 제1기준값 이하인 경우, 상기 기존학습데이터를 적합 판정할 수 있다.
본 발명의 실시 예에 있어서, 상기 제3단계에서, 상기 제2-1인공신경망 모델은 상기 보행 로봇의 피치각과 롤각이 각각 동일한 부호인 경우에 대한 모델이고, 상기 제2-2인공신경망 모델은 상기 보행 로봇의 피치각과 롤각이 각각 상이한 부호인 경우에 대한 모델일 수 있다.
본 발명의 실시 예에 있어서, 상기 제3단계에서, 복수 개의 상기 제1인공신경망 모델이 아래의 식에 의해 연산되는 도출되는 값인 ε 값이 제2기준값 이하인 인공신경망 모델이 상기 제2-1인공신경망 모델 또는 상기 제2-2인공신경망 모델로 결정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제5단계에서, 상기 제2-1인공신경망 모델의 ε 값과 상기 제2-2인공신경망 모델의 ε 값이 모두 상기 제2기준값 이하인 경우, 상기 제3인공신경망 모델을 이용한 상기 보행 로봇의 자세 제어가 수행될 수 있다.
본 발명의 실시 예에 있어서, 상기 상측관절과 상기 하측관절에는 서보모터가 형성될 수 있다.
상기와 같은 구성에 따른 본 발명의 효과는, 강화학습에 의해 학습데이터를 생성하고, 이를 인공신경망 학습시켜, 인공신경망의 데이터를 이용하여 보행 로봇의 자세 제어를 수행하므로, 제어 속도가 향상되고 다양한 상황에서 보행 로봇의 자세 제어가 수행될 수 있도록 하는 것이다.
그리고, 본 발명의 효과는, 미리 생성된 학습데이터를 실시간으로 업데이트하여 새로운 학습데이터를 생성하면서 보행 로봇의 자세 제어가 수행되어, 자세 제어의 정밀도를 향상시키고 제어 범위를 증가시킬 수 있다는 것이다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시 예에 따른 보행 로봇의 개략도이다.
도 2는 본 발명의 일 실시 예에 따른 보행 로봇 자세 제어방법에 대한 흐름도다.
도 3은 본 발명의 일 실시 예에 따른 보행 로봇 자세 제어 방법과 기구학에 의한 보행 로봇 자세 제어 방법의 비교를 위한 그래프이다.
도 4는 본 발명의 일 실시 예에 따른 제2-1인공신경망 모델과 제2-2인공신경망 모델의 결정과 관련된 그래프이다.
도 5와 도 6는 본 발명의 일 실시 예에 따른 기존학습데이터와 새로운 학습데이터 각각에서 서보모터의 회전각과 피치각 및 롤각의 관계에 대한 그래프이다.
도 7은 본 발명의 일 실시 예에 따른 제2-1인공신경망 모델에서 서보모터, 피치각 및 롤각의 관계에 대한 그래프이다.
도 8은 본 발명의 일 실시 예에 따른 제2-2인공신경망 모델에서 서보모터, 피치각 및 롤각의 관계에 대한 그래프이다.
도 9 내지 도 11은 본 발명의 다른 실시 예에 따른 인공신경망을 이용한 실험에 대한 그래프이다.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시 예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결(접속, 접촉, 결합)"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 첨부된 도면을 참고하여 본 발명에 대하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 보행 로봇(100)의 개략도이다. 도 1에서 좌측 방향이 몸체(140)의 전방이고 우측 방향이 몸체(140)의 후방일 수 있다. 도 1에서 보는 바와 같이, 본 발명의 보행 로봇(100)은 몸체(140)와 몸체(140)에 결합되는 복수 개의 다리를 포함하고 각각의 다리에는 상측관절과 하측관절이 형성될 수 있다. 그리고, 상측관절과 하측관절에는 서보모터가 형성될 수 있다. 구체적으로, 본 발명의 실시 예에서는, 몸체(140)에 4개의 다리가 결합된 4족 보행 로봇(100)이 형성될 수 있으며, 이하 설명에서는 4족 보행 로봇(100)을 기준으로 설명할 수 있다.
보행 로봇(100)에 형성된 각각의 다리는 상측에 위치하는 허벅지체(121)와 하측에 위치하는 정강이체(122)를 구비하며, 정강이체(122)의 말단에 발이 형성될 수 있다. 그리고, 상측관절은 몸체(140)와 결합되고, 허벅지체(121)의 일단은 상측관절과 결합되며, 허벅지체(121)의 타단은 하측관절과 결합될 수 있다. 또한, 하측관절은 정강이체(122)와 결합될 수 있고, 보행 로봇(100)의 자세 제어 수행 시, 상측관절은 허벅지체(121)가 몸체(140)의 후방으로 기울어지도록 하고 하측관절은 정강이체(122)가 몸체(140)의 전방으로 기울어지도록 할 수 있다. 여기서, 허벅지체(121)의 각도가 가변하도록 허벅지체(121)를 작동시키는 상측관절의 서보모터는 상측서보모터(111)라 하고, 정강이체(122)의 각도가 가변하도록 정강이체(122)를 작동시키는 하측관절의 서보모터는 하측서보모터(112)라 할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 보행 로봇(100) 자세 제어방법에 대한 흐름도다. 도 1과 도 2에서 보는 바와 같이, 본 발명의 보행 로봇(100) 자세 제어방법은, 보행 로봇(100)이 서 있는 바닥부(200)의 피치각(전후 기울기) 또는 롤각(좌우 기울기)이 변하는 경우, 몸체(140)의 균형이 유지되도록 가변하는 상측관절과 하측관절 각각의 각도 파라미터를 설정하고, 정책 반복(Policy Iteration)을 통해 기존의 정책에서 최적 정책(Optimal Policy)이 도출되도록 강화학습(Reinforcement Learning)을 수행할 수 있다.
보행 로봇(100)의 자세 제어를 위한 실험을 위해 보행 로봇(100)은 바닥부(200)에 서 있는 상태에서 자세 제어를 수행할 수 있고, 이를 위해 바닥부(200)는, 보행 로봇(100)이 서 있거나 보행 로봇(100)의 정강이체(122)와 결합되는 상판(210), 및 상판(210)과 결합하여 상판(210)의 피치각과 롤각을 가변시키는 구동체(220)를 구비할 수 있다.
먼저, 단계 S110에서, 강화학습을 보행 로봇(100)에 적용하기 위해 강화학습 파라미터(parameter)를 설정할 수 있다. 강화학습 파라미터(parameter)sms 하기의 [표 1]과 같이 정리될 수 있다.
카테고리(Category) 시스템(System) 사양(Specification)
에이전트(Agent) 보행 로봇(100)(Quadruped Robot) -
환경(Environment) 바닥부(200)(Test-Bed) -
강화학습 목표(Objective) 자세 유지(Self-Balancing) -
상태(State (
Figure 112019097516394-pat00001
))
바닥부(200)의 피치각과 롤각(Tiled Environment (Test-Bed) Angle) 피치각(Pitch): (
Figure 112019097516394-pat00002
),롤각(Roll): (
Figure 112019097516394-pat00003
)
행동(Action (
Figure 112019097516394-pat00004
))
상측서보모터(111)와 하측서보모터(112)의 회전각(Rotational Direction of T and S Servo Motor) 시계방향 회전각(CW), 0, 반시계 방향 회전각(CCW)
반응(Reward (
Figure 112019097516394-pat00005
))
1. 각도 오차(Error of Angle) 피치각(Pitch) :
Figure 112019097516394-pat00006

롤각(Roll) :
Figure 112019097516394-pat00007
2. 거리 오차(Error of Distance) 피치각(Pitch) :
Figure 112019097516394-pat00008

롤각(Roll) :
Figure 112019097516394-pat00009
[표 1]에서 보는 바와 같이, 에이전트(Agent), 환경(Environment) 및 강화학습 목표(Objective)는 각각, 보행 로봇(100)(Quadruped Robot), 바닥부(200)(Test-Bed) 및 보행 로봇(100)의 자세 유지(Self-Balancing)일 수 있다. 상태(State (
Figure 112019097516394-pat00010
))는 환경(Environment)에 주어진 상황이며, 바닥부(200)는 보행 로봇(100)에게 바닥부(200)의 피치각과 롤각(Tiled Environment (Test-Bed) Angle) 변화로써 전후 방향 또는 좌우 방향으로 기울어진 환경을 제공할 수 있다. 행동(Action (
Figure 112019097516394-pat00011
))은 주어진 상태(State (
Figure 112019097516394-pat00012
))에 대응하기 위한 방법으로, 바닥부(200)가 기울어지면 보행 로봇(100)의 네 다리를 구성하고 있는 8개의 서보모터(4개의 상측서보모터(111)와 4개의 하측서보모터(112))를 작동시켜 보행 로봇(100)의 자세가 유지될 수 있다. 여기서, 보행 로봇(100)의 자세 유지는 몸체(140)의 중심이 소정의 3차원 좌표 범위 내에서 유지되는 것일 수 있다.
반응(Reward (
Figure 112019097516394-pat00013
))은 어떤 행동(Action (
Figure 112019097516394-pat00014
))이 가장 적합한지 판단해주는 것이며, 보행 로봇(100)이 자세를 잘 유지하고 있는지 보행 로봇(100)의 피치각과 롤각 정보와 앞발(131)과 뒷발(132)의 거리를 항상 일정하게 오차 정보가 가장 작은 행동(Action (
Figure 112019097516394-pat00015
))을 취하도록 설정할 수 있다. 반응(Reward (
Figure 112019097516394-pat00016
))은 피치각과 롤각 방향에 대해서 아래의 [수식 1]에 의해 연산될 수 있다.
[수식 1]
Figure 112019097516394-pat00017
여기서, E는 반응 값이고, Ea는 피치각 에러 값이며, Ed는 피치각 방향의 거리 에러 값이다.
그리고, Ea(피치각 에러 값)과 Ed(피치각 방향의 거리 에러 값)은 아래의 [수식 2]와 [수식 3]에 의해 연산될 수 있다.
[수식 2]
Figure 112019097516394-pat00018
여기서,
Figure 112019097516394-pat00019
는 바닥부(200)의 피치각이고,
Figure 112019097516394-pat00020
은 보행 로봇(100)의 피치각이다.
[수식 3]
Figure 112019097516394-pat00021
여기서,
Figure 112019097516394-pat00022
는 최소 상태에서의 앞발(131)과 뒷발(132) 사이의 거리이고,
Figure 112019097516394-pat00023
는 현재 상태에서의 앞발(131)과 뒷발(132) 사이의 거리이다.
강화학습의 최종 목표이자 결과 값이라고 할 수 있는 최적 정책(Optimal Policy)은 8개인 서보모터 각각의 각도로 정할 수 있으며, (
Figure 112019097516394-pat00024
로 표현될 수 있다. 여기서, 각각의 영문 대문자는, F (Front, 전), H (Hind, 후), R (Right, 우), L (Left, 좌), T (Thigh, 허벅지체(121)), S (Shin, 정각이체)를 의미할 수 있다.
따라서, 다음으로, 제1-2단계(S120)에서, 정책 반복(Policy Iteration)이라고 하는 정책 환경(Policy evaluation)과 정책 개선(Policy Improvement) 과정을 거치며, 단계 S130에서, 현재의 정책(Policy)으로부터 최적 정책(Optimal policy)을 구할 수 있다. 롤각 방향으로의 강화학습도, 상기와 같은 피치각 방향으로의 강화학습과 동일한 방법으로 최적 정책(Optimal policy)를 찾을 수 있다.
그리고, 기존학습데이터에 의한 보행 로봇(100)의 피치각과 롤각에 대해 평균 값을 측정할 수 있다. 구체적으로, 단계 S140에서, 강화학습의 기존학습데이터가 잘 찾아졌는지 확인하기 위하여, 아래의 [수식 4]를 이용하여 보행 로봇(100)의 피치각과 롤각에 대해서 평균 값을 측정할 수 있다.
[수식 4]
Figure 112019097516394-pat00025
여기서,
Figure 112019097516394-pat00026
는 보행 로봇(100)의 피치각과 롤각의 평균 값이고, N는 학습데이터 수이며, n은 피치각의 변화 범위 값이고, m은 롤각의 변화 범위 값이다.
강화학습에 획득한 최적 정책(Optimal policy)은 각각의 서보모터의 각도이기 때문에, 보행 로봇(100)의 피치각(α)과 롤각(β)을 구하기 위해서는 아래의 [수식 5] 내지 [수식 8]을 따라 연산할 수 있다. 각각의 기호와 관련해서는 도 1을 참조할 수 있다.
[수식 5]
Figure 112019097516394-pat00027
여기서,
Figure 112021002062265-pat00028
는 보행 로봇(100)이 최종 상태인 경우 앞다리에서 상측서보모터(111)에 의한 허벅지체(121)의 회전각(θT)과 하측서보모터(112)에 의한 정강이체(122)의 회전각(θS)에 의한 앞발(131)의 x축 위치이고, lT는 허벅지체(121)의 길이이며, lS는 정강이체(122)의 길이이고,
Figure 112021002062265-pat00031
는 최소 상태에서의 앞발(131)과 뒷발(132) 사이의 거리이다.
[수식 6]
Figure 112019097516394-pat00032
여기서,
Figure 112021002062265-pat00033
는 보행 로봇(100)이 최종 상태인 경우 뒷다리에서 상측서보모터(111)에 의한 허벅지체(121)의 회전각(θT)과 하측서보모터(112)에 의한 정강이체(122)의 회전각(θS)에 의한 앞발(131)의 y축 위치이고, lT는 허벅지체(121)의 길이이며, lS는 정강이체(122)의 길이이다.
그리고, 상기와 같이 앞발(131)의 x축 위치와 y축 위치(xF와 yF)를 이용하여 뒷발(132)의 x축 위치와 y축 위치(xH와 yH)를 도출할 수 있으며, 구체적으로, 바닥부(200)의 피치각(α)이 양의 값을 가질 때, 뒷발(132)의 각 위치(xH와 yH)는 소정의 상수 값으로 형성될 수 있다. 구체적인 일 실시예로써, (xH, yH)는 (0, 130)일 수 있다. 그리고, 반대의 상황으로써, 바닥부(200)의 피치각(α)이 음의 값을 가질 때, 앞발(131)의 각 위치(xF와 yF)가 소정의 상수 값으로 형성될 수 있으며, 이와 같은 경우 뒷발(132)의 각 위치(xH와 yH)는 [수식 5]와 [수식 6]을 따라 계산될 수 있다.
[수식 7]
Figure 112019097516394-pat00036
여기서,
Figure 112019097516394-pat00037
은 보행 로봇(100)의 피치각(α)이고, yF는 앞발(131)의 y축 위치이고, yH는 뒷발(132)의 y축 위치이며, xF는 앞발(131)의 x축 위치이고, xH는 뒷발(132)의 x축 위치이다.
[수식 8]
Figure 112019097516394-pat00038
여기서,
Figure 112019097516394-pat00039
은 보행 로봇(100)의 롤각(β)이고, yR은 앞발(131) 중 오른발의 y축 위치이고, yL은 앞발(131) 중 왼발의 y축 위치이며, xR는 앞발(131) 중 오른발의 x축 위치이고, xL는 앞발(131) 중 왼발의 x축 위치이다.
그리고,
Figure 112019097516394-pat00040
은 보행 로봇(100) 자체의 롤각(β)이 앞발(131)을 기준으로 하는 경우와 동일하게 뒷발(132)을 기준으로 [수식 8]을 연산할 수 있으며, 이와 같은 경우, yR은 뒷발(132) 중 오른발의 y축 위치이고, yL은 뒷발(132) 중 왼발의 y축 위치이며, xR는 뒷발(132) 중 오른발의 x축 위치이고, xL는 뒷발(132) 중 왼발의 x축 위치일 수 있다.
보행 로봇(100)의 피치각(α)을 구하기 위한 [수식 7]과 보행 로봇(100)의 롤각(β)을 구하기 위한 [수식 8]을 이용하여 보행 로봇(100)의 피치각과 롤각을 연산될 수 있다.
단계 S140에서, 보행 로봇(100)의 피치각과 롤각에 대해 평균 값이 제1기준값 이하로 판단되는 경우, 기존학습데이터를 적합 판정할 수 있다. 구체적으로, 단계 S140에서,
Figure 112019097516394-pat00042
의 값이 제1기준 값 이하인 경우, 최적 정책(Optimal policy)이 적합한 것으로 판단하여, 기존학습데이터를 인공 신경망 모델의 학습데이터로 이용할 수 있다. 도 2에서 보는 바와 같이, 제1기준값은 1.5일 수 있으나, 이는 도 1과 같은 보행 로봇(100)이 균형을 유지하기 위한 실험 값에 근거하여 도출될 수 있는 것이고, 제1기준값의 수치는 보행 로봇(100)의 전체 형상에 따라 변경될 수 있다.
반면에, 단계 S140에서,
Figure 112019097516394-pat00043
의 값이 제1기준 값 초과인 것으로 판단되는 경우,
Figure 112019097516394-pat00044
의 값이 제1기준 값 이하를 만족하는 기준학습데이터의 도출을 위해, 상기의 강화학습과 관련된 각 단계(단계 S110 내지 단계 S140)이 다시 수행될 수 있다.
상기와 같이, 단계 S140에서
Figure 112019097516394-pat00045
의 값이 제1기준 값 이하인 것으로 판단되는 경우, 단계 S210에서, 인공 신경망 모델이 실행되고, 단계 220에서, 기준학습데이터를 이용하여 인공 신경망 모델을 학습할 수 있다. 여기서, 노드(node)의 수를 조절하여, 강화학습에 의한 학습데이터인 기존학습데이터에 존재하고 상측관절과 하측관절을 각각 제어하는 각도 정보를 출력하는 인공 신경망(Artificial Neural Network) 모델인 제1인공신경망 모델을 복수 개 생성할 수 있다. 구체적으로 본 발명의 일 실시 예에서, 제1인공신경망 모델을 100개 획득할 수 있다. 이하, 이를 기준으로 설명하기로 한다.
다음으로, 단계 S230에서, 상기된 [수식 4]를 이용하여 각각의 제1인공신경망(ANN) 모델의 피치각과 롤각의 평균 값인
Figure 112019097516394-pat00046
이 제1기준값 이하인지 여부를 판단할 수 있다. 구체적으로, 상기와 같이 제1기준 값은 1.5일 수 있다. 단계 S230은, 인공신경망 모델이 학습데이터에 존재하는 상황(Known Condition)에 대해서 각도 오차 평균이 적절한 값을 제시하는지 확인하는 단계일 수 있다. 구체적인 예를 들어, 노드(node)의 개수가 2개이면 적절한 값을 출력하지 않으므로 노드의 개수를 조절하여 학습데이터에 존재하는 적절한 제어신호를 출력하는 인공신경망(ANN) 모델을 학습할 수 있다.
단계 230에서, 제1인공신경망 모델의 피치각과 롤각의 평균 값이 1.5초과인 것으로 판단되는 경우에는, 단계 S410으로 이동하여 파라미터를 변경하여 제1인공신경망 모델에 대한 학습을 수행할 수 있다. 그리고, 제1인공신경망 모델의 피치각과 롤각의 평균 값이 1.5이하인 경우에는, 단계 240으로 이동하여, 학습데이터에 존재하지 않는 상황(Unknown Condition)에 대해서 시뮬레이션할 수 있다. 여기서, [수식 1]을 이용할 수 있다.
그리고, 단계 250으로 이동하여 보행 로봇(100)의 피치각과 롤각의 부호가 동일한 상황(Same Direction)과 반대인 상황(Opposite Direction) 모두에서 ε 값이 1.0보다 같거나 작으면 제3인공신경망 모델(이하, Model C라고 한다)를 출력하는데 처음에는 이러한 모델이 바로 생성되지 않을 수 있다. 그러므로, 처음에는 먼저 단계 240에서 Model C에 대한 생성이 수행될 수 있다.
보행 로봇(100)의 피치각과 롤각의 부호가 동일한 상황(Same Direction, 이하 "부호 동일상황"이라고 한다)에 대한 ε 값은 ε(s)로 표현되고, 보행 로봇(100)의 피치각과 롤각의 부호가 반대인 상황(Opposite Direction, 이하 "부호 반대상황"이라고 한다)에 대한 ε 값은 ε(o)로 표현될 수 있으며, 각각의 ε 값 도출에 대한 사항은, 하기에 상세히 설명하기로 한다.
따라서, 기존학습데이터에 존재하지 않는 상황만을 가지고 학습한 제1인공신경망 모델은 제2-1인공신경망 모델(이하, Model A라고 한다)과 제2-2인공신경망 모델(이하, Model B라고 한다)로 나뉘어질 수 있다. 즉, 제2-1인공신경망 모델(Model A)은 보행 로봇(100)의 피치각과 롤각이 각각 동일한 부호인 경우에 대한 모델이고, 제2-2인공신경망 모델(Model B)은 보행 로봇(100)의 피치각과 롤각이 각각 상이한 부호인 경우에 대한 모델일 수 있다. 그리고, Model A는 부호 동일상황(Same)에 대해서, 그리고, Model B는 부호 반대상황(Oppsite)에 대해서 학습데이터를 기존학습데이터와 병합하여 새로운 인공신경망 모델인 Model C를 출력하면, 이 값은 부호 동일상황과 부호 반대상황에서 ε값이 1.0보다 작을 수 있다. 이와 같이 새로 생성된 인공신경망 모델인 Model C로 로봇을 제어할 수 있다. 이하, 각각의 단계에 대해서 구체적으로 설명하도록 한다.
신규학습데이터 각각의 상황에 대해서 제1인공신경망 모델의 결과를 출력하는 경우, 특정한 경계를 형성하며, 이에 따라, 아래의 [수식 9]를 이용하여 Model A과 Model B로 결정될 수 있다.
[수식 9]
Figure 112019097516394-pat00047
여기서, εn은 ε 값이고,
Figure 112019097516394-pat00048
은 인공신경망 모델의 출력 값, ref는 상기 보행 로봇(100)의 피치각과 롤각 각각이 0도인 경우에 있어서 상기 상측관절의 각도로 기울어진 직선에 대한 함수 값이다. 도 5와 도 6의 그래프에서 ref는 상측서보모터(111)의 y=55.27도의 직선일 수 있다.
계산한 ε값이 보행 로봇(100)의 피치각과 롤각의 부호가 같은 상황에서 1보다 작거나 같은 경우가 Model A이고, 보행 로봇(100)의 피치각과 롤각 부호가 다른 상황에서 1보다 작거나 같으면 Model B일 수 있다.
Model A와 Model B에서 피치각과 롤각이 동일한 부호로 기울어진(Same) 상황인 부호 동일상황에서 Model A, 피치각과 롤각이 서로 다른 부호로 기울어진(Opposite) 상황인 부호 반대상황에서 Model B부터 출력된 각도 정보를 수집하여 기존학습데이터에 추가하여 새로운 인공신경망 모델인 Model C를 학습할 수 있다.
단계 250에서는 ε(s)값과 ε(o)값 모두 제2기준값 초과인지 여부를 판단할 수 있으며, ε(s)값과 ε(o)값 모두 제2기준값 초과인 것으로 판단되는 경우, 단계 S260으로 이동하여, ε(s)값이 제2기준값 이하인지 판단할 수 있다. 여기서, 제2기준값은 기존학습데이터에 존재하지 않는 상황에 대한 시뮬레이션 중 경계 범위를 측정하고, 경계 범위 중 중간 값이 제2기준값으로 설정될 수 있다. 구체적으로, 본 발명의 일 실시 예에서 제2기준값은 1.0일 수 있다.
다음으로, 단계 S260에서는 ε(s)값이 제2기준값 이하인지 여부를 판단할 수 있으며, ε(s)값이 제2기준값 이하인 것으로 판단되는 경우에는, 단계 S430으로 이동하여 Model A와 관련된 신규학습데이터를 업데이트 데이터로 취급하여 단계 S420으로 이동한 후 취합되고, 단계 410으로 이동하여 제1인공신경망 모델의 학습데이터 파라미터를 변경하여 제1인공신경망 모델에 대한 학습을 수행할 수 있다.
그리고, 단계 S260에서, ε(s)값이 제2기준값 초과인 것으로 판단되는 경우에는, 단계 S270으로 이동하고, 단계 S270에서는, ε(o)값이 제2기준값 이하인지 여부를 판단할 수 있으며, ε(o)값이 제2기준값 이하인 것으로 판단되는 경우에는, 단계 S440으로 이동하여 Model B와 관련된 신규학습데이터를 업데이트 데이터로 취급하여 단계 S430으로 이동한 후 Model A의 데이터 취합된 후 단계 S420으로 이동하여 각각의 데이터가 정리되고, 단계 410으로 이동하여 제1인공신경망 모델의 학습데이터 파라미터를 변경하여 제1인공신경망 모델에 대한 학습을 수행할 수 있다. 그리고, 단계 S270에서 ε(o)값이 제2기준값 초과인 것으로 판단되는 경우에는, 단계 S280으로 이동하여, 적합하지 않은 인공신경망 모델로 판단하여 사용하지 않을 수 있다.
단계 250에서, ε(s)값과 ε(o)값 모두 제2기준값 이하인 것으로 판단되는 경우, 단계 S310으로 이동하여, Model C(제3인공신경망 모델)를 이용하여 보행 로봇(100)의 자세 제어가 수행될 수 있다. 보행 로봇(100)에 대한 자세 제어가 수행되는 경우, 먼저, 단계 S320에서 기존학습데이터를 이용하여 자세 제어를 수행하고, 다음으로, 단계 S330에서 신규학습데이터를 이용하여 자세 제어를 수행할 수 있다. 그리고, 단계 S340으로 이동하여, 몸체(140) 내 센서 등에 의해 기존학습데이터 또는 신규학습데이터를 이용한 자세 제어를 분석할 수 있다. 그 후, 단계 S350으로 이동하여 [수식 4]를 이용하여 현재 보행 로봇(100)의 보행 로봇(100)의 피치각과 롤각의 평균 값인
Figure 112019097516394-pat00049
이 제1기준값 이하인지 여부를 판단할 수 있다. 단계 S350에서
Figure 112019097516394-pat00050
이 제1기준값 이하로 판단되는 경우, 단계 S360으로 이동할 수 있다. 그리고, 단계 S360에서는, 보행 로봇(100)의 자세 제어에 대한 종료 여부를 판단할 수 있고, 보행 로봇(100)의 자세 제어 종료로 판단되는 경우에는 자세 제어를 종료하고, 보행 로봇(100)의 자세 제어 수행으로 판단되는 경우에는 다시 단계 S320으로 이동하여 자세 제어를 수행할 수 있다. 즉,
Figure 112019097516394-pat00051
값이 1.5 이하이면, 시스템을 종료하지 않는 이상 보행 로봇(100)은 계속 자세를 유지하며, 본 발명의 보행 로봇(100) 자세 제어방법의 시스템 종료 명령이 뜨면 전체 시스템을 종료할 수 있다.
그리고, 단계 S350에서,
Figure 112019097516394-pat00052
이 제1기준값 초과로 판단되는 경우, 신규학습데이터로 판단하여 단계 S450으로 이동하여 이와 같은 신규학습데이터를 기존학습데이터와 병합하고, 다시, 단계 S440 내지 단계 S410를 순차적으로 거치면서, 제1인공신경망 모델의 학습데이터 파라미터를 변경하여 제1인공신경망 모델에 대한 학습을 수행할 수 있다.
본 발명의 보행 로봇(100) 자세 제어방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 형성할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 보행 로봇(100) 자세 제어 방법과 기구학에 의한 보행 로봇(100) 자세 제어 방법의 비교를 위한 그래프이다. 구체적으로, 기존학습데이터를 이용한 제1인공신경망 모델을 이용한 보행 로봇(100)의 피치각 및 롤각과 서보모터의 회전각 관계에 대한 그래프(세모 형상 결합한 점선 그래프)와 기존 기구학을 이용해 연산한 보행 로봇(100)의 피치각 및 롤각과 서보모터의 회전각 관계에 대한 그래프(직선 그래프)를 나타낼 수 있다. 여기서, 하단의 가로축은 보행 로봇(100)의 피치각을 나타내고, 상단의 가로축은 보행 로봇(100)의 롤각을 나타내며, 세로축은 서보모터의 회전각을 나타낼 수 있다. 그리고, 상부의 그래프는 하측서보모터(112)에 의한 보행 로봇(100)의 우측 앞다리 정강이체(122)의 회전각(
Figure 112019097516394-pat00053
)의 변화에 대한 그래프이고, 하부의 그래프는 상측서보모터(111)에 의한 보행 로봇(100)의 우측 앞다리 허벅지체(121)의 회전각(
Figure 112019097516394-pat00054
)의 변화에 대한 그래프이다.
도 3에서 보는 바와 같이, 보행 로봇(100)의 피치각과 롤각 방향으로만 기울어진 조건에 대한 학습데이터를 이용하여 100개의 인공신경망(ANN) 모델을 획득할 수 있고, 100개의 인공신경망(ANN) 모델이 잘 학습되었는지 확인하기 위해 기존학습데이터에 있는 상황을 출력하여 보니, 기존의 기구학을 이용하여 연산한 데이터와 극히 유사한 결과를 형성하였다. 여기서, 보행 로봇(100)의 피치각과 롤각이 (0, 0)인 상황에서의 상측서보모터(111)와 하측서보모터(112)의 회전각은 각각 55.27도와 61.56도로 확인되었다.
도 4는 본 발명의 일 실시 예에 따른 제2-1인공신경망 모델과 제2-2인공신경망 모델의 결정과 관련된 그래프이다. 구체적으로, 도 4의 (a)는 제2-1인공신경망 모델의 결정(Model A)에 대한 그래프이고, 도 4의 (b)는 제2-2인공신경망 모델(Model B)의 결정에 대한 그래프이다. 여기서, 가로축은 각각의 인공신경망 모델(ANN Model)의 번호이고, 세로축은 ε 값(Epsilon)을 나타낸다. 상기에서 설명한 바와 같이, 기존학습데이터에 없는 상황에 있어서, 100개의 인공신경망 모델(ANN Model)의 결과를 출력해보니, 도 4에서 보는 바와 같이 특정한 경계(가로 점선)를 형성하였다.
도 5와 도 6은 본 발명의 일 실시 예에 따른 기존학습데이터와 새로운 학습데이터 각각에서 서보모터의 회전각과 피치각 및 롤각의 관계에 대한 그래프이다. 여기서, 각각의 그래프에서, 세로축은 서보모터의 회전각이고, 하측 가로축은 피치각이며, 상측 가로축은 롤각이다. 도 5의 (a)에서 보는 바와 같이 피치각과 롤각의 부호가 동일한 상황에서 새로운 학습데이터를 이용한 제1인공신경망 모델의 ε 값은 0.09(≤1)로 Model A이며, 도 5의 (b)와 같이 피치각과 롤각의 부호가 서로 다른 상황에서 Unknown 모델의 ε 값은 0.08(≤1)이기 때문에 Model B로 선정될 수 있다. 반면,
Figure 112021002062265-pat00058
값이 1보다 큰 경우(도 6의 (a)와 (b))는 사용 인공신경망 모델로 선택되지 않을 수 있다.
도 7은 본 발명의 일 실시 예에 따른 제2-1인공신경망 모델에서 서보모터, 피치각 및 롤각의 관계에 대한 그래프이고, 도 8은 본 발명의 일 실시 예에 따른 제2-2인공신경망 모델에서 서보모터, 피치각 및 롤각의 관계에 대한 그래프이다. 각각의 그래프에서 하측 가로축은 피치각에 대한 그래프이고, 상측 가로축은 롤각에 대한 그래프이다. 그리고, 도 7의 (a)와 도 8의 (a) 각 그래프에서 세로축은 상측서보모터(111)의 회전각을 나타내고, 도 7의 (b)와 도 8의 (b) 각 그래프에서 세로축은 하측서보모터(112)의 회전각을 나타낼 수 있다. 그리고, 도 7의 (a) 는 상측서보모터(111)의 피치각과 롤각이 동일한 방향인 경우에 대한 그래프이고, 도 7의 (b)는 하측서보모터(112)의 피치각과 롤각이 동일한 방향인 경우에 대한 그래프이며, 도 8의 (a)는 상측서보모터(111)의 피치각과 롤각이 반대 방향인 경우에 대한 그래프이고, 도 8의 (b)는 하측서보모터(112)의 피치각과 롤각이 반대 방향인 경우에 대한 그래프이다.
우측 앞다리 허벅지체(121)(Front Right Thigh, FRT)의 상측서보모터(111)는 피치각과 롤각이 동일한 부호인 상황(도 7의 (a))와 다른 부호인 상황(도 8의 (a))에서 학습데이터 각 20개씩 총 40개의 새로운 상황(Unknown situation) 학습데이터를 수집할 수 있다. 마찬가지로, 우측 앞다리 정강이체(122)(Front Right Shin, FRS)의 하측서보모터(112)는 동일한 부호인 상황(도 7의 (b))와 다른 부호인 상황(도 8의 (b))에서 학습데이터 각 20개씩 총 40개의 새로운 상황(Unknown situation) 수집할 수 있다. 같은 방법으로 다른 3개의 다리의 6개의 서보모터(좌측 앞다리 허벅지체(Front Left Thigh, FLT)(121), 좌측 앞다리 정강이체(Front Left Shin, FLS)(122), 우측 뒷다리 허벅지체(Hind Right Thigh, HRT)(121), 우측 뒷다리 정강이체(Hind Right Shin, HRS)(122), 좌측 뒷다리 허벅지체(Hind Left Thigh, HLT)(121), 좌측 뒷다리 정강이체(Hind Left Shin, HLS)(122)) 각각 연결된 상측서보모터(111) 또는 하측서보모터(112)에 대해서도 각각 총 40개의 새로운 상황(Unknown situation) 학습데이터를 수집하여, 기존(Known situation )학습데이터와 통합하여 총 81개의 새로운 학습데이터를 이용하여 인공신경망(ANN)을 새로 학습할 수 있다.
도 9 내지 도 11은 본 발명의 다른 실시 예에 따른 인공신경망을 이용한 실험에 대한 그래프이다. 구체적으로, 도 9 내지 도 11에서는, 제1인공신경망 모델, 제2-1인공신경망 모델 및 제2-2인공신경망 모델 각각에서 노드(node)를 10개로 설정한 경우에 대한 그래프이다.
도 9의 (a)와 (b)는 보행 로봇(100) 자세 제어 방법과 기구학에 의한 보행 로봇(100) 자세 제어 방법의 비교를 위한 그래프이다. 그리고, 도 9의 (a)에서는, 노드가 10개인 경우 제1인공신경망 모델을 이용한 보행 로봇(100)의 피치각과 서보모터의 회전각에 대한 그래프(세모 형상 결합한 점선 그래프)와 기존 기구학을 이용해 연산한 보행 로봇(100)의 피치각과 서보모터의 회전각 관계에 대한 그래프(직선 그래프)를 나타낼 수 있다. 또한, 도 9의 (b)에서는, 노드가 10개인 경우 제1인공신경망 모델을 이용한 보행 로봇(100)의 롤각과 서보모터의 회전각에 대한 그래프(세모 형상 결합한 점선 그래프)와 기존 기구학을 이용해 연산한 보행 로봇(100)의 롤과 서보모터의 회전각 관계에 대한 그래프(직선 그래프)를 나타낼 수 있다.
도 10은 본 발명의 일 실시 예에 따른 제2-1인공신경망 모델에서 서보모터, 피치각 및 롤각의 관계에 대한 그래프이고, 도 11은 본 발명의 일 실시 예에 따른 제2-2인공신경망 모델에서 서보모터, 피치각 및 롤각의 관계에 대한 그래프이다. 각각의 그래프에서 하측 가로축은 피치각에 대한 그래프이고, 상측 가로축은 롤각에 대한 그래프이다. 그리고, 도 10의 (a)와 도 11의 (a) 각 그래프에서 세로축은 상측서보모터(111)의 회전각을 나타내고, 도 10의 (b)와 도 11의 (b) 각 그래프에서 세로축은 하측서보모터(112)의 회전각을 나타낼 수 있다. 그리고, 도 10의 (a) 는 상측서보모터(111)의 피치각과 롤각이 동일한 방향인 경우에 대한 그래프이고, 도 10의 (b)는 하측서보모터(112)의 피치각과 롤각이 동일한 방향인 경우에 대한 그래프이며, 도 11의 (a)는 상측서보모터(111)의 피치각과 롤각이 반대 방향인 경우에 대한 그래프이고, 도 11의 (b)는 하측서보모터(112)의 피치각과 롤각이 반대 방향인 경우에 대한 그래프이다.
도 3의 그래프와 도 9의 각 그래프를 비교하고, 도 5의 각 그래프와 도 10의 각 그래프를 비교하며, 도 6의 각 그래프와 도 11의 각 그래프를 비교하여 분석하면, 상기와 같이 100개의 인공신경망 모델(노드 100)에 대해 형성된 그래프와 10개의 노드를 이용한 인공신경망 모델에 대해 형성된 그래프가 극히 유사하여, 노드 수를 감소시키더라도 본 발명의 보행 로봇(100) 자세 제어방법의 효율이 유지될 수 있음을 확인할 수 있다.
상기에서 보는 바와 같이, 본 발명의 보행 로봇(100) 자세 제어방법을 이용하는 경우, 강화학습에 의해 학습데이터를 생성하고, 이를 인공신경망 학습시켜, 인공신경망의 데이터를 이용하여 보행 로봇(100)의 자세 제어를 수행하므로, 제어 속도가 향상되고 다양한 상황에서 보행 로봇(100)의 자세 제어가 수행될 수 있다. 그리고, 미리 생성된 학습데이터를 실시간으로 업데이트하여 새로운 학습데이터를 생성하면서 보행 로봇(100)의 자세 제어가 수행되어, 자세 제어의 정밀도를 향상시키고 제어 범위를 증가시킬 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 보행 로봇
111 : 상측서보모터
112 : 하측서보모터
121 : 허벅지체
122 : 정강이체
131 : 앞발
132 : 뒷발
140 : 몸체
200 : 바닥부
210 : 상판
220 : 구동체

Claims (8)

  1. 몸체와 상기 몸체에 결합되는 복수 개의 다리를 포함하고 각각의 다리에는 상측관절과 하측관절이 형성되는 보행 로봇 자세 제어방법에 있어서,
    상기 보행 로봇이 서 있는 바닥부의 피치각(전후 기울기) 또는 롤각(좌우 기울기)이 변하는 경우, 상기 몸체의 균형이 유지되도록 가변하는 상기 상측관절과 상기 하측관절 각각의 각도 파라미터를 설정하고, 정책 반복(Policy Iteration)을 통해 기존의 정책에서 최적 정책(Optimal Policy)이 도출되도록 강화학습(Reinforcement Learning)을 수행하는 제1단계;
    노드(node)의 수를 조절하여, 상기 강화학습에 의한 학습데이터인 기존학습데이터에 존재하고 상기 상측관절과 상기 하측관절을 각각 제어하는 각도 정보를 출력하는 인공 신경망(Artificial Neural Network) 모델인 제1인공신경망 모델을 복수 개 생성하는 제2단계;
    상기 기존학습데이터의 상황에 상이한 상황에 대한 학습데이터인 신규학습데이터를 학습한 상기 제1인공신경망 모델은 제2-1인공신경망 모델과 제2-2인공신경망 모델로 나뉘어지는 제3단계;
    상기 제2-1인공신경망 모델과 상기 제2-2인공신경망 모델 각각의 데이터와 상기 기존학습데이터를 이용하여 제3인공신경망 모델을 생성하는 제4단계; 및
    상기 제3인공신경망 모델에 의한 데이터를 이용하여 자세 제어를 수행하는 제5단계;를 포함하는 것을 특징으로 하는 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법.
  2. 청구항 1에 있어서,
    상기 제1단계에서, 상기 기존학습데이터에 의한 상기 보행 로봇의 피치각과 롤각에 대해 평균 값을 측정하는 것을 특징으로 하는 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법.
  3. 청구항 2에 있어서,
    상기 제1단계에서, 상기 보행 로봇의 피치각과 롤각에 대해 평균 값이 제1기준값 이하인 경우, 상기 기존학습데이터를 적합 판정하는 것을 특징으로 하는 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법.
  4. 청구항 1에 있어서,
    상기 제3단계에서, 상기 제2-1인공신경망 모델은 상기 보행 로봇의 피치각과 롤각이 각각 동일한 부호인 경우에 대한 모델이고, 상기 제2-2인공신경망 모델은 상기 보행 로봇의 피치각과 롤각이 각각 상이한 부호인 경우에 대한 모델인 것을 특징으로 하는 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법.
  5. 청구항 4에 있어서,
    상기 제3단계에서, 복수 개의 상기 제1인공신경망 모델에서 아래의 식에 의해 연산되어 도출되는 값인 ε 값이 제2기준값 이하인 인공신경망 모델이 상기 제2-1인공신경망 모델 또는 상기 제2-2인공신경망 모델로 결정되는 것을 특징으로 하는 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법.
    Figure 112021002062265-pat00059

    여기서, εn은 ε 값이고,
    Figure 112021002062265-pat00060
    은 인공신경망 모델의 출력 값, ref는 상기 보행 로봇의 피치각과 롤각 각각이 0도인 경우에 있어서 상기 상측관절의 각도로 기울어진 직선에 대한 함수 값이다.
  6. 청구항 5에 있어서,
    상기 제5단계에서, 상기 제2-1인공신경망 모델의 ε 값과 상기 제2-2인공신경망 모델의 ε 값이 모두 상기 제2기준값 이하인 경우, 상기 제3인공신경망 모델을 이용한 상기 보행 로봇의 자세 제어가 수행되는 것을 특징으로 하는 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법.
  7. 청구항 1에 있어서,
    상기 상측관절과 상기 하측관절에는 서보모터가 형성되는 것을 특징으로 하는 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법.
  8. 청구항 1 내지 청구항 7 중 선택되는 어느 하나의 항에 기재된 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법을 실행하는 프로그램을 기록하여 컴퓨터 판독 가능한 것을 특징으로 하는 기록매체.
KR1020190117375A 2019-09-24 2019-09-24 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법 KR102233739B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190117375A KR102233739B1 (ko) 2019-09-24 2019-09-24 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190117375A KR102233739B1 (ko) 2019-09-24 2019-09-24 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법

Publications (1)

Publication Number Publication Date
KR102233739B1 true KR102233739B1 (ko) 2021-03-31

Family

ID=75237702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190117375A KR102233739B1 (ko) 2019-09-24 2019-09-24 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법

Country Status (1)

Country Link
KR (1) KR102233739B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230018048A (ko) 2021-07-29 2023-02-07 경북대학교 산학협력단 테이블 균형맞춤 로봇을 위한 인터액티브 강화학습 방법, 이를 수행하기 위한 기록 매체 및 장치
KR20230115638A (ko) 2022-01-27 2023-08-03 연세대학교 산학협력단 복수의 액추에이터를 포함하는 액추에이터 시스템에 대한 계층적 강화학습 기법을 이용한 제어 방법 및 이에 의한 액추에이터 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5759495B2 (ko) * 1978-10-06 1982-12-15 Shinetsu Chemical Co
JP2002086380A (ja) * 2000-09-12 2002-03-26 Sony Corp 脚式ロボット及びその制御方法
KR20070072314A (ko) * 2005-12-31 2007-07-04 고려대학교 산학협력단 신경망을 이용하는 로봇의 자세 제어 방법 및 그 기록매체, 신경망을 이용하는 로봇의 자세 제어 장치 및 그장치를 구비한 로봇
KR100957985B1 (ko) * 2008-11-07 2010-05-17 신대섭 보행 보조 로봇의 제어장치
KR101105346B1 (ko) * 2008-12-09 2012-01-16 (주)로보티즈 학습에 의한 로봇의 보행 방법 및 학습에 의한 보행 메커니즘을 구비한 로봇
KR20190040506A (ko) 2016-09-15 2019-04-18 구글 엘엘씨 로봇 조작을 위한 심층 강화 학습

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5759495B2 (ko) * 1978-10-06 1982-12-15 Shinetsu Chemical Co
JP2002086380A (ja) * 2000-09-12 2002-03-26 Sony Corp 脚式ロボット及びその制御方法
KR20070072314A (ko) * 2005-12-31 2007-07-04 고려대학교 산학협력단 신경망을 이용하는 로봇의 자세 제어 방법 및 그 기록매체, 신경망을 이용하는 로봇의 자세 제어 장치 및 그장치를 구비한 로봇
KR100957985B1 (ko) * 2008-11-07 2010-05-17 신대섭 보행 보조 로봇의 제어장치
KR101105346B1 (ko) * 2008-12-09 2012-01-16 (주)로보티즈 학습에 의한 로봇의 보행 방법 및 학습에 의한 보행 메커니즘을 구비한 로봇
KR20190040506A (ko) 2016-09-15 2019-04-18 구글 엘엘씨 로봇 조작을 위한 심층 강화 학습

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230018048A (ko) 2021-07-29 2023-02-07 경북대학교 산학협력단 테이블 균형맞춤 로봇을 위한 인터액티브 강화학습 방법, 이를 수행하기 위한 기록 매체 및 장치
KR20230115638A (ko) 2022-01-27 2023-08-03 연세대학교 산학협력단 복수의 액추에이터를 포함하는 액추에이터 시스템에 대한 계층적 강화학습 기법을 이용한 제어 방법 및 이에 의한 액추에이터 시스템

Similar Documents

Publication Publication Date Title
KR102233739B1 (ko) 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법
Röfer Evolutionary gait-optimization using a fitness function based on proprioception
CN113821045B (zh) 一种腿足机器人强化学习动作生成系统
Xu et al. Contact sequence planning for hexapod robots in sparse foothold environment based on Monte-Carlo tree
KR20070072314A (ko) 신경망을 이용하는 로봇의 자세 제어 방법 및 그 기록매체, 신경망을 이용하는 로봇의 자세 제어 장치 및 그장치를 구비한 로봇
US6534943B1 (en) Robot device and learning method of robot device
Duan et al. Learning dynamic bipedal walking across stepping stones
Zhang et al. Three-dimensional continuous picking path planning based on ant colony optimization algorithm
Anand et al. Evaluation of variable impedance-and hybrid force/motioncontrollers for learning force tracking skills
Dong et al. Gait planning of quadruped robot based on third-order spline interpolation
Heinen et al. Gait control generation for physically based simulated robots using genetic algorithms
CN113977583B (zh) 基于近端策略优化算法的机器人快速装配方法及系统
Fu et al. ArborSim: Articulated, branching, OpenSim routing for constructing models of multi-jointed appendages with complex muscle-tendon architecture
CN112782973B (zh) 基于双智能体协作博弈的双足机器人行走控制方法和系统
Son et al. Bio-insect and artificial robot interaction using cooperative reinforcement learning
Abainia et al. Bio-inspired approach for inverse kinematics of 6-dof robot manipulator with obstacle avoidance
Lin et al. Model-based dynamic gait generation for a leg-wheel transformable robot
Luo et al. Active online learning of the bipedal walking
Iocchi et al. Learning humanoid soccer actions interleaving simulated and real data
Leng et al. Parameter design of biped robot motion system based on multi-objective optimization
CN117572877B (zh) 一种双足机器人步态控制方法、装置、存储介质及设备
Baothman A machine learning approach for improving the movement of humanoid NAO’s gaits
Omar et al. Fast convex visual foothold adaptation for quadrupedal locomotion
Chen et al. Evolving Physical Instinct for Morphology and Control Co-Adaption
Medeiros et al. Transition to Paw/Hoof in Bio-Inspired Quadruped Robot TB-Horse II and Its Demonstrative Simulation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant