InvSim algorithm for pre-computing airplane flight controls in limited-range autonomous missions, and demonstration via double-roll maneuver of Mirage III fighters

InvSim algorithm for pre-computing airplane flight controls in limited-range autonomous missions, and demonstration via double-roll maneuver of Mirage III fighters

๐Ÿ“ Abstract

**
๋ณธ ๋…ผ๋ฌธ์€ 6์ž์œ ๋„(6โ€‘DOF) ๋น„๋Œ€์นญ ๊ณ ์ •์ต ํ•ญ๊ณต๊ธฐ์˜ ์šด๋™ ๋ฐฉ์ •์‹์„ ์ผ๋ฐ˜ํ™”ํ•œ ์ˆ˜ํ•™์  ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, ๋ชฉํ‘œ ๋น„ํ–‰ ๊ถค์ ์„ ์ž…๋ ฅํ•˜๋ฉด ์ด๋ฅผ ์‹คํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์—”์ง„ ์ถ”๋ ฅยท๋‚ ๊ฐœยท์Šน๊ฐ•ยทํ‚ค ๋ฐฉํ–ฅ ์ œ์–ด๋Ÿ‰์„ ์—ญ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋Š” InvSim(Inverse Simulation) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ์‹œํ•œ๋‹ค.
์ฃผ์š” ์ ˆ์ฐจ๋Š”

  1. ๊ธฐํ˜ธ ์ˆ˜ํ•™์„ ์ด์šฉํ•ด ์—ญ๋ฐฉํ–ฅ ํ˜•ํƒœ๋กœ ์žฌ์ •๋ฆฌํ•œ ๋น„์„ ํ˜• ๋ฏธ๋ถ„โ€‘๋Œ€์ˆ˜ ๋ฐฉ์ •์‹(DAE) ๋„์ถœ,
  2. ๋ช…์‹œ์  4์ฐจ Rungeโ€‘Kutta(RK4)์™€ ์œ ํ•œ์ฐจ๋ถ„(FDM) ๊ธฐ๋ฐ˜ ์ˆ˜์น˜ ์ ๋ถ„์œผ๋กœ ์ œ์–ด ๋ณ€์ˆ˜๋ฅผ ์‹œ๊ฐ„ ์ด์‚ฐ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐ,
  3. MATLAB/Octave ๊ตฌํ˜„์„ ํ†ตํ•ด ๋ฏธ๋ผ์ง€โ€ฏIII(Mirageโ€ฏIII) ์ „ํˆฌ๊ธฐ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์—ฐ์† ์ด์ค‘ ๋กค(doubleโ€‘roll) ๊ถค์ ์„ ์žฌํ˜„.

๊ฒฐ๊ณผ์ ์œผ๋กœ, ์ง€์ •๋œ ๊ด€์„ฑ ์ขŒํ‘œโ€ฏ(xโ‚‰,โ€ฏyโ‚‰,โ€ฏzโ‚‰)์™€ ๋กค ๊ฐโ€ฏฯ•(t)๋งŒ์œผ๋กœ ์—”์ง„ ์ถ”๋ ฅโ€ฏT, ์กฐ์ข…๋ฉด ํŽธ๊ฐโ€ฏฮดโ‚—,โ€ฏฮดโ‚˜,โ€ฏฮดโ‚™์„ ์ •ํ™•ํžˆ ๋„์ถœํ•ด ๋ชฉํ‘œ ๊ถค์ ์„ ๋‹ฌ์„ฑํ•จ์„ ๋ณด์˜€๋‹ค.


**

๐Ÿ’ก Deep Analysis

**

1. ์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ ๋ฐ ํ•„์š”์„ฑ

  • ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ vs. ์ˆœ๋ฐฉํ–ฅ ์‹œ๋ฎฌ๋ ˆ์ด์…˜
    • ์ „ํ†ต์ ์ธ ๋น„ํ–‰์—ญํ•™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์€ ์ฃผ์–ด์ง„ ์ œ์–ด ์ž…๋ ฅ์œผ๋กœ ๊ถค์ ์„ ์˜ˆ์ธก(์ˆœ๋ฐฉํ–ฅ)ํ•œ๋‹ค.
    • ์ž์œจยท์ „๊ธฐโ€‘UAM(๋„์‹ฌํ•ญ๊ณต๋ชจ๋นŒ๋ฆฌํ‹ฐ) ๋“ฑ์—์„œ๋Š” ๋ชฉํ‘œ ๊ถค์  โ†’ ์ œ์–ด ์ž…๋ ฅ ๋ณ€ํ™˜์ด ํ•ต์‹ฌ์ด๋ฉฐ, ์ด๋Š” ์‹ค์‹œ๊ฐ„ ์ตœ์  ์ œ์–ด์™€๋„ ์ง๊ฒฐ๋œ๋‹ค.
  • 6โ€‘DOF ์ „๋ฐ˜์  ๋ชจ๋ธ๋ง
    • ๊ธฐ์กด ์—ฐ๊ตฌ๋Š” ์ข…์ข… ๋Œ€์นญ ๊ฐ€์ •, Euler ๊ฐ singularity, ํ˜น์€ ๋ฒกํ„ฐ/์ฟผํ„ฐ๋‹ˆ์–ธ ํ˜•ํƒœ์— ์˜์กดํ•ด ๊ตฌํ˜„ ๋ณต์žก๋„๊ฐ€ ๋†’์•˜๋‹ค.
    • ๋ณธ ๋…ผ๋ฌธ์€ ๋น„๋Œ€์นญ, ๊ณ ์†ยท๊ณ ๊ฐ€์† ์ƒํ™ฉ, ๋Œ€๊ธฐ ๋ฐ€๋„ ๋ณ€๋™(ISA) ๋“ฑ์„ ๋ชจ๋‘ ํฌํ•จํ•œ ์™„์ „ํ•œ 6โ€‘DOF ์Šค์นผ๋ผ ๋ฐฉ์ •์‹ ์ฒด๊ณ„๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

2. ํ•ต์‹ฌ ๊ธฐ๋ฒ•

๋‹จ๊ณ„ ๋‚ด์šฉ ์˜์˜
์ˆ˜ํ•™์  ์žฌ๊ตฌ์„ฑ ์ผ๋ฐ˜ ๋น„ํ–‰์—ญํ•™ DAE โ†’ ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ˜•ํƒœ(์ž…๋ ฅ: ์ขŒํ‘œยท๋กค, ์ถœ๋ ฅ: 4 ์ œ์–ด๋Ÿ‰) ์ œ์–ด ๋ณ€์ˆ˜ ์ง์ ‘ ํ•ด์„ ๊ฐ€๋Šฅ, ๋Œ€์ˆ˜์‹ ํ•ด์„ ํ•„์š” ์—†์Œ
๊ธฐํ˜ธ ์—ฐ์‚ฐ + RK4 Symbolic Math (Mathematica) ๋กœ ๋ฏธ๋ถ„์‹ ๋„์ถœ โ†’ ๋ช…์‹œ์  4์ฐจ RK4 ๋กœ ์‹œ๊ฐ„ ์ ๋ถ„ ๊ณ ์ •๋ฐ€(์˜ค์ฐจ O(ฮ”tโด))ยท๋‹จ์ˆœ ๊ตฌํ˜„, ์‹ค์‹œ๊ฐ„ ์ ์šฉ ๊ฐ€๋Šฅ
์œ ํ•œ์ฐจ๋ถ„(FDM) ์ œ์–ด๋Ÿ‰ ๋„ํ•จ์ˆ˜(์˜ˆ: thrustโ€‘rate) ๋ฅผ ์ฐจ๋ถ„์‹์œผ๋กœ ๊ทผ์‚ฌ ๋ณต์žกํ•œ ์—ฐ๋ฆฝ ๋ฐฉ์ •์‹ ํšŒํ”ผ, ๊ณ„์‚ฐ๋Ÿ‰ ๊ฐ์†Œ
MIMO ์ œ์–ด ๊ตฌ์กฐ 4 ์ž…๋ ฅ(๊ด€์„ฑ ์ขŒํ‘œยท๋กค) โ†” 4 ์ถœ๋ ฅ(์ถ”๋ ฅยท3์กฐ์ข…๋ฉด) ๋‹ค๋ณ€๋Ÿ‰ ์ œ์–ด ๋ฌธ์ œ๋ฅผ ๋ช…ํ™•ํžˆ ์ •์˜, ํ™•์žฅ์„ฑ ํ™•๋ณด

3. ์‹คํ—˜ยท์‹œ์—ฐ

  • ๋Œ€์ƒ ํ•ญ๊ณต๊ธฐ: ๋ฏธ๋ผ์ง€โ€ฏIII (Dassault Aviation) โ€“ ๊ณ ์„ฑ๋Šฅ ์ „ํˆฌ๊ธฐ, ๋น„๋Œ€์นญ ๊ตฌ์กฐ์™€ ๊ธ‰๊ฒฉํ•œ ๋กคยทํ”ผ์น˜ยท์š” ๋™์ž‘์„ ํฌํ•จ.
  • ์‹œ์—ฐ ๊ถค์ : ์—ฐ์† ์ด์ค‘ ๋กค(doubleโ€‘roll) โ†’ ๊ณ ์† ๋กค๋ง๊ณผ ๋™์‹œ์— ๊ณ ๋„ยท๋ฐฉํ–ฅ ๋ณ€ํ™”๋ฅผ ์š”๊ตฌ.
  • ์„ฑ๊ณผ:
    • ์ œ์–ด ์ž…๋ ฅ(์ถ”๋ ฅยท์กฐ์ข…๋ฉด ํŽธ๊ฐ) ๊ทธ๋ž˜ํ”„๊ฐ€ ๋ฌผ๋ฆฌ์  ํ•œ๊ณ„(์˜ˆ: ์ตœ๋Œ€ ํŽธ๊ฐ, ์ถ”๋ ฅ ํ•œ๊ณ„) ๋‚ด์—์„œ ๋งค๋„๋Ÿฝ๊ฒŒ ๋ณ€ํ•จ.
    • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ถค์ ์ด ์ง€์ •๋œ ๊ด€์„ฑ ์ขŒํ‘œ์™€ ๋กค ๊ฐ์„ ์˜ค์ฐจ < 0.5โ€ฏ% ์ˆ˜์ค€์œผ๋กœ ์žฌํ˜„.

4. ๊ฐ•์ 

  1. ์™„์ „ํ•œ 6โ€‘DOF ์Šค์นผ๋ผ ๋ชจ๋ธ โ€“ ๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ๋ชจ๋“  ์ž์œ ๋„๋ฅผ ํฌ๊ด„.
  2. ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ „์šฉ ์ˆ˜์‹ โ€“ ์ œ์–ด๋Ÿ‰์„ ์ง์ ‘ ๊ณ„์‚ฐํ•˜๋ฏ€๋กœ, ์‹ค์‹œ๊ฐ„ ์ตœ์  ์ œ์–ด ๋ฃจํ”„์— ๋ฐ”๋กœ ์‚ฝ์ž… ๊ฐ€๋Šฅ.
  3. ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ โ€“ MATLAB/Octave ์™ธ์—๋„ Python, FORTRAN ๋“ฑ ์ผ๋ฐ˜ ์–ธ์–ด๋กœ ์†์‰ฝ๊ฒŒ ํฌํŒ… ๊ฐ€๋Šฅ.
  4. ํ™˜๊ฒฝ ์นœํ™”์  ํ™•์žฅ โ€“ ์ „๊ธฐ ์ถ”์ง„ยท๋Œ€์ฒด ์—ฐ๋ฃŒ ๋ชจ๋ธ์„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํฌํ•จํ•  ์ˆ˜ ์žˆ์–ด, eโ€‘UAM ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ํ•ฉ.

5. ํ•œ๊ณ„ ๋ฐ ๊ฐœ์„ ์ 

ํ•ญ๋ชฉ ๋‚ด์šฉ ์ œ์–ธ
์‹ค์‹œ๊ฐ„์„ฑ ๊ฒ€์ฆ ๋ถ€์กฑ ๋…ผ๋ฌธ์€ ์˜คํ”„๋ผ์ธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋งŒ ์ œ์‹œ, ์‹ค์ œ ๋น„ํ–‰ ์ œ์–ด๊ธฐ์— ์ ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ ์ธก์ • ๋ถ€์žฌ ์‹ค์‹œ๊ฐ„ ํ•˜๋“œ์›จ์–ดโ€‘์ธโ€‘๋”โ€‘๋ฃจํ”„(HIL) ํ…Œ์ŠคํŠธ ๋ฐ CPU/GPU ๋ถ€ํ•˜ ๋ถ„์„ ํ•„์š”
์™ธ๋ž€ยท๊ฐ•์ œํ•ญ๋ ฅ ๋ชจ๋ธ ๋ถ€์žฌ ํ’๋™ยท๋‚œ๊ธฐ๋ฅ˜, ๊ธ‰๊ฒฉํ•œ ๊ธฐ์ƒ ๋ณ€ํ™” ๋“ฑ ์™ธ๋ถ€ ๊ต๋ž€์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์Œ ์™ธ๋ž€ ๋ชจ๋ธ(์˜ˆ: ํ’์† ๋ณ€๋™, ํ„ฐ๋ทธ๋Ÿฐ์Šค)๊ณผ ์ ์‘ํ˜•/๊ฐ•์ธ ์ œ์–ด ๊ธฐ๋ฒ• ํ†ตํ•ฉ ์—ฐ๊ตฌ ํ•„์š”
์ œ์–ด ์ž…๋ ฅ ์ œํ•œ ์กฐ์ข…๋ฉด ํŽธ๊ฐยท์ถ”๋ ฅ์— ๋Œ€ํ•œ ๋ฌผ๋ฆฌ์  ํ•œ๊ณ„(ํฌํ™”) ๊ณ ๋ ค๋Š” ์–ธ๊ธ‰๋˜์—ˆ์ง€๋งŒ, ์ œ์–ด ์ตœ์ ํ™”(์˜ˆ: ์ตœ์†Œ ์—๋„ˆ์ง€) ๋ชฉํ‘œ๋Š” ์—†์Œ ์ œ์–ด ์ตœ์ ํ™”(์—๋„ˆ์ง€, ์—ฐ๋ฃŒ ํšจ์œจ) ๋ชฉํ‘œ ํ•จ์ˆ˜๋ฅผ ๋„์ž…ํ•œ ๋‹ค๋ชฉ์  ์ตœ์ ํ™” ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์ถ•
๊ฒ€์ฆ ๋Œ€์ƒ ๋‹ค์–‘์„ฑ ๋ฏธ๋ผ์ง€โ€ฏIII ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉ, ๋‹ค๋ฅธ ํ•ญ๊ณต๊ธฐ(์˜ˆ: ์ „๊ธฐโ€‘๋“œ๋ก , ์ˆ˜์ง์ด์ฐฉ๋ฅ™๊ธฐ)์™€์˜ ์ผ๋ฐ˜ํ™” ๊ฒ€์ฆ ๋ถ€์กฑ ๋‹ค์–‘ํ•œ ๋น„๋Œ€์นญยท๋น„์ „ํ†ต์  ํ•ญ๊ณต๊ธฐ ๋ชจ๋ธ์— ์ ์šฉํ•ด ๋ฒ”์šฉ์„ฑ ํ™•์ธ
์ˆ˜์น˜ ์•ˆ์ •์„ฑ ๊ณ ๊ฐ€์†ยท๊ณ ๊ฐ์†๋„ ๊ตฌ๊ฐ„์—์„œ RK4์™€ FDM ์กฐํ•ฉ์ด ์ˆ˜์น˜ ๋ฐœ์‚ฐ ๊ฐ€๋Šฅ์„ฑ ์กด์žฌ ๊ฐ€๋ณ€ ์‹œ๊ฐ„ ์Šคํ…(adaptive step) ๋˜๋Š” ๊ณ ์ฐจ ์Šคํ‚ด(์˜ˆ: Dormandโ€‘Prince) ๋„์ž… ๊ฒ€ํ† 

6. ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ

  1. ์‹ค์‹œ๊ฐ„ ์ž์œจ ๋น„ํ–‰ ์ œ์–ด ๋ฃจํ”„ โ€“ InvSim์„ ์‹ค์‹œ๊ฐ„ MPC(Model Predictive Control) ํ˜น์€ RL(Reinforcement Learning) ๊ธฐ๋ฐ˜ ์ œ์–ด์™€ ๊ฒฐํ•ฉ.
  2. ๋‹ค์ค‘ ๋ชฉํ‘œ ์ตœ์ ํ™” โ€“ ์—ฐ๋ฃŒ ์†Œ๋ชจ, ๋ฐฐํ„ฐ๋ฆฌ ๋ฐฉ์ „, ๊ธฐ๋™์„ฑ ๋“ฑ์„ ๋™์‹œ์— ๊ณ ๋ คํ•œ ๋‹ค๋ชฉ์  ์ตœ์ ํ™” ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์ถ•.
  3. ์™ธ๋ž€ ๋ณด์ƒ ๋ฐ ๊ฐ•์ธ์„ฑ โ€“ Kalman Filter, Hโˆž ์ œ์–ด ๋“ฑ์œผ๋กœ ์™ธ๋ถ€ ๊ต๋ž€์„ ์‹ค์‹œ๊ฐ„ ๋ณด์ •.
  4. ํ”Œ๋žซํผ ์ด์‹์„ฑ โ€“ ROS2, PX4 ๋“ฑ ์˜คํ”ˆ์†Œ์Šค ๋น„ํ–‰ ์ œ์–ด ์Šคํƒ์— ๋ชจ๋“ˆํ™”ํ•˜์—ฌ ์ ์šฉ.
  5. ์‹คํ—˜ ๊ฒ€์ฆ โ€“ ์‹ค์ œ ๋ฌด์ธ ํ•ญ๊ณต๊ธฐ(๋“œ๋ก ) ํ˜น์€ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ(Xโ€‘Plane, FlightGear)์™€ ์—ฐ๋™ํ•ด ํ•˜๋“œ์›จ์–ดโ€‘์ธโ€‘๋”โ€‘๋ฃจํ”„ ๊ฒ€์ฆ ์ˆ˜ํ–‰.

**

๐Ÿ“„ Full Content

์˜ˆ์ธก๋œ ๊ฒฐ๊ณผ์ด๋ฉฐ, ์ด์™€ ๋ฐ˜๋Œ€๋˜๋Š” ๋ชจ๋ธ๋ง ๊ณผ์ •์€ ์ „๋ฐฉ ๋น„ํ–‰์—ญํ•™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜(forward flight mechanics simulation)์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๋Š” ํƒ์ƒ‰์  ๋ฒ”์ฃผ์˜ ๋น„ํ–‰์—ญํ•™์— ํ•ด๋‹นํ•œ๋‹ค[21][22][23][24][25][26][27]. ์ •ํ™•ํ•œ ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋น„ํ–‰์—ญํ•™ ๋ชจ๋ธ๋ง์€ ํŒŒ์ผ๋Ÿฟ์ด ์—†๋Š”(์ž์œจ) ํ•ญ๊ณต ํ™œ๋™์„ ํ†ตํ•œ ์ฒจ๋‹จ ์šด์†ก ์ˆ˜๋‹จ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์Šค๋งˆํŠธ ์‹œํ‹ฐ ๋‚ด ํ˜น์€ ์ธ์ ‘ ๋„์‹œ ๊ฐ„์— ์ „๊ธฐํ™”๋œ ๋„์‹œ ํ•ญ๊ณต ๋ชจ๋นŒ๋ฆฌํ‹ฐ(eโ€‘UAM) ์ •๊ธฐ ์šดํ–‰์„ ์ฒญ์ • ์žฌ์ƒ์—๋„ˆ์ง€๋กœ ๊ตฌ๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋งŒ, ์™ธ๋ถ€ ๊ต๋ž€์„ ์–ต์ œํ•˜๊ธฐ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ์ œ์–ด ์‹œ์Šคํ…œ์ด ์ถ”๊ฐ€๋กœ ๋ณด๊ฐ•๋˜์–ด์•ผ ํ•œ๋‹ค[28][29][30][31][32].

๋ณธ ์—ฐ๊ตฌ๋Š” ์ด์ „ ๋…ผ๋ฌธ์—์„œ ์ œ์‹œํ•œ ๊ณ ์ •์ต ํ•ญ๊ณต๊ธฐ์˜ ์ผ๋ฐ˜ ์šด๋™ ๋ชจ๋ธ๋ง์„ ์œ„ํ•œ ์ˆ˜ํ•™์  ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์—ฐ์†์ด๋‹ค. ํ•ด๋‹น ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์„ ๊ฐ€์ง„๋‹ค.

  1. 6์ž์œ ๋„(6โ€‘DOF) ์ „๋ถ€๋ฅผ ํฌํ•จํ•œ๋‹ค.
  2. ์ „ํ†ต์ ์ธ ์˜ค์ผ๋Ÿฌ ๊ฐ ํ‘œํ˜„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ•˜ ์ˆ˜์ง ๋น„ํ–‰ ํŠน์ด์ ์„ ํšŒํ”ผํ•œ๋‹ค.
  3. ์„ ํ˜•(๋ณ‘์ง„) ์šด๋™๋Ÿ‰ ๋ฐฉ์ •์‹์„ ๋ณ€ํ™˜ํ•˜์—ฌ, ๋น ๋ฅธ ๋™์—ญํ•™ ํ•˜์—์„œ ์ธ์ ‘ ํ•ญ๋“ค์˜ ํฌ๊ธฐ ์ฐจ์ด๊ฐ€ ํฌ๊ฒŒ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.
  4. ํ•ญ๊ณต๊ธฐ ๋Œ€์นญ์„ฑ ๊ฐ€์ •์„ ์—†์•ค๋‹ค.
  5. ๋น„ํ–‰์— ์˜์กดํ•˜๋Š” ๋ชจ๋“  ๊ณต๊ธฐ์—ญํ•™ยท์•ˆ์ •์„ฑ ๊ณ„์ˆ˜๋ฅผ ๋ช…ํ™•ํžˆ ํ‘œํ˜„ํ•œ๋‹ค.
  6. ์˜ค์ผ๋Ÿฌ ๊ฐ๋งŒ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹ , ๊ด€์„ฑ(์ง€๊ตฌ) ์ขŒํ‘œ๊ณ„ยท๊ธฐ์ฒด ๊ณ ์ • ์ขŒํ‘œ๊ณ„ยทํ’๋™ ์ขŒํ‘œ๊ณ„๋ผ๋Š” ์„ธ ์ข…๋ฅ˜์˜ ์ถ•์„ ์ด์šฉํ•ด ์ž์„ธ๋ฅผ ๊ธฐ์ˆ ํ•œ๋‹ค.
  7. ๋‘ ๊ฐœ์˜ ๋น„ํ–‰๊ฒฝ๋กœ ๊ฐ(๋ฐฉ์œ„๊ฐยท๊ณ ๋„๊ฐ)์„ ์ค‘๊ฐ„ ๊ตฌ๋ฉด ์ขŒํ‘œ๊ณ„๋กœ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ, **๋น„ํ–‰ ๊ฒฝ๋กœ ๋ฐฉํ–ฅ(ํ•ญ๊ณต๊ธฐ์˜ โ€œ์ฝ”์Šคโ€)**๊ณผ **์ง€๋ฉด์— ๋Œ€ํ•œ ํ•ญ๊ณต๊ธฐ ์ž์„ธ(ํ•ญ๊ณต๊ธฐ์˜ โ€œํ—ค๋”ฉโ€)**๋ฅผ ๋ถ„๋ฆฌํ•œ๋‹ค.
  8. ๋ฒกํ„ฐ ๋ฐฉ์ •์‹์ด๋‚˜ ์‚ฌ์›์ˆ˜ ๋Œ€์‹  ์Šค์นผ๋ผ ๋ฐฉ์ •์‹๋งŒ์„ ์‚ฌ์šฉํ•ด, ์ปดํ“จํ„ฐ ๊ธฐ๋ฐ˜ ๋น„ํ–‰์—ญํ•™ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๊ตฌํ˜„์„ ๋‹จ์ˆœํ™”ํ•œ๋‹ค.
  9. ๊ตญ์ œ ํ‘œ์ค€ ๋Œ€๊ธฐ(ISA) ๋ชจ๋ธ์„ ์ด์šฉํ•ด ๊ณ ๋„์— ๋”ฐ๋ฅธ ๊ณต๊ธฐ ๋ฐ€๋„ ๋ณ€ํ™”๋ฅผ ๊ณ ๋ คํ•œ๋‹ค(๊ณต๊ธฐ๋Š” ์ด์ƒ ๊ท ์ผ ๊ธฐ์ฒด๋กœ ๊ฐ€์ •).
  10. ์‚ฌ์šฉ์ž ์ •์˜ ์ž…๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๋‚˜ ๋น„์„ ํ˜• ์–‘๋ ฅ๊ณ„์ˆ˜์™€ ๊ฐ™์€ ํŠน์ˆ˜ ํ•ญ๊ณต๊ธฐ ํŠน์„ฑ์„ ํ†ตํ•ด, ๋ชจ๋ธ์„ ์†์‰ฝ๊ฒŒ ํŠน์ • ํ•ญ๊ณต๊ธฐ์— ๋งž๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์•ž์„œ ์ œ์‹œํ•œ ์ผ๋ฐ˜ ๋น„์„ ํ˜• ๋ฏธ๋ถ„โ€‘๋Œ€์ˆ˜ ๋ฐฉ์ •์‹(DAE) ์‹œ์Šคํ…œ์„ ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋น„ํ–‰์—ญํ•™์— ๋งž๊ฒŒ ์žฌ๊ตฌ์„ฑํ•˜๊ณ , ์ด๋ฅผ ์ˆ˜์น˜์ ์œผ๋กœ ์ ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์ƒ์„ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ์‹œํ•œ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋Œ€์ˆ˜ ๋ฐฉ์ •์‹ ์‹œ์Šคํ…œ์„ ํ’€ ํ•„์š” ์—†์ด ๋ช…์‹œ์  ์ˆ˜ํ•™์‹๋งŒ์œผ๋กœ ์šด๋™ ๋ฐฉ์ •์‹(EOM)์„ ์ ๋ถ„ํ•œ๋‹ค. ์ ๋ถ„ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” 4์ฐจ ๋Ÿฐ์ง€โ€‘์ฟ ํƒ€(RK4) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ์œ ํ•œ ์ฐจ๋ถ„๋ฒ•(FDM) ๊ธฐ๋ฐ˜์˜ ์ˆ˜์น˜ ๋ฏธ๋ถ„์‹๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค[57][58][59][60][61][62][63][64].

์ œ์•ˆ๋œ ์ˆ˜์น˜ ์ ˆ์ฐจ๋ฅผ ์ปดํ“จํ„ฐ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๊ณ , ํ”„๋ž‘์Šค ํ•ญ๊ณต๊ธฐ ์ œ์กฐ์—…์ฒด **๋‹ค์†Œ ํ•ญ๊ณต(Dassault Aviation)**์ด ๋งŒ๋“  ๋ฏธ๋ผ์ง€ III(Mirageโ€ฏIII) ์ „ํˆฌ๊ธฐ์™€ ๊ฑฐ์˜ ๋™์ผํ•œ ํ•ญ๊ณต๊ธฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ์—ฐ์† ์ด์ค‘ ๋กค(continuousโ€‘doubleโ€‘roll) ๊ธฐ๋™์„ ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•œ ์‚ฌ๋ก€๋ฅผ ์ œ์‹œํ•œ๋‹ค[65][66].

์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜(InvSim) ๋น„ํ–‰์—ญํ•™ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ธฐ๋ณธ ๊ฐœ๋…

  • ํ•ญ๊ณต๊ธฐ๋ฅผ MIMO(๋‹ค์ค‘์ž…๋ ฅโ€‘๋‹ค์ค‘์ถœ๋ ฅ) ์ œ์–ด ์‹œ์Šคํ…œ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.
  • ์ž…๋ ฅ 4๊ฐœ: ๊ด€์„ฑ(์ง€๋ฉด ๊ธฐ์ค€) ์ง๊ต ์ขŒํ‘œ๊ณ„ (($x_g$, $y_g$, $z_g$)) ๋กœ ํ‘œํ˜„๋œ ํ•ญ๊ณต๊ธฐ ๋ฌด๊ฒŒ์ค‘์‹ฌ(CG)์˜ ์œ„์น˜์™€ ๋กค ๊ฐ(ฯ•).
    • (($x_g$)) : ์ดˆ๊ธฐ ๋น„ํ–‰์ (์ด๋ฅ™์ )์œผ๋กœ๋ถ€ํ„ฐ ๋ถ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•œ ๋ถ€ํ˜ธ ์žˆ๋Š” ๊ฑฐ๋ฆฌ(๋ฏธํ„ฐ).
    • (($y_g$)) : ์ดˆ๊ธฐ ๋น„ํ–‰์ ์œผ๋กœ๋ถ€ํ„ฐ ๋™์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•œ ๋ถ€ํ˜ธ ์žˆ๋Š” ๊ฑฐ๋ฆฌ(๋ฏธํ„ฐ).
    • (($z_g$)) : ์ดˆ๊ธฐ ๋น„ํ–‰์ ์œผ๋กœ๋ถ€ํ„ฐ ์ง€๊ตฌ ์ค‘์‹ฌ ๋ฐฉํ–ฅ(ํ•˜๊ฐ•)์œผ๋กœ ์ด๋™ํ•œ ๋ถ€ํ˜ธ ์žˆ๋Š” ๊ฑฐ๋ฆฌ(๋ฏธํ„ฐ). ์ผ๋ฐ˜์ ์œผ๋กœ ์Œ์ˆ˜์ด๋ฉฐ, ๋น„ํ–‰๊ธฐ๊ฐ€ ์ดˆ๊ธฐ ๊ณ ๋„๋ณด๋‹ค ๋‚ฎ์•„์งˆ ๋•Œ๋งŒ ์–‘์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ์ค‘๋ ฅ์ถ•์€ ์ง€๊ตฌ ์ค‘์‹ฌ์„ ํ–ฅํ•˜๋Š” ๊ด€์„ฑ์ถ•์ด๋ฉฐ, ๊ณ ๋„์ถ•์€ ๊ทธ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ(ํ•˜๋Š˜์„ ํ–ฅํ•œ๋‹ค)์ด๋‹ค.
  • ์ถœ๋ ฅ 4๊ฐœ: ํ•ญ๊ณต๊ธฐ์˜ ์†๋„ยท์ž์„ธ๋ฅผ ์ง€์ •๋œ ์ž…๋ ฅ์— ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๊ณ„์‚ฐ๋˜๋Š” ๋„ค ๊ฐœ์˜ ๋น„ํ–‰ ์ œ์–ด ๋ณ€์ˆ˜(์ œ์–ด ์ž…๋ ฅ)์ด๋‹ค.

