帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
運用AI人工智慧與IoT物聯網,偵測電網穩定性
【TinyML專案】

【作者: 編譯:江宗諭】   2023年07月31日 星期一

瀏覽人次:【12575】

藉由這篇文章,我(編按:在此指作者AlexMiller11)將分享如何運用TinyML防止電網過載。


在這項專案中,我們會用到以下的硬體、軟體及服務:


1.Particle Argon開發板 x 1


2.Neuton Tiny ML


3.Particle Build Web IDE


第一步:為什麼想運用TinyML,防止電網過載?

電力是現代社會經濟發展的核心。愈來愈多國家致力於轉換成永續能源系統,但這是一個相當具挑戰性的過程,因它會導致發電不穩定及電網過載。電網不穩定會危及人們的生命財產安全,這意味著電力系統應進行即時監控與最佳化,而人工智慧與機器學習可輕鬆處理這方面的需求。


事實上,人工智慧已成為電力產業的重要工具,它為動態變化環境下的能源消耗分析及電網監控,提供特有的自我學習解決方案。在這項專案中,我們將探索如何運用機器學習模型有效監控電網。


第二步:再生能源的來源與智慧經濟

針對傳統、有限且對氣候不友善的化石燃料,再生能源的崛起為國際社會提供了急需的能源替代品。然而,採用再生能源引發了一系列新的典範,其中兩項值得特別關注:


● 在再生能源興起前,傳統生態系統很少涉及透過單向流動,向消費者提供能源的生產實體(來源)。隨著再生能源出現,最終用戶(家庭與企業)現在不僅消耗能源,並且有能力生產及供應能源。此外,為建立可靠的生態系統,人們需要確保能源網更加智慧化,並能準確檢測威脅和故障。


● 儘管再生能源的靈活性有所提高,但在更複雜的發電/配電/消費環境中的供需管理,以及相關的經濟影響(例如,決定是否以給定價格購買能源)變得更具挑戰性。


第三步:對電網穩定性的需求

智慧電網會收集消費者需求資訊,並根據當前供應狀況進行集中評估。由此產生的建議價格資訊將發送回客戶,以便他們作出進一步使用的決定。由於整個過程取決於時間,因此,電網穩定性的動態估計,不僅成為一項關切點,更成為主要要求。


簡而言之,這項專案的目標,在針對被系統參與者,以動態方式採用的能源生產和/或消耗的干擾及波動,進行了解並規劃。不僅考慮技術層面,更考慮系統參與者如何應對相關經濟方面的變遷(能源成本)。


第四步:將AI應用到智慧電網的挑戰

● 數據積累不足:沒有足夠的數據樣本,以滿足多樣化的 AI 技術應用需求,並且樣本採集過程十分耗時。


● 可靠性:應用於電力系統的人工智慧技術,雖然表現出較高的問題辨識水準,但並不總能滿足實際應用需求。


● 基礎建設:運用人工智慧必須基於豐富的數據樣本、先進的運算能力及分佈式通信協作。然而,快速生產型的人工智慧演算法、分佈式協作平台等相關基礎建設資源的支撐能力及水平,仍有待改善。


● 缺乏電力產業的專用演算法:與感知、預測、安全維護相較,在電力系統中的人工智慧演算法,其適應性仍然偏弱。


第五步:解決方案

在這項專案中,我們將運用一個免費平台「Neuton Tiny ML」,以及一項整合的 IoT 平台即服務「 Particle IoT 」,來探索如何預測電網的穩定性。此外,針對智慧電網的運作,我們將探索相關的通訊基礎建設;同時,我們將運用人工智慧與物聯網的知識,嘗試解決上述某些挑戰。


第六步:資料集

原始資料集包含10, 000個觀測值,也包含12項主要預測特徵及兩個應變數。


預測特徵:


● 「tau1」到「tau4」:每位網絡參與者的反應時間,5 至 10 範圍內的真實值(「tau1」對應供應商節點,「tau2」至「tau4」則對應消費者節點);


● 「p1」到「p4」:每位網絡參與者產生(正)或消耗(負)的標稱輸出功率,對消費者來說,實際值在 -2.0 至 -0.5 範圍內(「p2」到「p4」)。由於消耗的總功率等於產生的總功率,p1(供應商節點)= —(p2 + p3 + p4)。


● 「g1」到「g4」:每個網絡參與者的價格彈性係數,05 到 1.00 範圍內的實際值(「g1」對應供應商節點,「g2」到「g4」對應消費者節點;「g」 代表「gamma」);


應變數:


● stab:特徵微分方程根的最大實部(若為正值,代表系統線性不穩定;若為負值,則代表系統線性穩定);


● stabf:分類(二元)標籤(「穩定」或「不穩定」)。


由於「stab」和「stabf」之間存在直接關係,因此「stab」將被刪除,「stabf」將被保留為唯一的應變數。若想下載資料集,請點擊。這裡


第七步:匯入資料集並選擇目標變數

在 Neuton 平台上,我們將上傳資料集,並選擇「stabf」作為目標變數。



圖1
圖1

在訓練參數中,設定輸入資料類型為「 FLOAT32 」,以及標準化類型「每個特徵的唯一尺度」,然後進行模型訓練。



圖2
圖2

第八步:訓練與探索式資料分析

一旦訓練展開後,我們會看到模型資料分析,這有助於我們理解原始應變數與自變數間的密切關係。



圖3
圖3

第九步:關聯

驗證每項數值特徵與應變數間的相關性,以及導致潛在不良共線性的數值特徵間的相關性非常重要。下方的熱圖,概述了應變數(「 stabf 」或「 target 」),與目標二元相關性最高的前10項數值特徵間的關聯。



圖4
圖4

第十步:模型準確率

在訓練結束後,我們可以來看模型的指標:模型準確率為 0.921435 。



圖5
圖5

第十一步:分類性能

我們還可使用生成的混淆矩陣,來查看分類性能。



圖6
圖6

第十二步:下載訓練好的模型

現在,讓我們把訓練完成的模型下載,好進一步佈署到我們的 IoT 裝置上。


第十三步:設定硬體,然後將模型嵌入

針對這項專案,我們選擇了 Particle Argon 開發板(您也可以使用任何Particle 推出的開發板,並且不用為每塊開發板重新編寫程式)。 Particle Argon 是一款功能強大的 Wi-Fi 開發套件,您可以在 Wi-Fi 網絡上使用。


Argon 配備 Nordic nRF52840 與 Espressif ESP32 處理器,具備內建的電池充電電路,讓您可更輕鬆連接「鋰聚合物電池」和「 20 個混合信號的通用型輸入輸出(GPIO)」,好與感測器、執行器及其它電子設備接連。


Particle 物聯網開發板,不僅安全且裝備齊全,使智慧型電網基礎設施,能以更快及更便宜的費率,提供有關電網故障的資料及更新。


第十四步:將 Particle IDE 與工作台設定好

將下載的 Neuton 模型添加到 Particle Workbench 專案資料夾中。 您的資料夾結構將如後所示:( checksum 、 parser 、 protocol 、 application 和 StatFunctions )。當您使用「 CSV 上傳工具」,針對透過序列通訊所接收的資料進行預測時,會需要這些檔案。



圖7
圖7

圖8
圖8

以下則是最重要的函數:



static float* on_dataset_sample(float* inputs)


{


if (neuton_model_set_inputs(inputs) == 0)


{


uint16_t index;


float* outputs;


uint64_t start = micros();


if (neuton_model_run_inference(&index, &outputs) == 0)


{


uint64_t stop = micros();


uint64_t inference_time = stop - start;


if (inference_time > max_time)


max_time = inference_time;


if (inference_time < min_time)


min_time = inference_time;


static uint64_t nInferences = 0;


if (nInferences++ == 0)


{


avg_time = inference_time;


}


else


{


avg_time = (avg_time * nInferences + inference_time) / (nInferences + 1);


}


RGB.control(true);


RGB.color(255, 255, 255); // white


switch (index)


{


case 0:


Particle.publish("Prediction: Stable Grid", String(index));


RGB.color(0, 255, 0);


break;


case 1:


Particle.publish("Prediction: Unstable Grid", String(index));


RGB.color(255, 0, 0);


break;


default:


break;


}


return outputs;


}


}


return NULL;


}



在雲端或本地端編譯應用程式。一旦編譯完成後,您就可以將其閃存到您的裝置上了。但請確保您已為您的裝置,選擇正確的 Particle OS 。


第十五步:CSV資料上傳工具程式

我們將透過USB序列埠,傳送測試數據集CSV檔案中的測試數據特徵,好測試我們的預測。


● 安裝dependencies


# For Ubuntu



$ sudo apt install libuv1-dev gengetopt



# For macOS



$ brew install libuv gengetopt[/cc]



● 運用Clone指令,複製repo



$ git clone https://github.com/Neuton-tinyML/dataset-uploader.git



$ cd dataset-uploader


● 使用make建構二進制文件



$ make



● 完成後,您便可透過USB傳送CSV檔案。



$./uploader -s /dev/ttyACM0 -b 230400 -d /home/vil/Desktop/electric_grid_test.csv



第十六步:預測

預測結果顯示在 Particle 的物聯網雲上。請參考下圖。


圖9
圖9

第十七步:結語

監測電網的穩定性,有助於發現「不可靠」的能源來源,並且避免電網嚴重損壞。而針對這類型的人工智慧搭配物聯網專案,最佳策略不僅僅是作出預測,同時也應收集並回報資料,好為了將來會推出的裝置,例如Particle,改善模型,並使OTA(Over-The-Air)更新更加容易。


(感謝原文作者AlexMiller11開放授權,使我們得以翻譯本篇文章,特此致上謝意!若讀者想進一步閱讀原文,請點擊:閱讀原文網址。)


註一:配圖都翻攝自AUTODESK Instructables網站,感謝作者AlexMiller11開放授權,特此致謝!


註二:主圖由DALL.E生成。


(本文由VMAKER授權轉載;連結原文網址


相關文章
【Maker玩AI】用Roboflow + Ultralytics HUB訓練與管理 YOLO模型
Arduino推出支援Elastic的函式庫
從臺灣智慧農業週2023 看邊緣智慧最新趨勢
Arduino獲5,400萬美元投資並揭櫫新目標
用半導體重新定義電網
comments powered by Disqus
相關討論
  相關新聞
» 2023年製造業產值減11.27% 電電光學、汽車零件減緩連5季負成長
» 資策會與巴西Sergipe科技科學園區簽署MOU 再拓國際合作版圖
» VicOne xNexus推出新VSOC平台 結合情境加固汽車資安防禦
» Fortinet混合網狀防火牆 全面革新混合網路環境安全
» 微軟《Cyber Signals》研究:與OpenAI合作避免網路攻擊


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.239.9.151
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw