CodeIQ MAGAZINECodeIQ MAGAZINE

[ちょっとブレイク]猫にとって超音波センサーって何?―にゃんてっく☆やせないアイツとESP8266【vol4】

2017.04.12 Category:【連載】にゃんてっく☆やせないアイツ Tag: ,

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

前回から猫のバイオロギングに挑戦ということで、猫の食事を通知するシステム作りに取り組んでいる、はとね&きょろ夫婦。今回はちょっとブレイクして、超音波センサーって猫にとってどんな存在になるのか、猫が感じている世界を考えてみました。 by 大内 孝子

LINE Notifyへ通知する実装

こんにちは、猫を愛するエンジニア夫婦、はとね(@hatone)ときょろ(@kyoro353)です。

前回は超音波距離センサーを使って距離を計測し、猫の食事タイミングを検知することに成功しました。今回は、この検知した情報を、LINE Notifyへ通知していくための実装を行っていきます。

きょろ
「次はインターネットへの接続だ!と進めたいのだけど、その前に、LINE Notifyを使えるように登録しないといけないね」

どーじん先生
「こんにちは、はとねさん、きょろさん。ご飯の横に超音波距離センサーを置く方法、その後もうまくいってますか?」

ジンジャーは相変わらずご飯をばくばく食べてますよ~。猫って、見知らぬガジェットをどう受け入れているのか、不思議です……。

超音波センサーと猫の感じる世界

どーじん先生
「おお、嫌がってないならよかった。あの超音波距離センサー、4万ヘルツのパルスを出しているんですよね。気になって少し調べてみたんですが、猫って、そのくらいのヘルツの音を鳴らしても、聞こえてるらしいんです」

えっ、そんなに高い音も聞き取ってるんですか? 猫の耳ってすごい!

どーじん先生
「猫は人間に比べて可聴域が広いんです。人間が2万ヘルツくらいまでしか聞き取れないのに対して、6万5千ヘルツくらいまで聞き取れる。しかも、もっと高いヘルツの音を聞かせても脳活動には反応が見られる。理由は詳しくはわかっていないみたいですけど、普通の耳の機能だけじゃなくて、頭の骨を通過した超音波を脳自体で吸収して感じているかもしれないという説もあったり。ブッ飛んでますが、それなりに信憑性のある説です」

超音波を聞き取れるって、何のための機能なんですか???

どーじん先生
「猫って、ネズミ取りのプロでしょ。そういう、獲物の齧歯類の鳴き声が超高いからって説があります。音から位置を特定する能力も、いろいろな動物の中でトップランク。人間も、両耳に届く音波の差から、無意識のうちに音の発生源の位置を感じとっているのですが、両耳別に細かく動かせるネコ科は能力も段違いなわけです。

余談だけど、アニメ『けものフレンズ』で、サーバル(ネコ目ネコ科ネコ属!)が話題ですよね。その第3話でサーバルがトキの歌を聞いてくらくらするシーンがある。やっぱりネコ科は耳が良いんですね(笑)。他にも第1話冒頭で、サーバルが主人公の足音を聞いただけで飛びかかっていたように、音は狩りに重要な要素。特にサーバルはネコ科の中でも耳が極端に大きいし、地中のネズミの動きも分かるほどらしいです」

じゃあ、ジンジャーも、超音波距離センサーはネズミっぽい何かくらいに思ってるかもしれないですね!

どーじん先生
「たしかに。4万ヘルツだったら、ネズミの鳴き声の帯域に含まれるくらいの高さだから、ご飯のBGMがネズミ的環境音になって、猫にとって悪くはないかもしれない(笑)」

うーむ、猫と私たちでは、感じている世界が全然違うんですね。

どーじん先生
「どの動物も、それぞれの種ごとに、特有の知覚世界を持っているんです。動物の行動はその中から生まれてくるもの。昔、ユクスキュル(ドイツの生物学者、1864年〜1944年)が、そういう概念を提唱して、環世界って名前で呼びました。僕らは自分の見ている世界が世界そのものだと思ってしまいがちですが、人間の感じていない要素は山ほどある。

なので、例えば今回みたいに、猫の自然環境に存在しないような装置を使ってコミュニケーションするときには、相手の環世界を気にかけてあげると良い関係が築けるんじゃないかな」

なるほど……。猫の気持ちを想像するには「どう感じているのか」から考えなくてはいけないんですね。そう考えてみると、人間って不思議です。こうやって猫の環世界を想像できるってことは、知覚世界を広げられているわけだし、今回の超音波だって、もともと人間の知覚世界に存在しないものですよね。

どーじん先生
「そう、その通りですね。人間のスゴいところは、ガジェットとプログラムと想像力で環世界を拡張できるってこと。人間の開発した超音波距離センサーは、人間には感じられない超音波を使って、人間の代わりに世界を感じてくれる。そしてその機械の知覚世界を人間に伝える媒介として、プログラムがある」

今回なら、センサーで検知した情報を、LINE Notifyに通知するってことですね。

どーじん先生
「そして通知は目で認識されて、想像力によって感覚的に超音波があることが理解される、と。かくして、スマートフォンを介して超音波領域にまで人間の環世界が拡張されるわけです。さて、はとねさんときょろさんが実際にどうやって機械とコミュニケーションしていくのか、楽しみにしています!」

夜な夜な他愛もないコミュニケーションをした人工無脳たち

機械と私達のコミュケーションかぁ。
メッセンジャーアプリで、チャットボットと他愛もない会話をすることは、結構ありましたよね。

きょろ
「もともとチャットするプログラムというのは、1966年にジョセフ・ワイゼンバウムがELIZA(イライザ)というチャットボットを作ったのが奔りで、歴史自体はそこそこ長いんだ。ELIZAは英語だから、あまり親しみがないかもしれないけれど、日本でも、1998年頃のIRC(今で言うSlackみたいなメッセンジャーツール)には「うずら」という有名な人工無脳が居たんだ。絶妙な発言でみんなに愛されていたよ。」

人工無脳とは、知能があるとまで言えなくとも機能的に便利だった、などから、人工知能に対して、人工無能または人工無脳と呼ばれていました。

人工知能が「答えが曖昧な問題に対して、答えを見出す知性の会得を目指している存在」に対し、「答えが曖昧な問題に対して、それっぽい振る舞いと解答をする存在」が人工無脳だと、私は考えています。今回の場合、答えが曖昧な問題というのが、メッセンジャー上での会話のことです。

ちなみに人工無脳(無能)はメッセンジャー以外のサービスでも存在していました。

現在はボットの活動を停止されてしまっているのですが、人工無能「酢鶏」というボットは、mixi上でマイミクの日記へふらっと訪れ、コメントを書いて盛り上げていました。

私もmixiの日記で酢鶏で応援されたり、くすっと笑わされていたり、酢鶏からのコメントを結構楽しみにしていました。


はとねの日記の酢鶏のコメント

ますます便利に働くようになってきたチャットボット

きょろ
「会話するだけじゃなくて、実用的なチャットボットもたくさんあるよ!」

普段のプライベートでちょっと気合の入れたプロダクトの開発をするときは、GitHub上でプルリクエストを送って、Circle CIで自動テストをさせて、テストが完了するとSlack上で結果を通知させて遊んだりしています。

開発支援だけに留まらず、本当にいろいろな場面でチャットボットが活躍するようになってきました。

最近では、TripAdvisorという旅行に関する口コミやホテルの予約ができるサービスがFacebook上のチャットボットを発表しました。私も、ちょっとした暇を見つけると、おもしろい場所がないかチャットボットに試しに話しかけてみています。

TripAdvisorに試しに話しかけてみる

メッセンジャープラットフォームの進化によるチャットボットの普及

以前から人工無脳やチャットボットは存在していましたが、最近になって、チャットボットがビジネスでも大きなムーブメントとして普及しはじめてきました。

特に英語圏では、TripAdvisorの例のようなサービスのチャットボットが毎月登場してきています。

このムーブメントの背景には、各SNSサービスのメッセンジャープラットフォームの進化がありました。

たとえば、Facebookはグローバルな開発者会議「Facebook Developer Conference: F8」において、毎年メッセンジャープラットフォーム戦略を発表しています。

2014年には、これまでFacebookの1つの機能であったMessengerがアプリとして独立することが発表され、2016年にはMessengerのプラットフォーム化、Messenger上でチャットボットを展開できることがアナウンスされました。

実際に参加したときのF8の会場風景

このようなメッセンジャー機能の開放は、私たちの普段の生活の中において、そのプラットフォーム(Facebookであったり、LINEであったり)へ触れる時間をさらに増やすための施策だと言われています。

誰かとコミュニケーションする際にいまや必要不可欠なメッセンジャー。多くの企業がそこへ目を付け、チャットボットそのものを開発したり、チャットボットの開発支援ツールが発表されたり、チャットボットはさらに広がってきています。

LINE Notifyのアクセストークンを発行する

さて、それでは実装を進めていきます。

きょろ
「今回使うのは、LINEが2016年9月の「LINE DEVELOPER DAY 2016」で発表した“LINE Notify”という機能だよ。これは、とても簡単なAPIで自分や複数人がいるトークルームのLINEチャンネルに通知を送ることができる機能なんだ。Web上からIFTTTやGitHubとかと連携することもできるけど、自分でAPIを叩いて任意の通知を送ることもできるよ」

LINE Notify

きょろ
「じゃあ、LINE Notifyのページに行って、LINEアカウントでログインしよう。ログインが済んだら[アクセストークンの発行(開発者向け)]のところにある[トークンを発行する]というボタンを押して、今回開発用のトークンを発行してみるよ」

▲アクセストークンの発行(1)

きょろ
「次にサービス名を入力し、通知するトークルームを選ぶ。もしトークルームではなく自分にだけ送る場合は、[1:1でLINE Notifyから通知を受け取る]という項目を選ぼう」

アクセストークンの発行(2)

きょろ
「最後に”発行する”を押せば完了です!」

登録はさくっと簡単だね。

アクセストークンの発行(3)

きょろ
「ここが要注意なんだ! 発行したトークンが表示されるので、忘れずにコピーして保存しておこうね。このトークンは発行時にしか表示されず、後から確認することはできないので注意しよう」

