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