スポンサーサイト

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

ODEのシミュレーションの準備など

今週までで静歩行がだいぶできてきたので,これらをテストするためにODEシミュの準備を始める.
ODEも長らく触ってないせいですっかり忘れているので,まずはロボットにものをぶつけるというのをやって感覚を思い出させることにした.これはODEの最も基本になるプログラムだが,乱数で色々な方向,速度でぶつけていると,たまにロボットが吹っ飛んだりする.これはどこか拘束条件がおかしいのだろうか?それともODEの計算精度の問題なのか?

間歇クロールで歩行させた状態で四方八方から10kgの玉を衝突させたもの.足にぶつかるともろに変形して接地点がずれてしまっているが,案外こけないものだ.



こちらはお遊びで巨大な玉を激突させたもの.足をプラプラさせながら吹っ飛ぶ姿がなかなかおもしろい.

今後は地面にいろいろな形状の障害物をランダムに設置して,その上を歩かせることをやっていきたい.その中でクリアできるデコボコの限界高さ,足の踏み外しなんかが起きたときにロボットの挙動がどうなるか等を見ていきたい.
スポンサーサイト

軌道生成の最適化など

今週末は久しぶりにゆっくりとした休日.ココはめちゃくちゃ暑いのでソフトクリームでも食べながらソフト三昧.

間歇クロールの最適軌道生成と歩容切り替えを充実させる.これらは総当たり方式で安定軌道を求めているため,歩かせるたびに毎回計算していたのでは時間がいくらあっても足りない.そこで一定パターンを一度すべて計算しておいて,次からは結果をファイルから参照するプログラムを作った.
たとえば8方向の軌道だと,歩容パターン8種類+4脚の切り替えパターン8×8=64種類をあらかじめ作成しておけば,任意の方向から別の任意の方向への切り替えが計算時間無しでできる.もちろん,のちのちマイコンへ実装するときもこれはとても有効だ.
 このやり方だと方向を増やすと組み合わせの数が爆発的に増えてしまうため,時計と同じ360degを30deg刻みの12分割で行くことにした.これで「**時の方向に進め」といった具合の入力ができる.
ちなみにたった12方向の軌道データでも,すべての組み合わせを作成するのに丸2日の計算時間を要した.1deg刻みなんてやったら,途方もない時間がかかることだろう.もっとも,乗り物であれば1deg刻みでロボットの向きを変えるようなシビアな入力操作は必要ないだろうが・・・


間歇クロールの歩容生成_2

今日は引き続きシミュレータをいじる.
生成した間歇クロールの安定余裕を胴体移動なしの普通のクロール歩容と比較してみる.

間歇クロールでは通常のクロール歩容の欠点である脚切り替え時の不安定な瞬間を,胴体の移動によって安定化することができる.このため,安定余裕の最小値という面で有利だ.

上記のグラフの時の歩容は以下のとおり.(45deg→90deg→180deg各2歩ずつ)
通常のクロール歩容(Duty=0.85)


間歇クロール



脚の切り替えがもう少し工夫できそうなのでそこをやっていきたい.

間歇クロールの軌道生成

今日は間歇クロールの軌道生成をあめーば3rdのものから移植する.
そのついでにアルゴリズムも再検証して,少しでもより安定に歩かせられる軌道生成方法に改良する.
とりあえず安定余裕が最小となる移動方向(45deg近辺)について,できるだけ胴体移動量を増やして最小安定余裕を増やすことを試してみた.
計算機の力にモノを言わせて総当たりでイケてる軌道を探った結果,最小安定余裕の値を24%ほど増加させることができた.


間歇クロールはとにかく速度を犠牲にしても最大の安定性を得ることが最優先.地面に凹凸や傾斜があっても,多少のことではコケないことが重要なのである.

まだまだ作業は続く.

歩行シミュレーション_2

今週末もソフト.
脚配置を変えるための踏み換えなどを実装する.

ODEシミュレーションとPov-RAYによるGIレンダリング.

踏み換えパターンは最も安定余裕が大きくなる踏み換え順と胴体の移動量で行い.4歩で踏み換える.
4歩では脚配置が可動範囲の端にあるような場合に踏み換えできない場合もあるが,クロール歩容のようなパターン歩容ではそういうデッドロックを避ける位置を選べばよいのであまり問題にならない.

あとは間歇クロールの実装をやって静歩行はほぼ終わりだ.

歩行シミュレーション

今日は歩行シミュレータをいじる.
CGの表示などを少しずつ使いやすい形にブラッシュアップしていく.


静歩行で歩かせたときの移動速度や脚の最大加速度などをデータ出力させて調べられるようにした.
また,脚軌道などを以前は2Dのビューに別枠で表示させていたが,すべて3Dビューに統合して2Dで見たい情報は床にOpenGLベースで描画させることにした.


あめーば3rdで高速歩行させると遊脚の復帰時に足が引っかかりやすい問題があったので,脚軌道を変更してその場で足を上げ下ろしできるようにした.
これで多少の凹凸は問題なく歩けるはずだ.

次は歩行パターンの切り替えをやりたいところだ.

Rideの足回りの再設計など

今週はあまり作業がはかどらなかった.
Rideの軌道生成は過去に自分の書いたコードの意味が思い出せない.ソフトは一定以上間を開けるとダメだ.しばらくは静歩行の軌道生成などをやってリハビリをやっていきたい.


 メカ設計のほうもボチボチと再開する.ボールねじの仕様や減速のためのベルトドライブを検討する.ボールねじは鉄の棒なので重量が大きい.できるだけ軸径の細いものをチョイスしたいが,細く長い軸は高速で回すと振れやすいし,組み付け精度が悪いと変形や座屈も起こしやすい.
上下動は衝撃がバンバンかかることを想定して安全率は高めに設定したい.可動範囲を見直して500mm→300mmぐらいにして,その分太いねじ軸を使うことを検討している.太く短い軸の方が衝撃に強いはずだ.
ナットの循環速度限界については,転造ねじでなくて高精度の研削ねじを使えば40%ほど増加できるが,価格が高すぎる.それにμmオーダーの精度はいらないので精密ねじを使うメリットはない.モータの定格が決まっている限り,スピードとパワーの両立には限界がある.悩ましいところだ・・・
プロフィール

もやね

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

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