當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 智能應(yīng)用
[導(dǎo)讀]有多種方法可以為工業(yè)系統(tǒng)增加更多的智能,包括與具有模擬和數(shù)字組件的傳感器相匹配的邊緣和云人工智能(AI)。通過(guò)AI方法的多樣性,傳感器設(shè)計(jì)師必須考慮一些競(jìng)爭(zhēng)要求,包括決策延遲,網(wǎng)絡(luò)使用,功耗/電池壽命以及適合機(jī)器的AI模型。上一篇文章的重點(diǎn)是Voyager4的概述和硬件設(shè)計(jì):一個(gè)無(wú)線,基于AI的條件監(jiān)視傳感器。本文將重點(diǎn)介紹為智能邊緣傳感器創(chuàng)建的軟件體系結(jié)構(gòu)和AI算法。將描述用于Voyager4上AI模型開(kāi)發(fā)的完整系統(tǒng)級(jí)方法。

有多種方法可以為工業(yè)系統(tǒng)增加更多的智能,包括與具有模擬和數(shù)字組件的傳感器相匹配的邊緣和云人工智能(AI)。通過(guò)AI方法的多樣性,傳感器設(shè)計(jì)師必須考慮一些競(jìng)爭(zhēng)要求,包括決策延遲,網(wǎng)絡(luò)使用,功耗/電池壽命以及適合機(jī)器的AI模型。上一篇文章的重點(diǎn)是Voyager4的概述和硬件設(shè)計(jì):一個(gè)無(wú)線,基于AI的條件監(jiān)視傳感器。本文將重點(diǎn)介紹為智能邊緣傳感器創(chuàng)建的軟件體系結(jié)構(gòu)和AI算法。將描述用于Voyager4上AI模型開(kāi)發(fā)的完整系統(tǒng)級(jí)方法。

條件監(jiān)控傳感器的軟件設(shè)計(jì)

Voyager4是一個(gè)由模擬設(shè)備開(kāi)發(fā)的無(wú)線狀況監(jiān)視平臺(tái),使開(kāi)發(fā)人員能夠快速部署和測(cè)試機(jī)器或測(cè)試設(shè)置的無(wú)線解決方案。汽車健康監(jiān)測(cè)解決方案(例如Voyager4)在機(jī)器人技術(shù)和旋轉(zhuǎn)機(jī)器等領(lǐng)域(例如渦輪機(jī),風(fēng)扇,泵和電動(dòng)機(jī))都使用。

為這種無(wú)線邊緣設(shè)備開(kāi)發(fā)軟件可能很困難。從傳感器設(shè)計(jì)的早期開(kāi)始,開(kāi)發(fā)人員必須考慮整體系統(tǒng)體系結(jié)構(gòu),考慮系統(tǒng)的各個(gè)部分將如何運(yùn)行,如何集成不同的組件以共同工作,以及如何應(yīng)用和部署諸如神經(jīng)網(wǎng)絡(luò)之類的有用算法和分析工具,以將智能添加到優(yōu)勢(shì)。

任何此類項(xiàng)目的目標(biāo)是為邊緣設(shè)備和連接的主機(jī)創(chuàng)建軟件,該軟件易于理解,可修改和升級(jí)。在Voyager4中,有兩個(gè)微控制器和許多外圍設(shè)備,包括傳感器,電源管理板,閃存和通信接口。開(kāi)發(fā)控制和組合這些部分所需的代碼是一項(xiàng)艱巨的任務(wù)。

本文的希望是,通過(guò)展示Voyager4開(kāi)發(fā)過(guò)程中使用的設(shè)計(jì)過(guò)程,強(qiáng)調(diào)所采取的步驟并給出一些具體的實(shí)現(xiàn)示例,讀者可以更好地了解如何開(kāi)發(fā)其邊緣傳感器。

概述

雖然此處給出了Voyager操作的簡(jiǎn)要回顧,但請(qǐng)參閱文章系列的第1部分,以獲取有關(guān)條件監(jiān)視傳感器的更多信息,以及有關(guān)Voyager4 Project的獨(dú)特硬件,功率和安全功能的更多詳細(xì)信息。

Voyager4的傳感器操作原理,ADXL382三方8 kHz數(shù)字微電機(jī)電系統(tǒng)(MEMS)加速度計(jì)用于收集振動(dòng)數(shù)據(jù)?;诓僮鞣绞剑占臄?shù)據(jù)可能遵循幾個(gè)不同的路徑。

