VSNG 空拍機模擬訓練可行性研究

← 首頁
研究日期:2026-07-14 16:49 CST|用途:中研院 / 鯤航 VSNG 空拍機訓練需求初步技術判定

重點結論

  1. 結論:可行,且短期最可行路線是「VSNG 原生 quadrotor 元件 + USB HID/DirectInput 遙控器」。目前不建議一開始做 MAVLink 或真飛控硬接,除非需求明確要求飛控級 HIL。
  2. VSNG 內部存在明確空拍機線索。本機包內有 quad_body.cfgquad_rotor.cfgquadrotor [control]、H501s 面板、雙搖桿 joystl/joystrdgcameraquad_mode1/quad_mode2
  3. 遙控器接入可行性高,但取決於遙控器是否能被 Windows/VSNG 當成 joystick。VSNG 文件明確支援最多 6 個 joystick、軸/按鍵映射、POV hats 與 TrackIR。
  4. 視覺建模可行性高。VSNG 使用 DirectX .x 模型,支援 component mesh、moving part tags、快慢槳葉 mesh、panel/instrument;目前 quad rotor 模型已含 fprop1sprop1
  5. 最大未知數不是「能不能放進 VSNG」,而是「四旋翼物理手感能調到多接近實機」。短期展示可達成;若要專業飛控訓練或任務級精準評分,建議把 AirSim / ArduPilot SITL 作為中長期備案。

一、研究範圍與判斷基準

本次目標不是做學術級飛控模擬器,而是判斷 VSNG 現有架構是否能支撐「在鯤航既有海域/港區場景中,用遙控器操作空拍機進行模擬訓練」。判斷分成五個面向:

面向判斷原因
控制器接入VSNG 原生 joystick 設定完整;只要遙控器能以 USB HID/DirectInput 出現,就能進入軸/按鍵映射流程。
空拍機視覺建模已有 quad body/rotor mesh 與 component 機制;可替換成 DJI/通用四旋翼外觀。
槳葉旋轉效果quad rotor 模型已有慢槳/快槳命名;VSNG vehicle mesh 也支援 prop/rotor moving part tags。
鏡頭/雲台控制中高H501s/quadrotor 面板已有 dgcamera,模型也有 camera frame;仍需實機確認可控範圍與映射方式。
飛控級物理/HILVSNG 有 quadrotor control,但未見完整現成 drone vehicle。高擬真飛控閉環建議作第二階段或外部 simulator 備案。

二、VSNG 架構證據

2.1 VSNG 不是 Unity/Unreal,而是原生 DirectX 自製引擎

本機文件 help/about.htm 說明 Vehicle Simulator 結合 Micro Flight 與 Virtual Sailor,支援 land、naval、flying vehicles,並使用 DirectX9。這代表空拍機要走的是 VSNG 的既有載具/元件格式,而不是 Unity/Unreal plugin。

架構含義
短期可行方案應優先使用 VSNG 內建 vehicle component / panel / joystick 設定;不要先假設能接 Unity asset、Unreal blueprint 或現代遊戲引擎外掛。

2.2 VSNG 原生 vehicle component 支援自行組裝載具

help/vehicle.htm 明確寫出:components.cfg 會定義組成載具的 component,並覆蓋 vehicle.cfg / elements.cfg 的物理屬性;程式內 Components tab 可以新增、刪除、移動 component,並在飛行中看到行為變化。

這對空拍機很重要,因為它表示我們不一定要手寫完整物理檔,可以先用 VSNG 內建設計模式把 quad_body 與四個 quad_rotor 組成 PoC,再儲存成 new_vehicle 後整理命名。

2.3 這包 VSNG 真的有 quadrotor 元件

檔案關鍵內容意義
components/quad_body.cfgbody 質量 100kg、慣量、8 個 contact point、drag、quadrotor [control]不是單純外觀;它有物理元素與控制器。
components/quad_rotor.cfgtrotor [element]、2 blades、blade chord/radius、quadrotor [control]旋翼元件可被 quadrotor 控制模式驅動。
components/quad_body.xcamerabcamerabodybattery 等 frame模型已包含鏡頭/機身結構線索。
components/quad_rotor.xspinnerfprop1sprop1已預留快槳/慢槳視覺狀態。
panels/quadrotor/panel.cfgjoystljoystrdgcameraquad_mode1quad_mode2、速度/高度儀內建空拍機/四旋翼儀表面板。
panels/H501s/panel.cfgH501s 面板,含雙搖桿、digital camera、quad mode疑似以 Hubsan H501S 類四旋翼為參考。

三、遙控器與硬體接入可行性

3.1 VSNG 原生 joystick 能力

VSNG 設定文件顯示,Joystick 設定可為已連接的 joystick 指定 axes、buttons、sensitivity、reverse;最多支援 6 個 joystick;也支援 POV hats 與 TrackIR。操作文件也明確列出 joystick axes/buttons 可以控制載具。

因此短期硬體策略很單純:讓遙控器在 Windows 被辨識為標準遊戲控制器,再交給 VSNG 映射。

3.2 建議硬體路線

路線可行性建議
USB HID 航模遙控器 / 模擬器 dongle最高第一順位。先用可被 Windows Game Controllers 辨識的設備,例如 EdgeTX/OpenTX/FrSky/Taranis/TBS/RadioMaster 類,或 RC simulator USB dongle。
一般飛行搖桿 / gamepad很適合做第一天 PoC,但手感不像空拍機遙控器。可用於確認 VSNG quadrotor 是否可飛。
DJI 原廠遙控器未知只建議做兼容性測試。若 Windows/VSNG 看不到 joystick axes,就不要列為主方案。
vJoy / Joystick Gremlin / AutoHotkey 橋接可救急,但正式訓練展示不宜作第一順位,因為多一層軟體就多延遲與現場維護風險。
MAVLink / 真飛控 HIL低到中VSNG 未見原生 MAVLink SDK。若客戶要飛控級訓練,建議另開 AirSim/ArduPilot 或 DLL bridge 研究。
DJI 遙控器的判斷原則
不要先承諾「DJI 遙控器一定可以接 VSNG」。承諾口徑應改成:若 DJI 遙控器能在 Windows 以 USB joystick/HID 暴露軸與按鍵,就可納入;若不能,主方案改用外觀/手感接近的 USB 航模遙控器。

四、空拍機建模與物理效果

4.1 短期展示模型

短期不需要追求完全複刻 DJI 企業機。建議先做「通用四旋翼訓練機」或以 H501s/VSNG 現有 quad body 為基礎,確認控制、視角、槳葉、場景任務都可跑後,再換成中研院/鯤航指定機型外觀。

  • 機身:quad_body.x 可先直接使用;第二輪再建低面數 `.x` 模型。
  • 旋翼:每個角落放一個 quad_rotor component,依 VSNG component editor 調 x/y/z 位置。
  • 槳葉視覺:使用 sprop1 慢槳與 fprop1 快槳;必要時追加透明 blur disk 貼圖。
  • 材質:VSNG 舊引擎偏好輕量貼圖,避免高面數與大量 PBR 材質。
  • 模型管線:Blender / 3DS / Conv3ds.exe / DirectX `.x`,沿用既有 VSNG 場景建模管線。

4.2 飛行物理調整方向

VSNG 的 quad_body.cfgquad_rotor.cfg 已提供四旋翼控制起點。PoC 後應調整以下參數:

調整項目的驗收方式
mass / inertia調整機身穩定性與轉向慣性能平順起飛、懸停、轉向,不會一推桿就翻滾。
rotor thrust / blade radius調整升力與油門手感中段油門可穩定維持高度,滿油門有明顯爬升。
drag surface抑制不自然高速漂移前飛/側飛停止後能合理減速。
controller sensitivity對應遙控器行程與訓練難度新手模式可控;進階模式保留較高機動性。

五、鏡頭轉向與雲台

VSNG 現有檔案提供三個可行方向:

  1. 優先驗證原生 dgcameraquadrotor/H501s 面板已包含 dgcamera instrument,這是最像空拍機鏡頭控制的內建路線。
  2. 使用 cockpit/viewpoint 模擬機載鏡頭。若 dgcamera 不足,可以用 views.cfg 固定機頭、斜下、俯視、追蹤等視角,配合 POV hats 或鍵盤切換。
  3. 進階才做 DLL instrument。dll_g1000 範例顯示 instrument DLL 可讀寫 plane data structure,理論上可做外部儀表或控制介面,但這是第二階段之後的工程。
建議口徑
可以承諾「鏡頭視角與鏡頭操作訓練可做」,但先不要承諾「完整三軸雲台物理」;三軸雲台要等 dgcamera 實測與 DLL 邊界確認。

六、方案比較

方案內容優點限制建議
A. VSNG 原生 quadrotor用 VSNG component editor 組 quad_body + quad_rotor,接 USB joystick 遙控器。最快、最貼近既有安平/海域場景、成本低。飛控擬真度要實測調參。主方案
B. VSNG helicopter 近似若 quadrotor 不穩,用 helicopter/autogyro 類型近似空拍機。風險備援,能確保有可飛載具。四旋翼手感與槳葉配置不準。PoC 備案
C. 外部 HID bridge遙控器資料先轉成 vJoy/鍵盤/滑鼠,再餵 VSNG。可救 DJI 或特殊遙控器。部署麻煩,現場穩定性較差。只作兼容方案
D. AirSim / ArduPilot SITL用專業 drone simulator/飛控模擬作核心。飛控、MAVLink、API、攝影機資料更完整。要重建或匯入 VSNG 場景,成本高。高擬真第二案
E. VSNG DLL bridge自寫 DLL/外部程式讀寫 VSNG vehicle state。可能保留 VSNG 場景,同時接外部飛控。SDK 邊界不完整,需 C++ 逆向式驗證。研究案,不做第一階段承諾

