SSブログ

(21)声でキーボード操作 [介護]

手足の動かせない障害者にとって、視線入力で操作するパソコンは日常生活を送る上で欠かせないものです。しかし、このパソコンにも困った問題があります。それは、視線入力が使えない場面があることです。

Tobii社のEye Tracker 4Cを用いた視線入力での操作が不能になった例として、次のような場合がありました。

1) パソコンがハングアップした時
よくあるハングアップだけでなく視線入力の場合、画面スクロール時にスクロールが止まらなくなって操作不能に陥る場合が多いです。この場合はそのウインドウを閉じると復旧しますが、マウス操作が必要なため一人では対処できません。

2)アプリのインストールや更新時
「システムへの書き込みを許可しますか」と聞かれる時に視線入力が使えないことがあります。これは「許可します」を選択して「リターン」を押せばOKです。

3)パソコンシャットダウン時
パソコンシャットダウン時に閉じられていないアプリがあると、「強制終了しますか」と聞いて来るのですが、その時には視線入力が使えません。
これも「強制終了します」を選択して「リターン」を押せばOKです。

以上の3例は健常者なら何の問題もなく対処可能です。しかし、手足の動かせない障害者の場合、このような状況に陥ると一人ではどうしようもありません。スマートプラグでパソコンの電源を強制的に切るという方法がないわけではありませんが、ハードディスクに悪影響を及ぼす恐れもありあまり取りたくない手段です。

このような時にキーボードを押すことができたなら、助けを呼ばずとも一人で対処可能な状況が殆どです。非常に歯がゆい思いをしていました。

そこで今回は、声でキーボード操作することで前述の状況から脱する手段を確立したので紹介します。
まずは次の動画をご覧ください。



表計算アプリExcelのシート中央に黄色のセルが選択されています。この選択セルが音声に従って上下左右に移動し、リターンキーを押すことで右側に移動していることが分かります。Excelウインドウの左側には受信した赤外線コードが表示されています。この受信した信号に対応する動作をしているのです。途中音声認識が上手く行かずにカーソルが動かない時もありますが、殆ど問題ないと言えます。今回は「カーソルアップ」、「カーソルダウン」、「カーソルレフト」、「カーソルライト」、「リターンキー」という用語で動作するように登録しましたが、誤認識しやすい用語もあるようですので各自の発声で動作を確認しながら登録用語を確定する必要があると思います。

この音声によるキーボード動作をどのように実現しているかというと、以前のブログでも登場したArduino(アルドゥイーノ)というマイコンを使っています。前回の工作ではArduino UNO(アルドゥイーノ ウノ)というものを使いましたが、今回はArduino Leonardo(アルドゥイーノ レオナルド)という機種を使っています。

このArduino Leonardoの基本的なことはUNOと同じですが、HID(Human Interface Device)という機能が備わっています。この機能はパソコンに接続するとUSBデバイスとして認識されるのです。つまり、このArduino Leonardoというマイコン基板を使ってUSBキーボードの動作を作り出しているのです。この辺の情報は多くのサイトで紹介されていますので、興味のある方はArduino Leonardoで検索してみてください。

多くのサイトで紹介されていることとの違いは、音声操作が可能なように機能追加したことです。この機能は健常者や手を動かせる人には不要なので、わざわざ追加する人はいないのだと思います。工作自体は以前のブログ「(12)電動昇降椅子を声で操作(工作編)」と本質的に同じで、今回の方が簡単です。

図1にシステム全体概要を示します。動画からも分かるようにこの動作はAmazonのスマートスピーカーAlexaを用いています。このシステムにおける信号の流れはブログ(9)を参照してください。

図21-1.png

図1 システム全体概要

実際の工作は点線で示す部分で、作業はブログ(12)と同じです。ブレッドボードを使うのではんだ付け不要です。作業の大部分はプログラム作成になりますが、サンプルプログラムがあるので簡単です。

今回の工作に係る費用は以下の通りで、2700円程度で実現可能です。
Arduino Leonardo(互換品)1400円
基板固定用台 700円
ブレッドボード 450円
赤外線センサ 80円
配線 50円

尚、所望の動作に対応する赤外線信号を出す赤外線コントローラや、音声を認識する役目のスマートスピーカーは既存のものを使う前提です。新たにSwitchBot Hub miniを購入すると約4000円、Amazon Echo Dotは5000円で購入できます。当然ながら、両者ともに他社製品でも全く問題ありません。

Arduino Leonardoと赤外線センサの結線は図2に示す通りです。赤外線センサは電源の(+)、(-)とデジタル信号出力の合計3端子を接続しています。

工作完了の図.jpg

図2 Arduino Leonardoを用いたUSBキーボード

物理的な接続3か所で工作は完了です。後は、全てパソコン上で行うプログラム作成になります。プログラムは無料で提供されているArduino IDEで作成します。次のURLからダウンロードして環境を構築してみてください。
https://www.arduino.cc/en/software

Arduinoに関する解説書や解説サイトも多数ありますので、マイコンを使った工作が初めての方でもなんとかなるレベルだと思います。

このプログラムでは受信する赤外線信号に対応して、キーボード処理を実行させています。つまり、キーボード処理の種類と同数の赤外線信号が必要になります。この赤外線信号にはArduinoの学習キット付属のリモコンを使いました。未使用電化製品の赤外線リモコン信号を使っても問題ありませんし、リモコンだけの販売もあるようです。





Keyboard操作のプログラムも簡単なコマンドで実行できるライブラリが用意されています。それを用いれば任意のキーを押したり、離したりを簡単にできます。
例えば次のようなコマンドです。

Keyboard.press(KEY_DOWN_ARROW);
delay(50);
Keyboard.release(KEY_DOWN_ARROW);

この3行で、[↓]キーを押し、50ms後に押した[↓]を離す動作をします。

このように[↓]、[↑]、[←]、[→]、[Return]、[Esc]、[Ctrl+W]、[Ctrl+Alt+Del]くらいを声で操作可能にしておくと、視線入力が使えない状況でも殆ど対応可能になりました。今後もパソコン操作をストレスなく使うための工夫を続け、快適生活を目指します。

ご意見、ご感想等を頂けると嬉しいです。ブログ継続の励みにもなりますので、宜しくお願い致します。

お問合せ等はこち

続きを読む


nice!(0)  コメント(0) 
共通テーマ:日記・雑感

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。