⚓

舶用オートパイロットの
PID制御 入門

ジャイロコンパスを用いた船舶の自動操舵システムが、どのようにPID制御で針路を保つのかを図解とシミュレーターで学びます

ジャイロコンパスとは

ジャイロコンパスは、高速回転するジャイロスコープ(こま)の性質を利用して真北を示す計器です。磁気コンパスと異なり、地磁気の偏差や船体の磁気に影響されないため、精密な針路制御に欠かせません。

主な特徴

項目ジャイロコンパス磁気コンパス
基準真北(地理的北極)磁北(地磁気の北極)
精度±0.1°〜±1°程度±2°〜±5°程度
外部影響船体磁気の影響なし自差・偏差の補正が必要
電源必要不要
オートパイロット連動電気信号で直接接続光学読み取りが必要
仕組みのイメージ

高速で回転するこまは軸の向きを維持しようとします(ジャイロの剛性)。これに地球の自転の力を加えると、こまの軸が真北を指すように整定します。この性質を利用して、船がどちらを向いているかを正確に検出しています。

舶用オートパイロット

オートパイロットは、ジャイロコンパスから船首方位の信号を受け取り、設定された針路を自動的に維持するシステムです。操舵手の代わりに舵を操作し、風や潮流による偏差を自動補正します。

制御の流れ

  1. 目標針路の設定

    航海士が目標とする方位(セットコース)を設定します。

  2. 現在方位の検出

    ジャイロコンパスが船首の現在方位をリアルタイムで検出し、電気信号として出力します。

  3. 偏差の計算

    目標方位と現在方位の差(偏差=誤差)を計算します。右にずれていれば正、左なら負の値になります。

  4. PID演算

    偏差をもとにPID制御の演算を行い、必要な舵角を決定します。

  5. 操舵機への指令

    計算された舵角を操舵機(ステアリングギア)に送り、舵を動かして船首方位を修正します。

制御ブロック線図

目標針路 セットコース Σ + PID制御器 舵角演算 偏差 e 操舵機 ステアリング 舵角 δ 船体 船首方位変化 方位 ψ ジャイロコンパス −

PID制御とは

PID制御は、比例(P)・積分(I)・微分(D)の3つの要素を組み合わせた制御手法で、産業分野で最も広く使われるフィードバック制御です。目標値と現在値の差(偏差)に基づいて出力を調整します。

u(t) = KP · e(t) + KI · ∫e(t)dt + KD · de(t)/dt
u(t): 操作量(舵角) / e(t): 偏差(目標方位 − 現在方位) / KP, KI, KD: 各ゲイン
車の運転にたとえると

P(比例)=カーブに差しかかったら、曲がり具合に応じてハンドルを切る
I(積分)=横風で少しずつ流されていたら、じわじわとハンドルを補正する
D(微分)=急にずれ始めたら、素早くハンドルを戻して振れを抑える

P
比例制御

偏差の大きさに比例した修正。ずれが大きいほど強く舵を切る。

I
積分制御

偏差の蓄積を解消。定常的なずれ(オフセット)を除去する。

D
微分制御

偏差の変化速度に反応。急な変動を予測して素早く抑制する。

P・I・D それぞれの役割

P(比例)制御 — 「今のずれ」に反応

現在の偏差 e(t) にゲイン KP をかけた量だけ舵を切ります。偏差が大きければ大きく、小さければ小さく修正します。

舶用オートパイロットでは:船首が目標から5°右にずれていれば、KP に応じた量だけ左舵をとります。ずれが大きいほど大きく舵を切るので、直感的でわかりやすい制御です。

弱点:P制御だけでは、風や潮流などの外乱がある場合に完全にゼロにできない一定のずれ(定常偏差・オフセット)が残ります。

I(積分)制御 — 「蓄積したずれ」を解消

偏差を時間で積分(累積)し、その量にゲイン KI をかけて補正します。小さな偏差でも時間が経つと積分値が大きくなるため、定常偏差をゼロにできます。

舶用オートパイロットでは:横風で常に1°左にずれ続ける場合、P制御だけでは1°のオフセットが残りますが、I制御がこのずれを蓄積して徐々に舵を補正し、最終的にずれをゼロにします。

注意点:ゲインが大きすぎると積分値が過大になり(ワインドアップ)、大きなオーバーシュートや振動の原因になります。

D(微分)制御 — 「変化の速さ」を先読み

偏差の変化速度(微分値)にゲイン KD をかけて、将来の偏差を予測した修正を行います。急な変化を検知して、事前にブレーキをかけるイメージです。

舶用オートパイロットでは:突風で船首が急に振れ始めたとき、偏差がまだ小さくてもその変化速度を検知して素早く舵を切り、大きなずれに発展するのを防ぎます。また、目標方位に近づく際のオーバーシュート(行き過ぎ)を抑制します。

注意点:微分はノイズに敏感なため、ジャイロコンパスの出力にノイズが多い場合、過剰な舵の動きを引き起こすことがあります。実際にはフィルタを組み合わせて使用します。

P・I・Dゲイン変更の影響

ゲイン上げると下げると
KP応答が速くなるが、振動・オーバーシュート増加応答が鈍くなるが安定
KI定常偏差が早く消えるが、振動・ワインドアップのリスク定常偏差が残りやすいが安定
KDオーバーシュート減少、応答安定だがノイズに敏感振動が抑制されにくいが、ノイズの影響を受けにくい

船舶シミュレーター

PIDゲインを調整して、実際に船がどう動くかを体験しましょう。上から見た船が海面上を航行し、オートパイロットが目標針路(北=000°)を維持しようとします。初期状態では船首が右に20°ずれた状態からスタートします。

プリセット

船首方位
020.0°
偏差
+20.0°
舵角
左舵 35° 中央 右舵 35°
経過時間
0.0 s
速度:

応答グラフ

船首方位 目標方位 (000°) 舵角
—
オーバーシュート
—
整定時間
—
定常偏差
—
最大舵角
—

ラプラス変換と伝達関数

制御工学では、時間領域の微分方程式をラプラス変換によって周波数領域(s領域)に変換し、代数的に扱いやすくします。PID制御や船体の動特性を「伝達関数」として表現することで、システム全体の解析や設計が容易になります。

ラプラス変換とは

時間の関数 f(t) を、複素変数 s の関数 F(s) に変換する数学的操作です。微分・積分が s の掛け算・割り算に変わるため、微分方程式が代数方程式になります。

ラプラス変換の定義
F(s) = ℒ{f(t)} = ∫0∞ f(t) e−st dt
s = σ + jω は複素変数。t ≥ 0 の関数を s 領域に写像する。

なぜラプラス変換を使うのか

1

微分 → 掛け算

時間領域の微分 df/dt はラプラス領域で s·F(s) になります。2階微分なら s²·F(s)。複雑な微分方程式が簡単な多項式に変わります。

2

積分 → 割り算

∫f(t)dt はラプラス領域で F(s)/s になります。PID制御のI項(積分)が 1/s として表現でき、ブロック線図で扱いやすくなります。

3

伝達関数

入力と出力の比 G(s) = Y(s)/U(s) として「伝達関数」を定義でき、システムの特性を一つの式で表現できます。

4

直列・並列の合成

ブロック線図上で、直列接続は掛け算、並列接続は足し算で合成でき、複雑なシステムを組み立てて解析できます。

基本的なラプラス変換対

時間関数 f(t)ラプラス変換 F(s)意味
1(ステップ)1/s一定値の入力(目標針路を急に設定)
t(ランプ)1/s²徐々に増加する入力
e−at1/(s+a)指数減衰(船体の自然な減衰)
df/dt(微分)s·F(s) − f(0)変化速度(D制御に対応)
∫f dt(積分)F(s)/s累積値(I制御に対応)

PID制御器の伝達関数

PID制御の式をラプラス変換すると、非常にシンプルな形になります。

時間領域(元の式)
u(t) = KP e(t) + KI ∫e(t)dt + KD de(t)/dt
↓ ラプラス変換 ↓
s領域(伝達関数)
GPID(s) = KP + KI/s + KD·s
KP: そのまま(比例はsに依存しない)
KI/s: 積分 → 1/s を掛ける
KD·s: 微分 → s を掛ける
通分すると
GPID(s) = (KD s² + KP s + KI) / s
分母の s は積分器を表す。分子の多項式の係数が P, I, D の各ゲインに対応。

船体の伝達関数(野本モデル)

船体の操縦運動は、制御工学では野本(Nomoto)モデルで近似されることが多く、1次近似モデルは以下のようになります。

野本の1次モデル
Gship(s) = Ψ(s)/Δ(s) = K / (s(Ts + 1))
Ψ(s): 船首方位変化 / Δ(s): 舵角入力
K: 旋回力ゲイン(舵の効き具合) / T: 追従性時定数(船体の応答の遅れ)
分母の s は「舵角→方位」が積分の関係であること(舵を切り続けると方位が変わり続ける)を表す。
パラメータの意味

K(旋回力ゲイン)が大きい船は舵が効きやすく、小さい船は鈍い。
T(時定数)が大きい船は舵を切ってから方位が変わるまでに時間がかかり(大型タンカーなど)、小さい船は素早く反応する。
大型船ほど T が大きく K が小さい傾向があり、PIDゲインの設定が難しくなります。

閉ループ伝達関数

PID制御器と船体を組み合わせた閉ループ(フィードバック)系全体の伝達関数は次のようになります。

閉ループ伝達関数
Gcl(s) = GPID(s)·Gship(s) / (1 + GPID(s)·Gship(s))
これがオートパイロットシステム全体の応答特性を決定する式。
分母 = 0 の解(極)が安定性・応答速度・振動特性を左右する。

極と安定性

伝達関数の分母 = 0 の解を極(ポール)と呼びます。極の位置でシステムの挙動がわかります。

極の位置挙動船の動き
s の実部 < 0(左半面)安定(減衰)振れが収まり針路に復帰
s の実部 = 0(虚軸上)限界安定(持続振動)船首が永久に左右に振れ続ける
s の実部 > 0(右半面)不安定(発散)振れが拡大し制御不能
虚部が大きい振動的蛇行が激しい
実部の絶対値が大きい速い減衰素早く針路に戻る

PIDゲインを調整することで、極の位置を左半面の適切な場所に配置し、安定かつ素早い応答を実現するのがチューニングの本質です。

まとめ

ラプラス変換を使うと、「微分方程式を解く」作業が「多項式の計算」に置き換わります。PID制御器も船体も伝達関数という共通言語で表現でき、ブロック線図上で接続して全体の特性を解析できます。シミュレーターで体験した「ゲインを変えると応答が変わる」現象は、数学的には「極の位置が移動する」ことに対応しています。

実際の調整(チューニング)

実船でのPIDパラメータ調整は、海象条件(波浪、風、潮流)や船体特性(船型、積荷状態、速力)に応じて行います。

基本的な調整手順

  1. まず P ゲインを設定

    I, D をゼロにして、P ゲインだけで応答を確認します。オーバーシュートが出始めるまで徐々に上げ、そこから少し下げた値を基準とします。

  2. I ゲインを追加

    風や潮流によるオフセットが出ている場合に、I ゲインを少しずつ上げて定常偏差を解消します。振動が出たら下げます。

  3. D ゲインで安定化

    オーバーシュートや振動が気になる場合、D ゲインを上げて抑制します。ただし上げすぎるとノイズで舵がバタつくので注意が必要です。

  4. 海象に応じた微調整

    荒天時は D ゲインを下げ(波のノイズを拾わないよう)、P ゲインも控えめに。穏やかな海では精密な制御が可能です。

海象別の調整ポイント

  • 静穏海面:P・I・D すべてをバランスよく設定し、精密な針路保持を優先
  • 横風が強い:I ゲインを少し上げて、風によるオフセットを早く解消
  • 荒天・高波浪:D ゲインを下げて波のノイズを無視し、P も控えめに。舵の過度な動きを抑え、操舵機の負荷を軽減
  • 低速航行:舵効きが悪くなるため P ゲインを上げるが、振動に注意
現場の知恵

熟練航海士は「ウェザー(天候)調整」と呼び、海の状態に合わせてオートパイロットのつまみを微調整します。これはまさにPIDゲインのチューニングそのものです。最近の高性能オートパイロットでは、船速・海象をセンサーで検知してゲインを自動調整する「アダプティブ制御」を備えたものもあります。