画像ベース制御

Yaw 角推定モデルと吊り荷 Yaw 制御モデルを結合し、 Raspberry Pi 上で画像ベースの吊り荷 Yaw 制御システムを実証する。 さらに、開発環境との制御結果を比較する。

Raspberry Pi 実行環境

Raspberry Pi を制御装置として使用した。 制御入力となるカメラ画像は Linux 端末上の 3D シミュレーションで生成し、 Raspberry Pi から送信された制御結果を反映して描画を更新する。

制御装置として使用した Raspberry Pi
Raspberry PiYaw 角推定モデルおよび吊り荷 Yaw 制御モデルを実行
Raspberry Pi と3Dシミュレーターを接続した実行環境
実行環境Raspberry Pi と 3D シミュレーターを Wi-Fi 通信で接続

システム構成

3D 描画を除く推論および制御処理を、すべて Raspberry Pi 上で実行した。

3Dシミュレーターと Raspberry Pi による吊り荷 Yaw 制御システムの構成
3D シミュレーターと Raspberry Pi 間の通信および制御処理の構成

3D シミュレーター

Yaw 角推定の入力となる吊り荷画像を生成し、Raspberry Pi へ送信する。 Raspberry Pi から受信した制御結果を反映してシーンを更新し、次のカメラ画像を描画する。

Raspberry Pi

入力画像から吊り荷の Yaw 角を推定し、観測値を吊り荷 Yaw 制御モデルへ入力する。 制御モデルが出力した 4 基のスラスター操作量を 3D シミュレーターへ送信する。

評価方法

最も外乱の大きい X1Y1 条件で、HSteel、Plate、Truss の制御を実行した。 開発環境と Raspberry Pi 環境における吊り荷 Yaw 角および スラスター出力の傾向を比較する。

Baseline

制御を行わない場合の吊り荷 Yaw 角

Control

制御時の吊り荷 Yaw 角と目標角度 90°

Thruster force heatmap

4 基のスラスター出力。明るいほど出力が大きい。

Animation

制御中の吊り荷姿勢をアニメーションで目視確認。

HSteel

HSteel の吊り荷制御を実行した。 Raspberry Pi 環境でも制御開始後約10秒で目標姿勢へ到達し、その後は 90° 付近を維持した。

開発環境における HSteel X1Y1 の制御結果
開発環境
Raspberry Pi 環境における HSteel X1Y1 の制御結果
Raspberry Pi 環境
開発環境とほぼ同等の目標到達時間およびスラスター出力傾向を確認した。

Plate

Plate の吊り荷制御を実行した。 Raspberry Pi 環境でも約13秒で目標姿勢へ到達し、その後は 90° 付近を維持した。

開発環境における Plate X1Y1 の制御結果
開発環境
Raspberry Pi 環境における Plate X1Y1 の制御結果
Raspberry Pi 環境
開発環境とほぼ同等の目標到達時間およびスラスター出力傾向を確認した。

Truss

Truss の吊り荷制御を実行した。 Raspberry Pi 環境では開発環境より目標角度への到達が遅れ、60 秒付近で目標 Yaw 角へ到達した。 ただし、最終的には目標角度へ到達し、その姿勢を維持した。

開発環境における Truss X1Y1 の制御結果
開発環境
Raspberry Pi 環境における Truss X1Y1 の制御結果
Raspberry Pi 環境

開発環境と似たスラスター出力傾向が見られるが、 目標 Yaw 角への到達に遅れが生じた。

この違いは、吊り荷 Yaw 角の推定誤差の影響によるものと考えられる。Truss / X1Y1 は Yaw 角推定の最大誤差が最も大きい条件であり、 推定値のわずかな違いによって制御モデルの出力が変化した。

Truss では到達時間に差が見られたが、 Raspberry Pi 環境でも最終的に目標 Yaw 角へ到達し、 吊り荷姿勢を維持できることを確認した。

評価結果

Yaw 角推定モデルと吊り荷 Yaw 制御モデルを結合したシステムを Raspberry Pi 上で実行し、HSteel、Plate、Truss のすべてで 目標 Yaw 角への制御を確認した。 HSteel と Plate は開発環境とほぼ同等の結果となり、 Truss は到達時間に差が見られたものの、 最終的には目標姿勢へ到達した。