路徑A是最初將原始振動(dòng)數(shù)據(jù)直接發(fā)送到Max32666藍(lán)牙®低能(BLE)處理器的路徑。從這里,數(shù)據(jù)可以通過(guò)BLE收音機(jī)或通過(guò)USB發(fā)送給用戶。路徑B是一種替代操作方式,一旦使用Voyager收集原始數(shù)據(jù),并且使用Max78000外部工具訓(xùn)練了模型。數(shù)據(jù)不是發(fā)送給用戶的,而是傳遞到Edge AI算法以預(yù)測(cè)機(jī)器數(shù)據(jù)有故障的。路徑C和D覆蓋分別檢測(cè)到電動(dòng)機(jī)故障或未檢測(cè)到的用例。如果檢測(cè)到故障,則可以通過(guò)BLE處理器發(fā)送標(biāo)志或用戶警報(bào)到主機(jī)。如果未檢測(cè)到故障,傳感器將返回睡眠模式,直到下一個(gè)檢測(cè)事件。

該體系結(jié)構(gòu)是Voyager4的軟件和AI算法開(kāi)發(fā)的重點(diǎn)。有關(guān)對(duì)該體系結(jié)構(gòu)的完整系統(tǒng)級(jí)別的理解,本文將討論:

· BLE術(shù)語(yǔ)

· 實(shí)施BLE周圍

· BLE中央的實(shí)施

· 培訓(xùn)和部署AI算法

BLE背景

在設(shè)計(jì)工業(yè)邊緣傳感器時(shí),連接性是關(guān)鍵設(shè)計(jì)因素之一。這會(huì)根據(jù)可用的功率/所需的功率,從而影響從范圍和可靠性到設(shè)備的整體壽命和大小的所有事物。如表1所示,與其他連接標(biāo)準(zhǔn)相比,BLE具有一些獨(dú)特的優(yōu)勢(shì)。 BLE的范圍,功率和可靠性對(duì)于我們的工業(yè)監(jiān)測(cè)用例尤為重要。要了解BLE邊緣設(shè)備的設(shè)計(jì)和開(kāi)發(fā),您必須首先了解任何BLE項(xiàng)目使用的一些基本術(shù)語(yǔ)。

對(duì)BLE所提供的所有內(nèi)容的詳盡解釋將填寫(xiě)一本書(shū),因此本文重點(diǎn)介紹了實(shí)施BLE設(shè)備的任何人都需要考慮的一些關(guān)鍵概念,即:

· 軟件堆棧

· 外圍/中央模型

· 協(xié)議和配置文件

BLE軟件堆棧

BLE軟件堆棧是標(biāo)準(zhǔn)協(xié)議的集合,必須由設(shè)備實(shí)現(xiàn),才能將其視為BLE兼容。通過(guò)說(shuō)明堆棧中的不同協(xié)議是如何分層的,可以更容易地理解該名稱。高級(jí)功能(例如用戶通信和設(shè)備連接)由負(fù)責(zé)基本任務(wù)(例如數(shù)據(jù)封裝和解析)的低級(jí)協(xié)議支持。

幸運(yùn)的是,對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),對(duì)堆棧組件的基本了解通常足夠,他們可以從已實(shí)現(xiàn)自己的版本的一系列硬件設(shè)備中進(jìn)行選擇。這要求用戶簡(jiǎn)單地開(kāi)發(fā)應(yīng)用程序的一部分,該應(yīng)用程序?qū)⒃谑褂妙A(yù)構(gòu)建的BLE堆棧時(shí)控制設(shè)備本身。

BLE堆棧通常表示為三個(gè)不同的部分:應(yīng)用,主機(jī)和控制器。應(yīng)用程序?qū)⒔涌诙x為用戶和用戶正在實(shí)現(xiàn)的特定應(yīng)用程序代碼(振動(dòng)監(jiān)視)。主機(jī)是指BLE軟件堆棧的上層,該堆??刂浦呒?jí)功能,例如配置文件和協(xié)議??刂破髦傅氖荁LE堆棧的下層,該層涉及鏈路層和物理層(如2.4 GHz無(wú)線電本身)。對(duì)于此項(xiàng)目,選擇了MAX32666 BLE微控制器。這是一個(gè)低功率ARM®Cortex® - M4微控制器,具有藍(lán)牙5 LE無(wú)線電,并支持遠(yuǎn)距離(4×)和高數(shù)據(jù)吞吐量(2 Mbps)。

外圍/中央模型

BLE設(shè)備可以根據(jù)其作用定義為外圍設(shè)備或中心。由于數(shù)據(jù)可以在兩個(gè)方向上流動(dòng),因此兩者之間最大的區(qū)別之一是它們的連接方式。連接之前,外圍設(shè)備宣傳其連接的可用性。中央設(shè)備掃描可用的外圍設(shè)備以連接并啟動(dòng)連接。數(shù)據(jù)可能在外圍和中央之間的兩個(gè)方向上流動(dòng),但中心被視為主機(jī)。較舊的BLE參考文獻(xiàn)還分別將外圍設(shè)備和中心作為服務(wù)器和客戶。

在我們的系統(tǒng)中,Voyager平臺(tái)被定義為我們的外圍平臺(tái),它收集并將數(shù)據(jù)發(fā)送到中心。對(duì)于這個(gè)項(xiàng)目,為了簡(jiǎn)化開(kāi)發(fā)并易于理解,最初的重點(diǎn)是與單個(gè)外圍交互的最簡(jiǎn)單情況。

協(xié)議和配置文件

協(xié)議和配置文件是藍(lán)牙命名術(shù)語(yǔ)的易于混淆的部分。簡(jiǎn)而言之,協(xié)議是定義設(shè)備操作的基本功能構(gòu)建塊:數(shù)據(jù)封裝,格式,路由等。配置文件是功能捆綁,結(jié)合起來(lái)以啟用基本的操作模式。它本質(zhì)上是實(shí)現(xiàn)一定總體功能的協(xié)議的組合,例如,電池服務(wù)配置文件可用于詢問(wèn)設(shè)備的剩余電池。必須由所有BLE設(shè)備實(shí)現(xiàn)所有重要的通用訪問(wèn)配置文件(GAP)和通用屬性配置文件(GATT),以允許它們連接到其他BLE設(shè)備。 GAP涵蓋了低級(jí)功能 - 廣告,設(shè)備發(fā)現(xiàn)和管理連接。 Gatt管理高級(jí)數(shù)據(jù)組織并在設(shè)備之間傳輸,允許他們?cè)诮⒌倪B接上讀寫(xiě)。

其他配置文件是可選的附加組件,可用于諸如接近度配置文件之類的設(shè)備。這包括由藍(lán)牙特殊興趣組(SIG)創(chuàng)建的預(yù)定義配置文件。在開(kāi)發(fā)典型的設(shè)備(例如智能手表或智能電表)時(shí),使用預(yù)定義的配置文件可能很有用,但是對(duì)于實(shí)現(xiàn)大量自定義功能的設(shè)備可能會(huì)限制。

還允許使用藍(lán)牙SIG定義的自定義配置文件,以便攜性成本以更大的設(shè)計(jì)靈活性。每個(gè)配置文件將其數(shù)據(jù)組織到服務(wù)中,該服務(wù)由幾個(gè)特征組成。

當(dāng)中央和外圍設(shè)備之間形成連接時(shí),中央設(shè)備可以請(qǐng)求與該外圍設(shè)備相關(guān)的配置文件和服務(wù)。顯示了Central要求時(shí)的差距,GATT和自定義配置文件(及其服務(wù))的結(jié)構(gòu)。

對(duì)于Voyager,除了用作命令服務(wù)器的單個(gè)自定義配置文件之外,我們還定義了基本差距和GATT配置文件,其中處理了中央的命令并返回?cái)?shù)據(jù)或更新外圍設(shè)備本身的配置。

固件實(shí)現(xiàn)

BLE微控制器是系統(tǒng)的核心,可確保來(lái)自所有外圍傳感器和設(shè)備的數(shù)據(jù)可供連接的BLE Central檢索或修改。

設(shè)備配置

