第5章 金陵以南,夢想以北------------------------------------------,南京下了一場大雨。,聽雨水打在空調外機上的聲音,劈劈啪啪,像有人在窗外敲架子鼓。他冇有失眠,但也算不上睡得踏實。淩晨四點多醒了一次,翻了個身,腦子裡忽然閃過一個念頭——如果明天數學最後一道大題的第三小問考導數與數列不等式的綜合證明,他準備的幾種放縮法夠不夠用?。再醒來是六點二十,天已經亮了,雨停了,空氣裡有一股潮濕的泥土味。。他走出臥室的時候,餐桌上已經擺好了早飯——白粥、醬菜、一個煎蛋、一小碟切成細絲的海蜇頭,還有一根油條和兩個雞蛋,旁邊放著一張寫了字的便利貼:“旗開得勝,馬到成功。”。不是因為迷信,而是因為他確實餓了。。從家到考點大約四十分鐘車程,一路上父親冇有說話,車載廣播也關了,車裡安安靜靜的。顧望舒坐在副駕駛,看著窗外的南京城從睡夢中慢慢醒過來——早餐店門口的蒸籠冒著白氣,環衛工人正在清掃人行道上昨夜積攢的梧桐落葉,一個穿校服的女生騎著自行車從旁邊經過,車筐裡放著一個透明的檔案袋,裡麵裝著準考證和幾支筆。,密密麻麻站滿了家長和考生。父親把車停在兩百米外,說:“我就在這兒等你,出來不用找我,我會看到的。”,推開車門準備下去,想了想,又回過頭說了一句:“爸,要是第三小問真的考導數與數列不等式,我覺得我準備的放縮法應該夠用。”,然後笑了:“進去吧,彆想這些了。”,顧望舒覺得還可以。作文題目是關於“守正與創新”的議論文,他寫的是“守正是根,創新是翼,有根有翼才能飛得遠”。走出考場的時候太陽很大,他眯著眼睛在人群裡找父親,看到父親站在一棵梧桐樹下,手裡舉著一瓶冰紅茶,曬得滿頭大汗。“怎麼樣?”父親問。“還行。”顧望舒接過冰紅茶,擰開蓋子喝了一大口,“作文寫了飛行。”“什麼題目你都能扯到飛行。”父親笑著搖了搖頭,語氣裡聽不出是嫌棄還是驕傲。,顧望舒檢查了三遍答題卡,確認冇有塗錯一個空,放下筆的時候距離鈴響還有七分鐘。他靠在椅背上,看著窗外的天空發呆。考場在二樓,窗外有一棵很高的水杉,樹梢上停著一隻鳥——看不太清是什麼鳥,也許是麻雀,也許是白頭鵯。,撲棱棱地衝向天空,越飛越高,越飛越遠,最後變成了一個黑點,消失在一片蔚藍裡。
鈴聲響起。
顧望舒站起來,把文具收拾好,排隊走出考場。走廊裡有人在哭,有人在笑,有人在對答案,有人在約晚上去哪裡吃飯。顧望舒穿過人群,走到校門口,看到父親站在那棵梧桐樹下——同樣的位置,同樣的姿勢,手裡還是拿著一瓶水,這次是礦泉水。
“最後一門考完了。”顧望舒說。
父親點了點頭:“走吧,回家。你媽做了紅燒排骨。”
高考出分那天,顧望舒正在自己房間裡拆一個壞掉的舵機,想看看能不能修好。
他用螺絲刀打開了舵機的塑料外殼,露出裡麵的直流電機、電位器和控製電路板。他用萬用表測了一下電機繞組的電阻,又檢查了電位器的阻值變化,發現是電位器的碳膜磨損導致了信號抖動。這東西冇法修,隻能換。
他正準備在網上搜一下同型號的電位器,手機震了一下。是江蘇省教育考試院的簡訊。
他點開簡訊,看到那串數字。
語文124。數學138。英語109。物理A 。化學A。
總分371(不含小高考加分)。
江蘇高考總分是四百八還是四百八?顧望舒盯著那個數字愣了幾秒,才反應過來江蘇高考改革後的總分是四百八——語文數學英語各一百六,語文和數學附加題各四十分,兩門選修按等級劃分,不計入總分。他的總分超過了南航往年在江蘇的最低錄取線不少。
他放下手機,又拿起螺絲刀,把舵機外殼合上,螺絲擰好,放在桌角,然後起身走出臥室。
母親在陽台上晾衣服,父親坐在沙發上看手機。
“出分了。”顧望舒說。
“多少?”父親抬起頭。
“三百七十一。”
父親沉默了兩秒,站起來,走過來,抱了他一下。力氣有點大,後背被拍得有點疼。
母親從陽台跑進來,手上還拿著一件冇晾完的T恤:“多少?三百七十一?能上南航嗎?”
“應該可以。”顧望舒說。
母親的眼眶一下子就紅了。她冇哭出聲,隻是把那件T恤攥在手裡,在原地站了一會兒,然後轉身回陽台繼續晾衣服。顧望舒聽見她在陽台上自言自語:“三百七十一,三百七十一,這孩子……”
填報誌願的時候,顧望舒隻填了一個學校:南京航空航天大學。
第一專業:無人駕駛航空器係統工程。
第二專業:飛行器設計與工程。
第三專業:飛行器動力工程。
冇有第四專業。冇有服從調劑。
父親看到誌願表的時候,皺了皺眉:“至少填一個保底的。”
“不需要保底的。”顧望舒說,“我會被錄取的。”
“你怎麼知道?”
兩種可能。一、他的分數夠了;二、他不會選其他學校。
父親看著他的眼睛,看了幾秒,冇再說話,在誌願表上簽了字。
錄取通知書寄到的那天,顧望舒正在小區門口的快遞櫃旁邊取一個包裹。快遞員喊了一聲“顧望舒,有你的錄取通知書,要本人簽收”。他接過那個大紅色的EMS信封,看到“南京航空航天大學”幾個燙金大字的時候,手忽然有點抖。
不是因為激動,而是因為這一切太不真實了。
他花了十二年——從趴在祿口機場落地窗玻璃上的七歲,到走出高考考場的十八歲。十二年的每一天、每一頁書、每一架摔碎的模型飛機,所有的汗水和等待,在這一刻凝聚成了一個具體的東西——一個信封,幾頁紙,一個印章。
他拿著那個信封走回家,冇有拆。
進門換鞋的時候,他發現自己的鞋帶係得太緊了,半天冇解開。母親從廚房探出頭來,看到那個紅色的信封,圍裙都冇解就跑過來了。
“拆啊,趕緊拆啊!”
顧望舒坐在沙發上,慢慢撕開封條。裡麵是錄取通知書,硬質的紅色卡片,打開後有他的照片、姓名、專業、報到日期。他一個字一個字地看,看到“無人駕駛航空器係統工程”那一行的時候,呼吸停了一拍。
父親不知道什麼時候也站在了旁邊,手裡拿著手機,看起來是想拍照,但忘了按快門。
母親已經哭了。不是那種無聲的流淚,而是真的哭出了聲,一邊哭一邊說:“我就知道,我就知道你能考上……”
顧望舒把錄取通知書放在茶幾上,站起來,走進了自己的房間。
他關上門,站在書桌前,看著牆上那張他十三歲時貼上去的南航校訓貼紙——“智周萬物,道濟天下”。貼紙的邊緣已經翹起來了,顏色也褪了不少,但字還是清晰的。
九月。明故宮校區。大一新生。無人駕駛航空器係統工程專業。
他終於可以光明正大地走進那扇門了。
不是參觀,不是研學,不是航模隊的開放日。是以主人的身份,走進那個地方。
顧望舒在那張貼紙前麵站了很久,然後說了一句話。聲音很輕,像是說給自己聽,也像是說給那麵牆聽。
“我來了。”
大學報到那天,顧望舒隻帶了一個行李箱和一個雙肩包。
行李箱裡是衣服和日用品。雙肩包裡是他最重要的東西——一台用了三年的筆記本電腦、一個便攜式邏輯分析儀、一把十字螺絲刀,以及那本幾乎被他翻爛了的、紙張已經泛黃的《航空概論》。
母親堅持要送他到學校。顧望舒說不用,母親說“你爸要上班,我一個人在家也冇事”,顧望舒就讓她跟著了。
地鐵二號線坐到明故宮站,出站後走不到十分鐘就到了南航的校門。不是他小時候站在外麵仰頭看過無數次的那個門,而是他即將走進去、走出來、走進去、走出來、反反覆覆走上整整四年的那道門。
校門口掛著“熱烈歡迎新同學”的紅色橫幅,有幾個穿紅馬甲的誌願者舉著各個學院的牌子。顧望舒找到了“航天學院”的牌子,走過去,一個紮著馬尾辮的學姐看了他的錄取通知書,笑了:“小學弟,走,我帶你去辦手續。”
母親在旁邊悄悄拍了好幾張照片。她不太會用手機拍照,總是拍糊,但她還是固執地拍了很多張。她拍了校門口的石碑,拍了顧望舒拖著行李箱走在梧桐樹下的背影,拍了宿舍樓下那一排花花綠綠的迎新展板。每一張都有點糊,但每一張她都捨不得刪。
宿舍在一棟有點舊的樓裡,六人間,上下鋪。顧望舒到的時候已經有三個人在了。
靠窗下鋪那個正躺在床上玩手機的人叫周遠舟——這個名字顧望舒後來會記很久。周遠舟當時穿著一條花哨的沙灘褲,上麵印滿了菠蘿圖案,光著腳翹在床欄杆上,看到顧望舒進來,瞟了一眼,說了句:“這位兄弟裝備挺專業啊,帶螺絲刀來上大學?”
顧望舒看了看自己手裡的那把十字螺絲刀,覺得確實有點奇怪,但冇解釋。
另一個正在整理櫃子的人叫方旭,戴眼鏡,說話輕聲細語的,一看就是個老實人。他的床上攤著一本《C Primer Plus》,書脊已經開裂了,裡麵夾滿了便利貼。
還有一個叫劉嘉瑞,本地人,報到那天就帶了全套電競設備——機械鍵盤、電競鼠標、耳機支架——把書桌擺得滿滿噹噹。他看了一眼顧望舒的螺絲刀和邏輯分析儀,說了句“電工兄弟?以後幫我修電腦”,然後繼續裝他的鍵盤。
顧望舒選了靠門的上鋪。不是因為喜歡,而是因為他覺得上鋪清淨,不會被路過的人打擾。他鋪好床單,把行李箱塞進床底,雙肩包掛在床頭的鉤子上,那本《航空概論》放在枕頭旁邊。
母親幫他把書桌擦了又擦,把牙杯毛巾擺放整齊,又把帶來的零食分給宿舍其他幾個人。周遠舟接過一包牛肉乾,說了聲“謝謝阿姨”,然後對顧望舒說:“你媽人真好。”
母親走的時候,在校門口抱了抱顧望舒。她的個子隻到他肩膀,抱他的時候頭靠在他胸口,像一隻依偎在大樹旁的小鳥。
“好好吃飯,彆熬夜,天冷了多穿點。”
“知道了。”
“有什麼事給家裡打電話。”
“知道了。”
“彆光說知道了。要真的知道。”
顧望舒笑了。母親鬆開他,轉身走了幾步,又回頭看了一眼,然後快步走向地鐵站的方向。顧望舒站在校門口看著她的背影消失在人群中,站了一會兒,轉身走向宿舍。
太陽很大,梧桐樹的影子落在他的肩膀上,斑斑駁駁的。
大學,開始了。
大學的第一堂課是《航空航天概論》。
顧望舒提前二十分鐘到了教室,坐在第二排靠窗的位置,攤開筆記本,把筆擺在右邊,像一個等待升空指令的飛行員。八點整,一個五六十歲、戴黑框眼鏡、穿深藍色夾克的教授推門走了進來,頭髮花白,但腰板筆直,走路帶風。
他在黑板上寫了自己的名字——李維先。然後轉過身,麵對坐得稀稀拉拉的教室,開口說了一句話,聲音不大,但每個字都清清楚楚。
“你們坐在這裡,是因為你們想飛。我來告訴你們,飛,不是一件容易的事。”
顧望舒的脊背一瞬間挺直了。
那堂課講的是飛行器發展史。萊特兄弟、馮如、二戰時期的螺旋槳戰鬥機、噴氣時代的黎明、冷戰時期的軍備競賽、阿波羅登月、航天飛機的輝煌與悲壯、無人機的崛起。這些故事顧望舒從小到大看了無數遍,每一個年份、每一個名字、每一個技術參數他都爛熟於心,但李教授講出來的和他的記憶不太一樣。
李教授講的是技術,但更多的,是人。
他講萊特兄弟的時候,花了很久講威爾伯·萊特的那句話:“我們一直認為,飛行是自然的、簡單的,直到我們試圖去實現它,才發現它是如此困難,困難到幾乎不可能。”
他講馮如的時候,說了一組數據:馮如在美國造飛機,先後試飛六次,失敗了六次,第七次成功了,但成功後僅僅兩個月,在一次飛行表演中失事遇難,年僅二十九歲。
他講中國無人機的時候,講了一個顧望舒從未聽過的細節——長空一號無人機在西北做核試驗取樣任務的時候,試驗基地夜裡溫度零下三十多度,發動機的潤滑油凍成了固體,技術人員用棉被把發動機裹起來,用炭火盆在旁邊烤了整整一個晚上。
“這些事你從書本上學不到。”李教授說,“不是因為它們不重要,而是因為它們太普通了。普通到每一個真正做航空的人,都經曆過類似的事情。不是每個人都有機會飛到天上,但每一個做航空的人,心裡都有一片天空。”
下課鈴響了。李教授合上講義,說了一句話:“下節課講空氣動力學基礎,把流體力學預習一下。”
然後他走了。走得很快,夾克下襬被風掀起來,像一麵小小的旗。
顧望舒坐在座位上,久久冇有動。他發現自己的筆記本上隻記了三行字——
“飛,不是一件容易的事。”
“真正的英雄,往往不被人看見。”
“每一個做航空的人,心裡都有一片天空。”
他把“心裡都有一片天空”下麵劃了兩道線,合上筆記本。
他想,這四年,能學的東西太多了。
大一上學期的生活,比顧望舒想象的要豐富,也比顧望舒想象的要有挑戰。
“豐富”是因為活動太多了。開學第一週是軍訓,軍訓結束後各種社團招新、學生會招新、班委競選、新生晚會、迎新籃球賽……事情一件接著一件,顧望舒參加了兩三個社團的招新麵試,最後隻加入了一個——南航航模隊。
“挑戰”是因為課程並不輕鬆。《高等數學》《線性代數》《大學物理》《C語言程式設計》——這些都是硬課,冇有一門是可以糊弄過去的。顧望舒的數學底子不錯,但高等數學的第一章“函數與極限”就讓他意識到,高中和大學之間隔著的不是一道門檻,而是一堵牆。那些被稱為ε-δ語言的極限定義,用到了他和極限概唸完全不同的思維方式。他在自習室裡反覆看了三遍教材,又在網上搜了幾個視頻講解,才終於理解“對任意ε>0,存在δ>0,使得當0<|x-x₀|<δ時,有|f(x)-A|<ε成立”這句話的真正含義。
周遠舟也在同一節高數課,但他的態度和顧望舒完全不同。顧望舒在筆記本上工工整整地推導定理的時候,周遠舟在旁邊打哈欠,說了一句“這玩意兒不是一看就懂嗎”,然後趴在桌上睡著了。
顧望舒冇有理他。不是因為他不好相處,而是因為他知道人和人不一樣。周遠舟是他見過的最聰明的人之一——那種聰明不是刻苦訓練出來的,而是天生的。他的數學直覺好到離譜,考試前翻翻書就能考九十分以上。顧望舒不嫉妒,但也絕不會因為周遠舟不努力就放鬆自己。
航模隊每週六下午活動,地點是校區東南角的一片草坪。草坪不大,周圍種了一圈冬青樹,遠處是幾棟居民樓。顧望舒每次去都帶著自己那架“小九”——那架他高中時組裝的固定翼飛機,經過幾次升級改版,換了一台效率更高的無刷電機,升級了螺旋槳和電調,飛控從開源基礎版換成了功能更全麵的Pixhawk。
航模隊的主力機型是四軸飛行器,但顧望舒執意飛固定翼。隊長叫徐朗,大三的學長,瘦高個,說話語速極快,看到顧望舒飛了幾圈之後,走過來說了句:“你固定翼飛得可以,但你要學的東西還多著呢。我們下週有個任務,要飛一個固定翼自動航線規劃,你來試試?”
顧望舒答應了。
那個自動航線規劃的任務看起來不難——用地麵站軟件設定好航點,飛機自動起飛、巡航、降落。但顧望舒在做地麵準備的時候發現了一個問題:這塊場地的GPS信號不太穩定,飛機在高空冇問題,但近地麵的時候定位漂移嚴重,如果用全自動模式起飛和降落,風險很大。
他跟徐朗說了這個情況。徐朗想了想:“那你打算怎麼辦?”
“手動起飛,高度超過二十米以後再切自動。降落的時候切回手動。”
“行,你來飛。”
顧望舒握著遙控器,深吸一口氣。推油門,飛機加速滑跑,到合適速度後他輕輕拉桿,機頭抬起,飛機離開地麵。他保持手動控製,觀察著飛機的姿態和高度,到大約二十五米的時候,撥動開關,切到自動模式。飛機微微晃了一下,然後穩穩地沿著設定好的航線飛去。
整個過程很順利。飛機自動飛完了六個航點,然後回到起降場上空開始盤旋。顧望舒切回手動模式,推杆減速,對準跑道,帶杆,接地。飛機在草坪上滑行了不到兩米就停住了。
徐朗在旁邊鼓了鼓掌。不是很大聲,但顧望舒聽到了。
回到工作室之後,顧望舒打開飛行日誌,仔細分析了一下飛行數據,發現自動模式切換的那一瞬間,飛機有一個輕微的俯仰振盪——雖然不影響飛行安全,但說明PID參數還不是最優的。他把日誌數據導出來,準備回去之後慢慢調。
晚上回到宿舍,他打開筆記本電腦,用MATLAB把飛行數據畫成曲線圖,盯著那幾個波峰波穀看了很久,在筆記本上寫了一行字:“俯仰通道的阻尼係數需要提高。”
方旭從他的上鋪探出頭來,看了一眼顧望舒的螢幕:“你在搞什麼?飛機墜了?”
“冇有。在調參數。”
“參數有什麼好調的?能飛不就行了?”
顧望舒冇回答這個問題。不是不想回答,而是不知道該怎麼回答。
對於有些人來說,“能飛就行”就夠了。但是對於顧望舒來說,“能飛”隻是起點。他想讓飛機飛得更好——更穩、更準、更省電、更安全、更可控。這些“更”字背後,是無窮無儘的細節,是PID參數的每一次微調,是風洞實驗中的每一個數據點,是飛行日誌裡每一個不起眼的毛刺。
他不討厭這些細節。
相反,他覺得這些細節裡有某種讓他安心的東西。每一次擰緊一個螺絲、校準一個傳感器、調整一個參數,都是在向“完美飛行”這個目標靠近一步。一步再一步,也許永遠到不了終點,但每一步都算數。
這就是他的大學。
不是電影裡那種熱血沸騰的大學,也不是小說裡那種風花雪月的大學。他的大學是密密麻麻的公式、永遠寫不完的實驗報告、反覆重新整理的飛行日誌、深夜自習室日光燈管的嗡嗡聲、食堂二樓的西紅柿雞蛋麪,以及枕頭旁邊那本從大一入學就開始啃的、至今還冇啃完的《空氣動力學基礎》。
很普通。很充實。很顧望舒。
大一下學期,顧望舒經曆了一件不大不小的事情——他第一次掛科了。
不,不是掛科。是差點掛科。
高數下的期中考試,他考了六十七分。六十七分在班裡的排名大概是中下遊,但對於從小到大考試成績一直穩在前列的人來說,六十七分就是一記耳光。
成績公佈的那天下午,顧望舒冇有去航模隊的活動,一個人坐在自習室裡,對著那份考捲髮呆。卷子上的紅叉觸目驚心——曲線積分算錯了方向,格林公式用反了符號,第一類曲麵積分的投影區域搞錯了。這些錯誤他不是不會,而是在考場上亂了陣腳。
他想起了高三那年高考結束後對自己說過的話——“這輩子再也不想考試了。”然後他笑了笑,覺得那時候的自己真是天真。上大學之後考試多得要命,怎麼可能不考試?
高數下期末考試前,他花了兩個星期把整本書從頭到尾整理了一遍,把所有的公式、定理、典型例題分類抄在了一個新的筆記本上。他把那本筆記本翻了至少五遍,翻到封麵的邊角都捲起來了。
考試那天,他提前半小時交卷。不是逞能,是真的做完了,檢查完了,覺得冇什麼可改的了。
成績出來那天,他考了九十一分。周遠舟考了九十七分。顧望舒看了一眼周遠舟的成績,冇什麼感覺。他的競爭對手從來不是周遠舟——甚至不是任何具體的人。
他的競爭對手是昨天的自己。
大一結束的時候,顧望舒算了一下自己的績點——3.74(滿分4.0)。這個成績在班裡不算最高,但足夠他拿到二等獎學金。母親在電話裡聽到這個訊息的時候,聲音都高了八度:“你拿獎學金了?多少錢?兩千塊?兩千塊也是錢啊!這是你自己掙的錢,你要攢著還是給家裡?”
“攢著吧。”顧望舒說,“下學期買新飛機。”
“什麼飛機?”母親問完就反應過來了,“哦,又是那個什麼無人機是吧?行行行,你自己決定。”
掛了電話之後,顧望舒坐在宿舍的床上,把手機放在枕頭旁邊,腦子裡忽然冒出一個念頭。
一年前,他站在南航的校門口,對自己說“我來了”。
一年後的今天,他在南航的宿舍裡,把獎學金的存在告訴母親,然後在手機備忘錄裡刪掉了。
下學期還有新的挑戰。
大二那年,顧望舒第一次接觸到了真正的工業級無人機。
不是他的,是導師課題組的。
大二上學期,學院要求本科生選擇一個研究方向,聯絡導師,進入課題組進行科研訓練。顧望舒翻了翻學院官網上的導師列表,看了每個人的研究方向,最後鎖定了一個名字——劉遠征,教授,研究方向是無人機飛行控製與導航、多智慧體協同控製。
顧望舒給劉教授發了一封郵件。標題是“關於加入課題組科研訓練的申請”,正文不長,寫了四段——自我介紹,對飛控方向的興趣,他在航模隊的經曆和編程基礎,最後附上了他的成績單和一份他寫的飛控調試報告。
劉教授第三天回覆了郵件,隻有一句話:“下週二下午三點來我辦公室,帶上你的飛控調試報告。”
下週二,顧望舒準時出現在劉教授的辦公室門口。他深吸一口氣,敲了敲門。
“進來。”
劉教授大約五十歲出頭,頭髮稀疏,穿著格子襯衫和深色長褲,桌上攤著一大堆論文和兩三個拆開的飛控板。他看到顧望舒,指了指對麵的椅子:“坐。報告帶來了?”
顧望舒遞上那份飛控調試報告。他寫了整整十五頁,有文字描述、有數據表格、有MATLAB繪製的曲線圖、有PID參數整定的詳細記錄,甚至連他在航模隊飛固定翼時的手感描述都寫了進去。
劉教授接過報告,翻了翻,看到那些曲線圖和參數記錄的時候,目光頓了一下。他把報告翻到最後一頁,看到顧望舒手寫的總結:“飛行控製的本質不是讓飛機聽話,而是讓飛機聽懂人想讓它做的事情。”
“這是你自己寫的?”劉教授問。
“是的。”
“這句話,”劉教授頓了一下,“有點意思。”
他把報告放在桌上,推了一下眼鏡,終於抬起頭正式看了一眼對麵的學生。
“你可以進課題組。先去熟悉一下我們現有的平台,下次課題組會的時候我會叫你。你先把這份綜述看了。”他遞過來一份英文綜述,關於多旋翼無人機容錯控製的。大約五十頁,密密麻麻的公式和引用文獻。
顧望舒接過來,翻了一下,發現有一半的數學符號他還冇學過。
“看不懂很正常。”劉教授說,“先把能看懂的看完,看不懂的標出來,下次來問我。”
顧望舒點了點頭,把綜述小心地對摺了一下,放進書包裡。
走出辦公室的時候,他的心情很平靜,但腳下很輕。他知道,從今天開始,他可以接觸真正前沿的東西了——不是航模,不是玩具,而是真正的科研。
那些東西現在還看不懂。但不久後就能看懂了。
他在走廊上加快了腳步。
大二那年顧望舒參與了人生中第一個正式的科研項目。項目名稱很長,甚至到現在他也無法一次完整地複述出來——“複雜環境下多無人機協同搜尋的分散式魯棒控製方法研究”,簡單來說就是:讓一群無人機在壞境裡自主分工找到一個目標。
項目由劉教授主持,是國家級科研項目的一部分。顧望舒在課題組裡的工作最初很基礎——幫博士生整理文獻、跑模擬、搭建實驗平台的軟硬體環境。
課題組裡有一個博士生,叫趙博,戴一副厚厚的眼鏡,說話帶著濃重口音,脾氣不太好。特彆是模擬數據跑出來效果不好的時候會拍桌子罵人。
“這個怎麼搞的,你這個代碼是不是寫錯了?”趙博指著螢幕上的某一行,語氣有點衝。
顧望舒湊過去看了一眼:“我應該冇寫錯,是數據這裡出了問題。”
“數據怎麼可能有問題?數據是提前處理過的,過濾掉了噪聲信號——”
顧望舒冇有辯解。他把那一段數據重新導入,分析了頻譜特性,發現有一個頻率成分確實超出了預期範圍。他把分析結果整理成一張圖,發給了趙博。
趙博沉默了很久。
從此以後,趙博再也冇有用“你這個代碼是不是寫錯了”的句式跟顧望舒說過話。
大三的時候,顧望舒已經能夠獨立負責一個子模塊的開發了。他的任務是設計一種分散式一致性演算法,讓多架無人機在冇有中央控製的情況下,通過對等通訊達成對整個環境的共同認知,從而實現協同搜尋。
分散式協同,是個很迷人的概念。
想象一下:十架無人機在一片陌生的區域上空散開,它們之間冇有指揮塔,冇有中央大腦,每一架都隻擁有區域性的資訊——自己看到了什麼、附近幾架同伴發來了什麼。但它們通過某種規則不斷地交換資訊、更新自己的判斷,最終在冇有全域性資訊的情況下,共同“拚”出了整個區域的地圖,並且各自分配好了搜尋任務——你去東邊,我去西邊,他去看那塊可疑的陰影。
這不是中央下令的結果,而是自組織湧現的秩序。
顧望舒在紙上畫了很多張圖。十架飛機,隨機分佈的初始位置,他要設計一個演算法,讓它們收斂到一種“每個人都清楚自己該做什麼”的狀態。這是運籌學、控製理論、分散式計算交彙的地方。
趙博幫了很多忙,但問題大多要靠自己解決。有一段時間,顧望舒每天晚上躺在宿舍床上都在想那個演算法。熄燈後四周漆黑,他的腦子像一塊正在過熱的晶片,不斷模擬十架飛機的運動軌跡,試圖找到一種更好的資訊融合方式。
有時候睡不著,劉嘉瑞打遊戲的聲音從對麵床鋪傳過來,方旭在磨牙,周遠舟在說夢話(內容通常是代碼或者罵人)。顧望舒翻了身,閉上眼睛,腦子裡十架無人機還在飛,一圈一圈地飛,像困在一個打轉的循環裡。
演算法跑通的那天是一個普通的週四下午。
顧望舒獨自在實驗室裡運行模擬。他把初始條件設得非常苛刻——十架無人機的起始位置隨機分佈在很大一片區域裡,通訊範圍受限,目標藏在一個很刁鑽的死角裡,單機根本看不見。
代碼開始運行。前三十秒,十架無人機各自在區域性區域內搜尋,毫無章法,像無頭蒼蠅。顧望舒握緊了自己的膝蓋。
第三十一秒,第一架無人機發現自己視野內的一個特征點,生成了一個初步猜測,把它發送給了鄰居。
第三十五秒,三架無人機交換了資訊,形成了一個小共識區域。
第四十秒,六架無人機開始收斂,各自調整了自己的搜尋方向。
第四十八秒,十架無人機的估計位置全部收斂到目標周圍。目標被鎖定。
顧望舒把這次模擬的最終狀態截圖儲存了下來。回到宿舍後,他打開電腦,盯著那張截圖看了很久——十架無人機,十種顏色,全部聚集在目標點周圍。
他給趙博發了一條訊息:“分散式協同跑通了。”
趙博秒回:“明天上午給我看看代碼。”
顧望舒靠在椅背上,長長地撥出一口氣。
窗外的天已經黑了,他的手機螢幕亮了一下,是劉嘉瑞發來的微信:“食堂還有飯,要幫你帶一份嗎?”
“帶一份。西紅柿雞蛋麪,加一個煎蛋。”
那天晚上他吃的西紅柿雞蛋麪,比平時都香。
大學四年,像一條大河,流過春夏秋冬,流過無數個日夜。
顧望舒在這條河裡慢慢長大。十八歲進校的時候,他是一個沉默寡言、隻知道埋頭讀書和做航模的少年。二十二歲畢業的時候,他是一個能夠獨立設計演算法、撰寫論文、在學術會議上做報告的年輕人。
變化是慢慢發生的。
大一的他會在課上緊張,被老師點名回答問題時會臉紅。大四的他已經能夠在全國性學術會議上,麵對台下的專家教授,不緊不慢地講完自己的研究成果,然後從容地回答每一個提問。
大一的他會在航模隊活動時緊握遙控器、手心冒汗。大四的他已經成為航模隊的副隊長,負責帶新生訓練,告訴他們“舵量不要太大,柔和一點”。
大一的他會因為一次冇考好而耿耿於懷好幾天。大四的他已經明白,人生那麼長,一次考試算不了什麼。
他學會了和不同的人相處。周遠舟嘴上損他但心裡敬他,方旭話不多但值得信任,劉嘉瑞除了打遊戲還會在室友生病的時候幫忙帶飯和買藥。他也學會了和一些人和解——但不是所有人都是朋友,保持適度距離也是成年人的必修課。
他學會了獨立。離家的頭兩年,他每週給家裡打兩次電話,後來變成一次。不是不想家了,而是習慣了。他在深夜的自習室裡學會了一個人麵對難題,在實驗室裡學會了一個人調試代碼到淩晨,在南航的操場上學會了一個人在雨中收拾飛機殘骸並且冇有怨言。
他也對“未來”這兩個字有了更清晰的認知——它不再是一片混沌的雲,而是一條有方向的路。雖然路上還有很多霧氣,但腳下的路麵已經踏實了。
大四上學期,顧望舒開始準備考研的方向。
他糾結了很久。以他的成績可以直接保研,但他的排名不夠靠前,想跟的導師名額有限,不確定能不能競爭過。如果考研的話他可以衝擊更好的學校,比如北航。
一邊是穩妥,一邊是進取。
有一天他在導師辦公室和劉教授聊起這件事。劉教授聽完之後,冇有直接給建議,而是問他:“你覺得你以後想做什麼樣的工作?”
顧望舒想了想:“做無人機。不是做產品,是做係統。”
“什麼樣的係統?”
“有用的係統。”顧望舒說,“救災、物流、巡查、農業——就是那種真正能幫到人的係統。不隻是為了好看,也不隻是為了**文。”
劉教授看著他,半晌冇有說話,然後忽然笑了。不是那種客氣地、職業化的笑容,而是真正的、發自內心的高興。那種笑容顧望舒第一次在劉教授臉上看到——那種“我看到這個想成為什麼樣的人”後的鼓勵與欣慰。
“那你留在南航吧。”劉教授說,“我這裡的東西你還冇學完。”
顧望舒最終選擇了考本校的研究生。不是保研,是考——劉教授告訴他“名額不夠,想留下來就得考”。顧望舒說好,然後大四上學期一邊寫畢業論文一邊複習考研科目,把數學、英語、政治和專業課的真題刷了至少三遍。
考完試的那個下午是冬天,天陰沉沉的,零星的幾片雪花從灰濛濛的天空中飄下來,還冇有落地就已經化了。他走出考場,被一陣冷風嗆得咳了兩聲,把羽絨服的拉鍊拉到最頂端,戴上帽子,沿著校道一路走回宿舍。
就在這個時間節點前後,一件意想不到的小事悄然發生。
在南航東區外的某個常去的快遞點取包裹時,他撞見了一個高挑的女生。她大約一米六八,穿著一件深灰色羽絨服,揹著一個雙肩包,正在快遞架的一堆紙箱間翻找,動作有點笨拙——踮起腳尖夠最高一格的時候,她的幾本書從臂彎裡滑了出去,“嘩啦”一聲全掉在了地上。
幾本書散落一地:《運動解剖學》《康複評定學》《鍼灸學》……以及一本封麵印著繁體字的《思考中醫》。
顧望舒恰好蹲下去撿快遞,順手幫她把那幾本書撿回了手裡。
女生接過書,眉梢微微一挑,聲音清脆:“謝謝。”然後低頭看了一眼其中一本被摔皺了封麵的《運動解剖學》,輕輕歎了口氣,把書脊的折角撫平,夾到臂彎裡繼續找快遞去了。
兩人各自取了東西,走出快遞點的玻璃門。南京冬季的風吹得人臉生疼,顧望舒拉上衛衣的帽子。女生走在前麵幾步遠,在冷風中微微縮著脖子,雙肩包的拉鍊上不知什麼時候墜了一隻毛絨柯基掛件,隨著步伐一搖一晃。
兩輛共享單車經過時濺起了一小片融雪,女生朝內側閃了一下,險些崴了腳。顧望舒下意識想伸手扶一把,但她自己扶住了旁邊的立柱,站穩後自嘲地笑了一下,劉海被風吹得亂七八糟,她就那麼大大方方地用手攏了攏頭髮,接著往前走了。
清冷的人行道上,兩個人一前一後地走著,消失在各自的方向裡。顧望舒不知道為什麼在今天回想起這件小事。有可能是快遞站那陣冷風讓他又想起了那個冬天傍晚,那個眼光明亮、蹲下來撿書的女生的模樣——但那一切已經像這雪花一樣,落下去的瞬間就化了。
他不知道她的名字。甚至不知道她是不是南航的學生——那些康複醫學的書不像南航的專業課教材。
他甚至不確定那個下午是否真的發生過。
也許隻是他走進考場前的一個幻覺。
考研出分那天顧望舒查到了自己的成績——總分超過本校複試線二十多分。他給母親打了個電話:“媽,我考上了。”
電話那頭母親先是愣了一下,然後哭了。不是去年那種放聲大哭,而是忍著聲音的、帶著笑的哭:“好……好……我就知道……你從小就喜歡這個……你喜歡天上的東西……”
“媽,就是考上了研究生而已。”
“我知道。我就高興。”
3月的一個傍晚,顧望舒在微信上收到了研究生導師發來的訊息:“祝賀你通過複試,加入我的課題組。”
他盯著那條訊息看了二十秒,回了一個字:“好。”
然後他把手機放在一邊,在床沿坐了一會。
窗外的梧桐樹正在發芽,嫩綠色的新葉在夕陽下透著光,像一片片半透明的翡翠。有鳥在叫,不是麻雀,是那種聲音很清亮的鳥——也許是烏鶇,也許是白頭鵯,他分不清。
他隻知道,這條路還冇走完。
還有研究生三年。還有更遠的路。
但此刻,他坐在南航的宿舍裡,窗外是四月的風、梧桐樹和鳥鳴,一切都是最好的樣子。
畢業典禮那天,顧望舒穿上了學士服。黑色的袍子有點大,袖子長得要挽起來,帽子戴在頭上也不太穩當,風一吹就歪。
校長在台上講話,他坐在台下,聽不清在說什麼,太陽很大,曬得脖子發燙。他抬頭看天,天很藍,藍得像他七歲那年從中山陵看到的天空一樣。
二十二年過去了。他還在看同一片天空。
和那年不一樣的,是他的心裡裝下了更多的東西——伯努利原理、納維-斯托克斯方程、PID控製、卡爾曼濾波、無人機協同演算法,《航空概論》扉頁上的字跡、“長空一號”機身上淡黃色的舊蒙皮、劉教授的格子襯衫、航模隊工作室那股快乾膠和機油混在一起的味道、幾百架次的飛行和幾十次大大小小的摔機,以及南航梧桐樹蔭下走過的四千多個日夜。
他彎下腰繫了一下鞋帶,站起來的時候發現兜裡從錄取通知書裡掉出的紙片還在。上麵是他用鉛筆寫的七個字:“智周萬物,道濟天下。”
字跡歪歪扭扭,像十三歲時寫下的夢想,一筆一劃還很用力。
他把紙片摺好,放回口袋。
該走了。不能就這樣停在這裡。
路還長。