歩行制御カルテ(2006.1.15)
<課題:安定した足踏み運動を行う>
歩行の前哨としての足踏み動作を行う。ある姿勢における、ある調子での足踏み動作を安定に行う。姿勢のパラメータとしては高さ・足幅、調子のパラメータとしては周期がある。
ラムダで左右往復動作、それも足をあげることが出来る程度に支持脚に重心を移せる程の速度での動作をさせると、位相遅れが進むような感じでやがて脱調し、転倒する。
脱調を防ぐために上体から順に動作を始める順送り動作(ウェーブのような感じ)を取り入れたが、まだ完全ではない。
安定させるためには監視と制御が必要である。監視はセンサーによる情報収集が必要。
安定化の手段としては、姿勢や荷重の挙動を観測し、バランス崩壊(転倒)の兆候を事前に察知して重心移動速度と距離を制御することを考える。
監視に使用できるセンサーは
@角速度ジャイロ
A足首関節(前後)の負荷データ
がある。各センサーには以下の問題点がある。
@角速度ジャイロ
絶対姿勢を取得するには角速度を積分する必要がある。だが、ジャイロセンサーの出力は誤差を含んでいるため、積分を行うと誤差を累積する。
現状は静止状態でのオフセット値及び積分データを浮動小数点で管理し、ある程度の精度を得ているが、安定はしていない。長期に観測すると一方向にリニアに増加(減少)していっている場合には誤差が累積していると考えられるが、実際のロボットの挙動も長期に渡って徐々に同期ずれが移行していっている場合もあり、短期間でリアルタイムに判定することは難しい。
A負荷データ
サーボの機能としての負荷データを利用し、足にかかっている荷重を判断する。また、荷重が抜けて、足を上げてもよいかどうかを判定する。
最近の調査の結果、無負荷時の負荷データの値はサーボ毎に異なっており、同じではない。そのため、事前に無負荷時データを測定してオフセット値とする必要がある。
現状は「無負荷時データの測定」をインプリメント。
※サーボデータが部位ベースの方が良いのか、サーボIDベースの方がよいのか迷っているところ、どうもサーボIDベースの方が便利そうなのでその部分を修正する必要があるだろう。
・パラメータデータベース
どちらにしてもあらゆる姿勢において安定した制御をするためには姿勢毎のパラメータが必要。
これをあらかじめ調整して保持しておくことは困難なため、学習にて取得・更新する仕組みが必要となる。
安定性の判断を行うには関与するデータ同士が安定状態にあることを確認し続ける必要があるだろう。包括的に波形形状やタイミングを判断しなければならない上に、リアルタイムに結果をだす必要がある。
現在は、関連する信号同士の関係(タイミング)と信号波形自体を時系列データとして考え、「ズレ」を観測し続けることで判定することを考えている。
リアルな数値のままでよいか、特徴抽出を行った形で比較・判定するか、特徴抽出するならどのような手段があるか、などは検討中で具体的な案はない。
ただ、データベースとしては1方向のデータベース(つまり検索条件を指定し、データを引き出す形)で良いと考えている。
音声認識のように、どのような入力があるのか判らないうえで、どのような入力があったかを判定するのではなく、「これから、このような動作を行う」ということが確定している上で判定するわけだからだ。
床面の状況や、段差の存在も同様で、歩行制御が発見する事項ではない。歩く前に想定されていることである。