在Max32666上預(yù)先構(gòu)建了BLE堆棧,我們通過(guò)填寫(xiě)相關(guān)配置功能來(lái)構(gòu)建外圍設(shè)備的外觀。例如,我們?yōu)閽呙钄?shù)據(jù)發(fā)現(xiàn)陣列提供了數(shù)據(jù)長(zhǎng)度,廣告類型和字符列表,每當(dāng)Voyager供電時(shí),我們的外圍設(shè)置功能都會(huì)在我們的外圍設(shè)置功能中調(diào)用。

這樣的BLE設(shè)備將具有大量的配置設(shè)置,包括收音機(jī)和返回?cái)?shù)據(jù)類型的傳輸功率。建議從您使用的硬件可用的任何預(yù)構(gòu)建示例開(kāi)始,然后從那里進(jìn)行自定義修改。 Max32666為BLE數(shù)據(jù)服務(wù)器(外圍)提供了一個(gè)示例代碼,稱為BLE DATS,該代碼被用作Voyager項(xiàng)目的基礎(chǔ)。配置后,當(dāng)中央掃描可用設(shè)備時(shí),外圍的名稱出現(xiàn)為Voyager。這也可以用來(lái)過(guò)濾搜索列表,以便中央僅顯示預(yù)期名稱的設(shè)備。設(shè)備名稱與設(shè)備MAC地址和接收的信號(hào)強(qiáng)度指示器(RSSI)一起顯示。

堆棧中的其他配置設(shè)置控制設(shè)備其他模式的預(yù)期名稱和行為,例如制造商ID,對(duì)讀/寫(xiě)命令的響應(yīng),等等。

命令服務(wù)器

由于串聯(lián)設(shè)計(jì)了Voyager4應(yīng)用程序的中央和外圍側(cè),因此可以通過(guò)使用帶有單個(gè)BLE服務(wù)的自定義配置文件來(lái)簡(jiǎn)化外圍界面。此配置文件將負(fù)責(zé)從中央設(shè)備接收命令,并以加速度計(jì)數(shù)據(jù),溫度數(shù)據(jù)和其他設(shè)備信息的形式返回響應(yīng)。

這項(xiàng)單一的自定義服務(wù)是在像Voyager一樣復(fù)雜的設(shè)備中進(jìn)行通信的非正統(tǒng)服務(wù),但有一些好處。它可以使Voyager版本之間的向后兼容性提高命令靈活性,因?yàn)槭褂米址鳛槊钶斎氲絍oyager外圍設(shè)備的命令輸入允許根據(jù)數(shù)據(jù)解析的方式來(lái)獲得各種命令類型和值。

一旦在外圍和中心之間形成了連接,建立雙向通信,中心將向圖11所示的自定義特征發(fā)出通知命令。這將在外圍側(cè)建立通知系統(tǒng),并在中心側(cè)分配相應(yīng)的回調(diào)函數(shù)。這意味著任何時(shí)候分配給該自定義特征的更新數(shù)據(jù),通知中心設(shè)備,傳輸新數(shù)據(jù)并觸發(fā)中央設(shè)備的回調(diào)函數(shù)。

固件體系結(jié)構(gòu)

硬件圖顯示了Voyager中包含的內(nèi)容數(shù)組以及相對(duì)數(shù)據(jù)路徑和電源。大多數(shù)軟件開(kāi)發(fā)都在BLE微控制器上進(jìn)行,因?yàn)樗侵笓]中心,將BLE接口與設(shè)備的BLE接口以及傳感器和微控制器數(shù)據(jù)的內(nèi)部管道進(jìn)行協(xié)調(diào)。為了與系統(tǒng)中的不同傳感器和微型相互作用,我們必須開(kāi)發(fā)用于BLE微控制器使用的設(shè)備驅(qū)動(dòng)程序,以及AI微控制器,如AI部分所述。實(shí)際上,這些驅(qū)動(dòng)程序的開(kāi)發(fā)和集成是連接邊緣傳感器所需的大部分編碼工作。

編寫(xiě)便攜式代碼

在開(kāi)發(fā)固件時(shí),我們將代碼分為幾層抽象,將一個(gè)特定微控制器的特定細(xì)節(jié)與應(yīng)用程序和驅(qū)動(dòng)程序代碼分開(kāi)。這是一個(gè)很好理解的問(wèn)題,除應(yīng)用層外,通常通過(guò)將代碼責(zé)任分為三個(gè)不同的層來(lái)解決。這些是硬件抽象層(HAL),董事會(huì)支持軟件包(BSP)和驅(qū)動(dòng)程序?qū)印?

