Comments
Description
Transcript
卒業論文 - JSK
卒業論文 バックラッシュクラッチをもつ ヒューマノイドの歩行制御 通し番号 1 - 57 完 平成 15 年 2 月 7 日 提出 指導教官 10242 中村 仁彦 教授 神崎 秀 2 目次 第 1 章 序論 7 1.1 研究の背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 研究の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 本論文の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 第 2 章 制御対象ヒューマノイド 10 2.1 ヒューマノイドのハードウェア構成 . . . . . . . . . . . . . . . . . . . 10 2.2 特徴的な機構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 サイバネティックショルダ . . . . . . . . . . . . . . . . . . . . 12 2.2.2 ダブルスフェリカルジョイント . . . . . . . . . . . . . . . . . 13 2.2.3 バックラッシュクラッチ . . . . . . . . . . . . . . . . . . . . . 14 ヒューマノイドのソフトウェアシステム構成 . . . . . . . . . . . . . . 18 2.3 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 20 3.1 歩行制御の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 Phase の種類と Phase 切り替えのトリガ . . . . . . . . . . . . . . . . 21 3.3 各 Phase における各関節の制御 . . . . . . . . . . . . . . . . . . . . . 23 3.3.1 関節角・関節トルクの定義 . . . . . . . . . . . . . . . . . . . . 23 3.3.2 各関節に設定する役割 . . . . . . . . . . . . . . . . . . . . . . 24 3.3.3 環境から受ける外力に拮抗するトルク . . . . . . . . . . . . . 30 3 第 4 章 動力学シミュレーションによる制御則の検証 32 4.1 シミュレーション環境 . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 シミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 第 5 章 実機での歩行を実現するための考察と実験 43 5.1 PD 制御を用いた擬似トルク制御 . . . . . . . . . . . . . . . . . . . . 43 5.2 2 自由度制御系を用いたバックラッシュクラッチの制御アルゴリズム 45 5.3 実機実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 第 6 章 結論 50 6.1 結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.2 今後の課題と展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 謝辞 52 参考文献 54 4 図目次 2.1 Overview of the humanoid . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Hardware system of the humanoid . . . . . . . . . . . . . . . . . . . . 12 2.3 The mechanical design of cybernetic shoulder . . . . . . . . . . . . . 13 2.4 DOF arrangement of hip joint . . . . . . . . . . . . . . . . . . . . . . 13 2.5 Bending motion of the upper half body with normal hip joint . . . . . 14 2.6 The mechanical design of double spherical hip joint . . . . . . . . . . 15 2.7 Bending motion of the upper half body with double sphericalhip joint 15 2.8 The structure of backlush clutch . . . . . . . . . . . . . . . . . . . . . 16 2.9 Power transmition by backlush clutch . . . . . . . . . . . . . . . . . . 16 2.10 Free state of backlush clutch . . . . . . . . . . . . . . . . . . . . . . . 17 2.11 The cross section of knee joint . . . . . . . . . . . . . . . . . . . . . . 17 2.12 Software system of the humanoid . . . . . . . . . . . . . . . . . . . . 18 3.1 Angle of each joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 Relationship between waist velocity and body gradient . . . . . . . . 25 3.3 Torque created by extra force . . . . . . . . . . . . . . . . . . . . . . 30 4.1 H-Anim model of the humanoid robot . . . . . . . . . . . . . . . . . . 33 4.2 The beginning of walking motion . . . . . . . . . . . . . . . . . . . . 35 4.3 Walking motion in one cycle of state number . . . . . . . . . . . . . . 36 5 4.4 State transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.5 COG Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.6 Body gradient from vertical line . . . . . . . . . . . . . . . . . . . . . 38 4.7 Ground reaction force acting on the each sole . . . . . . . . . . . . . 39 4.8 Torque of each joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.9 Angle of each joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.10 Falling down motion . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.1 Block diagram of feedback controller . . . . . . . . . . . . . . . . . . 43 5.2 Two DOF controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.3 Modified two DOF controller . . . . . . . . . . . . . . . . . . . . . . . 46 5.4 Two DOF control experiment . . . . . . . . . . . . . . . . . . . . . . 48 5.5 Result of two DOF control experiment . . . . . . . . . . . . . . . . . 48 5.6 Free motion created by backlush clutch . . . . . . . . . . . . . . . . . 49 5.7 Gap of backlush clutch . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.1 Falling down motion in 3D simulation . . . . . . . . . . . . . . . . . . 51 6 表目次 3.1 Body states and trigger of chaging states . . . . . . . . . . . . . . . . 22 3.2 Tasks for each joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.1 Controll parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 第 1 章 序論 7 第 1 章 序論 1.1 研究の背景 生活空間における人間の巧みな動作を観察すると,それらは重力や外力に従う動 き,環境による拘束を利用したものであることがわかる [1].歩行はその動作の良い 例であり,重力を利用した倒れこみや,膝による外力の吸収,床反力に対する足首 の巧みな動作等によって安定した歩行が実現されている. 一方,近年ヒューマノイドの歩行動作研究において,重力や環境から受ける力を 積極的に利用した受動的歩行が注目されている.McGeer ら [2, 3] は人間の脚を模し たロボットを傾斜面の上に置くと受動的に歩容が生成され,それが安定なパターン に収束することを示した.Goswami[4] ら,Ruina[5] らは受動的歩行について詳細な シミュレーション解析を行い,歩容にカオス現象が現れることを示唆した.大須賀ら は 8 脚ロボット Quartet[6],Quartet II[7] を用いて,受動的歩行の歩容に引き込み現 象や分岐現象が現れることを実験的に示した.また,大須賀らは現在 Quartet III[8] を用いて, 「遅延フィードバック制御」による平地での受動的歩行の実現に取り組ん でいる.これらの研究は,自然な歩行動作のパターンはロボットの脚機構に内在す るものであり,それが環境のダイナミクスとの相互作用により発現するということ を示唆している. 今後,環境に適した知的な動作を自ら獲得し,人間の生活に密着した用途に耐え 得るヒューマノイドを実現させるためには,人間の活動できる場所全てにおいて移 動可能な高い運動性能,及び環境の変化に鋭敏な身体が必要不可欠である.そのた めには,人間の身体のもつ従反力性や受動的歩行のもつ環境のダイナミクスに対す る親和性を積極的に取り入れていくことが重要であると考えられる. 第 1 章 序論 8 このような観点から従来の二脚歩行研究に目を向けると,従来の研究は,関節角 や重心等の軌道を与え,それに従って全関節を駆動するもの [9, 10, 11] が中心であっ た.これらの研究はハイゲインフィードバック(時間遅れ 0 で指定した軌道に追従 すること)を仮定した制御を行っているため,固く,不自然な動きにならざるを得 ない.また,多くの場合各関節には高出力のモータと高いギア比の減速機を用いて いるため,減速機の摩擦が大きく,バックドライバビリティー(運動の可逆性)が低 い.このような制御や機構の下では,人間のような従反力性や環境のダイナミクス に対する親和性は期待できない. 1.2 研究の目的 この観点から,従反力性,環境のダイナミクスに対する親和性を考慮した機構を もつヒューマノイドが Nakamura ら [12] によって開発された.このヒューマノイド は膝関節にフリー状態と高トルク出力状態を切替えることのできる「バックラッシュ クラッチ」機構 [13] を有している.バックドライバビリティの小さい従来の駆動系 では,トルクフィードバックを用いて下腿部がフリーな状態を実現しようとしても, 計測系やコントローラの計算に含まれる遅れ要素により応答特性の良いトルク制御 系を実現することは困難であった.フリー状態が実現できれば,重力や足部の地面 との接触を含む外力に従った下腿部の運動を,高い環境との親和性の中で実現する ことが可能となる.これにより従反力性の高い運動を実現することができる. 本研究の目的は,このバックラッシュクラッチの作り出すフリー状態を利用し, 従反力性を保持しながら,環境のダイナミクスとの相互作用から生まれる歩容を実 現する制御則を構築することにある. 1.3 本論文の構成 本論文は全 6 章から成り,構成は以下の通りである. 本章では,本研究の背景となる事柄や過去の研究を概観し,本研究の目的につい 第 1 章 序論 9 て述べた.第 2 章では,本研究で制御対象とするヒューマノイドについて,そのハー ドウェア構成とソフトウェア構成を概観する.第 3 章では,第 1 章で掲げた目的を実 現するための歩行制御の具体的手法について述べる.その後,第 4 章では制御手法 の有効性を確認するため,ヒューマノイドロボティクスのための総合ソフトウェア 環境である OpenHRP2 を用いて,動力学シミュレーションを行う.第 5 章では,本 研究で提案した制御手法を実機に実装する際に必要となる事柄について論じ,実機 を用いた実験の結果について述べる.第 6 章では,本研究から得られた結論と今後 の課題・展望について述べる. 第 2 章 制御対象ヒューマノイド 10 第 2 章 制御対象ヒューマノイド 2.1 ヒューマノイドのハードウェア構成 本章では,本研究で歩行制御の対象とするヒューマノイドについて,そのハード ウェア構成,特徴的機構,ソフトウェア構成を概観する.ヒューマノイドの全身写真 を Fig.2.1 に示す.このヒューマノイドは全高 1400[mm],全重量 45[kg],首部 3 自由 度,肩部各 3 自由度,肘部各 1 自由度,腰部 6 自由度,膝部各 1 自由度,足首部各 2 自由度の計 23 自由度を有している.肩関節にはサイバネティックショルダ [14],股関 節にはダブルスフェリカルジョイント [15],膝関節にはバックラッシュクラッチ [13] という 3 つの特徴的機構を有している.それぞれの機構の特徴については次節で述 べる. ヒューマノイドのハードウェアシステム構成を Fig.2.2 に示す.制御用 PC,電源 系 (バッテリ,DC/DC コンバータ) を背部に搭載し,モータドライバは腹部,背部, 腕部,脚部の各所に分散配置されている.制御用 PC には PISA 用バックプレーン を用いており,PISA CPU ボード (CPU PentiumIII 866MHz) が PISA バス,Ritech Interface Board(A/D コンバータ,D/A コンバータ,カウンタ),Force Moment セン サ用ボード,シリアル通信用 RS485 ボード,画像処理用ボード IP5000,無線 LAN カードが PCI バスでそれぞれ接続されている.電源に関しては内部に搭載したバッ テリまたは外部電源で駆動することができる.また,モータドライバは首の 3 自由 度用に Titech Intelligent Driver(以下 TID,10A 対応版),肘の 2 自由度用に Titech Driver Ver2,その他のモータには TID(20A 対応版) を用いる.全ての TID は PC と シリアル接続されておりシリアル通信で制御モードの設定,制御パラメータの設定 などを行うことができ,モータドライバ上での局所フィードバック制御が可能であ る.センサ系は体幹に 3 軸加速度センサ,3 軸ジャイロセンサ,手先・足先にそれぞ 第 2 章 制御対象ヒューマノイド 11 Fig. 2.1: Overview of the humanoid れ 3 軸加速度センサ,足底上部・下腕部に 6 軸力センサが設置されている.また,視 覚センサとして頭部にモノクロプログレッシブカメラ SONY XC55 を 2 台,カラー 第 2 章 制御対象ヒューマノイド $W X ( 8 "#%# R$A R#%%# #W$"$VX ( YW "$#%& 9 J @:$:: ; 12 TU( A VC P . 5QR#%& P . 5QR#%& . $& #S, . G"# & IHF%JJ ?KK LNM % E H = 2? O L 101 H = : D 1 /1 \ @V[ \ = 2[ = 2[ F . + !"$#%& ')( %*+$,% -#""# & .0/ 1 14/ . 65+7 23 %* 2$3 %* 2$3 %* '4 3?@ "# & . A,B %C 7( %* 8 % 2 7! 1 9 2: .<; 7! 1 9= : .<; D4E %C >, >, >, "#% ,% E Z$KV[ Fig. 2.2: Hardware system of the humanoid カメラ SONY XC999 を 1 台搭載し,白黒立体視とカラー処理が可能である. 2.2 2.2.1 特徴的な機構 サイバネティックショルダ サイバネティックショルダは閉リンク機構をもつ 3 自由度機構で, 1. 可動範囲が大きいこと 2. 回転中心を一定としない人間らしい動きを実現すること 3. 可動範囲内に特異点をもたないこと 4. パッシブコンプライアンスを有すること が特徴である.ここで実装されたサイバネティックショルダの外観を Fig.2.3 に示す. 左側が正面図,右側が背面図である. 第 2 章 制御対象ヒューマノイド 13 Fig. 2.3: The mechanical design of cybernetic shoulder 2.2.2 ダブルスフェリカルジョイント 従来のヒューマノイドの股関節は,Fig.2.4 左図に示すように左右それぞれの足に 3 自由度の球面ジョイントとして実装されてきた.これは人間の股関節と同様の自由 Fig. 2.4: DOF arrangement of hip joint 度配置であるが,人間はこの他に腰関節に 3 自由度をもち,さらに背骨にいくつも の自由度を有している.従来のヒューマノイドの多くは,アクチュエータ数の制約 から腰関節を有しないため,上体を左右に傾ける,または鉛直軸まわりに回転させ るためには Fig.2.5 に示すように膝や足首を協調して動かす必要があった.そこで, 第 2 章 制御対象ヒューマノイド 14 Fig. 2.5: Bending motion of the upper half body with normal hip joint アクチュエータ数を増加させることなく上記の問題を解決するために,篠原らによ り「ダブルスフェリカルジョイント」[15] が開発された.ダブルスフェリカルジョイ ントを Fig.2.6 に示す.左側が大腿部を含む 3D-CAD の図面であり,右側がヒューマ ノイドに股関節として実装された実物の写真である.ダブルスフェリカルジョイン トの自由度配置は Fig.2.4 右図のように左右の球面ジョイントの回転中心を一致させ たものとなっており,これによって Fig.2.7 に示すように膝や足首を曲げることなく, 上体を左右に傾ける,鉛直軸まわりに回転させる等の動作が可能となる. 2.2.3 バックラッシュクラッチ 環境のダイナミクスとの親和性を生かした歩行を実現するためには,環境から受 ける反力に従い,受動的に脚動作が決定されるような要素が必要不可欠である.その ためにはフリーな状態とトルクを発生する状態とを切替えられる駆動系が必要とさ れる.そこで,後藤らにより膝関節のフリー状態と高トルク発生状態とを切替えら れる「バックラッシュクラッチ」と呼ばれる機構が開発された [13].バックラッシュ クラッチの機構図を Fig.2.8 に示す.この機構はリンク A(大腿部),リンク B(下腿部) と回転機構 a,b から構成されている.a は A に固定されたアクチュエータによって A に対して回転し,B と b は固定されている.駆動力を伝達する際には,Fig.2.9 の 第 2 章 制御対象ヒューマノイド 15 Fig. 2.6: The mechanical design of double spherical hip joint Fig. 2.7: Bending motion of the upper half body with double sphericalhip joint ように a と b のギャップ d を 0 とし,矢印の方向に対してトルクを伝達する.この機 構では駆動力の伝達は一方向であり,回転角を制御するようなサーボ機構には適さ 第 2 章 制御対象ヒューマノイド 16 θ φ Fig. 2.8: The structure of backlush clutch Fig. 2.9: Power transmition by backlush clutch ない.しかし,ヒューマノイドの膝関節のようにトルクの発生方向が短時間に激し く変化しないような駆動系においては有効に機能する.フリー状態を実現するため には,Fig.2.10 に示すように,ギャップ d をリンク B の動きにあわせてある一定量 d0 に保つように a の回転角を制御する.実際に設計され,膝関節に実装されたバッ クラッシュクラッチの断面図を Fig.2.11 に示す.モータの駆動力はタイミングベルト によって減速器に伝達され,減速器の出力軸にバックラッシュクラッチの a 部が接続 される.減速器にはハーモニックギアを用いている.モータの回転角はモータに取 り付けられたエンコーダで,下腿部の回転角は側面に取り付けられたエンコーダで 第 2 章 制御対象ヒューマノイド 17 Fig. 2.10: Free state of backlush clutch ! "#$%! "&$ + ! , ' ( ! "#)$*! "&$ Fig. 2.11: The cross section of knee joint それぞれ検出する. 第 2 章 制御対象ヒューマノイド 2.3 18 ヒューマノイドのソフトウェアシステム構成 本節では,制御対象ヒューマノイドのソフトウェアシステム構成について解説す る.ソフトウェアシステム全体の構成図を Fig.2.12 に示す.ヒューマノイドの制御に 56- - FG )A9-9@ 849D E 3 56- -879 : 4 ) @ : @C : @ :9 )9@ 01 2 3 4 ) ! " # $&' % !)( ;&- 5<-=> 4 ?B=>C@ 56- ?- 3 4 ) 5<- - 0 4 * ""+ ' ! ( ,- " . / ! ' !)( Fig. 2.12: Software system of the humanoid は実時間処理が不可欠であるため OS には RT Linux を採用した.RT Linux は Linux を利用してハードリアルタイム処理を行なうために機能拡張したものでありリアル タイムスケジューラとタスク管理を提供する.RT Linux を用いたシステムは,リア ルタイムプロセスを実行するカーネル領域のモジュール群とそれ以外の処理を行う ユーザ領域のモジュール群に分けられる. 本システムでは,センサから送られてくるデータはデバイスドライバを介して カーネル領域の各モジュールに受け渡される.各モジュールはセンサ情報から最終 的に各関節の目標角度を生成し,モータドライバに受け渡す.各モジュールの処理 結果はカーネル領域とユーザ領域の共有メモリに書き込まれる.ユーザ領域には共 第 2 章 制御対象ヒューマノイド 19 有メモリの監視を行い,データログをとる Monitor が存在する.カーネル領域の各 モジュールの機能は次の通りである. Motor Servo Thread 関節角目標値を共有メモリ Ref Data から受 け取り,全関節のモータを制御した後,現在 角度を共有メモリ Robot Data に出力する. Gyro Accel Thread ジャイロセンサ・加速度センサの計測データ にフィルタ処理を施した後,データを共有メ モリ Robot Data に出力する. Force Moment Thread 六軸 力 セン サ の 計 測 デ ー タ を 共 有 メ モ リ Robot Data に出力する. Motion Control Thread ヒューマノイドの姿勢安定化制御を行う.Mo- tion Generate Thread の出力する目標関節角 を力学的に安定なものに変更する. Motion Generate Thread ヒューマノイドの動作の目標関節角を出力す る.本研究では姿勢安定化と目標関節角生成 を切り離しては行わないため,Motion Con- trol Thread と一体として扱う. 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 20 第 3 章 環境のダイナミクスとの相互作 用を生かした歩行制御 3.1 歩行制御の概要 従反力性,環境のダイナミクスとの親和性の高い歩行を実現するためには,コン トローラにどのような要素が必要かについて考察する.ここでヒューマノイドにとっ て環境からの入力とは,床面や壁などとの接触によって受ける外力,および重力で あり,それらは力センサやジャイロセンサ等による計測から得られる情報に反映さ れている.バックラッシュクラッチのような駆動機構を備えた関節では,外力や重力 の影響は直接運動に反映され,従外力あるいは従重力運動となる.一方で,フリー 状態を作ることのできない関節を作ることのできる関節と連動させる場合には運動 情報に敏感に反応し,動作を変化させる制御である必要がある. マニピュレータの制御と対比させるとヒューマノイドの歩行制御には,以下のよ うな特徴がある. 1. 6 自由度で構成されることが多いマニピュレータに対し,ヒューマノイドは多 自由度 (ここでは 23 自由度) である. 2. ヒューマノイドは環境に対して固定されたリンクをもたない非駆動自由度をも つため,外力を完全に自由に操作することができず,動作に制約が生じる. 3. ヒューマノイドは接地状態が離散的に変化するため,環境から受ける外力が不 連続に変化する. 4. ヒューマノイドでは運動中に満たすべき幾何的な拘束条件 (両脚が干渉しない, 遊脚が地面と衝突しない等) が存在する. 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 21 ヒューマノイドに対して,一般的なマニピュレータの制御則をそのまま適用するの が困難である理由はひとえに上記のような特徴に依っている.さらに本研究で対象 とするヒューマノイドは膝にバックラッシュクラッチを有するため,下腿部の位置 を制御することが困難である.そのため従来の関節軌道 Pattern 追従型の歩行制御 は適さない.フリー状態を積極的に利用し,従外力・従重力運動により作り出され る身体の動きを積極的に利用した制御である必要がある. 本研究では以下のような手法を提案する. 1. 歩行動作をいくつかの Phase に切り分け,各 Phase において各関節に適切な役 割を与える. 2. フリー状態を作ることができない関節には外力によるバックドライバビリティ を可能な範囲で実現するために,トルクフィードバック制御を施す.通常採用 されることの多いハイゲインフィードバックによる角度制御では,環境の変化 に対して関節の挙動はほとんど変化しないが,トルク制御であれば必要な程度 の応答性を確保した上でゲインを適度に低く設定することで,外力に従って関 節の挙動が変化する.これは従反力性という観点から重要である. 3. 環境から受ける力と拮抗するトルクを外力の計測値から計算によって求め,各 関節に発生させるというフィードフォワード的な制御を加える.これにより, タスク実現のためのフィードバックゲインを低く抑え,かつ環境のダイナミク スに親和的な動作を実現させる. 次節以降で,歩行中の状態の種類と切替え条件,各状態におけるタスクの設定につ いて述べる.なお以下では簡単のため議論を Sagittal 平面内に限定する.Sagittal 平 面とは進行方向を示す軸と鉛直軸を含む平面のことである. 3.2 Phase の種類と Phase 切り替えのトリガ 歩行中の脚の状態は,足裏が地面に接地し体を支えている状態である支持脚と足 裏が地面に接地していない状態である遊脚の 2 つに分けられる.ここではそれらを 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 22 Table 3.1: Body states and trigger of chaging states State figure State number 0 State of left 1 2 Former half of support leg leg State of right Latter half of Former half leg support leg of swing leg Trigger of Waist passes above left leg ankle. changing Left foot hits states the ground. 3 4 Latter half of Former support leg of swing leg Latter half of 5 half Latter half of swing leg Former half of support leg swing leg Right foot hits the ground. Tf ree passes. Tf ree passes. Waist passes above right leg ankle. Left foot hits the ground. さらに前期と後期の 2 つに分ける.すなわち歩行中の各脚は支持脚前期,支持脚後 期,遊脚前期,遊脚後期の計 4 つの Phase のうちいずれかの状態にあるものとする. 次に各 Phase の切り替わるトリガとなる条件について述べる.支持脚前期から支 持脚後期への切り替えトリガは, 「他方の脚の足裏が床反力を受けること」とする.つ まり,両脚接地状態に移行する瞬間である.支持脚後期から遊脚前期への切り替え トリガは, 「腰の進行方向位置が現在支持脚前期である他方の脚の足首関節の進行方 向位置を追い越すこと」とする.遊脚前期から遊脚後期への切り替えトリガは, 「遊 脚前期の状態になってから一定の時間 Tf ree が経過すること」とする.遊脚後期から 支持脚前期への切り替えトリガは, 「自脚の足裏が床反力を受けること」とする. 以上のように Phase の切り替えトリガを設定すると,一方の脚の Phase が支持脚 前期にある間に他方の脚の Phase は,支持脚後期→遊脚前期→遊脚後期と変化する. 左右の脚の Phase の組合せから,全身の状態としては全部で 6 種類存在することと なる.それぞれの状態に対して便宜的に状態番号を付加する.Phase の種類と Phase の切り替えトリガについての内容をまとめて Table.3.1 に示す.1 段目が各状態番号 における姿勢,2 段目が状態番号,3 段目が左脚の Phase,4 段目が右脚の Phase,5・ 6 段目が状態変化のトリガを表す. 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 3.3 3.3.1 23 各 Phase における各関節の制御 関節角・関節トルクの定義 本節では,歩行が Sagittal 平面に拘束されているものとして簡略化して考察を進 める.各 Phase において各関節のトルクをどのように決定するかについて述べる.3.1 節で述べたように,各関節のトルクは,タスクを実現するためのトルクと環境から 受ける外力と拮抗するためにフィードフォワード的に与えるトルクの 2 つからなる. 以下では前者を τ task ,後者を τ env と表記することとする.すなわち実際に関節が発 生するトルク τ は, τ = τ task + τ env (3.1) となる.ここで,以下で用いる各関節角の測り方を Fig.3.1 に示す.θpitch は体幹の鉛直 "!#$! %&('*)+) , -.0/132 Fig. 3.1: Angle of each joint 軸からの傾きを表す角度で,図中に示す方向に正の向きをとる.θhip−p ,θknee ,θankle はそれぞれ股関節ピッチ軸,膝関節,足首関節ピッチ軸の回転角度である.θhip−p お よび θknee は上体,大腿,下腿部が伸展した時にとる角度を原点とする.θankle は下 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 24 腿部と足部が直角をなすときを原点とする.回転の正方向は図中に示す通りとする. なお,Sagittal 平面は床面に固定された絶対座標系では,進行方向に x 軸,鉛直軸に z 軸をとるものとする. 3.3.2 各関節に設定する役割 人の歩行を解析した文献 [1] によれば,脚の各関節で発生しているトルクは,歩 行中における状態の変化(支持脚前期→支持脚後期→遊脚期→支持脚前期…という 流れで変化する)に応じて特徴的な変化を見せることが示されている.支持脚期の 各関節には, 股関節 上体を鉛直に保つ役割 膝関節 体重を支える役割と床との衝突によるショックを吸収する役割 足首関節 体を前方に進める駆動源としての役割 といった役割分担があるとも記されている.この役割分担を参考にして,本研究で は各状態における各関節のトルクを以下のように決定することを提案する. 股関節ピッチ軸 股関節ピッチ軸の支持脚前期・支持脚後期における役割は, 「腰の進行方向速度に あわせた角度で,上体を前に傾けた状態を保持すること」と定める.これを PD 制 d ,比例ゲインを 御によって実現する.鉛直軸から測った上体の目標傾斜角度を θpitch p1 d1 とすれば,この役割を実現するために発生させるトル Khip−p ,微分ゲインを Khip−p task は, ク τhip−p p1 d1 d task θ̇pitch ) + Khip−p = Khip−p (θpitch − θpitch τhip−p (3.2) 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 25 0 0 d となる.ここで,vwaist を腰の進行方向速度,θpitch ,vwaist を定数とし,θpitch を次の ように定める. Ã d θpitch = 0 θpitch vwaist exp − 0 vwaist ! (3.3) これは,重心の進行方向速度があまり大きくない場合には上体を前側に傾けるよう d を決めていることに に,ある程度加速してきたら上体がほぼ鉛直になるように θpitch なる.この関係を表すグラフを Fig.3.2 に示す. Fig. 3.2: Relationship between waist velocity and body gradient 股関節ピッチ軸の遊脚前期・遊脚後期における役割は, 「定められた目標角度まで d をそのまま 大腿部を振り上げること」である.ただし,振り上げ目標角度を θhip−p 股関節に与えた場合,上体が前方に傾いている場合には大腿部の振り上げが小さく d を股関節に与える. なってしまう.そこで,鉛直軸から測った振り上げ目標角度 θpitch d は以下のように定める. θpitch d d − θpitch = θhip−p θpitch (3.4) p2 d2 とし,状態の変化と共に, ここで比例ゲインを Khip−p , 微分ゲインを Khip−p p2 d2 d task θ̇hip−p ) − Khip−p = −Khip−p (θhip−p − θpitch τhip−p (3.5) 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 26 となるステップ状の入力に対して PD 制御を行った場合,PD のゲインが大きければ 非常に大きなトルクを発生させることになり,オーバーシュートを起こす.また,PD のゲインが小さければオーバーシュートは防げるが,応答が遅くなり,かつ大腿部 を指定した角度で保持することが困難となる.これは制御則の不連続な切り替えに d に対して次のような 3 次の より生じる問題である.そこで,ステップ状の入力 θpitch フィルタ p3 θd (s + p)3 pitch f il θpitch = (3.6) f il を施し,入力を滑らかにすることを考える.θpitch はフィルタを施した後の目標値,p は応答の速さを決定するパラメータである.このフィルタを施した入力に対して PD 制御で追従させることで,オーバーシュートや大幅な応答の遅れのない大腿部の振 り上げが実現できる. なお,伝達関数は離散的な入出力に対しては用いることができないため,シミュ レーション環境内や実機に実装する場合には,上で述べたフィルタを離散的に表現 したデジタルフィルタに置き換える必要がある.そのためにシフトオペレータ q を 導入する.シフトオペレータ q は離散的に与えられた数値列の要素に作用して,時 間方向にインクリメントする演算子であり次式により定義される. qθ[k] = θ[k + 1] (k = 0, 1, 2, · · · , n) (3.7) ここで,θ[k] は連続値をとる変数 θ の時刻 k における値である.連続値変数 θ の微分 は,離散値変数 θ[k] を用いて θ[k] − θ[k − 1] T θ̇ = sθ ' (3.8) と差分近似で表される.式 (3.7),(3.8) から, sθ ' 1 − q −1 θ[k] T (3.9) となり,ラプラス演算子 s はシフトオペレータ q を用いて s' 1 − q −1 T (3.10) 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 27 と近似される.式 (3.6),(3.10) より,希望のデジタルフィルタは, f il θpitch [k] = (T p)3 d θpitch [k] −1 3 (1 − q + T p) (3.11) と表現される.上式を整理して, f il θpitch [k] = 1 θf il [k − 3] (1 + T p)3 pitch 3 − θf il [k − 2] (1 + T p)2 pitch 3 f il + θpitch [k − 1] 1 + Tp (T p)3 d + θ (1 + T p)3 pitch (3.12) f il f il d となる.つまり,各時刻における θpitch の値は過去の θpitch の値と現在の θpitch の値に f il よって決定される.このように生成された θpitch に対し, p2 f il task d2 τhip−p = −Khip−p (θhip−p − θpitch ) − Khip−p θ̇hip−p (3.13) という PD 制御を行う. 膝関節 支持脚前期,支持脚後期に膝関節に与える役割は, 「常に一定角度曲げた状態を保 つこと」である.これにより運動の特異点である膝が伸びきった状態を防ぎ,着地 p1 d1 の際の衝撃を膝関節で吸収できる.比例ゲインを Kknee ,微分ゲインを Kknee ,目標 task d は, とすると,役割を実現するためのトルク τknee 角度を θknee knee d knee task θ̇knee ) − Kd1 (θknee − θknee = −Kp1 τknee (3.14) となる. 遊脚前期における膝の役割は, 「フリー状態を保つこと」である.前述のようにこ れは膝にバックラッシュクラッチもつことで初めて実現できる.式で書けば, task =0 τknee (3.15) 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 28 である. d 遊脚後期における膝の役割は, 「支持脚期の目標角度 θknee に近づくように動くこ と」である.この役割を加えることで,膝が伸び切った状態や曲がりすぎた状態で支 持脚に移行することを防ぐ.この役割を実現するために,股関節の場合と同様にフィ f il p2 ルタを施した目標軌道 θknee に追従するよう PD 制御を行う.比例ゲインを Kknee ,微 d2 分ゲインを Kknee とすると, p2 f il d2 task = −Kknee (θknee − θknee ) − Kknee θ̇knee τknee (3.16) となる. 足首関節ピッチ軸 支持脚前期の足首関節ピッチ軸の役割は, 「足首角度を,腰の進行方向速度で決ま る指定した角度に保つこと」である.支持脚前期の足首関節は制動力として作用する ため,歩き出し等の歩行速度が小さい状態において制動力が小さくなるように,足 p1 d 首関節ピッチ軸の目標角度 θankle を変化させる.比例ゲインを Kankle ,微分ゲインを d1 Kankle とすると PD 制御を用いて, p1 task d d1 τankle = −Kankle (θankle − θankle ) − Kankle θ̇ankle (3.17) d d 0 0 となる.θankle は θpitch と同様に,θankle ,vankle を定数として, Ã d θankle = 0 θankle vwaist exp − 0 vankle ! (3.18) とする.これにより歩行速度が小さい状態では足首を曲げることで駆動力の補助と し,歩行速度が大きくなると共に足首を直角に近い角度で保ち,速度に制動をかける. 支持脚後期の足首関節ピッチ軸の役割は, 「床面を蹴ることで推進力を発生させる p d d とし,比例ゲインを Kkick ,微分ゲインを Kkick こと」である.目標蹴り角度を θkick とした PD 制御で実現する.式で書けば, p d d task θ̇ankle ) − Kkick = −Kkick (θankle − θkick τankle (3.19) 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 29 d となる.θkick は足首を伸ばす方向 (つまり回転正方向) に設定する. 遊脚前期・後期の足首関節ピッチ軸の役割は, 「足裏を床面と平行に保つこと」で ある.これは遊脚が床面と衝突する危険を最小限に留めるためである.床面と足裏 が平行であるためには,鉛直軸と上体がなす角,及び各関節角度間に, θankle = −θpitch − θhip−p − θknee (3.20) p2 d2 という関係が成立すればよい.よって,比例ゲインを Kankle ,微分ゲインを Kankle と し次のように PD 制御を行う. p2 task d2 τankle = −Kankle {θankle − (−θpitch − θhip−p − θknee )} − Kankle θ̇ankle (3.21) 各 Phase において各関節に与える役割をまとめた表を Table.3.2 に示す. Table 3.2: Tasks for each joint State figure State number 0 1 State of left 2 Former half of support leg leg State of right Latter half of Former half leg support leg of swing leg Trigger of Waist passes above left leg ankle. changing Left foot hits states the ground. 3 4 Latter half of Former support leg of swing leg Latter half of 5 half Latter half of swing leg Former half of support leg swing leg Right foot hits the ground. Tf ree passes. Tf ree passes. Waist passes above right leg ankle. Left foot hits the ground. Task for left Keep the body vertical. Swing thigh to the reference angle. hip joint Task for left Keep knee joint at the reference angle. Free knee joint Move crus to the reference angle. Task for left Keep the foot vertical to the crus. Kick Swing thigh to the reference angle. ankle joint Task for Keep the right hip body verti- joint Keep the body vertical. cal. Task for right knee joint Keep Task for right ankle knee Free Move joint at the to reference ferrence angle. joint Swing thigh to the reference angle. Kick the crus Keep knee joint at the reference angle. re- angle. Swing thigh to the reference angle. Keep the foot vertical to the crus. 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 3.3.3 30 環境から受ける外力に拮抗するトルク 前節では各状態において各関節に与えられる役割について述べた.しかしこれら の役割を実現するためのフィードバックゲインを大きく設定すると,従反力性や環 境のダイナミクスに対する親和性が損なわれてしまう.そこで,本研究では環境か ら受ける外力に静的につりあうトルク τ env を補助的に発生させることで,与えられ た役割を実現するためのフィードバックゲインを小さく抑え,かつ外力に敏感な制 御を実現する.本節では具体的な τ env の決め方について述べる. 今,支持脚期にある脚を考える.足裏に作用する床反力は床反力中心点に集中し て作用していると考えて良い.進行方向を x 軸正方向,鉛直上向きを z 軸正方向と定 める.床面からの力のベクトルを F ,F の x 方向成分を Fx ,z 方向成分を Fz とし, 腰の x,z 座標を xhip−p ,zhip−p ,膝の x,z 座標を xknee ,zknee ,床反力中心点の x 座 標を xCOP とする.この様子を Fig.3.3 に示す. "$# % &')()* ! Fig. 3.3: Torque created by extra force このとき,F が股関節のまわりに発生するモーメント Mhip−p は, Mhip−p = −Fz (xCOP − xhip−p ) − Fx zhip−p (3.22) 第 3 章 環境のダイナミクスとの相互作用を生かした歩行制御 31 となる.同様に,F が膝関節のまわりに発生するモーメント Mknee は, Mknee = −Fz (xCOP − xknee ) − Fx zknee (3.23) となる.よって,もし股関節と膝関節が τhip−p = −Mhip−p (3.24) τknee = −Mknee (3.25) となるトルクを発生するならば,少なくとも静的には各関節とも床反力により発生 するモーメントにつりあう.これを補助的に利用することで PD のゲインを小さく 押さえることが可能となり,歩行に柔軟性が生まれることが予想される. 以上のような考察から,支持脚前期・支持脚後期における各関節の τ env を次のよ うに定める. env τhip−p = Fz (xCOP − xhip−p ) + Fx zhip−p env τknee = Fz (xCOP − xknee ) + Fx zknee (3.26) (3.27) 第 4 章 動力学シミュレーションによる制御則の検証 32 第 4 章 動力学シミュレーションによる 制御則の検証 4.1 シミュレーション環境 本研究ではシミュレーション環境として OpenHRP2[16] [17][18] を用いる.OpenHRP2 は、 独立行政法人産業技術総合研究所、東京大学,財団法人製造科学技術センター によって開発されたヒューマノイドロボティクスのための総合ソフトウェア開発環 境であり,動力学シミュレータ V-HRP,基本動作ライブラリ HRP-C 等から構成さ れている.OpenHRP2 を使用することで,実機を用いること無く,制御則を仮想環 境内で開発・検証することが可能となる. V-HRP は 4 つのサーバと 1 つのクライアント (スケジューラ) で構成される.サー バには動力学計算を行う Dynamics サーバ,制御則を実行する Controller サーバ,干 渉チェックを行う CollisionCheker サーバ,モデルの形状及び動力学パラメータ読み 込みを行う ModelParser サーバが存在し,クライアントはそれらのうちの Dynamics サーバと Controller サーバを操作することにより,シミュレーション全体の管理を 行う.また, シミュレーションの状況をリアルタイムで表示する GUI も備えられてお り,実行状況を視覚的に確認することが可能である. OpenHRP2 内で用いられるロボットモデルの定義は,3 次元物体を記述するため の言語 VRML2.0(Virtual Reality Modeling Language) で行われる.OpenHRP2 で は,VRML97 の Working Group の 1 つである Humanoid Animation WG(H-Anim) による表現を参照・拡張してモデル表現に用いている.今回のシミュレーションに用 いたヒューマノイドの H-Anim モデルは Chevant により作成されたものである [19]. ヒューマノイドの H-Anim モデルを Fig.4.1 に示す. 第 4 章 動力学シミュレーションによる制御則の検証 33 Fig. 4.1: H-Anim model of the humanoid robot 4.2 シミュレーション OpenHRP2 を用いて Sagittal 平面に拘束した状態での順動力学シミュレーション を行い,股関節ピッチ軸,膝関節,足首関節ピッチ軸の動作と実現される歩行を検 証した.Sagittal 平面とは進行方向を示す軸と鉛直軸を含む平面である. OpenHRP2 の仮想リンクの機能を利用し,絶対座標系に対してヒューマノイドの 腰のリンクに固定された座標系に, • y 軸方向並進拘束 • x 軸周り回転拘束 • z 軸周り回転拘束 の 3 つの拘束条件を付加する.ただし,進行方向を x 軸正方向,鉛直上向きを z 軸 正方向とする.y 軸はそれらと右手系をなす向きに定める.これにより,ヒューマ ノイドが Sagittal 平面に拘束されたこととなる.制御を行う上でチューニングすべ きパラメータは,Table.4.1 に示される 24 個である.シミュレーションを繰り返し行 第 4 章 動力学シミュレーションによる制御則の検証 34 Table 4.1: Controll parameters Parameter Value Parameter Value Parameter Value p1 Khip−p 200 p1 Kknee 50 0 θankle π − 16 d1 Khip−p 20 d1 Kknee 10 0 vankle 1 0 θhip−p π 32 d θknee π 18 p Kkick 85 0 vhip−p 10 p2 Kknee 50 d Kkick 0 d θhip−p − π6 d2 Kknee 10 d θkick π 12 p2 Khip−p 100 pknee 100 p2 Kankle 50 d2 Khip−p 10 p1 Kankle 53 d2 Kankle 10 phip−p 50 d1 Kankle 10 Tf ree 0.2 い,これら 24 個のパラメータを試行錯誤的に調整した.最終的な各パラメータの値 を Table.4.1 に示す.なお,制御サンプリングタイムは 2[ms],動力学シミュレーショ ンに用いる数値積分は Runge Kutta 法,床面との干渉チェックは完全非弾性衝突モ デルを用いた. これらの値を用いてシミュレーションを行った.以下ではシミュレーションの結 果を述べ,結果に対する考察を行う.まず歩き出しの様子を Fig.4.2 に示す.提案し た制御則においては,歩き出しについての特別な処理は不要である.現在の状態を 検知し,各関節は与えられた役割に従って動作を始める.Fig.4.2 の 1 番目の写真が 歩き出しの姿勢であり,これは第 3 章で定義した状態番号 2 に相当する.右足が接地 すると同時に状態番号が 3 に遷移し,支持脚後期に入った左脚足首関節ピッチ軸が 蹴り力を発生し,それを推進力として歩行が開始される.また,支持脚前期の股関 節ピッチ軸と足首関節ピッチ軸,および支持脚後期の股関節ピッチ軸の役割に,重 心の進行方向速度によって目標角度を変化させる要素が含まれていることが歩き出 しを容易にしている. 2 歩目以降はほぼ一定の速度で歩行動作が継続された.歩行動作 1 周期の様子を Fig.4.3 に示す.ここで歩行動作 1 周期とは,第 3 章で定義した状態番号が一巡する 第 4 章 動力学シミュレーションによる制御則の検証 35 Fig. 4.2: The beginning of walking motion 期間を表す.歩行動作 1 周期の間の状態番号の切り替わりを Fig.4.4 に示す.ヒュー マノイドの状態の変化に伴い,状態番号の切り替えが適切に行われていることが示 されている.重心の進行方向速度を Fig.4.5,鉛直軸に対する体幹の傾きを Fig.4.6 に 示す. 重心速度は支持脚後期の足首による加速と,支持脚前期の足首による減速を 繰り返して 0.4[m/s] 前後で安定化されている.上体は鉛直軸まわりで 0.1[rad] ほど前 後しながらほぼ直立して歩行していることがわかる.これは支持脚前期および支持 脚後期の股関節ピッチ軸の役割が達成されていることを表す. 各脚の足裏が受けている床反力を Fig.4.7,各関節が発生するトルクを Fig.4.8,各 関節の回転角を Fig.4.9 に示す. 遊脚前期の大腿部の滑らかな振り上げ,遊脚期の 膝関節のフリー,遊脚後期の膝の目標角度への振り出しが実現できていることがわ かる. 実機において各関節が発生できる最大トルクは,股関節ピッチ軸と膝関節が 164.4[Nm], 足首関節が 75.8[Nm] である.グラフを見ると,いずれの関節の発生しているトルク 第 4 章 動力学シミュレーションによる制御則の検証 36 Fig. 4.3: Walking motion in one cycle of state number も概ねこの範囲に収まっており,実機でも十分に実現可能な制御であることがわか る.股関節と膝関節の発生トルクが非常に振動的な挙動を示しているのは,Fig.4.7 に示されているように OpenHRP2 から得られる床反力の値が振動的であるために, 各関節の τ task が大きく振動しているためと考えられる.膝関節について見ると,激 しく振動している部分を除けばトルクの発生方向は常に負の回転方向である.つま り,膝は常に重力を支える方向にのみトルクを発生させていることになる.これは トルクの発生方向の頻繁な切り替えが困難なバックラッシュクラッチにとって有利 な特性であると言える. シミュレーションの結果,10 歩以上の連続した歩行に成功したが,その後,前方 第 4 章 動力学シミュレーションによる制御則の検証 37 Fig. 4.4: State transition !#" $&% Fig. 4.5: COG Velocity にバランスを崩し転倒した.転倒の様子を Fig.4.10 に示す.遊脚から支持脚に切り 替わる際に腰よりも後方で床面と接した場合,重心が大きく加速され次の脚を前方 第 4 章 動力学シミュレーションによる制御則の検証 38 !" Fig. 4.6: Body gradient from vertical line に振り出すことができず転倒する.これ以外にもパラメータの組み合わせによって 様々な転倒のパターンがあり,歩行を完全に安定化するには至らなかった.バラン スが崩れた際に体勢を立て直すように働く要素を関節の役割に付加する必要がある と考えられる. 第 4 章 動力学シミュレーションによる制御則の検証 !#" $%!&(')+*-,.!#/+0%12* 0+,'3* 0+465 7809.'" /:)+*;,.!#/+0%12* 0:,2'3* 0+465 7809.'" /:)+*;,.!#/+0%1 #" 4!<('=* 0+465 !#" $%!&(')+*-,.!#/+0%1 #" 4!<>'3* 0+465 39 Fig. 4.7: Ground reaction force acting on the each sole 第 4 章 動力学シミュレーションによる制御則の検証 "!#$ "%'&)( * 40 3 ( %4&-#. /%'&)( * "!#$ "%'+-,)" 3 ( %4&-#. "%5+6,)" 3 ( %4&6#$ "%702,-+8 "!#. /%102,-+) Fig. 4.8: Torque of each joint 第 4 章 動力学シミュレーションによる制御則の検証 "!#$ "%'&)( * "!#$ "%'+-,)" 3 ( %4&-#. /%'+-,5/ "!#. /%102,-+) 3 ( %4&-#. "%102,-+) 3 ( %4&-#. "%'&)( * 41 Fig. 4.9: Angle of each joint 第 4 章 動力学シミュレーションによる制御則の検証 Fig. 4.10: Falling down motion 42 第 5 章 実機での歩行を実現するための考察と実験 43 第 5 章 実機での歩行を実現するための 考察と実験 5.1 PD 制御を用いた擬似トルク制御 本論文で提案する制御手法はトルク制御を中心としたものであるが,実機に実装 する際はノイズの影響のために電流量の正確なフィードバックを得ることが難しい. そのため,本研究で制御対象とするヒューマノイドも,角度を指令値とした制御の み可能となっている.そこで,角度制御を用いて擬似的にトルク制御を実現するこ とが必要となる.これを本論文中では擬似トルク制御と呼ぶこととする.以下にそ の手法について述べる. Fig. 5.1: Block diagram of feedback controller Fig.5.1 に示すような,PD コントローラを用いて目標値追従制御を行うフィード バック系を考える.コントローラが,制御対象であるモータに出力する電流を I と するとき,モータの出力するトルク τ は τ = Mc I (5.1) と表される.Mc はモータ定数である.また,コントローラの比例ゲインを Kp ,微 第 5 章 実機での歩行を実現するための考察と実験 44 分ゲインを Kd とすれば,コントローラの出力する電流 I は I = −Kp (θ − θd ) − Kd θ̇ (5.2) と表される.式 (5.1),(5.2) より, τ = −Mc Kp (θ − θd ) − Mc Kd θ̇ (5.3) が導かれる.式 (5.3) を目標追従角度 θd について解くと, θd = Kd τ +θ+ θ̇ Mc Kp Kp (5.4) となる.今,発生させたいトルク τ と現在の角度 θ,角速度 θ̇ が既知であるとすれば これらを式 (5.4) の右辺に代入することによって決定される θd を目標角度として設 定すれば,モータは希望の τ を発生することになる. 実際にロボットを制御する際は,モータと減速機を介してつながっているリンク のトルクや回転角度を制御したいわけであるから,減速比を考慮して上式を変形す る必要がある. 減速比を 1:Z ,モータ軸の回転角度・発生しているトルクをそれぞれ θm ,τm ,リ ンクの回転角度・発生しているトルクをそれぞれ θl ,τl とすれば,以下のような関係 が成立する. 1 θm Z (5.5) τl = Zτm (5.6) θl = θm ,τm に関して d θm = Kd ˙ τm + θm + θm M c Kp Kp (5.7) が成立している時,式 (5.5),(5.6) より θld = τl Kd + θl + θ̇l 2 Mc Kp Z Kp (5.8) となる.これより θl ,τl の間の関係が示された.実機制御においては上式を用いて, 制御則によって定まる目標トルクとエンコーダから得られる関節の回転角度から関 節の目標追従角度を決定する. 第 5 章 実機での歩行を実現するための考察と実験 5.2 45 2 自由度制御系を用いたバックラッシュクラッチの制 御アルゴリズム バックラッシュクラッチを制御するためには,フリー状態からトルク出力状態へ の移行の際にバックラッシュクラッチのパーツ a,b 間の急激な衝突を緩和する必要 があり,そのために 2 自由度制御系を用いた制御が有効であることが後藤らによって 示された [13].偏差の情報だけを用いて制御対象への入力を定めるフィードバック制 御を 1 自由度制御系というのに対し,フィードフォワードとフィードバックの両方を 含む制御系を 2 自由度制御系という.2 自由度制御系を Fig.5.2 に示す.K がフィー Fig. 5.2: Two DOF controller ドバックコントローラ,G,P −1 G はフィードフォワードコントローラである.この 系の伝達関数を計算すると目標値 r1 から θ までの伝達関数は K と関係なく, θ = Gr1 (5.9) と求まる. ここで,実機に使用するモータドライバは内部に PD コントローラを有し,外部 からは角度指令値を受け取る仕様となっている.そのため,Fig.5.2 の点線内部はモー タドライバの内部であり,図中の P −1 Gr1 や r2 のように,指令値以外の制御信号を 途中から割り込ませることができない.そこで,Fig.5.2 のブロック線図を Fig.5.3 の 第 5 章 実機での歩行を実現するための考察と実験 46 様に書き換える.このようにすれば点線内は通常のフィードバック系であり,2 自由 Fig. 5.3: Modified two DOF controller 度制御系の実機への実装が可能である. 制御するモードに応じて入力 r1 ,r2 をそれぞれ以下の様に定める.ただし, • φ:下腿部の回転角度 • φd :下腿部の目標角度 • d0 :バックラッシュクラッチのパーツ間のギャップ角度の初期設定値 である. フリーな状態を維持させる場合 r1 = 0 (5.10) r2 = φ (5.11) トルク出力状態であり,φd > φ の場合 パーツ間のギャップ d が 0 になるまで, r1 = +d0 (5.12) r2 = φ (5.13) パーツ間のギャップ d が 0 になった後, r1 = +d0 (5.14) r2 = φd (5.15) 第 5 章 実機での歩行を実現するための考察と実験 トルク出力状態であり,φd < φ の場合 47 パーツ間のギャップ d が 0 になるまで, r1 = −d0 (5.16) r2 = φ (5.17) パーツ間のギャップ d が 0 になったと後, 5.3 r1 = −d0 (5.18) r2 = φd (5.19) 実機実験 前節で提案したバックラッシュクラッチの 2 自由度制御アルゴリズムを実機を用い た実験で検証する.実験は以下の手順で行った.ヒューマノイドは吊下げられた状態 とし,股関節ピッチ軸,膝関節ともに 0[deg] を初期状態とする.まず,2 秒間膝関節 をフリー状態にし,次に膝関節のフリー状態を保ったままで股関節ピッチ軸を 3 秒間 で-70[deg] まで動かす.5 秒間その状態を保った後,膝を下腿部目標角度 φd = 110[deg] でトルク出力状態にする.10 秒間その状態を保ち,再びフリー状態を 10 秒間続ける. 今度は φd = 40[deg] として,先程とは逆向きのトルク出力状態にし,その状態を 10 秒間保つ.最後に再びフリー状態にし,5 秒経過した後に股関節ピッチ軸を 0[deg] に 戻す.この様子を Fig.5.4 に示す.実験の結果を Fig.5.5 に示す.Knee joint angle が バックラッシュクラッチの駆動部の回転角度,Leg angle が下腿部の回転角度である. フリー状態,現在の下腿部角度 φ より大きな目標角度 φd へのトルク出力状態,φ よ りも小さな φd へのトルク出力状態がすべて実現されていることがわかる.フリー状 態の部分を拡大したグラフ Fig.5.6 に示す.下腿部の動きに対してバックラッシュク ラッチの駆動部がほとんど遅れなく追従できている様子がわかる. バックラッシュクラッチの駆動部の回転角度と下腿部の回転角度の差を表したグ ラフを Fig.5.7 に示す.バックラッシュクラッチの両側に均等にギャップ d0 = 5[deg] がある状態を基準状態とする.フリー状態からトルク出力状態に変化する際に,緩や かにパーツが当たっていることがわかる.これは 2 自由度制御系が正常に機能しバッ クラッシュクラッチのパーツ a,b 間の衝突を緩和していることを示している. 第 5 章 実機での歩行を実現するための考察と実験 48 ! "" # $ %% Fig. 5.4: Two DOF control experiment # " ! $%'&()*+-,'/.+-01 32&54+-'762 +8 93+:;62 +8<.+-01 =>'0.+01 Fig. 5.5: Result of two DOF control experiment 第 5 章 実機での歩行を実現するための考察と実験 49 ')(+*, ( -/.(10 2 340.(0 2 & %$ #! "# ! Fig. 5.6: Free motion created by backlush clutch ! Fig. 5.7: Gap of backlush clutch 第 6 章 結論 50 第 6 章 結論 6.1 結論 本研究ではバックラッシュクラッチをもつヒューマノイドを対象とし,従反力性・ 環境のダイナミクスに対する親和性の高い歩行制御則を提案した.提案した制御則 の有効性を示すため,OpenHRP2 を用いた順動力学シミュレーションを行い,10 歩 以上の歩行動作を実現した.さらに,2 自由度制御系を用いてバックラッシュクラッ チの制御実験を行い,フリー状態とトルク出力状態を 2 自由度制御系を用いて円滑 に切り替えられることを示した. 6.2 今後の課題と展望 本研究で提案した制御則は Sagittal 平面に限定されたものであり,実世界でヒュー マノイドを制御するためには 3 次元的な制御に拡張しなければならない.そこで本 研究で提案した手法と同様のアプローチを用いて,腰関節ロール軸と足首関節ロー ル軸に対して状態ごとにタスクを与えることで,3 次元的な歩行を実現しようと試み た.シミュレーションを繰り返し,様々なタスクの与え方やパラメータのチューニ ングを試みたが,現段階で OpenHRP2 環境内で 3 次元的歩行を実現することができ ていない.3 次元シミュレーションでヒューマノイドが転倒する様子を Fig.6.1 に示 す.歩き出し直後にヨー軸まわりに回転しながら転倒していることがわかる.この ことから,3 次元的歩行を実現するために各関節に与えるタスクは,Sagittal 平面と Lateral 平面を切り分けて考えるのではなく,3 次元的に記述されたものである必要 があると考えられる.今後は 3 次元的な歩行制御のためのタスク設定法について考 第 6 章 結論 51 Fig. 6.1: Falling down motion in 3D simulation 察と実験を進めるとともに,より環境と親和的な動作を実現する制御則の構築を目 指す. 近い将来更にヒューマノイドが進化するためには,環境と親和的な機構が必要と なる.本研究では,そのひとつとして膝のフリーな動きに注目し,外力がロボットの 力学系へ大きな影響を与えるシステムに対してその特性を生かした制御則を示して いる.この他に,柔らかな機構の開発とその制御,ロボットが環境と閉リンク構造 をもつような姿勢に対する自然な動きなど,環境とのインタラクションとロボット の身体性を考慮した運動の生成・制御がロボットの身体的進化,知能の進化へとつ ながるものと考えられる. 謝辞 52 謝辞 本研究は東京大学大学院情報理工学系研究科知能機械情報学専攻の中村仁彦教授の ご指導のもとに行われたものです.中村仁彦教授,岡田昌史講師には親切丁寧なご 指導と的確な助言をいただいたのみならず,日常生活における様々な面で大変お世 話になり,心より感謝いたします. また,小林肇助手,宮本康雄助手,斉藤正光技術官,秘書の郷司綾美氏には我々 に素晴らしい研究環境を準備するべく多面にわたり尽力していただき,感謝の念に 堪えません. 稲邑哲也氏には研究室のコンピュータ環境の整備の他,研究に関する様々な助言 をいただきお世話になりました. 博士課程の杉原知道氏は,研究について何も知らなかった私に,歩行研究の歴史 的経緯から主要な概念,論文の読み方に至るまで懇切丁寧に御指導下さり,感謝の 念に堪えません. 修士課程の篠原徹也氏,樋原直之氏,Penasse Vincent 氏,Pongsak Lekskulchai 氏, 研究生の Guillaume Chevant 氏には,ヒューマノイドの研究・開発を通して様々 な事を学ばせていただきました.特に篠原氏には私の稚拙な質問にも毎回非常に親 切に答えていただき,大変有難く思っております.樋原氏にはバックラッシュクラッ チの実機実験に御協力いただきました.有難うございました. 謝辞 53 加えて博士課程の多谷浩嗣氏,栗原一貴氏,修士課程の鈴木一郎氏,千代田真吾 氏,門根秀樹氏,藤田悠介氏,中村大介氏,学部 4 年の水川秀氏,織田村元樹氏,梶 山博史氏,合志剣之助氏,谷江博昭氏,村井昭彦氏,安永能子氏,山本裕介氏には, 研究に関する様々なアドバイスを頂いたのみならず,研究室での充実した楽しい生 活を共に過ごすことができ,大変感謝しております. なお,本研究は科学技術事業団 戦略的基礎研究推進事業 (CREST) 領域「脳を創 る」「自律行動単位の力学的結合による脳型情報処理機械の開発」(代表:中村仁彦) の御支援を受けたことをここに記し,深く感謝いたします. 本論文の完成は,研究室の皆様の親身になったアドバイスと暖かい協力なくして はあり得なかかったものと思っております.最後に改めて皆様に感謝の意を表し,本 論文の謝辞とさせていただきます. 54 参考文献 参考文献 [1] 江原義弘・山本澄子. ボディダイナミクス入門・歩き始めと歩行の分析. 医歯薬 出版株式会社, 2002. [2] T.McGeer. Passive dynamic walking. Int. J. of Robotics Research, Vol. 9, No. 2, pp. 62–82, 1990. [3] T.McGeer. Passive walking with knees. In Proc.of IEEE Int. Conference on Robotics and Automation, pp. 1640–1645, 1990. [4] A.Goswami, B.Thuilot, and B.Espiau. A study of the passive gait of a compasslike biped robot-symmetry and chaos. Int. J. of Robotics Research, Vol. 17, No. 12, pp. 1282–1301, 1998. [5] M.Garcia, A.Chatterjee, A.Ruina, and M.Coleman. The simplest walking model:stability, complexity, and scaling. Proc. ASME J. of Biomechanical Engineeering, Vol. 120, No. 2, pp. 281–288, 1998. [6] 大須賀, 藤谷, 小野. 8 脚歩行ロボット Quartet の受動的歩行. 日本機械学会ロボ ティクスメカトロニクス講演会 1998,CD-ROM, pp. 2CIII–6, 1998. [7] 大須賀, 桐原. 受動的歩行機械 Quartet II の歩行解析と歩行実験. 日本ロボット 学会誌, Vol. 18, No. 5, pp. 737–742, 2000. [8] 杉本, 大須賀. 遅延フィードバック制御に基づく準受動歩行の安定化について. 第 7 回ロボティクスシンポジア予稿集, pp. 89–94, 2002. [9] 広瀬, 竹中, 五味, 小沢. 人間型ロボット. 日本ロボット学会誌, Vol. 15, No. 7, pp. 983–985, 1997. 参考文献 55 [10] 西脇, 北川, 杉原, 加賀美, 稲葉, 井上. ZMP 導出の線形・非干渉化、離散化によ るヒューマノイドの動力学安定軌道の高速生成. 第 18 回日本ロボット学会学術 講演会予稿集, pp. 721–722, 2000. [11] 梶田, 金広, 横井, 比留川. モーメンタム・コントロール:運動量と角運動量に基 づくヒューマノイドロボットの全身運動生成. 日本ロボット学会創立 20 周年記 念学術講演会予稿集, p. 1D15, 2002. [12] Y.Nakamura, M.Okada, T.Shinohara, T.Gotoh, and S.Ban. Mechanical challenges for further humanoid robot evolution. In Proc. The 3rd IARP International Workshop on Humanoid and Human Friendly Robotics, 2002. [13] 後藤達哉. 歩行ロボットの従反力運動を可能にする駆動機構. 東京大学工学部卒 業論文, 2001. [14] 岡田, 中村. サイバネティック・ショルダの開発−人間の肩の動きを模倣した 3 自由度機構−. 日本ロボット学会誌, Vol. 18, pp. 74–82, 2000. [15] 篠原, 伴, 後藤, 稲邑, 岡田, 中村. 二重球面ジョイントを用いた股関節機構を持 つヒュ−マノイドの開発. 日本ロボット学会創立 20 周年学術講演会予稿集, p. 1C16, 2002. [16] 山根, 中村. 力学フィルタによるヒューマノイドの運動生成− HRP 仮想プラット フォームへの適用. 第 17 回日本ロボット学会学術講演会予稿集, pp. 1213–1214, 1999. [17] Kanehiro.F. et al. Virtual humanoid robot platform to develop controllers of real humanoidrobots without porting. In Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2001. [18] Hirukawa.H. et al. OpenHRP: Open Architecture Humanoid Robot Platform. In Proc. International Soundex Reunion Registry, 2001. 参考文献 56 [19] G.Chevant and Y.Nakamura. Making h-anim model for kinematic and dynamic simulation of humanoid robot. In Proc. SICE System Integration Division Annual Conference, 2002. 57 以上 通し番号 1 - 57 完 卒業論文 平成 15 年 2 月 7 日 提出 10242 神崎 秀