์ด์ข
๋ฒ
(Jongbeom Lee)
1iD
์ดํ๊ฑด
(Taegun Lee)
1iD
์ฃผ๋์ค
(Doyoon Ju)
1iD
์ด์์ผ
(Young Sam Lee)
โ iD
-
(Dept. of Electrical and Computer Engineering, Inha University, Incheon, Republic of
Korea.)
Copyright ยฉ The Korea Institute for Structural Maintenance and Inspection
Key words
Reinforcement learning, Pendubot, Sim-to-Real Learning, LW-RCP
1. ์ ๋ก
2016๋
์ด๋ฃจ์ด์ง ์ํ๊ณ ์ ์ด์ธ๋ ๊ฐ์ ๋ฐ๋ ๋๊ตญ์ 4์ฐจ ์ฐ์
ํ๋ช
์๋์ ์์์ ์์ฌํ๋ ์ค๋ํ ์ด์ ํ๋ก ํ๊ฐ๋๋ค. ์ด ์ฌ๊ฑด์ ์ธ๊ณต์ง๋ฅ ๊ธฐ์ ์ด
๋จ์ํ ํ๋ฌธ์ ์ฐ๊ตฌ์ ์์ญ์ ๋์ด, ์ฌํ ์ ๋ฐ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ํ์ค์ ์์ฉ ๊ธฐ์ ๋ก ์ฑ์ฅํ์์ ์ฆ๋ช
ํ์๋ค[1]. ์ด๋ ์ธ๊ณต์ง๋ฅ์ด ์ธ๊ฐ์ ํ๋๊ณผ ๊ฒฐ์ ๊ณผ์ ์ ๋ชจ๋ฐฉํ ์ ์๋ ๋ฅ๋ ฅ์ ๊ฐ์ถ์๊ณ , ๋์๊ฐ ์ธ๊ฐ๋ณด๋ค ๋ ํจ์จ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ ๊ฐ๋ฅ์ฑ์ ๋ํ
์ค์ํ ์์ฌ์ ์ ์ ๊ณตํ๋ค. ํนํ, ์ํ๊ณ ์ ์น๋ฆฌ๋ ๊ฐํํ์ต(reinforcement learning)์ด๋ผ๋ ๊ณ ๋ํ๋ ๊ธฐ๊ณํ์ต ๋ฐฉ๋ฒ๋ก ์ ํจ์ฉ์ฑ์ ์
์ธ๊ณ์ ์
์ฆํ ์ฌ๋ก๋ก์ ์ฃผ๋ชฉํ ์ ์๋ค. ์ด๋ โ๊ฐํํ์ตโ์ด๋, ์ธ๊ณต์ง๋ฅ ์๊ณ ๋ฆฌ์ฆ์ด ๋์ ์ธ ํ๊ฒฝ๊ณผ์ ์ํ์ฐฉ์ค์ ์ธ ์ํธ์์ฉ ๊ณผ์ ์ ํตํด ์ค์ค๋ก ์ต์ ์
ํ๋ ํจํด์ ํ์ตํ๋ ๊ธฐ๋ฒ์ ์๋ฏธํ๋ค[2].
๊ฐํํ์ต์ ์ ์ด๊ณตํ ๋ถ์ผ์์๋ ๊ทธ ํจ์ฉ์ฑ์ ์ธ์ ๋ฐ์ ์์จ์ฃผํ๊ณผ ๋ก๋ณดํฑ์ค ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ํ๋ฐํ ์ฐ๊ตฌ๋๊ณ ์๋ค. ์ด๋ฌํ ์ฐ๊ตฌ๋ฅผ ํตํด ๊ฐํํ์ต์ ์ค์
์์จ์ฃผํ ์์คํ
์ ์ฑ๊ณต์ ์ผ๋ก ์ ์ฉํ์์ผ๋ฉฐ[3], ์ฌ์กฑ ๋ณดํ ๋ก๋ด์ ๊ฐ๊ฑดํ ์๊ฐ ๋ณดํ ๊ตฌํ์๋ ์ฑ๊ณตํ๋ ๋ฑ ์๋ก์ด ์ ์ด ๋ฐฉ๋ฒ๋ก ์ ์ ์ํ๊ณ ์๋ค[4]. ์ด์ฒ๋ผ ๊ฐํํ์ต์ ๋ณต์กํ ํ๊ฒฝ์์์ ์์จ์ฑ์ ํฅ์์ํค๋ฉฐ, ๋ค์ํ ์ ์ด ์์คํ
์์ ๊ทธ ๊ฐ๋ฅ์ฑ์ ์
์ฆํ๊ณ ์๋ค. ๊ฐํํ์ต๊ณผ ์ ์ด๊ณตํ์ ์ตํฉ์ ์ธ ์ฐ๊ตฌ๊ฐ
๋๋๋ฌ์ง ๋ฐ์ ์ ๋ณด์ด๋ ๊ฐ์ด๋ฐ, ์ด์ ๋ฐ๋ง์ถ์ด ๋ง์ ๊ต์ก๊ธฐ๊ด๋ค์ด โ๊ฐํํ์ตโ ํน์ ์ ์ด๊ณตํ์ ์ง๋ฅํ ๋๊ตฌ๋ฅผ ํ์ฉํ๋ค๋ ์๋ฏธ์์ โ์ง๋ฅ์ ์ดโ ๋ฑ์ ์ด๋ฆ์ผ๋ก
์๋ก์ด ๊ต์ก๊ณผ์ ์ ๊ฐ๋ฐ ๋ฐ ์ด์ ์ค์ ์๋ค[5-7]. ํ์ง๋ง, ๋๋ถ๋ถ์ ๊ต์ก์ ์ด๋ก ๊ณผ ์ปดํจํฐ ์๋ฎฌ๋ ์ด์
์ ์ค์ ์ ๋๊ณ ์๊ณ , ์ค๋ฌผ ์์คํ
์ ๊ฐํํ์ต์ ์ ์ฉํ๋ ๊ฒ์ ๊ธฐ์ ์ ํ๊ณ๋ก ์ธํ ์ด๋ ค์์ ๊ฒช๊ณ
์๋ค. ์ค๋ฌผ ์์คํ
์ ๊ตฌ๋ํ๊ธฐ ์ํด์๋ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ์ ์ด ์ ํธ๋ฅผ ์ ๋ฌํด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ด ์ ํธ๋ฅผ ์ฐ์ฐํ๋ ๊ฐํํ์ต
์ ๊ฒฝ๋ง์ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ์ ๊ตฌํํด์ผ ํ์ง๋ง, ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ๋ ์ฑ๋ฅ๊ณผ ์์์ด ์ ํ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊ตฌํํ๋ ๊ฒ์๋ ๊ธฐ์ ์ ํ๊ณ๊ฐ ์กด์ฌํ๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๊ฐ์ง์น๊ธฐ(Pruning), ์์ํ(Quantization), ์ง์ ์ฆ๋ฅ(Knowledge Distillation)์ ๊ฐ์ ์ธ๊ณต
์ ๊ฒฝ๋ง ๊ฒฝ๋ํ ๊ธฐ์ ๋ค์ด ์๊ตฌ๋๋ค[8]. ํ์ง๋ง, ์ด๋ฌํ ๊ธฐ์ ๋ค์ ๊ฐํํ์ต์ ์ค๋ฌผ ์์คํ
์ ์ ์ฉํ๊ณ ์ ํ๋ ํ์๋ค์๊ฒ๋ ๋๋ฌด ๋์ ์ง์
์ฅ๋ฒฝ์ด ๋ ์ ์์ผ๋ฉฐ, ๊ต์ก์ ์๋ ๋ชฉํ์์ ๋ฒ์ด๋๊ฒ
๋ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ๋ค. ์ค์ ๋ก ๊ต์ก์ ๋ณธ๋ ๋ชฉํ๋ ํ์๋ค์ด ์ถ๊ฐ์ ์ธ ์ ๋ฌธ ์ง์ ์์ด๋ ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ ์๋ฆฌ๋ฅผ ์ค๋ฌผ ์์คํ
์ ์ ์ฉํ ์ ์๋
๋ฅ๋ ฅ์ ํค์ฐ๋ ๊ฒ์ด๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ๋ณธ ๋
ผ๋ฌธ์์๋ Python์ผ๋ก ํ์ต๋ ๊ฐํํ์ต ์ ๊ฒฝ๋ง์ ์ค๋ฌผ ์์คํ
์ ์ฝ๊ฒ ์ ์ฉํ ์ ์๋๋ก ๋๋ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด
๊ต์ก ํ๋ซํผ์ ์ ์ํ๋ค. ์ด ํ๋ซํผ์ Sim-to-Real ๊ธฐ๋ฒ์ ํ์ฉํด ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ์์ ํ์ต๋ ์ ๊ฒฝ๋ง์ ์ค๋ฌผ ์์คํ
์ ์ ์ฉํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
Sim-to-Real ๊ธฐ๋ฒ์ ๊ฐํํ์ต ์์ด์ ํธ๊ฐ ์ํธ์์ฉํ๋ ํ๊ฒฝ์ ์๋ฎฌ๋ ์ด์
์ผ๋ก ๊ตฌ์ถํ์ฌ ์ ๊ฒฝ๋ง์ ํ์ต์ํค๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค[9].
์ด๋ ๊ฒ ํ์ต๋ ์ ๊ฒฝ๋ง์ Matlab/Simulink ํ๊ฒฝ์ ํธํ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ก ๋ณํ๋์ด ์ ์ด๊ธฐ๋ฅผ ๊ตฌํํ๋๋ฐ ์ฌ์ฉ๋๋ค. Matlab/Simulink์์
๊ตฌํ๋ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ ์ ์ด๋์ ๊ณ์ฐํ๊ฒ ๋๋ฉฐ, ์ด ์ ์ด๋์ ์ค๋ฌผ ์์คํ
์ ๊ตฌ๋๊ธฐ๋ก ์ ๋ฌํ๊ณ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ์ญํ ์ ๋ณธ ๋
ผ๋ฌธ์ ์ ์๋ค์ด
์ํ ์ฐ๊ตฌ์ค์์ ์ง์ ๊ฐ๋ฐํ LW-RCP(Light-Weight Rapid Control Prototyping)๊ฐ ๋ด๋นํ๋ค. LW-RCP๋ ๊ฐํํ์ต
์๊ณ ๋ฆฌ์ฆ์ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ๋ณด๋ค ๋น ๋ฅธ ์ฐ์ฐ ์๋์ ํ๋ถํ ์์์ ๊ฐ์ถ PC์์ ์คํํ ์ ์๊ฒ ๋์์ฃผ๋ฉฐ, ์ธ๊ณต ์ ๊ฒฝ๋ง ๊ฒฝ๋ํ์ ๊ฐ์ ๊ธฐ์ ์์ด๋ ๊ธฐ์กด์
์๋ฎฌ๋ ์ด์
๊ธฐ๋ฐ ๊ต์ก ๋ฐฉ์์ ํ์ฉํ ์ ์๊ฒ ํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ๋ ํ๋ซํผ์ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ฅผ ์ค๋ฌผ ์์คํ
์ ์ ์ฉํ๋๋ฐ ๋ฐ์ํ๋
์ง์
์ฅ๋ฒฝ์ ํจ๊ณผ์ ์ผ๋ก ๋ฎ์ถ ์ ์๋ค. ์ด๋ฅผ ํตํด ์ด๋ก ์ค์ฌ ๊ต์ก๊ณผ์ ์์ ๋ฒ์ด๋, ํ์๋ค์ด ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ค๋ฌผ ์์คํ
์ ์ ์ฉํด๋ณด๋ ์ค์ต ์ค์ฌ ํ์ต์
ํจ๊ณผ๋ฅผ ๊ธฐ๋ํ ์ ์๋ค.
๋ณธ ๋
ผ๋ฌธ์ ์ ์๋ ํ๋ซํผ์ ํจ์ฉ์ฑ์ ๊ฒ์ฆํ๊ธฐ ์ํด, pendubot ์์คํ
์ ํ์ฉํ ์ ์ด ์คํ์ ์งํํ๋ค. Pendubot์ ๋ ๊ฐ์ ๋งํฌ๋ก ๊ตฌ์ฑ๋
๋ถ์กฑ ๊ตฌ๋ ์์คํ
์ผ๋ก, ๋ค์ํ ์ ์ด ์ด๋ก ์ ์ ์ฉํ๋ ํ
์คํธ๋ฒ ๋๋ก ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ, ๊ฐํํ์ต ์ฐ๊ตฌ์๋ ํ์ฉ๋ ๋ฐ ์๋ค
[10,11]. ํนํ, pendubot์ ๋น์ ํ ๋ชจ๋ธ ๋ฐฉ์ ์์ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ์ ์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ์ ์ ํฉํ ๋์ ๊ณผ์ ๋ฅผ ์ ๊ณตํ๋ค. ์ด๋ฌํ ์ด์ ๋ก, ๋ณธ ๋
ผ๋ฌธ์์๋
์ ์๋ ํ๋ซํผ์ ์คํจ์ฑ์ ๊ฒ์ฆํ๋ ๋ฐ pendubot์ ์ฌ์ฉํ๋ค.
๋ณธ ๋
ผ๋ฌธ์ ์ดํ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ๋ค. 2์ฅ์์๋ Python๊ณผ Matlab/Simulink, LW-RCP๊ฐ ๊ฒฐํฉ๋ ํ๋ซํผ์ ๊ตฌ์กฐ๋ฅผ ์์ ํ๋ค. ์ด์ด์ง๋
3์ฅ์์๋ Sim-to-Real ๊ธฐ๋ฒ์ ์ ์ฉํ๊ธฐ ์ํ pendubot์ ๋ชจ๋ธ ๋ฐฉ์ ์์ ์ ๋ํ๊ณ , pendubot์ ๊ท ํ์ ์ ๋ํด ์์ ํ๋ค. ์ดํ 4์ฅ์์๋
๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ฅผ ์ค๊ณํ๊ณ pendubot ์ ์ด ์คํ์ ํตํด ์ ์ํ๋ ํ๋ซํผ์ ํจ์ฉ์ฑ์ ๊ฒ์ฆํ๊ณ , ๋ง์ง๋ง์ผ๋ก 5์ฅ์์ ๊ฒฐ๋ก ์ ๋งบ๋๋ค.
2. ์ ์ํ๋ ํ๋ซํผ์ ๊ตฌ์กฐ
2.1 Sim-to-Real ๊ธฐ๋ฒ์ ํ์ฉํ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ
๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ๋ ํ๋ซํผ์๋ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๊ฐ ํต์ฌ์ ์ธ ์ญํ ์ ์ํํ๋ค. ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ ๊ณ ์ ์ ์ ์ด ๋ฐฉ์์์ ์ ์ด ์ฐ์ฐ์ ๋ด๋นํ๋
์ ์ด๊ธฐ์ ์ญํ ์ ๊ฐํํ์ต ์์ด์ ํธ๋ก ๋์ฒดํ ํํ๋ฅผ ์๋ฏธํ๋ค[12].
๊ฐํํ์ต์์ ์ฌ์ฉ๋๋ ๊ฐ๋
์ธ ์์ด์ ํธ๋ ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ ์์คํ
์ ๋งํ๋ค. ์์ด์ ํธ๋ ํน์ ๋ชฉ์ ์ ๊ฐ๊ณ ์ฃผ์ด์ง ํ๊ฒฝ๊ณผ ์ํธ์์ฉํ๋ฉฐ ์์ ์
ํ๋ ์ ์ฑ
์์ ๋น๋กฏํ ๋์์ ์ํํ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ๋ก ์ป์ด์ง๋ ๋ณด์์ ํตํด ํ๋ ์ ์ฑ
์ ๊ฐ์ ํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค[13]. ์ด๋ ๊ฒ ์์ฑ๋ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ ์ฃผ์ด์ง ํ๊ฒฝ์์ ์ทจ๋ํ ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅ๋ฐ์ ํ์ต๋ ํ๋ ์ ์ฑ
์ ๋ฐ๋ฅธ ์ต์ ์ ํ๋์ธ ์ ์ด๋์ ์ถ๋ ฅํ๊ฒ ๋๋ค.
์ด๋, ์์ด์ ํธ์ ์ํธ์์ฉ์ด ์ด๋ฃจ์ด์ง๋ ํ๊ฒฝ์ ์ฃผ๋ก ์ค๋ฌผ ์์คํ
์ ํ์ฉํ ๋ฌผ๋ฆฌ์ ํ๊ฒฝ, ํน์ ์๋ฎฌ๋ ์ด์
๊ธฐ๋ฐ์ ๊ฐ์ํ๊ฒฝ ๋ ๊ฐ์ง๋ก ๊ตฌ์ฑ๋๋ค.
๋จผ์ , ์ค๋ฌผ ์์คํ
๊ณผ ์ง์ ์ํธ์์ฉํ๋ ๋ฐฉ๋ฒ์ ์ค๋ฌผ ์์คํ
์ ์ ํํ ๋ชจ๋ธ์ด ํ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. ํ์ง๋ง, ํด๋น ๋ฐฉ์์ผ๋ก ํ์ต์ ์งํํ๋ ๊ฒฝ์ฐ,
ํ์ต์ ์๊ตฌ๋๋ ๋ฌผ๋ฆฌ์ ์ธ ์๊ฐ์ด ํ์ํ๋ฉฐ, ํ์ต ๊ณผ์ ์ค ๋ฐ์ํ๋ ์ํ์ฐฉ์ค๋ก ์ธํด ์์ ์ฌ๊ณ ๊ฐ ๋ฐ์ํ ์ ์๋ค[14]. ์ด๋ ์ ํ๋ ์๊ฐ ๋ด์ ์์ ํ๊ฒ ๊ต์ก์ ์งํํด์ผ ํ๋ ์ค์ต ์ค์ฌ์ ๊ต์ก๊ณผ์ ํน์ฑ์ ํด๋น ๋ฐฉ์์ ๋์
๋๊ธฐ ์ด๋ ต๋ค.
๋ฐ๋ผ์, ๋ณธ ๋
ผ๋ฌธ์์๋ ์์ด์ ํธ๊ฐ ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ๊ณผ ์ํธ์์ฉํ๋ ๋ฐฉ์์ธ Sim-to-Real ํ์ต ๊ธฐ๋ฒ์ ํ์ฉํ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ฅผ ์ฌ์ฉํ๊ณ ์
ํ๋ค. ํด๋น ๊ธฐ๋ฒ์ ์์ด์ ํธ์ ์ํธ์์ฉํ๋ ํ๊ฒฝ์ด ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ์ด ๋๋ฏ๋ก ํ์ต์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค. ์ด๋ก ์ธํด, ์ ํ๋ ๊ต์ก ํ๊ฒฝ์์
์ ์ด๊ธฐ ์ค๊ณ์ ๋๋ ์๊ฐ์ ๋น์ฉ์ ํฌ๊ฒ ์ค์ฌ ๋์ฑ ๋ด์ค ์๋ ๊ต์ก ๊ณผ์ ์ ๊ตฌ์ฑํ ์ ์๊ฒ ๋๋ค. ๋ํ, ํ์ต ๊ณผ์ ์ค ๋ฐ์ํ ์ ์๋ ๋ชจ๋ ์ํ์ฐฉ์ค๋ค์ด
์ปดํจํฐ ์๋ฎฌ๋ ์ด์
์์ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์, ์์ ํ๊ฒ ์์ด์ ํธ ํ์ต์ ์งํํ ์ ์๋ค. ์ด๋ฅผ ํตํด ์ ํ๋ ๊ต์ก ์๊ฐ ๋ด์ ์์ ํ๊ฒ ์์ด์ ํธ์ ํ์ต์ ๋ง์น
์ ์๋๋ก ๋์์ค๋ค.
๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ๋ ํ๋ซํผ์ ํต์ฌ ์์ ์ค ํ๋์ธ ๊ฐํํ์ต ์์ด์ ํธ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์๋ Python์ ์ฌ์ฉ์ด ์๊ตฌ๋๋ค. ์ด๋ ๊ฐํํ์ต ๋ถ์ผ๋ฅผ ํฌํจํ
์ธ๊ณต์ง๋ฅ ์ฐ๊ตฌ๋ฅผ ์ํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ํ์ ํ๋ ์์ํฌ์ธ PyTorch[15], Tensorflow[16]๋ฑ์ด Python์ผ๋ก ๋ง๋ค์ด์ก๊ธฐ ๋๋ฌธ์ด๋ค.
2.2 LW-RCP
Sim-to-Real ๊ธฐ๋ฒ์ ํตํด ์์ฑ๋ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ์ ๋์์ ํ์ํ ์ผ์ ๋ฐ์ดํฐ๋ LW-RCP๋ฅผ ํตํด ํ๋ํ๋ค. RCP ์์คํ
์ ์ ์ด ์์คํ
์์ง๋์ด๋ค์ด ์ ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ค๊ณ ๋ฐ ๊ฒ์ฆํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ์๋ฏธํ๋ค[17,18].
ํด๋น ์์คํ
์ hardware interface๋ฅผ ๋ด๋นํ๋ ์ฅ์น์ Simulink์์ ์ฌ์ฉํ๋ library block์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๊ทธ๋ฆผ 1์ LW-RCP hardware interface ์ฅ์น์ ์ฌ์ง์ด๋ค. LW-RCP์ hardware interface๋ฅผ ํตํด ์ผ์์์ ๊ด์ธกํ ๋ฐ์ดํฐ๋ฅผ
PC๋ก ์ ์กํ ์ ์์ผ๋ฉฐ, PC์์ ๊ตฌ๋๋๋ Simulink ์ ์ด ๋ชจ๋ธ์ ์ฐ์ฐ ๊ฒฐ๊ณผ์ธ ์ ์ด๋์ ์ค๋ฌผ ์์คํ
์ ๊ตฌ๋๋ถ์ ์ธ๊ฐํ ์ ์๋ค. ํด๋น ๊ณผ์ ์
high-speed USBํต์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, ์ต๋ 2kHz์ ์ํ๋ง ์ฃผํ์๋ฅผ ๋ณด์ธ๋ค.
๊ต์ก์ ๋ฃ๋ ํ์๋ค์ LW-RCP library์์ ์ ๊ณตํ๋ block์ ์ด์ฉํ์ฌ ํ๋์จ์ด ์ ๊ทผ์ ๋ด๋นํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ฑํ๊ณ , Simulink์
โmatlab functionโ block์ผ๋ก ๊ตฌํ๋ ์ ๊ฒฝ๋ง์ผ๋ก ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ฅผ ๊ตฌ์ฑํ๋ค. ์ผ์ ๋ฐ์ดํฐ ์ธก์ ๊ณผ ์ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋๋ถ์ ์ ์ฉํ๋
hardware interface๊ฐ ํ์ํ ๋ถ๋ถ์ LW-RCP๊ฐ ๋ด๋นํ๊ณ , Simulink ๊ธฐ๋ฐ ์ ์ด๊ธฐ ๋ชจ๋ธ์ ์ฐ์ฐ์ PC๊ฐ ๋ด๋นํ๋ ๊ตฌ์กฐ๋ค. LW-RCP์
PC์ ๋์ ์๋ฆฌ๋ ๊ทธ๋ฆผ 2์ ๊ฐ๋ค.
๊ทธ๋ฆผ 1. LW-RCP02 hardware ์ฅ์น
Fig. 1. LW-RCP02 hardware unit
๊ทธ๋ฆผ 2. LW-RCP์ ๋์ ๋ฐฉ์
Fig. 2. Flow chart of LW-RCP operation
๊ทธ๋ฆผ 3. LW-RCP02 ์
์ถ๋ ฅ library block
Fig. 3. Input/Output library block of LW-RCP02
๊ทธ๋ฆผ 3์ RCP๊ฐ ์ ๊ณตํ๋ ์
์ถ๋ ฅ library block์ ๋ณด์ฌ์ค๋ค. ํด๋น block๋ค์ ๊ฐ๊ฐ ์
์ถ๋ ฅ ๊ธฐ๋ฅ์ ๋ด๋นํ๊ณ ์์ผ๋ฉฐ, ํ์๋ค์ ์ด๋ฅผ ํ์ฉํ์ฌ
ํ๋์จ์ด ์ ๊ทผ์ ํ์ํ ๊ธฐ๋ฅ์ ์์ฝ๊ฒ ๋ง๋ค ์ ์๋ค. ์ข์ธก ์ด์ block๋ค์ receive block์ผ๋ก, hardware interface๋ก๋ถํฐ
๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์๋ค. ์ฐ์ธก ์ด์ ์์นํ block๋ค์ hardware interface๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ํ Send block๋ค์ด๋ค.
๋ฐ๋ผ์ LW-RCP๋ฅผ ์ด์ฉํ ์ ์ด ์๊ณ ๋ฆฌ์ฆ์ Simulink์ block์ ํ์ฉํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋๋ฉฐ, ํ์๋ค์ด ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ๋ฅผ ์ ์ดํ๊ธฐ ์ํ code๋ฅผ
๋ง๋ค๊ณ ์ด๋ฅผ debugging ํ๋ ๊ณผ์ ์ ์์ ์ ์ด ์๊ณ ๋ฆฌ์ฆ ๊ตฌ์ฑ์๋ง ์ง์คํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
2.3 ํ๋ซํผ ๊ตฌ์กฐ
์ ์ํ๋ ๊ต์ก ํ๋ซํผ์ ์ค์๊ฐ์ผ๋ก ์ค๋ฌผ ์์คํ
์ ๋ฐ์ดํฐ ์ทจ๋ ๋ฐ ์ ์ก, ์์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ ์ด๋ ์ฐ์ฐ, ๊ทธ๋ฆฌ๊ณ ์ ์ด ์ ํธ์ ์
์ถ๋ ฅ์ ํฌํจํ๋ ์ผ๋ จ์
๊ณผ์ ์ ๊ตฌํํ๋ค. ์ด๋ฌํ ๊ณผ์ ์ ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์์ด์ ํธ์ ์์ฑ ๋ฐ ํ์ฉ์ ๋ชฉํ๋ก ํ๋ฉฐ, ๊ทธ๋ฆผ 4์ ๊ฐ๋
๋์ ๋ํ๋ 3๊ฐ์ง ์์คํ
์ ๊ฒฐํฉ์ ํตํด ์ด๋ฃจ์ด์ง๋ค.
๊ทธ๋ฆผ 4์ ๊ตฌ์ฑ๋์ ๋ฐ๋ฅด๋ฉด, LW-RCP๋ ์ผ์๋ฅผ ํตํด ๊ด์ธกํ ๋ฐ์ดํฐ๋ฅผ Matlab/Simulink ํ๊ฒฝ์ ์ ๋ฌํ๊ณ , ๋์์ ์ ์ด ์
๋ ฅ์ ์ค๋ฌผ ์์คํ
์ ๊ตฌ๋๊ธฐ์
์ธ๊ฐํ๋ค. Matlab/Simulink๋ ์ค๊ฐ์ ์์นํ์ฌ ์ค๋ฌผ ์์คํ
์ ์ค์๊ฐ ์ ์ด ์์คํ
์ ์ญํ ์ ์ํํ๋ค. Python์์๋ ๊ฐํํ์ต ์์ด์ ํธ์
ํ์ต์ด ์ด๋ฃจ์ด์ง๋ ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ์ด ๊ตฌํ๋์ด ์์ผ๋ฉฐ, ํ์ต ์๋ฃ๋ ์ ๊ฒฝ๋ง์ Matlab/Simulink์์ ์ฌ์ฉ ๊ฐ๋ฅํ ํ์์ผ๋ก ๋ณํ๋์ด ๊ฐํํ์ต
๊ธฐ๋ฐ ์ ์ด๊ธฐ ๊ตฌ์ฑ์ ์ฌ์ฉ๋๋ค.
๊ทธ๋ฆผ 4. ์ ์ํ๋ ํ๋ซํผ์ ๊ตฌ์ฑ๋
Fig. 4. Concept diagram of the proposed platform.
Python์์ Sim-to-Real ๊ธฐ๋ฒ์ ํตํด ํ์ต๋ ์ ๊ฒฝ๋ง๊ณผ ์ค๋ฌผ ์์คํ
์ ์ด๊ธฐ๊ฐ ๊ตฌํ๋ Matlab/Simulink๊ฐ ํตํฉ๋ ํ๋ซํผ์ ๊ตฌ์ฑํ๊ธฐ
์ํด MATLAB์์ ์ ๊ณตํ๋ โmatlab.engineโ๊ณผ Python API๋ฅผ ์ฌ์ฉํ๋ค. ํด๋น ๊ธฐ๋ฅ์ Matlab์ ๊ธฐ๋ฅ์ Python์์ ์ฌ์ฉํ
์ ์๋๋ก Matlab์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก ํด๋น API๋ฅผ ํตํด Python์ฝ๋ ๋ด๋ถ์์ Matlab ํจ์๋ฅผ ํธ์ถํ ์ ์์ผ๋ฉฐ, ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋
๊ฐ๋ฅํ๋ค. ๋ํ, Python๊ณผ Matlab๊ฐ์ ์์
๊ณต๊ฐ์ ์๋ก ์ ๊ทผํ์ฌ ์ ์ฅ๋ ๋ณ์๋ค์ ์ฌ์ฉํจ์ผ๋ก์จ ๋์ฑ ํจ์จ์ ์ธ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํด์ง๋ค. ์ด๋ฅผ ํตํด,
๋ณธ ์ฐ๊ตฌ์์๋ Python ํ๊ฒฝ์์ Sim-to-Real ๊ธฐ๋ฒ์ผ๋ก ํ์ต๋ ์ ๊ฒฝ๋ง์ ํ๋ผ๋ฏธํฐ ๊ฐ์ธ ๊ฐ์ค์น ๊ฐ๊ณผ ํธํฅ ๊ฐ์ Matlab/Simulink
ํ๊ฒฝ์์ ์ฌ์ฉ๊ฐ๋ฅํ ํ์ผ๋ก ์ ์ฅํ๋ค. ์ดํ ์ ์ฅ๋ ํ๋ผ๋ฏธํฐ ๊ฐ๋ค์ Matlab/Simulink ํ๊ฒฝ์์ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ก ์ฌ์ฉ๋๋ค[12].
์๊ธฐ๋ ์์๋ค์ ๊ฒฐํฉํ์ฌ Python๊ณผ Matlab/Simulink๊ฐ ๊ฒฐํฉ๋ ํํ์ ํ๋ซํผ์ ์งํ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค. ๋จผ์ , Python์์ ์์ฑ๋
๊ฐํํ์ต ์์ด์ ํธ๋ ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ์์ ํ์ต์ ์งํํ๊ฒ ๋๋ค. ํ์ต ๊ณผ์ ์ ์ฌ์ฉ์๊ฐ ์ค์ ํ ์ํผ์๋์ ์ข
๋จ ์๊ฐ์ ๋๊ฑฐ๋, ๋ฏธ๋ฆฌ ์ค์ ํ ํน์ ์ข
๋ฃ
์กฐ๊ฑด์ ๋ถํฉํ๋ ์ํฉ์ด ๋ฐ์ํ ๊ฒฝ์ฐ, ์๋ฎฌ๋ ์ด์
์ ์ข
๋ฃํ๋ค. ํ์ต์ด ์๋ฃ๋ ์์ด์ ํธ๋ ์์ ์ ํ๋ผ๋ฏธํฐ ๊ฐ๋ค์ Python API๋ฅผ ํตํด Matlab์
์์
๊ณต๊ฐ์ ์ ๋ฌํ๋ค. ์ดํ Simulink๋ก ์ ์ด ์์คํ
๋ชจ๋ธ ํ์ผ์ ์ ๋ฌ๋ฐ์ ํ๋ผ๋ฏธํฐ๋ค์ ๋งค๊ฐ ๋ณ์๋ก ์ฌ์ฉํ ์ฌ์ธต์ ๊ฒฝ๋ง ๋ธ๋ก์ ๊ตฌ์ฑํ๋ค. ์ฌ์ธต์ ๊ฒฝ๋ง์ผ๋ก
๊ตฌํ๋ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ์ ์ด ์ฐ์ฐ์ ์ํํ๊ณ ๊ทธ ์ถ๋ ฅ์ผ๋ก ์ ์ด๋์ ์ถ๋ ฅํ๊ฒ ๋๋ค. ์ถ๋ ฅ๋ ์ ์ด๋์ LW-RCP๋ฅผ ํตํด
์ค๋ฌผ ์์คํ
์ ๊ตฌ๋๊ธฐ์ ์ ๋ฌ๋์ด ์ค๋ฌผ ์์คํ
์ ์ด๋ฅผ ์ํํ๊ฒ ๋๋ค.
3. Pendubot์ ๋ชจ๋ธ ๋ฐฉ์ ์๊ณผ ๊ท ํ์
3.1 Pendubot์ ๋ชจ๋ธ ๋ฐฉ์ ์ ์ ๋
2์ฅ์์ ์ธ๊ธ๋ Sim-to-Real ํ์ต ๊ธฐ๋ฒ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ์์ ์ฌ์ฉ๋ pendubot์ ๋ชจ๋ธ ๋ฐฉ์ ์์ด ์๊ตฌ๋๋ค. ๋ฐ๋ผ์,
๋ณธ ์ ์์๋ pendubot์ ์ํ์ ๋ชจ๋ธ ๋ฐฉ์ ์์ ์ ๋ํ๋ค. ๊ทธ๋ฆผ 5๋ pendubot์ ๊ธฐ๊ตฌ์ ๊ฐ๋
๋๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ทธ๋ฆผ์์ ์ฌ์ฉ๋๋ ๋ณ์๋ค์ SI ๋จ์๊ณ๋ฅผ ๋ฐ๋ฅด๊ณ ์์ผ๋ฉฐ, ๊ทธ๋ฆผ 5์ ๊ธฐ์ ๋ ๋ณ์๋ค์ ์ธ๋ถ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
๊ทธ๋ฆผ 5. Pendubot์ ๊ธฐ๊ตฌ์ ๊ฐ๋
๋
Fig. 5. Mechanical conceptual diagram of pendubot
$T$๋ 1๋จ ๋งํฌ์ ๊ฐํด์ง๋ ํ ํฌ, $m_{1}$, $m_{2}$๋ ๊ฐ๊ฐ 1๋จ ๋งํฌ์ 2๋จ ๋งํฌ์ ์ง๋, $l_{1},\: l_{2}$๋ ๊ฐ๊ฐ
1๋จ ๋งํฌ์ 2๋จ ๋งํฌ์ ํ์ ์ถ์ผ๋ก๋ถํฐ ๋ฌด๊ฒ ์ค์ฌ๊น์ง์ ๊ธธ์ด๋ฅผ ๋ํ๋ธ๋ค. $\theta_{1}$๋ ์ง๋ฉด์ ๋ฒ์ ๋ฐฉํฅ์ผ๋ก๋ถํฐ 1๋จ ๋งํฌ์ ํ์ ๋ณ์๋ฅผ
์๋ฏธํ๋ฉฐ, $\theta_{2}$๋ 2๋จ ๋งํฌ๊ฐ 1๋จ ๋งํฌ์ ์ด๋ฃจ๋ ์๋์ ์ธ ํ์ ๋ณ์๋ฅผ ์๋ฏธํ๋ค. $L_{1}$์ 1๋จ ๋งํฌ์ ํ์ ์ถ๋ถํฐ 2๋จ ๋งํฌ์
ํ์ ์ถ๊น์ง์ ๊ธธ์ด๋ฅผ ์๋ฏธํ๋ค. $c$๋ 2๋จ ๋งํฌ์ ํ์ ์ถ์ ์กด์ฌํ๋ ๋ง์ฐฐ๊ณ์๋ฅผ ์๋ฏธํ๋ฉฐ, $I_{1},\: I_{2}$๋ 1๋จ ๋งํฌ 2๋จ ๋งํฌ์
๊ด์ฑ ๋ชจ๋ฉํธ๋ค. $u$๋ 1๋จ ๋งํฌ์ ๊ฐ๊ฐ์๋๋ฅผ ์๋ฏธํ๋ฉฐ, $i,\: j,\: k$๋ 1๋จ ๋งํฌ์ ํ์ ์ถ์ ์ค์ฌ์ ์ผ๋ก ํ ์ง๊ฐ ์ขํ๊ณ์ ์ขํ์ถ๋ค์
์๋ฏธํ๋ค.
Pendubot์ ๋ชจ๋ธ ๋ฐฉ์ ์์ Euler-Lagrange Equation์ ์ด์ฉํ์ฌ ์ ๋ํ๋ฉด ์
(1)๋ก ๋ํ๋ผ ์ ์๋ค.
์ฌ๊ธฐ์ ์ (1)์ ๊ตฌ์ฑํ๋ ์์๋ ์ (2)์ ๊ฐ๋ค.
$h_{1}$~$h_{6}$๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ฉฐ, $g$๋ ์ค๋ ฅ๊ฐ์๋ $9.81[m/s^{2}]$๋ฅผ ๋ํ๋ธ๋ค.
์ (1)์ ์ฌ๋ฐฐ์ดํ๋ฉด, ์ (4)์ ํํ๋ก ์ ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
์ด ๋, 1๋จ ๋งํฌ์ ๊ฐ๊ฐ์๋ $\ddot{\theta}_{1}$์ ์ ์ด์
๋ ฅ $u$๋ก ํ๋ ๊ฐ๊ฐ์๋ ๋ชจ๋ธ์ ์ ๋ํ๋ฉด pendubot์ ์ด๋๋ฐฉ์ ์์
์ (5)์ ํํ๋ก ๋ํ๋ผ ์ ์๋ค.
์ด ๋, ์ (5)๋ฅผ ๋ฐํ์ผ๋ก ๊ตฌํ ์ด๋๋ฐฉ์ ์์ ํตํด ์ํ๋ณ์๋ฅผ ๊ฐ๊ฐ $x_{1}=\theta_{1},\: x_{2}=\theta_{2},\: x_{3}=\dot{\theta}_{1},\:
x_{4}=\dot{\theta}_{2}$๋ก ์ ์ํ๋ฉด ์ต์ข
์ ์ผ๋ก pendubot์ ๋ชจ๋ธ๋ฐฉ์ ์์ ์ (6)๊ณผ ๊ฐ์ ๋น์ ํ ์ํ๊ณต๊ฐ ๋ฐฉ์ ์์ผ๋ก ๋ํ๋ผ ์ ์๋ค.
Pendubot์ ๋ชจ๋ธ์์ ๊ฐ ๋งํฌ์ ํ์ ์ถ์ ์ค์ฌ์ผ๋ก ํ ํ์ ์ด๋๋ง์ด ๋ฐ์ํ ์ ์๊ณ ๊ทธ ์ธ์ ์ง์ ๋ฐ ํ์ ์ด๋์ ๋ฐ์ํ์ง ์๋ ๊ฒ์ ๊ฐ์ ํ๋ค.
๋ชจ๋ธ์์์ ๊ณ ๋ คํ ๋ง์ฐฐ๋ ฅ์ ํ์ ์๋์ ์ ํ์ ์ธ ๊ด๊ณ๋ฅผ ๊ฐ๋ ํ์ ๋ง์ฐฐ๋ ฅ๋ง์ ๊ฐ์ ํ๋ฉฐ, coulomb ๋ง์ฐฐ์ ๊ณ ๋ คํ์ง ์๋๋ค.
3.2 Pendubot์ ๊ท ํ์
Pendubot์ 2๊ฐ์ ๋งํฌ๋ฅผ ๊ฐ๋ ํํ๋ก, 1๋จ ๋งํฌ์ 2๋จ ๋งํฌ์ ํ์ ๋ณ์์ ๋ฐ๋ผ ๋ค์ํ ๊ท ํ์ ์ ๊ฐ๋๋ค. ๊ท ํ์ ์ 2๋จ ๋งํฌ๊ฐ ๋ฐ๋ฅ์ ๋์ด์ง
์์ ์ ์ธ ์ํ์ ๋๋ฆฝ ์ํ๊ฐ ์์ผ๋ฉฐ, ๋ณธ ๋
ผ๋ฌธ์์๋ ๋๋ฆฝ ์ํ์ ๊ท ํ์ ๋ง์ ๋ค๋ฃฌ๋ค. ๊ทธ ์ค 1๋จ ๋งํฌ์ ๊ฐ๋ณ์์ ๋ฐ๋ผ $\theta_{1}=0,\:
\theta_{1}=-\dfrac{\pi}{6},\: \theta_{1}=\dfrac{\pi}{6}$์ธ ๋๋ฆฝ ์ํ์ ๊ท ํ์ ๋ง์ ์คํ์์ ๊ตฌํํ๋ค.
๊ทธ๋ฆผ 6์ ํด๋น ๊ท ํ์ ์ ์๊ฐํํ ๊ทธ๋ฆผ์ด๋ค.
๊ทธ๋ฆผ 6. Pendubot ์์คํ
์ ๊ท ํ์
Fig. 6. Equilibrium points of pendubot system.
4. ์คํ ๋ฐ ๊ฒฐ๊ณผ
๋ณธ ์ ์์๋ ์์ ์์ ํ ๋ชจ๋ธ ๋ฐฉ์ ์๊ณผ pendubot ์์คํ
์ ์ด์ฉํ์ฌ, Sim-to-Real ๊ธฐ๋ฒ์ ํ์ฉํ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ฅผ ์ค๊ณํ๊ณ ์ด๋ฅผ
์ค์ ์์คํ
์ ์ ์ฉํ์ฌ ์ ์ํ๋ ํ๋ซํผ์ ํจ์ฉ์ฑ์ ๊ฒ์ฆํ๋ค. ๋ณธ ์ ์ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋จผ์ ์๋ฎฌ๋ ์ด์
ํ๊ฒ
์ ๋ง๋ค๊ธฐ ์ํ ์ค์ ๊ณผ, ๊ฐํํ์ต ๊ธฐ๋ฐ
์ ์ด๊ธฐ๋ฅผ ๊ตฌํํ๋ ๊ณผ์ ์ ๋ํด ์์ ํ๋ค. ์ดํ, ์คํ ํ๊ฒฝ ๋ฐ ์คํ ๊ฒฐ๊ณผ์ ๋ํด ์์ ํ๋ค.
4.1 ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ ๋ฐ ์ค์
๊ฐํํ์ต ์์ด์ ํธ๊ฐ ํ์ต์ ์ํด ์ง์ ์ํธ์์ฉํ๋ ํ๊ฒฝ์ 3์ฅ์ ์์ ํ ๋ชจ๋ธ ๋ฐฉ์ ์์ ๋ฐํ์ผ๋ก Python์์ ์๋ฎฌ๋ ์ด์
์ผ๋ก ๊ตฌํํ์๋ค. ํด๋น ํ๊ฒฝ์
๊ตฌ์ถํ๋๋ฐ ์ฌ์ฉ๋ pendubot์ ๋ฌผ๋ฆฌ์ ํ๋ผ๋ฏธํฐ๋ ํ 1์ ๋์ด๋์ด ์์ผ๋ฉฐ, ๋น์ ํ ์๋ฏธ๋ถ ๋ฐฉ์ ์์ ํด๋ฅผ ๊ตฌํ๊ธฐ ์ํ solver๋ ode4 Runge-kutta ๋ฐฉ๋ฒ์ ์ ํํ์๋ค. ๋ณธ ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ์์
ํ์ต์ ์งํํ ๊ฐํํ์ต ์์ด์ ํธ๋ ํ์ต์ ์๋ฃํ ํ, 2์ฅ์์ ์ธ๊ธ๋ โmatlab.engineโ๊ณผ Python API๋ฅผ ํ์ฉํ์ฌ Matlab/Simulink์์
์ฌ์ฉ ๊ฐ๋ฅํ ํํ๋ก ๋ณํ๋์ด ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ์ ์ฌ์ฉ๋๋ค.
์๋ฎฌ๋ ์ด์
์ผ๋ก ๊ตฌ๋๋๋ ํ์ต ํ๊ฒฝ์์ ํ ์ํผ์๋์ ๊ธธ์ด๋ 10์ด๋ก ์ค์ ๋์๊ณ , ์๋ฎฌ๋ ์ด์
์ 1ms ์ฃผ๊ธฐ๋ก ์
๋ฐ์ดํธ๊ฐ ์ด๋ฃจ์ด์ง๋ฉฐ, ์์ด์ ํธ๋ 10ms
๋ง๋ค ์ํ์ ๋ณด๋ฅผ ๊ด์ธกํ๋ค. ๋ฐ๋ผ์ ์์ด์ ํธ๋ ํ ์ํผ์๋๋น ํ๊ฒฝ๊ณผ ์ต๋ 1000๋ฒ ์ํธ์์ฉ์ ํ๊ฒ ๋๊ณ , ๋งค ์ํธ์์ฉ ์์ ์ ๋ณด์์ ๋ฐํ์ผ๋ก ์์ ์
ํ๋ ์ ์ฑ
์ ๊ฐ์ ํ๋ค. ์ถ๊ฐ์ ์ผ๋ก 1000๋ฒ์ ์ํธ์์ฉ์ด ์ด๋ฃจ์ด์ก๊ฑฐ๋ 1๋จ ๋งํฌ์ ๊ฐ์๋์ ์ ๋๊ฐ์ธ $\left |\dot{\theta}_{1}\right
|$์ด $25 rad/s$์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ ํ์ต์ด ์ข
๋ฃ๋๋ค. pendubot์ ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ์์ ๊ด์ธก ๊ฐ๋ฅํ ์ํ ์ ๋ณด๋ 3์ฅ์ ๊ธฐ์ ๋ ๋น์ ํ ์ํ๋ฐฉ์ ์์
๋ฐ๋ผ <$\theta_{1},\: \theta_{2},\: \dot{\theta}_{1},\: \dot{\theta}_{2}$>๋ก ๊ตฌ์ฑ๋๋ค. ์ด๋
$\theta_{1},\: \theta_{2}$๋ ๋ณด์ํจ์์ ์ํํ ์ค๊ณ๋ฅผ ์ํด ๋๋จธ์ง ์ฐ์ฐ์ ์ ์ฉํ์ฌ $-\pi <\theta <\pi$์ ๋ฒ์๋ก
์ ํํ๋ค. ์ถ๊ฐ์ ์ผ๋ก, $\theta_{1},\: \theta_{2}$๋ ํ์ต ๊ณผ์ ์์ ์ ๊ทํ์ ์ฐ์์ฑ์ ์ด์ ์ ์ป๊ธฐ ์ํด $\sin(\theta_{i}),\:
\cos(\theta_{i})$์ ํํ๋ก ์ฌ๊ตฌ์ฑํ๋ค.
๊ทธ๋ฆฌ๊ณ 3์ฅ์์ ์ธ๊ธํ 3๊ฐ์ง ๊ท ํ์ ์ $\tau\in\left\{-\dfrac{\pi}{6},\: 0,\: \dfrac{\pi}{6}\right\}$๋ก
์ ์ํ๋ค. $\tau$์ ๊ฐ ์์๋ 3๊ฐ์ ๊ท ํ์ ๊ณผ ์ผ๋์ผ ๋์๋๋ฉฐ, ํด๋น ๊ฐ์ ๋ฐ๋ผ ์์ด์ ํธ๋ ์์ ์ด ์ด๋ ๋ชฉํ ๊ท ํ์ ์ผ๋ก ์ด๋ํด์ผ ํ๋์ง ์ ์
์๊ฒ ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๊ฐํํ์ต ์์ด์ ํธ๊ฐ ๋งค timestep๋ง๋ค ๊ด์ธกํ๋ ์ฌ๊ตฌ์ฑ๋ ์ํ ์ ๋ณด๋ <$\sin(\theta_{1}),\: \cos(\theta_{1}),\:
\sin(\theta_{2}),\: \cos(\theta_{2}),\: \dot{\theta}_{1},\: \dot{\theta}_{2},\: \tau$>๋ก
๊ตฌ์ฑ๋ 7๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋๋ค. ๊ฐํํ์ต ์์ด์ ํธ๋ ํด๋น ์ํ ์ ๋ณด๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ์ ํ๋ ์ ์ฑ
์ ๋ฐ๋ฅธ ํ๋์ธ ์ ์ด๋์ ์ถ๋ ฅํ๊ฒ ๋๋ค. ์ด๋ ์ถ๋ ฅ๋๋
์ ์ด๋์ ๋ชจํฐ์ ๊ฐ๊ฐ์๋ ๊ฐ $u$์ด๋ฉฐ, ์ค์ ์์คํ
๊ตฌ๋๊ธฐ์ ํ๊ณ๋ฅผ ๊ณ ๋ คํ์ฌ $-100<u<100$์ผ๋ก ์ ํํ๋ค.
ํ 1 ์คํ์ ์ฌ์ฉ๋ pendubot์ ํ๋ผ๋ฏธํฐ
Table 1 Parameters of the pendubot used in the experiment
Parameter
|
Value
|
$L_{1}$
|
0.1645 [m]
|
$I_{2}$
|
7.9454e-04 [kgm2]
|
$m_{2}$
|
0.1592 [kg]
|
$l_{2}$
|
0.1512 [m]
|
$c$
|
1.6626e-05
|
4.2 ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ ๊ตฌํ
4.2.1 ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ
๋ณธ ์ฐ๊ตฌ์์ ์ฌ์ฉ๋๋ ๊ฐํํ์ต ์์ด์ ํธ๋ Truncated Quantile Critics(TQC) ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ตฌํ๋์๋ค[19]. TQC ์๊ณ ๋ฆฌ์ฆ์ ์ฐ์์ ํ๋ ๊ณต๊ฐ์ ๋์์ผ๋ก ํ ์ ์ฑ
์ต์ ํ ๋ฌธ์ ์ ํจ๊ณผ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ๊ธฐ์กด Quantile Regression DeepQ-Network(QR-DQN)[20], Soft-Actor-Critic[21] ์๊ณ ๋ฆฌ์ฆ์ ์ฅ์ ๋ค์ ๊ฒฐํฉํ์ฌ ๊ณผ๋ํ๊ฐ ๋ฌธ์ ๋ฅผ ์ํํ๊ณ , ๋ ์ ๋ฐํ ๋ณด์ ๋ถํฌ ์ถ์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ์ด๋ฅผ ํตํด ์๊ณ ๋ฆฌ์ฆ์ด ๊ทน๋จ์ ์ผ๋ก ๋์ ๋ณด์์
๊ธฐ๋ํ๋ ํ๋์ ์ ํํ๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ ๋์ฑ ํ์ค์ ์ธ ๊ธฐ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฑ
์ ๊ฒฐ์ ํ๋๋ก ์ ๋ํ๋ค. ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๊ธฐ ์ํด ์ฌ์ฉ๋ ํ์ดํผ ํ๋ผ๋ฏธํฐ
๊ฐ๋ค์ ํ 2์์ ํ์ธํ ์ ์๋ค.
TQC ์๊ณ ๋ฆฌ์ฆ์ ํตํด ๊ตฌํ๋ ๊ฐํํ์ต ์์ด์ ํธ๋ Python์ผ๋ก ๊ตฌํ๋ pendubot ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ๊ณผ ์ง์์ ์ธ ์ํธ์์ฉ์ ํ๋ฉฐ swing-up
์ ์ด๋ฅผ ์ํ ๊ธฐ๋ฒ์ ํ์ตํ๋ค. ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๋๋ฐ ์ฌ์ฉ๋ ํ์ดํผ ํ๋ผ๋ฏธํฐ ๊ฐ๋ค์ ํ 2์์ ํ์ธํ ์ ์๋ค. ์ฐธ๊ณ ๋ฌธํ [19]์ ๋ฐ๋ฅด๋ฉด, Number of ciritics์ธ $N$์ด 3์ผ ๋์ ํ์ต ๊ฒฐ๊ณผ๊ฐ $N=5,\: N=10$์ผ ๋์ ํ์ต ๊ฒฐ๊ณผ์ ์ ์ฌํ๋ฏ๋ก $N=3$์ผ๋ก
์ ์ ํ์ฌ ํ์ต์ ์งํํ๋ค. ๋ํ, 3๊ฐ์ง ๊ท ํ์ ์ ๋ํ ์ ์ด๋ฅผ ๋ชจ๋ ํ์ต์ํค๊ธฐ ์ํด ์ ์ด๊ธฐ์ ํด๋นํ๋ policy network์ size๋ ํค์ ๋ค.
์ด ์ธ์ ๊ฐ๋ค์ ๋ชจ๋ ์ฐธ๊ณ ๋ฌธํ [19]์ ์ ์๋ค๊ณผ ๋์ผํ ํ์ดํผ ํ๋ผ๋ฏธํฐ ๊ฐ๋ค์ ์ฌ์ฉํ๋ค.
ํ 2 ๋ณธ ์คํ์ ์ฌ์ฉ๋ ํ์ดํผ ํ๋ผ๋ฏธํฐ
Table 2 Hyperparameter that used in this experiment
HyperParameter
|
Value
|
Optimizer
|
Adam
|
Learning rate
|
0.0003
|
Discount factor ($\gamma$)
|
0.99
|
Replay buffer size
|
1e-6
|
Number of critics ($N$)
|
3
|
Number of hidden layers in critic networks
|
3
|
Size of hidden layers in policy networks
|
512
|
Size of hidden layers in 1st policy networks
|
2
|
Size of hidden layers in 2nd policy networks
|
400
|
Minibatch size
|
300
|
Nonlinearity
|
ReLU
|
Target smoothing coefficient ($\beta$)
|
0.005
|
Number of atoms ($M $)
|
25
|
4.2.2 ๋ณด์ํจ์ ์ค๊ณ ๋ฐ ํ์ต ๊ฒฐ๊ณผ
๊ฐํํ์ต ์์ด์ ํธ๋ ํ๊ฒฝ๊ณผ ์ํธ์์ฉ์ด ์ผ์ด๋๋ ์๊ฐ๋ง๋ค ๊ทธ ์์ ์ ๋ณด์์ ๊ธฐ๋ฐํ์ฌ ์์ ์ ํ๋ ์ ์ฑ
์ ๊ฐ์ ํ๋ค. ์ด๋ ๋ณด์ ๊ฐ์ ์ฐ์ถํ๊ธฐ ์ํด ์ฌ์ฉ๋๋
๋ณด์ํจ์๋ pendubot์ ์กด์ฌํ๋ ์ด๋ฒ ์คํ์ ์ฌ์ฉ๋ 3๊ฐ์ ๊ท ํ์ (equilibrium point) ์ค ์ด๋ค ๊ท ํ์ ์ ๋๋ฌํ ์ง์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
์ฌ๊ธฐ์ ๊ท ํ์ ์ 2๋จ ๋งํฌ๊ฐ ๋ฐ๋ฅ์ผ๋ก ๋์ด์ง ์์ ํ ๊ท ํ์ ๊ณผ ๋๋ฆฝ ์ํ์ ๊ท ํ์ ์ด ์์ผ๋ฉฐ, ๋ณธ ์คํ์์ ๊ตฌํํ๊ณ ์ ํ๋ ๊ท ํ์ ์ ๋๋ฆฝ ์ํ์ ๊ท ํ์ ์ด๋ค.
ํ 3์ ๋ชฉํ ๊ท ํ์ ์ ๋ํ๋ด๋ ๊ฐ์ธ $\tau$์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ๊ฐ ๋งํฌ์ ๊ฐ๋ $\theta_{i}^{*}$๋ฅผ ๋ํ๋ด๊ณ , ๋ณด์ํจ์๋ ์ (7)์ ํํ๋ก ๋ํ๋ธ๋ค.
ํ 3 ๋ชฉํ ๊ท ํ์ ์ ๋ฐ๋ฅธ ๊ฐ ๋งํฌ์ ๊ฐ๋
Table 3 Each linkโs angle according to target equilibrium point
$\tau$
|
target angle
|
$\theta_{1}^{*}$
|
$\theta_{2}^{*}$
|
$-\dfrac{\pi}{6}$
|
$-\dfrac{\pi}{6}$
|
$\dfrac{\pi}{6}$
|
$0$
|
$0$
|
$0$
|
$\dfrac{\pi}{6}$
|
$\dfrac{\pi}{6}$
|
$-\dfrac{\pi}{6}$
|
์ต์ข
์ ์ธ ๋ณด์ ํจ์๋ ๊ฐ ์์๋ฅผ ๋ชจ๋ ๊ณฑํ ํํ๋ก ํํ๋๋ค.
๋ณด์ํจ์๋ฅผ ์ด๋ฃจ๋ ๊ฐ๊ฐ์ ์์๋ ๊ทธ๋ฆผ 7์์ ํ์ธํ ์ ์์ผ๋ฉฐ, ๋ชจ๋ ์์๋ค์ [0, 1]์ ๊ฐ์ผ๋ก ์ ๊ทํ ๋์ด์๋ค. ๋ฐ๋ผ์ ํด๋น ์์๋ค์ ๊ณฑ๋ค๋ก ์ด๋ฃจ์ด์ง $Reward$ ๋ํ [0, 1]์
๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ค. ์ด๋ ํ ์ํผ์๋๋ ์ต๋ 1000๊ฐ์ timestep์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฏ๋ก, ํ ์ํผ์๋์์ ์ป์ ์ ์๋ ์ต๋ ๋ณด์์ 1000์ด
๋๋ค. ์ด๋, ๋๋ฌํ๊ณ ์ ํ๋ ๊ท ํ์ ์ ๊ฐ๋์ ๋ฐ๋ผ ๋ณํ๋ ๊ฐ์ธ $\tau$์ ๋ฐ๋ผ ๋ณํ๋ ๊ฐ์ธ $\theta_{i}^{*}$๋ฅผ ํฌํจํ์ง ์๋
๊ทธ๋ฆผ 7. ๋ณด์ํจ์ ๊ทธ๋ํ
Fig. 7. Reward function graph
๊ทธ๋ฆผ 8. ํ์ต ๊ฒฐ๊ณผ ๊ทธ๋ํ
Fig. 8. Learning results graph
$R_{\dot{\theta}_{1}},\: R_{\dot{\theta}_{2}}$๋ 0์ ์๋ ดํ ์๋ก ๋ณด์์ด ์ฆ๊ฐํ๋ ํํ๋ฅผ ๊ฐ๋๋ก ํ๋ค. ์ด๋ฅผ
ํตํด pendubot์ ๊ท ํ์ ์ ์ต์ํ์ ์์ง์์ ๊ฐ๋๋ก ํ์ฌ ์ต์์ ์ ์ด๋์ ๊ฐ๋๋ก ํ๋ค. $\theta_{i}^{*}$์ ๋ฐ๋ผ ๋ณด์์ด ๋ฌ๋ผ์ง๋
$R_{\theta_{1}},\: R_{\theta_{2}},\: R_{\tau}$๋ ๋ชฉํํ ๊ท ํ์ ์ ๊ฐ๊น์ธ์๋ก ๋์ ๋ณด์์ ๋ฐ๋๋ค. ์ด๋ฅผ ํตํด
์์ด์ ํธ๋ ์ํ ๋ณ์ $\tau$๋ก ๊ฒฐ์ ๋๋ ๋ชฉํ ๊ท ํ์ ์ ๋๋ฌํ๊ธฐ ์ํด ์์ ์ ํ๋ ์ ์ฑ
์ ๊ฐ์ ํ๋ค. ๊ทธ๋ฆผ 8์ ์์ ์ค๋ช
๋ ์กฐ๊ฑด์์ ๋งค ์ํผ์๋๋ง๋ค $\tau$๊ฐ์ ๋ณํ๋ฅผ ์ฃผ๋ฉฐ ๋ฐ๋ณต์ ์ธ ํ์ต์ ์งํํ ๊ฒฐ๊ณผ๋ค.
4.3 ์คํ ํ๊ฒฝ
์ ์ํ๋ ํ๋ซํผ์ ํจ์ฉ์ฑ์ ๊ฒ์ฆํ๊ธฐ ์ํ ์คํ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋จผ์ , pendubot์ด $\theta_{1}=0$์ธ ๊ท ํ์ ์ผ๋ก ์ด๋ํ๋ swing-up
์ ์ด๋ฅผ ์ํํ ๋ค, ์ฐจ๋ก๋๋ก $\theta_{1}=-\dfrac{\pi}{6}$, $\theta_{1}=\dfrac{\pi}{6}$์ธ ๊ท ํ์ ์ผ๋ก ์ด๋ํ๋
์ฒ์ด์ ์ด๋ฅผ ์ํํ๋ค. ๋ง์ง๋ง์ผ๋ก $\theta_{1}=0$์ธ ๊ท ํ์ ์์ ์ธ๋์ ์ธ๊ฐํด 2๋จ ๋งํฌ๊ฐ ๊ท ํ์ ์ ์ดํํ์ ๋, ์๋์ ๊ท ํ์ ์ผ๋ก ๋์์ค๋
Recovery ํน์ฑ[13]์ ํ์ธํ๋ค.
๊ทธ๋ฆผ 9๋ ํ๋ซํผ์ ํจ์ฉ์ฑ ๊ฒ์ฆ ์คํ์ธ pendubot ์ ์ด ์คํ์ ์ํ Simulink ๋ชจ๋ธ์ด๋ฉฐ, ๊ทธ๋ฆผ 10์ hardware interface ๊ธฐ๋ฅ์ LW-RCP์ library block์ผ๋ก ๊ตฌํํ ๋ชจ์ต์ด๋ค.
๊ทธ๋ฆผ 9. Pendubot ์์คํ
์ ์ด ์คํ Simulink ๋ชจ๋ธ
Fig. 9. Pendubot system control experiment Simulink model
๊ทธ๋ฆผ 10. Hardware interface Simulink ๋ชจ๋ธ
Fig. 10. Hardware interface Simulink model
๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ matlab function block์ผ๋ก ๊ตฌํ๋์์ผ๋ฉฐ, ์ด๋ ํ์๋ค์ด ์ฌ์ฉํ ์ ์๋๋ก library block์ ํํ๋ก
์ ๊ณต๋๋ค. ํด๋น ์ ์ด๊ธฐ๋ pendubot์ 4๊ฐ์ง ์ํ๋ณ์, ๋ชฉํ ๊ท ํ์ , ์ ์ด๋์ ์
๋ ฅ์ผ๋ก ๋ฐ๋๋ค. ๋ชจ๋ ์ํ๋ณ์ ๊ฐ๋ค์ ๊ทธ๋ฆผ 10์ receive block์ ํตํด ์์ง๋๋ฉฐ, ๋ชฉํ ๊ท ํ์ ์ ์ฌ์ฉ์์ ์ง๊ด์ ์ธ ์ดํด๋ฅผ ์ํด 60๋ถ๋ฒ์ผ๋ก ํํ๋ ๊ฐ๋๋ฅผ ํธ๋๋ฒ์ผ๋ก ๋ณํํ์ฌ ์
๋ ฅ๋๋ค.
์ ์ด๊ธฐ๋ ์
๋ ฅ๋ ์ ๋ณด๋ค์ ๋ฐํ์ผ๋ก 1๋จ๋ถ ๋งํฌ์ ํ์ ๊ฐ๊ฐ์๋์ธ $\ddot{\theta}_{1}$์ ์ถ๋ ฅํ๋ฉฐ, ์ด๋ ์ ๋ถ๋์ด ๊ตฌ๋๋ถ ๋ชจํฐ์ ์๋
์ง๋ น์น๋ก ์ฌ์ฉ๋๋ค. ๊ตฌ๋๋ถ ๋ชจํฐ๋ PI ์๋ ์ ์ด๊ธฐ๋ฅผ ํตํด ์ ์ด๋๋ฉฐ, ๋ชจํฐ ๊ตฌ๋์ ์ํ PWM ์ ํธ๋ ๊ทธ๋ฆผ 10์ Send block์ ํตํด ์ถ๋ ฅ๋๋ค.
4.4 ์คํ ๊ฒฐ๊ณผ
๊ทธ๋ฆผ 11์ pendubot ์ ์ด ์คํ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ฐ๊ตฌ์ค Youtube ์์์ ์ผ๋ถ๋ค. ์ค์ Youtube ์์์ ์ฃผ์๋https://youtu.be/G9ik_Ha4E70
์ด๋ค. (์์ ์ ๋ชฉ : Sim-to-real reinforcement learning control of a pendubot, Channel ์ด๋ฆ:
Embedded Control Lab.) ๊ทธ๋ฆผ 12๋ 4.3์ ์์ ์ธ๊ธ๋ swing-up ๋ฐ ์ฒ์ด ์ ์ด, Recovery ํน์ฑ์ ๊ดํ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋ํ๋ก ๋ํ๋ธ ๊ฒ์ด๋ค. ๊ทธ๋ํ์ x์ถ์ ์๊ฐ์,
y์ถ์ ๊ฐ๊ฐ $\theta_{1},\: \theta_{2}$๋ฅผ ๋ํ๋ธ๋ค. swing-up ๋ฐ ์ฒ์ด์ ์ด ์คํ์์๋ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๊ฐ pendubot์ด
๋ชฉํ ๊ท ํ์ ์ผ๋ก ์ด๋ํ๋๋ก swing-up๊ณผ ์ฒ์ด์ ์ด๋ฅผ ์ํํ๋ฉฐ, ํ๊ท ์ ์ผ๋ก $0.02[rad]$์ ์ค์ฐจ๋ฅผ ๊ฐ์ง๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๊ทธ๋ฆผ 12์์ ์ ์ ์ผ๋ก ํ๊ธฐ๋ ์์ ์ ์ธ๋์ด ๊ฐํด์ง ์๊ฐ์ ๋ํ๋ด๋ฉฐ, ์คํ ์์ ํ ์ฝ 17์ด๊ฒฝ์ ์ธ๋์ ์ธ๊ฐํ๋ค. ์ธ๋์ด ๊ฐํด์ง ์ดํ, ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๊ฐ
$\theta_{1}=0$์ธ ๊ท ํ์ ์ผ๋ก์ swing-up ์ ์ด๋ฅผ ์๋ํ์ฌ ๋ชฉํ ๊ท ํ์ ์ผ๋ก ํ๋ณตํ๋ Recovery ํน์ฑ์ ํ์ธํ ์ ์๋ค. ์์๊ณผ
๊ทธ๋ํ๋ฅผ ํตํด ํ์ธํ ์ ์๋ฏ ๋ค์ํ ์คํ์ ์์ฝ๊ฒ ์ํํ ์ ์์์ผ๋ฉฐ, ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ์ Recovery ํน์ฑ์ ์ง์ ํ์ธํ ์ ์์๋ค. ์ด๋ฅผ
ํตํด, ์ ์ํ ํ๋ซํผ์ ํจ์ฉ์ฑ์ ๊ฒ์ฆํ ์ ์์๋ค.
๊ทธ๋ฆผ 11. ์คํ ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๋ Youtube ์์
Fig. 11. Youtube video for the experiment
๊ทธ๋ฆผ 12. Pendubot ์ ์ด ์คํ ๊ฒฐ๊ณผ
Fig. 12. Result of pendubot control experiment
5. ๊ฒฐ ๋ก
๋ณธ ๋
ผ๋ฌธ์์๋ Python๊ณผ LW-RCP๋ฅผ ์ด์ฉํ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด ๊ต์ก ํ๋ซํผ์ ์ ์ํ๊ณ ๊ทธ ํจ์ฉ์ฑ์ ๊ฒ์ฆํ๊ณ ์ ํ๋ค. ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ฅผ
๊ตฌ์ฑํ๋ ์ ๊ฒฝ๋ง์ Python์์ Sim-to-Real ๊ธฐ๋ฒ์ ํตํด ํ์ต๋์์ผ๋ฉฐ, ํ์ต์ด ๋๋ ์ ๊ฒฝ๋ง์ Matlab/Simulink ํ๊ฒฝ์ ํธํ๋๋
ํํ๋ก ๋ณํ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ฌผ ์์คํ
์ ์ด๋ฅผ ์ํ Simulink ๋ชจ๋ธ์ ํฌ๊ฒ ๊ตฌ๋๋ถ ์ ์ด๋ฅผ ๋ด๋นํ๋ ๋ถ๋ถ๊ณผ ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ก ๋๋๋๋ฐ, ๊ตฌ๋๋ถ
์ ์ด๋ LW-RCP์์ ์ ๊ณตํ๋ library block์ผ๋ก ๊ตฌ์ฑ๋์์ผ๋ฉฐ, ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ matlab function block์ผ๋ก ๊ตฌํ๋
์ ๊ฒฝ๋ง์ผ๋ก ์ ์๋์๋ค.
์ดํ, ํด๋น ํ๋ซํผ์ ํจ์ฉ์ฑ ๊ฒ์ฆ์ ์ํ pendubot ์ ์ด ์คํ์ ์ํํ ๊ฒฐ๊ณผ, swing-up ๋ฐ ์ฒ์ด ์ ์ด, Recovery ํน์ฑ ์คํ ๋ชจ๋
์ฑ๊ณต์ ์ธ ๊ฒฐ๊ณผ๊ฐ ๋์์์ ํ์ธํ ์ ์์๋ค. ์ด๋ฅผ ํตํด ๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ๋ ํ๋ซํผ์ด ๊ฐํํ์ต ๊ธฐ๋ฐ ์ ์ด ๊ต์ก์ ์ฌ์ฉ๋ ์ ์์์ ํ์ธํ ์ ์์๋ค.
๋ฐ๋ผ์, ๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ๋ ํ๋ซํผ์ ํตํด ๊ฐํํ์ต์ ์ค๋ฌผ ์์คํ
์ ์ ์ฉํ๋ ๊ต์ก๊ณผ์ ์ด์์ ํฐ ๋์์ ์ค ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๋ค.
Acknowledgements
์ด ์ฑ๊ณผ๋ ์ ๋ถ(๊ณผํ๊ธฐ์ ์ ๋ณดํต์ ๋ถ)์ ์ฌ์์ผ๋ก ํ๊ตญ์ฐ๊ตฌ์ฌ๋จ์ ์ง์์ ๋ฐ์ ์ํ๋ ์ฐ๊ตฌ์(RS-2024-00347193).
References
D. Silver, et al., โMastering the game of Go with deep neural networks and tree search,โ
Nature, vol. 529, no. 7587, pp. 484-489, 2016. DOI:10.1038/nature16961

L. P. Kaelbling, M. L. Littman, A. W. Moore, โReinforcement learning: A survey,โ Journal
of artificial intelligence research, vol. 4, pp. 237-285, 1996. DOI:10.1613/jair.301

B. Osiลski et al., โSimulation-Based Reinforcement Learning for Real-World Autonomous
Driving,โ 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris,
France, pp. 6411-6418, 2020. DOI:10.1109/ICRA40945.2020.9196730

T. Miki, J. Lee, J. Hwangbo, L. Wellhausen, V. Koltun, M. Hutter, โLearning robust
perceptive locomotion for quadrupedal robots in the wild,โ Science robotics, vol.
7, no. 62, eabk2822, 2022. DOI:10.1126/scirobotics.abk2822

S. A, A. N. Rafferty, et al., โReinforcement learning for education: Opportunities
and challenges,โ arXiv preprint arXiv:2017.08828, 2021. DOI:10.48550/arXiv.2107.08828

B. Fahad Mon, A. Wasfi, et al., โReinforcement Learning in Education: A Literature
Review,โ Informatics, vol. 10, no. 3, pp. 74-95, 2023. DOI:10.3390/informatics10030074

H. Gharbi, L. Elaachak, A. Fennan, โReinforcement Learning Algorithms and Their Applications
in Education Field: A Systematic Review,โ The Proceedings of the International Conference
on Smart City Applications, pp. 410-418, 2023. DOI:10.1007/978-3-031-54376-0_37

