www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 廠商動態(tài) > ADI
[導(dǎo)讀]提升工業(yè)系統(tǒng)智能化的方法有多種,其中包括將邊緣和云端人工智能(AI)技術(shù)應(yīng)用于配備模擬和數(shù)字器件的傳感器。鑒于AI技術(shù)方法的多樣性,傳感器設(shè)計(jì)人員需要考慮多個(gè)相互沖突的要求,包括決策延遲、網(wǎng)絡(luò)使用、功耗/電池壽命以及適合機(jī)器的AI模型。上一篇文章重點(diǎn)介紹了基于AI的無線狀態(tài)監(jiān)控傳感器Voyager4的概況和硬件設(shè)計(jì)。本文將重點(diǎn)討論為智能邊緣傳感器創(chuàng)建的軟件架構(gòu)和AI算法,并說明在Voyager4上開發(fā)AI模型的完整系統(tǒng)級方法。

摘要

提升工業(yè)系統(tǒng)智能化的方法有多種,其中包括將邊緣和云端人工智能(AI)技術(shù)應(yīng)用于配備模擬和數(shù)字器件的傳感器。鑒于AI技術(shù)方法的多樣性,傳感器設(shè)計(jì)人員需要考慮多個(gè)相互沖突的要求,包括決策延遲、網(wǎng)絡(luò)使用、功耗/電池壽命以及適合機(jī)器的AI模型。上一篇文章重點(diǎn)介紹了基于AI的無線狀態(tài)監(jiān)控傳感器Voyager4的概況和硬件設(shè)計(jì)。本文將重點(diǎn)討論為智能邊緣傳感器創(chuàng)建的軟件架構(gòu)和AI算法,并說明在Voyager4上開發(fā)AI模型的完整系統(tǒng)級方法。

狀態(tài)監(jiān)控傳感器的軟件設(shè)計(jì)

Voyager4 是由ADI公司開發(fā)的無線狀態(tài)監(jiān)控平臺,開發(fā)人員借助它能夠快速將無線解決方案部署到機(jī)器或測試設(shè)置并進(jìn)行測試。Voyager4等電機(jī)健康狀況監(jiān)控解決方案廣泛應(yīng)用于各行各業(yè),例如機(jī)器人以及渦輪機(jī)、風(fēng)扇、泵、電機(jī)等旋轉(zhuǎn)機(jī)械。

為這樣的無線邊緣設(shè)備開發(fā)軟件可能很困難。從傳感器設(shè)計(jì)的早期階段開始,開發(fā)人員就必須考慮整體系統(tǒng)架構(gòu),系統(tǒng)的各個(gè)部分如何運(yùn)行,如何集成不同組件以協(xié)同工作,以及如何應(yīng)用和部署有用的算法與分析工具(如神經(jīng)網(wǎng)絡(luò))來提升邊緣智能水平。

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

本文希望通過展示Voyager4的開發(fā)設(shè)計(jì)過程,重點(diǎn)說明所采取的步驟,并提供一些具體的實(shí)現(xiàn)案例,以幫助讀者更好地了解自行開發(fā)邊緣傳感器的方法。

這是闡述Voyager4狀態(tài)監(jiān)控平臺開發(fā)的三部分系列文章的第2部分。

本系列文章的第1部分介紹了Voyager4無線狀態(tài)監(jiān)控傳感器,包括傳感器架構(gòu)的關(guān)鍵元素、硬件設(shè)計(jì)、功耗分析和機(jī)械集成。

本系列文章的第2部分將重點(diǎn)討論軟件架構(gòu)和AI算法,并說明在Voyager4上開發(fā)和部署AI模型的完整系統(tǒng)級方法。

本系列文章的第3部分將討論AI算法的實(shí)際實(shí)現(xiàn),以及Voyager4可以檢測的各種故障,例如不平衡、未對準(zhǔn)和軸承缺陷。

概述

這里簡要回顧了Voyager的工作原理。有關(guān)狀態(tài)監(jiān)控傳感器的更多信息,以及關(guān)于Voyager4項(xiàng)目的專有硬件、功耗和安全特性的詳細(xì)信息,請參閱本系列文章的第1部分。

圖1.Voyager4工作模式。