発行したトークンはコピーしておく!

きょろ
「それでは、ESP-WROOM-02からWiFi経由でLINE NotifyのAPIを叩いてみよう!LINE NotifyのAPIはHTTPSなので、SSL通信ができるマイコンじゃないとアクセスできないんだ。

SSL通信をするためにはそれなりのCPUパワーが必要なので、Arduinoに使われているAVRでは性能的に難しかったんだけど、このESP8266は格安なのに32ビット&クロック80MHzの高性能チップ。HTTPS通信も軽々とこなしちゃうんだよ。スゴいよね!」

ESP-WROOM-02、安いのに高性能で便利だなぁ。

次回は、いよいよWiFi接続の接続処理とLINE NotifyのAPI呼び出し処理を書いていきます。おたのしみに!


ジンジャーの体重:現在6.8kg



執筆:はとね(大島 孝子)
きょろ(井上 恭輔)
協力:どーじん先生(宮本 道人)
編集:大内 孝子

著者プロフィール

はとね(大島 孝子)
アメリカ西海岸で日々奮闘するバックエンド寄りのエンジニア。
高校時代パソコン研究部に所属し、NHK BS2 高校生ITキング決定戦というTV番組で全国3位、Web教材開発コンテストThinkQuest@JAPAN 2004で最優秀賞を受賞。2011年に、情報処理推進機構が主催する「未踏ソフトウェア創造事業」に採択される。2012年にインターネット広告代理店へ入社して米国駐在員として渡米し、2014年にAT&T Internet of Things Hackathon and Accelerator SeriesというIoTでは最大級のハッカソンでFooDrawというプロダクトを制作して全米1位を獲得。現在はメルカリにて、CXIチームのエンジニアとして働いている。

きょろ(井上 恭輔)
Webやアプリの開発に留まらず、ハードウェアの設計や量産まで幅広く手がけるエンジニア。高専在学中の2006年に情報処理推進機構が主催する「未踏ソフトウェア創造事業」に採択され、スーパークリエータ/天才プログラマーの認定を受ける。
2008年にミクシィ入社。iOS/Android向けテスト配信サービス「DeployGate」の立ち上げにを行い、2014年に寿退職ののち渡米。
日経BP主催のAndroid Application Award(A3)において優秀賞および特別賞、高専プロコン最優秀賞&文部科学大臣賞、AT&T IoT Hackathon 全米部門優勝など。
現在の趣味はドローン撮影とダイエット。

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

■関連記事

体重計の値を赤外線受信モジュールで取得してみよう─にゃんてっく☆やせないアイツ【vol6】... 既製品の体重計と連携する こんにちは、猫を愛するエンジニア夫婦、はとね(@hatone)ときょろ(@kyoro353)です。 前回は猫の食事をLINEへ通知することに成功しました。今回は、前回組んだ実装をベースに既製品の体重計と連携していきます。 既製品の体重計を使うことにしたけど、一体どんな...
「猫の食生活」を超音波距離センサーでLINEに通知してみた─にゃんてっく☆やせないアイツ【vol5】... センサーの検知をLINEに通知する こんにちは、猫を愛するエンジニア夫婦、はとね(@hatone)ときょろ(@kyoro353)です。 前回は、LINE NotifyのAPIをコールするために、トークンの発行まで行いました。今回から、いよいよ実装していきます。 きょろ 「それじゃあ、ESP-W...
ESP8266と超音波距離センサーで、猫のバイオロギングに挑戦!―にゃんてっく☆やせないアイツとES... Lチカの次は? こんにちは、猫を愛するエンジニア夫婦、はとね(@hatone)ときょろ(@kyoro353)です。 前回はESP-WROOM-02を使った回路をブレットボード上に組み、Arduinoで簡単なスケッチを作成して実際に流し込んで、無事にLチカするところまでを確認できました。 いまま...
ジンジャー、ハンダ付けを初めて目にする―にゃんてっく☆やせないアイツとESP8266【vol2】... いよいよ電子工作開始 きょろ 「猫たちもお腹いっぱいになったようだし、さっそく再開しよう!」 ▲満足そうなバジル(左)と、お腹を出して熟睡しているジンジャー(右) こんにちは、はとね(@hatone)ときょろ(@kyoro353)です。 前回はパーツを並べたところであっけなく終わってしまいま...
にゃんてっく☆やせないアイツとESP8266―おデブなアイツのダイエットのはじまり... ジンシャー、「デブ猫」宣告を受ける フカフカしてかわいいけれど……この子は流石におデブちゃんね。ウフフ 獣医の先生からそう告げられたのは、猫を飼い始めて1年目の健康診断でした。 はじめまして、はとね(@hatone)ときょろ(@kyoro353)というエンジニア夫婦です。本稿の書き手は、概ね、...

今週のPickUPレポート

新着記事

週間ランキング

CodeIQとは

CodeIQ(コードアイキュー)とは、自分の実力を知りたいITエンジニア向けの、実務スキル評価サービスです。

CodeIQご利用にあたって
関連サイト
codeiq

リクルートグループサイトへ