• 検索結果がありません。

wdesk2 . /private/tmp/O_hyoushi

N/A
N/A
Protected

Academic year: 2021

シェア "wdesk2 . /private/tmp/O_hyoushi"

Copied!
71
0
0

読み込み中.... (全文を見る)

全文

(1)

システム情報工学研究科修士論文

表面筋電位を用いたパワーアシスト制御手法の開発と

歩行支援用パワーアシスト脚HAL-3の構築

著者氏名 中井隆雄

(

知能機能システム専攻)

指導教官氏名 山海嘉之

2002

年2月

(2)

頁 論文要旨. . . 1 第1章 序論 . . . 2 1.1 背景. . . 2 1.2 本研究の目的 . . . 2 1.3 本論文の構成 . . . 3 第2章 HAL-1, HAL-2 . . . 4 2.1 HAL-1, HAL-2の概要 . . . 4 2.2 フレーム系 . . . . 5 2.3 駆動系 . . . . 5 2.4 計測系 . . . . 6 2.5 制御系 . . . . 6 2.6 HAL-2,HAL-2を用いた成果 . . . 6 第3章 HAL-3のシステム構築 . . . 7 3.1 システムの概要 . . . 7 3.2 外装系 . . . . 11 3.2.1 フレーム . . . . . 11 3.2.2 バックパック . . . . 11 3.3 駆動系 . . . . 12 3.3.1 アクチュエータ . . . . 12 3.3.2 モータドライバ . . . . 13 3.4 電源系 . . . . 15 3.5 計測系 . . . . 17 3.5.1 関節角度の計測 . . . . 17 3.5.2 表面筋電位の計測 . . . . 17 3.5.3 モータ電流の計測 . . . . 18

(3)

3.6.3 センサデータの取り込み. . . 24 3.6.4 制御ルーチンの一定周期での実行. . . . 26 3.6.5 HALライブラリ . . . . 29 第4章 表面筋電位を用いた関節トルクの推定 . . . . 30 4.1 概要 . . . 30 4.2 表面筋電位. . . . 30 4.3 表面筋電位の計測. . . . 31 4.3.1 電極部. . . . 32 4.3.2 増幅部. . . . 32 4.3.3 アナログフィルター部 . . . . 33 4.3.4 デジタルフィルター部 . . . . 33 4.4 関節トルク推定の概要 . . . . 34 4.4.1 線形和による関節トルクの推定法. . . . 34 4.4.1 ニューラルネットワークによる関節トルクの推定 . . . . 37 4.5 キャリブレーション動作. . . . 40 4.6 関節トルクの推定実験 . . . . 42 4.6.1 実験方法 . . . . 42 4.6.2 トルクデータの重力成分除去 . . . . 43 4.6.3 教師データの前処理. . . . 45 4.6.4 学習 . . . . 46 4.6.5 結果 . . . . 46 4.6.6 考察 . . . . 47 第5章 推定トルクに基づくHALのパワーアシスト制御. . . . 48 5.1 パワーアシストの概要 . . . . 48 5.2 制御系 . . . . 48 5.3 アシスト率、アシストゲインの定義 . . . . 49

(4)

5.4.2 立ち上がり動作 . . . . 54 5.4.3 座り動作 . . . . 57 5.4.4 歩行動作 . . . . 60 5.5 パワーアシスト制御実験の考察. . . . 63 5.6 推定トルクに基づくパワーアシスト制御実験のまとめ . . . . 64 第6章 結論 . . . . 65 謝辞 . . . . 66 参考文献

(5)

論文要旨

本研究では, 下肢の身体能力の低下した障害者や高齢者等, 自立した日常生活を送るのに 移 動 の 補 助 や 支 援 を 必 要 と す る 人 に 対 し て 適 用 す る 歩 行 補 助 用 パ ワ ー ア シ ス ト 脚

HAL(Hybrid Assistive Leg)の開発を行う. 本研究室ではこれまでにHAL-1, HAL-2を開発して

きたが, 制御回路, コンピュータが大型であり, また電源がAC電源で合った為に独立した移 動が不可能であった. そこで, これらの問題点を改善するため, 計測回路, コンピュータを小 型化しHAL本体に搭載し, 電力をバッテリーにより供給することで独立した移動が可能な パワーアシスト脚HAL-3を開発した. 今回, HALの制御用OSとしてLinuxを適用することで HALのネットワーク化を行い, 外部コンピュータからHALの制御プログラムの操作・表示 行えるようにした. 一方, HALを装着して日常におけるさまざまな動作をスムーズに実現するには, 装着者の 意志を反映する制御手法が望ましい. 本研究では装着者の意志をパワーアシストに反映す るための指令信号として, 表面筋電位により推定される関節トルク(推定トルク)に注目し, 推定トルクにアシストゲイン Gassistを掛けたアシストトルクをHALアクチュエータにより 出力するパワーアシスト制御手法を開発した. 表面筋電位から関節トルクを推定する方法 として線形和による方法と, ニューラルネットワークによる方法を試みた所どちらも良好 な精度で推定を行うことができた. 今回開発したパワーアシスト手法の有効性を確認する 為にこの手法を4つの基本動作(重り持ち上げ, 立ち上がり, 座り動作, 歩行)の膝関節パワー アシストに対し適用してみたところ, アシストゲイン Gassistを1.0から1.5の間に設定する事 により, 装着者はHAL装着前よりも小さいトルクで動作を行うことができ, 本手法とHALに よるパワーアシストの有効性を確認することができた.

(6)

1

序論

1.1

背景

下肢の身体能力の低下した障害者や高齢者が自立した日常生活を送るには, 移動の補助 や支援を行うアシストシステムが必要となる. 現在, 移動の補助や支援をするものとして, 車椅子や電動車椅子があげられる. しかし, 車椅子や電動車椅子を利用するためには, 段差 を取り除いてスロープを取りつけたり, 車椅子に座った状態で利用できるトイレを設置す るなど環境面の整備が不可欠となり多くの時間とコストが必要となる. 既存の環境に大きく手を加えることなく, 下肢身体能力が低下した障害者の移動を補助 ・支援するためには, 段差や狭い場所等を自由に移動できる方式であることが望ましい. 人 間の移動方式である二足歩行は既存の生活環境に適合しており, 二脚機構により動作の支 援を行うアシストシステムであれば既存の環境に手を加えることなく障害者の移動の補助 を行うことができる. 一方, 下肢の身体能力が低下した障害者が自立した生活をする方法として最も望ましい のは, 低下した下肢能力をリハビリテーション等により回復させる事で, 日常生活における さまざまな動作を自身の脚で行えるようにする事である. 障害者の低下した筋力を回復させる為には, ある動作を行う際に, アシストシステムの力 のみで動作を達成するのではなく, 障害者の残っている筋力を活用する事が要求される. 以上の点を考慮して, 本研究室では, 高齢者等下肢の身体能力の低下した人を対象とした パワーアシストシステムを開発しおり, そのシステムをHAL(Hybrid Assistive Leg)と呼んで いる. HALは二足歩行や立ち座り動作等下肢の動作をパワーアシストする事を目的に開発 された装置であり, フレームの関節部分に取り付けられたアクチュエータによりパワーア シストを行う. また, HALは人が装着するタイプのパワーアシストシステムであり人間と機 械が一体となり二脚で目的の動作を行うため, 既存の生活環境に適合した支援が可能であ る. また低下した筋力に足りない力をHALにより補助をすることで, 利用者は残っている筋 力を活用することとなり, 低下した筋力の回復が期待できる.

1.2

本研究の目的

現在までに本研究室では, HAL-1,HAL-2を開発し, 基礎的な実験を行ってきた. これまで

(7)

能であった. HALを実際の生活環境で利用可能にするためには, 独立した移動を実現する事 が不可欠である. 今回, 新たにHAL-3を開発する事で独立移動が可能なシステム構築する. 一方, HALを装着して日常におけるさまざまな動作をスムーズに実現するには, 装着者の 意志を反映する制御手法が望ましいと考えられる. 本研究では, 装着者の意志をパワーアシ ストに反映するための指令信号として, 表面筋電位により推定される関節トルク(推定トル ク)に注目し, 推定トルクを装着者の出したいトルクと仮定し, 推定トルクに基づくHALの パワーアシスト制御手法を開発する.