H. Shin, and H. Oh, โNeural Network Model Compression Algorithms for Image Classification
in Embedded Systems,โ The Journal of Korea Robotics Society, vol. 17, no. 2, pp.
133-141, 2022. DOI:10.7746/jkros.2022.17.2.133

W. Zhao, J. P. Queralta, and T. Westerlund, โSim-to-Real Transfer in Deep Reinforcement
Learning for Robotics: a Survey,โ 2020 IEEE Symposium Series on Computational Intelligence
(SSCI), pp. 737-744, 2020. DOI:10.1109/SSCI47803.2020.9308468

M. A. Perez-Cisneros, R. Leal-Ascencio, and P. A. Cook, โReinforcement learning neurocontroller
applied to a 2-DOF manipulator,โ Proceeding of the 2001 IEEE International Symposium
on Intelligent Control (ISICโ01), pp. 56-61, 2001. DOI:10.1109/ISIC.2001.971484

Y. Cheng, P. Zhao, F. Wang, D. J. Block, and Hovakimyan, โImproving the Robustness
of Reinforcement Learning Policies With L1 Adaptive Control,โ IEEE Robotics and Automation
Letters, vol. 7, no. 3, pp. 6574-6581, 2022. DOI:10.1109/LRA.2022.3169309

T. Lee, D. Ju, and Y. S. Lee, โDevelopment Environment of Reinforcement Learning-based
Controllers for Real-world Physical Systems Using LW-RCP,โ Journal of Institute of
Control, Robotics and Systems (in Korean), vol. 29, no. 7, pp. 543-549, 2023. DOI:10.5302/J.ICROS.2023.23.0045

