KR20220013884A - 강화학습에 기초한 pid 제어 방법 및 장치 - Google Patents

강화학습에 기초한 pid 제어 방법 및 장치 Download PDF

Info

Publication number
KR20220013884A
KR20220013884A KR1020210007067A KR20210007067A KR20220013884A KR 20220013884 A KR20220013884 A KR 20220013884A KR 1020210007067 A KR1020210007067 A KR 1020210007067A KR 20210007067 A KR20210007067 A KR 20210007067A KR 20220013884 A KR20220013884 A KR 20220013884A
Authority
KR
South Korea
Prior art keywords
parameter
pid
target device
pid control
reinforcement learning
Prior art date
Application number
KR1020210007067A
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 주식회사 엘로이랩
Publication of KR20220013884A publication Critical patent/KR20220013884A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B6/00Internal feedback arrangements for obtaining particular characteristics, e.g. proportional, integral or differential
    • G05B6/02Internal feedback arrangements for obtaining particular characteristics, e.g. proportional, integral or differential electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • G05B11/42Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Feedback Control In General (AREA)

Abstract

일 실시예에 따른 강화학습을 이용한 PID 제어 방법은 제어 대상인 타겟 장치에 대한 계측값을 획득하는 단계, 상기 계측값에 기초하여 현재 상태 정보를 결정하는 단계, 강화 학습을 통해 학습된 파라미터 결정 모델에 상기 현재 상태 정보를 입력함으로써, 상기 타겟 장치를 제어하기 위한 PID 제어 함수의 게인과 관련된 제어 파라미터를 획득하는 단계, 및 상기 제어 파라미터를 상기 타겟 장치를 제어하기 위한 PID 컨트롤러에 전달하는 단계를 포함하고, 상기 파라미터 결정 모델은 타겟 장치로부터 획득한 계측값에 기초하여 결정되는 상태 정보 및 보상 정보에 기초하여 학습될 수 있다.

Description

강화학습에 기초한 PID 제어 방법 및 장치 {METHOD AND APPARATUS FOR PID CONTROL BASED ON REINFORCEMENT LEARNING}
본 발명은 강화학습에 기초한 PID 제어 방법 및 장치에 관한 것이다.
다양한 산업 분야에서 PID 컨트롤러를 사용하여 산업 기기에 대한 제어가 수행되고 있다. PID 컨트롤러는 비례 제어, 적분 제어, 미분 제어를 통해 기기에 대한 유연한 정밀 제어를 수행할 수 있는 수단을 제공할 수 있다. PID 컨트롤러는 최적의 게인을 결정하는 PID 튜닝이 제어 성능에 큰 차이를 발생시킬 수 있다. 예를 들어, 적절한 PID 튜닝이 수행되지 않은 경우, 에너지 손실, 프로세스 수행 속도 저하 등 다양한 불이익이 발생할 수 있다. 특히 정밀 제어 기기의 경우, 보다 정밀한 PID 튜닝이 수행될 필요가 있다.
본 발명은 강화학습을 통해 학습된 인공 신경망을 이용하여 PID 제어 함수의 최적의 게인 값을 결정함으로써, PID 튜닝을 보다 효과적으로 수행할 수 있는 수단을 제공하고자 한다. 이를 통해 본 발명은 전문가의 경험적인 판단을 통해 튜닝이 수행되던 종래 방식에 비해 보다 효율적이고 정확한 PID 튜닝을 수행할 수 있는 수단을 제공하고자 한다.
일 실시예에 따른 강화학습을 이용한 PID 제어 방법은 제어 대상인 타겟 장치에 대한 계측값을 획득하는 단계, 상기 계측값에 기초하여 현재 상태 정보를 결정하는 단계, 강화 학습을 통해 학습된 파라미터 결정 모델에 상기 현재 상태 정보를 입력함으로써, 상기 타겟 장치를 제어하기 위한 PID 제어 함수의 게인과 관련된 제어 파라미터를 획득하는 단계, 및 상기 제어 파라미터를 상기 타겟 장치를 제어하기 위한 PID 컨트롤러에 전달하는 단계를 포함하고, 상기 파라미터 결정 모델은 타겟 장치로부터 획득한 계측값에 기초하여 결정되는 상태 정보 및 보상 정보에 기초하여 학습될 수 있다.
일 실시예에 따르면, 상기 파라미터 결정 모델은 상기 PID 제어 함수의 목표 출력값에 대응하는 제1 파라미터, 상기 제1 파라미터와 타겟 장치의 현재 계측값 사이의 차이에 기초하여 결정되는 제2 파라미터, 상기 제2 파라미터를 시간에 대해 미분한 값에 대응하는 제3 파라미터, 및 상기 PID 제어 함수의 현재 게인과 관련된 제4 파라미터에 기초하여 상태(state) 정보가 결정되고, 상기 제4 파라미터는 상기 PID 제어 함수에 포함된 비례 요소의 게인과 관련된 제4-1 파라미터, 상기 PID 제어 함수에 포함된 적분 요소의 게인과 관련된 제4-2 파라미터 및 상기 PID 제어 함수에 포함된 미분 요소의 게인과 관련된 제4-3 파라미터를 포함할 수 있다.
일 실시예에 따르면, 상기 상태 정보는, 미리 결정된 초기 타임 스텝을 200배 확대함으로써 결정된 0.2초 동안 획득한 상기 타겟 장치의 계측값에 기초하여 결정되고, 상기 상태 정보는 2400 차원을 가지는 벡터로 결정될 수 있다.
상기 제1 파라미터 내지 상기 제4 파라미터는 -1에서 1 사이의 값으로 정규화될 수 있다.
상기 파라미터 결정 모델은 매 0.2초마다 상기 제1 파라미터 내지 상기 제4 파라미터 중 적어도 하나가 변경되도록 정의된 액션(action)을 수행하고, 상기 액션의 수행이 완료되는 경우, 0.2초 동안 획득한 상기 계측값과 상기 목표 출력값 차이에 기초하여 결정되는 보상을 부여하는 프로세스를 반복함으로써 학습되고, 상기 프로세스는, 4.3초 동안 수행된 뒤 종료되는 것으로 미리 정의될 수 있다.
일 실시예에 따른 강화학습을 이용한 PID 제어 방법을 수행하는 PID 튜닝 장치는 통신부; 및 프로세서를 포함하고, 상기 프로세서는 제어 대상인 타겟 장치에 대한 계측값을 획득하고, 상기 계측값에 기초하여 현재 상태 정보를 결정하고, 강화 학습을 통해 학습된 파라미터 결정 모델에 상기 현재 상태 정보를 입력함으로써, 상기 타겟 장치를 제어하기 위한 PID 제어 함수의 게인과 관련된 제어 파라미터를 획득하고, 상기 제어 파라미터를 상기 타겟 장치를 제어하기 위한 PID 컨트롤러에 전달할 수 있다.
도 1은 일 실시예에 따른 PID 제어 시스템을 도시하는 도면이다.
도 2는 일 실시예에 따른 PID 제어 방법을 설명하기 위한 흐름도이다.
도 3은 파라미터 결정 모델을 훈련시키기 위한 강화학습을 설명하기 위한 도면이다.
도 4a 및 도 4b는 일 실시예에 따른 PID 제어 방법과 타 방식의 PID 제어 방법의 실험 결과를 도시하는 도면이다.
도 5는 일 실시예에 따른 PID 제어 시스템이 구현된 일례를 도시하는 도면이다.
도 6는 일 실시예에 따른 PID 제어 방법에서 사용되는 인공 신경망을 학습시키는 일례를 도시하는 도면이다.
도 7은 일 실시예에 따른 PID 튜닝 장치를 설명하기 위한 블록도이다.
도 8은 일 실시예에 따른 PID 컨트롤러를 설명하기 위한 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, '및/또는'은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다. 또, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. '-' 또는 '내지'를 사용하여 나타낸 수치 범위는 다른 언급이 없는 한 그 앞과 뒤에 기재된 값을 각각 하한과 상한으로서 포함하는 수치 범위를 나타낸다. '약' 또는 '대략'은 그 뒤에 기재된 값 또는 수치 범위의 20% 이내의 값 또는 수치 범위를 의미한다.
또한, 본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
그리고 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 본 발명의 실시예들을 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시예에 따른 PID 제어 시스템을 도시하는 도면이다.
도 1을 참조하면, PID 제어 시스템(100)은 강화학습을 통해 미리 학습된 인공 신경망을 포함하는 파라미터 결정 모델을 이용하여 PID 튜닝을 수행하는 PID 튜닝 장치(110) 및 PID 튜닝 장치(110)를 통해 결정된 게인 값에 기초하여 타겟 장치(130)를 제어하는 PID 컨트롤러(120) 및 PID 컨트롤러(120)로부터 수신한 제어 신호에 기초하여 제어되는 타겟 장치(130)를 포함할 수 있다.
PID 컨트롤러(120)는 타겟 장치로부터 획득한 계측값에 기초하여 제어 신호를 산출하고, 산출된 제어 신호를 타겟 장치(130)에 전달함으로써, 타겟 장치(130)를 제어하는 컴퓨팅 장치를 의미할 수 있다.
타겟 장치(130)는 PID 컨트롤러(120)를 통해 제어되는 장치로써, 예시적으로, 드론, 임의의 공정에 사용되는 산업 머신을 포함하는 임의의 장치를 포함할 수 있다.
PID 컨트롤러(120)는 수학식 1에 기초하여 타겟 장치(130)를 제어하기 위한 제어 신호를 산출할 수 있다.
Figure pat00001
v(t)는 제어 신호, e(t)는 타겟 장치(130)로부터 획득한 계측값과 제어 목표값의 차분에 기초하여 결정되는 오차,
Figure pat00002
는 비례항과 관련된 게인,
Figure pat00003
는 적분항과 관련된 게인,
Figure pat00004
는 미분항과 관련된 게인을 의미할 수 있다.
계측값은 타겟 장치(130)를 제어하기 위하여 타겟 장치(130)로부터 계측되는 임의의 값을 의미할 수 있다. 예를 들어, 드론의 자세(posture)를 제어하고자 하는 경우, 계측값은 기압 센서를 이용한 기압 값, 자이로 센서를 이용한 각속도 값 등을 포함할 수 있으나, 이에 한정되는 것은 아니고, 타겟 장치(130)의 제어를 위해 계측될 수 있는 임의의 정보를 포함할 수 있다.
타겟 장치(130)는 제어 신호 v(t)에 기초하여 세밀하게 제어될 수 있으며, v(t)가 제어 목표값에 보다 빠르고 정확하게 수렴하도록 하는 최적의
Figure pat00005
,
Figure pat00006
,
Figure pat00007
를 결정하는 것이 수학식 1을 통한 PID 제어의 핵심일 수 있으며, 최적의
Figure pat00008
,
Figure pat00009
,
Figure pat00010
를 결정하는 프로세스는 PID 튜닝 장치(110)에 의해 수행될 수 있다.
PID 튜닝 장치(110)는 강화 학습을 통해 최적의 PID 파라미터를 결정하도록 미리 학습된 파라미터 결정 모델을 통해 타겟 장치(130)를 제어하기 위한 최적의 제어 파라미터를 결정할 수 있다. 제어 파라미터는 앞서 수학식 1을 통해 설명된
Figure pat00011
,
Figure pat00012
,
Figure pat00013
를 의미할 수 있다. 보다 구체적으로, PID 컨트롤러(120)는 파라미터 결정 모델에 기초하여 산출된 제어 파라미터
Figure pat00014
,
Figure pat00015
,
Figure pat00016
이 반영된 수학식 1에 기초하여 타겟 장치(120)를 제어하기 위한 제어 신호를 산출하고, 산출된 제어 신호에 기초하여 타겟 장치(120)를 제어할 수 있다.
도 2는 일 실시예에 따른 PID 제어 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, PID 튜닝 장치는 단계(210)에서 타겟 장치에 대한 계측값을 획득할 수 있다. 계측값은 앞서 도 1에서 설명된 바와 같이 타겟 장치를 제어하기 위해 타겟 장치로부터 계측된 임의의 값을 의미할 수 있으며, 타겟 장치의 종류, 제어 방식에 따라 다양한 값이 선택될 수 있음은 통상의 기술자가 이해할 것이다.
단계(220)에서 PID 튜닝 장치는 계측값에 기초하여 타겟 장치에 대한 현재 상태 정보를 결정할 수 있다. 일 실시예에 따르면, 현재 상태 정보는 PID 제어 함수의 목표 출력값에 대응하는 제1 파라미터, 제1 파라미터와 타겟 장치의 현재 계측값 사이의 차이에 기초하여 결정되는 제2 파라미터, 제2 파라미터를 시간에 대한 미분한 값에 대응하는 제3 파라미터, PID 제어 함수의 현재 게인에 대응하는 제4 파라미터에 기초하여 결정될 수 있다. PID 제어 함수는 앞서 설명된 수학식 1에 대응되는 함수일 수 있으며, 제4 파라미터는 현재 PID 제어 함수의
Figure pat00017
,
Figure pat00018
,
Figure pat00019
에 대응될 수 있다. 현재 상태 정보는 이하 첨부될 도 3을 통해 보다 상세하게 설명된다.
PID 튜닝 장치는 단계(230)에서 현재 상태 정보를 파라미터 결정 모델에 입력함으로써 PID 제어 함수의 튜닝된 게인에 대응하는 제어 파라미터를 획득할 수 있다. 제어 파라미터는 PID 제어 함수의
Figure pat00020
,
Figure pat00021
,
Figure pat00022
에 대응하는 3개의 값을 포함할 수 있다. 파라미터 결정 모델은 강화 학습에 기초하여 미리 학습된 인공 신경망을 이용하여 타겟 장치의 계측값으로부터 제어 파라미터를 결정하는 모델일 수 있다. 보다 구체적으로, 파라미터 결정 모델은 타겟 장치의 계측값에 기초하여 결정된 현재 상태 정보를 입력으로 최적화된 제어 파라미터를 출력하도록 학습될 수 있다. 파라미터 결정 모델에 사용될 수 있는 인공 신경망은 심층 강화 학습이 수행될 수 있는 다양한 인공 신경망이 포함될 수 있으며 예시적으로, DQN(Deep Q-Network)를 포함할 수 있으나, 이에 한정되는 것이 아님은 통상의 기술자가 이해할 것이다.
PID 튜닝 장치는 단계(240)에서 타겟 장치를 제어하는 PID 컨트롤러에 제어 파라미터를 전달할 수 있다. PID 컨트롤러는 제어 파라미터에 기초하여 결정되는 수학식 1에 기초하여 제어 신호를 생성하고, 제어 신호에 기초하여 타겟 장치가 제어될 수 있다.
도 3은 파라미터 결정 모델을 훈련시키기 위한 강화학습을 설명하기 위한 도면이다.
도 3을 참조하면, PID 튜닝 장치에 포함된 파라미터 결정 모델에 대한 강화학습을 수행하기 위한 순차적인 행동을 결정하는 과정은 MDP(Markov Decision Process)에 의해 수행될 수 있다. 보다 구체적으로, PID 튜닝 장치의 파라미터 결정 모델에 대응되는 에이전트(agent)(310)는 현재 상태
Figure pat00023
(330)에서 환경(320)에 액션(Action)
Figure pat00024
(340)를 수행할 수 있다. 액션
Figure pat00025
(340)이 수행됨에 따라 에이전트(310)의 상태 정보는 현재 상태
Figure pat00026
(330)에서
Figure pat00027
(340)에 대응되는 이후 상태
Figure pat00028
(350)로 변경될 수 있고, 상태의 변경은 수학식 2에 따른 상태 변환 확률
Figure pat00029
에 기초하여 결정될 수 있다.
Figure pat00030
Figure pat00031
는 s상태에서 s' 상태로 변경될 상태 변환 확률, s는 현재 상태
Figure pat00032
에 대응되는 값, s'는 현재 상태
Figure pat00033
에 연속되는 이후 상태
Figure pat00034
에 대응되는 값,
Figure pat00035
는 에이전트가 현재 상태
Figure pat00036
에서 수행하는 액션
Figure pat00037
에 대응되는 값을 의미할 수 있다.
액션
Figure pat00038
(340)를 수행한 에이전트(310)는 대응되는 보상
Figure pat00039
(360)을 받게 된다. 보상
Figure pat00040
(360)는 수학식 3에 따른 보상함수에 기초하여 결정될 수 있다.
Figure pat00041
Figure pat00042
는 상태 s에서 액션
Figure pat00043
가 수행되는 경우에 보상
Figure pat00044
을 결정하는 보상 함수, s는 현재 상태
Figure pat00045
에 대응되는 값,
Figure pat00046
는 에이전트가 현재 상태
Figure pat00047
에서 에이전트(310)가 수행하는 액션
Figure pat00048
에 대응되는 값을 의미할 수 있다.
에이전트(310)는 환경(320)에 액션을 수행하고, 상응하는 보상을 획득하고, 새로운 상태에서 추가적인 액션을 수행하고 보상을 획득하는 과정을 반복함으로써, 파라미터 결정 모델이 학습될 수 있다. 보다 구체적으로, 파라미터 결정 모델은 에이전트(310)가 현재 시점으로부터 종료 시점까지 환경(320)으로부터 획득할 것으로 예측되는 보상의 총합이 최대화되는 방향으로 학습될 수 있다. 보다 구체적으로, 보상의 총합
Figure pat00049
은 수학식 4에 기초하여 결정될 수 있다.
Figure pat00050
Figure pat00051
Figure pat00052
는 예측되는 보상의 총합,
Figure pat00053
는 할인율, t는 현재 시점에 대응되는 타임 스텝, T는 종료 시점에 대응되는 타임 스텝,
Figure pat00054
는 t에 대응되는 타입 스텝에서 부여된 보상 값으로, 앞선 수학식 3의 보상 함수에 기초하여 결정되는 값을 의미할 수 있다.
파라미터 결정 모델은 수학식 4에 따른 보상의 총합을 최대화하는 방향으로 파라미터 결정 모델에 포함된 인공 신경망의 가중치 정보를 결정함으로써 학습될 수 있다. 보상의 총합을 최대화하는 방향으로 인공 신경망의 가중치 정보를 결정하는 방식은 통상의 기술자가 용이하게 이해할 수 있다. 예를 들어, 파라미터 결정 모델을 구성하는 인공 신경망은 DQN 방식에 따라 상태 정보
Figure pat00055
를 입력으로하여 도출되는 Q-함수를 최대화하는 방향으로 미리 학습된 인공 신경망을 포함할 수 있으며, 학습된 파라미터 결정 모델은 산출된 Q-함수에 기초하여 상태 정보
Figure pat00056
에 대응되는 액션
Figure pat00057
이 반영된 최적의 제어 파라미터를 산출할 수 있다. Q-함수를 이용하여 인공 신경망을 학습시키는 방식은 비특허문헌 1(V. Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. G. Bellemare, A. Graves, M. Riedmiller, A. K. Fidjeland, G. Ostrovski, et al., "Human-level control through deep reinforcement learning," Nature, vol. 518, no. 7540, p. 529, 2015.) 및 본원 발명의 파라미터 결정 모델(아래에서 보다 상세히 설명됨)의 정의에 기초하여 수행될 수 있음은 통상의 기술자가 용이하게 이해할 것이며, 인공 신경망이 학습되는 방식은 비특허문헌 1의 방식에 한정되는 것이 아니고, 본원 발명의 파라미터 결정 모델의 정의를 이용한 임의의 강화 학습 방식이 이용될 수 있다.
위와 같이 파라미터 결정 모델에 대한 강화 학습을 수행하는 과정에서, 상태 정보
Figure pat00058
, 액션
Figure pat00059
, 보상
Figure pat00060
, 종료 시점에 대응되는 타임 스텝 T을 정의하는 방식에 따라 파라미터 결정 모델의 성능(PID 제어 성능)에 매우 큰 차이를 발생시킬 수 있다. 보다 구체적으로, 상태 정보
Figure pat00061
, 액션
Figure pat00062
, 보상
Figure pat00063
, 종료 시점에 대응되는 타임 스텝 T를 정의하는 방식에 따라서, 타겟 장치의 계측값이 보다 빠르고 정확도 높게 제어 목표값에 도달하는 제어 파라미터를 산출하도록 파라미터 결정 모델이 학습될 수 있다.
일 실시예에 따르면, 파라미터 결정 모델을 학습하는 과정에서 에이전트(310)의 현재 상태(state)에 대응하는 상태 정보
Figure pat00064
는 수학식 5와 같이 제1 파라미터 내지 제4 파라미터를 연결함으로써 결정될 수 있다.
Figure pat00065
Figure pat00066
Figure pat00067
Figure pat00068
는 현재 상태(타임 스텝 t에 대응되는 상태)에 대응되는 상태 정보,
Figure pat00069
은 제어 목표값(PID 제어 함수의 목표 출력값)에 대응하는 제1 파라미터,
Figure pat00070
는 제1 파라미터
Figure pat00071
와 타임 스텝 t에 대응되는 타겟 장치의 현재 계측값
Figure pat00072
사이의 차이에 기초하여 결정되는 오차인 제2 파라미터,
Figure pat00073
은 제2 파라미터
Figure pat00074
를 시간에 대해 미분한 값에 대응하는 제3 파라미터
Figure pat00075
는 PID 제어 함수의 현재 게인과 관련된 제4 파라미터일 수 있다. 제4 파라미터
Figure pat00076
는 PID 제어 함수에 포함된 비례 요소의 게인(예를 들어, 앞선 수학식 1에서
Figure pat00077
)에 대응되는 제4-1 파라미터
Figure pat00078
, PID 제어 함수에 포함된 적분 요소의 게인(예를 들어, 앞선 수학식 1에서
Figure pat00079
)에 대응되는 제4-2 파라미터
Figure pat00080
및 PID 제어 함수에 포함된 미분 요소의 게인(예를 들어, 앞선 수학식 1에서
Figure pat00081
)에 대응되는 제4-3 파라미터
Figure pat00082
를 포함할 수 있다.
Figure pat00083
내지
Figure pat00084
은 각각 600차원의 벡터일 수 있으며,
Figure pat00085
는 1800차원의 벡터일 수 있으며, 이에 대해서는 하기에서 보다 상세히 설명된다.
일 실시예에 따르면, 상태 정보
Figure pat00086
는 0.2초 동안 타겟 장치로부터 획득한 계측값에 기초하여 결정될 수 있다. 상기 0.2초는 미리 결정된 초기 타임 스텝을 200배 확대함으로써 결정된 수치일 수 있다. 보다 구체적으로, MDP에서 타임 스텝은 0.01초로 미리 결정되어 있는데, 일 실시예에 따른 강화학습을 이용한 PID 제어 방법에서는 미리 결정된 타임 스텝을 200배 확대한 0.2초를 기본 타임 스텝 단위로 설정하여 상태 정보
Figure pat00087
및 보상 정보
Figure pat00088
를 결정할 수 있다.
일 실시예에 따른 PID 튜닝 장치는 0.01초 단위로 0.2초 동안 수집된 타겟 장치의 계측값을 통해 상태 정보
Figure pat00089
를 결정함으로써, 상태 정보
Figure pat00090
는 2400 차원을 가지는 벡터로 결정될 수 있다. 예를 들어, 상태 정보
Figure pat00091
를 구성하는 제1 파라미터
Figure pat00092
내지 제4 파라미터
Figure pat00093
는 수학식 6과 같이 표현될 수 있다.
Figure pat00094
Figure pat00095
Figure pat00096
Figure pat00097
Figure pat00098
Figure pat00099
Figure pat00100
Figure pat00101
Figure pat00102
는 타임 스텝 t에서 0.01초 단위로 타겟 장치로부터 roll에 대해 수집된 계측값 중 i번째에 해당하는 계측값,
Figure pat00103
는 타임 스텝 t에서 0.01초 단위로 타겟 장치로부터 pitch에 대해 수집된 계측값 중 i번째에 해당하는 계측값,
Figure pat00104
는 타임 스텝 t에서 0.01초 단위로 타겟 장치로부터 yaw에 대해 수집된 계측값 중 i번째에 해당하는 계측값,
Figure pat00105
Figure pat00106
에 대응하여 미리 결정된 제어 목표값,
Figure pat00107
Figure pat00108
에 대응하여 미리 결정된 제어 목표값,
Figure pat00109
Figure pat00110
에 대응하여 미리 결정된 제어 목표값,
Figure pat00111
Figure pat00112
에 대응하는 제4 파라미터,
Figure pat00113
Figure pat00114
에 대응하는 제4 파라미터,
Figure pat00115
Figure pat00116
에 대응하는 제4 파라미터를 의미할 수 있다.
Figure pat00117
,
Figure pat00118
,
Figure pat00119
각각은 수학식 6과 같이 표현될 수 있으며, 이는 앞서 설명된 제4-1 파라미터(
Figure pat00120
), 제4-2 파라미터(
Figure pat00121
) 및 제4-3 파라미터(
Figure pat00122
)에 대응되는 3개의 파라미터로 구성될 수 있음을 의미한다.
일 실시예에 따르면, 에이전트(310)의 액션
Figure pat00123
은 0.2초마다 제4 파라미터
Figure pat00124
를 변경하는 것으로 결정될 수 있다. 보다 구체적으로, 에이전트는 0.2초마다 제4-1 파라미터
Figure pat00125
내지 제4-3 파라미터
Figure pat00126
중 어느 적어도 하나를 변화시키는 액션을 수행할 수 있다.
다른 실시예에 따르면, 에이전트(310)의 액션
Figure pat00127
은 계측값
Figure pat00128
의 파형에 기초하여 0.2초마다 제4 파라미터
Figure pat00129
를 변경하는 것으로 결정될 수 있다. 예를 들어, 에이전트(310)의 액션
Figure pat00130
Figure pat00131
가 목표값에 도달하는 속도가 소정의 임계치보다 작은 경우,
Figure pat00132
에 대응되는 제4-1 파라미터
Figure pat00133
를 우선적으로 변경하도록 정의될 수 있다(상황에 따라 roll, pith, yaw 중 어느 하나에 대응되는 파라미터가 변경될 수 있음은 통상의 기술자가 이해할 것이다.). 또한, 에이전트(310)의 액션
Figure pat00134
은 계측값
Figure pat00135
의 잔류 편차가 소정 임계치보다 큰 경우,
Figure pat00136
에 대응되는 제4-2 파라미터
Figure pat00137
를 우선적으로 변경하도록 정의될 수 있다. 그리고, 에이전트(310)의 액션
Figure pat00138
Figure pat00139
에 소정의 임계치 이상의 오버슈트가 발생하는 경우,
Figure pat00140
에 대응되는 제4-3 파라미터
Figure pat00141
를 우선적으로 변경하도록 정의될 수 있다.
또 다른 실시예에 따르면, 에이전트(310)의 액션 액션
Figure pat00142
은 계측값
Figure pat00143
의 목표값에 도달하는 속도, 잔류 편차, 오버 슈트에 기초하여 제4-1 파라미터
Figure pat00144
내지 제4-3 파라미터
Figure pat00145
의 변경 정도를 결정하고, 결정된 변경 정도에 따라 각각의 제4-1 파라미터
Figure pat00146
내지 제4-3 파라미터
Figure pat00147
를 변경하는 것으로 정의될 수 있다.
일 실시예에 따르면, 에이전트(310)에 부여되는 보상은 수학식 7에 기초하여 결정될 수 있다.
Figure pat00148
Figure pat00149
는 현재 상태로 변환되는 과정에서 에이전트(310)에 부여된 보상,
Figure pat00150
은 제1 파라미터,
Figure pat00151
는 t에 대응하는 타임 스텝에서 0.01초 단위로 타겟 장치로부터 수집된 계측값 중 i 번째로 수집된 타깃 장치의 계측값을 의미할 수 있다.
보다 구체적으로, 앞서 설명된 변경된 제4 파라미터
Figure pat00152
에 기초하여 발생된 오차(PID 제어 함수의 목표 출력값과 타겟 장치의 계측값의 차)의 합계를 통해, 에이전트(310)에 부여되는 보상
Figure pat00153
이 결정될 수 있다. 보상
Figure pat00154
을 결정하기 위한 오차는 MDP에 대하여 미리 결정된 타임 스텝인 0.01초 단위로 계산될 수 있고, 0.01초 단위로 계산된 오차의 합계(0.2초 동안)에 기초하여 액션
Figure pat00155
(340)(0.2초 단위로 제4 파라미터
Figure pat00156
가 변경되는 동작)에 따른 보상
Figure pat00157
이 수학식 7을 통해 결정될 수 있다.
일 실시예에 따르면, 에이전트(310)의 단위 에피소드는 4.3초 동안 진행될 수 있다. 보다 구체적으로, 하나의 에피소드가 진행되는 경우, 21번의 액션(0.2초 마다 제4 파라미터의 변경)이 이루어질 수 있고, 0.2초를 기준으로 21.5회의 보상이 에이전트(310)에 제공될 수 있으며, 단위 에피소드는 4.3초가 경과하는 경우 강제로 종료될 수 있다.
일 실시예에 따르면, 파라미터 결정 모델을 학습시키기 위한 상태 정보
Figure pat00158
는 -과 1 사이의 값으로 정규화될 수 있다. 보다 구체적으로, 상태 정보
Figure pat00159
를 구성하는 제1 파라미터
Figure pat00160
내지 제4 파라미터
Figure pat00161
각각의 요소는 -1 내지 1 사이의 값으로 정규화될 수 있다.
도 4a 및 도 4b는 일 실시예에 따른 PID 제어 방법과 타 방식의 PID 제어 방법의 실험 결과를 도시하는 도면이다.
도 4a 및 도 4b를의 (a) 내지 (d)는 PID 컨트롤러의 출력인 제어 신호를 도시한 그래프로, 각각 서로 다른 방식으로 결정된 제어 파라미터가 적용된 실험 예일 수 있다.
(a)의 경우, 본원 발명에 따른 PID 제어 방법에 기초하여 결정된 제어 파라미터가 반영된 PID 제어 함수를 통해 산출된 제어 신호를 나타내는 그래프일 수 있다. 각각의 제어 신호는 roll, pitch, yaw 방향의 각속도를 제어하기 위한 제어 신호일 수 있다. 점선은 PID 제어 함수의 목표 출력값을 나타날 수 있으며, 실선은 제어 함수의 출력을 의미할 수 있다.
(b)의 경우, 본원 발명에 따른 PID 제어 방법 중 상태 정보를 구성하는 파라미터들에 대한 정규화가 수행되지 않은 상태로 강화 학습이 진행된 파라미터 결정 모델을 이용하여 산출한 제어 신호를 나타내는 그래프일 수 있다. (b)의 경우, 정규화를 수행하지 않는 것을 제외하고는 본원 발명의 방식과 동일한 방식이 적용된 실험 예이다.
(c)의 경우, 본원 발명과 달리 상태 정보를 결정하는 과정에서 타임 스텝을 확대하지 않고, 0.01초에 해당하는 타임 스텝으로 결정된 상태 정보에 기초하여 강화 학습된 파라미터 결정 모델을 이용하여 산출한 제어 신호를 나타내는 그래프일 수 있다. (c)의 경우, 타임 스텝을 확대하지 않는 것을 제외하고는 본원 발명의 방식과 동일한 방식이 적용된 실험 예이다.
(d)의 경우, 타겟 장치의 계측값, 제어 목표값, 시뮬레이션 시간, 오차(제어 목표값과 현재 계측값의 차)의 합에 기초하여 결정되는 상태 정보를 토대로 강화학습이 수행된 파라미터 결정 모델을 이용하여 산출한 제어 신호를 나타내는 그래프일 수 있다. (d)의 경우 상태 정보의 정의 이외의 나머지 요소는 본원 발명과 동일한 방식이 적용된 실험 예이다.
본원 발명에 따른 강화학습이 수행된 파라미터 결정 모델을 이용하는 경우, 본원 발명과 상이한 방식에 따라 강화 학습이 수행된 경우((b) 내지 (d))에 비해 목표치에 보다 근접한 제어 함수를 출력할 수 있는 것을 도 4를 통해 확인할 수 있다. 즉, 본원 발명에 따라 정의된 강화 학습을 통해 보다 성능이 우수한 PID 제어가 수행될 수 있음은 위 실험예를 통해 알 수 있다.
도 5는 일 실시예에 따른 PID 제어 시스템이 구현된 일례를 도시하는 도면이다.
PID 튜닝 장치(500)는 PID 컨트롤러(510), 강화 학습이 진행되는 인공 신경망을 포함하는 인공 신경망 모듈(520) 및 인공 신경망 모듈(520)과 PID 컨트롤러(510) 사이의 통신을 중계하는 통신 모듈(530)을 포함할 수 있다. 앞선 도 1에서는 PID 컨트롤러(510)가 PID 튜닝 장치와 별도의 엔티티로 구현되는 것으로 도시되었으나, 본원 발명의 실시예는 이에 한정되는 것이 아니고, 도 5에 도시된 바와 같이 PID 튜닝 장치(500)와 PID 컨트롤러(510)가 하나의 장치로 구현될 수 있음은 통상의 기술자가 이해할 것이다.
일 실시예에 따르면, PID 컨트롤러(510)는 앞선 수학식 1을 통해 타깃 장치를 제어할 수 있다. 예를 들어, 타겟 장치는 드론, 반도체 제조 기기, 온도 제어 기기 등 임의의 기기를 포함할 수 있다. 또한, 도면 상에서는 PID 컨트롤러(510)는 드론을 제어에 사용되는 PX4로 예시되었으나, 본원 발명의 범위는 이에 한정되는 것이 아니고, 임의의 타겟 장치로 확장될 수 있으며, PID 컨트롤러(510)는 타겟 장치에 상응하는 제어 모듈로 확장될 수 있음은 통상의 기술자가 이해할 것이다.
일 실시예에 따르면, 인공 신경망 모듈(520)은 앞선 도 2 및 도 3을 통해 설명된 바와 같이 제어 파라미터를 산출하도록 강화학습된 인공 신경망을 포함할 수 있다. 인공 신경망의 종류는 특정 신경망에 한정되는 것이 아니고, 강화 학습을 통해 제어 파라미터를 산출할 수 있는 임의의 신경망을 포함할 수 있음은 통상의 기술자가 이해할 것이다. 제어 파라미터는 PID 컨트롤러(510)를 튜닝하는 과정에서 필요한 파라미터들일 수 있다. 예를 들어, 제어 파라미터는 수학식 1의 각각의 게인에 대응될 수 있으나, 이에 한정되는 것은 아니고, PID 컨트롤러를 튜닝하는 과정에서 필요한 임의의 파라미터로 확장하여 본원 발명이 적용될 수 있음은 통상의 기술자가 이해할 것이다.
예시적으로, 인공 신경망 모듈(520)은 jetson Tx2를 통해 구현될 수 있으나, 인공 신경망 모듈(520)을 구현하는 하드웨어는 이에 한정되지 않고, 임의의 하드웨어를 통해 구현될 수 있음은 통상의 기술자가 이해할 것이다.
일 실시예에 따른 통신 모듈(530)은 PID 컨트롤러(510)와 인공 신경망 모듈(520) 사이의 통신을 중계할 수 있다. 예를 들어, 통신 모듈(530)는 인공 신경망 모듈(520)로부터 수신한 제어 파라미터를 PID 컨트롤러(510)에 전달하거나, 제어 결과에 기초한 피드백을 PID 컨트롤러(510)로부터 수신하여, 피드백에 대응하는 추가 정보(예를 들어, 보상 정보, 상태 정보 등)를 인공 신경망 모듈(520)에 전달할 수 있다.
일 실시예에 따르면, 단계(541)에서 인공 신경망 모듈(520)은 인공 신경망을 통해 생성된 제어 파라미터 및, PID 설정 변경을 지시하는 변경 지시 정보를 포함하는 액션 정보를 통신 모듈(530)에 전송할 수 있다. 이외에도, 액션 정보는 머신 액션 제어를 지시하는 제어 지시 정보를 더 포함할 수 있다.
단계(542)에서 통신 모듈(530)은 수신한 액션 정보에 포함된 제어 파라미터에 대응하는 PID 컨트롤러 튜닝을 요청하는 요청 정보를 PID 컨트롤러 (510)에 전송할 수 있다.
PID 컨트롤러(510)는 통신부(530)로부터 요청 정보를 수신하는 경우, 요청 정보에 대응되는 제어 파라미터를 PID 제어 함수에 반영하고, 반영 결과에 기초하여 타겟 장치에 대한 시뮬레이션을 수행할 수 있다. 예를 들어, PID 컨트롤러(510)는 제어 파라미터에 대응되는 게인을 수학식 1에 반영하고, 그 결과에 기초한 타겟 장치 시뮬레이션을 수행할 수 있다.
단계(543)에서 PID 컨트롤러(510)는 시뮬레이션 결과에 대응하는 답변 정보를 통신 모듈(530)에 전송할 수 있다. 답변 정보는 타겟 장치 시뮬레이션 결과를 통해 타겟 장치로부터 획득한 센싱 정보를 포함할 수 있다. 예를 들어, 타겟 장치가 드론에 해당하는 경우, 답변 정보는 시뮬레이션 결과를 통해 획득한 3축 가속도 정보, 3축 중력 정보, 자력 정보, 기압 정보, 위치 정보 등을 포함할 수 있으며, 센싱 정보를 통해 결정되는 자세 정보에 기초하여 답변 정보가 결정될 수도 있다.
단계(544, 545)에서 통신 모듈(530)은 수신한 답변 정보에 기초하여 결정되는 보상(Reward) 정보 및 상태(State) 정보를 인공 신경망 모듈(520)에 전송할 수 있다.
인공 신경망 모듈(520)은 누적되는 보상 정보가 최대화되는 방향으로 학습이 이루어지도록 앞선 단계(542, 543, 544, 545)를 반복할 수 있고, 학습이 완료된 인공 신경망 모듈(520)은 최적의 제어 파라미터를 생성하여 제공할 수 있다.
도 6는 일 실시예에 따른 PID 제어 방법에서 사용되는 인공 신경망을 학습시키는 일례를 도시하는 도면이다.
도 6을 참조하면, PID 튜닝 장치는 단계(610)에서 현재 상태 정보를 파라미터 결정 모델에 입력하여 제어 파라미터를 생성하고(앞서 설명된
Figure pat00162
를 통해), 단계(620)을 통해 제어 파라미터를 PID 컨트롤러에 전달할 수 있다. 파라미터 판독 모델은 앞서 설명된 방식에 따라 강화학습에 기초하여 제어 파라미터를 출력하도록 미리 모델로, 앞서 설명된 방식에 따라 학습된 인공 신경망을 포함할 수 있다.
단계(630)에서 제어 파라미터가 반영된 타겟 장치의 액션이 수행됨으로써 타겟 장치의 동작에 대한 시뮬레이션이 진행되고, 단계(640)에서 타겟 장치에 내장된 센서를 통해 주위 환경에 대한 센싱값에 해당하는 계측값이 획득될 수 있다. 예를 들어, 타겟 장치가 드론인 경우, 단계(630)에서는 제어 파라미터가 반영된 드론의 동작 시뮬레이션이 진행되고, 단계(640)에서는 3축 가속도 정보, 3축 중력 정보, 자력 정보, 기압 정보, 위치 정보가 획득될 수 있다.
PID 튜닝 장치는 단계(640)에서 획득한 센싱 값에 기초하여 단계(641)를 통해 강화 학습을 위한 보상과 상태 정보를 결정하고, 결정된 보상 및 상태 정보를 에이전트(파라미터 결정 모델)에 대응하는 인공 신경망 모듈에 제공할 수 있다.
인공 신경망 모듈은 누적되는 보상 정보가 최대화되는 방향으로 학습이 진행될 수 있고, 이 과정에서 단계(610) 내지 단계(641)은 반복적으로 수행될 수 있다.
누적된 보상 정보가 최대화되도록 학습된 인공 신경망 모듈은 단계(650)를 통해 최적의 제어 파라미터를 제공할 수 있고, 이에 기초하여 PID 튜닝이 완료될 수 있다.
그래프(660)는 일 실시예에 따른 PID 제어 방법이 적용되기 전 타겟 장치의 시간에 따른 출력값을 나타낼 수 있다. 예를 들어, 타겟 장치가 소정의 기기에 탑재되는 모터에 해당하는 경우, 출력값은 제어에 따른 초당 회전 수를 나타낼 수 있다. 그래프(660)을 참고하면, PID 튜닝이 완료되기 전에는 소정의 오버 슈팅(661)이 발생할 수 있고, 목표 초당 회전수에 도달하기 전까지 오랜 시간이 소요될 수 있다.
본원 발명에 따른 PID 제어 방법이 적용된 타겟 장치의 경우, 그래프(670)에 도시된 바와 같이, 오버 슈팅이 발생하지 않고 보다 빠른 시간 내에 목표 초당 회전수에 도달할 수 있다.
도 7은 일 실시예에 따른 PID 튜닝 장치를 설명하기 위한 블록도이다.
도 7을 참조하면, 일 실시예에 따른 PID 튜닝 장치(700)는 프로세서(720)를 포함한다. PID 튜닝 장치(700)는 메모리(710) 및 통신 인터페이스(730)를 더 포함할 수 있다. 프로세서(720), 메모리(710) 및 통신 인터페이스(730)는 통신 버스(미도시)를 통해 서로 통신할 수 있다.
프로세서(720)는 제어 대상인 타겟 장치에 대한 계측값을 획득하고, 계측값에 기초하여 현재 상태 정보를 결정하고, 강화 학습을 통해 학습된 파라미터 결정 모델에 상기 현재 상태 정보를 입력함으로써, 타겟 장치를 제어하기 위한 PID 제어 함수의 게인과 관련된 제어 파라미터를 획득하고, 제어 파라미터를 타겟 장치를 제어하기 위한 PID 컨트롤러에 전달할 수 있다.
메모리(710)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.
이 밖에도, 프로세서(720)는 프로그램을 실행하고, PID 튜닝 장치(700)를 제어할 수 있다. 프로세서(720)에 의하여 실행되는 프로그램 코드는 메모리(710)에 저장될 수 있다. PID 튜닝 장치(700)는 입출력 장치(미도시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다. PID 튜닝 장치(700)는 서버에 탑재될 수 있다.
도 8은 일 실시예에 따른 PID 컨트롤러를 설명하기 위한 블록도이다.
도 8을 참조하면, 일 실시예에 따른 PID 컨트롤러(800)는 프로세서(820)를 포함한다. PID 컨트롤러(800)는 메모리(810) 및 통신 인터페이스(830)를 더 포함할 수 있다. 프로세서(820), 메모리(810) 및 통신 인터페이스(830)는 통신 버스(미도시)를 통해 서로 통신할 수 있다.
프로세서(820)는 PID 튜닝 장치로부터 수신한 제어 파라미터를 수학식 1에 반영하여 제어 신호를 산출하고, 제어 신호에 기초하여 타겟 장치를 제어할 수 있다.
메모리(810)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.
이 밖에도, 프로세서(820)는 프로그램을 실행하고, PID 컨트롤러(800)를 제어할 수 있다. 프로세서(820)에 의하여 실행되는 프로그램 코드는 메모리(810)에 저장될 수 있다. PID 컨트롤러(800)는 입출력 장치(미도시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다. PID 컨트롤러(800)는 서버에 탑재될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (8)

  1. 강화학습을 이용한 PID 제어 방법에 있어서,
    제어 대상인 타겟 장치에 대한 계측값을 획득하는 단계;
    상기 계측값에 기초하여 현재 상태 정보를 결정하는 단계;
    강화 학습을 통해 학습된 파라미터 결정 모델에 상기 현재 상태 정보를 입력함으로써, 상기 타겟 장치를 제어하기 위한 PID 제어 함수의 게인과 관련된 제어 파라미터를 획득하는 단계; 및
    상기 제어 파라미터를 상기 타겟 장치를 제어하기 위한 PID 컨트롤러에 전달하는 단계
    를 포함하고,
    상기 파라미터 결정 모델은,
    타겟 장치로부터 획득한 계측값에 기초하여 결정되는 상태 정보 및 보상 정보에 기초하여 학습되는, 강화학습을 이용한 PID 제어 방법.
  2. 제1항에 있어서,
    상기 파라미터 결정 모델은,
    상기 PID 제어 함수의 목표 출력값에 대응하는 제1 파라미터, 상기 제1 파라미터와 타겟 장치의 현재 계측값 사이의 차이에 기초하여 결정되는 제2 파라미터, 상기 제2 파라미터를 시간에 대해 미분한 값에 대응하는 제3 파라미터, 및 상기 PID 제어 함수의 현재 게인과 관련된 제4 파라미터에 기초하여 상태(state) 정보가 결정되고,
    상기 제4 파라미터는,
    상기 PID 제어 함수에 포함된 비례 요소의 게인과 관련된 제4-1 파라미터, 상기 PID 제어 함수에 포함된 적분 요소의 게인과 관련된 제4-2 파라미터 및 상기 PID 제어 함수에 포함된 미분 요소의 게인과 관련된 제4-3 파라미터를 포함하는, 강화학습을 이용한 PID 제어 방법.
  3. 제2항에 있어서,
    상기 상태 정보는,
    미리 결정된 초기 타임 스텝을 200배 확대함으로써 결정된 0.2초 동안 획득한 상기 타겟 장치의 계측값에 기초하여 결정되고,
    상기 상태 정보는 2400 차원을 가지는 벡터로 결정되는, 강화학습을 이용한 PID 제어 방법.
  4. 제3항에 있어서,
    상기 제1 파라미터 내지 상기 제4 파라미터는,
    -1에서 1 사이의 값으로 정규화되는, 강화학습을 이용한 PID 제어 방법.
  5. 제3항에 있어서,
    상기 파라미터 결정 모델은,
    매 0.2초마다 상기 제1 파라미터 내지 상기 제4 파라미터 중 적어도 하나가 변경되도록 정의된 액션(action)을 수행하고, 상기 액션의 수행이 완료되는 경우, 0.2초 동안 획득한 상기 계측값과 상기 목표 출력값 차이에 기초하여 결정되는 보상을 부여하는 프로세스를 반복함으로써 학습되고,
    상기 프로세스는,
    4.3초 동안 수행된 뒤 종료되는 것으로 미리 정의되는, 강화 학습을 이용한 PID 제어 방법.
  6. 제1항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
  7. 강화학습을 이용한 PID 제어 방법을 수행하는 PID 튜닝 장치에 있어서,
    통신부; 및
    프로세서
    를 포함하고,
    상기 프로세서는,
    제어 대상인 타겟 장치에 대한 계측값을 획득하고,
    상기 계측값에 기초하여 현재 상태 정보를 결정하고,
    강화 학습을 통해 학습된 파라미터 결정 모델에 상기 현재 상태 정보를 입력함으로써, 상기 타겟 장치를 제어하기 위한 PID 제어 함수의 게인과 관련된 제어 파라미터를 획득하고,
    상기 제어 파라미터를 상기 타겟 장치를 제어하기 위한 PID 컨트롤러에 전달하는, PID 튜닝 장치.
  8. 제7항에 있어서,
    상기 파라미터 결정 모델은,
    타겟 장치로부터 획득한 계측값에 기초하여 결정되는 상태 정보 및 보상 정보에 기초하여 학습되는, PID 튜닝 장치.
KR1020210007067A 2020-07-27 2021-01-18 강화학습에 기초한 pid 제어 방법 및 장치 KR20220013884A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200093223 2020-07-27
KR1020200093223 2020-07-27

Publications (1)

Publication Number Publication Date
KR20220013884A true KR20220013884A (ko) 2022-02-04

Family

ID=80268226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210007067A KR20220013884A (ko) 2020-07-27 2021-01-18 강화학습에 기초한 pid 제어 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20220013884A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117387635A (zh) * 2023-12-13 2024-01-12 安徽大学 一种基于深度强化学习和pid控制器的无人机导航方法
CN118170003A (zh) * 2024-05-14 2024-06-11 济南大学 一种基于改进角蜥蜴优化算法的pid参数优化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117387635A (zh) * 2023-12-13 2024-01-12 安徽大学 一种基于深度强化学习和pid控制器的无人机导航方法
CN117387635B (zh) * 2023-12-13 2024-02-23 安徽大学 一种基于深度强化学习和pid控制器的无人机导航方法
CN118170003A (zh) * 2024-05-14 2024-06-11 济南大学 一种基于改进角蜥蜴优化算法的pid参数优化方法

Similar Documents

Publication Publication Date Title
Muliadi et al. Neural network control system of UAV altitude dynamics and its comparison with the PID control system
KR102410820B1 (ko) 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
KR102601604B1 (ko) 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
US11886988B2 (en) Method for adaptive exploration to accelerate deep reinforcement learning
US11627165B2 (en) Multi-agent reinforcement learning with matchmaking policies
US8489528B2 (en) Systems and methods for training neural networks based on concurrent use of current and recorded data
KR20220013884A (ko) 강화학습에 기초한 pid 제어 방법 및 장치
Koch et al. Neuroflight: Next generation flight control firmware
JP7379833B2 (ja) 強化学習方法、強化学習プログラム、および強化学習システム
JP7357813B2 (ja) データ駆動型モデル適応を用いる制御のための装置および方法
KR102577188B1 (ko) 목표 시스템에 대한 제어 시스템 생성
KR20210104284A (ko) 구조진동 가상센서 장치 및 그 동작 방법
CN111830822A (zh) 配置与环境交互的系统
WO2021059787A1 (ja) 制御装置、学習装置、制御方法、学習方法、及びプログラム
CN114358274A (zh) 训练用于图像识别的神经网络的方法和设备
Hanwate et al. Design and implementation of adaptive control logic for cart-inverted pendulum system
KR20220073464A (ko) 설명 가능한 인공지능 제공 방법
JP7329352B2 (ja) 分類のためのニューラルネットワークにおいて、パラメータを処理する方法及び装置
CN115151916A (zh) 在实验室环境中训练演员-评论家算法
KR102581471B1 (ko) 분류를 위한 뉴럴 네트워크에서 파라미터를 처리하는 방법 및 장치
Bakshi Model reference adaptive control of quadrotor UAVs: A neural network perspective
Shamsudin et al. Recursive Gauss-Newton based training algorithm for neural network modelling of an unmanned rotorcraft dynamics
US11782402B2 (en) Device for controlling a system with polynomial dynamics
Singh et al. Randomized probabilistic approach for parametric uncertainties in unmanned helicopters
US20180129207A1 (en) Real time effective mass and moment of inertia measurement

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application