Pi(ラズベリーパイ)で動く移動ロボットキットである「GoPiGo」を使って、遠隔見守りロボットを作る手順をご紹介します。前回は、スマホを使ってGoPiGoを操作する方法を解説しました。今回は、クラウドを経由して、遠隔地からGoPiGoを操作する手順を解説します。Piで動作する小型ロボット「GoPiGo」を使って、遠隔見守りロボットを作っていきます。前回は、自宅などのローカルエリアネットワーク内で、GoPiGoのスマホを使った遠隔操作を行いました。今回は、間にクラウドを挟むことで、インターネット越しにGoPiGoを操作できるようにしたいと思います。今回のゴール今回、作成するネットワークのイメージを、連載の第1回で示した図を基に示します。今回の作業で、最初に示した機能のうち、スマホに通知を送る以外の機能が使えるようになります。ゴールのイメージ前回、作成したネットワークは、1つのローカルエリアネットワークの中で完結していました。今回はクラウドを挟むことで、外出先など、どこにいても遠隔操作できるようにします。Serviceを利用します。アカウントをお持ちでない方は、アカウント登録をお願いします。今回の内容は無料利用枠でも十分実現可能です。ROSのネットワーク連載の第2回でも解説しましたが、ROSはNodeと呼ばれる実行プログラム同士で、通信を行います。この通信はP2P通信と呼ばれ、ROSネットワークの場合、NodeとNodeが直接接続して通信を行っています。このP2P通信は、直接アクセス可能なIPアドレスさえ分かっていれば、異なるネットワークに接続するPCでもROSネットワークを構成できます。図2のような、プライベートIPアドレスが振られたローカルネットワーク上であれば、片方からもう片方へPingを打てば、問題なく到達していることを確認できます。グローバルな環境からプライベートIPアドレスに対してPingを打っても、基本的には届くことはありません。これは、ROSのネットワークにおいても同様です。P2P通信このような性質を持つROSネットワークを、インターネットを経由して構成する方法として、今回の環境であれば以下のような方法が考えられます。GoPiGoをサーバーとしてインターネットに公開するクラウド経由でプライベートネットワークを構成し、Node間を接続する1つ目の方法では、カメラなどが接続されたロボットをインターネットに公開することになります。これはIPアドレスが知られた場合などに、誰かに盗み見られる可能性があります。よって、今回は2つ目の方法を選択します。Network(以下、VPN)サーバーを立て、そこにクライアントとして、GoPiGoとスマホを接続します。この方法の利点は、ネットワーク接続のセキュリティを担保することができる点、各クライアントに固定のIPを割り振ることができるため、ROSネットワークの運用や拡張をしやすいという点です。2つ目の方法をもとに、今回構成するネットワークのイメージを図3に示します。今回作成するネットワーク図3のIPアドレスは、VPNネットワーク中で割り当てるプライベートIPアドレスです。それぞれに固定のプライベートIPアドレスを割り当てることで、特定のURLにアクセスすると、遠隔操作できる環境を作ります。実際の作業に入りましょう。VPNサーバーの構築です。AIサービス事業部AIサービス企画開発部所属。現在は、小さいころからの夢だった自律移動ロボットの研究開発に従事。最近は、カメラや各種センサといったハードウェアと格闘する日々を送っている。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。