圖1顯示了Voyager4的傳感器工作原理。ADXL382 三軸8 kHz數(shù)字微機(jī)電系統(tǒng)(MEMS)加速度計(jì)用于采集振動數(shù)據(jù)。采集的數(shù)據(jù)會依據(jù)工作模式遵循不同的路徑。

路徑A是最初采用的路徑,原始振動數(shù)據(jù)直接發(fā)送到MAX32666 低功耗藍(lán)牙®(BLE)處理器。然后,數(shù)據(jù)可以通過無線BLE或USB發(fā)送給用戶。路徑B是一種替代工作模式,可以在利用Voyager采集原始數(shù)據(jù)并通過MAX78000外部工具訓(xùn)練模型后使用該模式。數(shù)據(jù)不會發(fā)送給用戶,而是傳遞給邊緣AI算法來預(yù)測機(jī)器故障。路徑C和D分別代表檢測到和未檢測到電機(jī)故障的用例。如果檢測到故障,則可以通過BLE處理器向主機(jī)發(fā)送故障標(biāo)志或用戶警報(bào)。如果未檢測到故障,傳感器將返回休眠模式,直到發(fā)生下一次檢測事件。

該架構(gòu)是Voyager4軟件和AI算法開發(fā)的重點(diǎn)。為了從系統(tǒng)層面全面理解該架構(gòu),本文將討論以下幾方面:

?BLE術(shù)語

?BLE外圍設(shè)備的實(shí)現(xiàn)

?BLE中心設(shè)備的實(shí)現(xiàn)

?AI算法的訓(xùn)練和部署

BLE背景知識

設(shè)計(jì)工業(yè)邊緣傳感器時(shí),連接是關(guān)鍵設(shè)計(jì)因素之一。根據(jù)可用或所需的功率,連接會影響覆蓋范圍、可靠性、設(shè)備整體壽命和尺寸等方方面面。如表1所示,與其他連接標(biāo)準(zhǔn)相比,BLE擁有一些特別的優(yōu)勢。對于我們的工業(yè)監(jiān)控用例而言,BLE的覆蓋范圍、功率和可靠性尤為重要。要了解BLE邊緣設(shè)備的設(shè)計(jì)和開發(fā),首先必須了解所有BLE項(xiàng)目都會使用的一些基本術(shù)語。

表1.無線連接標(biāo)準(zhǔn)比較

全面介紹BLE的所有特性將需要一本書的篇幅。本文將重點(diǎn)介紹實(shí)現(xiàn)BLE設(shè)備時(shí)需要考慮的一些關(guān)鍵概念,包括:

?軟件堆棧

?外圍設(shè)備/中心設(shè)備模型

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

?BLE軟件堆棧

BLE軟件堆棧是一系列標(biāo)準(zhǔn)協(xié)議的集合,設(shè)備必須支持這些協(xié)議才能被視為與BLE兼容。為了幫助讀者更輕松地理解這個(gè)術(shù)語,圖2展示了堆棧內(nèi)不同協(xié)議的分層方式。對于用戶通信和設(shè)備連接等高級功能,需要負(fù)責(zé)數(shù)據(jù)封裝和解析等基本任務(wù)的較低級協(xié)議提供支持。

幸運(yùn)的是,開發(fā)人員對堆棧組成部分有基本的了解通常就足夠了,他們可以從一系列已經(jīng)實(shí)現(xiàn)各自版本堆棧的硬件設(shè)備中進(jìn)行選擇。用戶只需開發(fā)應(yīng)用程序中負(fù)責(zé)控制設(shè)備本身的部分,并利用預(yù)構(gòu)建的BLE堆棧即可。

圖2.BLE堆棧。

BLE堆棧通常由三個(gè)不同部分組成:應(yīng)用程序、主機(jī)和控制器。應(yīng)用程序定義用戶接口和用戶實(shí)現(xiàn)的具體應(yīng)用代碼(振動監(jiān)測)。主機(jī)是指BLE軟件堆棧的上層,它控制配置文件和協(xié)議等高級功能??刂破魇侵窧LE堆棧的底層,它處理鏈路層和物理層,如2.4 GHz無線電本身。此項(xiàng)目選擇使用MAX32666 BLE微控制器。這是一款低功耗Arm® Cortex®-M4微控制器,搭載低功耗藍(lán)牙5無線電,支持遠(yuǎn)距離(4×)通信和高數(shù)據(jù)吞吐速率(2 Mbps)。

