わがロボットの譜

千葉工業大学、総合工学研究会所属の者です。とりあえず、二足歩行ロボット作成日誌です。

スポンサーサイト

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

PageTop

歩行作成システム復旧


なんというか…

歩行パターンはいくつかのシートに分けて保存してあるのですが…


変えようと思いコピペする際に…

横方向のバーがずれているのに気付かずに…

1列ずれて貼り付けてたからとか…


これ直すのに、バックアップのファイルまで見る有様。

グラフみてあれ?と思ったのがきっかけ。


グラフは大事ですね。

横スクロールバーには気をつけます。いや、本当。

後は調整だけかー

去年は2日に1回徹夜でしたが、今年はそんなこともないんだろうな。


いいような、さみしいような。

スポンサーサイト

PageTop

非力・・・


攻撃モーションを最近作ろうかと思いましたが、

どうにもうまくいきません。
両足裏を平行に保ったまま、移動させることがうまくできない…?


計算の値が間違っていることはないと思うのですが…

・初期位置
・トルクが負けている


この2つぐらいしか思い当たらないし、どうにもできない…
おそらく一番上のピッチ軸のずれがロール軸を大きく開くと足の姿勢全体に顕著に影響するんだと・・・


思うしかないんでしょうか。


体の傾けはキャンセルしているはずなのですが・・・


対策を考える、
・ロール軸を開いていって経過を見る
・実際の現在角度がいくつなのかを見てみる

このぐらいしかないのだろうか…?

とりあえず、明日やってみてですね。



PageTop

徒競争は何秒ぐらいで決勝…?


12月に開催された大会からして、20秒台であればいける?

とりあえず、土曜日に広い場所が取れたので走らせてみる。


用意できたるのは90*90のリング4枚なので縦にならべて3.6m。


シームレスの効きが余りよろしくないのと、サーボやバッテリの状況などに大分左右されてしまうけれども、
走れれば20~25秒ぐらい?


歩行の軌跡はまた変りましたが、なんだかもう良くわかりません。

どうしていい結果が得られているのか、何なのか…?


ただ、逆運動学解いて走らせる前よりは、脚先の軌跡のグラフ化のおかげもあって、

あてずっぽうなところは大分減りました。


これで今までのモーションの方が速かったらモチベーションにかなり関わるのでとりあえず良かったです。


そして今日は横歩き、こっちも相変わらず良く分からない…


そしてまたギヤ欠け、思うにほとんどのサーボの初段はかなりダメージがきていて、ひどくなると、他の段にも影響が・・・?



維持費が馬鹿にならない、何か対策を考えなければ・・・

PageTop

前歩き


いい感じ?になってきた?

といった感じです。
今まで歩きだしモーションが存在していたのですが、なくても問題ないことに気づく。
これで、変数領域がだいぶ確保されました。

先輩の助言で両足が接地している時間を増やしてみました。
歩行中の時間の1/5の時間は両足が接地しています。
もっと増やした方が??

前後方向のパラメータは変えてないので、少し擦ってしまっていますが…
擦らないように前方向に動かすのは計算の面で気力と能力が足りそうにないので保留で…


最近写真や図がなくてさみしいので足先の軌跡でも
足先の軌跡
ホームポジションを原点として、青が横から見た足先の軌跡、赤が前から見た足先の軌跡、緑が上から見た足先の軌跡、、
のはずです。多分。

脚の上げ下げの時にふにゃっとしているのは何かの名残です。直線の方がいいかは試していませんが、
曲線にするにしろ足音がうるさいので下げる方は変えないといけない気がします。

1コマ0.5msで、歩行周期は0.4sです。


とりあえず、土曜日にシームレスを実装してみて、様子を見ようと思います。

PageTop

オフセットと逆運動学

とりあえず一日歩行モーション。歩いた感じはそれなりになってきたのだけれど、歩きだしが難しい。
脚の一番上の軸を傾けて重心を移動したいのですが、単純に動かすだけではロール軸も動いてしまうので脚が開いたり、閉じたり同時にしてしまいます。

で、まぁ計算するしかないので、計算。今日は部室でオフセットありの話が出たので、
自分は直交軸ですが計算してみました。

前方向をxの正、横に開いていく方向をy、高さ方向をzとします。
膝を曲げる角度をmage、開く角度をhiraki、振り出す角度をzengoとしています。

ピッチ間のリンク長をlink、膝のオフセットをhiza_offset、ピッチ軸とロール軸のオフセットをrole_offset
とします。

あとの条件は適当に、フツーな感じでときます。

で、式は直交軸の時は

x = sin(zengo)*(hiza_offset + 2*link*cos(mage))
y = sin(hiraki)*cos(zengo)*(hiza_offset + 2*link*cos(mage))
z = cos(hiraki)*cos(zengo)*(hiza_offset + 2*link*cos(mage))

こんな感じですが、


オフセットありの場合は

x = sin(zengo)*(hiza_offset + 2*link*cos(mage))
y = sin(hiraki)*(2*role_offset + hiza_offset*cos(zengo) + 2*link*cos(mage)*cos(zengo))
z = cos(hiraki)*(2*role_offset + hiza_offset*cos(zengo) + 2*link*cos(mage)*cos(zengo))

プログラム的には目標値(tx, ty, tz)与えられたとき

hiraki = atan(ty/tz)
tmp = (ty^2 + tz^2)^(1/2) - 2*role_offset
//cos(zengo)(hiza_offset + 2*link*cos(mage))
//(ty^2 + tz^2)^(1/2) = 2*role_offset + hiza_offset*cos(zengo) + 2*link*cos(mage)*cos(zengo)
              = 2*role_offset + cos(zengo)(hiza_offset + 2*link*cos(mage))
zengo = atan(x/tmp)
mage = acos((x^2 + tmp^2 - hiza_offset) / ( 2*link))


こんな感じがベスト?
意外と計算量少なそうです。

こっちの方がいいよとか、間違ってるだろとか突っ込んでください。


あ、式はリンクパラメータから出してmatlabで計算しました。
あとはもう、質問あればどうぞってことで。




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