KR20220013884A - 강화학습에 기초한 pid 제어 방법 및 장치 - Google Patents
강화학습에 기초한 pid 제어 방법 및 장치 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000002787 reinforcement Effects 0.000 title claims abstract description 40
- 238000005259 measurement Methods 0.000 claims abstract description 42
- 230000006870 function Effects 0.000 claims abstract description 40
- 230000009471 action Effects 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 18
- 238000013528 artificial neural network Methods 0.000 description 34
- 239000003795 chemical substances by application Substances 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000004088 simulation Methods 0.000 description 7
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 6
- 229910052709 silver Inorganic materials 0.000 description 6
- 239000004332 silver Substances 0.000 description 6
- 238000012549 training Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B6/00—Internal feedback arrangements for obtaining particular characteristics, e.g. proportional, integral or differential
- G05B6/02—Internal feedback arrangements for obtaining particular characteristics, e.g. proportional, integral or differential electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
- G05B11/42—Automatic 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.
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural 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 제어 방법 및 장치에 관한 것이다.
다양한 산업 분야에서 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 컨트롤러를 설명하기 위한 블록도이다.
도 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)를 제어하기 위한 제어 신호를 산출할 수 있다.
v(t)는 제어 신호, e(t)는 타겟 장치(130)로부터 획득한 계측값과 제어 목표값의 차분에 기초하여 결정되는 오차, 는 비례항과 관련된 게인, 는 적분항과 관련된 게인, 는 미분항과 관련된 게인을 의미할 수 있다.
계측값은 타겟 장치(130)를 제어하기 위하여 타겟 장치(130)로부터 계측되는 임의의 값을 의미할 수 있다. 예를 들어, 드론의 자세(posture)를 제어하고자 하는 경우, 계측값은 기압 센서를 이용한 기압 값, 자이로 센서를 이용한 각속도 값 등을 포함할 수 있으나, 이에 한정되는 것은 아니고, 타겟 장치(130)의 제어를 위해 계측될 수 있는 임의의 정보를 포함할 수 있다.
타겟 장치(130)는 제어 신호 v(t)에 기초하여 세밀하게 제어될 수 있으며, v(t)가 제어 목표값에 보다 빠르고 정확하게 수렴하도록 하는 최적의 , , 를 결정하는 것이 수학식 1을 통한 PID 제어의 핵심일 수 있으며, 최적의 , , 를 결정하는 프로세스는 PID 튜닝 장치(110)에 의해 수행될 수 있다.
PID 튜닝 장치(110)는 강화 학습을 통해 최적의 PID 파라미터를 결정하도록 미리 학습된 파라미터 결정 모델을 통해 타겟 장치(130)를 제어하기 위한 최적의 제어 파라미터를 결정할 수 있다. 제어 파라미터는 앞서 수학식 1을 통해 설명된 , , 를 의미할 수 있다. 보다 구체적으로, PID 컨트롤러(120)는 파라미터 결정 모델에 기초하여 산출된 제어 파라미터 , , 이 반영된 수학식 1에 기초하여 타겟 장치(120)를 제어하기 위한 제어 신호를 산출하고, 산출된 제어 신호에 기초하여 타겟 장치(120)를 제어할 수 있다.
도 2는 일 실시예에 따른 PID 제어 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, PID 튜닝 장치는 단계(210)에서 타겟 장치에 대한 계측값을 획득할 수 있다. 계측값은 앞서 도 1에서 설명된 바와 같이 타겟 장치를 제어하기 위해 타겟 장치로부터 계측된 임의의 값을 의미할 수 있으며, 타겟 장치의 종류, 제어 방식에 따라 다양한 값이 선택될 수 있음은 통상의 기술자가 이해할 것이다.
단계(220)에서 PID 튜닝 장치는 계측값에 기초하여 타겟 장치에 대한 현재 상태 정보를 결정할 수 있다. 일 실시예에 따르면, 현재 상태 정보는 PID 제어 함수의 목표 출력값에 대응하는 제1 파라미터, 제1 파라미터와 타겟 장치의 현재 계측값 사이의 차이에 기초하여 결정되는 제2 파라미터, 제2 파라미터를 시간에 대한 미분한 값에 대응하는 제3 파라미터, PID 제어 함수의 현재 게인에 대응하는 제4 파라미터에 기초하여 결정될 수 있다. PID 제어 함수는 앞서 설명된 수학식 1에 대응되는 함수일 수 있으며, 제4 파라미터는 현재 PID 제어 함수의 , , 에 대응될 수 있다. 현재 상태 정보는 이하 첨부될 도 3을 통해 보다 상세하게 설명된다.
PID 튜닝 장치는 단계(230)에서 현재 상태 정보를 파라미터 결정 모델에 입력함으로써 PID 제어 함수의 튜닝된 게인에 대응하는 제어 파라미터를 획득할 수 있다. 제어 파라미터는 PID 제어 함수의 , , 에 대응하는 3개의 값을 포함할 수 있다. 파라미터 결정 모델은 강화 학습에 기초하여 미리 학습된 인공 신경망을 이용하여 타겟 장치의 계측값으로부터 제어 파라미터를 결정하는 모델일 수 있다. 보다 구체적으로, 파라미터 결정 모델은 타겟 장치의 계측값에 기초하여 결정된 현재 상태 정보를 입력으로 최적화된 제어 파라미터를 출력하도록 학습될 수 있다. 파라미터 결정 모델에 사용될 수 있는 인공 신경망은 심층 강화 학습이 수행될 수 있는 다양한 인공 신경망이 포함될 수 있으며 예시적으로, DQN(Deep Q-Network)를 포함할 수 있으나, 이에 한정되는 것이 아님은 통상의 기술자가 이해할 것이다.
PID 튜닝 장치는 단계(240)에서 타겟 장치를 제어하는 PID 컨트롤러에 제어 파라미터를 전달할 수 있다. PID 컨트롤러는 제어 파라미터에 기초하여 결정되는 수학식 1에 기초하여 제어 신호를 생성하고, 제어 신호에 기초하여 타겟 장치가 제어될 수 있다.
도 3은 파라미터 결정 모델을 훈련시키기 위한 강화학습을 설명하기 위한 도면이다.
도 3을 참조하면, PID 튜닝 장치에 포함된 파라미터 결정 모델에 대한 강화학습을 수행하기 위한 순차적인 행동을 결정하는 과정은 MDP(Markov Decision Process)에 의해 수행될 수 있다. 보다 구체적으로, PID 튜닝 장치의 파라미터 결정 모델에 대응되는 에이전트(agent)(310)는 현재 상태 (330)에서 환경(320)에 액션(Action) (340)를 수행할 수 있다. 액션 (340)이 수행됨에 따라 에이전트(310)의 상태 정보는 현재 상태 (330)에서 (340)에 대응되는 이후 상태 (350)로 변경될 수 있고, 상태의 변경은 수학식 2에 따른 상태 변환 확률 에 기초하여 결정될 수 있다.
는 s상태에서 s' 상태로 변경될 상태 변환 확률, s는 현재 상태 에 대응되는 값, s'는 현재 상태 에 연속되는 이후 상태 에 대응되는 값, 는 에이전트가 현재 상태 에서 수행하는 액션 에 대응되는 값을 의미할 수 있다.
는 상태 s에서 액션 가 수행되는 경우에 보상 을 결정하는 보상 함수, s는 현재 상태 에 대응되는 값, 는 에이전트가 현재 상태 에서 에이전트(310)가 수행하는 액션 에 대응되는 값을 의미할 수 있다.
에이전트(310)는 환경(320)에 액션을 수행하고, 상응하는 보상을 획득하고, 새로운 상태에서 추가적인 액션을 수행하고 보상을 획득하는 과정을 반복함으로써, 파라미터 결정 모델이 학습될 수 있다. 보다 구체적으로, 파라미터 결정 모델은 에이전트(310)가 현재 시점으로부터 종료 시점까지 환경(320)으로부터 획득할 것으로 예측되는 보상의 총합이 최대화되는 방향으로 학습될 수 있다. 보다 구체적으로, 보상의 총합 은 수학식 4에 기초하여 결정될 수 있다.
는 예측되는 보상의 총합, 는 할인율, t는 현재 시점에 대응되는 타임 스텝, T는 종료 시점에 대응되는 타임 스텝, 는 t에 대응되는 타입 스텝에서 부여된 보상 값으로, 앞선 수학식 3의 보상 함수에 기초하여 결정되는 값을 의미할 수 있다.
파라미터 결정 모델은 수학식 4에 따른 보상의 총합을 최대화하는 방향으로 파라미터 결정 모델에 포함된 인공 신경망의 가중치 정보를 결정함으로써 학습될 수 있다. 보상의 총합을 최대화하는 방향으로 인공 신경망의 가중치 정보를 결정하는 방식은 통상의 기술자가 용이하게 이해할 수 있다. 예를 들어, 파라미터 결정 모델을 구성하는 인공 신경망은 DQN 방식에 따라 상태 정보 를 입력으로하여 도출되는 Q-함수를 최대화하는 방향으로 미리 학습된 인공 신경망을 포함할 수 있으며, 학습된 파라미터 결정 모델은 산출된 Q-함수에 기초하여 상태 정보 에 대응되는 액션 이 반영된 최적의 제어 파라미터를 산출할 수 있다. 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의 방식에 한정되는 것이 아니고, 본원 발명의 파라미터 결정 모델의 정의를 이용한 임의의 강화 학습 방식이 이용될 수 있다.
위와 같이 파라미터 결정 모델에 대한 강화 학습을 수행하는 과정에서, 상태 정보 , 액션 , 보상 , 종료 시점에 대응되는 타임 스텝 T을 정의하는 방식에 따라 파라미터 결정 모델의 성능(PID 제어 성능)에 매우 큰 차이를 발생시킬 수 있다. 보다 구체적으로, 상태 정보 , 액션 , 보상 , 종료 시점에 대응되는 타임 스텝 T를 정의하는 방식에 따라서, 타겟 장치의 계측값이 보다 빠르고 정확도 높게 제어 목표값에 도달하는 제어 파라미터를 산출하도록 파라미터 결정 모델이 학습될 수 있다.
일 실시예에 따르면, 파라미터 결정 모델을 학습하는 과정에서 에이전트(310)의 현재 상태(state)에 대응하는 상태 정보 는 수학식 5와 같이 제1 파라미터 내지 제4 파라미터를 연결함으로써 결정될 수 있다.
는 현재 상태(타임 스텝 t에 대응되는 상태)에 대응되는 상태 정보, 은 제어 목표값(PID 제어 함수의 목표 출력값)에 대응하는 제1 파라미터, 는 제1 파라미터 와 타임 스텝 t에 대응되는 타겟 장치의 현재 계측값 사이의 차이에 기초하여 결정되는 오차인 제2 파라미터, 은 제2 파라미터 를 시간에 대해 미분한 값에 대응하는 제3 파라미터 는 PID 제어 함수의 현재 게인과 관련된 제4 파라미터일 수 있다. 제4 파라미터 는 PID 제어 함수에 포함된 비례 요소의 게인(예를 들어, 앞선 수학식 1에서 )에 대응되는 제4-1 파라미터 , PID 제어 함수에 포함된 적분 요소의 게인(예를 들어, 앞선 수학식 1에서 )에 대응되는 제4-2 파라미터 및 PID 제어 함수에 포함된 미분 요소의 게인(예를 들어, 앞선 수학식 1에서 )에 대응되는 제4-3 파라미터 를 포함할 수 있다. 내지 은 각각 600차원의 벡터일 수 있으며, 는 1800차원의 벡터일 수 있으며, 이에 대해서는 하기에서 보다 상세히 설명된다.
일 실시예에 따르면, 상태 정보 는 0.2초 동안 타겟 장치로부터 획득한 계측값에 기초하여 결정될 수 있다. 상기 0.2초는 미리 결정된 초기 타임 스텝을 200배 확대함으로써 결정된 수치일 수 있다. 보다 구체적으로, MDP에서 타임 스텝은 0.01초로 미리 결정되어 있는데, 일 실시예에 따른 강화학습을 이용한 PID 제어 방법에서는 미리 결정된 타임 스텝을 200배 확대한 0.2초를 기본 타임 스텝 단위로 설정하여 상태 정보 및 보상 정보 를 결정할 수 있다.
일 실시예에 따른 PID 튜닝 장치는 0.01초 단위로 0.2초 동안 수집된 타겟 장치의 계측값을 통해 상태 정보 를 결정함으로써, 상태 정보 는 2400 차원을 가지는 벡터로 결정될 수 있다. 예를 들어, 상태 정보 를 구성하는 제1 파라미터 내지 제4 파라미터 는 수학식 6과 같이 표현될 수 있다.
는 타임 스텝 t에서 0.01초 단위로 타겟 장치로부터 roll에 대해 수집된 계측값 중 i번째에 해당하는 계측값, 는 타임 스텝 t에서 0.01초 단위로 타겟 장치로부터 pitch에 대해 수집된 계측값 중 i번째에 해당하는 계측값, 는 타임 스텝 t에서 0.01초 단위로 타겟 장치로부터 yaw에 대해 수집된 계측값 중 i번째에 해당하는 계측값, 는 에 대응하여 미리 결정된 제어 목표값, 는 에 대응하여 미리 결정된 제어 목표값, 는 에 대응하여 미리 결정된 제어 목표값, 는 에 대응하는 제4 파라미터, 는 에 대응하는 제4 파라미터, 는 에 대응하는 제4 파라미터를 의미할 수 있다. ,, 각각은 수학식 6과 같이 표현될 수 있으며, 이는 앞서 설명된 제4-1 파라미터(), 제4-2 파라미터() 및 제4-3 파라미터()에 대응되는 3개의 파라미터로 구성될 수 있음을 의미한다.
일 실시예에 따르면, 에이전트(310)의 액션 은 0.2초마다 제4 파라미터 를 변경하는 것으로 결정될 수 있다. 보다 구체적으로, 에이전트는 0.2초마다 제4-1 파라미터 내지 제4-3 파라미터 중 어느 적어도 하나를 변화시키는 액션을 수행할 수 있다.
다른 실시예에 따르면, 에이전트(310)의 액션 은 계측값 의 파형에 기초하여 0.2초마다 제4 파라미터 를 변경하는 것으로 결정될 수 있다. 예를 들어, 에이전트(310)의 액션 은 가 목표값에 도달하는 속도가 소정의 임계치보다 작은 경우, 에 대응되는 제4-1 파라미터 를 우선적으로 변경하도록 정의될 수 있다(상황에 따라 roll, pith, yaw 중 어느 하나에 대응되는 파라미터가 변경될 수 있음은 통상의 기술자가 이해할 것이다.). 또한, 에이전트(310)의 액션 은 계측값 의 잔류 편차가 소정 임계치보다 큰 경우, 에 대응되는 제4-2 파라미터 를 우선적으로 변경하도록 정의될 수 있다. 그리고, 에이전트(310)의 액션 은 에 소정의 임계치 이상의 오버슈트가 발생하는 경우, 에 대응되는 제4-3 파라미터 를 우선적으로 변경하도록 정의될 수 있다.
또 다른 실시예에 따르면, 에이전트(310)의 액션 액션 은 계측값 의 목표값에 도달하는 속도, 잔류 편차, 오버 슈트에 기초하여 제4-1 파라미터 내지 제4-3 파라미터 의 변경 정도를 결정하고, 결정된 변경 정도에 따라 각각의 제4-1 파라미터 내지 제4-3 파라미터 를 변경하는 것으로 정의될 수 있다.
일 실시예에 따르면, 에이전트(310)에 부여되는 보상은 수학식 7에 기초하여 결정될 수 있다.
는 현재 상태로 변환되는 과정에서 에이전트(310)에 부여된 보상, 은 제1 파라미터, 는 t에 대응하는 타임 스텝에서 0.01초 단위로 타겟 장치로부터 수집된 계측값 중 i 번째로 수집된 타깃 장치의 계측값을 의미할 수 있다.
보다 구체적으로, 앞서 설명된 변경된 제4 파라미터 에 기초하여 발생된 오차(PID 제어 함수의 목표 출력값과 타겟 장치의 계측값의 차)의 합계를 통해, 에이전트(310)에 부여되는 보상 이 결정될 수 있다. 보상 을 결정하기 위한 오차는 MDP에 대하여 미리 결정된 타임 스텝인 0.01초 단위로 계산될 수 있고, 0.01초 단위로 계산된 오차의 합계(0.2초 동안)에 기초하여 액션 (340)(0.2초 단위로 제4 파라미터 가 변경되는 동작)에 따른 보상 이 수학식 7을 통해 결정될 수 있다.
일 실시예에 따르면, 에이전트(310)의 단위 에피소드는 4.3초 동안 진행될 수 있다. 보다 구체적으로, 하나의 에피소드가 진행되는 경우, 21번의 액션(0.2초 마다 제4 파라미터의 변경)이 이루어질 수 있고, 0.2초를 기준으로 21.5회의 보상이 에이전트(310)에 제공될 수 있으며, 단위 에피소드는 4.3초가 경과하는 경우 강제로 종료될 수 있다.
일 실시예에 따르면, 파라미터 결정 모델을 학습시키기 위한 상태 정보 는 -과 1 사이의 값으로 정규화될 수 있다. 보다 구체적으로, 상태 정보 를 구성하는 제1 파라미터 내지 제4 파라미터 각각의 요소는 -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)에서 현재 상태 정보를 파라미터 결정 모델에 입력하여 제어 파라미터를 생성하고(앞서 설명된 를 통해), 단계(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)
- 강화학습을 이용한 PID 제어 방법에 있어서,
제어 대상인 타겟 장치에 대한 계측값을 획득하는 단계;
상기 계측값에 기초하여 현재 상태 정보를 결정하는 단계;
강화 학습을 통해 학습된 파라미터 결정 모델에 상기 현재 상태 정보를 입력함으로써, 상기 타겟 장치를 제어하기 위한 PID 제어 함수의 게인과 관련된 제어 파라미터를 획득하는 단계; 및
상기 제어 파라미터를 상기 타겟 장치를 제어하기 위한 PID 컨트롤러에 전달하는 단계
를 포함하고,
상기 파라미터 결정 모델은,
타겟 장치로부터 획득한 계측값에 기초하여 결정되는 상태 정보 및 보상 정보에 기초하여 학습되는, 강화학습을 이용한 PID 제어 방법.
- 제1항에 있어서,
상기 파라미터 결정 모델은,
상기 PID 제어 함수의 목표 출력값에 대응하는 제1 파라미터, 상기 제1 파라미터와 타겟 장치의 현재 계측값 사이의 차이에 기초하여 결정되는 제2 파라미터, 상기 제2 파라미터를 시간에 대해 미분한 값에 대응하는 제3 파라미터, 및 상기 PID 제어 함수의 현재 게인과 관련된 제4 파라미터에 기초하여 상태(state) 정보가 결정되고,
상기 제4 파라미터는,
상기 PID 제어 함수에 포함된 비례 요소의 게인과 관련된 제4-1 파라미터, 상기 PID 제어 함수에 포함된 적분 요소의 게인과 관련된 제4-2 파라미터 및 상기 PID 제어 함수에 포함된 미분 요소의 게인과 관련된 제4-3 파라미터를 포함하는, 강화학습을 이용한 PID 제어 방법.
- 제2항에 있어서,
상기 상태 정보는,
미리 결정된 초기 타임 스텝을 200배 확대함으로써 결정된 0.2초 동안 획득한 상기 타겟 장치의 계측값에 기초하여 결정되고,
상기 상태 정보는 2400 차원을 가지는 벡터로 결정되는, 강화학습을 이용한 PID 제어 방법.
- 제3항에 있어서,
상기 제1 파라미터 내지 상기 제4 파라미터는,
-1에서 1 사이의 값으로 정규화되는, 강화학습을 이용한 PID 제어 방법.
- 제3항에 있어서,
상기 파라미터 결정 모델은,
매 0.2초마다 상기 제1 파라미터 내지 상기 제4 파라미터 중 적어도 하나가 변경되도록 정의된 액션(action)을 수행하고, 상기 액션의 수행이 완료되는 경우, 0.2초 동안 획득한 상기 계측값과 상기 목표 출력값 차이에 기초하여 결정되는 보상을 부여하는 프로세스를 반복함으로써 학습되고,
상기 프로세스는,
4.3초 동안 수행된 뒤 종료되는 것으로 미리 정의되는, 강화 학습을 이용한 PID 제어 방법.
- 제1항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
- 강화학습을 이용한 PID 제어 방법을 수행하는 PID 튜닝 장치에 있어서,
통신부; 및
프로세서
를 포함하고,
상기 프로세서는,
제어 대상인 타겟 장치에 대한 계측값을 획득하고,
상기 계측값에 기초하여 현재 상태 정보를 결정하고,
강화 학습을 통해 학습된 파라미터 결정 모델에 상기 현재 상태 정보를 입력함으로써, 상기 타겟 장치를 제어하기 위한 PID 제어 함수의 게인과 관련된 제어 파라미터를 획득하고,
상기 제어 파라미터를 상기 타겟 장치를 제어하기 위한 PID 컨트롤러에 전달하는, PID 튜닝 장치.
- 제7항에 있어서,
상기 파라미터 결정 모델은,
타겟 장치로부터 획득한 계측값에 기초하여 결정되는 상태 정보 및 보상 정보에 기초하여 학습되는, PID 튜닝 장치.
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)
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参数优化方法 |
-
2021
- 2021-01-18 KR KR1020210007067A patent/KR20220013884A/ko not_active Application Discontinuation
Cited By (3)
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 |