動作状態の膝サーボの最短動作時間計算(途中経過・・・)
予備校も残すところあと2週間。リベンジまであと2ヶ月のrealteckです。
膝の動作時間を求める式を作っていますが、式自体は9月には出来上がっていたのに、ブログにグラフとかどうやってアップしようかと悩むこと3ヶ月。結局断念。したがって今回はすごく見にくいです。
注:以下の計算はおそらくまだ未完成です。
あるいは計算ミスの可能性もあります。
決して鵜呑みにしないで下さい。by realteck
さて、タイトルどおりに膝サーボの動作時間を計算ということで、今回は
・重量(特に胴体と上半身)が決まっている
・足のピッチ軸間が決まっている
・膝サーボのスペックが決まっている
ロボットを用いて考えていきます。
なほ、考察の上では足がシリアルリンク式ですが、自分は平行リンク(→過去記事)においてもこの式を用いて考えています。
また今回は理論上の最短時間で、サーボへのプログラム指示を最速にしてもこの値にはならないかもしれません。
(というのもサーボのPID制御ではこれと同じ数値になるかわからない。すごく近くなると思うが。
とはいえ今回の考察ではサーボスペックを鵜呑みにした計算で、内部モータそのものから出した数値ではないので、この際PID制御との誤差など見なかったことに。)
※あくまでも使用は自己責任で。ご指摘のある方は気軽にコメントを下さい。
いつも通りの断りを入れたところで、まずは使う文字を決めてしまいます。
具体的数値は最後の検証で使いたいので、文字だけを決めます。
※定数という言葉がややこしいですが、具体的に最初に決まっているという意味で使ってます。
・必要時間 t (単位:sec/β°-α°←下に定義あり)※最終的に求めるもの。動作にかかる時間です。
・必要トルク T (単位:kg・cm)※直立時に必要になるトルク
・対応スピード S (単位:sec/60°)※必要トルクから算出。関係式後述。
・最大トルク(定数、単位:kg・cm) Tmax
・最大スピード(定数、単位:sec/60°) Smax※最大速度は時間的には最小なので、単位例:sec/60°なら最小値
・回転数 r (単位:rpm)※今回の式では媒介変数
・最大回転数 rmax (定数)
・膝から上のピッチ軸間 L (定数、単位:cm)
・大腿ピッチより上の重量 M (定数、単位:kg)
・膝の動作角度 α°→β° (定数、単位:°、またα<β)
※足を真横から見て、動作範囲側(膝から見て大腿ピッチの動く側)に膝から水平に伸ばした線を0°とする。
言わずもがな数値はすべて0以上です。膝角度は0°~90°です。
rとTの関係は、グラフでrT平面を考えると1次の傾き負の直線になることから、以下のように表せます。
r=-(rmax/Tmax)T+rmax=*1*log*2 -⑥
なので④に⑥を代入して
となります。
これをexcelに入れて計算したらこんな感じでした。
黄色が計算結果です。180°屈伸からの立ち上がり時間を計算してみましたが、なんか数値が現実的。
0.6秒で立ち上がるのは「まあ、あるよな」って気がしてます。
でもしつこいようですが、間違ってる気がするのでご指摘お待ちしています。
えーと、次回の更新ではTexで書いて見やすくしようと思います。
あと具体的数値でのグラフも入れられたらなと。
文字でグラフを作るのはいいソフトが無かったです(トホホ・・・
これ以上は夜更かしできないのでまた次回です。今日はこの辺で。
Sは60°動くのに何秒かかるかなので、1/Sにすると1秒で何回60°を回るかになります。
これを1分間に何回360°回るか(=何回転するか)、すなわちrの表すものへ変形します。
単位的には、sec/60°→360°/minにしたいわけです。
S(sec/60°)→1/S(60°/sec)→1/6S(360°/sec)→60/6S(360°/min)=10/S(rpm)
よってr=10/S
またrmax=10/Smax-②
余談ですがこの式、いちいちrpmを用いる必要があったのか疑問ですね。媒介変数が同じなら数学的に同値なので、単に逆数との比例式で良かったような気もします。
①、②から
10/S=((Tmax-T)/Tmax)rmax=((Tmax-T)/Tmax)*(10/S) より
S=TmaxSmax/(Tmax-T) -③
さてここまで来ました。ところでt(sec/β°-α°)はS(sec/60°)の相加平均にβ°-α°/60°倍したものなので
t=(β°-α°/60°)*(Sの相加平均) -④
です。
そしてSの相加平均はTのα°→β°へ動く際の必要トルクの範囲でSを積分したものを、Tの範囲で割ったものですので以下の式で表せます。(ST平面で考える)
(Sの相加平均)=∫[MLcosβ°~MLcosα°]SdT/(MLcosα°-MLcosβ°) -⑤
※[]内は積分範囲です。
※0°≦α°<β°≦90°よりcosβ° α°→β°へ動くのに範囲は逆表記なので若干戸惑いました。 MLcosθはこちらの一番上の図とその下の解説を参照下さい。 さて⑤を積分して計算し、Sに数値を代入すると以下の通りになります。 (Sの相加平均)=((TmaxSmax)/ML(cosβ°-α° *2:Tmax-MLcosβ°)/(Tmax-MLcosα° *3:TmaxSmax)/ML(cosβ°-α°