HAL為程序提供了一種與不同硬件進(jìn)行交互的程序,而無(wú)需了解每個(gè)設(shè)備的詳細(xì)信息。 BSP定義了與硬件有關(guān)的軟件,驅(qū)動(dòng)程序?qū)佣x了單個(gè)設(shè)備(例如寄存器映射)的更細(xì)節(jié)。例如,在Voyager中,我們有兩個(gè)微控制器,最大32666用于BLE連接,Max78000帶有機(jī)上卷積神經(jīng)網(wǎng)絡(luò)(CNN)加速器。如圖10所示,Voyager中的HAL定義了最基本的通信命令,這些命令將由MicroControllers,SPI和I2C使用。例如,任何設(shè)備驅(qū)動(dòng)程序發(fā)出的任何SPI呼叫最初都會(huì)將責(zé)任推遲到HAL中的SPI函數(shù),然后查找BSP的特定信息,以使用該微控制器使用正確的SPI命令。

系統(tǒng)中每個(gè)板的HAL保持不變,但是每個(gè)微控制器都會(huì)更新BSP。 BSP還負(fù)責(zé)定義系統(tǒng)的通用構(gòu)建塊,該塊將應(yīng)用程序從所使用的特定設(shè)備中調(diào)用。在圖10中,BSP中的main_adxl塊是所使用的基礎(chǔ)加速度計(jì)的抽象。在BSP層中定義了任何加速度計(jì)(例如初始化和讀取)的通用命令,而在ADXL382塊中的驅(qū)動(dòng)程序級(jí)別上定義了諸如get_raw_xyz_data之類的低級(jí)功能。將驅(qū)動(dòng)程序代碼從MAX32666移植到Max78000微控制器時(shí),加速度計(jì)代碼僅與加速度計(jì)本身相關(guān),因此保持不變。唯一更新的文件允許與新的微控制器進(jìn)行通信,在BSP層內(nèi)。

在更換或升級(jí)系統(tǒng)中的零件方面,這也具有明顯的好處。 Voyager中的一個(gè)真實(shí)例子是決定升級(jí)所使用的主要加速度計(jì)。在這種情況下,僅更新了驅(qū)動(dòng)程序?qū)又械拇a,從而簡(jiǎn)化了維護(hù),修改和測(cè)試。

數(shù)據(jù)管道和中央

盡管可以根據(jù)要求提供溫度和電池信息,但Voyager的主要角色是條件監(jiān)視器和振動(dòng)傳感器。我們?cè)跀?shù)據(jù)吞吐量和必須發(fā)送數(shù)據(jù)的頻率方面的要求將集中在振動(dòng)傳感器和典型的狀態(tài)監(jiān)視設(shè)置上,例如,每天一次進(jìn)行一次簡(jiǎn)短的測(cè)量。 BLE不允許高數(shù)據(jù)吞吐量。 ADXL382是一個(gè)高帶寬,3軸加速度計(jì),每軸每秒收集16,000個(gè)樣本,以高性能模式。有一些可用的選項(xiàng),可根據(jù)系統(tǒng)中包含的組件發(fā)送數(shù)據(jù)。

發(fā)送實(shí)時(shí)數(shù)據(jù)

沒(méi)有任何形式的緩沖,請(qǐng)?jiān)谥醒胝?qǐng)求時(shí)立即發(fā)送數(shù)據(jù)。盡管這是一種演示模式,但實(shí)時(shí)展示了高性能加速度計(jì)數(shù)據(jù),但隨著生成的數(shù)據(jù)量超過(guò)可以發(fā)送的速率,電池會(huì)很快消耗或丟棄或損壞。

從內(nèi)存發(fā)送數(shù)據(jù)

另一個(gè)選擇是將數(shù)據(jù)保存到閃存。這樣,我們可以安全地記錄加速度計(jì)數(shù)據(jù),而不必?fù)?dān)心覆蓋先前的值。然后,保存的數(shù)據(jù)將直接發(fā)送到中央或從中央接收命令后報(bào)告。由于該系統(tǒng)不再是實(shí)時(shí)的(數(shù)據(jù)可能是幾分鐘甚至幾天),因此我們還可以利用數(shù)據(jù)包的BLE確認(rèn)系統(tǒng),確保數(shù)據(jù)到達(dá)中心完全完整,并重新保存任何丟失的數(shù)據(jù)。