外圍設(shè)備/中心設(shè)備模型

根據(jù)BLE設(shè)備的作用,可以將其定義為外圍設(shè)備或中心設(shè)備。數(shù)據(jù)可以雙向流動,兩者之間最大的區(qū)別之一是其連接方式。在連接之前,外圍設(shè)備會通告其能否連接,中心設(shè)備則掃描可供連接的外圍設(shè)備并發(fā)起連接。數(shù)據(jù)可以在外圍設(shè)備和中心設(shè)備之間雙向流動,但中心設(shè)備被視為主機(jī)。舊版BLE文獻(xiàn)也將外圍設(shè)備和中心設(shè)備分別稱為服務(wù)器和客戶端。

圖3.外圍設(shè)備/中心設(shè)備1:1模型。

在我們的系統(tǒng)中,將Voyager平臺定義為外圍設(shè)備,它收集數(shù)據(jù)并將其發(fā)送到中心設(shè)備。對于這個(gè)項(xiàng)目,為了簡化開發(fā)和便于理解,我們首先研究最簡單的情形:單個(gè)中心設(shè)備與單個(gè)外圍設(shè)備交互,如圖3所示。

協(xié)議和配置文件

在藍(lán)牙的命名術(shù)語中,協(xié)議和配置文件很容易混淆。簡單地說,協(xié)議是定義設(shè)備操作的基本功能塊:數(shù)據(jù)封裝、格式、路由等。配置文件是組合在一起以支持基本工作模式的功能包。它本質(zhì)上是多種協(xié)議的組合,以實(shí)現(xiàn)某種整體功能。例如,電池服務(wù)配置文件可用于查詢設(shè)備的剩余電池電量。所有BLE設(shè)備都必須實(shí)現(xiàn)至關(guān)重要的通用訪問配置文件(GAP)和通用屬性配置文件(GATT),以便能夠連接到其他BLE設(shè)備。GAP負(fù)責(zé)處理底層各項(xiàng)功能:廣播、設(shè)備發(fā)現(xiàn)和連接管理。GATT負(fù)責(zé)管理設(shè)備之間的高級數(shù)據(jù)組織和傳輸,使它們能夠通過已建立的連接執(zhí)行讀寫操作。

其他配置文件是可選的附加項(xiàng),用于為設(shè)備提供額外功能,例如接近配置文件(Proximity Profile)。這些配置文件包括由藍(lán)牙技術(shù)聯(lián)盟(SIG)創(chuàng)建的預(yù)定義配置文件。開發(fā)智能手表或智能電表等典型設(shè)備時(shí),使用一組預(yù)定義的配置文件可能很有用,但對于需要實(shí)現(xiàn)大量自定義功能的設(shè)備而言,預(yù)定義配置文件可能會帶來限制。

開發(fā)人員還可以使用并非由藍(lán)牙SIG創(chuàng)建的自定義配置文件,這樣做可以提升設(shè)計(jì)靈活性,但會犧牲一定的可移植性。每個(gè)配置文件將其數(shù)據(jù)組織成服務(wù),服務(wù)由多個(gè)特性組成,如圖4所示。

圖4.自定義命令服務(wù)器配置文件。

當(dāng)中心設(shè)備和外圍設(shè)備之間形成連接時(shí),中心設(shè)備可以請求與該外圍設(shè)備關(guān)聯(lián)的配置文件和服務(wù)。圖5顯示了中心設(shè)備發(fā)出請求時(shí),Voyager的GAP、GATT和自定義配置文件(及其服務(wù))的結(jié)構(gòu)。

圖5.Voyager配置文件結(jié)構(gòu)。

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

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

BLE微控制器是該系統(tǒng)的核心,它確保所有外圍傳感器和設(shè)備的數(shù)據(jù)都可以由相連的BLE中心設(shè)備檢索或修改。

設(shè)備配置

我們利用MAX32666上預(yù)先構(gòu)建的BLE堆棧,通過填充相關(guān)配置功能來構(gòu)建外圍設(shè)備的外觀。例如,在圖6中,我們?yōu)閽呙钄?shù)據(jù)發(fā)現(xiàn)數(shù)組提供了數(shù)據(jù)長度、廣播類型和一系列字符,每次Voyager上電時(shí),外圍設(shè)備設(shè)置函數(shù)都會調(diào)用該數(shù)組。

