スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

作戦失敗

今日はいったんこれまでの軌道生成結果を基にDuty=0.5で脚の切り替え時間を無視して歩行させてみた.しかし,大きなミスが発覚した.

生成歩容の例:



ZMP(黄色点)を一歩の中で最も最短距離にある支持対角線上に誘導したため,離散状態になってしまった.(考えてみれば当たり前なのだが気がつかなかった.)また,胴体軌道(赤色点)は接続点で尖っていて全く滑らかでない.このような軌道は実機では追従不可能だろう.

これまで胴体の揺動量ができるだけ少なくなるような安定な一歩をユニット化することをやってきたが,それではダメでやはり前後の脚配置まで考えてちゃんと連続的にZMPが支持脚上を乗り移るようにしいといけない.つまり,一歩前の支持脚と次の一歩の支持脚とのそれぞれの交点間でスムーズなZMP軌道を設定しないといけない.

前後の脚配置も考えるとなると,FIFO型の軌道生成になりサブルーチンが大がかりになる.
今一度準備を整えてからそれに望もうと思う.
スポンサーサイト

まだまだ続く軌道生成

今日も軌道生成の続き.一つ一つ確認しながら少しずつグレードアップさせていく行程が楽しい.

安定なトロット歩容の実現をにらんで,まずは一歩の安定化をやろうとしている.
そのためには支持脚対角線で作られる折れ線上にZMPを誘導するような胴体軌道を生成すればよい.今はとりあえず前後の一歩との接続を無視して,ある任意の方向へのZMP誘導を実現したい.
正面方向へ直進時の軌道生成をやったのが以下.

ここでも前回同様,1質点モデル→多質点モデルへと軌道をリファインしている.前後の誤差の変化は以下の通り.
最適化前:

最適化後:


最適化後は誤差が10mm以内に減ったものの,ZMP軌道は若干振動的になってしまった.
実際のZMP波形に平滑化を入れた方がいいのかもしれない.

まだまだこの作業は続く.

実際のZMPへの軌道補正

今日もZMP誘導軌道の続き.
前回までに
1質点モデルでの理想ZMP→胴体軌道→脚も含めた実際のZMP 
という流れ作業が実現できた.そこで今日はさらに 
(実際のZMP-理想のZMP)→胴体軌道の修正量→修正された実際のZMP→最初に戻って繰り返すというアルゴリズムを使って実際のZMPへ近づける胴体軌道を求めてみた.

上記のルーチンを10回やったbefore,afterが以下の通り.


10回でだいたい±4mmまで理想ZMPへ収束した.収束後の胴体揺動量は初期の1質点モデルに対して最大約30%増加した.計算量はデスクトップPC(2.0GHz×2Core)で約1.35secかかった(軌道2sec,2000pointあたり).これは明らかな力技である.1つの軌道を得るために微分方程式を200回以上も解き直しているため効率が悪い.

まったくエレガントな方法ではないが処理を追跡しやすいのでいったんはこの方法で進めることにした.

理想ZMPと実際のZMPの比較

今日は昨日の続き.
ロボットを動かしたときの胴体1質量モデルと,脚を含めた全ロボットモデルとのZMPの差をみる.胴体のみのモデルと,脚を含めたモデルで同じ軌道をなぞらせZMPの移動を比較してみた.

上記において,胴体重量=100kg 脚一本10kg×4本であり,4脚接地状態で左右に胴体を振った.
脚を反映したモデルでは約23%ZMPの振れ幅が小さくなった.これは脚の動的効果というよりも単に脚の質量分だけロボット全体の重心位置が下がったためである.そこでこのオフセット分を補正してから差を取り,純粋に脚の加速度による影響だけを調べてみると次のようになった.

だいたいZMPのずれにして2mmぐらいであり,元の振幅500mmに対しては0.4%程度しか影響していない.ほとんど無視できる大きさだ.ただしこれは4脚接地運動なので脚もほぼ胴体に追従しているためあまり脚運動の効果が出ていない結果といえる.

明日以降はもう少し実際の歩行に近い条件で検証を続けていきたい.

ZMPから重心軌道を計算

今日もシミュレータに向かう.いったんODEから離れて,ZMPベースの軌道生成をやってみる.
いきなりすべての関節の動きを考慮に入れると話がややこしくなるので,最も簡単なモデルでやってみる.質量は胴体だけにあるとして、脚の質量を無視する.さらに胴体高さも一定と仮定する.ZMPの動きも1自由度に限定して,たとえば下図のようだとする.


上記はDuty=0.5のトロット歩容で支持対角線(赤い矢印の折れ線)上にZMPを誘導したい場合を想定している.これはよくある1自由度倒立振り子の安定化問題だ.(ほうき立てモデル?ヒューマノイドでいう台車ーデーブルモデル?).このモデルは微分方程式が解析的に解けて簡単に求まる.実はすでにえらい人が求めてくれたものが論文として手元にあるのだが,ここでは練習のため自分でプログラムを組み軌道解を数値計算で求めてみることにした.ルンゲクッタ4次法を使い、境界条件を2分法で追い込んでそれなりのオーダー(mmオーダー)まで求めてみた.結果の一例が下記.

グラフ全体で2秒,左右へ1mのZMP移動をした場合.重心の高さは1m.
この歩行周期ではだいたいZMPの半分弱ぐらいまで胴体を振れば安定化できることが分かる.
 今回は微分方程式を数値計算で求めたので,ZMPのパターンはちゃんとした関数じゃなくても時系列データとして自由に設定できる.(もちろん収束する解が得られればの話だが・・)これなら今後いろいろな歩行パターン生成に使えそうだ.

これで1質点モデルでは安定化のための重心軌道が求められるようになった.次は全関節の動きを考慮したモデルへの応用をやっていきたい.

2008年の活動

今日から今年の活動開始.
この辺境のブログを見ていただいている方,まめな更新を心がけますので,今年もお立ち寄りをよろしくお願いします.

さてさて,2008年はどんな年にするか.
 年末に取りかかっていた動力学シミュレータはまだ途中なので,今年も続きをやっていく.ゴールはきれいな四足動歩行をPC上で実現することだ.実機の方も着実に進めていきたい.シミュレータで想定した歩行性能から必要な最大トルク、最大速度などが分かるハズなので,現状考えているメカ構成でいいかどうか再度見直しを行う.そしてある程度仕様的なものが決まったらいよいよ製作に入る.Rideはひとたび材料を買うステージに進むとものすごい出費になるので,できるだけタダのシミュレーション上で設計をやり直して経費を浮かせなければ.
 知ロボは例年6月末開催なのだが,ことしはその時期が仕事の繁忙期に重なるため出場は微妙なところ.でも,アイデアは一応あるので今年出れないとしてもマシンの製作は進めるつもりだ.

1月いっぱい:
シミュレータをいじくる.実機へすぐ移植できるレベルの動歩行パターン生成.
2~3月:
知ロボメカ設計.できればODE上で動かしてデモれるレベルまで.
3から5月,GW~6/F
GWまったく作業ができない想定で知ロボメカ作成.5/E実機が完全に稼働し残すはバグ取りというレベル
6月~8月
知ロボ参加,Rideメカ設計の見直し
8月以降
Ride製作への新テーマがあればそれをやる(ブラシレスのドライバ?ジャイロ等姿勢センシングに関する技術?)

プロフィール

もやね

Author:もやね
長野県在住の会社員(メカニカル・エンジニア).
ロボットは完全な趣味としてやってます.
E-mail:
mo_ya_ne[a]yahoo.co.jp
[a]⇒@

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
FC2カウンター
ブログ内検索
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。