ꡬμΈμ
(Sewan Gu)
1iD
μ€λμ
(Dongweon Yoon)
β iD
-
(Dept. of Electronics and Computer Engineering, Hanyang University, Korea
E-mail:swgu@hanyang.ac.kr)
Copyright Β© The Korean Institute of Electrical Engineers(KIEE)
Key words
Networked Control System, Self-Balancing Robot, Public Cloud, ROS2, Container, Docker, Kubernetes, Google Cloud Platform
1. μ λ‘
λ€νΈμν¬ μ μ΄ μμ€ν
(Networked Control System)μ ν΅μ λ€νΈμν¬λ₯Ό ν΅ν΄ μ μ΄ λμ λͺ¨λΈκ³Ό μ격 μ μ΄κΈ°λ₯Ό μ°κ²°νμ¬ μ격 μ μ΄κΈ°κ°
λͺ¨λΈμ μΌμκ°μ μμ νκ³ μ μ΄ μ°μ°μ μνν ν μ μ΄ λͺ
λ Ήμ λͺ¨λΈμ μ μ‘νλ μΌμ’
μ ν루ν μ μ΄ μμ€ν
μ΄λ€ [1]. ν΄λΌμ°λ κΈ°μ μ λ°μ μΌλ‘ λ€νΈμν¬ μ μ΄κΈ°λ₯Ό ν΄λΌμ°λ μμμ ꡬννμ¬ μ€μκ° μ μ΄λ₯Ό μ€ννκ³ ν΄λΌμ°λλ₯Ό νμ©νμ¬ λ‘λ΄κ³Ό μλν μ₯λΉλ₯Ό μ°κ²°νλ μ°κ΅¬κ°
λ³΄κ³ λκ³ μλ€ [2]-[4].
μ΄ λ, ν΄λΌμ°λ μ μ©μ μν ν΅μ¬ κΈ°μ μ€ νλλ κ°μν κΈ°μ λ‘, μ»΄ν¨ν° μμμ 곡μ νμ§λ§ κΈ°λ₯λ³λ‘ λ
립μ μΈ μ΄μ체μ λ₯Ό μ μ§ν μ μλ λ컀 컨ν
μ΄λ(Docker
Container) λ°©μμ΄ μλ€. μ΄λ¬ν λ컀 컨ν
μ΄λ κΈ°μ μ λ‘컬μμλ§ μ΄μνλ λ§μ κΈ°μ κ³Ό μμ©λ€μ ν΄λΌμ°λμμ ꡬννμ¬ λΆμ°μ²λ¦¬, μ격 κ΄λ¦¬,
μλ μ
λ°μ΄νΈ, μ₯μ νμ©(Fault Tolerance) λ±μ μλν μλΉμ€λ₯Ό κ°λ₯νκ² νλ€ [5].
λ³Έ λ
Όλ¬Έμμλ ν΄λΌμ°λ κΈ°μ μ νμ©ν μ€μκ° λ€νΈμν¬ μ μ΄ μμ€ν
μ μ μνκ³ , νΌλΈλ¦ ν΄λΌμ°λ(Public Cloud) κΈ°λ°μ μ€μ νκ²½κ³Ό λ‘λ΄ μμ€ν
μ
μ μ©νμ¬ κ΅¬νν ν μ±λ₯μ κ²μ¦νλ€. μ±λ₯μ κ²μ¦νκΈ° μν μ μ΄ λμ λͺ¨λΈλ‘ 2κ°μ λ°ν΄(Wheel)μ κ°λ μ
ν λ°Έλ°μ± λ‘λ΄(Two-Wheeled
Self-Balancing Robot)μ μ μν ν μ μν λ€νΈμν¬ μ μ΄ μμ€ν
μ ꡬλ μ±λ₯μ κ²μ¦νλ€.
μ
ν λ°Έλ°μ± λ‘λ΄μ μμΈ μ μ΄λ₯Ό μν΄μλ λΉλ‘λ―ΈλΆ μ μ΄κΈ°λ₯Ό μ‘°μ νμ¬ μ μ©νλ©°, ν΄λΌμ°λ λ€νΈμν¬ μ μ΄ μμ€ν
μ μ€νμν€κ³ μ΄μνλ νλ«νΌμΌλ‘λ μΏ λ²λ€ν°μ€λ₯Ό
μ±ννλ€ [6]. μ΄λ₯Ό ν΅ν΄ ν₯ν μλΉμ€λ‘μμ μ μ΄κΈ° (Control as a Service)λ₯Ό κ³ λ €ν μ μμΌλ©°, μ¬μ¬μ©μ± λ° μ μ΄κΈ° μ‘°μ λ λ§€μ° μ©μ΄νκ² ν
μ μμ κ²μ΄λ€ [7].
ννΈ, νΌλΈλ¦ ν΄λΌμ°λμ λ€νΈμν¬λ₯Ό ν΅ν΄ μ μ΄λλ μ
ν λ°Έλ°μ± λ‘λ΄μμ μμ μ± λ° μ±λ₯μ μν₯μ μ€ μ μλ μ£Όμ μΈμ μ€ νλλ μ§μ°(Latency)μ΄λ€.
νΉν, λ€νΈμν¬λ₯Ό ν΅ν΄ μ‘μμ λλ μΌμ μΈ‘μ κ° λ° μ μ΄ λͺ
λ Ήμ 64 λ°μ΄νΈ(byte) λ―Έλ§μΌλ‘ λμνμ λ―ΈμΉλ μν₯μ 무μν μ μλ€. λ°λΌμ, λ³Έ
λ
Όλ¬Έμμλ μ§μ°μ μ±λ₯ μ§νμ μ£Όμ μΈμλ‘ μ€μ νκ³ μ€νμ μ§ννλ€. μ΄λ₯Ό ν΅ν΄ νΌλΈλ¦ ν΄λΌμ°λ λ° λ€νΈμν¬μ μ§μ°μ λ―Όκ°ν μ μ΄ μμ€ν
μ μ€μ¦νμ¬
ν΄λΌμ°λ κΈ°λ° μ€μκ° λ€νΈμν¬ μ μ΄ μμ€ν
ꡬμΆμ΄ κ°λ₯ν¨μ 보μΈλ€. λ³Έ λ
Όλ¬Έμμ μ»μ΄μ§λ μ€μ¦ κ²°κ³Όλ₯Ό λ°νμΌλ‘ ν₯ν μ§μ°μ λνμ¬ λ€μν μ μ΄κΈ° μ€κ³
κΈ°λ²μ ν΄λΌμ°λ κΈ°λ° μ μ΄ μμ€ν
μ λμ
ν μ μμ κ²μ΄λ€.
λ³Έ λ
Όλ¬Έμ ꡬμ±μ λ€μκ³Ό κ°λ€. 2μ₯μμλ μ μ΄ λμμ΄ λλ μ
ν λ°Έλ°μ± λ‘λ΄μ λͺ¨λΈλ§ λ° μ μν μμ€ν
ꡬμ±μ λνμ¬ μ€λͺ
νκ³ , 3μ₯μμ ν΄λΌμ°λ
κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
μ μ μνλ€. 4μ₯μμλ μ€νμ ν΅ν΄ ν΄λΌμ°λ λ€νΈμν¬ μ μ΄ μμ€ν
μ€μ¦ κ²°κ³Όλ₯Ό 보μ΄λ©°, 5μ₯μμ κ²°λ‘ μ λ§Ίλλ€.
2. μ
ν λ°Έλ°μ± λ‘λ΄ λͺ¨λΈλ§ λ° μμ€ν
ꡬμ±
2.1 λͺ¨λΈ μ μ λ° μ μ
λ³Έ λ
Όλ¬Έμμλ μ μνλ μμ€ν
μ λνμ¬ μ€ν κ°λ₯μ±μ λν μ€μ¦μ 보μ΄κΈ° μν΄μ λ¨Όμ , μ€μ λ‘λ΄μ μ μνλ€. κ·Έλ¦Ό 1μλ μ μν μ
ν λ°Έλ°μ± λ‘λ΄ λͺ¨λΈκ³Ό μ€μ ꡬνν μ€λ¬Ό μ¬μ§μ λνλ΄μλ€. κ·Έλ¦Ό 1κ³Ό κ°μ΄ μ μλ λ‘λ΄μ λ°ν΄, λͺ¨ν° ꡬλλΆ(Driver), μΌμλΆ, λ°°ν°λ¦¬, μμ© νλ‘μΈμ (Application Processor) λ±μΌλ‘ ꡬμ±λλ©°,
μ루미λ μ·μ(Chassis)λ‘ μ 체 쑰립ν λ‘λ΄μ μ λμ΄ μλλ‘ κ³ μ νμλ€.
κ·Έλ¦Ό 1. μ
ν λ°Έλ°μ± λ‘λ΄
Fig. 1. Self-Balancing Robot
μ
ν λ°Έλ°μ± λ‘λ΄ λͺ¨λΈλ§ λ° μ μ΄λ λ§μ λ
Όλ¬Έμμ λ€λ£¨μ΄μ Έ μλλ° λ³Έ λ
Όλ¬Έμμλ [8]μμ μ μν λ°©λ²μ κΈ°λ°μΌλ‘ μνμ λͺ¨λΈλ§μ μννλ€. λ³Έ λ
Όλ¬Έμμ μ€νμ μ¬μ©νκΈ° μνμ¬ μ μν μ
ν λ°Έλ°μ± λ‘λ΄μ νλμ¨μ΄ 기ꡬ μ¬μμ ν 1μ μ 리νμ¬ λνλ΄μλ€. μ€μ κ΄μ±κ° (Inertia value)μ μΈ‘μ μ΄ λΆκ°νμ¬ [8]μ λ΄μ©μ μ°Έμ‘°νμμΌλ©°, μ μ΄κΈ°μ λΉλ‘μ΄λκ³Ό λ―ΈλΆμ΄λμ μ‘°μ νμ¬ λ³΄μ νλ λ°©λ²μ μ¬μ©νμλ€.
ν 1 μ μλ μ£Όμ νλμ¨μ΄ 기ꡬ μ¬μ
Table 1 Main Specifications of Hardware and Fabrication
κΈ°νΈ
|
κ°
|
μ€λͺ
|
λ¨μ
|
ms
|
14.3
|
λͺΈμ²΄ 무κ²
|
kg
|
d
|
0.4
|
μΆκ³Ό 무κ²μ€μ¬ 거리
|
m
|
g
|
9.8
|
μ€λ ₯κ°μλ
|
m/sec2
|
mc
|
2.35
|
ν 무κ²
|
kg
|
I2
|
3.679Β·10-3
|
N3 λ°©ν₯ κ΄μ±
|
kgΒ·m2
|
I3
|
28.07Β·10-3
|
N2 λ°©ν₯ κ΄μ±
|
kgΒ·m2
|
R
|
0.0825
|
ν λ°μ§λ¦
|
m
|
L
|
0.18
|
λ°ν΄ μ¬μ΄ 거리/2
|
m
|
2.2 ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
ꡬμ±
ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ λμμΌλ‘ μ μν μ
ν λ°Έλ°μ± λ‘λ΄ μμ€ν
μ ꡬμ±μ κ·Έλ¦Ό 2 μ κ°λ€. λ¨Όμ , λ‘λ΄μ μμΉ μΈ‘μ μ μν΄μλ [9]μ κ°μ΄ κ΄μ± μΈ‘μ μ₯μΉ (Inertial Measurement Unit: IMU)λ₯Ό μ₯μ°©νμ¬ μ§κ°μ κΈ°μ€μΌλ‘ κΈ°μΈμ΄μ§ Pitch (κ°λ)μ Pitch
rate (κ°μλ) κ°μ μΈ‘μ νκ³ , μ΄λ₯Ό λ²μ©μΌλ‘ λ§μ΄ μ¬μ©νλ μλμ΄λ
Έ λ©κ° (Arduino Mega)λ₯Ό ν΅νμ¬ μΈ‘μ κ°μ μμ§νλ€. μ΄λ κ² μΈ‘μ νκ³
νλλ κ°μ ν΅μ λ€νΈμν¬λ₯Ό ν΅ν΄ νΌλΈλ¦ ν΄λΌμ°λ μμ μλ μ μ΄κΈ°μ μ‘μ νμ¬ μ
ν λ°Έλ°μ± λ‘λ΄μ νΌλλ°± λμ΄ μ
λ ₯λ μ μ΄ λͺ
λ Ήμ κ³μ°νλ€.
μ΄ λ, λͺ¨ν° 2κ°λ₯Ό μ§μ ꡬλνλ μ μ΄ λ³΄λμλ 56VκΉμ§ μ§μνλ ODriver v3.6 μ μ¬μ©νμλ€ [10]. μ μλ μ
ν λ°Έλ°μ± λ‘λ΄μ ν΄λΌμ°λ μμ μ격 μ μ΄ μμ€ν
μΌλ‘ λΆν° μ μ΄ μ
λ ₯μ μμ νκ³ , μ΄λ₯Ό μ ―μ¨ μλΉμ΄ (Jetson Xavier)λ₯Ό ν΅ν΄
μ§μ λͺ¨ν° ꡬλλΆμ μ
λ ₯νμ¬ λͺ¨ν°λ₯Ό μ μ΄νλ€ [11].
ννΈ, νλμ¨μ΄ μ΄μ©μ μν μννΈμ¨μ΄ ꡬμ±μ λ€μκ³Ό κ°λ€. λ¨Όμ , μ
ν λ°Έλ°μ± λ‘λ΄μ λλλΌ ν μ μλ μμ© νλ‘μΈμμ μ΄μ©μ²΄μ λ λ²μ©μ±μ μνμ¬
리λ
μ€ μ°λΆν¬ (Ubuntu) 20.04 λ₯Ό μ¬μ©νμλ€. μ
ν λ°Έλ°μ± λ‘λ΄κ³Ό μλ² μ¬μ΄μ μΌμ λ©μμ§ μ‘μμ , μ μ΄ λͺ
λ Ήμ΄ μ‘μμ μ ROS2 νλ«νΌμ
μ¬μ©νμμΌλ©° [12], μ
ν λ°Έλ°μ± λ‘λ΄κ³Ό ν΄λΌμ°λ μλ²λ μΌλ° μμ΄νμ΄(WiFi)λ₯Ό ν΅ν΄ 곡μ€λ§μΌλ‘ μ°κ²°λλλ‘ μ€κ³νμλ€. μ
ν λ°Έλ°μ± λ‘λ΄μ΄ μ°κ²°λ μλΈ λ€νΈμν¬μ
ν΄λΌμ°λ μλ²κ° μ°κ²°λ μλΈ λ€νΈμν¬λ μλ‘ λ€λ₯Έ λ€νΈμν¬λ‘μ μΌλ°μ μΌλ‘ ROS2 ν΅μ μ ν μ μλ€. μ΄λ₯Ό μν΄ λ³Έ λ
Όλ¬Έμμλ μ€νμμ€μΈ ν΄λΌμ°λ
λΈλ¦¬μ§(Cloud Bridge)λ₯Ό μ΄μ©νμ¬ μ
ν λ°Έλ°μ± λ‘λ΄μ΄ μ°κ²°λ μλΈ λ€νΈμν¬μ ν΄λΌμ°λ μλ²κ° μ°κ²°λ μλΈ λ€νΈμν¬ κ°μ ROS2 λ©μμ§λ₯Ό
μ‘μμ ν μ μλλ‘ κ΅¬ννμλ€ [13].
κ·Έλ¦Ό 2. μ
ν λ°Έλ°μ± λ‘λ΄ μμ€ν
ꡬμ±λ
Fig. 2. Block Diagram of Self-Balancing Robot System
3. ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
ꡬν
3.1 μ μ΄κΈ° ꡬν
ν΄λΌμ°λ μμ λΉλ‘λ―ΈλΆ μ μ΄κΈ°λ₯Ό κ³ λ €ν μ
ν λ°Έλ°μ± λ‘λ΄μ ν루ν νΌλλ°± μ μ΄ μμ€ν
μ κ·Έλ¦Ό 3κ³Ό κ°μ΄ λνλΌ μ μλ€. κ·Έλ¦Ό 3μμ κΈ°μ€ μ
λ ₯ μ νΈ r(t)λ 0 μΌλ‘ κ°μ νμ¬ λ‘λ΄μΌλ‘ μΈ‘μ λμ΄ λ°μ μΌμκ°μ κ·Έλλ‘ μ€μ°¨(error)λ‘ κ°μ νκ³ λΉλ‘μ΄λ(Kp) κ°κ³Ό λ―ΈλΆμ΄λ(Kd)
κ°μ μ‘°μ νλ€. λν, νΌλΈλ¦ ν΄λΌμ°λμμ μ μ΄κΈ°λ₯Ό μ΄μνκΈ° μν΄ λ€μκ³Ό κ°μ λκ°μ§λ₯Ό μΆκ°λ‘ ꡬννλ€. 첫 λ²μ§Έλ μΏ λ²λ€ν°μ€ μμ€ν
μ μ§μ νΌλΈλ¦
ν΄λΌμ°λμ ꡬμΆνκ³ , λ λ²μ§Έλ μ¬κΈ°μ μ μ΄κΈ°λ₯Ό μ€ννκΈ° μν΄ μ°λΆν¬ 20.04λ₯Ό μ΄μ체μ λ‘ νκ³ Foxyλ₯Ό ROS2 λ²μ μΌλ‘ νμ¬ μ μ΄κΈ° λͺ¨λμ
λ컀 컨ν
μ΄λ μ΄λ―Έμ§λ‘ ꡬμ±νλ€. μ μ΄κΈ°λ₯Ό ν¬ν¨ν μ μ΄ μμ€ν
μ λν΄μλ λ€μ μ μμ λ³΄λ€ μμΈν λ€λ£¨λλ‘ νλ€.
κ·Έλ¦Ό 3. ν΄λΌμ°λ κΈ°λ° ν루ν νΌλλ°± μ μ΄ μμ€ν
ꡬμ±λ
Fig. 3. Block Diagram of Cloud-based Closed-loop Feedback Control System
3.2 ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
κ·Έλ¦Ό 4μλ ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
μ λλ΅μ μΈ κ΅¬μ±λλ₯Ό λνλΈλ€. κ·Έλ¦Ό 4μμ νΌλΈλ¦ ν΄λΌμ°λλ‘ κ΅¬κΈ ν΄λΌμ°λ νλ«νΌ (Google Cloud Platform: GCP)μ νμ©νμμΌλ©°, ν΄λΉ ν΄λΌμ°λ μλ²μ μ»΄ν¨νΈ μΈμ€ν΄μ€
(Compute Instance)λ₯Ό μμ±νμ¬ μ§μ μΏ λ²λ€ν°μ€ νλ«νΌμ ꡬμΆνλ€.
κ·Έλ¦Ό 4. ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
ꡬμ±λ
Fig. 4. Block Diagram of Cloud-based Networked Control System
κ·Έλ¦Ό 5μλ κ΅¬κΈ ν΄λΌμ°λμ μ»΄ν¨νΈ μΈμ€ν΄μ€λ₯Ό ꡬμ±νκ³ , μ΄λ₯Ό μΏ λ²λ€ν°μ€λ‘ ꡬμΆν κ²°κ³Όλ₯Ό μΊ‘μ²νμ¬ λνλ΄μλ€. κ·Έλ¦Ό 5μμ controller-1 μ λ§μ€ν° λ
Έλ(Master Node)λ‘ μΏ λ²λ€ν°μ€ λ΄λΆ 컨ν
μ΄λ μ΄μ (Orchestration)κ³Ό μΈλΆ ν΅μ μ κ΄λ¦¬νλ
λ§μ€ν° μν μ νλ©°, worker-1μ μ컀 λ
Έλ(Worker Node)λ‘ μΏ λ²λ€ν°μ€μμ μ€μ 컨ν
μ΄λλ₯Ό μ€ννλ€. λ§μ€ν° λ
Έλμ μ컀 λ
Έλλ ν΄λΌμ°λ
νλ«νΌ λ΄μμ λ
립μ μΈ μ»΄ν¨ν
μμμΌλ‘ κ°κ°μ μΈν°λ· μ£Όμ (Internal IP)λ₯Ό ν΄λΌμ°λ νλ«νΌμΌλ‘λΆν° ν λΉ λ°λλ€.
μ±λ₯ κ²μ¦ μ€νμ μν μ»΄ν¨ν
μμ 2κ°μ νλμ¨μ΄ μ¬μμ μ€μ μ°μ° μ²λ¦¬ μ₯μΉμ μ½μ΄ 2κ°, μλλ 2.2GHz, RAMμ 8GB μ ν΄λΉνλ λ¨Έμ
νμ
(Machine type)μΌλ‘ e2-standard-2 λ₯Ό μ€μ νμλ€. λν, μ»΄ν¨ν
μμμ μ§μμ μΈ μμΉλ κ΅¬κΈ ν΄λΌμ°λ μλΉμ€ μ§μ(Zone)
λ΄μμ μ€ννλ κ³³κ³Ό κ°μ₯ κ°κΉμ΄ μμΈ μ§μμ μ μ νμ¬ ν΄λΉ μ§μμΈ asia-northeast3-a λ‘ μ€μ νλ€.
κ·Έλ¦Ό 5. κ΅¬κΈ ν΄λΌμ°λ νλ«νΌμ μΏ λ²λ€ν°μ€λ₯Ό ꡬμ±νλ μ»΄ν¨νΈ μΈμ€ν΄μ€
Fig. 5. Compute Instance on Google Cloud Platform for Kubernetes
κ·Έλ¦Ό 6μλ κ΅¬κΈ ν΄λΌμ°λ μ»΄ν¨ν
μμ μμμ μ΄μλλ λ€νΈμν¬ μ μ΄ μμ€ν
μ μννΈμ¨μ΄ ꡬ쑰 λΈλ‘λλ₯Ό λνλ΄μλλ° κ·Έλ¦Ό 6μμ ν΄λΌμ°λ κΈ°λ° μ μ΄ μμ€ν
μ΄μμ μν΄ νμν ꡬμ±μ λ€μκ³Ό κ°λ€. 컨ν
μ΄λ λ μ§μ€νΈλ¦¬λ μ μ΄ μμ€ν
μ 컨ν
μ΄λ μ΄λ―Έμ§λ₯Ό λ²μ λ³λ‘ μ μ₯νκ³ κ΄λ¦¬νλ©°,
μΏ λ²λ€ν°μ€ νλ«νΌμμ μ§μ λ λ²μ μ λ€μ΄λ‘λ μμ²μ μλ΅νμ¬ λ²μ μ μ ννμ¬ λ€μ΄λ‘λ ν μ μλλ‘ νλ€. μΏ λ²λ€ν°μ€ νλ«νΌμ λ§μ€ν° λ
Έλμ μ컀
λ
Έλλ‘ κ΅¬μ±λλ©°, λ§μ€ν° λ
Έλλ μ μ΄κΈ° 컨ν
μ΄λμ ν΄λΌμ°λ λΈλ¦¬μ§ 컨ν
μ΄λμ μμ, μ’
λ£, μν κ΄λ¦¬ λ±μ μννκ³ μ μ΄κΈ° μ΄λ―Έμ§μ ν΄λΌμ°λ λΈλ¦¬μ§
μ΄λ―Έμ§λ₯Ό μ§μ λ μ컀 λ
Έλμ μ€ννλλ‘ μμ²νλ€. μ컀 λ
Έλλ λ§μ€ν° λ
Έλμ μμ²μ λ°λΌμ μ μ΄κΈ°μ ν΄λΌμ°λ λΈλ¦¬μ§ μ΄λ―Έμ§λ₯Ό 컨ν
μ΄λ λ μ§μ€νΈλ¦¬λ‘
λΆν° λ€μ΄ λ°μ μ§μ μ€ννλ μν μ νλ€.
μ΄ν, μ΄λ€ 컨ν
μ΄λκ° μ€νλλ©΄μ, κ°κ° μ μ΄κΈ° νλ (Pod)μ ν΄λΌμ°λ λΈλ¦¬μ§ νλκ° μμ±λκ³ , κ° νλλ λ΄λΆ μΈν°λ· μ£Όμ (Pod IP)λ₯Ό
λΆμ¬λ°μΌλ©°, ν΅μ μ μν΄ μΈν°λ· μ£Όμλ₯Ό μ¬μ©νλ€. λ‘λ λ°Έλ°μλ μΏ λ²λ€ν°μ€ λ΄λΆμ μΈλΆμ κ°κ° μΈν°λ· μ£Όμμ ν¬νΈλ₯Ό λΆμ¬νμ¬, λ΄λΆ λ°μ΄ν° μ‘μ κ³Ό
μΈλΆ λ°μ΄ν° μμ μ ν΅μ νλ©°, μ
ν λ°Έλ°μ± λ‘λ΄κ³Ό μ§μ ν΅μ νλ€. νΉν, μ§μ λ°μ΄ν°λ₯Ό μ²λ¦¬νμ¬ μ μ΄κΈ°μ ROS2 λ©μμ§λ‘ μ‘μμ νλ κΈ°λ₯μ ν΄λΌμ°λ
λΈλ¦¬μ§μμ λ΄λΉνλ©°, μ΄λ, μΌμμ μ μ΄ λͺ
λ Ήμ λ°μ΄ν° νλ¦μ μ μ΄κΈ° β ν΄λΌμ°λ λΈλ¦¬μ§ β λ‘λ λ°Έλ°μ β μ
ν λ°Έλ°μ± λ‘λ΄κ³Ό κ°μ νλ¦μ κ°λλ€.
κ·Έλ¦Ό 6. νΌλΈλ¦ ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
μμΈ κ΅¬μ‘°λ
Fig. 6. Detailed Block Diagram of Public Cloud-based Networked Control System
4. μ±λ₯ μ€ν λ° κ²°κ³Ό
4.1 μ€ν 쑰건 λ° λ°©λ²
λ³Έ μ μμλ μ μν λ°©μμ λνμ¬ μ μν μ
ν λ°Έλ°μ± λ‘λ΄μ λμμΌλ‘ μμΈ μ€ν λ΄μ©κ³Ό κ²°κ³Όμ λν΄ κΈ°μ νλ€. λ³Έ λ
Όλ¬Έμμ μ μν μ
ν λ°Έλ°μ± λ‘λ΄μ
μμ΄νμ΄λ₯Ό νμ©νμ¬ κ³΅μ€λ§μ μ°κ²°νμ¬, μΏ λ²λ€ν°μ€ λ‘λ λ°Έλ°μμμ μ 곡ν μΈν°λ· μ£Όμμ ν¬νΈλ₯Ό ν΅ν΄ λ€νΈμν¬ μ μ΄ μμ€ν
μ μ μνλ€.
κ·Έλ¦Ό 7μλ μ
ν λ°Έλ°μ± λ‘λ΄κ³Ό μ μ΄ μμ€ν
μ¬μ΄μ μΌμ λ° μ μ΄ λͺ
λ Ήμ΄ μ‘μμ κ³Όμ μ λν μκ° μ μ°¨λ₯Ό λνλ΄μλ€. μ¬κΈ°μ, μ μ΄κΈ°μμ μΌμκ°μ λ°μ μ μ΄
λͺ
λ Ήμ κ³μ°νλ μκ° csn β can μ CPU, RAM λ±μ ν΄λΌμ°λ μ°μ₯ μμμ μΆ©λΆν μ¬μ©νκΈ° λλ¬Έμ λ€νΈμν¬μ μκ° μ§μ°μ λΉνμ¬ λ§€μ° μμμ
μ€νμ ν° μν₯μ λ―ΈμΉμ§ μλλ€κ³ κ°μ νλ€. κ·Έλ¦Ό 7μμ μ‘μ μΈ‘ μΌμκ°μ μΈ‘μ ν΄μ μ μ΄κΈ°λ‘ μ‘μ νλ μ£ΌκΈ° rs2 β rs1 μ 10ms (100Hz) μ΄λ©°, μ΄κ²μ μ€μ μ
ν λ°Έλ°μ± λ‘λ΄μ μΌμμμ
νΌμΉκ°μ μΈ‘μ νλ μ£ΌκΈ°μ κ°λλ‘ μ€μ νλ€. λ§μ°¬κ°μ§λ‘ ν΄λΌμ°λ μμ μ μ΄κΈ°λ rc2 β rc1 μ μ£ΌκΈ°λ₯Ό κ°κ³ μμΌλ©°, μ€νμμλ μΌμ μ£ΌκΈ°μ κ°μ΄
10ms λ‘ μ€μ νλ€. κ·Έλ¦Ό 7μμ ra1 > rs2 μΈ κ²½μ°μλ, λ‘λ΄μμ μΌμκ°μ μΈ‘μ νμ¬ μ격 μ μ΄κΈ°μ μ‘μ νκ³ , κ·Έμ ν΄λΉνλ μ μ΄ λͺ
λ Ήμ μμ νλ μ볡μκ° (Round
Trip Time)μ΄ 10ms λ₯Ό μ΄κ³Όνλ€λ μλ―Έμ΄λ€. μ΄λ¬ν λ€νΈμν¬ μ§μ°μ΄ μ§μλμ΄ λμ λλ€λ©΄, λ‘λ΄μ λμμ΄ λΆμμ ν΄μ§κ³ , ν볡 λΆκ°λ₯ν μνκ°
μ§μλμ΄ μ΅μ’
μ μΌλ‘λ κ· νμ μκ³ λμ΄μ§κ² λλ€. λ°λΌμ, μ΄λ₯Ό λ°©μ§νκΈ° μν΄μλ μ§μ°μ λ°λ₯Έ μΌμκ°μ μμΈ‘νμ¬ μ μ΄ λͺ
λ Ήμ κ³μ°νμ¬ μ
ν λ°Έλ°μ±
λ‘λ΄μ μ‘μ νλ μ μ°¨κ° μμ΄μΌ νλ©° [14], λ³Έ λ
Όλ¬Έμμλ λΉλ‘μ΄λκ³Ό λ―ΈλΆμ΄λμ μν©μ λ§μΆμ΄ ν΄λ¦¬μ€ν±(Heuristic)νκ² μ‘°μ νλ€.
λ³΄λ€ νμ€μ μΈ μ€νμ μν΄μ λ‘λ΄κ³Ό μ μ΄κΈ°κ° μμΉν μλ² μ¬μ΄ μκ° λκΈ°νλ₯Ό μν΄ λ€νΈμν¬ νμ νλ‘ν μ½ (Network Time Protocol:
NTP)μ μλ² λ° μ
ν λ°Έλ°μ± λ‘λ΄μ μ€μΉνκ³ , NTP μλ²λ asia.pool.ntp.org λ‘ μΈν
νμ¬ κ°μ μμΉμ μκ°μΌλ‘ λκΈ°ν νλ€. μ
ν
λ°Έλ°μ± λ‘λ΄μ΄ μμΉν μ₯μμμ νΌλΈλ¦ ν΄λΌμ°λ κΈ°λ° μ μ΄ μμ€ν
κΉμ§μ ν΅μ μλλ₯Ό μΈ‘μ νκΈ° μν΄μ ν(ping)μ ν΅νμ¬ 64 λ°μ΄νΈ ν¨ν·μ μ볡
μκ°μ μΈ‘μ νμ¬ μ볡 μκ°μ κΈ°λ°μΌλ‘ λΉλ‘μ΄λκ³Ό λ―ΈλΆμ΄λμ ν΄λ¦¬μ€ν± νκ² μ‘°μ νλ€. νΉν, ROS2 νλ«νΌμμ μ 곡νλ API (Application
Programming Interface)λ₯Ό νμ©νμ¬ νΌμΉ, νΌμΉμ¨, ν ν¬μ μ£ΌκΈ°λ₯Ό μΈ‘μ νλ€. λν μ
ν λ°Έλ°μ± λ‘λ΄μ κ· ν μ μ§ μ¬λΆλ₯Ό μ€μ¦μ ν΅ν΄
νμΈνκ³ , ν΄λΌμ°λ λ€νΈμν¬ μ μ΄ μμ€ν
μ μ€ν κ°λ₯μ±μ νμΈνλ€.
κ·Έλ¦Ό 7. μΌμμ μ μ΄ λͺ
λ Ή μ‘μμ μκ° μ μ°¨
Fig. 7. Time Sequence for Communication of Sensor value and Control command
4.2 μ€ν κ²°κ³Ό
μ
ν λ°Έλ°μ± λ‘λ΄μμ ν΄λΌμ°λ λ€νΈμν¬ μ μ΄ μμ€ν
κΉμ§μ μ볡 μκ°μ μΈ‘μ νκΈ° ν κ²°κ³Ό, 530κ°μ ν¨ν·(packet)μ μ‘μ νμ λ, 100% μμ μ¨μ
λ³΄μ¬ ν¨ν· μμ€μ 0% μλ€. ν 2μλ μ볡 μκ°μ λνμ¬ μ΅λ, μ΅μ, νκ· μκ° μΈ‘μ κ°μ λνλ΄μλ€. ν 2μμμ κ°μ΄, μ볡 μκ°μ νκ· μ 5.667ms λ‘μ μ
ν λ°Έλ°μ± λ‘λ΄ μΌμ μ‘μ μ£ΌκΈ°μ μ μ΄ λͺ
λ Ήμ΄μ μ‘μ μ£ΌκΈ° 10ms λ³΄λ€ μμμ, μ
ν λ°Έλ°μ±
λ‘λ΄μ΄ κ· νμ μ μ§νλ 쑰건μ λ§μ‘±ν¨μ μ μ μλ€.
μ΄λ₯Ό λ³΄λ€ λ μμΈν μ΄ν΄λ³΄κΈ° μνμ¬ κ·Έλ¦Ό 8μλ μ
ν λ°Έλ°μ± λ‘λ΄μΌλ‘λΆν° ν΄λΌμ°λ μ μ΄ μμ€ν
κΉμ§μ κ° ν¨ν· λ³ μ볡 μκ°μ λνλ΄μλ€. κ·Έλ¦Ό 8μμμ κ°μ΄ μ΄ 530κ° ν¨ν· μ€μμ 10msλ₯Ό μ΄κ³Όνλ ν¨ν·μ 14κ°λ‘ μ½ 2.4%μμΌλ, 10ms μ΄νμ ν¨ν·μ΄ 516κ°λ‘ μ½ 97.6%μμ μ
ν
λ°Έλ°μ± λ‘λ΄μ΄ κ· νμ μ μ§νλ 쑰건μ λ§μ‘±ν¨μ νμΈν μ μλ€. λ³Έ λ
Όλ¬Έμμλ μ΄λ¬ν μ€ν νκ²½μ μ ν©νλλ‘ μ΅λν ν΄λ¦¬μ€ν±νκ² μ μ΄κΈ° μ΄λμ μ‘°μ νμλ€.
ν 2 μ볡 μκ° μΈ‘μ κ²°κ³Ό (ms)
Table 2 Round Trip Time of Measurements (ms)
|
min
|
avg.
|
max
|
deviation
|
μ볡μκ°
|
3.032
|
5.667
|
24.585
|
2.111
|
κ·Έλ¦Ό 8. ν¨ν·λ³ μ볡 μκ°
Fig. 8. Round Trip Time for Packet
μ
ν λ°Έλ°μ± λ‘λ΄κ³Ό ν΄λΌμ°λ λ€νΈμν¬ μ μ΄ μμ€ν
κ°μ μ°κ²°μ ν΅ν΄ μ
ν λ°Έλ°μ± λ‘λ΄ κ· ν μ μ§λ₯Ό μ μ΄νλ μ€μ μ€ν μκ°μ μ΄ 530μ΄ λμ μ§ν
λμλ€. μ
ν λ°Έλ°μ± λ‘λ΄μ΄ μλ μμλΆν° μ½ 175μ΄κΉμ§ κ· νμ μ μ μ§ν¨μ νμΈν ν λ‘λ΄μ μΈμμ μΌλ‘ 좩격μ κ°ν΄μ κ³ μμ μΈ μΈλμ λ°μμμΌ°λλ°,
μ΄λ μ½ 2μ΄ λμ λ‘λ΄μ μλ€ μ§λμ΄ μμμΌλ, μ΄ν λ°λ‘ κ· νμ μ μ§νλ©° 530μ΄ λμμ μ€νμ μ±κ³΅μ μΌλ‘ λ§μ³€λ€.
κ·Έλ¦Ό 9μλ μκ°λ³ νΌμΉκ°κ³Ό νΌμΉμ¨μ λν κ²°κ³Όλ₯Ό λνλ΄μλ€. κ·Έλ¦Ό 8μμ νΌμΉμ νΌμΉμ¨μ΄ λ‘λ΄μ μΈμμ μΌλ‘ 좩격μ κ°ν΄μ κ³ μμ μΈ μΈλμ λ°μμν¨ 175μ΄ λΆκ·Όμμ μΈλΆ 좩격μΌλ‘ ν¬κ² λ³ννλ κ²μ λ³Ό μ μλ€. ννΈ
κ·Έλ¦Ό 9μλ λͺ¨ν°μ κ°ν΄μ§λ ν ν¬λ₯Ό μκ°λ³λ‘ μΈ‘μ ν κ²°κ³Όλ₯Ό λνλ΄μλ€. κ·Έλ¦Ό 10μμλ κ°μ μ΄μ λ‘ 175μ΄ λΆκ·Όμμ ν ν¬κ°μ΄ ν¬κ² λ³ννλ κ²μ λ³Ό μ μλλ° μ΄λ μ
ν λ°Έλ°μ± λ‘λ΄μ΄ μλ€λ‘ ν¬κ² μ§λνλ κ²μ λν΄μ κ· νμ
μ μ§νκΈ° μν΄ λͺ¨ν°μ κ°ν΄μ§λ νμ΄ μ¦κ°νκΈ° λλ¬Έμ΄λ€.
ννΈ, μ
ν λ°Έλ°μ± λ‘λ΄μ΄ νΌμΉκ°μ νΌμΉμ¨κ°μ μ‘μ νλ μ£ΌκΈ°λ νκ· 10.15ms (98.5Hz) μ΄μκ³ , μ
ν λ°Έλ°μ± λ‘λ΄μμ μμ νλ ν ν¬κ°μ
μ£ΌκΈ°λ νκ· 10.10ms (99Hz)λ‘ μΈ‘μ λμλ€. λ°λΌμ μΌμκ°μ μ μ‘ μ£ΌκΈ° λ³΄λ€ λͺ¨ν°μ μ μ‘μ£ΌκΈ°κ° λγμκΈ° λλ¬Έμ νΉμ΄ν ν΅μ μμ μΈλμ΄ μλ€λ©΄
νΌλΈλ¦ ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
μ μΆ©λΆν μ€νκ°λ₯ ν κ²μ΄λ€.
μμμ μ΄ν΄λ³Έ λ°μ κ°μ΄, λ³Έ λ
Όλ¬Έμμ μ μν μ
ν λ°Έλ°μ± λ‘λ΄κ³Ό κ΅¬κΈ ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
μ μ€ν κ²°κ³Όλ₯Ό ν΅ν΄ μ
ν λ°Έλ°μ± λ‘λ΄μ΄
ν΄λΌμ°λ λ€νΈμν¬ μ μ΄ μμ€ν
μ ν΅ν΄μ κ· νμ μ μ§νλ©° μ μ΄ κ°λ₯ν κ²μ νμΈ ν μ μλ€.
κ·Έλ¦Ό 9. νΌμΉ(pitch), νΌμΉμ¨(pitch rate)μ μκ°λ³ μΈ‘μ
Fig. 9. Pitch(Β°) and Pitch Rate(Β°/sec) according to Time (ms)
κ·Έλ¦Ό 10. λͺ¨ν°μ κ°ν΄μ§λ ν ν¬μ μκ°λ³ μΈ‘μ
Fig. 10. Torque (NΒ·m) according to Time (ms)
5. κ²° λ‘
λ³Έ λ
Όλ¬Έμμλ ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
μ μ μνκ³ μ
ν λ°Έλ°μ± λ‘λ΄ μ μ΄ μ€νμ ν΅ν΄ νλΉμ±μ μ΄ν΄λ³΄μλ€. λ¨Όμ , 2κ°μ λ°ν΄, λͺ¨ν° ꡬλλΆ,
μΌμλΆ, μμ© νλ‘μΈμλ‘ κ΅¬μ±λλ μ
ν λ°Έλ°μ± λ‘λ΄μ μ μνμλ€. μ΄ν, ν΄λΌμ°λ κΈ°λ° μ μ΄ μμ€ν
ꡬμ±μ μν΄ κ΅¬κΈ ν΄λΌμ°λ νλ«νΌμ νμ©νμ¬ 2κ°μ
μ»΄ν¨νΈ μΈμ€ν΄μ€λ₯Ό μμ±νκ³ , μ΄λ₯Ό ν΅ν΄ μΏ λ²λ€ν°μ€ νλνΌμ ꡬμΆνμλ€. μ μ΄κΈ°μ ν΄λΌμ°λ λΈλ¦¬μ§λ₯Ό λ컀 컨ν
μ΄λ μ΄λ―Έμ§λ‘ λ§λ€μ΄ μΏ λ²λ€ν°μ€ νλ«νΌμμ
μ€νμν€κ³ , λ‘λ λ°Έλ°μλ₯Ό λ§λ€μ΄ μ
ν λ°Έλ°μ± λ‘λ΄κ³Ό ν΅μ μ ν μ μλλ‘ μ€κ³νμλ€.
μ±λ₯ κ²μ¦μ© μ€νμ μν΄ λ€νΈμν¬ νμ νλ‘ν μ½μ ν΄λΌμ°λ μλ²μ μ
ν λ°Έλ°μ± λ‘λ΄μ μ€μΉνμ¬ λκΈ°νλ₯Ό μννμΌλ©°, ν΄λΌμ°λ λ€νΈμν¬ μ μ΄ μμ€ν
κ³Ό
μ°κ²°μ ν΅ν΄ μ
ν λ°Έλ°μ± λ‘λ΄μ κ· νμ μ μ΄νλ μ€νμ μ§ννμλ€. μ€ν κ²°κ³Ό μΈ‘μ λ ν΄λΌμ°λ λ€νΈμν¬ μ μ΄ μμ€ν
μμ μ μ΄λ₯Ό μν΄ μ‘μ νλ ν ν¬κ°μ
μ£ΌκΈ°κ° μ
ν λ°Έλ°μ± λ‘λ΄μ νΌμΉκ°κ³Ό νΌμΉμ¨κ°μ μ£ΌκΈ°κ° λ³΄λ€ μμ μμ μ μΌλ‘ μ μ΄ κ°λ₯ν¨μ νμΈν μ μμμΌλ©°, μ€ν μκ° μ 체μ κ±Έμ³ ν΄λΌμ°λ λ€νΈμν¬
μ μ΄ μμ€ν
μ μ°λλ μ
ν λ°Έλ°μ± λ‘λ΄μ΄ κ· νμ μ μ§ν¨μ νμΈνμλ€. λ³Έ λ
Όλ¬Έμμμ ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
μ ν΅ν΄ μ
ν λ°Έλ°μ± λ‘λ΄ μ μ΄κ°
κ°λ₯ν¨μ 보μμΌλ‘μ¨ μ€μκ°μ ν루ν λ€νΈμν¬ μ μ΄ μμ€ν
μ ν₯ν μ¬λ¬ μμ© μμ€ν
μ μ μ© κ°λ₯μ±μ νμΈ ν μ μμλ€.
λ³Έ λ
Όλ¬Έμμλ ν΄λΌμ°λ κΈ°λ° λ€νΈμν¬ μ μ΄ μμ€ν
μ μ
ν λ°Έλ°μ± λ‘λ΄μ μ μ©νμ¬ κ·Έ κ°λ₯μ±μ μ΄ν΄λ³΄μλ€. λ³Έ λ
Όλ¬Έμμ μ μν λ°©μμ΄ μ€μ μ μ©λκΈ°
μν΄μλ μμΌλ‘ λ€μνκ² λ³ννλ μ§μ°μ κ³ λ €ν κ°μΈν μ μ΄κΈ°λ₯Ό μ€κ³νμ¬ μμ μ μΈ ν루ν μ μ΄ μμ€ν
ꡬμ±μ΄ μΆκ°μ μΌλ‘ μꡬλλ€. λν, μ₯μ νμ©
κΈ°λ₯μ ν΄λΌμ°λ λ€νΈμν¬ μ μ΄ μμ€ν
μ€κ³κ° μΆκ°μ μΌλ‘ μ΄λ£¨μ΄μ§λ€λ©΄ μΏ λ²λ€ν°μ€ νλ«νΌμ ꡬμ±νλ λ§μ€ν° λ
Έλμ μ컀 λ
Έλμ μ₯μ κ° λ°μνκ±°λ 컨ν
μ΄λ
μ΄λ―Έμ§λ₯Ό ꡬλνλ νλμ μ₯μ κ° λ°μνλ κ²½μ°μλ μμ μ μΈ μ μ΄ μμ€ν
μ΄μμ΄ κ°λ₯ν κ²μ΄λ€.
References
N.J. Ploplys, P.A. Kawka, A.G. Alleyne, Jun. 2004, Closed-loop control over wireless
networks, IEEE Control Systems Magazine, Vol. 24, No. 3, pp. 58-71
Liang Ma; Yuanqing Xia; Yasir Ali; Yufeng Zhan, Jul, 2017, Engineering problems in
initial phase of cloud control system, 2017 36th Chinese Control Conference (CCC)
Ben Kehoe, Sachin Patil, Pieter Abbeel, Ken Goldberg, April 2015, A Survey of
Research on Cloud Robotics and Automation, IEEE Trans. on Automation Science and Engineering,
Vol. 12, No. 2, pp. 398-409
S. Gu, S. Kang, W. Jeong, H. Moon, H. Yang, Y. Kim, Jun. 2022, Validation of Cloud
Robotics System in 5G MEC for Remote Execution of Robot Engines, Journal of Korea
Robotics Society, Vol. 17, pp. 118-409
Jul. 2016, Containers & Docker: Emerging roles & future of Cloud technology, 2016
2nd International Conference on Applied and Theoretical Computing and Communication
Technology (iCATccT), pp. 804-807
Kubernetes, [Online] http://kubernetes.io, Accessed: Aug. 18, 2022.
J. A. Bigheti, M. M. Fernandes, E. P. Godoy, 2019, Control as a Service: A Microservice
Approach to Industry 4.0, 2019 II Workshop on Metrology for Industry 4.0 and IoT (MetroInd4.0&IoT),
Naples, Italy
Y. Kim, S. Kim, Y. KWAK, 2005, Dynamic Analysis of a Nonholonomic Two-Wheeled Inverted
Pendulum Robot, Journal of Intelligent and Robotic Systems, Vol. 44, pp. 25-46
BNO055, [Online] https://www.bosch-sensortec.com/ products/smart-sensors/bno055, Accessed:
Aug. 11, 2022.
ODriver, [Online] https://odriverobotics.com/shop/odrive-v36, Accessed: Aug. 11, 2022.
Jetson AGX Xavier, [Online] https://developer.nvidia.com/embedded/jetson-agx-xavier-developer-kit,
Accessed: Aug. 12, 2022.
ROS2 Platform, [Online] https://docs.ros.org/en/foxy/Installation.html, Accessed:
Aug. 12, 2022.
S. Kang, cloud_bridge, [Online] https://github.com/lge-ros2/cloud_bridge, Accessed:
Aug. 18, 2022.
Z. Music, F. Molinari, S. GallenmΓΌller, O. Ayan, S. Zoppi, W. Kellerer, G. Carle,
T. Seel, JΓΆrg Raisch, 2019, Design of a Networked Controller for a Two-Wheeled Inverted
Pendulum Robot, IFAC, Vol. 52, No. issue 20, pp. 169-174
μ μμκ°
1994λ
2μ νμλνκ΅ μ μν΅μ 곡ν(곡νμ¬)
1996λ
2μ νμλνκ΅ μ μν΅μ 곡ν(곡νμμ¬)
1997~2000λ
2μ νκ΅μ² λκΈ°μ μ°κ΅¬μ
2022λ
νμ¬ : νμλνκ΅ μ μμ»΄ν¨ν°ν΅μ 곡νκ³Ό λ°μ¬κ³Όμ
2000λ
~νμ¬ LGμ μ μ±
μμ°κ΅¬μ
1989λ
2μ νμλνκ΅ μ μν΅μ 곡νκ³Ό(곡νμ¬)
1992λ
2μ νμλνκ΅ μ μν΅μ 곡νκ³Ό(곡νμμ¬)
1995λ
8μ νμλνκ΅ μ μν΅μ 곡νκ³Ό(곡νλ°μ¬)
2022λ
νμ¬ : νμλνκ΅ μ΅ν©μ μ곡νλΆ κ΅μ