第632回 SORACOM公式ブログ

ソラコム公式ブログ

IoTで赤外線リモコンロボは「全地球探査ロボット」になれる…? 【SORACOM Discovery 2026 ― IoT プロトタイピングコーナー】

  • この記事をはてなブックマークに追加
  • 本文印刷

はじめに

ごきげんよう。最近はビールよりクラフトジンが好きなソラコムのCRE(Customer Reliability Engineer)岡田です。いま怖いものは先日の健康診断の結果です。

今回は、先日開催された SORACOM Discovery 2026 のプロトタイピングコーナーに、個人として2年ぶりに出展した作品を、一問一答形式で紹介します。

作品を一問一答で解説

Q: これはなんですか?

一言で言うと、赤外線リモコンで動くロボット工作キットをソラコムに接続して赤外線が届かないところでも動かせるようにする、後付けIoTのコンセプト展示です。

他の展示物は日常や社内での課題などを解決したいといったタイプの展示が多いですが、これはどちらかというとソラコムに接続することで実現できる機能を(AIの力も借りながら)できるだけ全部盛りにすることを目的にしています。

Q: どこからどこまでが既製品なんですか?

ベースにしている青くて丸っこいロボットはタミヤのローリングロボット工作キットです。このロボット自体は付属の赤外線リモコンで操縦できるようになっていて、軽いものを動かしたり2台のロボットで競争して遊べるようになっているようです。

後付けしたのは、M5Stackの AtomS3R-M12(以下、便宜的に「M5Atom」と表記)です。ESP32-S3を搭載し、カメラ、9軸IMU、赤外線送信機能を備えたハードウェアです。M5StackをはじめとしたESP32系のMCUはネットワーク関連を始めとした各種ライブラリやSDKが充実しているため、個人的なIoTプロジェクトでは重宝しています。

ロボットの外周を囲むように同じくタミヤのユニバーサルアームを使って梁を組み、そこにM5AtomやLTE-Mモジュール、外付けバッテリーを(結束バンドや両面テープなどで)固定しています。ユニバーサルアームはネジ止めしているだけで、電源も外付けです。ロボット本体との通信はリモコンと同じ赤外線信号を出すことで実現しているので、後付けIoTというコンセプトの通り、簡単にもとのロボットの状態に戻すこともできます。

Q: 横から生えてる白い板はなんですか?

M5Atomの(カメラを正面とした時の)左側面にある赤外線LEDの赤外線信号を反射させて、ロボットの中央上部にある制御ユニットの受光部で赤外線信号を受け取れるようにするための簡易的な反射材です。

M5Atom内蔵の赤外線LEDを使う都合上どうしてもロボット側の受光部との位置関係が悪く、これがないと「側面に壁がある時(=反射した赤外線を受信できた時)だけロボットが動く」みたいな状態でした。とはいえ赤外線LEDの外付けはしたくなかったのと、カメラの視点という配置上優先すべき事項もあったので、苦肉の策ではありますが赤外線の反射を利用するという点では意外と理にかなっていると考えています。

ちなみにこの反射材もプロトタイピング時点では牛乳パックを使用していましたが、後述のようなコメントもあったのでDiscoveryの数日前にプラ板に変更しました。

Q: どこに SORACOM を使っているんですか?

以下のようなサービスを利用していました。

  • コネクティビティ(通信環境)
    • SORACOM Air for セルラー : LTE-M 通信
    • SORACOM Arc : VPN (WireGuard)
  • データ蓄積・可視化
    • SORACOM Harvest Data
    • SORACOM Harvest Files
    • SORACOM Lagoon
  • オンデマンドリモートアクセス
    • SORACOM Napter
  • ローコード IoT アプリケーションビルダー
    • SORACOM Flux

Q: システム構成はどうなっているんですか?

システムの構成図

本体のアプリケーションはM5Atom上で動作するWebサーバーをインタフェースとして、各種タスク(画像撮影、センサデータ取得・方位計算・蓄積、赤外線送信など)を呼び出すような形で実装しました。Webサーバーなので、ローカル環境からアクセスして動作検証することはもちろんのこと、SORACOMに接続することでNapter経由でアクセスしたり、Remote Command機能経由でHTTPリクエストを送信することもできるという算段です。

通信経路としては SORACOM Air と SORACOM Arc を併用する構成です。展示中は基本的にはArc側のインタフェース向けにNapterで接続してカメラからの映像(JPEGの連続取得、またはMotionJPEG)を表示しつつ、Air側でも同様にNapterで接続してロボット操作時のレイテンシを体感してもらうようなデモをしていました。

コントローラーのWebUI。M5Atomで撮影した映像の表示と操作用のボタン、IMUで計測したロボットの方位を表示している。

また、本体に搭載している9軸IMUのデータをサンプリングしてSORACOM Harvest Dataにバルク送信したり、撮影した画像をSORACOM Harvest Filesにアップロードし、SlackへのポストとAIによるキャプショニングもデモとして組み込んでいました。

なおベースとなる実装(Webサーバー部分やWireGuardクライアントのパッチ実装など)は過去に開発していたものも含まれていますが、この展示向けにClaude Codeをフル活用してシステム構成を再編したり、コントローラーとなるWebUIのHTMLやIMUのデータから方角を算出する機構、デュアルスタック構成に伴う一部ライブラリの不具合のワークアラウンド実装など、多くの実装をAIに担当してもらいました。特にカメラ画像のバッファリングやIMUデータの取り扱いはハマりどころが多く、Claude Codeがなかったら実装できなかったり挫折していた機能が多々あったと思います。

Q: さすがに地球探査はできなさそうじゃないですか?

通信の観点ではLTE-M通信用に挿入していたのは日本カバレッジ IoT SIM (plan-D) なので日本国内でしか利用できないし、物理的には外付けしたモバイルバッテリーの重さのせいか会場の床のカーペットの上に置いただけでも走りが不安定になりました(苦笑)。

もちろん実際に地球を探査できるわけではありませんが、セルラー通信とSORACOMの各種サービスを組み合わせることで、単純な赤外線リモコンロボットの操作範囲や用途を大きく広げられることは示せました。タイトルはその可能性をスポーツ新聞の見出し風に少し大げさに表現したものとしてご理解をいただきたいと思います。

閑話休題: 一昨年の展示と比較して、完成度が高くなった…?

一昨年(2024年)と言うと「知ってる?チェレステブルー」の光る棒のことですね。カラーセンサーで取得した実空間の色データをソラコムに送信し、それがソラコムのコーポレートカラーであるチェレステブルーにどれだけ近いかを表示するというデバイスでした。

SORACOM Discovery 2024の展示(PCの手前にあるペンライト)。上部にカラーセンサとM5Stampが牛乳パックを丸めた芯材に取り付けられている。

個人的にプロトタイピングコーナーの展示物制作ではもっともお世話になっている某均一価格の店で販売されていたペンライトを加工したもので、上部に後付けのハードウェアを搭載したのですが、もとのペンライト自体のチープさもさることながら後付けのハードウェアのマウント部分を牛乳パックとホットボンドで作ったため「教育番組の工作のようだ」というコメントを(特に社内から)いただきました。展示ブースでは色のピックアップ用に折り紙を置いていたのもより教育番組っぽい空気感につながっていたのかもしれません。

なにはともあれ、プロトタイピングコーナーを訪れた方々が、展示を面白がったり、ワクワクしたりしてくれていればそれが一番だと思っています。

おわりに

個人的にはいち社員というよりユーザーに近い感覚で展示物を制作(開発)していますが、訪れるお客様からもDiscoveryの恒例となっているこのコーナーを見ることを楽しみにしているという声や「こんなやり方があるんですね!」と気付きを得ていくお客様と接すると、いち出展者としても嬉しくなりました。足を運んでくださった皆様、ありがとうございました。

― ソラコム岡田 (hisaya)

投稿 IoTで赤外線リモコンロボは「全地球探査ロボット」になれる…? 【SORACOM Discovery 2026 ― IoT プロトタイピングコーナー】SORACOM公式ブログ に最初に表示されました。

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

過去記事アーカイブ

2026年
01月
02月
03月
04月
05月
06月
07月
2025年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2024年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2023年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2022年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2021年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月