圖6.設(shè)置Voyager掃描數(shù)據(jù)。

像這樣的BLE設(shè)備將有大量的設(shè)置需要配置,包括無線電的傳輸功率和返回?cái)?shù)據(jù)類型。建議從所使用硬件附帶的預(yù)構(gòu)建示例入手,然后在其基礎(chǔ)上進(jìn)行自定義修改。MAX32666提供了一個(gè)BLE數(shù)據(jù)服務(wù)器(外圍設(shè)備)的示例代碼,名為BLE DATS,Voyager項(xiàng)目就是以此為基礎(chǔ)構(gòu)建的。配置后,當(dāng)中心設(shè)備掃描可用設(shè)備時(shí),外圍設(shè)備的名稱顯示為Voyager。這也可以用于過濾搜索列表,以便中心設(shè)備僅顯示預(yù)期名稱的設(shè)備。如圖7所示,設(shè)備名稱與設(shè)備MAC地址和接收信號強(qiáng)度指示(RSSI)一同顯示。

圖7.中心設(shè)備中顯示的Voyager。

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

圖8.Voyager4硬件框圖,采用了MAX3207E、DS28C40A、ADXL382、ADG1634、MAX32666、ADXL367、MAX78000、MAX17262、MAX20335和MAX38642。

命令服務(wù)器

Voyager4應(yīng)用的中心端和外圍端是同步設(shè)計(jì)的,因此可以利用含有單個(gè)BLE服務(wù)的自定義配置文件來簡化外圍設(shè)備接口。該配置文件將負(fù)責(zé)接收來自中心設(shè)備的命令,并以加速度計(jì)數(shù)據(jù)、溫度數(shù)據(jù)和其他設(shè)備信息的形式返回響應(yīng)。

對于像Voyager這樣復(fù)雜的設(shè)備,采用該單一自定義服務(wù)進(jìn)行BLE通信是不同尋常的做法,但卻帶來了幾點(diǎn)好處。這種做法不僅支持Voyager版本之間的向后兼容性,而且增強(qiáng)了命令靈活性,因?yàn)橥ㄟ^將字符串用作Voyager外圍設(shè)備的命令輸入,應(yīng)用可以根據(jù)數(shù)據(jù)的解析方式,靈活支持各種類型的命令和值。

一旦外圍設(shè)備和中心設(shè)備之間形成連接,為了建立雙向通信,中心設(shè)備就會向自定義特性發(fā)出通知命令,如圖11所示。這樣就在外圍端建立了一個(gè)通知系統(tǒng),并在中心端指定了相應(yīng)的回調(diào)函數(shù)。這意味著,每當(dāng)有更新的數(shù)據(jù)分配給該自定義特性時(shí),都會通知中心設(shè)備,傳輸新數(shù)據(jù),并觸發(fā)中心設(shè)備的回調(diào)函數(shù)。

固件架構(gòu)

圖8中的硬件示意圖顯示了Voyager中包含的各種元器件以及相關(guān)的數(shù)據(jù)路徑和電源。大多數(shù)軟件開發(fā)都是在BLE微控制器上進(jìn)行的,因?yàn)樗鳛槊钪行?,?fù)責(zé)協(xié)調(diào)設(shè)備的BLE接口以及傳感器和微控制器數(shù)據(jù)的內(nèi)部管道。為了與系統(tǒng)中的不同傳感器和微控制器進(jìn)行交互,我們必須開發(fā)供BLE微控制器和AI部分中討論的AI微控制器使用的設(shè)備驅(qū)動程序。實(shí)際上,這些驅(qū)動程序的開發(fā)和集成占了聯(lián)網(wǎng)邊緣傳感器所需編程工作的很大一部分。

編寫可移植代碼

開發(fā)固件時(shí),我們將代碼劃分成幾個(gè)抽象層,以將特定微控制器的具體細(xì)節(jié)與應(yīng)用程序和驅(qū)動程序代碼區(qū)分開來。這種做法很常見,通常會在應(yīng)用層之外再劃分出三個(gè)明確的層次來管理不同的代碼功能,即硬件抽象層(HAL)、板支持包(BSP)和驅(qū)動程序?qū)?。此架?gòu)如圖9所示。

