Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

ラズパイで動くロボット「GoPiGo」をつかって遠隔見守りロボットを作ろう(4)インターネット経由の操作環境構築編

ROSとRaspberry Piで遠隔みまもりロボットを作ろう 第4回(「Tech-Sketch」出張所/番外編)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/07/21 14:00

 本連載では、Raspberry Pi(ラズベリーパイ)で動く移動ロボットキットである「GoPiGo」を使って、遠隔見守りロボットを作る手順をご紹介します。前回は、スマホを使ってGoPiGoを操作する方法を解説しました。今回は、クラウドを経由して、遠隔地からGoPiGoを操作する手順を解説します。

目次

はじめに

 連載の第3回に引き続き、Raspberry Piで動作する小型ロボット「GoPiGo」を使って、遠隔見守りロボットを作っていきます。

 前回は、自宅などのローカルエリアネットワーク内で、GoPiGoのスマホを使った遠隔操作を行いました。今回は、間にクラウドを挟むことで、インターネット越しにGoPiGoを操作できるようにしたいと思います。

今回のゴール

 今回、作成するネットワークのイメージを、連載の第1回で示した図を基に示します。今回の作業で、最初に示した機能のうち、スマホに通知を送る以外の機能が使えるようになります。

図1 ゴールのイメージ
図1 ゴールのイメージ

 前回、作成したネットワークは、1つのローカルエリアネットワークの中で完結していました。今回はクラウドを挟むことで、外出先など、どこにいても遠隔操作できるようにします。

 なお、今回はクラウド環境としてAmazon Web Serviceを利用します。アカウントをお持ちでない方は、アカウント登録をお願いします。今回の内容は無料利用枠でも十分実現可能です。

ROSのネットワーク

 連載の第2回でも解説しましたが、ROSはNodeと呼ばれる実行プログラム同士で、通信を行います。この通信はP2P通信と呼ばれ、ROSネットワークの場合、NodeとNodeが直接接続して通信を行っています。

 このP2P通信は、直接アクセス可能なIPアドレスさえ分かっていれば、異なるネットワークに接続するPCでもROSネットワークを構成できます。

 例えば、図2のような、プライベートIPアドレスが振られたローカルネットワーク上であれば、片方からもう片方へPingを打てば、問題なく到達していることを確認できます。

 しかし、グローバルな環境からプライベートIPアドレスに対してPingを打っても、基本的には届くことはありません。これは、ROSのネットワークにおいても同様です。

図2 P2P通信
図2 P2P通信

 このような性質を持つROSネットワークを、インターネットを経由して構成する方法として、今回の環境であれば以下のような方法が考えられます。

  1. GoPiGoをサーバーとしてインターネットに公開する
  2. クラウド経由でプライベートネットワークを構成し、Node間を接続する

 1つ目の方法では、カメラなどが接続されたロボットをインターネットに公開することになります。しかし、これはIPアドレスが知られた場合などに、誰かに盗み見られる可能性があります。

 よって、今回は2つ目の方法を選択します。具体的にはクラウド上にVirtual Private Network(以下、VPN)サーバーを立て、そこにクライアントとして、GoPiGoとスマホを接続します。

 この方法の利点は、ネットワーク接続のセキュリティを担保することができる点、各クライアントに固定のIPを割り振ることができるため、ROSネットワークの運用や拡張をしやすいという点です。

 2つ目の方法をもとに、今回構成するネットワークのイメージを図3に示します。

図3 今回作成するネットワーク
図3 今回作成するネットワーク

 図3のIPアドレスは、VPNネットワーク中で割り当てるプライベートIPアドレスです。それぞれに固定のプライベートIPアドレスを割り当てることで、特定のURLにアクセスすると、遠隔操作できる環境を作ります。

 では、実際の作業に入りましょう。まずはVPNサーバーの構築です。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 林﨑 貴昭(TIS株式会社)(ハヤシザキ タカアキ)

    TIS株式会社 AIサービス事業部AIサービス企画開発部所属。2016年度入社。現在は、小さいころからの夢だった自律移動ロボットの研究開発に従事。最近は、カメラや各種センサといったハードウェアと格闘する日々を送っている。仕事でプログラムを書く時間が激減したことに危機感を覚え、家で何かしらプログラムを...

バックナンバー

連載:ROSとRaspberryPiで遠隔みまもりロボットを作ろう(「Tech-Sketch」出張所/番外編)
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5