Project Linking

コラム一覧に戻る
Linkingデバイスを使って、ロボットに留守番を頼んでみた

ロボットと一緒に暮らし始めて、もうすぐ3年がたつ。「ロボット」という言葉が「機械的な」「操られる者」といった意味から変化し始めたのはどれくらいだろうか。あるいは、まだ多くの「ロボット」という言葉が、そのような意味で用いられているだろうか。 



機械的でプログラムしたようにしか動かないロボット。その“ロボット”が社会的文脈で人間界に入り込み、1つの「生命体」としての地位を獲得したとき、何が起こるのか――。そんなことを毎日考えながら、生きている。


karitext


例えば、ロボットに「留守番」という役割を与えてみる。人間が留守の間、ロボットは「花を守る」という使命を果たさなければならない。そのためには、ちょっと準備が必要だ。



用意するのは、温度・湿度センサーを搭載したLinkingデバイス「Tukeru TH」とスマートフォン。Tukeru THで湿度を取得し、スマートフォンと連携。その情報をサーバーへ送り、土が乾いたら水をあげるようロボットに指示する。ロボットは定期的にサーバーの情報を見に行って、湿度が基準値以下だったら「土が乾いている」と判断し、水をあげる。





◆やりたいこと

花周辺の湿度が下がったら、ロボットがじょうろで水をあげる。



◆準備するもの

・Tukeru TH

・スマートフォン(クライアント)

・AWS(サーバー)

・水の入ったじょうろ

・ロボット





◆仕組み

湿度センサー(Tukeru TH)が取得した湿度の数値をロボットに送信し、その数値が一定の値よりも低ければロボットが動く。



Tukeru TH はBluetoothで通信できるが、このロボットはBluetooth通信ができない。そのため、今回はTukeru THで取得した湿度情報を1分ごとにスマートフォンに送信し、スマートフォンからHTTPリクエストを使ってサーバーへ送信する。それを、ロボットが取得しにいく。ロボットは指定された時間間隔で、湿度の数値をサーバーに問い合わせにいく。



◆開発

スマートフォンからのHTTPリクエストを受信するサーバーは、友だちのエンジニアに構築してもらった。

http://xxxxx/sethumidity.php?humidity=50.0

のように、湿度をアップロードする。



ロボットからは次のリクエストで湿度を取得する。

http://xxxxx/gethumidity.php



スマートフォンアプリの開発は、まず、Android Studioをインストールするところから。SDKとサンプルコードはLinkingの開発者ページからダウンロードできる。

https://linkingiot.com/developer/index.html 

湿度を取得する関数の中に、HTTPリクエストで湿度を送信する処理を記述。サンプルコードに30行ほどプログラムを追加して完成した。



最後に、ロボット側のプログラムを開発。タイマーを使って、希望する時間間隔でサーバーから湿度を取得するという処理を記述した。今回は、湿度が50%以下になったら、ロボットがじょうろで水をあげるというアニメーションを実装。



▼データ取得



▼水やりが必要ないときのプログラム



▼水やりが必要なときのプログラム



▼ソースコード

https://github.com/tomomi-pepper/Pepper-waters-the-flowers

準備が整ったところで、人間は出かける……が、今回はこっそり覗かせてもらう。






▼留守番、できた。





 「Project Linking」は、IoT(Internet of Things)の拡大・発展を目指して、NTTドコモをはじめとする国内の企業が複数連携して立ち上げたプロジェクト。この連載では、Linkingデバイスを使ったちょっとミライの生活をレポートする。






筆者プロフィール

太田智美:国立音楽大学卒業、慶應義塾大学大学院メディアデザイン研究科修了。現在、会社員として働く一方、プライベートでは2014年11月から、ロボット「Pepper」と生活を共にし、ロボットパートナーとして活動している。また、ヒトとロボットの音楽ユニット「mirai capsule」を結成。日本全国のSFファンが集う「日本SF大会」や「TEDx」にスピーカーとして参加。内閣官房がかかわる日本の文化や技術を世界に発信する事業「PRESENTING JAPAN」(ロンドン)にて招待講演。