《坎巴拉太空計劃》與航天學習筆記【1】:續航焦慮

《坎巴拉太空計劃》算是筆者玩得比較久的一個單機遊戲瞭(100+h),而且玩這個遊戲的過程中還去自學瞭不少入門級的航空航天相關知識以及一些天體力學入門基礎,想稍微記錄分享一下。如果有不對的地方,歡迎指正

遊戲介紹

坎巴拉太空計劃(Kerbal Space Program)是一款經典的航空航天模擬遊戲,玩傢需要設計衛星或者宰(?)人航天器,把坎巴拉星的小綠人送到星系的各個行星與衛星的地面與軌道上進行出倉、對接、登陸、科研、插旗等活動,不斷地獲取科技點、爬科技樹解鎖高級配件,最後征服整個太陽系。

筆者玩瞭120+h的生涯模式才把整個太陽系去瞭個遍,中途還因為不知道有“機動節點”功能誤入歧途嘗試用C#寫火箭飛控,但屬實沒有很大必要= =

這款遊戲其實比較硬核,主要的gameplay是航天器設計與操作。為什麼說硬核呢?雖說遊戲的基調是很詼諧,看起來不是什麼正經航天模擬,但是飛行器的各組件都是有剛體物理模擬以及空氣動力學模擬(雖然精度非常低),萬有引力也是平方反比的,甚至這個遊戲有專門的wiki網站,把系內各大天體的具體參數都給出來瞭:

圖:Kerbal Space Program Wiki

先別說登陸月球和系裡的其他星球,有可能在最初的一段遊玩時間裡,想要安全地飛出大氣層然後返航都不太容易。 你設計出來的垃圾飛行器一般會有一萬種死法,例如:

  1. 火箭本體太重瞭直接從發射架摔下來
  2. 頭重腳輕的火箭,發射時還沒突破音障就已經被空氣阻力扯得向地面加速
  3. 進入大氣層速度太快,忘裝放熱護罩,過熱被燒爆
  4. 進入大氣層時速度太快,而且風阻小的錐頭朝前,於是速度降不下來,直接插進地裡
  5. 準備降落時發現忘裝降落傘直接砸死
  6. 準備降落時盯著星球的海平面高度計,還有幾千米的時候撞到山上炸瞭
  7. 無人衛星飛出瞭通訊范圍之後發現沒電瞭
  8. 還沒回到大氣層內就沒燃料瞭,在軌道上呆著吧
  9. 好不容易帶瞭個噴氣式飛機去別的星球,歷盡艱辛把飛機送入大氣層,發現星球的大氣層沒有氧氣,無法使用噴氣式引擎,直接砸到地上
  10. ……

圖:忘帶降落傘,在坎巴拉星系裡面密度與質量最高的星球Eve登陸失敗,炸倒是沒炸,但是航天員永遠留在那裡瞭圖:在Kerbin(地球)發射場,一級引擎沒固定穩,點火之後全部脫落變成煙花

看到個還不錯的遊戲介紹視頻:

再次強推《坎巴拉太空計劃》,確實學到瞭很多東西(話說前陣子KSP2都出來瞭,有空一定入手!)


續航焦慮?

沒錯,不管是你的手機、新能源汽車、還是火箭,都會有續航焦慮,其中火箭的續航焦慮可以說是最為嚴重的。之前有個同事看我在玩KSP,問我:

這個其實也是我最一開始的直覺判斷,想要從脫離地球飛向月球、飛向火星、飛出太陽系,不就猛堆燃料就行瞭嗎?然後我玩這個遊戲的時候我稍微學習瞭一下相關科普知識+遊戲內的實踐,得到的答案是不能。

圖:現實世界的火箭已經很大塊頭瞭


火箭發動機

為什麼不能純堆燃料?這個問題要從火箭的動力來源開始。目前(2023)的火箭都是靠引擎燃燒推進劑,噴出工質氣體造成的反作用力來得到推力,實現火箭本體的加速。意思是從大體上來講,火箭的推力來源跟水火箭、曼妥思可樂、腹瀉的你的起飛原理一致。特別在外太空,航天飛行器的唯一來源就是來自於牛頓第三定律的反推力。

雖然聽起來很離譜,但為什麼現在的火箭不用曼妥思可樂做燃料來反推呢?核心的點就在於引擎與燃料效率。我們把工質粒子加速到高速然後噴出去,那麼粒子的動能就需要從某種原始的能量轉換而來。例如常見的一些燃料與引擎:

曼妥思可樂:曼妥思與可樂反應,加速可樂的二氧化碳釋放,迅速增加可樂瓶內氣壓,氣體體積做功,噴出高速氣體粒子

固體火箭發動機:在燃燒室裡燃燒固體推進劑,把化學能轉換成熱能,然後高溫高壓的燃燒產物做功轉化成動能,噴出高速粒子。常見推進劑/燃料如聚氨酯聚丁二烯端羥基聚丁二烯等。固推的設計和結構相對簡單,成本低,但工作時間短,不容易啟停(萬一停止燃燒瞭就很難重新點燃),一般點火之後就把燃料燒完為止。

液體火箭發動機:基本原理跟固體火箭發動機類似,也是燒東西噴出來。不過液體燃料的燃燒控制更復雜,發動機構造也更加復雜。液體燃料可以是一種或多種液體物質組成(也分別叫做單組元推進劑雙組元推進劑三組元推進劑等)。小推力發動機常用單組元推進劑,如

而火箭升空用的大推力發動機則常用雙組元推進劑,如:

  • 液氧+液氫
  • 液氧+烴類(煤油、汽油、酒精)
  • 硝酸+烴類
  • 四氧化二氮+偏二甲肼

圖:聯盟號運載火箭

離子推進/“電推”:用電將氣體(如氙氣、氬氣)電離,然後用電場力把帶電離子加速後噴出。這種電能換動能的方式效率非常高,因為想要加大推力就隻需要增加耗電功率。但是推力真的太小瞭,推力可以跟地球上的電風扇進行比較,所以一般隻會用在無重力無風阻的太空環境中,慢慢推的話,效率還是比化學燃料要高出很多倍。

Note:在中國的天宮空間站已經實裝的LHT-100型霍爾推進器就是一種離子推進器,因為推力很小,用80mN的推力去推動180噸的天宮空間站,所以實際應用隻是用來維持空間站的軌道高度(因為低軌道的稀薄大氣會帶來一些動能損失)


比沖:發動機與燃料效率

衡量這些發動機及燃料效率的關鍵量化指標就是:

比沖也會被稱作比沖量,常記作 I_{sp} 。這個指標用來衡量一個推進系統的效率,其含義是單位質量的推進劑/燃料在單位時間裡燃燒並噴出工質產生的沖量,量綱跟速度一樣都是米/秒(m/s)。比沖跟“工質氣體的有效噴出速度” v_e 成正比。很明顯,推進系統的比沖越高,同樣質量的燃料能噴出更高速的氣體,獲得的反推沖量越高,也就是發動機效率就越高。

在工程上,比沖量也會習慣使用秒(s)做單位。如果用秒做單位,那麼比沖跟氣體有效噴出速度的關系是:

v_e=I_{sp}g_0 \

其中 v_e 是氣體噴出的有效速度(Effective Exhaust Velocity), g_0 是地球的標準表面加速度(即9.80665m/s^2)

圖:阿波羅17號的土星五號火箭

常見推進系統的大致比沖:

推進系統/發動機 有效排氣速度 (m/s) 比沖(s) 備註
固體火箭發動機 2500 255 普遍適用
液態火箭發動機 4400 450 普遍適用
離子推進器 29000 2960 推力很小

那麼看起來,不同種類的發動機有不同的應用場景,例如:

  • 渦扇發動機隻能在大氣層內高效運作
  • 固體/液體引擎一般用於升空加速的關鍵階段
  • 液體引擎因為可以控制燃料流速,從而控制推力大小,所以也會用於更復雜的操作,例如變軌
  • 離子推進器效率高,理論上做系內航行要比固推液推容易得多,但推力實在太小瞭,升空降落承擔不瞭火箭自重,而在軌機動也可能因為耗時太長而無法接受

燃料與載荷

那麼為什麼火箭的續航焦慮會這麼嚴重呢?我們來想一下,對於每一個時刻,火箭發動機產生的推力需要推動:

  • 火箭攜帶的載荷與貨物(如實驗艙、宇航員、衛星、火箭)
  • 火箭自重(外殼、引擎等)
  • 燃料

現實世界的地球第一宇宙速度7900m/s就擺在那,也就是火箭得加速到28440km/h才勉強能入軌並繞著地球一直轉。因為常用的升空和變軌用的固推和液推的比沖還不夠大,所以需要攜帶非常多燃料才能得到足夠的沖量。2023年,對於現實世界大部分已經服役的火箭,燃料幾乎都是占據瞭火箭整體質量將近一半甚至以上;但即便火箭渾身都是燃料,實際上能攜帶的有效載荷(payload)就是少之又少,例如把載荷運往地球同步轉移軌道或者地月轉移軌道,那麼運力甚至隻有火箭初始總質量的約1%~2%。

跟據維基百科等來源,列出幾種在研與實裝火箭的部分質量數據(2023):

火箭 總質量 總燃料質量 有效載荷質量 (地球近地軌道) 有效載荷質量(地球同步轉移軌道)
長征三號乙中型運載火箭 426t 295t 11t 5.1t
長征五號重型運載火箭 854t 337t 25t 14t
長征九號重型運載火箭(研發中) 4369t 3930t 100~150t
SpaceX獵鷹重型火箭 1420t 518t 64t 26.7t (不回收火箭)8t (回收火箭)
SpaceX星艦(研發中) 5000t 4600t 150t(可回收) 21t(支持在軌加油)

那麼回到前面提到的一些疑惑瞭:為瞭提高續航,為什麼不能光靠猛堆燃料的量?為什麼現實世界那麼重的火箭就隻能帶這麼點載荷上太空上月球?為此我們還是得定量分析一下,不然這個堆燃料直覺還是會一直揮之不去。


理想火箭方程

理想火箭方程(Ideal Rocket Equation),也叫齊奧爾科夫斯基火箭方程 (Tsiolkovsky Rocket Equation),是1903年一位俄羅斯科學傢齊奧爾科夫斯基提出的方程。他的核心內容是,假設一個系統靠消耗自身質量獲得反作用力來推動自己,那麼總共能獲得的速度增量 Delta v 與質量變化的關系為:

Delta v=v_e ln frac{m_0}{m_1} \

其中 v_e 是氣體有效噴出速度(Effective Exhaust Velocity)。

圖:維基百科的gif,火箭反推跟小人在船上扔石頭反推的原理類似

理想火箭方程推導的假設比較簡單:

  1. 火箭本體(外殼、引擎、推進系統等自重與配重)與噴射的工質氣體形成一個封閉系統
  2. 動量守恒

圖:靈魂p圖

如圖,根據動量守恒,火箭本體與在 Delta t 內噴出質量為 Delta m 的氣體組成的封閉系統滿足動量守恒,即:

mv=color{olive}{(m-dm)(v+dv)}+color{salmon}{(v-v_e)dm} \ 把更低階的 dmdv 項忽略掉,並且因為理想火箭方程模型假設噴氣速度 v_e 恒定,所以可以整理得到方程:

mdv=v_edm \ 假設現在我們從時間 t_0 持續噴氣到 t_1 ,火箭本體質量會從 m_0 減少至 m_1 (假設火箭隻有一級,那麼 m_0 就是火箭發射前的初始總質量, m_1 就是火箭把燃料全部耗盡之後剩下的空殼質量)。變式之後再對兩邊積分,得到:

int^{v_1}_{v_0}dv=v_eint^{m_0}_{m_1}frac{1}{m}dm \積分得到:

Delta v=v_1 – v_0=v_eln frac{m_0}{m_1} \這裡的 Delta v 的含義就是,把一定量燃料全部噴出去後,火箭能得到的速度增量。我個人認為 Delta v 就是最直觀的機動續航能力/剩餘機動能力的體現。Delta v主要用於升空加速、降落減速、變軌機動等。雖然理想火箭方程對火箭燃料的續航與機動能力隻能做一個非常粗略的估算,實際應用中由於很多更復雜的因素導致很大誤差,但是這個簡易的模型告訴我們,狂堆燃料確實可以增加續航,但這種做法效率和性價比會隨著堆的燃料質量增加而迅速降低。想要提高火箭的機動續航能力Delta v,我們可以有幾種優化方向:

  • 增加燃料質量。但這種方法效率不高,想要線性地增加火箭的機動能力,火箭整體質量和攜帶燃料質量要指數級上升
  • 降低火箭自重,減少載荷。即除燃料外的總質量,這個就需要不斷改善火箭設計和材料學的突破(?)
  • 增加火箭引擎效率。提高引擎比沖 I_{sp} ,等價於提高引擎有效噴氣速度 v_e 。這就需要對火箭引擎有運行原理上的突破,難度也非常高。
  • 分級火箭:思路是盡可能快地拋棄掉火箭自重/配重,從而降低燃料推進的平均overhead。

所以狂堆燃料提升續航隻是在理論上可行,但因為堆燃料對應的火箭質量與體積的膨脹速度是指數級別的,造火箭的工程難度也會快速增加(火箭結構強度、子系統耦合等),資源消耗也同時暴漲,可以說非常不劃算。


分級火箭

為瞭提高火箭的載人/載荷端的有效續航與機動能力,現實世界的火箭會采用分級的辦法來提高Delta v。分級的核心思想就是,盡早地把部分自重拋棄掉,使得後面的燃料燃燒得到更多比例的沖量花在推動剩餘燃料,而不是火箭的外殼、引擎等額外overhead部分。舉個粗糙的例子,假設我們有如下A和B兩種火箭:

火箭A 燃料重量 火箭自重
第一級 18 6(不拋掉)

火箭A用理想火箭方程估算出的 Delta v 約為 ln ⁡(24/6) v_e≈1.386v_e

火箭B 燃料重量 火箭自重
第一級 10 3
第二級 5 2
第三級 3 1(不拋掉)
總計 18 6

而火箭B用理想火箭方程估算出的最後一級有效 Delta v 約為 (ln⁡ ((24/14)+ln⁡((11/6)+ln⁡(4/1) ) ) v_e≈2.53v_e

上面的粗略例子說明分級火箭能有效提高最後一個分級(一般用來載人或者帶衛星等關鍵載荷)的總 Delta v (除非你的火箭每一處都是重要設備拋不掉= =)


未來的火箭引擎?

那麼可以設想,如果未來的火箭能用上核動力的引擎,就意味著引擎比沖可以調得非常高,且引擎功率會比太陽能/電能的引擎要大得多,但其實仍然是需要帶上燃料,仍然是有質量的,就看引擎比沖這個常數能做到多高瞭。

另外還有《三體》裡的提到的無工質引擎,就是不用反推物質產生動力,這種引擎要是能實現就用不著理想火箭方程瞭。雖然理論上或許可以實現,例如:

  • 利用太陽光壓推動的太陽帆引擎
  • 利用電磁場與太陽風的相互作用得到推力

至於引力彈弓也可以看作借助引力場與天體交換動量得到推動,也算是無工質,但這個方式比較平凡,雖然早就用上瞭,但限制也很大。截至2023年的現實世界,非平凡的無工質推動引擎仍然沒有實現。

赞(0)