【連載 第1回】電子振り子時計をつくる

まずは“逆さ振り子”で予備実験してみた

サーボ重りによる振り子エネルギー制御 ― 電子振り子時計の技術構想(ブランコの立ちこぎからの着想) を書きました。

次に「電子振り子時計をつくる──。」 に進みたいと思ったのですが、いきなり設計に入る前に、どうしても確認しておきたいことがあります。

それは、

「実際の振り子の角度と角速度は、どんな波形になるのか?」

という、とても基本的な部分です。

机上の計算では分かっているつもりでも、 実機でどう見えるのかは別問題。 電子振り子時計の心臓部となる “上死点検出” を確実に行うためにも、 まずはここを押さえておきたい。

そこで今回は、倒立振り子の本体を使って、 簡単な予備実験 をしてみました。

■ 倒立振り子を“逆さまにして吊るす”というシンプルな方法

使ったのは、倒立振子の機体(注1)。 これを 逆さまにして、ひもで吊るす だけで、 そのまま「振り子」として使えます。

注1:以下に示す記事で紹介している倒立振子のハード及びスケッチをそのまま使用しました。【倒立振子】P制御だけで立ち上がってしまった話 (偶然の物語) 

モータ制御は無効化し、 スケッチは 角度(pitch)と角速度(pitch_rate_ave)を100Hzで記録するロガー として動かしました。

BNO055 の Euler角とジャイロ角速度を使い、 以下の2つをログに残します。

  • 角度(error)

  • 角速度(pitch_rate_ave)

これだけで、振り子の動きはほぼ完全に把握できます。

■ ログを見てみると…上死点がくっきり見える

実験で得られた波形とログはこちらです。

波形


ログ

ログの動作を解説します

角度(error)   角速度(pitch_rate_ave)
-28.63         -0.11   ← 左端の上死点
-28.94         10.08   ← 反転して右へ戻り始める

角速度が ほぼゼロ になり、 角度が 極大 になっている瞬間── これがまさに 上死点 です。

さらに振り子が中央を通過すると、角速度は最大になります。

-10.81        -63.60   ← 中央付近(速度最大)

そして反対側の上死点では、再び角速度がゼロに近づきます。

-22.50        -0.96    ← 右端の上死点

教科書通りの波形が、実機でもきれいに現れました。

■ BNO055 の遅延や角速度平均化も“見える”

今回のログには、 BNO055 の 40〜60ms の遅延 や、 角速度を 5サンプル平均化 している影響も含まれています。

そのため、角速度ゼロのタイミングが 理論値よりわずかに遅れています。

■ 予備実験で得られた手応え

今回の予備実験で、

  • 上死点が明確に検出できること

  • 角度と角速度の関係が実機でもきれいに取れること

が確認できました。

但し、今回実施した実験は簡単なものなので、ふり幅をどうするか、振り子本体の長さをどうするか、サーボで上下させる重りの位置はどうするか、などの詳細検討はこれからとなります。

しかしながら、今回の予備実験は、電子振り子時計の設計に進むには十分な結果となりました。

■ 次回:いよいよ電子振り子時計の設計へ

次回からは、いよいよ本題である電子振り子時計のハード及びスケッチの設計に入っていきます。


いいなと思ったら応援しよう!