【連載 第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サンプル平均化 している影響も含まれています。
そのため、角速度ゼロのタイミングが 理論値よりわずかに遅れています。
■ 予備実験で得られた手応え
今回の予備実験で、
上死点が明確に検出できること
角度と角速度の関係が実機でもきれいに取れること
が確認できました。
但し、今回実施した実験は簡単なものなので、ふり幅をどうするか、振り子本体の長さをどうするか、サーボで上下させる重りの位置はどうするか、などの詳細検討はこれからとなります。
しかしながら、今回の予備実験は、電子振り子時計の設計に進むには十分な結果となりました。
■ 次回:いよいよ電子振り子時計の設計へ
次回からは、いよいよ本題である電子振り子時計のハード及びスケッチの設計に入っていきます。
