シリアルサーボモータ SCS0009 で倒立振子 屈伸動作

Home > 電子工作 > シリアルサーボモータ SCS0009 で倒立振子 屈伸動作
すき 2
うんこ 0

前回はサーボモータSCS0009を用いて倒立振子を作製し、倒立動作を確認しました。

シリアルサーボモータ SCS0009 で倒立振子製作

 

ここではそもそも倒立振子を製作しようと思ったきっかけである屈伸運動の検討をいたします。

 

 

屈伸するための機構

以下の動画によると機体を上下するために、足を屈伸のように曲げています。
しかもそれを片足1個のサーボモータで実現しているようです。

コチラを拝見しての第一印象は
”サーボ1個だと屈伸のたびに機体は前後に傾くんじゃね?” でした。

ただ動画をよく見るとそれほど足(ホイールの回転軸)はブレずに上下できている様子。。
ちょっと理解できないので試してみます。

Fusion360で上の倒立振子の足を模擬してみました。

大腿部を平行ではなく下部を狭めてリンク機構にすると、比較的リニアに上下できるんですね!!

このリニア具合は足の長さや付け根の位置で変わるんだろけど、数理的に導くのは難しそうなのでとりあえず作ってみました。

全く水平方向にブレがないとはいきませんでしたが、なかなかいい感じにできました。
屈伸用のサーボにもSCS0009を使用しています。
とりあえずコレで倒立振子を作ってみましょう。

参考

 

屈伸機能付き倒立振子の製作

先ほどの屈伸足を両足に展開して倒立振子を製作します。

 
できた。

無事に倒立はできました。但し適当に作った足のため足先位置が前に出てしまい さらに足機構自体の重さもあいまって重心が後ろ気味になってしまい、前傾で倒立するように目標角度を指定しています。

流石に足を上下させての安定倒立は難しいです。重心動き放題。。

 

足の数理設計

屈伸による上下での重心移動はフィードバック制御でもなんとか克服できそうな気もしますが、、、
実際に作って手にとってイジっているうちに、この機構を数理的に解いて最適化できるような自信がついてきました。

ということで余弦定理を駆使して解いてみた。

サーボの回転軸を原点として、もう一方の大腿足の付け根を(x, y)、そして足先(ホイールの回転軸)座標 を(X, Y)としました。

サーボの回転角θを動かしたときに足先の水平位置 Xのブレが小さくなるように(x, y) 位置や足の長さを決めればいいのです。

 

ちなみに適当につくった現状の寸法を導出した計算式でみてみると

サーボ角度θ  10°~65°の間で足先の水平位置Xはほぼブレがありません。
しかし位置が8mm付近で重心が更に後ろに行ってしまっているので、この位置をサーボの回転軸より下げたいです (つまりX<0)。

 
この計算表を用いて数理的に足の機構を設計いたしましょう。X<0でリニアに上下する寸法を目指します。

大腿足の付け根の位置(x, y)と長さL2を変えてみました。
サーボ角度θ  20°~60°の間で足先の水平位置Xが0 ~ -1 mmの範囲に収まっています。

この結果で作り直しました。

 

倒立動作。

改修により重心が改善し、かつ上下による重心シフトも小さいため倒立が維持できております。

 

動作改善

機体の構成が決定できたので、これより倒立動作の向上を目指します。

サーボ制御信号

ホイールサーボと屈伸用サーボのUARTを分けて更にATOMS3のcoreも分けてみました。

屈伸用サーボはUARTの送信線直結で受信ができていないのでちょっと動作がぎこちないですが、これでホイールと足を完全に独立で動作させることができます。

回転数フィードバック

SCS0009は本来 可動範囲が 0~300°のサーボモータであるため、連続回転モードで回転位置や回転スピードが300°以上で不正確な値が返ってきます。。

 

それでも回転速度を倒立制御においてフィードバックさせたいので、センシング値ではなく直前の指定回転速度をフィードバックしてみました。

直前の指定回転速度を目標倒立角度にフィードバックしてみたところ安定性が向上しました。

本当は実回転速度をセンシングしてフィードバックしたいけど とりあえずこの方向性で煮詰めてみようと思います。

 

おわりに

ここではサーボモータSCS0009を用いて屈伸動作する倒立振子の検討を実施しました。

方向性が見えてきましたので今後は精度向上に努めたいと思います。
現状の残件は以下かなと

  • UART-1Wire回路作成
    現状は公式基板使用しているけど自作して小型化。ホイール用と屈伸用の2個必要
  • バッテリ搭載
    電源線がジャマ!搭載の際には重心に気を配る
  • 安定倒立制御を目指す。
    屈伸による安定パラメータへの追従方法を探る

それではまた

次の記事

シリアルサーボモータ SCS0009 で倒立振子 完結編

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください