新・触覚センサシステム「PAW-double」
長嶋洋一 (SUAC) ★
- 概要
- 新・触覚センサシステム「PAW-double」は、長嶋洋一(SUAC/ASL)が開発したものである
- センサとしてアールティ社の「PAWセンサ」を2個接続しており、場合によっては追加改造により最大8個まで増設可能である
- マイコンとしてmbed NucleoF401REを使用している
- 長嶋は約20システムを保有しており共同研究/ワークショップ/特別講義などの場において貸し出し可能であるが、以下の情報によって誰でも完全に同一のシステムを再現製作しさらに発展改造が可能である
- PAWセンサ
- 上がアール・ティー(RT)社の「PAWセンサ」である
- 動作原理その他についてはマニュアルを参照のこと
- PAWセンサを活用した過去3世代のシステムの様子
- PAWセンサを活用したシステム事例の学会発表
- 「PAW-double」の作り方 (回路図)
- 上が筋電センシングシステムのプラットフォームとなるmbedマイコン「NucleoF401RE」である。秋月電子で税込1800円である。参考資料として秋月電子のサイトに 製品概要と ユーザーマニュアル(ハードウェア編)と ユーザーマニュアル(ソフトウェア編)とが完備している(いずれも英語)
- NucleoF401REのプログラム開発はオフラインツールでなく、ARM社のmbedサイト内のオンラインコンパイラで行う。ただし本システムについては動作確認できているファームウェアのバイナリがあるので、これを使えばエディタもコンパイラも不要である
- また、秋月電子で税込600円の、超小型USBシリアル変換モジュール「AE-FT234X」を使用するので用意しておくこと。なお、「AE-FT234X」に付属しているピンヘッダは使用しない
- ホストのMax7と「AE-FT234X」を介してシリアルポートで通信するため、NucleoF401REの裏側にある2箇所のジャンパオプションを加工する必要がある。このあたりは 「PAW-double」の作り方 に詳しくあるので参照されたい。NucleoF401REで配線するピンのマップは これである。
- ハードが出来たら、NucleoF401REにファームウェア書き込みを行う。まず最初にコンパイル成功してダウンロードしたファイルとして、 PAW_double_NUCLEO_F401RE.bin をデスクトップにコピーしておく。 次にUSBケーブルでNucleoF401REをパソコン(Mac OSX 10.7以降)に接続すると、デスクトップに「NUCLEO」というアイコンが現れるので、その上に PAW_double_NUCLEO_F401RE.bin をドラッグ&ドロップする。ボード上のLEDが赤と緑で点滅して止まったら書き込み完了なので、NUCLEO」というアイコンをゴミ箱に捨ててアンマウントしてNucleoF401REを取り外す
- ちなみに、NucleoF401REのソースコードは これである。 読めない場合には全部をzip化した このzip を解凍して、任意のテキストエディタで開けばよい。ファームウェアを改良する場合にはオンラインコンパイラ(メンバー登録が必要)でこのソースから改訂すればよい
- 以上のセットアップが終わったら、NucleoF401REの電源ジャンパを「USB5V」から「Ext5V」に差し替えると完成である
- 動作確認後、NucleoF401REのサブCPUの部分(書き込みの際にパソコンに繋ぐUSBコネクタのある部分)は、カッターで切り離して捨て去り、全体の基板を小さくすることも可能である
- このように、慣れてくると3時間ほどで8個を量産できる
- Maxパッチ"PAW_double_01.maxpat"
- まず、ホストPCに超小型USBシリアル変換モジュール「AE-FT234X」からUSBで接続する
- ここでMax7を起動して、PAW_double_01.maxpatを開く。ブラウザ画面に厖大なテキストが表示された場合には、その全て(select all)を「コピー」して、Max7の新しく開いたパッチ内で「ペースト」すると、このパッチが開くので名前を付けて保存する。読めない場合には全部をzip化した このzip を解凍する
- ホストPCが「AE-FT234X」に割り当てたラベルを確認するには「arduinoSerialreader」の第2入力の「print」を叩くと、Maxコンソールウインドウにシリアルの一覧が出てくる
- 「arduinoSerialreader」の右端の第4入力のメニューで、ホストPCに対しする「AE-FT234X」のUSBインターフェースを指定する
- 書き込みと動作実験の様子
- PAW_double_01.maxpatにある「sensor_8」というサブパッチを開くと、計8チャンネルのセンサデータを0〜100の値に変換する「scale」オブジェクトが8個、並んでいる。この「scale」オブジェクトの4つの数字のうち前半の2つが、PAWセンサを押さない時の値ともっとも押した時の値になるように補正することで、各センサ固有のばらつきを吸収できる。「PAW_double_01.maxpat」をそのまま使うのでなく、必ずこの補正を行ってオリジナルのパッチに改良することを強く推奨する
- 「PAW-double」を活用したシステムの試作事例(YouTube)