盧嘉承,韓尚卿,童喬凌,黃宇超,閔 閆,李啟東
(1.中電科藍天科技股份有限公司,天津 300384;2.華中科技大學(xué)集成電路學(xué)院,湖北武漢 430074)
深空探測應(yīng)用是在深空上進行各種科學(xué)探測活動的基礎(chǔ)設(shè)施系統(tǒng),可以進行原位、巡視、飛躍和遙感等科學(xué)研究。它具備了綜合性的科研能力,包括深空資源勘查與開發(fā)利用、月基空間科學(xué)觀測、基礎(chǔ)科學(xué)試驗與前沿技術(shù)驗證等。對于開辟新的人類科研活動空間、推動基礎(chǔ)前瞻性技術(shù)的突破、促進重大科學(xué)發(fā)現(xiàn)、提升地外天體探測與資源利用的能力、擴大人類的生存領(lǐng)域等方面具有重要意義。
深空探測具有任務(wù)模式多、建造周期長、工作環(huán)境惡劣等特點。深空晝夜溫差極大,白天高達127 ℃,夜晚降至-173 ℃,由于沒有液態(tài)水和大氣,深空具有更高強度的輻射。深空探測主要任務(wù)包括行星地質(zhì)勘探、環(huán)境監(jiān)測、科學(xué)實驗等,這就要求控制器具有處理多任務(wù)、協(xié)調(diào)各模塊運行、收集和處理大量數(shù)據(jù)的能力。因此,對于高算力、低體積、抗輻射、易維護、可擴展的總控制器的設(shè)計提出了新的挑戰(zhàn)。
本文分析了深空探測應(yīng)用的任務(wù)需求,選擇ARM Cortex-M 系列中系統(tǒng)級芯片(SoC)作為總控制器,簡要介紹了軟件控制策略,針對不同模塊選取合適的自適應(yīng)算法,從而提高控制器處理信息的能力。
深空探測工作是科學(xué)探索深空構(gòu)造和演化過程的重要任務(wù)。該工作包括使用探測器和登陸器等設(shè)備進行勘探、采集樣品和進行測量??碧竭^程中,科學(xué)家會對深空行星表面的地貌、巖石組成、地殼結(jié)構(gòu)、磁場和重力等進行詳細觀測和分析,以揭示深空行星的形成歷史和內(nèi)部結(jié)構(gòu)特征。通過分析深空行星的地質(zhì)特征,可以了解地殼運動、火山活動、撞擊事件以及可能存在的水冰資源等情況,進而為未來的深空探測和人類深空行星登陸任務(wù)提供科學(xué)基礎(chǔ)和技術(shù)支持。
深空的環(huán)境監(jiān)測工作是為了深入了解深空的環(huán)境條件,并為未來的探索和利用提供科學(xué)依據(jù)。該工作包括對深空行星的氣候、溫度、輻射、氣體成分、粒子環(huán)境等進行實時監(jiān)測和記錄。通過各種傳感器和儀器,科學(xué)家可以收集到深空中行星表面的大氣壓力、溫度變化、太陽輻射水平、宇宙射線強度以及可能存在的深空揮發(fā)物等信息。這些數(shù)據(jù)對于研究深空行星的氣候變化、輻射環(huán)境對人類和設(shè)備的影響、資源利用的可行性等具有重要意義。同時,環(huán)境監(jiān)測工作也能為未來的深空建設(shè)和宇航員任務(wù)提供必要的參考和保障,確保人類在深空中的安全和健康。通過持續(xù)的環(huán)境監(jiān)測,可以更好地了解深空的環(huán)境特征,并為未來的深空探索和利用提供重要的科學(xué)支持。
深空中的科學(xué)實驗是為了探索和研究深空的物理、化學(xué)性質(zhì),以增進對深空的認(rèn)識和理解。這些實驗涵蓋了廣泛的科學(xué)領(lǐng)域,包括天文學(xué)、行星的地質(zhì)學(xué)、生物學(xué)等??茖W(xué)家們利用各種儀器和設(shè)備進行深空的觀測、采樣和分析工作,以收集關(guān)于深空起源、演化歷史、行星地質(zhì)構(gòu)造、表面特征、巖石成分等方面的數(shù)據(jù)和信息。例如,通過激光測距儀可以精確測量深空行星表面的高程和形態(tài);通過光譜儀可以分析巖石和土壤樣品的組成和結(jié)構(gòu);通過地震儀可以監(jiān)測深空的地震活動等等。這些實驗的目的是為了揭示深空的奧秘,推動人類對深空的探索進程,同時也為未來的深空建設(shè)和宇航員任務(wù)提供重要的科學(xué)依據(jù)和參考。
目前市面上有許多微型控制器,控制器的選擇至關(guān)重要,簡要介紹下列主流的微型控制器。Arduino Nano 是一款小型、便攜的開源微控制器板,適合于各種簡單的電子項目和原型設(shè)計。ESP32 則具備強大的無線通信和物聯(lián)網(wǎng)功能,可連接互聯(lián)設(shè)備和傳感器。Raspberry Pi Pico 為樹莓派基金會推出的低成本微控制器,集成高性能處理器和廣泛接口,適用于物聯(lián)網(wǎng)、機器學(xué)習(xí)等領(lǐng)域。STM32 系列微控制器因其高性能和強大功能而廣受好評,常見于工業(yè)控制、汽車電子和消費電子等領(lǐng)域。
Nordic nRF52 專為低功耗無線連接應(yīng)用設(shè)計,具有出色的藍牙和射頻性能,適用于可穿戴設(shè)備、智能家居等場景。Texas Instruments MSP430 則是超低功耗微控制器,適用于電池供電的應(yīng)用,如傳感器網(wǎng)絡(luò)和醫(yī)療設(shè)備。Qualcomm Snapdragon 是一系列強大的移動處理器,提供高性能計算和多媒體處理能力,在智能手機和平板電腦領(lǐng)域廣泛應(yīng)用。NXP LPC 系列和Atmel SAM 系列微控制器均采用ARM Cortex-M 內(nèi)核,提供豐富的外設(shè)接口和低功耗特性,適用于工業(yè)控制、智能家居、物聯(lián)網(wǎng)等領(lǐng)域。Renesas RX 系列集成了高性能處理器和多種外設(shè)接口,廣泛應(yīng)用于汽車電子、工業(yè)自動化等領(lǐng)域。而MediaTek Dimensity 則是一種高度集成的SoC,具備卓越的通信和圖像處理能力,適用于移動通信和物聯(lián)網(wǎng)設(shè)備。
圖1 為主流控制器。
圖1 主流控制器
本文控制器選用ARM Cortex-M 系列系統(tǒng)級芯片(SoC),是一種嵌入式微控制器(MCU)解決方案,由ARM 架構(gòu)設(shè)計(圖2)。ARM Cortex-M 系列SoC 具有以下特點:
圖2 ARM Cortex-M系統(tǒng)級芯片
(1)低功耗:采用了精簡的指令集和優(yōu)化的設(shè)計,以最小化功耗消耗。通常使用睡眠模式、低功耗待機模式和動態(tài)電壓頻率調(diào)節(jié)等技術(shù)來實現(xiàn)低功耗操作。
(2)高性能:具有高速的處理器核心、高帶寬的存儲器接口和高效的外設(shè)集成,以滿足多種復(fù)雜應(yīng)用的要求。
(3)綜合外設(shè):Cortex-M 系列SoC 通常內(nèi)置有豐富的外設(shè),如通用串行總線(USB)、以太網(wǎng)控制器、多個串口、模數(shù)轉(zhuǎn)換器(ADC)和電源管理單元等。
(4)安全性:Cortex-M 系列SoC 提供了多種安全功能,如內(nèi)置的存儲器保護單元(MPU),用于隔離和保護關(guān)鍵數(shù)據(jù)和代碼,以及專門的加密引擎,用于加密通信和存儲的數(shù)據(jù)。
(5)軟件生態(tài)系統(tǒng):開發(fā)者可以使用各種成熟的開發(fā)工具鏈、實時操作系統(tǒng)(RTOS)和軟件庫,以簡化軟件開發(fā)過程。
在多任務(wù)系統(tǒng)中,關(guān)心的重要問題是系統(tǒng)是否能夠在指定時間內(nèi)響應(yīng)不同事件并完成相應(yīng)處理任務(wù)。一旦確定了系統(tǒng)的硬件設(shè)備性能成為影響系統(tǒng)服務(wù)質(zhì)量的主要因素。不同的調(diào)度策略會導(dǎo)致不同的沖突避免和沖突解決方法,從而形成不同的調(diào)度方案。優(yōu)先級調(diào)度方法通常首先對待調(diào)度任務(wù)進行優(yōu)先級排序,然后根據(jù)任務(wù)所需時間長短排序同一優(yōu)先級中的任務(wù)[1],再按照任務(wù)的優(yōu)先級順序,在設(shè)備時間軸上尋找可以占用的設(shè)備時間給每個任務(wù)。如果當(dāng)前正在分配調(diào)度的任務(wù)的起始時間與已經(jīng)分配的任務(wù)的設(shè)備時間發(fā)生沖突,則放棄該任務(wù),然后繼續(xù)對已經(jīng)排序好的任務(wù)表中的下一個任務(wù)進行調(diào)度。
評價調(diào)度策略的前提是建立相應(yīng)的評價指標(biāo)。采用從用戶(任務(wù))角度通過分析申請任務(wù)成功調(diào)度的概率來評價優(yōu)先級調(diào)度策略的性能和影響因素。這包括對基于單個和多個設(shè)備的單個任務(wù)被成功調(diào)度的概率進行分析,以及對任意多個任務(wù)被成功調(diào)度的概率進行分析。還需要考慮任務(wù)的起始時間對調(diào)度成功率的影響情況以及設(shè)備時間軸上剩余空隙的分布對調(diào)度成功率的影響以及相應(yīng)的改進策略。
高性能計算系統(tǒng)是復(fù)雜控制系統(tǒng)設(shè)計中不可或缺的。在當(dāng)今多核技術(shù)下,通過提升硬件性能來提高軟件效率已經(jīng)遇到瓶頸。隨著CPU 芯片上集成核心數(shù)量的增加,單個CPU 芯片的計算能力越來越強,意味著有更多的計算資源可供使用。充分利用計算資源可以減少芯片設(shè)計空間,使得微型化芯片設(shè)計更加容易。然而,在傳統(tǒng)的計算模型中,由于單一節(jié)點的計算資源有限,通常采用操作系統(tǒng)進行管理,通過分時復(fù)用的方法在多任務(wù)之間共享計算資源[2]。但是,多核和未來的眾核計算技術(shù)的發(fā)展帶來了越來越多和越來越復(fù)雜的計算資源,并且采用單一操作系統(tǒng)進行管理可能會導(dǎo)致應(yīng)用之間的隔離問題以及計算資源的浪費和不合理分配。
虛擬計算技術(shù)為解決這些問題提供了一種解決方案。該技術(shù)可以將單一系統(tǒng)劃分為多個系統(tǒng),容納更多的客戶執(zhí)行環(huán)境,并整合服務(wù)器以提高系統(tǒng)利用率。本文采用虛擬計算技術(shù)來管理多核計算資源。已有相關(guān)研究證明,在將虛擬計算技術(shù)應(yīng)用于高性能計算環(huán)境時,并不會增加應(yīng)用的計算時間。根據(jù)高性能計算任務(wù)的特征,可以預(yù)測其并行程度和對計算資源的需求,并動態(tài)地調(diào)整其使用的計算資源。分析高性能計算任務(wù)的特征需要從編程模型入手進行研究,而資源需求和資源調(diào)整則需要根據(jù)高性能計算應(yīng)用的特點進行設(shè)計。
通信協(xié)議是需要通信的雙方所達成的一種約定,它對包括數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題統(tǒng)一規(guī)定,在雙方的通信中必須共同遵守。在實際應(yīng)用系統(tǒng)中,如果缺少一個嚴(yán)格、合理、規(guī)范的串口通信協(xié)議,將無法保證數(shù)據(jù)傳輸?shù)恼_性及通信的可靠性。因此,提出一種基于狀態(tài)機串口通信協(xié)議的設(shè)計方法:通過合理地設(shè)置數(shù)據(jù)包格式來保證了數(shù)據(jù)傳輸?shù)恼_性,引入了狀態(tài)機方法,簡化了協(xié)議的實現(xiàn)難度,提高了通信的可靠性,同時使通信過程具有較高的容錯能力,如圖3 所示。
圖3 串口通信數(shù)據(jù)接收狀態(tài)圖
自適應(yīng)學(xué)習(xí)算法是一種能夠根據(jù)環(huán)境變化和數(shù)據(jù)反饋來自動調(diào)整模型或策略的算法。自適應(yīng)學(xué)習(xí)算法通常應(yīng)用于監(jiān)督學(xué)習(xí)、強化學(xué)習(xí)和無監(jiān)督學(xué)習(xí)等領(lǐng)域。它們可以根據(jù)輸入的訓(xùn)練數(shù)據(jù)以及實時的反饋信息,自動調(diào)整模型的參數(shù)或策略,使其更好地適應(yīng)當(dāng)前的任務(wù)和環(huán)境。
在監(jiān)督學(xué)習(xí)中,自適應(yīng)學(xué)習(xí)算法可以自動調(diào)整模型的權(quán)重和偏置,以便更好地擬合訓(xùn)練數(shù)據(jù)的分布。這樣可以提高模型在新數(shù)據(jù)上的泛化能力,從而實現(xiàn)更好的預(yù)測和分類效果。在強化學(xué)習(xí)中,自適應(yīng)學(xué)習(xí)算法可以通過不斷地與環(huán)境進行交互和觀察,學(xué)習(xí)到最優(yōu)的策略或價值函數(shù)。它們可以動態(tài)地調(diào)整策略參數(shù),以最大化累積獎勵或優(yōu)化目標(biāo)函數(shù)。在無監(jiān)督學(xué)習(xí)中,自適應(yīng)學(xué)習(xí)算法可以根據(jù)數(shù)據(jù)的分布和結(jié)構(gòu),自動調(diào)整聚類或降維算法的參數(shù)。這樣可以更好地發(fā)現(xiàn)數(shù)據(jù)中的模式和關(guān)系,從而提高數(shù)據(jù)的表示和理解能力。
常見的自適應(yīng)學(xué)習(xí)算法包括隨機梯度下降法(SGD)、自適應(yīng)神經(jīng)網(wǎng)絡(luò)、遺傳算法、模糊邏輯系統(tǒng)等。這些算法在不同的領(lǐng)域和問題上都有各自的優(yōu)勢和適用性,可以根據(jù)具體的需求選擇合適的算法。
針對深空微型控制器計算機資源調(diào)度問題,選擇強化學(xué)習(xí)算法(reinforcement learning,RL),即通過智能體與環(huán)境的交互來學(xué)習(xí)最優(yōu)行為策略的機器學(xué)習(xí)方法。在深空微型控制器資源調(diào)度中,可以使用強化學(xué)習(xí)算法來動態(tài)地調(diào)整控制器的調(diào)度、管理和通信策略,以提高系統(tǒng)性能與效率。
強化學(xué)習(xí)在深空微型控制器資源調(diào)度中的應(yīng)用流程:
(1)定義狀態(tài)空間:將深空微型控制器計算機的資源調(diào)度問題抽象為一個強化學(xué)習(xí)任務(wù),首先需要定義狀態(tài)空間。狀態(tài)空間可以包括控制器當(dāng)前的各項指標(biāo),如CPU 使用率、內(nèi)存使用率、任務(wù)隊列長度等[3]。
(2)定義動作空間:根據(jù)控制器的調(diào)度、管理和通信策略,定義可選的動作集合。例如,動作可以包括任務(wù)分配、優(yōu)先級調(diào)整、通信帶寬分配等。
(3)定義獎勵函數(shù):設(shè)計獎勵函數(shù)來評估每個狀態(tài)下采取特定動作的優(yōu)劣。獎勵函數(shù)可以考慮系統(tǒng)性能、任務(wù)執(zhí)行效率、資源利用率等因素,以使強化學(xué)習(xí)算法能夠?qū)W習(xí)到最優(yōu)的控制策略。
(4)構(gòu)建強化學(xué)習(xí)模型:選擇合適的強化學(xué)習(xí)算法(例如Q-Learning、Deep Q-Network 等)來構(gòu)建學(xué)習(xí)模型。該模型將根據(jù)當(dāng)前狀態(tài)和獎勵信號,更新策略價值函數(shù)或策略網(wǎng)絡(luò),以指導(dǎo)下一步動作選擇。
(5)訓(xùn)練和優(yōu)化:通過與環(huán)境交互,不斷迭代地訓(xùn)練強化學(xué)習(xí)模型。觀察當(dāng)前狀態(tài),選擇動作,并獲得獎勵信號,然后通過模型更新學(xué)習(xí)策略。通過多次訓(xùn)練迭代,使模型逐漸收斂并學(xué)習(xí)到最優(yōu)的資源調(diào)度策略。
(6)實時調(diào)度決策:在實際應(yīng)用中,將訓(xùn)練好的強化學(xué)習(xí)模型應(yīng)用于深空微型控制器計算機的資源調(diào)度中。根據(jù)當(dāng)前的狀態(tài),通過模型預(yù)測最佳動作,并實時調(diào)整控制器的調(diào)度、管理和通信策略。
需要注意的是,在應(yīng)用強化學(xué)習(xí)算法時,需要充分考慮實際場景和約束條件,并進行合理的模型設(shè)計、獎勵函數(shù)設(shè)計和參數(shù)調(diào)優(yōu),以確保強化學(xué)習(xí)在深空微型控制器計算機資源調(diào)度中的有效性和可靠性。
針對深空微型控制器的能量管理算法設(shè)計,選取PPO(proximal policy optimization)算法。
PPO 算法是一種模型無關(guān)的強化學(xué)習(xí)算法,特點是在策略優(yōu)化過程中,通過使用近似克隆策略進行目標(biāo)策略更新,以提高數(shù)據(jù)的采樣利用效率并增強算法的穩(wěn)定性。在深空微型控制器能量管理中,可以將PPO 算法應(yīng)用于以下方面:
(1)狀態(tài)表示:將深空微型控制器的能量管理問題進行狀態(tài)抽象,定義狀態(tài)空間,例如考慮當(dāng)前能量消耗情況、任務(wù)執(zhí)行進度等因素來表示狀態(tài)。
(2)策略網(wǎng)絡(luò):建立一個神經(jīng)網(wǎng)絡(luò)模型,作為策略網(wǎng)絡(luò),輸入當(dāng)前的狀態(tài),輸出對應(yīng)的動作概率分布。
(3)數(shù)據(jù)采樣與優(yōu)化:通過與環(huán)境交互,采集一批軌跡數(shù)據(jù),包括狀態(tài)、動作和獎勵等信息。然后,使用這些數(shù)據(jù)進行策略優(yōu)化,即通過近似克隆策略來更新目標(biāo)策略,提高系統(tǒng)的能量管理效果。
(4)優(yōu)化目標(biāo):設(shè)計適當(dāng)?shù)膬?yōu)化目標(biāo)函數(shù),用于評估每個狀態(tài)下采取不同動作的好壞程度。優(yōu)化目標(biāo)函數(shù)應(yīng)該考慮到系統(tǒng)的能耗限制以及性能指標(biāo)的優(yōu)化目標(biāo)。
(5)網(wǎng)絡(luò)更新:通過最小化優(yōu)化目標(biāo)函數(shù),使用梯度下降等算法來更新策略網(wǎng)絡(luò)參數(shù),使得策略網(wǎng)絡(luò)逐漸收斂到最優(yōu)解。
通過使用PPO 算法,深空微型控制器能夠根據(jù)當(dāng)前狀態(tài)選擇最佳的動作,并通過逼近克隆策略進行策略優(yōu)化,從而實現(xiàn)能量管理的自適應(yīng)優(yōu)化。這樣可以有效提高深空微型控制器的能源利用率,并優(yōu)化任務(wù)執(zhí)行的性能。
針對深空微型控制器的通信協(xié)議優(yōu)化算法設(shè)計,選取SAC(soft actor-critic)算法。
SAC 是一種基于策略優(yōu)化的強化學(xué)習(xí)算法,它結(jié)合了最大熵原理和深度神經(jīng)網(wǎng)絡(luò),用于求解連續(xù)動作空間中的強化學(xué)習(xí)問題。相比于其他算法,SAC 在處理連續(xù)動作空間上具有更好的性能和采樣效率[4]。在深空微型控制器通信協(xié)議優(yōu)化中,SAC 算法可以應(yīng)用于以下方面:
(1)策略模型:建立一個連續(xù)動作空間下的策略模型,用于選擇通信協(xié)議。該模型由深度神經(jīng)網(wǎng)絡(luò)表示,接受當(dāng)前狀態(tài)作為輸入,并輸出對應(yīng)通信協(xié)議的動作。
(2)策略優(yōu)化:通過與環(huán)境交互收集軌跡數(shù)據(jù),計算每個軌跡的總回報。利用這些數(shù)據(jù),使用SAC 算法對策略模型進行優(yōu)化,使其能夠根據(jù)當(dāng)前狀態(tài)選擇最優(yōu)的通信協(xié)議動作。
(3)最大熵原理:SAC 算法通過最大熵原理來保持策略的多樣性和探索性。最大熵原理指導(dǎo)策略模型選擇具有最大熵(或最大不確定性)的動作分布,以充分探索環(huán)境,并平衡探索與利用之間的權(quán)衡[5]。
(4)基于Q函數(shù)的狀態(tài)值估計:SAC 算法通過引入兩個Q函數(shù)來估計狀態(tài)值函數(shù),用于輔助策略優(yōu)化。這些Q函數(shù)可以同時用于評估策略和生成目標(biāo)策略。
(5)優(yōu)化算法:SAC 使用梯度下降方法對策略模型進行參數(shù)優(yōu)化,使其逐步收斂到最優(yōu)解。
通過應(yīng)用SAC 算法,深空微型控制器可以實現(xiàn)通信協(xié)議優(yōu)化的自適應(yīng)學(xué)習(xí)。該算法能夠在連續(xù)動作空間中進行優(yōu)化,并通過最大熵原理保持多樣性和探索性。通過與環(huán)境交互收集數(shù)據(jù)并進行優(yōu)化,可以使得通信協(xié)議的選擇更加智能和適應(yīng)不同的場景需求。
深空探測應(yīng)用在未來會對控制器的設(shè)計提出更高要求,現(xiàn)有的控制芯片性能也會不斷提升。本文基于對未來探測的設(shè)想,對可能需要的科研需求進行分析,并選取當(dāng)下適合的控制芯片。軟件設(shè)計上采取了基于評價指標(biāo)的優(yōu)先級任務(wù)調(diào)度策略,基于虛擬機的資源調(diào)度策略和基于狀態(tài)機的通信調(diào)度策略,并簡要介紹了幾種可行性的自適應(yīng)學(xué)習(xí)算法進行實現(xiàn)。通過提高芯片硬件資源的利用,為芯片體積縮小提供方向,同時保證深空探測應(yīng)用系統(tǒng)能穩(wěn)定運行。