トラブルシューティング
本章では、よくある問題と解決方法をまとめ、使用中に発生するさまざまな問題を素早く切り分けて解決できるようにします。
ハードウェア関連の問題
サーボが応答しない
考えられる原因:
- サーボ電源が接続されていない
- サーボとドライバボードの接続不良
- シリアルポートの接続に失敗している
- サーボが有効化されていない 解決方法:
- サーボ電源が正しく接続され、通電しているか確認します
- サーボとドライバボードの接続ケーブルが確実に固定されているか確認します
examples/diagnostic.pyを実行して診断情報を確認しますCを押してジンバルに接続済みで、サーボが有効化されていることを確認します
サーボの動作方向が逆
考えられる原因:
- サーボの取り付け方向、またはプログラムの制御パラメータの調整が必要です 解決方法:
src/trackers/tracking_controller.pyのcalculate_moveメソッドを修正し、該当するパラメータの符号を反転します:
左右が逆の場合
python
delta_pan = -int(self.kp_pan * err_x)上下が逆の場合
python
delta_tilt = -int(self.kp_tilt * err_y)サーボが振動する
考えられる原因:
- トラッキングパラメータが敏感すぎる
- デッドゾーン範囲が小さすぎる
- サーボの負荷が大きすぎる、または電力供給が不足している 解決方法:
dead_zoneパラメータを大きくしますmin_move_intervalを大きくしますkp_panとkp_tiltを小さくします- 電源電圧が正常か確認します
シリアルポートの接続に失敗する
考えられる原因:
- ドライバがインストールされていない
- シリアルポート番号が正しくない
- シリアルポートが他のプログラムに占有されている
- 接続ケーブルの故障 解決方法:
- Windows ではデバイスマネージャーを確認し、ドライバが正常にインストールされていることを確認します
examples/list_ports.pyを実行して正しいシリアルポートを探します- シリアルポートを占有している可能性のある他のプログラムを終了します
- USB ポートまたはケーブルを交換して試します
ソフトウェア関連の問題
カメラが開けない
考えられる原因:
- カメラインデックスが正しくない
- カメラが他のプログラムに占有されている
- カメラのハードウェア接続の問題
- カメラドライバの問題 解決方法:
examples/list_cameras.pyを実行して利用可能なカメラのインデックスを確認します- カメラを使用している可能性のある他のプログラムを終了します
- カメラの接続が正常か確認します
- USB ポートを交換して試します
OpenCV のエラー
考えられる原因:
- OpenCV のバージョンの問題
- 依存ライブラリのインストールが不完全
- カメラのハードウェア異常 解決方法:
- 依存ライブラリを再インストールしてみてください:
python
pip install --upgrade opencv-python numpy- Python バージョンが要件(>=3.8)を満たしているか確認します
- エラースタック情報を確認し、問題のあるコードを特定します
依存関係のインストールに失敗する
考えられる原因:
- pip のバージョンが古い
- ネットワーク接続の問題
- 権限の問題 解決方法:
- まず pip をアップグレードします:
python
pip install --upgrade pip- 中国国内のミラーを使用して高速化します:
python
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple- ネットワーク接続が正常か確認します
プログラムの起動が遅い
考えられる原因:
- Windows で DSHOW を使用していない
- カメラのハードウェア初期化に時間がかかる 解決方法:
- コードでカメラバックエンドとして
cv2.CAP_DSHOWを使用していることを確認します - 他のプログラムがカメラを占有していないか確認します
- 数秒待ってください。カメラの初期化には通常ある程度の時間がかかります
トラッキング関連の問題
ターゲットの認識が不正確
カラートラッキングの場合:
- ターゲットの色と背景のコントラストが明確か確認する
- 色パラメータを調整する(
src/detectors/color_detector.py内) - 光が十分で均一であることを確認する 顔トラッキングの場合:
- 光を十分に確保し、逆光を避ける
- 顔をカメラに正面向きにする
- 適切な距離を保つ
トラッキング時にジンバルが動かない
考えられる原因:
- ジンバルに接続していない
- ターゲットをロックしていない
- ターゲットがデッドゾーン内にある
- プログラムでエラーが発生している 解決方法:
Cを押してジンバルに接続済みであることを確認しますTを押してターゲットをロック済みであることを確認します- コンソール出力を確認し、エラーメッセージを探します
- ターゲットが
dead_zoneの範囲内にあるか確認します
トラッキングの方向が逆
解決方法: 「サーボの動作方向が逆」の解決方法を参照してください。
トラッキング時の振動
解決方法: 「サーボが振動する」の解決方法を参照してください。
ターゲットロックに失敗する
考えられる原因:
- ロック時にターゲットが画面中央にない
- ターゲットが小さすぎる、または色が目立たない
- ターゲットが検出されていない 解決方法:
- ロック時にターゲットが画面中央にあることを確認します
- ターゲットが適切な大きさで、正しく検出できるようにします
- コンソール出力を確認し、ターゲットが検出されているかを確かめます
- ターゲットの位置を調整し直してからロックします
診断ツールの使用
診断プログラムの実行
システムには総合的な診断ツールが用意されており、システム全体のハードウェアをテストできます:
python
python examples/diagnostic.py --camera 0 --port COM3診断プログラムは以下を順にテストします:
- カメラが正常に動作するか
- シリアルポートが正常に接続できるか
- サーボが正常に応答するか 診断が完了するとテスト結果が表示され、問題の特定に役立ちます。
デバッグ出力の確認
プログラムの実行中、コンソールに関連するデバッグ情報が出力されます。内容は以下のとおりです:
- 検出されたターゲット情報
- ターゲット座標
- 誤差値
- ジンバル移動指令
- エラー情報全般 これらの出力を注意深く観察することで、問題を素早く特定できます。
復旧方法
ジンバルを安全な位置に戻す
Rを押してジンバルを中央に戻す- または
gimbal.return_to_center()を呼び出す
すべての設定をリセット
Sを押してトラッキングを停止するRを押して中央に戻す- ターゲットを再度ロックする
再キャリブレーション
トラッキング効果が著しく悪い場合は、以下を行えます:
- トラッキングパラメータを調整する
- ターゲットを再度ロックする
- 必要に応じてプログラムを再起動する
- ハードウェア接続を確認する
サポートを受けるには
上記の方法で問題が解決しない場合は、以下の情報を記録してください:
- オペレーティングシステムの情報
- Python のバージョン
- 詳細なエラーメッセージ
- 問題を再現する手順
- diagnostic を実行した結果

