寒いです、朝が。
サーボモータの指令についてCOS云々の話をしましたが、世間は3次式や5次式で補完するのが簡単らしいので、ぜひうちのサークルでも流行らせようと思います。
まずもってなんでそんなことするのか?
それは単に"ふにゃー"っと動かすのが楽しい。とかだけではなく、急激な動きによる、過電流を避けたり、いろいろといいわけです。←よくわかってない。
例えば3次関数では、、、。
f(x) = a*x^3 + b*x^2 + c*x + d
という感じで定数がabcdと4つ決定できます。
それと、時間です。
すると
f(x) = a*x^3 + b*x^2 + c*x + d
f(0) = x0
f'(0) = v0
f(t) = xt
f'(t) = vt
という感じで、始まりの一と速度、終わりの位置と速度、を与えてそれを満足する3次関数を求めることができます。
今の時刻を0として、終わりの時刻をtとおけば簡単です。
これを使って、角度を今の値と未来の値を決めて、計算すればいいですね。
はじめと終わりの速度を0と置いておけば、”すー”っと動きだして”すー”っと止まります。
ここは使ってるサーボの制御にもよりますが。KRS-4034はデッドバンドが大きいのか、あんまり意味がありませんでした。ちょっと慣性が大きいものがついてたのでマジだめでした。
他にも、複数の点を通る軌道とかでも、いいですよね。
はじめの速度は0でも終わり(中継値)の速度はある程度大きくしておけばいいですよね。
ちなみに5次関数でやれば、加速度値とかも決められますね。
でも、モーション作る時にあんまりパラメータが多いと収集つかなくなりますから・・・好みで。
後は、SHとかRXなら浮動小数点でも計算すればいいと思います。
7125も62Tでもできたんで、思いのほか重い計算にはなりませんね。
別に整数圏内でやるのも32bitもあれば、何にも考えずにできると思いますけど。
この位の事なら、もうモーションがそれなりにできている後輩たちはすぐに搭載して、明日それで動かしてくれるハズ!i believe you.
そして、今日は普通に寝るつもりで帰ってきたのにもうこんな時間。
明日の朝も寒いんだろうなぁ・・・靴下もう無いもんな。
そろそろ、毛布だけじゃなくてふとんもほしいなぁ。
それでは、良い大学祭を。
[0回]
PR