T. Lee, D. Ju, and Y. S. Lee, โSim-to-Real Reinforcement Learning Techniques for Double
Inverted Pendulum Control with Recovery Property,โ The transactions of The Korean
Institute of Electrical Engineers (in Korean), vol. 72, no. 12, pp. 1705-1713, 2023.
DOI:10.5370/KIEE.2023.72.12.1705

G. Dulac-Arnold, N. Levine, D. J. Mankowits, J. Li, C. Paduraru, S. Gowal, and T.
Hester, โChallenges of real-world reinforcement learning: definitions, benchmarks
and analysis,โ Machine Learning, vol. 110, no. 9, pp. 2419-2648, 2021. DOI:10.1007/s10994-021-05961-4

A. Paszke, S. Gross, F. Massa, and et al., โPytorch: An impressive style, high-performance
deep learning library,โ Advances in Neural Information Processing Systems, vol. 32,
2019.

M. Abadi, P. Barham, J. Chen, and et al., โTensorflow: A system for large-scale machine
learning,โ Osdi, vol. 16, no. 2016, pp 265-283, 2016.

Y. S. Lee, D. Ju, C. Choi, โDevelopment of Educational Environment to Improve Efficiency
of Online Education on Control Systems,โ Journal of Institute of Control, Robotics
and Systems (in Korean), vol. 27, no. 12, pp. 1056-1063, 2021. DOI:10.5302/J.ICROS.2021.21.0199

Y. Fujiyama, D. Ju and Y. S. Lee, โThe Implementation of a Ball and Plate System using
a 3-DOF Stewart Platform and LW-RCP,โ The transactions of The Korean Institute of
Electrical Engineers (in Korean), vol. 72, no. 8, pp. 943-951, 2023. DOI:10.5370/KIEE.2023.72.8.943

A. Kuznetsov, P. Shvechikov, A. Grishin and D. Vetrov, โControlling overestimation
bias with truncated mixture of continuous distributional quantile critics,โ in International
Conference on Machine Learning, PMLR, pp. 5556-5566, 2020.

W. Dabney, M. Rowland, M. Bellemare, and Munos R, โDistributional reinforcement learning
with quantile regression,โ in Proceedings of the AAAI conference on artificial intelligence,
vol. 32, no. 1, pp. 2892-2901, 2018. DOI:10.1609/aaai.v32i1.11791

T. Haarnoja, A. Zhou, P. Abbeel, and S. Levine, โSoft actor-critic: Off-policy maximum
entropy deep reinforcement learning with a stochastic actor,โ International conference
on machine learning. PMLR, pp. 1861-1870, 2018.

์ ์์๊ฐ
He received B.S. degree in electrical engineering from Inha university in 2024. He
is now a M.S. candidate in electrical and computer engineering at Inha university.
His research interests include optimal control, reinforcement learning and embedded
systems.
He received B.S. degree in electrical engineering from Inha university in 2023. He
is now a M.S. candidate in electrical and computer engineering at Inha university.
His research interests include reinforcement learning, embedded systems and optimal
control.
He received M.S. degree in electrical and computer engineering from Inha university
in 2023. He is now a Ph.D. candidate in electrical and computer engineering at Inha
university. His research interests include optimal control, embedded systems and reinforcement
learning.
์ด์์ผ (Young Sam Lee)
He received B.S. and M.S. degrees in electrical engineering from Inha University,
Incheon, South Korea, in 1999, and the Ph.D. degree in electrical engineering from
Seoul National University, South Korea, in 2003. From 2003 to 2004, he was a Senior
Researcher with Samsung Electronics Co. Since 2004, he has been with the Department
of Electrical and Computer Engineering, Inha University. He is the author of four
books and more than 60 articles. His research interests include computer- aided control
system designs, rapid control prototyping, control and instrumentation, robot engineering,
and embedded systems.