七、實際可行計劃方案

Phase 0:一週內技術驗證

控制器檢測確認遙控器在 Windows Game Controllers 與 VSNG joystick 設定中可讀取軸/按鍵。
最小四旋翼用 VSNG Components tab 建立 new_vehicle:quad_body + 四個 quad_rotor。
起降與懸停測試油門、俯仰、橫滾、偏航映射與靈敏度。
鏡頭與槳葉確認 dgcamerafprop1/sprop1 是否跟狀態連動。

驗收:可在 VSNG 場景中用遙控器起飛、懸停、移動、降落;畫面能看到空拍機外觀與槳葉旋轉;至少有一種可用的鏡頭/視角控制方式。

Phase 1:2-3 週展示版

  • 建立 Drone_POC 載具資料夾與可重複部署的 component/vehicle 設定。
  • 在安平港/指定海域配置 3 個訓練任務:起降、繞標、定點拍攝/巡檢。
  • 建立遙控器映射表:Mode 2 為主,保留靈敏度、新手/進階設定。
  • 做第一版外觀模型:通用四旋翼或依客戶指定機型外型做低面數模型。
  • 整理操作 SOP 與 demo 劇本,供中研院/鯤航現場試飛。

Phase 2:4-8 週訓練版

  • 加入任務評分:航線偏差、碰撞、降落精度、高度控制、鏡頭對準時間。
  • 加入風、能見度、夜間、障礙物、船舶/港區目標。
  • 整合 replay/path:供教官回放學員操作。
  • 補完整模型:指定機型外觀、鏡頭座、槳葉 blur、夜航燈。
  • 形成可交付訓練包:VSNG add-on、硬體清單、安裝文件、教案。

Phase 3:高擬真或飛控整合

只有在客戶明確要求「飛控演算法訓練」、「MAVLink 任務規劃」、「真飛控 HIL」時才啟動。此時建議評估 AirSim / ArduPilot SITL / PX4,而不是把所有飛控需求硬塞進 VSNG。

八、風險與必做驗證

風險影響驗證方式替代方案
quadrotor component 可組但手感不穩展示效果差Phase 0 實測起飛/懸停/降落改用 helicopter 近似或調高穩定性/阻尼
DJI 遙控器無法 HID 輸出無法用指定遙控器Windows Game Controllers + VSNG joystick 設定畫面檢查改用 USB 航模遙控器或 vJoy bridge
dgcamera 無法滿足鏡頭訓練鏡頭操作不完整測試 panel instrument 與視角切換views.cfg / POV hats / DLL instrument
模型太重導致 VSNG 掉幀訓練體驗差低/中/高三版模型 FPS 測試降面、貼圖合併、LOD simple.x
客戶期待真實飛控物理VSNG 原生方案可能不足需求訪談先定義「訓練目的」是操控熟悉、場景任務,還是飛控調參另開 AirSim/ArduPilot 高擬真方案
建議對外說法
「VSNG 可以納入空拍機訓練,但第一階段定位應是場景任務與遙控操作訓練,不是完整飛控研發平台。若中研院要的是演算法/HIL,建議保留第二軌 AirSim/ArduPilot。」

九、參考資料與本機證據

  • VSNG 本機文件:/Users/wt/PyCharmMiscProject/鯤航/VS NG/Virtual.Sailor.NG.v9.9.8/help/about.htm
  • VSNG joystick 文件:/Users/wt/PyCharmMiscProject/鯤航/VS NG/Virtual.Sailor.NG.v9.9.8/help/settings.htm
  • VSNG vehicle/component 文件:/Users/wt/PyCharmMiscProject/鯤航/VS NG/Virtual.Sailor.NG.v9.9.8/help/vehicle.htm
  • quadrotor 元件:components/quad_body.cfgcomponents/quad_rotor.cfgcomponents/quad_body.xcomponents/quad_rotor.x
  • quadrotor 面板:panels/quadrotor/panel.cfgpanels/H501s/panel.cfg
  • DLL instrument 範例:instruments/dll_g1000/readme.txtsource.zip
  • QGroundControl Joystick Setup:joystick 可控制 vehicle,並可啟用 gimbal control;ArduPilot vehicles 支援 joystick。
  • ArduPilot SITL:SITL 可搭配 GCS、Mission Planner/QGC、外部模擬器與 joystick。
  • Microsoft AirSim:Unreal/Unity based drone simulator,支援 PX4/ArduPilot SITL 與 PX4 HIL,可作高擬真備案。