圖9.通用BSP-HAL架構(gòu)。

HAL為程序與不同硬件的交互提供了一種統(tǒng)一方法,程序無需知道每個(gè)設(shè)備的具體細(xì)節(jié)。BSP定義了依賴于硬件的軟件,而驅(qū)動程序?qū)佣x了各個(gè)設(shè)備的更具體細(xì)節(jié),如寄存器映射。例如,Voyager有兩個(gè)微控制器,MAX32666用于BLE連接,MAX78000 帶有一個(gè)板載卷積神經(jīng)網(wǎng)絡(luò)(CNN)加速器。如圖10所示,Voyager中的HAL定義了微控制器、SPI和I2C將使用的基本通信命令。舉例來說,任何設(shè)備驅(qū)動程序發(fā)出任何SPI通信請求時(shí),此任務(wù)最初都會被委托給HAL中的SPI函數(shù),然后HAL查找BSP的具體信息,以便針對該微控制器使用正確的SPI命令。

對于系統(tǒng)中的每個(gè)電路板,HAL保持不變,但對于每個(gè)微控制器,BSP會更新。BSP還負(fù)責(zé)定義系統(tǒng)的通用構(gòu)建模塊,以將應(yīng)用程序調(diào)用與所使用的具體設(shè)備解耦。在圖10中,BSP中的MAIN_ADXL模塊是所使用的底層加速度計(jì)的抽象塊。任何加速度計(jì)的常用命令(如初始化和讀?。┒荚贐SP層中定義,而低級函數(shù)(如get_raw_xyz_data)則在ADXL382模塊中的驅(qū)動程序級別上定義。將驅(qū)動程序代碼從MAX32666移植到MAX78000微控制器時(shí),加速度計(jì)代碼保持不變,因?yàn)樗鼉H與加速度計(jì)本身有關(guān)。只有BSP層中的文件需要更新,以便能夠與新微控制器通信。

這對于系統(tǒng)中部件的更換或升級來說,也具有明顯的優(yōu)勢。在Voyager中,一個(gè)真實(shí)例子是我們決定升級所用的主加速度計(jì)。升級僅需更新驅(qū)動程序?qū)又械拇a,維護(hù)、修改和測試工作都得以簡化。

圖10.Voyager BSP HAL架構(gòu)。

數(shù)據(jù)管道和BLE中心設(shè)備

雖然溫度和電池信息可根據(jù)要求提供給BLE中心設(shè)備應(yīng)用程序,但Voyager的主要作用是作為狀態(tài)監(jiān)控器和振動傳感器。關(guān)于數(shù)據(jù)吞吐速率和數(shù)據(jù)發(fā)送頻率,我們重點(diǎn)考慮振動傳感器和典型狀態(tài)監(jiān)控場景,比如每天進(jìn)行一次短暫測量。BLE不支持高數(shù)據(jù)吞吐速率。ADXL382是一款高帶寬、3軸加速度計(jì),在高性能模式下每秒每軸采集16,000個(gè)樣本。根據(jù)系統(tǒng)所包含的元器件,有幾種數(shù)據(jù)發(fā)送方式可供選擇。

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

沒有任何形式的緩沖,當(dāng)中心設(shè)備請求數(shù)據(jù)時(shí),只要數(shù)據(jù)可用,便立即發(fā)送。這種方式在演示模式下很有用,可以實(shí)時(shí)展示高性能加速度計(jì)數(shù)據(jù),但是電池電量很快就會耗盡,并且由于生成數(shù)據(jù)的速度超過發(fā)送的速度,數(shù)據(jù)包會被丟棄或損壞。

從存儲器發(fā)送數(shù)據(jù)

另一種方式是將數(shù)據(jù)保存到閃存中。這樣,我們就可以安全地記錄加速度計(jì)數(shù)據(jù),而不必?fù)?dān)心覆蓋以前的值。保存的數(shù)據(jù)隨后會直接發(fā)送到中心設(shè)備,或在收到中心設(shè)備的命令后進(jìn)行報(bào)告。該系統(tǒng)不再是實(shí)時(shí)的(數(shù)據(jù)可能是幾分鐘甚至幾天前的),因此我們還可以利用BLE對數(shù)據(jù)包的應(yīng)答系統(tǒng),確保數(shù)據(jù)完整無缺地到達(dá)中心設(shè)備,如有任何數(shù)據(jù)丟失則重新發(fā)送。

