KR102611126B1 - 강화학습모델을 이용한 보행 동작 정보 출력 방법 및 서비스 장치 - Google Patents

강화학습모델을 이용한 보행 동작 정보 출력 방법 및 서비스 장치 Download PDF

Info

Publication number
KR102611126B1
KR102611126B1 KR1020210046348A KR20210046348A KR102611126B1 KR 102611126 B1 KR102611126 B1 KR 102611126B1 KR 1020210046348 A KR1020210046348 A KR 1020210046348A KR 20210046348 A KR20210046348 A KR 20210046348A KR 102611126 B1 KR102611126 B1 KR 102611126B1
Authority
KR
South Korea
Prior art keywords
character
information
walking motion
walking
reinforcement learning
Prior art date
Application number
KR1020210046348A
Other languages
English (en)
Other versions
KR20220140178A (ko
Inventor
이윤상
강규철
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020210046348A priority Critical patent/KR102611126B1/ko
Publication of KR20220140178A publication Critical patent/KR20220140178A/ko
Application granted granted Critical
Publication of KR102611126B1 publication Critical patent/KR102611126B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images
    • G06V2201/033Recognition of patterns in medical or anatomical images of skeletal patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

강화학습모델을 이용한 보행 동작 정보 출력 방법은 컴퓨터 장치가 시점 t에서의 캐릭터의 상태 정보를 획득하는 단계, 상기 컴퓨터 장치가 상기 상태 정보를 사전에 구축한 신경망 모델에 입력하여 액션 정보를 생성하는 단계 및 상기 컴퓨터 장치가 상기 액션 정보를 상기 캐릭터 또는 상기 캐릭터의 동작을 출력하는 장치에 전달하는 단계를 포함한다. 상기 신경망 모델은 캐릭터의 보행 동작 상태를 포함하는 상기 상태 정보를 입력받아 강화 학습의 보상을 최대화하는 행동 정보를 결정한다.

Description

강화학습모델을 이용한 보행 동작 정보 출력 방법 및 서비스 장치{WALKING MOTION GENERATING METHOD BASED ON REINFORCEMENT LEARNING AND SERVICE APPARATUS}
이하 설명하는 기술은 강화학습을 이용한 캐릭터의 보행 동작을 산출하는 기법이다.
보행하는 객체의 보행 제어는 컴퓨터 분야 및 로봇 공학 분야에서 오래전부터 연구되고 있다. 최근 유한 상태 기계(finite state machine, FSM)로 보행 동작을 정의하여 특정 객체의 보행 동작을 제어하는 연구가 진행되었다.
한국등록특허 제10-0856824호
최근 다양한 분야에서 딥러닝 모델을 적용하여 문제를 해결하고 있다. 보행 동작 제어 분에서도 딥러닝 모델을 활용하여 문제를 해결하는 시도가 등장하였다. 대표적인 종래 기술인 DeepMimic은 보행 동작을 결정을 위한 참조 동작을 필요로 한다.
이하 설명하는 기술은 부가적인 데이터 없이 딥 강화 학습(deep reinforcement learning, DRL)을 이용하여 캐릭터의 보행 동작을 제어하고자 한다.
강화학습모델을 이용한 보행 동작 정보 출력 방법은 컴퓨터 장치가 시점 t에서의 캐릭터의 상태 정보를 획득하는 단계, 상기 컴퓨터 장치가 상기 상태 정보를 사전에 구축한 신경망 모델에 입력하여 액션 정보를 생성하는 단계 및 상기 컴퓨터 장치가 상기 시점 t에서의 상기 액션 정보를 상기 캐릭터 또는 상기 캐릭터의 동작을 출력하는 장치에 전달하는 단계를 포함한다. 상기 신경망 모델은 캐릭터의 보행 동작 상태를 포함하는 상기 상태 정보를 입력받아 강화 학습의 보상을 최대화하는 행동 정보를 결정한다.
강화학습모델 기반으로 캐릭터의 보행 동작을 결정하는 서비스 장치는 시점 t에서의 캐릭터의 동작 정보를 입력받는 입력장치, 캐릭터의 보행에 대한 상태 정보를 기준으로 액션 정보를 출력하는 신경망 모델을 저장하는 저장장치 및 상기 동작 정보를 포함하는 상태 정보를 상기 신경망 모델에 입력하여 액션 정보를 출력하고, 상기 출력된 액션 정보를 기준으로 상기 시점 t에서 상기 캐릭터의 보행 동작을 위한 제어 정보를 생성하는 연산장치를 포함한다. 상기 신경망 모델은 캐릭터의 보행 동작 상태를 포함하는 상기 상태 정보를 입력받아 강화 학습의 보상을 최대화하는 액션 정보를 결정한다.
이하 설명하는 기술은 현재 캐릭터의 동작을 기준으로 이후 안정적인 보행 동작을 실시간으로 산출할 수 있다.
도 1은 보행 동작 정보를 출력하는 시스템에 대한 예이다.
도 2는 보행 동작을 정의하는 유한 상태 기계의 예이다.
도 3은 캐릭터 특이적인 보행 파라미터를 도시한 예이다.
도 4는 컴퓨터 장치가 캐릭터의 보행 동작을 산출하는 과정에 대한 예이다
도 5는 보행 동작을 산출하는 컴퓨터 장치에 대한 예이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설명된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
이하 설명하는 기술은 컴퓨터 장치를 이용하여 가상공간에서 특정 객체의 보행 동작 정보를 출력하는 기술이다.
특정 객체는 보행 가능한 객체(character)이다. 객체는 유형에 따라 이족 보행, 사족 보행 또는 다수의 다리를 갖는 객체일 수 있다. 이하 설명의 편의를 위하여 사람이나 로봇과 같은 이족 보행을 기준으로 설명한다. 보행 동작은 유한 상태 기계(FSM)로 정의될 수 있다. 이하 설명하는 기술도 FSM를 기반으로 객체의 보행 상태를 정의하고, 현재 시점에서 안정적인 보행 동작을 결정한다.
이하 컴퓨터 장치가 보행 동작을 제어하는 대상을 캐릭터(character)라고 명명한다. 캐릭터는 가상 공간 또는 실제 공간에서의 객체일 수 있다. 가상 공간의 캐릭터는 게임, 애니메이션 등에 등장하는 사람, 동물, 로봇 등과 같은 객체를 포함한다. 실제 공간에서의 캐릭터는 로봇, 장애인을 위한 보행 기계 등과 같은 객체를 포함한다.
한편, 이하 설명하는 기술은 2차원 가상 공간의 캐릭터에 국한되지 않고, 3차원 가상 공간 및 실제 공간의 캐릭터에 적용가능하다.
컴퓨터 장치는 강화학습모델을 이용하여 직전 보행 동작을 기준으로 현재 시점에서 적절한 보행 동작을 출력한다. 컴퓨터 장치는 사전에 마련된 강화학습모델을 이용하여 입력 데이터를 기준으로 보행 동작 정보를 출력한다. 컴퓨터 장치는 데이터 처리가 가능한 다양한 장치로 구현될 수 있다. 예컨대, 컴퓨터 장치는 PC, 네트워크상의 서버, 스마트 기기, 전용 프로그램이 임베딩된 칩셋 등으로 구현될 수 있다.
도 1은 보행 동작 정보를 출력하는 시스템(100)에 대한 예이다. 도 1에서 컴퓨터 장치(130, 140, 150)가 보행 동작 정보를 출력한다. 도 1에서 컴퓨터 장치는 서버(130), 컴퓨터 단말(140) 및 칩셋(150) 형태로 도시하였다. 캐릭터는 가상 공간의 객체일 수도 있고, 실제 공간의 객체일 수도 있다. 도 1은 이족 보행하는 로봇을 예로 도시하였다.
로봇(110)은 현재 동작에 대한 정보를 생성한다. 로봇(110)은 현재 보행 동작 정보를 포함하는 상태 정보를 컴퓨터 장치에 전달할 수도 있다.
서버(130)는 로봇(110)으로부터 동작 정보를 수신한다. 로봇(110)은 사용자 단말(10)에서 일정한 동작을 하는 캐릭터라고 가정한다. 이 경우 서버(130)는 사실 사용자 단말(10)로부터 현재 동작 정보를 수신한다. 서버(130)는 동작 정보 및 사전에 획득한 캐릭터 특이적 보행 파라미터 등을 이용하여 상태 정보를 생성할 수 있다. 또는 서버(130)는 사용자 단말(10)로부터 상태 정보를 수신할 수도 있다. 서버(130)는 사전에 구축한 강화 학습 모델(딥 강화 학습)을 이용하여 상태 정보를 기준으로 보행을 위한 액션(action) 정보를 생성한다. 서버(130)는 액션 정보에 기반하여 로봇(110)의 동작을 나타내는 보행 동작 데이터를 생성할 수 있다. 서버(130)는 보행 동작 데이터를 사용자 단말(10)에 전송할 수 있다. 단말(10)은 가상 공간에서 현재 시점의 보행 동작을 하는 로봇을 출력할 수 있다.
컴퓨터 단말(140)은 로봇(110)으로부터 동작 정보를 획득한다. 로봇(110)은 컴퓨터 단말(140)에서 일정한 동작을 하는 캐릭터라고 가정한다. 컴퓨터 단말(140)은 동작 정보 및 사전에 획득한 캐릭터 특이적 보행 파라미터 등을 이용하여 상태 정보를 생성할 수 있다. 컴퓨터 단말(140)은 사전에 구축한 강화 학습 모델(딥 강화 학습)을 이용하여 상태 정보를 기준으로 보행을 위한 액션 정보를 생성한다. 컴퓨터 단말(140)은 액션 정보에 기반하여 로봇(110)의 동작을 나타내는 보행 동작 데이터를 생성할 수 있다. 컴퓨터 단말(140)은 가상 공간에서 현재 시점의 보행 동작을 하는 로봇을 사용자(20)에게 출력할 수 있다.
전용 칩셋(150)은 로봇(110)으로부터 동작 정보를 획득한다. 이때 로봇(110)은 현실 세계에서 동작하는 캐릭터라고 가정한다. 칩셋(150)은 로봇(110)에 내장된 형태일 수 있다. 칩셋(150)은 동작 정보 및 사전에 획득한 캐릭터 특이적 보행 파라미터 등을 이용하여 상태 정보를 생성할 수 있다. 칩셋(150)은 사전에 구축한 강화 학습 모델(딥 강화 학습)을 이용하여 상태 정보를 기준으로 보행을 위한 액션 정보를 생성한다. 칩셋(150)은 액션 정보에 기반하여 로봇의 보행 동작 제어를 위한 자세 제어 정보를 생성할 수 있다. 자세 제어 정보는 보행 동작을 정의하는 관절들의 각도를 제어한다. 로봇(110)은 보행 동작 데이터에 따라 현재 시점에서 일정한 보행 동작을 한다.
컴퓨터 장치(130, 140 및 150)는 캐릭터의 보행 동작 정보를 제공하는 서비스를 제공한다. 따라서, 컴퓨터 장치는 서비스 장치라고 명명할 수도 있다.
도 2는 보행 동작을 정의하는 유한 상태 기계(FSM)의 예이다. 보행은 다리의 관절 각도 및 신체 부위의 위치로 정의할 수 있다. 도 2의 FSM는 4가지 상태(state)를 갖는다.
상태 0과 상태 1은 오른쪽 다리(R)의 스윙(swing) 구간이다. 스윙은 이동을 위하여 발을 올리는 동작을 말한다. 상태 0은 오른쪽 다리(R)가 진행방향으로 나가는(또한 올라가는) 동작 상태이고, 상태 1은 스윙하는 오른쪽 다리(R)의 발이 바닥(지면)을 딛는 상태이다.
상태 2과 상태 3은 왼쪽 다리(L)의 스윙 구간이다. 상태 2는 왼쪽 다리(L)가 진행방향으로 나가는(또한 올라가는) 동작 상태이고, 상태 3은 스윙하는 왼쪽 다리(L)의 발이 바닥(지면)을 딛는 상태이다.
도 2의 상태에서 스윙 힙(swing hip) 각도는 시상면(sagittal plane)과 관상면(coronal planes) 모두에서 아래 수학식 1과 같이 조절될 수 있다.
수학식 1에서 θd는 조절된 목표(target) 각도, θd0는 각 상태에서 정의된 목표 각도, d는 발목(stance ankle)에서 골반까지의 수평 방향(horizontal) 거리, v는 골반의 수평 방향 속도, cd및 cv는 가중치이다. 관절의 토크는 PD(proportional-derivative) 제어를 사용하여 상기 조절된 목표 자세로부터 연산된다.
이하 설명하는 자세 제어 정책은 일반적으로 두 개의 다리와 골반 구조를 갖는 이족 보행 캐릭터에 적용할 수 있다. 이하 설명하는 기술은 시상면과 관상면에서 3-DOF(Degrees of Freedom) 스윙 힙 관절을 갖는 3D 캐릭터에 적용 가능하고, 또한 시상면에서 1-DOF 스위 힙 관절을 갖는 2D 캐릭터에도 적용 가능하다.
이하 설명의 편의를 위하여 3D 캐릭터를 기준으로 설명한다. 이 경우 cd및 cv는 시상면과 관상면에서 4개의 파라미터
Figure 112021041710617-pat00002
,
Figure 112021041710617-pat00003
,
Figure 112021041710617-pat00004
Figure 112021041710617-pat00005
로 구성된다. 무릎, 발목 등의 다른 관절은 PD 제어를 사용하는 각 FSM으로 제어될 수 있다.
스윙 업 상태 구간 ad은 스윙하는 다리가 바닥면에 닫지 않는 시간 구간을 의미한다. 스윙 업 상태 구간 ad은 고정된 값을 사용하지 않고, 일정하게 변화하는 값을 사용할 수 있다. 제어 정책에 따라 ad가 조절되며 이를 통해 보다 다양한 형태의 보행 동작이 가능하다.
컴퓨터 장치는 다른 관절과 같이 목표 자세로부터 스탠스 힙 토크(stance hip toque)를 연산할 수 있다. 종래 기술(SIMBICON)은 가상의 PD 제어를 이용하여 내부 토크만을 사용하여 스탠스 힙 토크를 연산하였다. 그러나, 종래 기술의 방법은 자연스럽지 못하다.
컴퓨터 장치는 딥 강화 학습(DRL)을 통해 스탠스 힙 토크를 연산한다. 학습된 정책을 사용하면 보다 자연스러운 보행 자세를 산출할 수 있다. 이하 강화학습에 대하여 설명한다.
컴퓨터 장치는 FSM 기반 제어와 함께 딥 강화 학습을 사용하여 캐릭터를 제어한다. 먼저, 강화 학습에 대하여 간략하게 설명한다. 강화 학습은 관찰되는 환경 상태 st에서 각 강화 학습 단계마다 특정한 액션(action) at를 선택한다. 특정 액션 at를 수행한 후, 에이전트는 환경으로부터 보상 rt = r(st, at)을 받는다. t는 특정 시점을 말한다. 강화 학습의 목적은 아래 수학식 2와 같이 누적된 보상을 최대화할 수 있는 정책 πθ(a|s)을 찾는 것이다.
수학식 2에서 θ는 정책의 파라미터, γ ∈ {0,1}은 보상에 대한 할인 지수이다.
딥 강화 학습(DRL)에서 정책 π는 네트워크 파라미터 θ를 갖는 딥러닝 신경망이다. 최적의 θ를 찾기 위하여 PPO(proximal policy optimization)를 사용할 수 있다.
특정 시점에서의 강화 학습은 하나의 걸음 걸이(single walking step)를 결정할 수 있다. 이 경우, 특정 시점의 강화 학습 단계는 FSM에서 두 개의 상태 전이를 포함한다. 경우에 따라서 특정 시점의 강화 학습이 각 FSM 상태를 결정할 수도 있다. 이하 매 강화 학습 단계에서 하나의 걸음을 결정한다고 가정한다.
A. 상태(state)
상태 s는 캐릭터의 동적 상태 sd, 캐릭터 특이적 보행 파라미터 sp 및 스윙하는 다리를 식별하는 이진 지시자 ss를 포함한다. 수학식 1의 균형 피드백 규칙에 따라 학습된 정책은 매 단계의 시작 시점에서 해당 상태에서 가장 안정된 자세를 생성할 수 있다.
동적 상태 sd는 일반화된 위치 , 루트 관절(root joint)의 속도 , 양다리들의 관절들을 포함한다. 루트 관절은 양다리가 분기하는 지점을 의미한다. 동적 상태는 시뮬레이션 되는 캐릭터 및 환경에 따라 부가적인 관절 상태가 추가될 수도 있다. 예컨대, 캐릭터가 상반신(upper body part)을 갖는다면, 동적 상태는 상반신의 관절 상태를 포함할 수 있다.
도 3은 캐릭터 특이적인 보행 파라미터를 도시한 예이다. 특이적 보행 파라미터 sp는 캐릭터의 특징적 보행 내지 원하는 보행 패턴을 나타내는 벡터로서 하나의 걸음 길이 ld, 하나의 걸음 간격(걸음 시간 구간) dd 및 스텝에서 스윙하는 발의 최대 높이 hd에 대한 정보를 포함할 수 있다.
B. 액션(action)
액션은 양 다리 및 다른 부가적인 관절들의 목표 각도들 ap을 포함한다. 액션은 하나의 걸음 동작을 생성하는데 필요한 정보를 포함한다. 액션은 두 개의 목표 각도들 세트를 포함한다. 두 개의 목표 각도들 세트 각각은 FSM의 스윙 업 상태와 스윙 다운 상태를 나타낸다. 또한 액션은 스윙 업 상태 구간 ad를 포함한다.
액션은 FSM 기반한 액션 범위를 갖는다. 사람은 걸을 때 시상면 기준으로 힙(hip)과 무릎 관절의 동작 범위를 조절하면서 다리를 올리고 내리는 동작을 반복한다. 이때 다른 해부학적 평면에서는 힙 및 무릎은 일정한 범위 내에 머둘게 된다. 즉, 특정 관절들에 대하여 스윙 업 상태와 스윙 다운 상태에 대한 목표 각도가 다를 수 있다. 이에 근거하여 FSM 상태에 따라 각 목표 관절 각도 ap의 범위(가용 범위)를 일정하게 설정할 수 있다. 아래 표 1은 목표 관절 각도의 가용 범위를 나타낸다.
표 1은 스윙하는 동작(swing)에서의 관절이나 신체 부위의 가용 각도 및 발이 바닥면을 딛는 상태(stance)에서의 관절이나 신체 부위의 가용 각도를 예시한다. 관절이나 신체 부위는 힙(hip), 무릎(knee), 발목(ankle) 및 등(back)을 포함한다. 각 부위의 휘어지는 방향에 따라 + 또는 -로 표시하였다.
표 1을 살펴보면 다른 DOF에 대해서는 범위가 고정되지만 시상면 기준으로 FSM 상태에 따라 힙과 무릎의 목표 범위가 달라지는 것을 알 수 있다. 예컨대, 목표 스윙 힙 각도는 스윙 업 상태에서 양의 값을 갖지만, 스윙 다운 상태에서는 음의 값을 갖는다. 이와 같은 행동 범위는 학습 과정에서 정책이 로컬의 최솟값에 고정되는 것을 방지할 수 있다. 즉, 관절의 행동 범위를 한정하면 강화 학습 모델이 보다 자연스러운 동작을 생성할 수 있다.
C. 보상
보상 r은 5개의 항목으로 구성될 수 있다. 보상은 캐릭터가 서있는 상태(upright posture)에서 앞으로 이동하고, 최소의 노력으로 캐릭터 특이적 보행 파라미터를 만족하게 한다. 보상에 대한 각 항목에 대하여 설명한다.
제1 항목 Eparam은 목표하는 보행 파라미터들을 기준으로 현재 단계의 보행 파라미터와 목표하는 보행 파라미터의 편차에 패털티(penalty)를 부여한다.
sp는 목표하는 특이적 보행 파라미터 벡터이고, mp는 현재 단계에의 보행 파라미터 벡터이다.
제2 항목 Eup은 캐릭터의 상체가 서 있는 상태를 유지하도록 유도하는 항목이다.
는 캐릭터의 루트 링크(다리와 골반이 이루는 링크)의 현재 수직 방향이고, 는 캐릭터가 위치하는 세계의 수직축 벡터이다.
제3 항목 Efwd는 캐릭터가 진행하는 방향을 벗어나는 경우에 대한 패널티 항목이다.
clateral은 측면 축(lateral axis)에서 캐릭터의 골반의 위치이다.
제4 항목 Eeff는 현재 걸음 동안의 지나친 관절의 토크에 대한 패널티 항목이다. 즉, 캐릭터의 보행 과정에서 관절에 지나친 부하가 가지 않도록 조절하는 것이다. 시간 구간을 기준으로 누적되는 토크값들이 일정한 기준값 이하게 되게 유지하게 된다.
i는 관절 인덱스, ti(t)는 시간에서 각 관절의 토크, T는 현재 걸음에 대한 시간 구간이다.
전체 보상 r은 아래 수학식 7과 같다.
Ealive는 현재 걸음에서 보행이 종료되지 않는 경우에 대한 보너스 항목이다. w1 내지 w4는 각 항목에 대한 가중치이다.
강화 학습 단계는 하나의 걸음을 결정한다. 하나의 걸음은 고정된 시간 구간이 아니다. 즉, 걸음들은 서로 다른 시간 구간을 가질 수 있고, 이 경우 보상을 공평하게 산정하기 어려울 수 있다. 특히 짧은 시간 구간을 갖는 걸음에 대해서는 충분한 보상이 주어지기가 어려울 수 있다.
따라서, 컴퓨터 장치는 서로 다른 시간 구간을 갖는 걸음에 대하여 일정하게 보상을 조절할 필요가 있다. 수학식 7의 가중합은 걸음의 시간 구간 dd에 따라 일정하게 스케일링 될 수 있다. 예컨대, 2개의 5초 길이의 에피소드가 하나의 0.5초 dd인 에피소드 e1 및 1초인 에피소드 e2를 갖는다고 가정한다. 이 경우 할인 지수가 1이라고 하면, dd로 스케일링하여 e1에 대한 보상은 5 = 1×0.5×(5/0.5)이고, e2에 대한 보상은 5 = 1×1×(5/1)이 될 수 있다. 스케일링이 없는 경우 1에 대한 보상은 10 = 1×(5/0.5)이고, e2에 대한 보상은 5 = 1×(5/1)이다. 결국, 컴퓨터 장치가 dd에 따라 보상을 스케일링해야 보다 자연스러운 보행 동작을 산출한다는 것을 알 수 있다.
도 4는 컴퓨터 장치가 캐릭터의 보행 동작을 산출하는 과정(200)에 대한 예이다. 컴퓨터 장치는 딥 강화 학습에 따라 보행 동작을 결정하는 에이전트에 해당한다.
딥 강화 학습에서 신경망 모델은 전술한 바와 같이 누적되는 보상을 최대화하기 위한 액션을 출력하는 정책 모델에 해당한다. 최적의 정책을 결정하기 위한 신경망은 사전에 학습되어야 한다. 이하 연구자가 구축한 신경망 모델 및 학습 과정에 대하여 간략하게 설명한다.
연구자는 3개의 전연결계층(각각 은닉층이 64개 유닛들 포함)을 포함하는 신경망을 구성하였다. 은닉층은 tanh 활성화 함수를 사용하였다. 물론, 신경망은 다른 활성화 함수나 구조를 가질 수도 있을 것이다.
한편, 컴퓨터 장치는 현재 FSM의 상태가 표 1에서의 FSM 기반 액션 범위에 부합하도록 출력 액션을 스케일링할 수 있다. 가치(value) 기능망은 정책 신경망과 동일한 구조를 가질 수 있다. 한편, 가치 기능망은 출력값의 차원이 1이다.
PPO 알고리즘은 다수의 에피소드로부터 정책 신경망 및 가치 신경망을 업데이트하기 위한 경험 튜플(tuple)을 수집할 수 있다. 각 에피소드 시작에서, 캐릭터는 두 팔이 아래인 자세로 초기화될 수 있다. 한편, 개발자는 완성도 높은 학습을 위하여 각 파라미터의 범위를 적절하게 조절할 수 있다. 연구자는 dd는 [0,0.5], ld는 [dd/3,dd/3+0.2], hd는 [dd/4, dd/4+0.15]로 조절하여 학습하였다. 각 항목의 최솟값 및 최댓값은 보행 파라미터 sp를 정규화하는데 사용하였다. 동적 상태 sd는 관절 각도 및 캐릭터의 속도 한계를 이용하여 정규화하였다. 그리고, 캐릭터가 넘어지지는 것으로 판단되면 에피소드를 중단하여 불필요한 정보가 수집되지 않도록 하였다.
에이전트는 캐릭터에 대하여 t 시점에서의 상태 st를 획득한다(210). 컴퓨터 장치는 t 시점의 캐릭터 동작, 캐릭터 특이적 보행 파라미터 및 현재 스윙하는 다리 식별자를 포함하는 st를 생성할 수 있다.
에이전트는 상태 st를 사전에 구축한 신경망 모델에 입력하여, t 시점에서의 액션 at를 생성할 수 있다(220). 이때, 에이전트는 보상 rt를 신경망 모델에 더 입력할 수도 있다.
컴퓨터 장치는 결정된 액션 at를 캐릭터에 전달하거나, 캐릭터가 동작하는 장치에 전달하여 t 시점에서의 보행 동작을 수행하게 한다(230).
도 5는 보행 동작을 산출하는 컴퓨터 장치 또는 서비스 장치(300)에 대한 예이다.
컴퓨터 장치(300)는 도 1의 컴퓨터 장치(130, 140 또는 150)에 해당하는 장치이다. 컴퓨터 장치(300)는 전술한 딥 강화 학습을 이용하여 캐릭터의 현재 상태를 기준으로 보행 동작을 결정할 수 있다. 컴퓨터 장치(300)는 물리적으로 다양한 형태로 구현될 수 있다. 예컨대, 컴퓨터 장치(300)는 PC, 스마트 기기, 네트워크상의 서버, 데이터 처리 전용 칩셋 등의 형태를 가질 수 있다.
컴퓨터 장치(300)는 저장장치(310), 메모리(320), 연산장치(330), 인터페이스 장치(340), 통신장치(350) 및 출력장치(360)를 포함할 수 있다.
저장장치(310)는 입력되는 특정 시점에 대한 캐릭터의 동작 정보를 저장할 수 있다.
또는, 저장장치(310)는 특정 시점에 대한 캐릭터의 상태 정보를 저장할 수도 있다.
저장장치(310)는 캐릭터의 보행에 대한 상태 정보를 기준으로 액션을 출력하는 신경망 모델을 저장할 수 있다. 신경망 모델은 딥 강화 학습에서 정책에 해당한다.
나아가 저장장치(310)는 데이터 처리에 필요한 프로그램 내지 소스 코드 등을 저장할 수 있다.
저장장치(310)는 특정 시점에서 결정된 캐릭터의 액션 내지 보행 동작 데이터를 저장할 수 있다.
메모리(320)는 컴퓨터 장치(300)가 캐릭터의 보행 동작을 결정하는 과정에서 생성되는 데이터 및 정보 등을 저장할 수 있다.
인터페이스 장치(340)는 외부로부터 일정한 명령 및 데이터를 입력받는 장치이다. 인터페이스 장치(340)는 물리적으로 연결된 캐릭터 장치, 입력 장치 또는 외부 저장장치로부터 시점 t의 캐릭터의 동작 정보를 입력받을 수 있다. 동작 정보는 보행 상태 또는 현재의 동작을 정의하는 관절의 각도 및 특정 부위의 위치 등을 포함할 수 있다.
인터페이스 장치(340)는 액션 생성을 위한 딥러닝모델을 입력받을 수 있다. 인터페이스 장치(340)는 딥러닝모델 훈련을 위한 학습데이터, 정보 및 파라미터값을 입력받을 수도 있다.
인터페이스 장치(340)는 컴퓨터 장치(300) 내지 연산 장치(330)가 결정한 현재 시점의 캐릭터 액션 내지 보행 동작 데이터를 캐릭터(예컨대, 로봇 장치)에 전달할 수 있다.
통신장치(350)는 유선 또는 무선 네트워크를 통해 일정한 정보를 수신하고 전송하는 구성을 의미한다. 통신장치(350)는 외부 객체로부터 시점 t의 캐릭터의 동작 정보를 수신할 수 있다. 통신장치(350)는 모델 학습을 위한 데이터도 수신할 수 있다.
통신장치(350)는 현재 시점의 캐릭터 액션 내지 보행 동작 데이터를 외부 객체(캐릭터 또는 캐릭터 동작을 출력하는 장치)로 송신할 수 있다.
통신장치(350) 내지 인터페이스 장치(340)는 외부로부터 일정한 데이터 내지 명령을 전달받는 장치이다. 따라서, 통신장치(350) 내지 인터페이스 장치(340)를 포괄하여 입력장치라고 명명할 수 있다.
출력장치(360)는 일정한 정보를 출력하는 장치이다. 출력장치(360)는 데이터 처리 과정에 필요한 인터페이스를 출력할 수 있다. 출력장치(360)는 현재 시점의 캐릭터 액션 내지 보행 동작 데이터를 기준으로 캐릭터의 보행 동작을 화면에 출력할 수도 있다.
연산 장치(330)는 동작 정보를 포함하는 상태 정보를 신경망 모델에 입력하여 액션을 출력하게 한다. 액션은 캐릭터의 움직임을 정의하는 관절들의 목표 각도를 포함한다.
연산 장치(330)는 시점 t의 정보를 기준으로 보행 동작을 위한 액션을 제공한다. (i) 캐릭터가 가상 공간의 캐릭터라면, 서비스 장치(300)는 캐릭터를 출력하는 별도의 장치에 액션 정보를 전달한다. 한편, 서비스 장치(300)가 캐릭터를 출력하는 장치일 수도 있다. 이후 별도의 장치 또는 서비스 장치(300)는 주어진 액션 정보를 캐릭터 동작을 제어하는 시뮬레이션 엔진에 전달하여 캐릭터 동작을 위한 보행 동작 데이터를 생성한다. 그리고, 별도의 장치 또는 서비스 장치(300)는 보행 동작 데이터에 따른 캐릭터 동작을 출력한다. (ii) 캐릭터가 현실 시계의 로봇이라면, 서비스 장치(300)는 액션 정보를 동작 제어를 위한 제어 장치에 전달하여 로봇의 보행 동작을 제어할 수 있다. 또는 서비스 장치(300) 자체가 로봇의 제어 장치일 수도 있다. 이 경우 서비스 장치(300)는 액션 정보에 따른 관절들의 각도를 각 관절을 제어하는 액츄에이터에 전달할 수 있다.
연산 장치(330)는 가상의 캐릭터 또는 현실 세계의 캐릭터의 동작 제어를 위한 제어 정보를 생성한다고 할 수 있다. 제어 정보는 관절들의 각도 정보 또는 각 관절의 각도 제어를 위한 제어 명령 형태일 수 있다.
연산 장치(330)는 딥 강화 학습을 위한 신경망 모델을 학습 데이터를 이용하여 사전에 마련할 수도 있다.
또한, 연산 장치(330)는 캐릭터의 보행 동작을 결정하는 과정에서 산출되는 결과 및 보상을 기준으로 저장 장치(310)에 저장된 딥러닝 모델의 가중치를 업데이트할 수도 있다.
연산 장치(330)는 데이터를 처리하고, 일정한 연산을 처리하는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다.
또한, 상술한 바와 같은 캐릭터의 보행 동작 산출 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 일시적 또는 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM (read-only memory), PROM (programmable read only memory), EPROM(Erasable PROM, EPROM) 또는 EEPROM(Electrically EPROM) 또는 플래시 메모리 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
일시적 판독 가능 매체는 스태틱 램(Static RAM,SRAM), 다이내믹 램(Dynamic RAM,DRAM), 싱크로너스 디램 (Synchronous DRAM,SDRAM), 2배속 SDRAM(Double Data Rate SDRAM,DDR SDRAM), 증강형 SDRAM(Enhanced SDRAM,ESDRAM), 동기화 DRAM(Synclink DRAM,SLDRAM) 및 직접 램버스 램(Direct Rambus RAM,DRRAM) 과 같은 다양한 RAM을 의미한다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.

Claims (12)

  1. 컴퓨터 장치가 시점 t에서의 캐릭터의 상태 정보를 획득하는 단계;
    상기 컴퓨터 장치가 상기 상태 정보를 사전에 구축한 신경망 모델에 입력하여 액션 정보를 생성하는 단계; 및
    상기 컴퓨터 장치가 상기 시점 t에서의 상기 액션 정보를 상기 캐릭터 또는 상기 캐릭터의 동작을 출력하는 장치에 전달하는 단계를 포함하되,
    상기 신경망 모델은 캐릭터의 보행 동작 상태를 포함하는 상기 상태 정보를 입력받아 강화 학습의 보상을 최대화하는 행동 정보를 결정하고,
    상기 보상은 캐릭터에 대한 현재 보행 파리미터와 목표 보행 파라미터의 편차 저감, 캐릭터와 수직축의 편차 저감, 캐릭터와 목표 진행 방향의 편차 저감 및 보행에 관여하는 관절들에 대하여 일정 시간 구간 누적되는 토크값을 기준값 이하로 유지하는 항목들을 포함하는 강화학습모델을 이용한 보행 동작 정보 출력 방법.
  2. 제1항에 있어서,
    상기 상태 정보는 상기 캐릭터에 특이적인 보행 동작 파라미터 및 스윙하는 다리의 식별자를 더 포함하고,
    상기 보행 동작 파라미터는 상기 캐릭터의 걸음의 길이, 걸음의 소요 시간 및 스윙하는 발의 최대 높이를 포함하는 강화학습모델을 이용한 보행 동작 정보 출력 방법.
  3. 제1항에 있어서,
    상기 액션 정보는 스윙 업(swing up) 상태와 스윙 다운(swing down) 상태 각각에 대한 정보로 구성되고, 상기 액션 정보는 보행 동작을 정의하는 다리 관절들의 특정 각도를 포함하는 강화학습모델을 이용한 보행 동작 정보 출력 방법.
  4. 제1항에 있어서,
    상기 신경망 모델은
    보행 동작을 정의하는 스윙 업(swing up) 상태와 스윙 다운(swing down) 상태 각각에 대하여 보행 동작을 정의하는 복수의 관절 부위의 회전 가용 범위를 기준으로 액션 정보를 출력하도록 학습되는 강화학습모델을 이용한 보행 동작 정보 출력 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 신경망 모델은 상기 캐릭터가 특정 시점에서 한 걸음에 소요되는 시간을 기준으로 조절된 상기 보상을 기준으로 학습되는 강화학습모델을 이용한 보행 동작 정보 출력 방법.
  7. 시점 t에서의 캐릭터의 동작 정보를 입력받는 입력장치;
    캐릭터의 보행에 대한 상태 정보를 기준으로 액션 정보를 출력하는 신경망 모델을 저장하는 저장장치; 및
    상기 동작 정보를 포함하는 상태 정보를 상기 신경망 모델에 입력하여 액션 정보를 출력하고, 상기 출력된 액션 정보를 기준으로 상기 시점 t에서 상기 캐릭터의 보행 동작을 위한 제어 정보를 생성하는 연산장치를 포함하되,
    상기 신경망 모델은 캐릭터의 보행 동작 상태를 포함하는 상기 상태 정보를 입력받아 강화 학습의 보상을 최대화하는 액션 정보를 결정하고,
    상기 보상은 캐릭터에 대한 현재 보행 파리미터와 목표 보행 파라미터의 편차 저감, 캐릭터와 수직축의 편차 저감, 캐릭터와 목표 진행 방향의 편차 저감 및 보행에 관여하는 관절들에 대하여 일정 시간 구간 누적되는 토크값을 기준값 이하로 유지하는 항목들을 포함하는 강화학습모델 기반으로 캐릭터의 보행 동작을 결정하는 서비스 장치.
  8. 제7항에 있어서,
    상기 상태 정보는 상기 캐릭터에 특이적인 보행 동작 파라미터 및 스윙하는 다리의 식별자를 더 포함하고,
    상기 보행 동작 파라미터는 상기 캐릭터의 걸음의 길이, 걸음의 소요 시간 및 스윙하는 발의 최대 높이를 포함하는 강화학습모델 기반으로 캐릭터의 보행 동작을 결정하는 서비스 장치.
  9. 제7항에 있어서,
    상기 액션 정보는 스윙 업(swing up) 상태와 스윙 다운(swing down) 상태 각각에 대한 정보로 구성되고, 상기 액션 정보는 보행 동작을 정의하는 다리 관절들의 특정 각도를 포함하는 강화학습모델 기반으로 캐릭터의 보행 동작을 결정하는 서비스 장치.
  10. 제7항에 있어서,
    상기 신경망 모델은 보행 동작을 정의하는 스윙 업(swing up) 상태와 스윙 다운(swing down) 상태 각각에 대하여 보행 동작을 정의하는 복수의 관절 부위의 회전 가용 범위를 기준으로 액션 정보를 출력하도록 학습되는 강화학습모델 기반으로 캐릭터의 보행 동작을 결정하는 서비스 장치.
  11. 삭제
  12. 제7항에 있어서,
    상기 신경망 모델은 상기 캐릭터가 특정 시점에서 한 걸음에 소요되는 시간을 기준으로 조절된 상기 보상을 기준으로 학습되는 강화학습모델 기반으로 캐릭터의 보행 동작을 결정하는 서비스 장치.
KR1020210046348A 2021-04-09 2021-04-09 강화학습모델을 이용한 보행 동작 정보 출력 방법 및 서비스 장치 KR102611126B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210046348A KR102611126B1 (ko) 2021-04-09 2021-04-09 강화학습모델을 이용한 보행 동작 정보 출력 방법 및 서비스 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210046348A KR102611126B1 (ko) 2021-04-09 2021-04-09 강화학습모델을 이용한 보행 동작 정보 출력 방법 및 서비스 장치

Publications (2)

Publication Number Publication Date
KR20220140178A KR20220140178A (ko) 2022-10-18
KR102611126B1 true KR102611126B1 (ko) 2023-12-06

Family

ID=83803517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210046348A KR102611126B1 (ko) 2021-04-09 2021-04-09 강화학습모델을 이용한 보행 동작 정보 출력 방법 및 서비스 장치

Country Status (1)

Country Link
KR (1) KR102611126B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117555339B (zh) * 2024-01-11 2024-04-26 科大讯飞股份有限公司 策略网络训练方法及人形双足机器人步态控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018092653A (ja) 2018-02-19 2018-06-14 株式会社ドワンゴ 情報処理装置、情報処理方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070072314A (ko) * 2005-12-31 2007-07-04 고려대학교 산학협력단 신경망을 이용하는 로봇의 자세 제어 방법 및 그 기록매체, 신경망을 이용하는 로봇의 자세 제어 장치 및 그장치를 구비한 로봇
KR100856824B1 (ko) 2007-07-23 2008-09-05 재단법인서울대학교산학협력재단 캐릭터 시뮬레이션 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018092653A (ja) 2018-02-19 2018-06-14 株式会社ドワンゴ 情報処理装置、情報処理方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kang et al.
강규철, "심층강화학습을 이용한 유한 상태 기반 보행 제어기의 학습", 한양대학교(2020.02.) 1부.*

Also Published As

Publication number Publication date
KR20220140178A (ko) 2022-10-18

Similar Documents

Publication Publication Date Title
US11022983B2 (en) Gait control method, device, and terminal device for biped robot
Geijtenbeek et al. Interactive character animation using simulated physics: A state‐of‐the‐art review
Miura et al. Human-like walking with toe supporting for humanoids
Li et al. Gait planning and stability control of a quadruped robot
JP5118220B2 (ja) 動作モデリング装置及び方法、並びにプログラム
Zhang et al. Torso motion control and toe trajectory generation of a trotting quadruped robot based on virtual model control
Kenwright Controlled biped balanced locomotion and climbing
Hwang et al. Learning to adjust and refine gait patterns for a biped robot
Huang et al. Real‐time horse gait synthesis
CN115128960B (zh) 一种基于深度强化学习双足机器人运动控制方法及系统
KR102611126B1 (ko) 강화학습모델을 이용한 보행 동작 정보 출력 방법 및 서비스 장치
Rodriguez et al. Combining simulations and real-robot experiments for Bayesian optimization of bipedal gait stabilization
Kuo et al. Development of humanoid robot simulator for gait learning by using particle swarm optimization
Petrič et al. Reflexive stability control framework for humanoid robots
Sim et al. Position/torque hybrid control of a rigid, high-gear ratio quadruped robot
Allen et al. Evolved controllers for simulated locomotion
Zhang et al. Whole-body humanoid robot locomotion with human reference
Hwang et al. Biped Balance Control by Reinforcement Learning.
KR102580138B1 (ko) 목표 위치로 이동하는 캐릭터의 동작 정보 생성 방법 및 컴퓨터 장치
Qin et al. Stable balance adjustment structure of the quadruped robot based on the bionic lateral swing posture
Chang et al. An analysis of the rolling dynamics of a hexapod robot using a three-dimensional rolling template
Chang et al. Study on falling backward of humanoid robot based on dynamic multi objective optimization
CN112782973B (zh) 基于双智能体协作博弈的双足机器人行走控制方法和系统
Rico et al. Analysis and application of a displacement CPG-based method on articulated frames
Rosendo et al. Energy efficient hopping with Hill-type muscle properties on segmented legs

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant