SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 連載の第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サーバーの構築です。

次のページ
VPNサーバーの構築

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ROSとRaspberryPiで遠隔みまもりロボットを作ろう(「Tech-Sketch」出張所/番外編)連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10274 2017/07/21 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング