忍者ブログ

明日の設計図

たまにロボットを考えるブログ・・・。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

現在、新しいコメントを受け付けない設定になっています。

4自由度へビのくねくね軌道

ヘビはくねくね動くということで前に進むらしいのです。

なので、くねくね動かす方法を考えます。
くね、と言って右に振り
くね、と言って左に振ればいいのではないでしょうか?

というと、周期的な運動だと考えられるのでsin関数をそのまま入力すればいいのではないか
と考えます。

4自由度2関節のヘビなので、まず片方の関節の1自由度だけを検討します。
例えば、先ほどtheta4の逆関数として
y=f(theta4)を求めたので、
f(theta4) = sin(t)という角度を与えたとします。

ですが、この逆関数はasinなのでsinでは無くなってしまいます。
なので、切り返しが滑らかでは無くなります。
なので
=sin(sin(t))
とかにしてみます。

思惑どおりです。(グラフ上はsinになってしまっていますが)

しかし、このままではだめです。

切り返しが90度であればこのままでもいいのですが、
切り返しが90°出ないとき、もちろんヘビは90度まで曲がっていないようですから、
なので、この結果をそのまま使いません。

このグラフの単位はradですが、
degだと思いなおしたり、クネクネの振幅を命令したいと思ったり、速度0から始めたいと思えば

(この時点で2関節にした時に面倒だなと思い始めるわけですが)

1関節分のくねくねはこれでとりあえず完成です。

2関節目も同様に考えますが、

なにやら、ヘビを見ていると隣り合った関節が、
同時に同じ、あるいは同時に逆ということは無いように思われます。
なので、くねくねには位相のずれを与えるべきです。

例えば、

という感じで、ずらしておきます。
実際は、2本のグラフを書いておいて、縦線を時間軸にそって動かす。
その交点を、その時間の角度として与えます。



これで、くねくね軌道は完成です。

このくねくね軌道は、周期A1、振幅A2、位相のずれA3の3つの変数を持ちます。
実際のところ、yはmaxでd3までしかとれませんので、比として与えられます。

theta3 = arcsin(y/d3)
というところで
Y=y/d3
とします。
Y_1 = sin(%pi*sin([A1]*t)/2 * [A2]/d3)
Y_2 = sin(%pi*sin([A1]*t-[A3])/2 * [A2]/d3)

と与えることにします。




拍手[0回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

プロフィール

HN:
Adel
年齢:
34
性別:
男性
誕生日:
1989/09/17
職業:
会社員
趣味:
モチベーション探し
自己紹介:
ロボットつくるのが夢

ブログ内検索

アクセス解析