ネコの「気持ちいい」を数値で見える化、なで方が下手な人のための練習アプリを作った

なでているつもりなのに、なぜかネコに逃げられる。そんな経験はありませんか?

ネコをなでる行為は、実はとても繊細です。力の強さ、手を動かす速さ、方向、触れている時間など、さまざまな要素が関係しています。人は無意識のうちにそれらを調整していますが、「気持ちいいなで方」を数値で説明することは簡単ではありません。そこで、3Dプリントで作れるオープンソース触覚センサーを使い、「ネコをなでる感覚」を可視化し訓練するアプリを開発しました。

ネコをなでる練習用アプリ、その名も「NadeNeko」です。ネコのぬいぐるみに取り付けた触覚センサーデバイスをなでることで、PCアプリ上のネコが反応します。

リアルのネコをなでる前に、このアプリで触れ方を確認できます。大きな特徴は、触覚センサーによって「触り方」をデータとして取得できる点です。

目次

触覚って何?

私たちが手で物に触れたとき、感じている情報は単純な「押された強さ」だけではありません。

どの位置に、どのくらいの力で、どの方向へ、どの速度で触れているのか。人間は複数の情報を組み合わせて接触状態を判断しています。

電子工作でよく使われる圧力センサーでは、加わった圧力の変化を測定できます。しかし、一方向の力を測定するものが多く、「横方向への滑り」や「なでる動き」のような複雑な接触状態を取得することは難しいという課題があります。

そこで活用できるのが、柔軟な構造を持つ触覚センサーです。

オープンソースの触覚センサー「eFlesh」の魅力

近年、ロボティクス分野では人間の皮膚に近い機能を持つ触覚センサーの研究が進んでいます。高性能な触覚センサーには高価なものも多い中、eFleshは3Dプリントした柔軟なTPU構造と磁気センサーを組み合わせたオープンソースの触覚センサーです。

出典元:eFlesh

内部には微細なTPU構造と小型磁石が組み込まれています。触れることでTPU構造が変形すると、内部の磁石位置が変化します。その磁場変化を3軸磁気センサーで読み取ることで、接触状態を取得できます。TPUをメッシュ状にした柔らかな構造によって、皮膚のように変形しながら接触情報を取得できる点が特徴です。

※担当編集より:eFleshはFabSceneでもニュース記事で紹介しています。

あわせて読みたい
卵も壊さず掴む触覚センサーを3Dプリンターで製作、NYUが「eFlesh」設計を公開 ロボットハンドによる繊細な物体操作は、長年の技術的課題だ。生卵のような壊れやすい物体を適切な力加減で掴むには、高価な触覚センサーシステムが必要とされてきた。 ...
出典元:eFlesh

eFleshの魅力は、複雑な触覚情報を取得できる高い機能性と、3Dプリンターや基板製造サービスを利用することで個人でも製作できる導入のしやすさにあります。今回は、このeFleshを利用してネコをなでる練習アプリの開発に取り組みました。

準備するもの

  • 3軸磁気センサー基板
  • TPUフィラメント
  • 3Dプリンター
  • 小型ネオジム磁石
  • マイコンボード

eFleshの磁気センサー基板は、別のオープンソースプロジェクト「reskin」がベースになっています。Melexis製3軸磁気センサー「MLX90393」が5個搭載され、I2Cインターフェースで通信できます。GitHubリポジトリでは基板製造サービス「PCBWay」で発注できるデータが公開されているため、比較的簡単に基板を用意できます。

私は使い慣れているJLCPCBで基板を製造しました。

3Dプリント部品も簡単に製作できます。STLファイルが公開されているため、用途に合わせたサイズを選択して印刷できます。

サイズ変更や磁石サイズの変更をしたい場合は、3D CADやスライサーソフトで調整できます。

印刷時には少し注意が必要です。途中で停止し、内部に小型ネオジム磁石を配置する工程があります。今回はスライサーで停止位置を設定して磁石を組み込みました。

小型化のため、少しサイズを変更して印刷しました。

3Dプリント部品を磁気センサー基板に取り付ければeFlesh本体は完成です。ただし、基板はI2C通信を使用するため、別途マイコンが必要になります。今回は小型化を目的としてSeeeduino XIAOを使用しました。

必要な部品がそろいました。

eFleshを動かしてみる

マイコン側のソフトウェアはreskinの5X_binary_burst_stream.inoを使用しました。これにより、3軸磁気センサーの値をUSBシリアル通信でPCへ送信できます。

PC側では、eFleshやreskin関連プロジェクトである「AnySkin」の可視化ツールを利用しました。を実行すると、センサー値をリアルタイムで確認できます。

まずは磁石を直接近づけて、磁場変化を確認します。

磁場変化に応じて表示が変化します。

次に3DプリントしたeFlesh構成で確認します。

TPU内部の磁石の動きがセンサーで検出されています。

一部反応しないICがありましたが、原因はI2Cアドレスの違いでした。基板製造時に、在庫の都合で別型番のICへ変更したことが原因でした。I2Cアドレスを修正することで、すべてのICが正常に動作しました。

アプリを作る

アプリはそのままanyskin_viz.pyを参考に開発しました。ネコのあごをなでる体験に近づけるため、2種類の画像を用意しました。1枚目は、あごを見せているネコの写真です。

自宅で飼っている自慢のネコです。

もう1枚は、なでられて気持ちよさそうな表情のネコ画像です。しかし、タイミングよくそのような写真を撮影することは難しいため、画像生成AIを利用しました。

目を閉じた表情になるよう指示して生成しました。

これらの画像を使い、センサー値に応じてネコの反応が変化するようにしました。また、anyskin_viz.pyの赤丸をハート型へ変更し、指の画像を追加することで、実際になでているような表現にしています。

また、センサー単体では少し味気なかったため、ネコのぬいぐるみのあご部分へ装着しました。

ぬいぐるみを使ってなで方を練習できます。

練習の成果

最後に、このアプリで練習した結果を確認するため、ネコを実際になでてみました。

落ち着いて触れることができました。喜んでくれているようです。

ネコは気まぐれなので、本当に効果があったのか怪しいところもありますが、なんとかうまくいって安心しました。触れ方を意識するきっかけにはなったと思います。

触覚センサーを使うことで、これまで感覚だけで語られていた「なで方」もデータとして扱えるようになります。人間の触覚をデジタル化することで、ロボットやAIだけでなく、身近な動物とのコミュニケーションにも新しい可能性が広がっていくかもしれません。

A plush orange stuffed toy taps a photo of a cat on a screen with a glowing pink heart, overlaid with Japanese captions.

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!

最新記事

YouTube / PodCast

【PR】読んで役立つ注目記事

目次