MIRS1204 管理台帳へ戻る

名称 MIRS1204 トラブルシューティング
番号 MIRS1204-TECH-0004

最終更新日:2012.2.3

版数 最終更新日 作成 承認 改訂記事
A01 2013.2.15 荻江 諒 初版

目次




1. 概要


本ドキュメントはMIRS1204の開発に当たり発生したトラブルとそれへの対処である。

2. メカ

  • 発生したトラブル

  • 前方と側面のバンパーの間が壁と接触した際にタッチセンサが反応しないということが起きた(下図を参照)。


  • 対処

  • プラスチックの板を部分的に厚くした(下図を参照)。
    これにより、前進して斜めに壁にあたったとしても部分的に厚くしてある場所に接触することによりタッチセンサが反応しやすくなった。




  • 発生したトラブル

  • ステップを攻略する際、ステップは乗り越えることができるがボールキャスターの端の部分がステップにひっかかりそれ以上前に進めないということがおきた(下図参照)。

  • 対処

  • ひっかかっている部分を削る。それによりスムーズにステップ攻略が可能になった。また、モーターの出力を上げる。


    3. エレキ

  • 発生したトラブル

  • 電源ボードの電圧が極端に低下し、CPU起動ができなくなった。

    左図は入力電圧(波形上)と故障中の電源ボードの出力電圧(波形下)である。
    基盤上で漏電が発生し出力電圧が低下していることがわかる。
    右図は対処を行い正常な出力に復帰した際の出力波形である。

  • 対処

  • 部品、基盤の不良による漏電が主な原因となった。従って
    1.部品(スイッチ、三端子レギュレータ等)を新品に交換
    2.基盤の溝の削り直し
    により対応可能。

    電源ボードの導通チェックにてテスターでは発生しない漏電が起こる可能性がある。これは電源装置からの出力電圧(約7.8[V])がテスターと比べて高く、基盤の溝の絶縁耐性を超える場合があるからである。(テスターは乾電池電源なので、出力電圧は低い)
    従って、テスターでの導通チェックは信頼性が低い。
    また、修復後の検査においても、安定化電源を用いる場合にはテスターなどで安定化電源からの出力電圧を確認する必要がある。
    これは安定化電源で表示されている出力電圧は精度が悪く、±5%以上の誤差が発生することが多々あり得るからである。

  • I/Oエラー

  • 原因:DB-MTCB間の通信ケーブルの接触不良
    対策:より強度の高いケーブルの使用(振動などで接触不良を起こさないもの)

  • OSダウン

  • 原因:CPUボードへの給電ケーブルの接触不良
    対策:より強度の高いケーブルの使用(振動などで接触不良を起こさないもの)

  • ロータリエンコーダからのパルス取得ミス

  • 原因:RE-MTCB間のケーブルの接触不良
    対策:より強度の高いケーブルの使用(振動などで接触不良を起こさないもの)

  • 基盤パターンの剥離

  • 原因:ケーブル類の強引な引き抜き等良
    対策:
     事前:ケーブル類を慎重に扱う、コネクタ付近のランドおよびパターンを太くする
     事後:剥離したパターンを本来の場所にジャンパする

    4. ソフト

  • 画像認識プログラム起動のにアポート

  • 原因1:USBカメラのOS上での認識の失敗
    対策:OS起動後にUSBカメラを差し込むことでデバイスの認識を確実にすることができる。

    原因2:前回プログラム終了時に保存途中であった画像データがアクセス不可になった
    対策:現在保存されている画像データを手動で削除することでエラーのない画像データを新たに保存できる環境にできる。

    ※ただし、使用したのは標準プログラムとは異なるMIRS1204オリジナルの画像認識であるため、標準プログラムで発生するアポートには対応していない。

  • アポート(標準プログラムに対応)

  • 内容:画像処理失敗時(何回か繰り返した後)に"アポートしました。"と表示してプログラムを停止する。
    対策:画像認識中に、カメラ以外のセンサをすべて停止させる。…と、割とでなくなった。

  • セグメンテーション違反

  • 内容:実行時に突然"セグメンテーション違反です"と表示してプログラムを強制終了する。
    原因:メモリ不足によるエラー
    対策:グローバル関数の数とかfunctionの数とかそれなりに少なくしておく

  • bad file discripter file no9

  • 内容:OSが変わってから頻繁に発生するようになった。"bad file discripter file no9"と表示しながらもモーター動かそうとするので、挙動不審になる
    原因:モータ関数のファイルを閉じたあと、さらに閉じようとする。または開いた後開こうとすると発生する。
    対策:ファイルのopen,closeはしっかり確認する。モータ関数でモータをすべて動かそうとした弊害なので、そういった制御をしようとする班は注意。

  • error opening device

  • 内容:モータのファイル(fd1,fd2)を開くときに発生。"error opening device"と表示してプログラムを停止する。
    原因:モータ制御のファイルを開いた後に、閉じずにまた開くこうとすると発生する。
    対策:モータ制御ファイルを開く前に、必ずファイル閉じるようにする。我が班では、モータ制御関数を呼び出すとき、必ずclose命令を通るよう流れを作った。

  • memory over flow

  • 内容:実行した瞬間エラーが発生する。その後何回か繰り返しても、再起動するまで実行できなくなる。
    原因:メモリ不足によるエラー。
    対策:メモリを軽くする。ごみ箱の中やファイルをとにかく減らす。おそらく新しいOSでは起きないエラーだと思う。

  • I/O error

  • 内容:センサ関係すべてにおいて動かそうとした瞬間表示される。
    原因:接触不良
    対策:すべてのコードを抜き差し。ドータボードとCPUボードをつないでいるコードあたりがおそらく原因。 実行中のモータに発生した場合はmotor_restartさせるようにすると効果的。

    5. 関連文書