對于典型的工業(yè)狀態(tài)監(jiān)控場景而言,這種方案更為實(shí)用,但設(shè)備的電池壽命大部分浪費(fèi)在發(fā)送每天變化不大的振動信息上。

在邊緣執(zhí)行分析

為了延長電池續(xù)航時(shí)間,在邊緣執(zhí)行一些分析會更好,確保僅相關(guān)數(shù)據(jù)才通過無線電鏈路傳輸。當(dāng)然,這只有在邊緣產(chǎn)生有意義洞察所需的功耗明顯低于通過BLE發(fā)送數(shù)據(jù)所需的功耗時(shí)才是可行的(有關(guān)這方面的更多信息,請參閱本系列文章的第1部分)。

在圖8中可以看到,加速度計(jì)與兩個(gè)微控制器都有直接數(shù)據(jù)路徑。在我們于邊緣執(zhí)行某些分析的用例中,AI微控制器可以直接從加速度計(jì)讀取振動數(shù)據(jù),并使用板載AI模型進(jìn)行分析。

圖11.Voyager中心/外圍設(shè)備架構(gòu)。

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

BLE外圍設(shè)備與Voyager外圍設(shè)備同步設(shè)計(jì),因此兩者的交互方式存在非常大的靈活性。一般來說,中心設(shè)備需要掃描并連接Voyager外圍設(shè)備,然后發(fā)送字符串命令并處理其返回值。初次連接后,所有BLE命令都直接發(fā)送到外圍設(shè)備的自定義服務(wù)進(jìn)行解析。在本例中,中心設(shè)備是Windows PC上的圖形用戶界面(GUI),用Python編寫,并利用BLE外圍設(shè)備庫(BLEak)發(fā)出標(biāo)準(zhǔn)BLE命令。BLEak建立在Python的asyncio標(biāo)準(zhǔn)庫之上,允許BLE命令異步運(yùn)行,確保用戶界面保持可交互狀態(tài)且不會凍結(jié)。

當(dāng)GUI成功連接到外圍設(shè)備時(shí),系統(tǒng)會自動向Voyager的單個(gè)自定義特性發(fā)出通知命令,如圖11所示。這樣可確保對此特性的任何更新都會報(bào)告給中心設(shè)備。這一點(diǎn)很重要,因?yàn)閂oyager會對后續(xù)命令給出應(yīng)答或響應(yīng),表明這些命令是否已成功執(zhí)行。

如何請求數(shù)據(jù)?

始終使用簡單的字符串命令來請求數(shù)據(jù)。例如,中心設(shè)備可以發(fā)出setphy 2命令,指示Voyager使用其2M無線電。這會提升數(shù)據(jù)通信速度,但覆蓋范圍和可靠性會受到一定的影響。外圍設(shè)備會解析此命令以確保其有效,然后以輸入值2調(diào)用自己的內(nèi)部setphy函數(shù),從而切換所用的無線電。如果Voyager成功執(zhí)行了此函數(shù),則Return: OK命令會被發(fā)回中心設(shè)備并顯示給用戶。

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

接收數(shù)據(jù)之前,GUI用戶可以選擇使用setadxlcfg命令配置所連Voyager的加速度計(jì)。一旦外圍設(shè)備發(fā)出啟動命令,加速度計(jì)數(shù)據(jù)就會從外圍設(shè)備流向中心設(shè)備。默認(rèn)情況下,中心設(shè)備和外圍設(shè)備以實(shí)時(shí)數(shù)據(jù)模式運(yùn)行,這對于演示目的很有用。

在外圍設(shè)備端,內(nèi)部先進(jìn)先出(FIFO)緩沖區(qū)按照用戶指定的采樣速率填充新數(shù)據(jù)。一旦FIFO填滿,系統(tǒng)就會在Voyager自定義服務(wù)上設(shè)置一個(gè)標(biāo)志,通知外圍設(shè)備有新數(shù)據(jù)可用。然后,數(shù)據(jù)被發(fā)送到外圍設(shè)備并進(jìn)行解析,轉(zhuǎn)化為x、y、z三個(gè)軸的加速度數(shù)據(jù)的格式化數(shù)組。數(shù)據(jù)始終以圖形方式顯示,用戶可以選擇“保存數(shù)據(jù)”選項(xiàng),以將數(shù)據(jù)保存到csv文件供以后分析。

