高校生の個人ブログ

[プロジェクト] 自己訓練AIに基づくMesh適応ルーティング最適化システム研究

ジャンプ:モデリング論文

プロジェクト文書&研究概要

一、研究背景

現在の無線Meshネットワークには「信号は強いが接続が不安定」という問題が広く存在している。従来のZigbee、WIFI Meshなどのプロトコルは単一の信号強度要素に依存してルーティング選択を行い、リンクのパケット損失率、物理的遮蔽、ノード負荷などの重要な要素を包括的に感知できない。壁による遮蔽や人の移動などの動的干渉に遭遇すると、ネットワークが中断しやすく、変化する/複雑な環境に適応できず、特殊な環境下での通信ニーズを満たすことが難しい。
本プロジェクトは従来の単一要因意思決定モデルを変え、「AIインテリジェント意思決定」アーキテクチャを構築した。ランダムフォレストアルゴリズムをESP32-C6チップにデプロイすることで、各ノードに独立した意思決定能力を与え、クラウドの参加を不要にした。システムは信号品質、リンクホップ数、ノード負荷、リンク安定性などの多次元特徴を融合し、「受動的接続」から「能動的最適化」への飛躍を実現し、複雑で多変な環境下でもネットワークが堅牢、効率的、かつ自己修復可能であることを確保する。


二、プロジェクト概要

本プロジェクトはAIアルゴリズムに基づく適応型ルーティング最適化システムを構築した。
OMNet++無線ネットワーク物理シミュレーションソフトウェアを通じて、複数の壁と通信ノードを含むシナリオを構築し、6959件のシミュレーション訓練データを取得した。その後、ランダムフォレストアルゴリズムを用いて訓練セットデータをフィッティングし、良好なフィッティング効果を持つ数学モデルを得た。
このモデルは関数で近似的に表現できる(fはランダムフォレストにより近似):

DeliveryRatio=f(RSSI,Hop,Child,Loss)DeliveryRatio = f(RSSI, Hop, Child, Loss)

研究後、得られた予測アルゴリズムをESP32-C6マイコンにデプロイし実験を行った結果、本文で得られたモデルは上位ノードを選択する際に信号強度、リンクホップ数、ノード負荷などの情報をよりよく考慮し、総合品質がより優れたノードを選択してネットワークを構築できることが示された。
このアルゴリズムは大規模で複雑な環境における迅速なネットワーク構築・展開などのシナリオに応用でき、一定の実用前景がある。


三、コアハイライト

1、多特征融合路由决策

信号強度のみに依存する従来のルーティング方式を突破し、RSSI、伝送距離、リンク品質、エネルギー消費などの多次元特徴を総合し、パス意思決定の精度を向上させる。

2、模块化智能组网

各ESP32-C6が独立したユニットであり、ユニット間で相互に通信・协商し、訓練された意思決定モデルを通じて多方面の実データを総合してノード品質指標を推算し、最終的に最適なトポロジーネットワークを形成できる。
ネットワーク構築後、ESP32(C6/S3/C3/8266)であれ、スマートフォン、タブレット、コンピュータであれ、これらのノードを通じてネットワークアクセスが可能である。このときこれらのノードはネットワーク中継ルーティングの役割を果たす。

3、训练基于机器学习的拟合预测模型

OMNeT++無線物理シミュレーションツールを通じてデータを収集し、ランダムフォレストを使用してルーティング選択モデルを訓練し、決定係数:

R2=0.965047,MSE=0.001571\mathrm{R}^2 = 0.965047, \mathrm{MSE} = 0.001571

高精度なパス品質予測を実現。

4、AI 边缘化部署

モデルをESP32-C6ノードにデプロイし、ローカルリアルタイム推論を実現、クラウドの参加が不要で、モデル意思決定の応答速度と利便性を向上させる。

5、3D 建模打印 + PCB 设计

3Dモデリングプリント技術を採用して端末筐体を設計し、リチウム電池と充放電モジュールを統合し、各部品を設計・試作したPCB回路基板にはんだ付けすることで、回路統合を実現する。

6、云端数据/结构实时监控

Python Flask フレームワークを組み合わせてサーバー側(バックエンド)を構築し、サーバーを Docker コンテナ化して Linux クラウドサーバー(Debian-12.0)にデプロイし、Vue.JS でフロントエンドページを作成し、ネットワークトポロジー構造とノード情報のリアルタイム監視を実現する。


四、従来のネットワーク接続方式との対比図解

1、正常情况

2、可能遇到的意外情况(信号阻挡 或 距离远信号弱)

対比図解 1、2:この革新的な方案は優位性が明らかであり、訓練済みの AI モデルを組み合わせているため、多変環境下で本プロジェクトは環境に適応し、ネットワークトポロジー構造を自動最適化する能力を持ち、より強い適応性、柔軟性、予見性を備えている。


五、応用前景

  • 災害現場の緊急通信(基地局のない環境)
  • スマート IoT ネットワーク
  • 産業用低消費電力監視ネットワーク
  • スマートホーム自己組織化ネットワーク

研究日誌

一:テーマ選定

現状:
現在の無線 Mesh ネットワークには「信号は強いが不安定」という現象が広く存在している。
問題点:
従来のプロトコルは単一の信号強度に依存してルーティング選択を行うため、リンクのパケット損失率、物理的遮蔽、ノード負荷などの重要な要素を包括的に感知できない。
研究目標:
堅牢で効率的、かつ自己修復可能なスマート Mesh ネットワーク体系を構築する。


二:シミュレーション環境の構築、データ収集

OMNet++ 無線ネットワーク物理シミュレーションソフトウェアを選定してシーンを構築する。
シミュレーションロジックは以下の仮定に基づく:

  1. シーンは二次元の部屋であり、ゲートウェイ、端末、中継、壁は每一ラウンドでランダムに生成される
  2. 壁は線分に簡略化し、リンクが「壁を貫通する」かどうかは線分の交差で判断し、信号減衰は壁を貫通する数に応じて線形的に累加される。
  3. ネットワーク構成はツリー構造であり、メインゲートウェイをルートノードとする
  4. ホップ数は中継からゲートウェイまでのパス長(中継ホップ)と定義し、子デバイス数はその中継がツリー内で持つ直接の子ノード数と定義する
  5. 壁が信号に与える減衰影響は対数距離パスロスモデルの修正モデルを用いて計算する
PL=PL0+10nlog10(dd0)+NwallAwallPL = PL_0 + 10n \log_{10}\left(\frac{d}{d_0}\right) + N_{\text{wall}} \cdot A_{\text{wall}}
  1. 中継ノードの子デバイス数が多いほど、ノード負荷が大きくなり、データパケットのパケット損失確率が高くなる。
  2. データパケットは每一回の中継転送過程において、一定のパケット損失の可能性が存在する。

以上の仮定に基づき:
C++ を使用してシミュレーションロジックを作成する。これにはランダム環境生成(ゲートウェイ、端末、中継ノードと壁の位置)、端末から各中継および中継からゲートウェイへのパスの RSSI とホップ数計算、子デバイス負荷がリンク成功率に与える影響、中継の確率的パケット損失、シミュレーションで送信されたデータパケットの到達率の統計、および CSV 結果出力(RSSI、ホップ数、子デバイス数、ノードからゲートウェイへのパケット損失率、到達率)が含まれる


三:データ処理、AI モデル訓練と最適化

(一)データ前処理

データは合計 6959 件のレコードを含み、各レコードは 5 つのフィールドで構成される:

  • 信号強度(RSSI_dBm)
  • ノードホップ数(HopCount)
  • ノード子ノード数(ChildCount)
  • ノードからゲートウェイへのパケット損失率(NodeToGatewayLossRate)
  • 端末データパケット到達率(DeliveryRatio)
    このうち RSSI_dBm、HopCount、ChildCount、NodeToGatewayLossRate を特徴量とする。
    端末とゲートウェイの到達率 DeliveryRatio をモデル予測のラベル(目的変数)とする。
    Python の pandas ライブラリを通じて csv データを読み込む。

(二)訓練セットとテストセットの分割

データをランダムに分割し、20%をテストセット、残りの80%を訓練セットとする。

(三)アルゴリズムのフィッティング

Pythonのscikit-learnライブラリを利用して、線形回帰、多項式回帰、ランダムフォレストアルゴリズムをそれぞれ構築する。

(四)結果分析

(1)線形回帰

R2=0.622295,MSE=0.016977\mathrm{R}^2 = 0.622295, \mathrm{MSE} = 0.016977

フィッティング効果は弱く、特徴データとラベルデータの線形関係は明らかでない。

(2)多項式回帰(二次)


画像からフィッティング効果は線形回帰よりやや優れているが、真値が小さい箇所で予測に負の値が現れ、モデルに過学習現象が存在する。

R2=0.836970,MSE=0.007328\mathrm{R}^2 = 0.836970, \mathrm{MSE} = 0.007328

(3)ランダムフォレスト


特徴とラベルの間に非線形関係が存在し、かつサンプルにノイズが含まれているため、分析の結果、このアルゴリズムは要求に適合する予測手法である。

R2=0.965047,MSE=0.001571\mathrm{R}^2 = 0.965047, \mathrm{MSE} = 0.001571

四:ハードウェア開発とデプロイ

コア:
ESP32-C6マイコンをコア制御ユニットとして選定。訓練済みの予測アルゴリズムをESP32-C6ノードにデプロイする。基本ロジックを完成させる。
構造:
3Dモデリングプリント技術を採用して端末筐体を設計。PCB回路基板の設計と試作を完了する。
機能:
リチウム電池と充放電モジュール、スイッチ、OLEDスクリーンを統合する。
ネットワーク構築能力:
各ESP32-C6は独立したユニットであり、互いに通信・协商し、最適なトポロジーネットワークを形成する。
ESP32シリーズ(C6/S3/C3/8266)及びスマートフォン、タブレット、パソコンなどの端末接続に対応。


五:クラウド監視システムの構築

バックエンド:
Python Flaskフレームワークを組み合わせてサーバーサイドを構築する。
Dockerコンテナ化によりLinuxクラウドサーバー(Debian-12.0)にデプロイする。
フロントエンド:
Vue.JSを使用してフロントエンドページを作成する。
ネットワークトポロジー構造及びノード情報のリアルタイム監視(ノード番号、子デバイス数、パケット損失率、RSSIなどのデータ表示を含む)を実現した。
バックエンドログはデータ受信状況をリアルタイムで記録できる(例:POST /api/dataリクエストの処理)。


六:システムの最適化、問題の修正

各部分のプログラムを整理し、ロジックと細部のエラーを発見・修正し、システムを最適化すると同時に、いくつかの有意義な機能を追加する。