對(duì)于典型的工業(yè)狀況監(jiān)測(cè)設(shè)置,該解決方案更為實(shí)用,但是該設(shè)備的電池壽命大多浪費(fèi)了每天不會(huì)改變太大的振動(dòng)信息。

在邊緣進(jìn)行分析

為了節(jié)省電池壽命,最好在邊緣進(jìn)行一些分析,以確保僅通過(guò)無(wú)線電鏈接傳達(dá)相關(guān)數(shù)據(jù)。當(dāng)然,僅當(dāng)在邊緣創(chuàng)建有意義的見(jiàn)解所需的功率明顯少于通過(guò)BLE發(fā)送數(shù)據(jù)所需的功率(有關(guān)此信息的更多信息,請(qǐng)參見(jiàn)本文系列的第1部分)。

您可以看到加速度計(jì)具有兩個(gè)微控制器的直接數(shù)據(jù)路徑。在我們將在邊緣進(jìn)行一些分析的用例中,AI微控制器可以直接從加速度計(jì)讀取振動(dòng)數(shù)據(jù),并使用板載AI模型進(jìn)行分析。

設(shè)計(jì)中央用戶界面

由于BLE周圍是與Voyager外圍的同時(shí)設(shè)計(jì)的,因此兩者的相互作用方式具有很大的靈活性。通常,中央設(shè)備需要掃描并連接到Voyager外圍設(shè)備,然后發(fā)送字符串命令并處理其返回值。初始連接后,所有BLE命令將直接發(fā)送到外圍的自定義服務(wù)以進(jìn)行解析。在這種情況下,中心是用Python編寫(xiě)的Windows PC上的圖形用戶界面(GUI),并利用BLE外圍圖書(shū)館(Bleak)發(fā)出標(biāo)準(zhǔn)BLE命令。 Bleak是在Python標(biāo)準(zhǔn)的Asyncio庫(kù)的頂部建造的,允許BLE命令異步運(yùn)行,從而確保用戶界面保持可互作用且不會(huì)凍結(jié)。

當(dāng)GUI成功連接到外圍設(shè)備時(shí),將自動(dòng)發(fā)出通知命令,將自動(dòng)發(fā)出Voyager的單個(gè)自定義特征。這確保了此特征的任何更新都向中央報(bào)告。這很重要,因?yàn)檫M(jìn)一步的命令獲得了航行者的確認(rèn)或回應(yīng),指示他們是否成功地進(jìn)行了。

數(shù)據(jù)是如何請(qǐng)求的?

始終使用簡(jiǎn)單的字符串命令請(qǐng)求數(shù)據(jù)。例如,Central可能會(huì)發(fā)出SetPhy 2命令,以指示Voyager使用其2M收音機(jī),這可以以某些范圍和可靠性為代價(jià)更快的數(shù)據(jù)通信。外圍設(shè)備解析此命令以確保其有效,然后以2個(gè)輸入值為2的內(nèi)部setPhy函數(shù)以切換所使用的無(wú)線電。如果Voyager成功地執(zhí)行了此功能,則將返回:OK命令發(fā)回中央設(shè)備并顯示給用戶。

解釋加速度計(jì)數(shù)據(jù)

在接收數(shù)據(jù)之前,GUI的用戶可以選擇使用SetAdxlCFG命令配置連接的Voyager的加速度計(jì)。一旦周圍發(fā)出開(kāi)始命令,加速度計(jì)數(shù)據(jù)的流量從外圍到中心開(kāi)始。默認(rèn)情況下,中央設(shè)備和外圍設(shè)備在實(shí)時(shí)數(shù)據(jù)模式下運(yùn)行,因?yàn)檫@對(duì)演示目的很有用。

在外圍方面,內(nèi)部第一局(FIFO)緩沖區(qū)以用戶指定的采樣率填充了最新數(shù)據(jù)。 FIFO填充后,將在Voyager自定義服務(wù)上放置一個(gè)標(biāo)志,并通知外圍有新數(shù)據(jù)可用。然后,數(shù)據(jù)被周圍發(fā)送并解析為三個(gè)軸的加速數(shù)據(jù)的格式陣列:x,y和z。數(shù)據(jù)始終繪制,用戶可以選擇選擇一個(gè)保存數(shù)據(jù)選項(xiàng),該選項(xiàng)也將相同的數(shù)據(jù)保存到CSV文件中以進(jìn)行以后分析。

AI算法設(shè)計(jì)

該項(xiàng)目的目的是檢測(cè)汽車的健康何時(shí)開(kāi)始降解。邊緣的AI分析旨在基于一個(gè)或多個(gè)輸入(包括音頻,溫度和振動(dòng))來(lái)代替或補(bǔ)充數(shù)據(jù)分析,以創(chuàng)建運(yùn)動(dòng)健康的指標(biāo)或表征。到目前為止,振動(dòng)是當(dāng)今狀況監(jiān)測(cè)應(yīng)用程序中最常使用的振動(dòng)。

輸入

許多Edge AI處理器往往是相當(dāng)渴望的,它與任何無(wú)線狀況監(jiān)控解決方案的目標(biāo)之一相反:長(zhǎng)期設(shè)備壽命。 Max78000(如前所述)可以使快速,低功率的AI推斷總體上使用比使用BLE無(wú)線電更少的功率。但是,在使用低功率邊緣AI處理器時(shí),請(qǐng)記住,我們的神經(jīng)網(wǎng)絡(luò)的大小不能超過(guò)董事會(huì)的規(guī)格。該板配備具有512 KB數(shù)據(jù)存儲(chǔ)器的CNN加速器。它主要用于對(duì)象檢測(cè),音頻處理和時(shí)間序列數(shù)據(jù)處理。

隨著時(shí)間的推移,我們解決方案的可用數(shù)據(jù)是加速度。為了最大程度地提高受過(guò)訓(xùn)練的算法的性能,試用了幾種預(yù)處理方法,以確定哪些對(duì)準(zhǔn)確性的影響最大。

訓(xùn)練

通過(guò)“模擬設(shè)備AI” Github在線描述了培訓(xùn)和部署神經(jīng)網(wǎng)絡(luò)向Max78000進(jìn)行培訓(xùn)和部署的過(guò)程。通常,首先使用Pytorch®和TensorFlow®等傳統(tǒng)工具集在主機(jī)PC上創(chuàng)建模型。該模型需要訓(xùn)練數(shù)據(jù),這些數(shù)據(jù)必須由目標(biāo)設(shè)備保存并轉(zhuǎn)移到PC。輸入的一個(gè)小節(jié)成為訓(xùn)練集,專門用于訓(xùn)練模型。進(jìn)一步的小節(jié)成為驗(yàn)證集,用于觀察訓(xùn)練過(guò)程中損耗函數(shù)(衡量網(wǎng)絡(luò)性能的度量)的變化。

根據(jù)所使用的模型類型,可能需要不同類型和數(shù)量的數(shù)據(jù)。如果您希望表征特定的電動(dòng)機(jī)故障,那么您正在訓(xùn)練的模型將需要標(biāo)記的數(shù)據(jù),除了存在不存在故障的健康振動(dòng)數(shù)據(jù)之外,還存在不同故障時(shí),概述了振動(dòng)。

Voyager最初是由自動(dòng)編碼器型神經(jīng)網(wǎng)絡(luò)開(kāi)發(fā)的。自動(dòng)編碼器不需要數(shù)據(jù)即可擁有任何標(biāo)簽來(lái)學(xué)習(xí)如何對(duì)其進(jìn)行分類。盡管這種類型的模型不適合復(fù)雜的故障分類,但它可以快速訓(xùn)練,并且僅使用客戶已經(jīng)擁有的數(shù)據(jù),例如健康的電機(jī)數(shù)據(jù)。

在每種情況下找到理想的數(shù)據(jù)要培訓(xùn)是獨(dú)有的,需要足夠的數(shù)據(jù)來(lái)了解健康運(yùn)動(dòng)數(shù)據(jù)的一般趨勢(shì),而無(wú)需將數(shù)據(jù)過(guò)度擬合到培訓(xùn)輸入中。使用Voyager部署的默認(rèn)示例經(jīng)過(guò)僅

30秒的健康加速度計(jì)數(shù)據(jù)培訓(xùn)。存在相同數(shù)量的具有不平衡故障的數(shù)據(jù)進(jìn)行驗(yàn)證。使用Python GUI直接將兩個(gè)數(shù)據(jù)集直接保存到訓(xùn)練PC中。

在用于訓(xùn)練模型之前,對(duì)輸入數(shù)據(jù)進(jìn)行了預(yù)處理。然后,訓(xùn)練腳本會(huì)順序進(jìn)行訓(xùn)練的幾次迭代,并選擇表現(xiàn)最佳的模型。為了測(cè)試目的,需要一些故障輸入數(shù)據(jù)。您不能在沒(méi)有首先測(cè)試錯(cuò)誤數(shù)據(jù)的情況下對(duì)健康數(shù)據(jù)進(jìn)行訓(xùn)練,并表達(dá)對(duì)結(jié)果的信心。

如何部署算法?

一旦訓(xùn)練了模型,就必須使用ADI的在線工具集對(duì)其進(jìn)行量化和合成。量化通過(guò)舍入或截?cái)鄬⑸赡P偷臋?quán)重調(diào)整為較小的垃圾箱,從而減少存儲(chǔ)模型所需的內(nèi)存。將神經(jīng)網(wǎng)絡(luò)部署到較小的邊緣設(shè)備時(shí),這是一個(gè)標(biāo)準(zhǔn)過(guò)程。合成將量化模型轉(zhuǎn)換為C文件,這些模型可以由微控制器理解。

生成三個(gè)文件,然后將其復(fù)制到微控制器的活動(dòng)項(xiàng)目中,并加載下一個(gè)固件更新。其中兩個(gè)文件(CNN.H和CNN.C)包含寄存器寫(xiě)入CNN配置和已加載模型的其他有用功能。第三個(gè)文件(weights.h)包含訓(xùn)練有素(和量化的)模型權(quán)重。

一旦加載了新的固件,要么通過(guò)對(duì)調(diào)試端口的有線更新或無(wú)線更新(OTA)更新,該模型已被部署,并且可以由BLE MicroController查詢,以根據(jù)需要進(jìn)行AI推斷。

部署后如何使用它?

部署了新的固件后,AI微控制器將作為有限狀態(tài)機(jī)操作,接受并對(duì)BLE控制器的命令反應(yīng)SPI。

當(dāng)請(qǐng)求推理時(shí),AI微控制器喚醒并從加速度計(jì)請(qǐng)求數(shù)據(jù)。重要的是,它與培訓(xùn)中使用的時(shí)間序列數(shù)據(jù)執(zhí)行相同的預(yù)處理步驟。最后,此預(yù)處理的輸出被饋送到部署的神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)可以報(bào)告分類。

作為節(jié)省電池的措施,AI微控制器旨在自動(dòng)對(duì)喚醒發(fā)出推斷,這使BLE微控制器只有在需要分析時(shí)才能為其供電。

在典型的設(shè)置中,BLE微控制器每天可以在短時(shí)間內(nèi)從低功率睡眠模式中醒來(lái),請(qǐng)求AI推斷存在加速度計(jì)數(shù)據(jù),并返回其睡眠模式,如果數(shù)據(jù)不通過(guò)用戶設(shè)定的標(biāo)準(zhǔn),例如模型,該數(shù)據(jù)顯示數(shù)據(jù)看起來(lái)健康的確定性為99%。在相反的情況下,數(shù)據(jù)看起來(lái)異?;虿荒茏孕诺刈R(shí)別為健康的地方,BLE微控制器可以連接到附近的BLE主機(jī)并共享數(shù)據(jù)。通過(guò)這種方式,邊緣的分析消除了理解主機(jī)系統(tǒng)數(shù)據(jù)的負(fù)擔(dān),從而節(jié)省了電池壽命。

結(jié)論

在本文中,我們介紹了Voyager4,這是一種無(wú)線振動(dòng)監(jiān)控系統(tǒng),該系統(tǒng)采用邊緣AI分析來(lái)改善其智能和壽命作為條件監(jiān)控工具。設(shè)計(jì)有效的條件監(jiān)控傳感器需要幾個(gè)考慮因素。我們討論了Voyager4的硬件信號(hào)鏈以及用于集成不同系統(tǒng)元素的固件,除了設(shè)備的外部外觀作為外圍外觀。我們還探索了在Voyager中使用AI的使用,對(duì)如何考慮開(kāi)發(fā)和部署邊緣AI模型有一些見(jiàn)解。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