このページは現在編集途上です
手っ取り早く感覚的に理解をしたい場合は、下記の参考文献が役に立ちます。
- https://www.cam.ac.uk/research/news/opinion-how-does-a-bike-stay-upright-surprisingly-its-all-in-the-mind
- https://www.50th.jp/blogs/wiki/cg89
- https://www.youtube.com/watch?v=xS_9ml3qS7U
- https://www.bridgestone.co.jp/products/tire/mc/howto/role.html
4 二輪車の制御理論
本章では、大学課程での力学を踏まえた詳細な解説として、2輪車の力学モデルを提示し、状態の数式化、制御則設計、安定性解析、そしてジャイロ効果に関する誤解の解消までを詳述します。
4.1 倒立振子モデルの数学的定式化
倒立振子は、角度 \( \theta \) の小さな動作範囲を考慮した線形近似モデルで表します。
そして、ROBOBIKE(以下車体と表す)について下記の設定(モデル化)を行います。
- 前後方向の軸をロール軸(y軸)、上下方向をヨー軸(z軸)、左右方向の軸をピッチ軸(x軸)とする
- は剛体である
- すべての質量が重心位置に集中する
- 前項に起因して、車体の慣性モーメントは無い
運動方程式は以下のように記述されます:
\[
I \cdot \ddot{\theta} = mgh \cdot \theta + u
\]
ここで、\( I \) は慣性モーメント、\( m \) は質量、\( g \) は重力加速度、\( h \) は重心の高さ、\( u \) は制御入力トルクを表します。
4.2 状態空間モデルの導出
状態変数を \( x = [\theta, \dot{\theta}]^T \) と定義すると、状態空間表現は以下のようになります:
\[
\begin{bmatrix}
\dot{\theta} \\
\ddot{\theta}
\end{bmatrix}
=
\begin{bmatrix}
0 & 1 \\
\frac{mgh}{I} & 0
\end{bmatrix}
\begin{bmatrix}
\theta \\
\dot{\theta}
\end{bmatrix}
+
\begin{bmatrix}
0 \\
\frac{1}{I}
\end{bmatrix}
u
\]
4.3 制御則設計
代表的な制御則として、状態フィードバック制御が挙げられます。制御入力 \( u \) を状態の線形結合として設計します:
\[
u = -Kx = -\begin{bmatrix} K_p & K_d \end{bmatrix}
\begin{bmatrix}
\theta \\
\dot{\theta}
\end{bmatrix}
\]
ここで、\( K_p \) は比例ゲイン、\( K_d \) は微分ゲインです。これにより、倒立振子の安定化を図ります。
また、PI制御の例としては:
\[
u(t) = -K_p \cdot \theta(t) - K_i \int_0^t \theta(\tau) \, d\tau
\]
があり、定常偏差の除去に寄与します。
- 「ジャイロ効果で倒れない」は誤解であることを明言
- 倒立振子モデルの導入(高校物理レベルの記法) [ I \cdot \frac{d^2\theta}{dt^2} = mgh \cdot \theta + u ]
- 制御則の例(状態フィードバック、PI制御など) [ u(t) = -K_p \theta(t) - K_i \int_0^t \theta(\tau) , d\tau ]
- ジャイロスコピックプリセッションが式に現れないことの確認
第5章 ROBOBIKEの制御実装と工夫
- 実際の制御構成(RTOS、マルチタスク、I2Cセンサ)
- 倒立制御の安定化のためのパラメータ調整
- ソフトウェア設計のポイント(C言語、ESP-IDF)
- 複数台走行時の制御同期や干渉対策