1.3

本論文の構成

2章では現在までに開発されたHAL-1, HAL-2について説明する. 3章では新たに開発した HAL-3のシステムについて述べる. 4章では表面筋電位と表面筋電位からトルクを推定する 手法について述べる. 5章では推定トルクに基づいたパワーアシスト制御手法について述 べ, 4つの基本動作(立ち上がり, 座り, 重り持ち上げ, 歩行)の各動作で動作実験を行い本制 御手法の有効性を検証する.

(8)

2

HAL-1, HAL-2

2.1 HAL-1, HAL-2

の概要

本研究室では, 高齢者等下肢の身体能力の低下した人を対象としたパワーアシストシス テムを開発しおり, そのシステムをHAL(Hybrid Assistive Leg)と呼んでいる. HAL-1, HAL-2 は人が装着するタイプのパワーアシストシステムであり, 二足歩行や立ち座り動作等下肢 の動作をフレームの関節部分に取り付けられたアクチュエータによりパワーアシストする システムである. Potentio metor Motor Ball Screw Battery Driver Circuit Power Suplly Measure Unit Strain G age Floor Force Floor Force

(9)

本研究室では, 現在までにHAL-1, HAL-2を開発し, 基礎的な研究が行われてきた.

HAL-1, HAL-2のシステム概要図および概観図をFig.2.1に示す. HAL-1, HAL-2の構成要素は

大きく以下の4つに分類される. ・外装系 ・駆動系 ・計測系 ・制御系

2.2

外装系

HAL-1, HAL-2のフレームは関節として, 左右の股関節, 膝関節, 足首関節を持ち, それぞ れ屈曲, 伸展方向に1つの自由度を有する. 可動範囲は股関節, 膝関節ともに伸展状態を0度 とすると最大90度まで屈曲することができるが, 足首関節に関してはほぼ固定されている.

2.3

駆動系

HAL-1, HAL-2ではパワーアシストに用いるアクチュエータとして, DCモータとボール ねじを用いた機構を採用した. このボールねじ機構は, 大きなトルクを発生できるうえ, 関 節周りの粘性係数を大きくすることにより, 立位時等の関節角の保持において大きなトル クを必要としないという特徴がある. アクチュエータは左右の股関節、膝関節にそれぞれ1 つづつ、合計4つ取りつけられているが、足首関節には取りつけられていない。アクチュ エータの電力はAC電源より供給されている. HAL-1, HAL-2の駆動系のスペックをTable

2.1に示す.

Table 2.1

定格角速度 最大角速度 定格トルク 最大トルク

(10)

2.4

計測系

HAL-1, HAL-2は各種情報を計測する計測系として以下のセンサを装備している. ・重心位置を計測するための足底力センサ ・関節角度を計測するポテンショメター ・人間の筋活動を計測する皮膚表面電極 ・モータに流れた電流量を計測する電流センサ

2.5

制御系

制御用コンピュータとして, デスクトップタイプのパーソナルコンピュータを使用した ため, 制御用コンソールとしてHALの外部に設置され, ケーブルを通してHALと接続されて いる. OSはMS-DOSである。

2.6 HAL-1, HAL-2

を用いた成果

現在までにHAL-1, HAL-2を用いて様々な研究が行なわれてきた. 田中による研究では, パラメータ同定により得られたパラメータを用いて, 対象システム に適応した最適ゲインを算出し, それを用いて適応的歩行アシストが行なわれ達成した[1]. 近藤による研究では, 椅子からの立ち上がり動作におけるパワーアシスト手法を提案しそ の有効性を示した[2]. 岡村による研究では, 危険回避機構として, 立位時において, 重心・ 関節角度等から転倒を予測し, 回避しするシステムを構築しその有効性を確認した[3]. ま た川村による研究では, 人が関節周りに出力するトルクを表面筋電位を用いて推定し, それ に基づいたHALの制御を行なう研究が行なわれてきた[4].

(11)

3

HAL-3

のシステム構築

3.1

システムの概要

前章で述べたように, これまでのHAL-1, HAL-2のシステムは ・計測制御回路, コンピュータが大型である為, これらは制御用コンソールとして外部に 設置されている. ・電源がAC電源であるため, 移動範囲がケーブルの長さに制限され, また, ケーブルの存 在が装着者の動作を妨げる場合がある. という理由から独立した移動が困難であった. HALシステムに要求される操作者の日常 生活支援という目的を実現するためには, HALを独立移動可能とする事が必要不可欠であ る. 本章ではこれらの問題点を踏まえ, 制御回路・コンピュータを小型化し, 電力の供給を DCバッテリーにより行う事で, 独立移動が可能な改良型パワーアシストシステムHAL-3を 構築する. 今回開発したHAL-3の写真,システム概観図, システムブロック図をそれぞれ

Fig.3.1, Fig.3.2, Fig.3.3に示す.

(12)

- Harmonic Drive Gear

- DC Servo Motor

Battery

Back Pack

- Controller(Linux)

- Motor Driver

- Measuring Unit

- Power Supply Circuit

Actuator

Sensors

- EMG

- Rotary Encoder

- Ground Reaction

Force

(13)

HAL Frame HAL BACK PACK

Motor Motor Driver & Current sensor

4ch x4 PCI bus 8ch 8ch 8ch Pre AMP Gain 1000 Electrode x 8 x 2 x 2 x 4 Rotary Encoder Low pass filter High pass filter Amp(Gain control) Gain 1~10000 times (Celeron 566MHz) Control computer D/A Converter Amp & Power regulator 4ch 4ch A/D Converter Junction circuit 24ch Counter pulse --> analog voltage Converter Gain Controler 4ch Ground reaction force sensor

(14)

HAL-3は二足歩行や立ち座り動作など下肢の動作をパワーアシストする事を目標に開発 された装置である. 関節は股, 膝関節を左右にもち, 全てで4つの関節を持つ. 各関節は1自由 度であり, HALの全自由度は4自由度である. アクチュエータはフレームの関節部分に取り つけられておりパワーアシストを行う. またHALはセンサーとして, ・股関節と膝関節の関節角度を計測するためのロータリーエンコーダ ・筋から発生する筋電位を計測するための筋電電極 ・モータ電流値を計測するための電流センサ ・接地情報の検出や重心位置の計測を行う為の足底センサ を装備する. 制御用コンピュータ, モータードライバー, 計測回路, 電源回路は背中に取りつけられた バックパック内に収納される. 電源はニッケル水素バッテリーを使用しており独立した移 動が可能となっている. 全システムの総重量は23kgである. 以降の節ではHAL-3の構成要素を以下の5つに分類し詳細を説明する. ・外装系 ・駆動系 ・電源系 ・計測系 ・制御系

(15)

3.2

外装系

3.2.1 フレーム HALのフレームは身体の外側に骨格を有するものである. 関節は股, 膝関節を左右にも ち, 全てで4つの関節を持つ. 各関節は1自由度であり, HALの全自由度は4自由度である. 装 着者の負担を軽減するために, フレームを床に接地する構造とし, HALの重量がフレームを 伝わって地面に逃げる仕組みとした 3.2.2 バックパック コントローラのコンピュータ, 計測回路, モータドライバ, 電源回路をHAL-3本体に搭載 する為に, Fig.3.4 に示すバックパックを利用した. このバックパックは, 市販されている ハードシェルタイプのものを改造して使用した. バックパック内に収納されている各種回 路とコンピュータは発熱するため, 冷却用にバックパックの両側面にファンが取り付けら れている. コンピュータや計測回路等を含んだバックパックの総重量は6.2kgであり, 概寸 は50x20x30cmである.

(16)

3.3

駆動系

3.3.1アクチュエータ HAL-1, HAL-2ではアクチュエータとしてボールねじ機構を採用した. しかし, ボールね じ機構はサイズが大きくなってしまい外観に威圧感があった. HALの対象とする利用者は 高齢者など下肢に障害を持つ人であり, 威圧感のある機械に対して拒絶反応を示す事があ る. そこで, 外観の威圧感を低減するために, HAL-3においてアクチュエータを更にコンパ クトにし, 24V150W出力のDCモータとハーモニックドライブギヤを組み合わせたものを使 用した. ハーモニックドライブギヤとは, ウェーブジェネレータ, フレクスプライン, サーキュラ ・スプラインの3点の部品から構成されている. ハーモニックドライブの動作原理は以下の とおりである. Fig. 3.5において, 360

A

B

C

サーキュラ・スプライン フレクスプライン ウェーブジェネレータ

Fig.3.5 Harmonic drive gear

A. フレクスプラインは, ウェーブジェネレータによって楕円状にたわめられ, 楕円の長軸の部分 でサーキュラ・スプラインと歯がかみ合い短軸の部分で歯が完全に離れた状態になる. B. サーキュラ・スプラインを固定し, ウェーブジェネレータ(入力)を時計方向へ回すと, フレク スプラインは弾性変形し, サーキュラ・スプラインとの歯のかみ合い位置が順次移動してい く. C. ウエーブジェネレータが一回転すると, フレクスプラインはサーキュスプラインより歯数が2 枚少ない為, ウェーブジェネレータの回転方向とは逆方向へ, すなわち反時計方向へ, 歯数差2 枚分だけ移動する. 一般にこの動きを出力として取りだす. このような原理により非常に高い減速比をコンパクトなサイズで実現することができ

(17)

DC motor

Encoder

Harmonic drive gear

Fig. 3.6 Actuator unit

またアクチュエータに要求する最大トルクとして装着者が力を抜いた状態で立ち上がれ るトルクとし, ハーモニックドライブギヤのギヤ比とDCモータのスペックを決定した. ア クチュエータは左右の膝, 腰関節に合計4つ装備されている. 1つあたりの重量は2.5kgであ るため, アクチュエータの総重量は10kgである. 3.3.2 モータドライバ モータドライバに要求されるスペックは, 今回採用したDCモータで立ち上がりに必要な トルクを発生できるだけの電流量(15A)を供給できる事である. また, HALは主にトルク制 御によりアクチュエータを駆動している為, モータドライバにトルク制御機能(電流制御機 能)がついている事が要求される. 従来のHAL-1, HAL-2のモータドライバはトルク制御が可 能であるが, 最大出力電流が6Aであり今回要求するスペックに満たない. そこでDCモータ を駆動するモータドライバとして, TITECH ROBOT DRIVER を使用した. 仕様をTable. 3.1 に概観図をFig. 3.7 に示す.

このモータドライバはPWMによりモータを駆動する事により高い電流量(16.7A)を出力 する事が可能となっている. また制御モードとして, 位置制御モード, 速度制御モード, 電流 制御モード(トルク制御モード)の3つの制御モードを備えており, HALの駆動に必要なトル ク制御機能が備わっている.

(18)

Table.3.1 Motor driver specification 項目 仕様 最大出力電流(連続) ±16.7A 最大出力(連続) 750W 重量 130g 外形寸法(L W H) 100mm x 90mm x 35mm

(19)

3.4

電源系

HAL-1, HAL-2においてシステムを稼働する為にはAC電源が必要であり, 移動範囲が

ケーブルの長さに限定され, ケーブルの存在が装着者の動作の妨げとなってしまった. そこ でHAL-3では電力をDCバッテリーにより供給する事でケーブルによる移動範囲の限定が なくなり, 独立した移動が可能となる. 今回電源系を構築するにあたり必要なスペックを以下のように設定する. ・DCモータの公称電圧値(24V)を供給できる ・回路・コンピュータ系に+-15V, +12V, +5Vの電圧を供給できる. ・パワーアシストによる歩行動作で数十分間駆動可能である. ・回路系, DCモータ共に安定して電力を供給できる. ・HALの利用に負担にならない大きさと重さである. 今回構築したHALの電源供給系の概要図をFig.3.8 に示す. HALの電源系はモータ駆動用 と回路・コンピュータ用の2系統の電源系を装備する. このように2つの系統にわけたのは, 回路・コンピュータ系の電源をモータ駆動用と共有した場合, モーター駆動時に急激に電 圧が変化する事があり, 回路・コンピュータ系が不安定になってしまう為である. 回路・コンピュータの電源系について説明する. 回路・コンピュータの電源系はバッテ リーとして, 9.6V4500mAhのニッケル水素電池を利用している. 回路・コンピュータに必要 な電圧は, +-15V, +12V, +5V であるため, DC-DCコンバータにより電圧変換を行った. 回路 ・コンピュータ用バッテリーの持続時間は, 実際に回路・コンピュータを動かした時の実 効値で約20分であった. HALを室内で利用する際には回路・コンピュータ系にDC9.6Vを 出力できるAC電源を接続する事により電力の供給が可能となっている. 一方, モーター駆動用の電源系については, モータ駆動用電源系バッテリーとして8.4V 4500mAhのニッケル水素電池を3個直列に接続し25.2Vの電圧をモータドライバに供給す る. モーター駆動系のバッテリーの持続時間は, アシスト率50%で歩行実験を行った際の平 均電流量(約5.5A)より約50分と計算される. バッテリーのサイズは160x54x40mmで, 総重量は2.2kgである.この重量とサイズであれ ば, HAL利用に負担となる事はないものと考えられる. バッテリーの概観図をFig.3.9に示 す. 以上により要求するスペックを満たす電源系を構築することができた.

(20)

EMG Filter & AMP Cercuit Motor Driver Cercuit Grand reaction force sensor Cercuit Encoder Cercuit +15V-15V GND+5V +5V GND +15V -15V GND 25.2V 4500mAh NiMH battery 25.2V GND

Computer & Circuit system

+15V -15V GND

150W DC motor Circuit & Computer Power source

Motor Power source

Computer +5V +12V GND 9.6V4500mAh NiMH battery & DC-DC converter

Motor Drive system

Fig.3.8 Power supply diagram

(21)

3.5

計測系

HALはセンサとして ・関節角度を計測するためのロータリーエンコーダ ・表面筋電位を計測するための筋電電極 ・モータ電流値を計測するための電流センサ ・足底の接地情報を得る為の足底センサ を装備している. 以下では, これらのセンサの詳細について述べる. 3.5.1 関節角度の計測 HALの姿勢情報をを得る為に各関節角度の情報を計測する. 関節角度を計測する方法と して, ポテンショメターにより関節角度に比例する抵抗値を計測する方法とロータリーエ ンコーダによって出力されるパルス数をカウントする方法がある. 今回, アクチュエータに ハーモニックドライブギヤを採用したために, モータの回転軸と関節の回転軸が同一直線 状になってしまい, ポテンショメターを関節の回転軸上に取り付けることができなかった ため, モータに取りつけられたロータリーエンコーダにより関節角度の計測を行う. 使用し たロータリーエンコーダはmaxon製HEDL5540である. ロータリーエンコーダから関節角度への変換は以下の式により行う. [ ] × π = θ 2 x Radian P G (3.1) G:ギヤ比 P :モータ1回転あたりのエンコーダパルス数 x :エンコーダパルス数 ロータリーエンコーダから発生するカウントパルスはワンチップマイコンで構成される カウンタ回路により電圧データに変換され, A/Dコンバータによりコンピュータに取り込 まれる. 3.5.2 表面筋電位の計測 HALは表面筋電位を計測する為の筋電電極が8個装備されている. 表面筋電位計測系につ いての詳細は4章において述べる.

(22)

3.5.3 モータ電流の計測 HAL-3によりパワーアシストを行う際, 実際のモータ消費電流を知ることはアシスト率 の指標評価と言う面から考えても極めて有効である. そこで, モータドライバに取り付けら れた電流センサによって電流値の計測を行う. 使用した電流センサは磁性体とホール素子 を使用した磁気式の電流検出用センサ(Tokin製KB15)である.スペックをTable.3.3に示す. 定 格電流の単位ATは1次側電流(A)x巻き数(Turn)を示す. このモータドライバでは巻き数が3 であるため定格電流は-16.7Ato +16.7Aとなる Table.3.3 型式 KB15 定格電流(AT) -50to +50 出力電圧(V) +5.000±0.100(if=+50AT) - 5.000±0.100(if=-50AT) また, モータ電流値と出力トルクには線形な関係があるため, 電流値を計測することに よりモータ出力トルクを算出することができる. 電流センサの出力値と電流値の関係(式 3.2), 電流値とモータトルクの関係(式3.3)を示す. モータドライバーにおいてモータの出力 トルクを計測する事によりHALのトルク制御が可能となっている. V . I=297 currentsensor (3.2) = τmotor 2.64I (3.3) 3.5.4 足底圧の計測 足底には足底圧を計測する為の力センサが取りつけられている. 力センサはひずみゲー ジによって構成されている(Fig. 3.10). 足底圧を計測する事により, 歩行時の着地の検出や 姿勢制御時の重心位置の計測を行う事ができる.

(23)

To A/D

Circuit Box for Converting Force to Voltage Strain Gauge Metalic Plate From Power Supply

(24)

3.6

制御系

3.6.1コントローラ HAL-1, HAL-2では制御用コントローラとしてデスクトップタイプのパーソナルコン ピュータを使用していた. しかし, デスクトップタイプのパーソナルコンピュータをコント ローラとして使用した場合, 大きさの問題からHAL本体に搭載する事が不可能であり, HAL 外部に設置していた. この為HAL-1, HAL-2は独立した移動が不可能であった. 今回, コント ローラに組み込み用の小型CPUボードを使用する事でコントローラを小型化しHAL本体へ の搭載を行い, 独立した移動を実現した.

コントローラの詳しい仕様をTable.3.2に, 概観図をFig.3.11に示す. CPUボードのアーキテ クチャはintelアーキテクチャでありパーソナルコンピュータと同じアーキテクチャである.

A/D(CONTEC製 AD12-64), D/A(JDS製 PCI-6208V) ボードはPCIバスによりCPUボードと接

続されている. D/Aボードによるアクチュエータへの制御信号の出力は付属するLinux用ド ライバを使用し, A/Dボードによるアナログデータの取り込みは後述するRT-Linuxを利用 する方法により行った. また, 振動や消費電流を考慮してコンパクトフラッシュカードを記 憶装置として利用した. ネットワーク機能として無線LANを装備しておりワイヤレスでの 通信が可能である. また音源カードにより音声によるアナウンスを行う事ができる.

Table. 3.2 Computer specification

CPU Celeron 566MHz

Memory 256MB

A/D Converter 12bit 32ch

D/A Converter 16bit 8ch

サイズ 20cmx13cmx15cm

(25)

Fig.3.11 HAL Computer 3.6.2 LinuxによるHALのネットワーク化 HAL-3は独立移動可能なシステムであるため, 実験データをモニタリングしたり, 作成し た制御プログラムを操作するための機構が必要となる. ディスプレイやキーボードなどを HAL-3に直接搭載する方法も考えられるが, サイズや重量を考慮すると良い方法であると は言い難い. そこで, HAL-3をネットワーク化する事により実験データのモニタリングや制 御プログラムの操作を外部のコンピュータから行う. ネットワーク化を行うにはハード ウェア, ソフトウェア両方で対応しなければならない. ハードウェアの面ではHAL-3のコントローラにLANの機能を装備しなければならない. 今回, コントローラに採用した組み込み用小型CPUボードにはLAN機能が搭載されている ため, このまま使用するのであれば, 特別にハードウェアを追加する必要はなかった. しか し, HAL-3はワイヤレスで独立した移動が可能なシステムを目指しており, LANケーブルが HAL-3に接続される事は望ましくない. そこで, 新たにPCMCIAカードタイプのワイヤレス LANカードをHAL-3のコントローラに搭載する事により, ワイヤレスでの通信を可能にし た. 一方, ソフトウェア面ではネットワークに対応したOSをコントローラに搭載する必要が あ る . HAL-1, HAL-2 で は コ ン ト ロ ー ラ の OS と し て MS-DOS を 利 用 し て き た . し か し ,

MS-DOSには標準でネットワーク機能を搭載しておらず, ネットワークに対応させる為に

は手間がかかってしまう. そこで今回, コントローラのOSとしてネットワーク機能を標準 で搭載するLinux(Plamo Linux 2.1)を採用した. Linuxにはtelnetサーバの機能やX-windowの

(26)

らの機能を利用して, 実験データのモニタリング, 制御プログラムの操作を外部のコン ピュータから行う. 具体的にはコントローラにおいてtelnet, ftpサーバを起動し外部からの ログインやファイルの転送が可能なように設定する. 次にftp等のファイル転送コマンドに より制御プログラムをコントローラに転送し, telnetコマンドによりコントローラにログイ ンする. ログイン後にコマンドラインより制御プログラムを実行する事で制御が開始され る. 制御プログラムの中に実験データをプロットする関数を呼び出している場合, 外部コン ピュータにX-windowの転送機能によりグラフが実時間でプロットされる. グラフのプロッ トはpgplotと呼ばれる汎用のグラフプロットライブラリを利用した. (Fig. 3.12)

Fig. 3.12 Remote monitering & control

また, HAL-3をネットワーク化することにより, Fig. 3.13に示すような遠隔リハビリテー ションへのプラットフォームとして, HALを拡張することも可能である.

遠隔リハビリテーションとは, 医師が力帰還型のマスターロボットを操作し, 遠隔地で

HALを装着した患者のリハビリテーションを行うというものである. HALとマスターロ

(27)

Fig. 3.13 Remote rehabilitation ネットワーク化以外にLinuxを採用することの利点として ・広大なメモリー空間が簡単に利用できる為, 大きなメモリを消費する制御プログラム を容易に作成することができる. ・Kernelをはじめとして,ほとんどのソフトはソースコードが公開されており,情報の入 手が容易である. ・システムの安定性やセキュリティに優れており, 堅牢なシステムを構築できる. などが挙げられる.

(28)

3.6.3 センサデータの取り込み 計測されたアナログセンサデータをコンピュータに取る込むにはA/Dコンバータが必要 となる. HAL-3で計測しているアナログセンサデータは全部で20chであり, 表面筋電位の計 測を1kHzで行うため, A/Dコンバータに要求されるスペックはチャンネル数20ch以上, 変換 速度1kHz以上となる. 上記のスペックを満たすA/DコンバータボードとしてCONTEC製AD12-64(PCI)を選定し た. スペックをTable.3.3に示す. Table.3.3 型式 AD12-64(PCI) 入力チャンネル数 シングルエンド64ch, 差動入力32ch 入力レンジ ±10V,±5V,±2.5V,±1.25V 分解能 12bit 変換速度 最大10µsec/ch 消費電流 DC+5V 700mA(Max) 外形寸法 176x107x18.5mm 今回選定したA/Dコンバータボードには, 取り込んだアナログデータを一時的に確保す るためのバッファが装備されていないが, これは, 今後HALに搭載するコンピュータを小型 化する際にA/DコンバータやD/Aコンバータを自前で設計・製作する予定であり, 計測デー タをバッファに確保する機能を設計するのは容易ではないと思われたからである. しかし, これでは制御ルーチンの周期をアナログデータのサンプリング周期とは別の任意の周期 (サンプリング周期よりも遅い周期)に設定することができなくなってしまう為, RT-Linux の機能を利用して取り込んだアナログデータをコンピュータ側のメモリーに一時的に確保 することとした. RT-Linuxによる計測データの取り込み 今回, アナログデータの取り込みを一定の周期で行い, 取り込んだデータをコンピュータ 側のメモリーに格納する為, RT-Linuxを利用した. RT-Linuxとは, Linuxのカーネルにパッチ をあてることによりLinuxにリアルタイム処理機能を付加したものである. RT-Linuxではリ

(29)

するものとしてユーザモードがある. ユーザモードではアクセスできるメモリ空間に制限 があり, 通常はメモリ以外のハードウェアにアクセスすることが禁じられている. ハード ウェアにアクセスするにはシステムコールを用いて, カーネルが提供するサービスを利用 する. 通常のプログラムはユーザモードで実行される.

Fig.3.14 にRT-Linuxによる計測データ取り込みの概要図を示す.

Fig. 3.14 A/D sampling using RT-Linux

アナログデータの取り込みプロセスはRT-Linuxの機能を利用する為, カーネルモードで 実行され, HALの制御プログラムとは独立して一定周期(1kHz)でA/Dコンバータからアナロ グデータを受け取りコンピュータのメモリに格納する. 一方, HALの制御プログラムはユー ザモードで実行され, アナログデータが必要になると, RT-Linuxによって提供されている RT-FIFOと呼ばれる機能を利用して, アナログデータの取り込みプロセスと通信を行う. ア ナログデータ取り込みプロセスはHAL制御プログラムからの通信により, 前回通信を行っ てから現在までにA/Dコンバータから取り込んだアナログデータをRT-FIFOを介してHAL 制御プログラムに渡す. 以上により制御プログラムの周期をアナログデータのサンプリン グ周期とは別の任意の周期に設定することが可能となる. RT-Linuxを利用したアナログ データの取り込みプログラムとRT-FIFOにより通信を行うプログラムを付録2に示す. アナログデータの取り込みが正しく行われているか確認する為に, ファンクションジェ ネレータにより出力される±4.5V 10Hzの三角波を実際に取り込んだ. Fig.3.15に結果のグラ フを示す. 最初の数回は不安定であるが, 以降は取りこぼしなく正確に取り込まれているこ

(30)

とが確認できる. 0 20 40 60 80 100 120 140 160 Time(msec) -4 -2 0 2 4 Analog Input (V)

Fig.3.15 A/D sampling test

3.6.4 制御ルーチンの一定周期での実行 前述のようにA/Dコンバータからのアナログデータの取り込みはRT-Linuxを利用するこ とにより一定周期で行うことができた. 一方, 制御プログラムの制御ルーチンを一定周期で 実行する為に, 後述する熊谷によって提唱されている手法[6]を採用した. 制御ルーチンを RT-Linuxのカーネルモードでプログラミングしなかった理由を以下に述べる. RT-Linuxはリアルタイム処理ができる反面, リアルタイム処理を行いたいプログラム(制 御プログラム)は, カーネルモードで動作する. このため, 制御プログラムを作成する際に カーネルモード特有の制限があり, 頻繁に書き換えが行われる制御プログラムの作成には 不便な環境となってしまう(Fig. 3.16). その制限とは, ・メモリー空間が保護されておらず,プログラムのポインタ操作ミスにより,システムダ ウンが簡単に起こってしまう. ・カーネルモードでは,システムコールが利用できないため,実験データの保存等といっ た フ ァ イ ル 操 作 を 直 接 行 う こ と が で き な い . シ ス テ ム コ ー ル を 利 用 す る た め に は,RT-FIFOを利用してユーザ空間のプログラムと通信を行い,ユーザ空間側のプログ ラムでデータの保存や表示を行わなければならない.

(31)

Fig.3.16 RT-Linux 熊谷の手法 RT-Linuxのリアルタイム処理機能を用いずに制御周期を一定周期とするために, 熊谷に よって提案されている方法を利用した. この方法はLinuxカーネルを多少手直しする事によ り,ユーザーモードで実行されている制御プログラムの制御ループをある程度一定にする 方法である. 通常のLinuxでは制御ループを周期的にしようとすると, 次のような制御プロ グラムを作成する事になる. 1) 制御周期CPを設定する. 2) 実際に制御にかかる時間ACPを計測する. 3) CP-ACP を計算して休眠時間STを求める. 4) 周期を一定にする為に次のループまでSTだけ休眠する. <例> while(1){ PresentTimeA = gettime(); Control(); PresentTimeB = gettime();

ACP = PresentTimeA - PresentTimeB;

(32)

} gettimeは時間をCPU内蔵のカウンタ機能により高精度に計測する関数である. また Controlは制御処理の関数とする. 熊谷による手法を使わない場合, このプログラムは期待通りには動かない. その理由は 次のとおりである. Linuxカーネルは,一定周期(標準は10msec)単位に休眠しているプロセス を調べて,指定された時間が経過している場合にプロセスを休眠状態から実行可能状態に 移す. このため, 標準では10msec単位でしか時間を指定することができないうえ, CPUを他 のプロセスに占有されている場合, 最悪10msecの遅延が生じてしまう. そこで, 熊谷の方法では, カーネルソース中の/usr/src/linux/include/asm/param.hに #ifndef HZ #define HZ 100 #endif

となっている部分の #define HZ 100 を #define HZ 1000 にする事でusleepの休眠時間分解 能を100Hz(10msec)から1000Hz(1msec)に向上させる.

制御周期実験

熊谷の方法を使った場合の制御周期の評価実験を行った. 評価実験に使用する実験プロ グラムはカーネルモードで動いているA/Dサンプリングプロセスからデータを一定周期で 受け取るプログラムである(付録3参照). 目標周期が5msec, 10msec, 20msecのそれぞれの場 合で1万周期分の評価を行う. 目標周期に近いほど高い精度の周期でループが回っているこ とになる. 実験結果をFig.3.17に示す. いずれの目標周期の場合も目標周期からはずれたのは数回程 度であった. また, 大きくはずれた場合も1~2msec程度にとどまった. この程度の周期のずれ であれば, HALの制御に大きな影響を与えるとは考えられない. また周期がずれた場合 も,CPU内蔵のカウンタにより高精度にずれを計測できるため, 制御パラメータを調節する 事である程度解消できるものと考えられる.

(33)

0 2000 4000 6000 8000 1∗104 Times 5 10 15 20 Period [msec]

Target period 5 msec Target period 10 msec Target period 20 msec

Fig. 3.17 Experiment of control period

3.6.5 HALライブラリ HALの開発は現在チーム体制で行っており, HALを制御する為の各種関数を取りそろえ たHALライブラリを作成することで, 各メンバーによる制御プログラムの開発効率向上が 期待できる. また, 各メンバーが開発する制御プログラムにおいて, 使用される関数が共通 化されるため, お互いのプログラムが読みやすくなるというメリットもある. 今回開発したHALライブラリには次に示す関数が用意されている. ・A/Dからのデータの取り込み, D/Aへの制御信号の出力をハードウェアやRT-Linuxを意 識することなく行うための関数 ・実験データを保存する関数 ・実験データをリアルタイムにグラフ表示する関数 ・熊谷の方法により制御周期を一定にする関数 などである.

(34)

4

表面筋電位による関節トルクの推定

4.1

概要

装着者の操作意志をHALを用いたパワーアシスト制御に反映させるために, 制御入力と して様々な手法が考えられる. 例えば, スイッチや音声入力を利用した能動的な入力手法は もっとも基本的なものとして挙げられる. しかしながら, 本研究ではより自然な下半身動作 を実現するために, 制御入力信号として, 表面筋電位より推定されるHAL装着者の出力して いる関節周りのトルクに注目する. 本章では, まず, 関節トルクの推定に用いられる表面筋電位の説明とHALにおける表面筋 電位の計測系を述べる事とし, 引き続き, 線形和とニューラルネットワークをそれぞれ用い た表面筋電位からのトルク推定方法を提案し, 実験によりそれぞれの手法の有効性を検証 する.

4.2

表面筋電位

神経や筋の細胞が活動すると, それに伴って微弱な電気が発生することが知られている. これら活動電位のなかでも, 心筋の活動に伴う心電位, 脳神経の細胞活動に伴う脳波は広く 実用化されている. 筋繊維(筋細胞)は上位運動中枢からの運動指令を受けると, 活動電位を 発生し張力を発揮する. 多数の筋繊維の収縮によって生じた張力が一つの統合された運動 を遂行するとき, 駆動力すなわち筋力と呼ばれる. このように筋の運動が生じた場合, 必ず 活動電位が発生することから, 活動電位を導出(計測)・解析することにより筋活動自体の 解析を行うことが可能となるのである. 筋電位を種々の電極によって導出・記録する手法 を筋電位図法(EMG: ElectroMioGram)と呼び, 用途によって様々な形で利用することとなる. 本研究では, 皮膚表面に貼りつけた電極により活動電位を導出・記録する表面筋電位導 出法を採用しており, 非侵襲かつ導出が容易であるといった特徴をもつ. 表面電極により計 測された表面筋電位(絶対値)の一例をFig.4.1に示す. 表面筋電位は一般的に, 振幅が数十 mV~数百µV, 周波数が0~500Hzのスパイク状信号である.

(35)

1 1.5 2 2.5 3 Time [sec] 0 200 400 600 EMG [uV]

Fig.4.1 Raw EMG

特に, 関節角度を一定に維持した状態で張力を発揮する等尺性筋収縮おいて, EMGと張 力は線形な関係にあることが知られており, 表面筋電位を計測することにより関節トルク を推定することが可能であると考えられる.

4.3

表面筋電位の計測

本節では, 本研究において用いた表面筋電位計測系と計測手法に関して述べることとす る. Fig.4.2に示すように, 計測系は以下の4つの構成要素に分けることができる.

(36)

・表面筋電位を導出するための電極部 ・微弱な筋電位を増幅する増幅部 ・ノイズ, オフセット等を除去するためのアナログフィルター部 ・平滑化のためのデジタルフィルタ部 以降では各構成要素に関する解説を行う. 4.3.1 電極部 電極導出方法には単極, 双極, 多極導出法があるが, 本研究では計測対象である筋電位が 非常に微弱な信号であり, ノイズ対策に充分な配慮が必要であるため, ノイズの同相除去特 性の優れた双極導出法を用いることとした. (双極導出法は, 測定電極2個を導出対象である 筋の直上の皮膚表面に貼り付け, 接地電極を遠位で適当な部位(ここでは手首や足首)に貼 り付ける. 接地電極と2つの測定電極間に生じる電位において, 筋活動電位は逆相, 周囲のノ イズは同相となっていることから, 2つの測定電位の差を取ることにより同相の周囲のノイ ズを除去することができるという特性を持つ) また, 電極には導電性に優れたAg/AgCl電極に電解ゲルを貼り付けたものを使用した. 電極の取り付け位置は筋電位に関する過去の研究により, ・電極間の距離は10~15mm ・2つの測定電極は筋繊維に平行 ・運動点と遠位腱部の中間点 の条件で設置することが推奨されていることから, 本研究でもそれに倣うこととした. 4.3.2 増幅部 増幅部は電極と一体型の構造としたプレアンプと, 増幅率が調節できる後段のアンプか ら構成される. 双極導出法により表面筋電位信号計測する際, 計装アンプ(BURR-BROWN INA114)を用いたプレアンプ(1000倍ゲイン)と電極とを一体化することで, 信号線に混入す るノイズによるS/N比の低下を防ぐ仕様とした. また, 計測対象毎の固体差を吸収するため, 後段にも1∼1000倍のアンプを設置している.

(37)

4.3.3 アナログフィルター部 アナログフィルター部は500Hzのハイパスフィルターと33Hzのローパスフィルターによ り構成される. ハイパスフィルターでは, 計測対象の動きや信号線の揺れ等に起因するEMG計測波形の 揺れであるモーションアーティファクトとオフセットの除去を行う. 低周波帯域の信号成 分について, 20Hz以下の成分は同じような筋収縮に対しても再現性が乏しいとされ, また, 一般にモーションアーティファクトが20~30Hzの信号とされることからも33Hz以下の低周 波帯域を除去することとした. また, ローパスフィルターでは高周波ノイズの除去とアンチエイリアスを行う. ローパス フィルタのカットオフ周波数は表面筋電位の性質により500Hzとした. 増幅部, アナログ フィルター部の回路図をFig.4.3に示す.

*

A/D INA114

*

Fig.4.3 EMG measurement circuit

4.3.4 デジタルフィルター部 A/Dコンバータを介して計測用PCに取り込まれた表面筋電位はスパイク状の信号である ため(Fig.4.1), このままの状態では今後想定しているような制御入力としての応用のために は不向きである. そのため, ローパスフィルタと移動平均による平滑化を行うこととした. ローパスフィルタのカットオフ周波数は3Hzにし, 移動平均を行う際の時間幅は50msec程 度とした. Fig.4.1の信号に平滑化処理を加えることで得られた信号波形をFig.4.4に示す.

(38)

4.4

関節トルクの推定

前述したように, 表面筋電位は筋活動の解析に繋がる有効な手段である. 特に脚関節周り の運動に着目する場合, 運動に参加する筋を解剖学的な理解に基づいて正しく選択するな らば, HAL装着者の出力している関節周りのトルクを表面筋電位から推定することも可能 であると考えられる. 装着者の関節トルクが推定出来た場合, HALの制御信号に利用できる だけでなく, HALによるパワーアシストを評価する際にも利用が期待されることからも非 常に有用であると言える. 本節では, 装着者の出している関節トルクを表面筋電位から推定する方法として, 線形和 による方法とニューラルネットワークによる方法の2種類の手法を提示しする. 1 1.5 2 2.5 3 Time [sec] 0 200 400 600 800 EMG [uV]

(39)

4.4.1

線形和による関節トルクの推定法

線形和によるトルク推定法の概略図をFig.4.5に示す. Linear function τ EMG2 EMG3 Estimated torque

a

3

a

2

a

1 EMG1

Fig.4.5 Estimating method using linear model

計測によって得られる表面筋電位と発生する関節トルクの関係が線形であると仮定する と, 関節に発生する関節トルクは, 運動に参加する筋群の表面筋電位にそれぞれ重み係数を かけ, それら全ての線形和を求めることにより推定できる. ċ+ + + = τ a1EMG1 a2EMG2 aNEMGN (4.1) この式において, a1,a2,...,aNは重み係数, EMG1,EMG2,...,EMGNは各筋から得られる表 面筋電位である. 重み係数a1,a2,...,aNは, 後述するキャリブレーション動作で計測した表 面筋電位(EMG)と関節トルク(τ)を基に最小二乗法により決定される. 以下に最小二乗法により未知パラメータa1,a2,ċを決定する手順を示す. 以降, 入力であるEMGをui( )t , 出力であるτをy( )t と表し, N入力, 1出力, サンプリング数 をMとすると, 入力と出力の組は ( ) ( ) ċ ( ) { } { ( )} ( ) ( ) ċ ( ) { } { ( )}  ( ) ( ) ċ ( ) {u M u M u M } {y( )M } y u u u y u u u 2 1 2 1 2 1 , , , , 2 , 2 , , 2 , 2 1 , 1 , , 1 , 1 N N N (4.2) となる. ここで, 最小二乗法とは評価関数

(40)



{

y( )k ( )k

}

M J= 1 −θTϕ k M = 2 1 (4.3) { } = θ a1,a2,...,aN T ( )= { ( ) ( ) ( )} ϕ k u1 k ,u2 k ,...,uN k T を最小にするθを決定する方法である. 評価関数 J をθに関して微分し, それを0と置くこ とにより次式を得る.



( ) ( )           ( )



( ) ( )ϕ = θ ϕ ϕ ˆ 1 1 k k y M N k k M k M T k M = =1 1 (4.4) 式(4.4)は更に ( ) ( ) f( ) R M ˆθ M = M (4.5) ( )



( ) ( ) ( ) ( ) R = ϕ ϕ = Ω MM M k k M M 1 T 1 T k M =1 (4.6) ( )



( ) ( ) ( ) ( ) f = ϕ = Ω M y M M k k y M M 1 T 1 T k M =1 (4.7) と表すことができる. この式においてR M , ( ) f M は計測データにより既知であるため, 式(4.5)を( ) θに関する連 立方程式として解くことにより, 未知パラメータθが計算される. 連立方程式の計算は, 数値計算ライブラリ[13]を用い, 丸め誤差補正付きLU分解法により 求めた.

(41)

4.4.2

ニューラルネットワークによる関節トルクの推定

ニューラルネットワークによるトルク推定法の概要図をFig.4.6に示す. Sigmoid function linear function

θ

τ

EMG2 EMG3 Estimated torque EMG1

Fig.4.6 Estimating method using neural network

線形和によるトルク推定法では, 計測される表面筋電位と発生する関節トルクの関係は 線形であると仮定したが, 実際には非線形な要素を含み, 関節角度の変化によって筋長や筋 モーメントアームが変化し, 筋張力が関節トルクに寄与する割合が変化する. これらの点を 考慮して, 式(4.8)により関節トルクを推定する. ( θ) = τ f EMG1,EMG2,...,EMGN, (4.8) 式(4.8)において関数fはニューラルネットワークにより構成される写像関数である. ニューラルネットワークとは生物の神経系の構造を工学的に再現しようとするシステム である. Fig.4.7にトルク推定に用いるニューラルネットワークを示す.

(42)

ξ

1

ω

11

o

1

V

1

ξ

2

ξ

3

ω

24

ω

13

ω

11

ω

12

ζ

i

ω

jk

ω

ij

V

2

V

j

ζ

1

ξ

k

+1

+1

Fig.4.7 Neural network

Fig.4.7において +1 の素子は常に+1を出力し閾値の役割を果たす. またネットワークに入 力する教師パターンは添え字µ=1,2,...,pと区別する. さて, µ番目の入力が与えられた時の中間層の素子 Vjへの層入力は,



hµ jk µk k j = ω ξ (4.9) で与えられる. そのときの中間層の素子 Vjの出力は

( )

h g



g Vµ µ jk µk k j j = = ω ξ (4.10) となる. ここでg( )x は ( ) e x g + = 1 1 β − x (4.11) で定義されるシグモイド関数である. シグモイド関数は微分すると ( )x g( )x ( g( )x ) g′ =β 1− (4.12) となるため, 計算量を軽減できるという特徴を持つ.

(43)



 

    g V hµ µ jk µk k j i j j j i j i = ω = ω ω ξ (4.13) を入力として受け取る. このネットワークは出力層の出力関数が線形関数であるため出 力として h oµi = µi (4.14) を出力する. ニューラルネットワークにおける素子間の結合度(重み)の学習は, 後述するキャリブ レーション動作で計測した表面筋電位, 関節角度, 関節トルクを元にバックプロパゲーショ ン法により行う. バックプロパゲーション法とは学習途中のニューラルネットワークから得られた出力と 教師信号との誤差情報を出力層から入力層に逆伝播させることで, 各層の教師信号を生成 し学習を行うという方法である. 実際の処理の流れを以下に示す. 1) 全ての重み係数ωjkijの初期値を小さい値でランダムに設定する. 2)入力パターンξµk (k=1,2,...,N)と対応する出力パターンζiµ(i=1,2,...,M)を与えるN,M はそれぞれ入力素子数と出力素子数を表す. 3)設定された重み係数ωjkijと入力パターンから各ユニットの出力を計算を式(4.10),式 (4.14)により計算する. 4)得られた出力 oµi と教師信号ζiµ(i=1,2,...,M)を用いて出力層から入力層にむけて, パ ターンµに対する各ユニットの誤差を計算する. 出力層のユニットか, 中間層のユニッ トかで区別してそれぞれ次のように求める. 出力層のユニットに対して − ζ = δµi µi oµi (4.15) 中間層ののユニットに対して

( )



δ ′ = δµ µ µi i j j g h (4.16) 5) 重み係数の修正量を以下の式により求め, 重み係数を各層毎に修正する.

(44)

δ η = ω ∆ δ η = ω ∆ µ µ i j i j k j (4.17) η学習定数を示し, この値が大きければ重み係数の修正量は大きくなる為学習速度を 速くすることができるが, 大きすぎると発散してしまうので注意が必要である. 6)すべての入力パターン, 出力パターンの組に対して学習を行い, 指定した学習回数に達 したら, 学習を終了する. ニューラルネットワークの各パラメータ(学習定数, シグモイド関数のゲイン, 中間層の 数, 学習回数)はそれぞれTable 4.1に示す値とした.

Table 4.1 Parameter of neural network

パラメータ 値 学習定数 0.1 シグモイド関数のゲイン 1 中間層の数 10 学習回数 10000

4.5

キャリブレーション動作

パワーアシスト制御時に装着者の関節トルクの推定を行うには, 入力である表面筋電位 及び関節角度と, 出力である関節トルクの対応関係を意味する重み係数を事前に知る必要 がある. しかし, この対応関係は, 装着者の個人差や日による皮膚表面状態(皮膚抵抗)によ り変化するため, HALを利用する際には必ずキャリブレーション動作を行い重み係数を生 成する必要がある. Fig.4.8にキャリブレーション動作及び学習の概要図を示す.

(45)

Fig.4.8 Calibration & learning まず, キャリブレーション動作により3つの情報―表面筋電位, 関節角度, 装着者の関節ト ルク―を得る. 表面筋電位の計測は装着者に取りつけられた電極により行われる. また, 関 節角度の情報もHALのモーターに付けられたロータリーエンコーダにより検出される. 一 方, 装着者の関節トルクの計測は, 装着者が出すトルクに拮抗するトルクをHALのアクチュ エータが出力するようにHALを制御し, アクチュエータのトルクを計測する事によりおこ なわれる. アクチュエータが出力するトルクの計測は, アクチュエータの電流値がトルクに 比例していることを利用している(式 3.3). このようにHALのアクチュエータを利用して装 着者の関節トルクを計測することで, 簡易に関節トルクを計測することができ, HAL利用中 の再キャリブレーションを行う際, 装着者への負担が軽減される. キャリブレーション動作によって得られた3つの情報のうち, 関節角度と表面筋電位は教 師データの入力パターンとして, また装着者の関節トルクは教師データの出力パターンと して学習が行われる. 前述したように, ニューラルネットを推定器として用いる場合, 学習 はバックプロパゲーションによって行われ, 線形和を推定器として用いる場合, 学習は最小 二乗法により行われる. 学習によって得られた重み係数はパワーアシスト制御時に推定器 の重み係数として利用される.

(46)

4.6

関節トルクの推定実験

4.6.1 実験概要 前章のキャリブレーション動作を行い, 学習により重み係数を獲得した後に, キャリブ レーション動作と同様の動作として計測したテストパターンに対して, 学習で獲得した重 み係数を推定器に適用し, トルクの推定を行う. 推定トルクと計測トルクを比較することに より, 推定手法の性能を検証する. 4.6.1 実験方法 実験対象の関節は右膝関節とし, 被験者は健常者の成人男性である. 被験者はHALを装着 し, 座った姿勢で実験を行う. 実験概要図をFig.4.9に示す.

θ

τ

human

τ

HAL

τ

human

τ

HAL Fig.4.9 Experiment 今回の実験で採用するキャリブレーション動作は, HALに目標角度に追従するようにPD 制御を行わせ, 装着者は適当な方向にトルクを出すという動作である. これにより, HALは バネと同じ振る舞いをすることになり, アクチュエータの電流値を計測することで, 装着者 の出しているトルクの計測を行う. 表面筋電位の計測は装着者に取りつけられた電極によ り行われ, 関節角度はロータリーエンコーダにより計測される. 関節角度は屈曲方向を正, 伸展方向を負とし完全に伸展した時を0度と定義する. PD制御の目標角度は, 関節角度θを 度から10度に10秒間で変化させる. 関節角度を変化させるのは, ニューラルネットワーク

(47)

装着者が出すトルクのパターンは, 長さが1秒程度, 強さはアクチュエータがトルク飽和 を起こさない程度のものとする. 学習に使う教師データと, 推定結果を検証するためのテストデータを, それぞれの場合で 10秒間計測した. 表面筋電位の計測を行う筋は, Fig.4.10に示す膝関節の運動に関係する筋 である. M.vastus lateralis M.rectus femoris M.vastus medialis M.semimembranosus M.biceps femoris

Fig.4.10 Measured EMG

ニューラルネットワークまたは線形和の重み係数を学習する前に, 計測トルクデータの 重力成分の除去, 表面筋電位データの前処理を行う.

4.6.2 トルクデータの重力成分除去

(48)

0 2 4 6 8 10 Time(sec) -40 -20 0 20 40 Torque(Nm) 0 20 40 60 80 Angle(degree)

Fig.4.11 Measured torque and angle

関節角度の減少(膝の伸展)と共にトルクのオフセットが増加するという現象が生じてい る. これは, 座った姿勢で膝関節を伸展していくと重力による影響が大きくなっていくため である. この重力による影響を除去する為に, HALのトルクのみで同様の動作を行い, 関節 角度に対応してどの程度の重力トルクが必要なのかを計測する. 計測は装着者に脱力する ように指示し, 装着者の力が加わらないようにする. 計測した関節角度-重力によるトルク の関係をFig.4.12に示す. 40 50 60 70 80 90 Angle(degree) 2 4 6 8 10 12 Torque(Nm)

Fig.4.12 Gravity torque

この情報を元に関節角度から重力によるトルクを参照するルックアップテーブルを作成 し, 計測トルクから重力によるトルク取り除く(Fig.4.13).

(49)

0 2 4 6 8 10 Time(sec) -30 -20 -10 0 10 20 Torque(Nm) 0 2 4 6 8

Fig.4.13 Measured torque without gravity

4.6.3 教師データの前処理 表面筋電位の計測は1msecサンプリングで行っている. しかし, そのまま教師データとし て用いるとデータ量が多く, 学習に時間がかかってしまう. 今回の実験では, 100msecサンプ リングにデータを間引いたものを教師データとして用いる. Fig.4.14に表面筋電位と計測された装着者のトルクを示す. 3500 4000 4500 5000 5500 6000 Time(msec) 0 -32 -24 -16 -8 8 16 24 32 Torque(Nm) -3 -2 -1 0 1 2 3 EMG(V) Measured torque EMG extensor EMG flexor

Fig.4.14 Measured torque and EMG

筋電位の単位はアンプにより増幅した後の電圧値である. また, 伸筋は大腿直筋, 屈筋は 半腱様筋である. このグラフを見ると計測トルクが筋電位よりも遅れて出ている事がわか

(50)

る. これは, モータに指令値が送られてから実際にモーターが駆動し, 電流値が計測される までに時間遅れがあるためである. そこで, 教師データに使う筋電位データは, ある一定時 間分(150msec)遅らせることとする. 前処理を行った後の教師データをFig.4.15に示す. 0 1 2 3 4 5 6 7 8 9 10 Time(msec) -30 -20 -10 0 10 20 30 Torque(Nm) -3 -2 -1 0 1 2 3 EMG(V)

HAL output torque M.rectus femoris M.vastus medialis M.vastus lateralis M.biceps femoris M.semimembranosus

Fig.4.15 Teaching data

4.6.4 学習 ニューラルネットを推定器として用いる場合, 学習はバックプロパゲーションによって 行われ, 線形和を推定器として用いる場合, 学習は最小二乗法により行われる. ニューラル ネットによって学習を行う際の各種パラメータはTable 4.1 に示すとおりである. 4.6.5 結果 Fig.4.16にテストパターン(キャリブレーション動作と同様の方法によって計測された関 節角度, 表面筋電位, 装着者のトルク)に対する推定結果を示す. Fig.4.16に示すテストパ ターンに対する推定誤差の平均値はニューラルネットワークが2.45Nm, 線形和が3.24Nmで あった. また, 他の15回のテストパターンの誤差の平均値は, ニューラルネットワークが 3.63Nm, 線形和が4.70Nmであった. ニューラルネットワークの学習時間は, HAL-3に搭載さ

(51)

0 2 4 6 8 10 Time(msec) -30 -20 -10 0 10 20 30 Torque(Nm) Torque Linear Neural Network

Fig.4.16 Estimated Torque

4.6.6 考察 ニューラルネットワーク, 線形和共に良好な推定結果を得ることができた. 特にFig.4.14 に示すテストパターンに対して, 1秒から3秒, 4秒から5秒の間の伸展方向のトルク推定にお いて, ニューラルネットワークによる推定は線形和による推定に比べ高い精度で行うこと ができている. ニューラルネットワークの学習時間は約30秒であり, 全関節に対して推定を行った場合2 分の学習時間を要する. HAL利用前に必ず2分間の学習時間が必要となるのは, 利用者に とって, 実際の利用を考えると不便となる. 一方, 線形和の重み係数の計算は瞬間的に終了 する. そこで, 線形和の推定精度でも制御に十分利用できるものと考え, 制御時には線形和 による推定方法を利用し, 実験後のパワーアシストの評価を行う際にニューラルネットに よる推定方法を利用する事とする.

(52)

5

推定トルクに基づく

HAL

のパワーアシスト制御

5.1

パワーアシスト制御の概要

前章の結果より, 表面筋電位から装着者の関節周りのトルクを推定することが可能と なった. そこで本章では, 実際にこの推定トルクをHALによるパワーアシスト制御の入力信 号として導入することで, 装着者の意志をパワーアシストに反映する制御手法の開発を行 い, 基本動作(重り持ち上げ, 立ち上がり, 座り, 歩行)による実験においてその有効性を検討 ・証明する事を目的としている.

5.2

制御系

推定トルクに基づくHALのパワーアシスト制御系をFig.5.1に示す.

Fig.5.1 HAL EMG Control system

第4章において導出した推定トルクτˆhumanは, その瞬間において装着者が必要としている

関節周りのトルクとみなすことができる. このことから, 推定トルクの検出と同時に, HAL

(53)

を出力することにより, HALによるパワーアシスト制御を実現する. 最終的に関節周りに 働 く ト ル ク ( 全 ト ル ク ) は , 装 着 者 が 出 力 し た ト ル ク と HAL が 出 力 し た ト ル ク の 合 力 τ + τhuman HALとなる.

5.3

アシスト率

,

アシストゲインの定義

アシストゲイン Gassistは「装着者が1Nmのトルクを出力した時に, HALが出力したトル ク(Nm)」と定義することができ, アシスト率 Kassistは「動作に必要な全トルクのうち, HAL が出しているトルクの割合」と定義する. つまり, K n a m u h L A H L A H t s i s s a = τ τ+τ (5.2) である. アシストゲイン Gassistをアシスト率で表すと τ − = τ Human t s i s s a t s i s s a L A H K K 1 (5.3) より, K K G t s i s s a t s i s s a t s i s s a = 1 (5.4) となる.

Fig. 3.1 HAL-3
Fig. 3.2 HAL-3 System Configuration
Fig. 3.4 Back Pack
Fig. 3.6 Actuator unit
+7

参照

関連したドキュメント

Then by applying specialization maps of admissible fundamental groups and Nakajima’s result concerning ordinariness of cyclic ´ etale coverings of generic curves, we may prove that

In this section, we establish a purity theorem for Zariski and etale weight-two motivic cohomology, generalizing results of [23]... In the general case, we dene the

We prove a continuous embedding that allows us to obtain a boundary trace imbedding result for anisotropic Musielak-Orlicz spaces, which we then apply to obtain an existence result

[r]

We provide an accurate upper bound of the maximum number of limit cycles that this class of systems can have bifurcating from the periodic orbits of the linear center ˙ x = y, y ˙ =

In the second section, we study the continuity of the functions f p (for the definition of this function see the abstract) when (X, f ) is a dynamical system in which X is a

More general problem of evaluation of higher derivatives of Bessel and Macdonald functions of arbitrary order has been solved by Brychkov in [7].. However, much more

Algebraic curvature tensor satisfying the condition of type (1.2) If ∇J ̸= 0, the anti-K¨ ahler condition (1.2) does not hold.. Yet, for any almost anti-Hermitian manifold there