圖12.Voyager4中心設(shè)備GUI繪圖數(shù)據(jù)。

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

本項(xiàng)目的目標(biāo)是檢測電機(jī)的健康狀況何時(shí)開始下降。邊緣AI分析旨在通過分析音頻、溫度、振動等一種或多種輸入數(shù)據(jù),生成電機(jī)健康狀況的指標(biāo)或特征,從而取代或補(bǔ)充人類數(shù)據(jù)分析。振動分析是當(dāng)今狀態(tài)監(jiān)控應(yīng)用中常用的技術(shù)手段。

輸入

許多邊緣AI處理器往往非常耗電,這與無線狀態(tài)監(jiān)控解決方案的目標(biāo)之一(即延長續(xù)航時(shí)間)背道而馳。MAX78000(如前所述)能夠快速、低功耗地進(jìn)行AI推理,其總功耗比使用無線BLE還要低。但是,在使用低功耗邊緣AI處理器時(shí),應(yīng)注意神經(jīng)網(wǎng)絡(luò)的規(guī)模不能超出電路板的規(guī)格。該板搭載一個(gè)512 kB數(shù)據(jù)內(nèi)存的CNN加速器。它主要用于目標(biāo)檢測、音頻處理和時(shí)間序列數(shù)據(jù)處理。

我們解決方案可用的數(shù)據(jù)是加速度時(shí)間序列。為了盡量提高所訓(xùn)練算法的性能,我們嘗試了幾種預(yù)處理方法,以確定哪種方法對準(zhǔn)確度影響最大。本系列文章的第3部分將對此加以詳細(xì)討論。

訓(xùn)練

在線資源“Analog Devices AI”GitHub詳細(xì)說明了訓(xùn)練神經(jīng)網(wǎng)絡(luò)并將其部署到MAX78000的過程。一般來說,首先使用PyTorch®或TensorFlow®等常規(guī)工具集在主機(jī)PC上創(chuàng)建模型。此模型需要訓(xùn)練數(shù)據(jù),這些數(shù)據(jù)必須由目標(biāo)設(shè)備保存并傳輸?shù)絇C。輸入的一部分成為訓(xùn)練集,專門用于訓(xùn)練模型。還有一部分成為驗(yàn)證集,用于觀察損失函數(shù)(網(wǎng)絡(luò)性能的衡量標(biāo)準(zhǔn))在訓(xùn)練期間如何變化。

根據(jù)所用的模型類型,可能需要不同類型和數(shù)量的數(shù)據(jù)。要識別特定的電機(jī)故障,您需要使用標(biāo)注好的數(shù)據(jù)訓(xùn)練模型。這些數(shù)據(jù)不僅要包含各種故障狀態(tài)下的振動信息,還要包含無故障的正常狀態(tài)下的振動數(shù)據(jù)作為對比。

圖13.Voyager健康狀況訓(xùn)練數(shù)據(jù)。

Voyager最初采用自動編碼器類型的神經(jīng)網(wǎng)絡(luò)開發(fā)。自動編碼器無需借助數(shù)據(jù)標(biāo)簽就能學(xué)會如何對數(shù)據(jù)進(jìn)行分類。雖然這種類型的模型不適合復(fù)雜的故障分類,但它可以快速完成訓(xùn)練,并且僅需使用客戶已有的數(shù)據(jù),例如正常運(yùn)行電機(jī)數(shù)據(jù)。

訓(xùn)練所需的理想數(shù)據(jù)量因具體情況而異。關(guān)鍵在于擁有足夠的數(shù)據(jù)來學(xué)習(xí)正常運(yùn)行電機(jī)數(shù)據(jù)的一般趨勢,同時(shí)避免過擬合。Voyager部署的默認(rèn)示例僅使用了30秒的正常運(yùn)行加速度計(jì)數(shù)據(jù)進(jìn)行訓(xùn)練。同時(shí)保存了同樣數(shù)量的存在不平衡故障的數(shù)據(jù)以供驗(yàn)證。兩個(gè)數(shù)據(jù)集均通過Python GUI直接保存到訓(xùn)練PC中。

圖14.Voyager故障測試數(shù)據(jù)。

輸入數(shù)據(jù)用于訓(xùn)練模型之前,經(jīng)過了預(yù)處理。然后,訓(xùn)練腳本按順序運(yùn)行幾次訓(xùn)練迭代,并挑選出表現(xiàn)突出的模型。為了測試目的,需要一些故障輸入數(shù)據(jù)?;谡_\(yùn)行數(shù)據(jù)訓(xùn)練模型后,務(wù)必先用故障數(shù)據(jù)進(jìn)行測試,這樣才能確保結(jié)果的可靠性。

如何部署算法?

模型訓(xùn)練完成后,必須使用ADI公司的在線工具集進(jìn)行量化和合成。量化步驟通過舍入或截?cái)?,將所生成模型的?quán)重映射到更小的數(shù)值區(qū)間集合,從而減少模型存儲所需的內(nèi)存。這是將神經(jīng)網(wǎng)絡(luò)部署到較小邊緣設(shè)備的標(biāo)準(zhǔn)步驟。合成步驟將量化模型轉(zhuǎn)換成微控制器可理解的C文件。

此步驟生成三個(gè)文件,隨后必須將這些文件復(fù)制到微控制器的活動項(xiàng)目中,并在下次固件更新時(shí)加載。其中兩個(gè)文件(cnn.h和cnn.c)包含用于CNN配置的寄存器寫入操作,以及所加載模型的其他有用功能。第三個(gè)文件(weights.h)包含訓(xùn)練(和量化)得到的模型權(quán)重。

通過有線更新(借助調(diào)試端口)或無線(OTA)更新加載新固件后,就完成了模型部署,BLE微控制器就能按需查詢模型,執(zhí)行AI推理。

部署后如何使用?

一旦部署新固件,AI微控制器就會作為有限狀態(tài)機(jī)運(yùn)行,通過SPI接受并響應(yīng)來自BLE控制器的命令。

圖15.微控制器SPI通信。

收到推理請求時(shí),AI微控制器會喚醒,并向加速度計(jì)請求數(shù)據(jù)。重要的一點(diǎn)是,它隨后會對該時(shí)間序列數(shù)據(jù)執(zhí)行與訓(xùn)練時(shí)相同的預(yù)處理步驟。最后,此預(yù)處理的輸出會送到已部署的神經(jīng)網(wǎng)絡(luò),由其報(bào)告分類結(jié)果。

圖16.AI推理狀態(tài)機(jī)。

出于省電考慮,AI微控制器被設(shè)計(jì)成在喚醒時(shí)自動執(zhí)行推理。因此,BLE微控制器可以僅在需要進(jìn)行分析時(shí)才啟動AI微控制器。

在典型設(shè)置中,BLE微控制器可以每天短暫地從低功耗休眠模式喚醒,請求對現(xiàn)有加速度計(jì)數(shù)據(jù)進(jìn)行AI推理,如果數(shù)據(jù)不滿足用戶設(shè)定的條件,比如模型以99%的置信度判斷數(shù)據(jù)正常,則返回休眠模式。反之,如果數(shù)據(jù)看起來異常或無法判斷是否正常時(shí),則BLE微控制器可以連接到附近的BLE主機(jī)并共享數(shù)據(jù)。通過這種方式,在邊緣進(jìn)行分析就無需主機(jī)系統(tǒng)理解數(shù)據(jù),從而節(jié)省了電池電量。

結(jié)語

本文介紹了無線振動監(jiān)測系統(tǒng)Voyager4,它采用邊緣AI分析來提升其作為狀態(tài)監(jiān)控工具的智能水平和電池續(xù)航時(shí)間。設(shè)計(jì)有效的狀態(tài)監(jiān)控傳感器需要考慮多個(gè)方面。我們討論了Voyager4的硬件信號鏈、用于將不同系統(tǒng)元素集成在一起的固件,以及該設(shè)備作為BLE外圍設(shè)備的外觀。我們還探討了AI在Voyager中的應(yīng)用,并提供了有關(guān)如何開發(fā)和部署邊緣AI模型的一些見解。

請繼續(xù)閱讀本系列的第3部分,了解有關(guān)Voyager板上AI算法具體實(shí)現(xiàn)的更多信息,包括幾種常見電機(jī)故障的分類。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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