机の上を月面に見立てた小型ローバー、頭脳はブラウザ

デスクをSF映画のような月面に見立てて走り回る自律ローバーだ。Absurd Industriesが公開した「LUN-E Explorer」はSeeed StudioのXIAO ESP32-S3 Senseをベースにした自律探索ロボットで、GitHubにソースコードと詳細なドキュメントが公開されている。コンセプトは「デスクが月面だったら?」だ。

このプロジェクトで際立つのは「ブラウザが脳」というアーキテクチャだ。ESP32-S3の仕事はOV2640カメラ(QVGA 320×240)からのMJPEGストリームをWi-Fi経由でポート81に配信し、2基の連続回転サーボへPWM信号を送ることだけに絞られている。自律走行の判断はすべてブラウザのJavaScriptが担う。ブラウザはMJPEGストリームを80×60ピクセルのキャンバスに描画し、200ミリ秒ごとに全4800ピクセルを解析して床か障害物かに分類する。その結果からスロットルと操舵量を算出し、40HzのWebSocketでESP32へ送り返す。UIと制御ロジックはESP32のROMに書き込まれた1枚のHTMLファイルに収まっており、ブラウザでhttp://explorer.localを開くだけで動作する。

床の識別にニューラルネットは使わない。起動時にカメラ映像の下部中央を5フレーム分サンプリングし、RGBの平均と標準偏差を算出して「床の色」を学習する。以降は「各チャンネルが平均から標準偏差の2.5倍以内なら床」というシンプルな箱型テストで分類する。自律動作は有限状態機械(FSM)で管理され、LEARN・SCAN・FWD・AVOID・REV・CLIFFの6状態が床の割合・障害物・崖・スタックの検出に応じて遷移する。床の色許容度やスタック判定閾値などはブラウザのスライダーからリフラッシュなしに調整できる。

ビルドにはPlatformIOが必要で、ファームウェアをフラッシュ後にLUN-E SSIDへ接続するとキャプティブポータルが立ち上がりWi-Fi設定が完了する。外部サーバーもAPI呼び出しも不要で、ブラウザを演算リソースとして活用する設計はESP32の負荷を最小化しつつ、PCの処理能力をそのまま使える点でコスト・消費電力の両面で合理的だ。

関連情報

Small DIY tracked robot on a wooden workbench, with pliers and cutters nearby on a yellow work mat and tools in the background.

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!

最新記事

YouTube / PodCast

【PR】読んで役立つ注目記事

目次