忍者ブログ
たまにロボットを考えるブログ・・・。
くねくね移動がうまくいかないので、
上手くいくくねくね軌道を幾何学的に決定します。


偉い人から
「蛇行軌道にすべての車輪がのっかっていて、接線の方向を向いているべき」
とのお話を頂きましたので、それを検討します。


①sin関数にのっかる
②車輪が軌道にのるように角度を決定する
③もうひとつの車輪も同様に角度を決定する

だと思いましたが!
良く考えると・・・
平面的には2自由度、3節あります。
1個目の車輪は、のせられます。
2個目は?

1個目の車輪の位置と姿勢、例えば、
x=0,y=0,θ=45°
とかだとします。

すると、1個目の関節の位置は
x=cos45,y=sin45
です。

そこから1つめのモータの角度を変えて、
2個目の車輪を軌道に乗るように決めます。

すると、角度は接線方向になりません?!

困りました。
モータ1個では、位置&角度を決めるのは無理で、どちらか一方しか決められません。

困りました。

でもまあ、仕方ないので、接線は諦めることにしまして
各関節が、軌道に乗るような角度を決めていこうと思います。




と思いましたが、これも意外と大変。

3節あるヘビロボットの1節目のリンクだけを考えます。
このリンクの両端点がsin関数上に乗ってくれればいいのですが・・・
どうやって載せるんでしょう?
リンクを直線だと思って、x軸からの傾きを決める他ありません。

これはつまり、中心がsin関数上の円とsin関数の交点を求める問題です。

が、そのとき方については僕は収束計算以外の方法を知りません。
例えば
y=0,x=0からx=x,y=sinx
までの距離は、平方根の中に三角関数の2乗があるというこれまた難しい。

で、
その距離=リンクの長さ
という方程式を解く必要があるわけですが、
sqrt ( x*x + sinx*sinx ) = リンク長さ

うんむずかしい
。。。


プログラムを書く感じです。

・sin関数1周期を移動量、振幅を移動量にして、m単位でロボットの実現できるサイズで用意します。それを軌道関数(x)にします。
・xを入れます。→軌道関数(x)がもとまります。
・始点を決めます。
・始点からxを少し増やして、軌道関数を求めます。で距離を求めます。
・・・上を距離がいい具合になるまでやります。そのときのxをx1として覚えます。
・x1からすこしずつxを増やし、またちょうどいい距離までやってそれをx2とします。
・同様の方法でx3を決定します。
・・・これで、一番最初のヘビの形が決まりました。
・これを軌道関数1周期分計算します。
・データテーブルとして保存します。
・mbedに入れます。

これで動くんじゃね。









拍手[0回]

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:
Adel
年齢:
27
性別:
男性
誕生日:
1989/09/17
職業:
会社員
趣味:
モチベーション探し
自己紹介:
ロボットつくるのが夢
ブログ内検索
カウンター
君は何人目かな
カレンダー
05 2017/06 07
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
最新コメント
[06/22 fake serpenti watch bvlgari]
[06/22 where to buy hermes clic clac bracelet faux]
[04/09 blacklab]
[02/16 オイルマン]
[09/11 M.A(CIT)]
最新トラックバック
コガネモチ
忍者AdMax
アクセス解析
忍者ブログ [PR]