๋„ค ๊ฐœ์˜ ์ถœ๋ ฅ ์ œ์–ด ๋ณ€์ˆ˜

  1. ์—”์ง„ ์ถ”๋ ฅ (T) (N)

    • ์ „ํ†ต์ ์ธ ์—ฐ์†Œ ์—”์ง„๋ฟ ์•„๋‹ˆ๋ผ ์ „๊ธฐ ํ”„๋กœํŽ ๋Ÿฌยท์ „๊ธฐ ๋•ํŠธ ํŒฌ(EDF) ๋“ฑ ์ „๊ธฐ ์ถ”์ง„๋„ ํฌํ•จํ•œ๋‹ค[69โ€‘74]. ์ „๊ธฐยท์ฒญ์ • ์—ฐ๋ฃŒ ์ถ”์ง„์€ ์˜จ์‹ค๊ฐ€์Šค ๋ฐฐ์ถœ์„ ์—†์• ๋Š” ํ™˜๊ฒฝ์  ์ด์ ์„ ์ œ๊ณตํ•œ๋‹ค[75โ€‘89].
    • ์ด๋ก ์ ์œผ๋กœ๋Š” ์งง์€ ๊ตฌ๊ฐ„์—์„œ ์ถ”๋ ฅ ๋ฐ˜์ „(TR)ยท์Œ์˜ ์ถ”๋ ฅ๋„ ํ—ˆ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋‚˜, ๊ณ ์ •์ต์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค[90โ€‘93].
  2. ์—์ผ๋Ÿฌ๋ก  ๋ณ€์œ„ (\delt$a_l$) (rad)

    • ๋กค ์ž์œ ๋„๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค. ์˜ค๋ฅธ์ชฝ(์šฐํ˜„) ์—์ผ๋Ÿฌ๋ก ์ด ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๊ณ  ์™ผ์ชฝ(์ขŒํ˜„) ์—์ผ๋Ÿฌ๋ก ์ด ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐˆ ๋•Œ ์–‘์˜ ๋ณ€์œ„๊ฐ€ ๋œ๋‹ค(์–‘์˜ ๋กค ๊ฐ ฯ•๋ฅผ ์œ ๋„).
  3. ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ๋ณ€์œ„ (\delt$a_m$) (rad)

    • ํ”ผ์น˜ ์ž์œ ๋„๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค. ๋‘ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ๋™์‹œ์— ์•„๋ž˜๋กœ ๊ธฐ์šธ์–ด์งˆ ๋•Œ ์–‘์˜ ๋ณ€์œ„๊ฐ€ ๋˜๋ฉฐ, ์ด๋Š” ์–‘์˜ ํ”ผ์น˜ ๊ฐ (\theta) (๊ธฐ์ˆ˜ ์ƒ์Šน)๋ฅผ ์œ ๋„ํ•œ๋‹ค.
  4. ๋Ÿฌ๋” ๋ณ€์œ„ (\delt$a_n$) (rad)

    • ์š” ์ž์œ ๋„๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค. ๋Ÿฌ๋”๊ฐ€ ์˜ค๋ฅธ์ชฝ(์šฐํ˜„)์œผ๋กœ ๊ธฐ์šธ์–ด์งˆ ๋•Œ ์–‘์˜ ๋ณ€์œ„๊ฐ€ ๋˜๋ฉฐ, ์ด๋Š” ์–‘์˜ ์š”๊ฐ(ํ—ค๋”ฉ ๊ฐ) (\psi) ๋ฅผ ๋งŒ๋“ ๋‹ค.

์„ธ ๊ฐœ์˜ ์ œ์–ด ๋ณ€์œ„ ((\delt$a_l$,\delt$a_m$,\delt$a_n$)) ์˜ ๋ถ€ํ˜ธ ๊ทœ์น™์€ **์ฝ”๋ฅดํฌ์Šคํฌ๋ฅ˜ ๊ทœ์น™(์˜ค๋ฅธ์† ๋ฒ•์น™)**์— ๋”ฐ๋ผ ์ •์˜๋œ๋‹ค[94][95]. ๊ทธ๋ฆผโ€ฏ3์€ ๋„ค ๊ฐœ์˜ ๋น„ํ–‰ ์ œ์–ด ๋ณ€์ˆ˜๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์—ฌ์ค€๋‹ค.

์ˆ˜์น˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌ์ถ• ์ ˆ์ฐจ

  1. ์ผ๋ฐ˜ ๋น„ํ–‰์—ญํ•™ ์šด๋™ ๋ฐฉ์ •์‹์„ ๋จผ์ € ์ œ์‹œํ•œ๋‹ค.
  2. ์ด๋ฅผ ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ˜•ํƒœ(InvSim) ๋กœ ์žฌ๊ตฌ์„ฑํ•˜์—ฌ, ์ง€์ •๋œ ์ž…๋ ฅ(์ขŒํ‘œยท๋กค ๊ฐ)์œผ๋กœ๋ถ€ํ„ฐ ๋„ค ๊ฐœ์˜ ์ œ์–ด ๋ณ€์ˆ˜๋ฅผ ์ง์ ‘ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ ๋‹ค.
  3. RK4์™€ FDM์„ ์ด์šฉํ•ด ์žฌ๊ตฌ์„ฑ๋œ ๋ฏธ๋ถ„โ€‘๋Œ€์ˆ˜ ์—ฐ๋ฆฝ ๋ฐฉ์ •์‹(DAE) ์„ ๊ฐ„๋‹จํžˆ ์ ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ์‹œํ•œ๋‹ค.
  4. ๊ตฌํ˜„ ์–ธ์–ด๋Š” MATLAB/Octave๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ, PythonยทFORTRAN ๋“ฑ ๋‹ค๋ฅธ ๊ณ ์ˆ˜์ค€ ์–ธ์–ด์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค[104โ€‘111].

๊ฒ€์ฆ ๋ฐ ๊ฒฐ๊ณผ

  • ์ œ์•ˆ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ •ํ™•์„ฑ์€ ์‹ค์ œ ์˜ˆ์ œ ๊ธฐ๋™์„ ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•จ์œผ๋กœ์จ ํ™•์ธํ•˜์˜€๋‹ค.
  • ํ•„์š”ํ•œ ๋ฏธ๋ถ„ ํ•ญ์€ ์ˆ˜๋™์œผ๋กœ ๋ฏธ์ ๋ถ„ ๊ทœ์น™์„ ์ด์šฉํ•ด ๋„์ถœํ–ˆ์œผ๋ฉฐ, Mathematica๋ฅผ ์ด์šฉํ•ด ์ž๋™์œผ๋กœ ๋„์ถœํ•œ ๊ฒฐ๊ณผ์™€ ์™„์ „ํžˆ ์ผ์น˜ํ•จ์„ ํ™•์ธํ•˜์˜€๋‹ค[112โ€‘122].

1. ๋น„ํ–‰์—ญํ•™ ์ˆ˜ํ•™ ํ”„๋ ˆ์ž„์›Œํฌ (์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋น„์ตœ์ ํ™” ๋ฒ„์ „)

๋ณธ ์ ˆ์—์„œ๋Š” ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ํŠนํ™”๋˜์ง€ ์•Š์€ ์ผ๋ฐ˜ ๋น„ํ–‰์—ญํ•™ ๋ฐฉ์ •์‹์„ ์ œ์‹œํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” 6์ž์œ ๋„ ๊ฐ•์ฒด์˜ ์„ธ ๊ฐœ ์„ ํ˜•(๋ณ‘์ง„) ์šด๋™๋Ÿ‰ ๋ฐฉ์ •์‹๊ณผ ์„ธ ๊ฐœ ๊ฐ์šด๋™๋Ÿ‰ ๋ฐฉ์ •์‹๋ฟ ์•„๋‹ˆ๋ผ, ์ด๋“ค์„ ์™„์ „ํ•˜๊ฒŒ ๊ฒฐํ•ฉํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ณด์กฐ ์ค‘๊ฐ„ ๋ฐฉ์ •์‹๋„ ํ•จ๊ป˜ ์ œ์‹œํ•œ๋‹ค.

1.1 ๊ฐ์†๋„์™€ ์˜ค์ผ๋Ÿฌ ๊ฐ์†๋„ ๊ด€๊ณ„

๋กค ์†๋„ (p), ํ”ผ์น˜ ์†๋„ (q), ์š” ์†๋„ (r) ์€ ์˜ค์ผ๋Ÿฌ ๊ฐ์†๋„ ((\dot\phi,\dot\theta,\dot\psi)) ์™€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฐ๊ฒฐ๋œ๋‹ค.

[ p = \dot\phi \sin\theta \sin\psi + \dot\theta \cos\psi,\qquad q = \dot\phi \sin\theta \cos\psi - \dot\theta \sin\psi,\qquad r = \dot\phi \cos\theta + \dot\psi \tag{2} ]

๊ทธ๋ฆผโ€ฏ4๋Š” ๊ด€์„ฑ ์ขŒํ‘œ๊ณ„(๋ถโ€‘๋™โ€‘์ค‘๋ ฅ) โ†’ ๋ชธ์ฒด ๊ณ ์ • ์ขŒํ‘œ๊ณ„(์ „โ€‘์ธกโ€‘ํ•˜) ๋กœ ๋ณ€ํ™˜๋˜๋Š” ์„ธ ๋‹จ๊ณ„ ํšŒ์ „์„ ๋ณด์—ฌ์ค€๋‹ค[123โ€‘126].

1.2 ์„ ํ˜• ์šด๋™๋Ÿ‰ ๋ฐฉ์ •์‹(ํ’๋™ ์ถ•)

์„ ํ˜• ์šด๋™๋Ÿ‰ ๋ฐฉ์ •์‹์€ ํ’๋™ ์ถ•(x(_w), y(_w), z(_w)) ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ํ’๋™ ์ถ•์˜ ์›์ ์€ ๋ชธ์ฒด์™€ ํ•จ๊ป˜ ์ด๋™ํ•˜๋ฉฐ, ์ขŒํ‘œ๋Š” ์†๋„ ํฌ๊ธฐ (V), ์‚ฌ์ด๋“œ์Šฌ๋ฆฝ ๊ฐ (\beta), ๋ฐ›์Œ๊ฐ (\alpha) ๋กœ ์ •์˜๋œ๋‹ค.

  • ($x_w$) ์ถ•์€ ๋น„ํ–‰ ๊ฒฝ๋กœ์™€ ์ ‘์„ ์ด๋ฉฐ, ์ „์ฒด ์†๋„ ๋ฒกํ„ฐ์™€ ์ผ์น˜ํ•œ๋‹ค.
  • (\beta) ๋Š” ํ’๋™ ์ถ•์„ ํšŒ์ „์‹œ์ผœ ($x_w$) ๊ฐ€ ๋ชธ์ฒด์˜ ์ค‘๊ฐ„ ํ‰๋ฉด(x(_b)โ€‘z(_b))์— ๋†“์ด๋„๋ก ํ•˜๋Š” ๊ฐ์ด๋‹ค. (\beta=0)์ด๋ฉด ์ž…์‚ฌ ๊ธฐ๋ฅ˜๊ฐ€ ๋ชธ์ฒด ์ค‘๊ฐ„ ํ‰๋ฉด์— ๋Œ€ํ•ด ๋Œ€์นญ์ด๋‹ค.
  • (\alpha) ๋Š” (\beta) ํšŒ์ „ ํ›„ ํ’๋™ ์ถ•์„ ๋‹ค์‹œ ํšŒ์ „์‹œ์ผœ ๋ชธ์ฒด ๊ณ ์ • ์ถ•๊ณผ ์ผ์น˜์‹œํ‚ค๋Š” ๊ฐ์ด๋‹ค.

ํ’๋™ ์ถ•์— ๋Œ€ํ•œ ์†๋„ ์„ฑ๋ถ„ ((u,v,w)) ์€ ๊ฐ๊ฐ ๋ชธ์ฒด ๊ณ ์ • ์ถ• (($x_b$,$y_b$,$z_b$)) ์— ๋Œ€ํ•œ ์†๋„ ์„ฑ๋ถ„์ด๋‹ค. ๊ทธ๋ฆผโ€ฏ5๋Š” (\alpha,\beta) ์™€ ํ’๋™ยท๋ชธ์ฒด ์ถ• ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

1.3 ํ‰ํ˜• ๋น„ํ–‰๊ณผ ๋ฐ›์Œ๊ฐ

(\beta=0) ์ด๊ณ  (\alpha=0) ์ผ ๋•Œ, ํ’๋™ ์ถ•๊ณผ ๋ชธ์ฒด ์ถ•์ด ์™„์ „ํžˆ ์ผ์น˜ํ•œ๋‹ค. ์ด๋Š” ์ˆ˜ํ‰ ์ •์ง€ ๋น„ํ–‰(ํ‰ํ˜• ์ƒํƒœ)์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋•Œ๋„ ์–‘๋ ฅ๊ณผ ์ถ”๋ ฅ์ด ๊ฐ๊ฐ ์ค‘๋ ฅยทํ•ญ๋ ฅ์„ ์ƒ์‡„ํ•ด์•ผ ํ•œ๋‹ค[127โ€‘129].

ํ‰ํ˜• ์–‘๋ ฅ์„ ์–ป๊ธฐ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์บ ๋ฒ„(camber)ํ˜• ๋น„๋Œ€์นญ ๋‚ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•ด, ๋‚ ๊ฐœ๊ฐ€ ์ˆ˜ํ‰์ผ ๋•Œ๋„ ๋น„๋Œ€์นญ ์••๋ ฅ ์ฐจ์ด๋กœ ์–‘๋ ฅ์ด ๋ฐœ์ƒํ•˜๋„๋ก ํ•œ๋‹ค.
  2. ๋‚ ๊ฐœ ์„ค์น˜๊ฐ(incidence angle) (i) ๋ฅผ ๋„์ž…ํ•œ๋‹ค. ๋‚ ๊ฐœ๋ฅผ ์†Œ๋Ÿ‰ ๊ธฐ์šธ์ด๋ฉด, ๋น„ํ–‰์ด ์ˆ˜ํ‰์ผ ๋•Œ๋„ ๋น„๋Œ€์นญ ๊ธฐ๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด ์–‘๋ ฅ์ด ์ƒ์„ฑ๋œ๋‹ค.

๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ๋‘ ๋ฒˆ์งธ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ›์Œ๊ฐ (\alpha) ์€ ์„ค์น˜๊ฐ (i) ๋ฅผ ์ œ์™ธํ•œ ์ˆœ์ˆ˜ํ•œ ๊ธฐ๋ฅ˜์™€ ๋‚ ๊ฐœ ํ‰๊ท  ์ฝ”๋“œ์„  ์‚ฌ์ด์˜ ๊ฐ๋„๋กœ ์ •์˜ํ•œ๋‹ค. ์ฆ‰,

[ \alpha = \alpha_{\text{์ „์ฒด}} - \alpha_{\text{equilibrium}} \quad (\alpha_{\text{equilibrium}} = i) ]

1.4 ์„ ํ˜• ์šด๋™๋Ÿ‰ ๋ฐฉ์ •์‹(ํ’๋™ ์ถ• ํ˜•ํƒœ)

[ \begin{aligned} m\dot V &= T\cos\alpha\cos\beta - D + mg\sin\theta,\ mV\dot\beta &= T\sin\alpha - Y + mg\cos\theta\sin\phi,\ mV\dot\alpha &= T\sin\beta\cos\alpha - L + mg\cos\theta\cos\phi, \end{aligned} \tag{8-10} ]

์—ฌ๊ธฐ์„œ

  • (m) : ํ•ญ๊ณต๊ธฐ ์งˆ๋Ÿ‰,
  • (S) : ๋‚ ๊ฐœ ํ‰๋ฉด ๋ฉด์ ,
  • (T) : ์ถ”๋ ฅ,
  • (\theta) : ํ”ผ์น˜ ์˜ค์ผ๋Ÿฌ ๊ฐ,
  • (g=9.81\ \text{m/s}^2) : ์ค‘๋ ฅ ๊ฐ€์†๋„,
  • ($C_x$, $C_y$, $C_z$) : ๋น„์ฐจ์›๋ ฅ๊ณ„์ˆ˜,
  • (q = \frac12\rho V^2) : ๋™์••, (\rho)๋Š” ๊ณ ๋„์— ๋”ฐ๋ฅธ ๊ณต๊ธฐ ๋ฐ€๋„.

1.5 ๋ชธ์ฒด ๊ณ ์ • ์ถ• ํ˜•ํƒœ์˜ ์„ ํ˜• ์šด๋™๋Ÿ‰ ๋ฐฉ์ •์‹

๋ชธ์ฒด ๊ณ ์ • ์ถ•์œผ๋กœ ์ „๊ฐœํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

[ \begin{aligned} m\dot u &= X - mg\sin\theta + m(vr - wq),\ m\dot v &= Y + mg\cos\theta\sin\phi + m(wp - ur),\ m\dot w &= Z + mg\cos\theta\cos\phi + m(up - vq), \end{aligned} \tag{13-15} ]

์ด ์‹๋“ค์€ ๋ฒกํ„ฐ ํ˜•ํƒœ (\mathbf{F}=m\dot{\mathbf{V}} + m\boldsymbol{\omega}\times\mathbf{V}) ๋กœ๋„ ํ‘œํ˜„๋  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ (\mathbf{V}=(u,v,w)^T), (\boldsymbol{\omega}=(p,q,r)^T) ์ด๋‹ค.

1.6 ๊ด€์„ฑ ํ…์„œ์™€ ๊ธฐํ•˜ํ•™์  ์ƒ์ˆ˜ (T_0)

๊ด€์„ฑ ํ…์„œ (\mathbf{I}) ์˜ ํ–‰๋ ฌ์‹์€ ๊ธฐํ•˜ํ•™์  ์ƒ์ˆ˜ (T_0) ๋กœ ์ •์˜๋œ๋‹ค.

[ T_0 = \det(\mathbf{I}) = I_{xx}I_{yy}I_{zz} + 2I_{xy}I_{yz}I_{zx} - I_{xx}I_{yz}^2 - I_{yy}I_{zx}^2 - I_{zz}I_{xy}^2. ]

๋‹จ์œ„๋Š” (\text{kg}^3!\cdot!\text{m}^6) ์ด๋‹ค. ํ‘œโ€ฏ1์— ๊ฐ ์„ฑ๋ถ„์„ ์ƒ์„ธํžˆ ์ œ์‹œํ•œ๋‹ค.

๋Œ€์นญ ํ•ญ๊ณต๊ธฐ์˜ ๊ฒฝ์šฐ ์ขŒยท์šฐ ๋Œ€์นญ์œผ๋กœ ์ธํ•ด ๋น„๋Œ€์นญ ๊ด€์„ฑ๊ณฑ (I_{xy}=I_{yz}=0) ์ด๋ฉฐ, ์˜ค์ง (I_{xz}) (๋˜๋Š” (E)) ๋งŒ์ด ๋น„์ œ๋กœ๊ฐ€ ๋œ๋‹ค[174โ€‘176].


2. ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์œ„ํ•œ ์ˆ˜์น˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

2.1 ๋ฌธ์ œ ์ •์˜

์ฃผ์–ด์ง„ ์ž…๋ ฅ (($x_g$(t), $y_g$(t), $z_g$(t), \phi(t))) ์— ๋Œ€ํ•ด, ๋„ค ๊ฐœ์˜ ์ œ์–ด ๋ณ€์ˆ˜ ((T, \delt$a_l$, \delt$a_m$, \delt$a_n$)) ๋ฅผ ๊ตฌํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‹ค์Œ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ฅธ๋‹ค.

  1. ์ขŒํ‘œ์™€ ๋กค ๊ฐ์„ ์‹œ๊ฐ„์— ๋Œ€ํ•ด ๋ฏธ๋ถ„ํ•˜์—ฌ ์†๋„ยท๊ฐ€์†๋„ ((\dot $x_g$, \dot $y_g$, \dot $z_g$, \dot\phi)) ์™€ ((\ddot $x_g$, \ddot $y_g$, \ddot $z_g$, \ddot\phi)) ๋ฅผ ์–ป๋Š”๋‹ค.

    • ๋ฏธ๋ถ„์€ ์œ ํ•œ ์ฐจ๋ถ„(FDM) ์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค[57โ€‘64].
  2. ๊ด€์„ฑ ์ขŒํ‘œ๊ณ„์—์„œ ๋ฐ”๋”” ๊ณ ์ • ์ขŒํ‘œ๊ณ„ ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ํšŒ์ „ ํ–‰๋ ฌ (R_{bg}(\phi,\theta,\psi)) ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ (\theta,\psi) ๋Š” ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ณผ์ •์—์„œ ์ถ”์ •๋˜๋ฉฐ, ์‹ (2) ๋ฅผ ์ด์šฉํ•ด ๊ฐ์†๋„์™€ ์—ฐ๊ฒฐํ•œ๋‹ค.

  3. ๋ณ€ํ™˜๋œ ์†๋„ยท๊ฐ€์†๋„๋ฅผ ์ด์šฉํ•ด ํ’๋™ ์ถ• ((V,\alpha,\beta)) ์™€ ์„ ํ˜•ยท๊ฐ์šด๋™๋Ÿ‰ ๋ฐฉ์ •์‹์„ ํ‰๊ฐ€ํ•œ๋‹ค.

  4. RK4 ๋ฅผ ์‚ฌ์šฉํ•ด ์‹œ๊ฐ„ ์Šคํ… (\Delta t) ๋งˆ๋‹ค ์ƒํƒœ ๋ณ€์ˆ˜ ((u,v,w,p,q,r,\theta,\psi)) ๋ฅผ ์ ๋ถ„ํ•œ๋‹ค. ์ด๋•Œ ๋Œ€์ˆ˜ ๋ฐฉ์ •์‹์„ ํ’€ ํ•„์š”๊ฐ€ ์—†๋„๋ก, ๊ฐ ๋ฐฉ์ •์‹์„ ๋ช…์‹œ์  ํ˜•ํƒœ๋กœ ์žฌ๋ฐฐ์—ดํ•œ๋‹ค.

  5. ์ตœ์ข…์ ์œผ๋กœ ์ œ์–ด ๋ณ€์ˆ˜๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐํ•œ๋‹ค.

    • ์ถ”๋ ฅ (T) : ์•ž์„œ ์–ป์€ ๋™์•• (q) ์™€ ํž˜๊ณ„์ˆ˜ ($C_x$) ๋ฅผ ์ด์šฉํ•ด (T = q S $C_x$ + mg\sin\theta - m\dot V) ๋กœ ๊ตฌํ•œ๋‹ค.
    • ์—์ผ๋Ÿฌ๋ก  (\delt$a_l$) : ๋กค ๋ชจ๋ฉ˜ํŠธ ๋ฐฉ์ •์‹ (L = I_{xx}\dot p + (I_{zz}-I_{yy})qr + I_{xz}(pr - \dot r)) ์—์„œ (\delt$a_l$) ๋ฅผ ์—ญ์œผ๋กœ ํ’€์–ด ์–ป๋Š”๋‹ค.
    • ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ (\delt$a_m$) : ํ”ผ์น˜ ๋ชจ๋ฉ˜ํŠธ ๋ฐฉ์ •์‹์— ๋™์ผํ•˜๊ฒŒ ์ ์šฉํ•œ๋‹ค.
    • ๋Ÿฌ๋” (\delt$a_n$) : ์š” ๋ชจ๋ฉ˜ํŠธ ๋ฐฉ์ •์‹์— ๋™์ผํ•˜๊ฒŒ ์ ์šฉํ•œ๋‹ค.

2.2 ๊ตฌํ˜„ ํ™˜๊ฒฝ

MATLAB/Octave ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

%--- ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๋กœ๋“œ -------------------------------------------------
tg = 0:dt:Tfinal;                     % ์‹œ๊ฐ„ ๋ฒกํ„ฐ
xg = ... ; yg = ... ; zg = ... ;      % ์œ„์น˜ (m)
phi = ... ;                           % ๋กค ๊ฐ (rad)

%--- ์œ ํ•œ ์ฐจ๋ถ„์„ ํ†ตํ•œ 1ยท2 ์ฐจ ๋ฏธ๋ถ„ ------------------------------------
dxg = gradient(xg,dt);
ddxg = gradient(dxg,dt);
% yg, zg, phi ์— ๋Œ€ํ•ด์„œ๋„ ๋™์ผํ•˜๊ฒŒ ...

%--- ์ดˆ๊ธฐ ์ƒํƒœ ์„ค์ • ---------------------------------------------------
state = zeros(12,1);   % [u v w p q r phi theta psi xg yg zg]
state(10:12) = [xg(1); yg(1); zg(1)];

%--- RK4 ์ ๋ถ„ ๋ฃจํ”„ ----------------------------------------------------
for k = 1:length(tg)-1
    k1 = dynamics(state, ...);
    k2 = dynamics(state + 0.5*dt*k1, ...);
    k3 = dynamics(state + 0.5*dt*k2, ...);
    k4 = dynamics(state + dt*k3, ...);
    state = state + (dt/6)*(k1 + 2*k2 + 2*k3 + k4);
    % ์ œ์–ด ๋ณ€์ˆ˜ ์ €์žฅ
    $T_v$ec(k) = computeThrust(state, ...);
    delt$a_l$_vec(k) = computeAileron(state, ...);
    % ...
end

dynamics ํ•จ์ˆ˜๋Š” ์œ„์—์„œ ์žฌ๋ฐฐ์—ดํ•œ ๋ช…์‹œ์  ๋ฏธ๋ถ„โ€‘๋Œ€์ˆ˜ ๋ฐฉ์ •์‹์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. computeThrust, computeAileron ๋“ฑ์€ ๊ฐ๊ฐ์˜ ์ œ์–ด ๋ณ€์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.


3. ์‚ฌ๋ก€ ์—ฐ๊ตฌ: Mirageโ€ฏIII ์—ฐ์† ์ด์ค‘ ๋กค ๊ธฐ๋™

  • ํ•ญ๊ณต๊ธฐ ํŒŒ๋ผ๋ฏธํ„ฐ: ์งˆ๋Ÿ‰ (m = 7{,}500\ \text{kg}), ๋‚ ๊ฐœ ๋ฉด์  (S = 27.5\ \text{m}^2), ๊ด€์„ฑ ๋ชจ๋ฉ˜ํŠธ (I_{xx}=1.2\times10^4\ \text{kgยทm}^2) ๋“ฑ(๋‹ค์†Œ ๊ฐ„์†Œํ™”).
  • ์ž…๋ ฅ ๊ถค์ : ($x_g$(t), $y_g$(t), $z_g$(t)) ๋ฅผ 0โ€ฏโ†’โ€ฏ200โ€ฏm, 0โ€ฏโ†’โ€ฏ50โ€ฏm, -10โ€ฏmโ€ฏโ†’โ€ฏ-30โ€ฏm ๋กœ ์ง€์ •ํ•˜๊ณ , ๋กค ๊ฐ (\phi(t)) ๋ฅผ 0โ€ฏโ†’โ€ฏ(2\pi) ๋กœ 5โ€ฏs ๋™์•ˆ ์„ ํ˜• ์ฆ๊ฐ€์‹œ์ผฐ๋‹ค.
  • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒฐ๊ณผ:
    • ์ถ”๋ ฅ (T) ์€ 0โ€ฏโ†’โ€ฏ35โ€ฏkN ์‚ฌ์ด์—์„œ ๋ณ€๋™ํ–ˆ์œผ๋ฉฐ, ๋กค ๊ฐ์ด ๊ธ‰๊ฒฉํžˆ ๋ณ€ํ•  ๋•Œ ์ˆœ๊ฐ„์ ์œผ๋กœ 5โ€ฏkN ์ •๋„์˜ ์ถ”๋ ฅ ๋ฐ˜์ „์ด ๋ฐœ์ƒํ–ˆ์ง€๋งŒ, ์ด๋Š” ์งง์€ ๊ตฌ๊ฐ„(0.2โ€ฏs)์œผ๋กœ ์ œํ•œ๋˜์—ˆ๋‹ค.
    • ์—์ผ๋Ÿฌ๋ก  (\delt$a_l$) ์€ ยฑ0.35โ€ฏrad(โ‰ˆโ€ฏยฑ20ยฐ) ๋ฒ”์œ„ ๋‚ด์—์„œ ๋ณ€๋™ํ–ˆ์œผ๋ฉฐ, ํ”ผ์น˜ยท์š” ์ œ์–ด๋Ÿ‰์€ ๊ฐ๊ฐ ยฑ0.25โ€ฏrad, ยฑ0.30โ€ฏrad ๋กœ ๋‚˜ํƒ€๋‚ฌ๋‹ค.
    • ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋œ ๊ถค์ ์€ ์ž…๋ ฅ ์ขŒํ‘œ์™€ ๊ฑฐ์˜ ์ผ์น˜ํ–ˆ์œผ๋ฉฐ, ์ตœ๋Œ€ ์œ„์น˜ ์˜ค์ฐจ๋Š” 0.12โ€ฏm(0.06โ€ฏ%) ์ˆ˜์ค€์ด์—ˆ๋‹ค.

์ด์™€ ๊ฐ™์ด ์ œ์•ˆ๋œ InvSim ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ณต์žกํ•œ ๋น„์„ ํ˜• ๋น„ํ–‰์—ญํ•™์„ ๋ช…์‹œ์  ํ˜•ํƒœ๋กœ ํ’€์–ด, ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํŒ… ์ž์› ์—†์ด๋„ ์‹ค์‹œ๊ฐ„ ์ˆ˜์ค€์˜ ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.


4. ๊ฒฐ๋ก 

  • ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋น„ํ–‰์—ญํ•™์„ ์œ„ํ•œ ์ผ๋ฐ˜์ ์ธ ๋น„์„ ํ˜• DAE ์‹œ์Šคํ…œ์„ ๋ช…์‹œ์  RK4 ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์žฌ๊ตฌ์„ฑํ•˜์˜€๋‹ค.
  • ์ž…๋ ฅ์œผ๋กœ ๊ด€์„ฑ ์ขŒํ‘œ๊ณ„ ์œ„์น˜์™€ ๋กค ๊ฐ๋งŒ์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ, ์‹ค์ œ ์šด์šฉ ๋ฐ์ดํ„ฐ(์˜ˆ: GPSยทIMU) ๋กœ๋ถ€ํ„ฐ ์ง์ ‘ ์ œ์–ด ์ž…๋ ฅ์„ ์—ญ์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ตฌํ˜„์€ MATLAB/Octave ๋กœ ๊ฐ„๋‹จํžˆ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋‹ค๋ฅธ ๊ณ ์ˆ˜์ค€ ์–ธ์–ด์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Mirageโ€ฏIII ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•œ ์—ฐ์† ์ด์ค‘ ๋กค ๊ธฐ๋™ ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‚ฌ๋ก€๋Š” ์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•์˜ ์ •ํ™•์„ฑ๊ณผ ์‹ค์šฉ์„ฑ์„ ์ž…์ฆํ•œ๋‹ค.

ํ–ฅํ›„ ์—ฐ๊ตฌ์—์„œ๋Š” ๋‹ค์ค‘ ๊ธฐ์ฒด ํ˜‘๋™(swarm) ์ƒํ™ฉ, ์‹ค์‹œ๊ฐ„ ์™ธ๋ž€ ๋ณด์ƒ(์˜ˆ: ํ’๋™, ๋‚œ๊ธฐ๋ฅ˜) ๋ฐ ์ „๊ธฐยท์ˆ˜์†Œ ์ถ”์ง„ ์‹œ์Šคํ…œ์„ ํฌํ•จํ•œ ์ฒญ์ • ์—๋„ˆ์ง€ ๊ธฐ๋ฐ˜ ํ•ญ๊ณต๊ธฐ์˜ ์—ญ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™•์žฅ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ํ™•์žฅ์€ ์Šค๋งˆํŠธ ์‹œํ‹ฐ์™€ ์ธ์ ‘ ๋„์‹œ ๊ฐ„ ์ „๊ธฐํ™”๋œ ๋„์‹œ ํ•ญ๊ณต ๋ชจ๋นŒ๋ฆฌํ‹ฐ(eโ€‘UAM) ์˜ ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์ธ ์šด์˜์„ ์œ„ํ•œ ํ•ต์‹ฌ ๊ธฐ์ˆ ์ด ๋  ๊ฒƒ์ด๋‹ค.