【ポケモンSV】自動化導入トラブル事例

公開しているプログラムに関するご相談のまとめです。
ツールはPoke-Controller-Modifiedを使用しており、導入済みの方向けの記事となります。ツールの導入に関するお問い合わせはご遠慮ください。

お問い合わせの際は

具体的な情報提供がないと回答が難しいです。
特に下記の情報提供をいただけると回答しやすいので、ご配慮いただけると幸いです。

  • 何をしているときに発生したのかの仔細

  • 発生時の画面キャプチャ

  • 画像認識トラブルの場合、トラブル発生時のTemplateフォルダ内のdebug_src、debug_templateファイル

  • メッセージエリアの文章

  • 黒いウィンドウの文章

基本的には画像の差し替え・閾値調整で解決可能です

環境による際によるトラブルがほとんどなので、各環境に合わせてご調整ください。

【前提】SVはトラブルが発生しやすい

SVはボックスの背景色が時間経過で変更になる関係で、ボックス周りの画像認識が失敗しやすいです。そのため閾値を低めに設定していたりするのですが、ラルトスなどのタマゴに似た色のポケモンのご認識などが発生しやすいので、あるポケモンだとうまく動かない事象が発生します。
(そもそもキャプチャ機材によっても色がかなり変わるので、当方の環境でキャプチャした画像が貴環境で使えるとは限りません)
画像認識が意図したとおりにならない場合、貴環境で取得したキャプチャに差し替えたり、閾値を調整してご使用ください

例)ERROR : changePokemonToParent - connot moved pkmn
メッセージでプログラム内を検索するとAutoHatching_pkmnSV.py内に下記の一文が見つかると思います。移動成功しているのにエラーになる場合、本来成功しないはずのinbox_party_null_5.pngの認識が成功してしまっている状態ですので、必要以上に閾値が低いということです。
閾値(未設定の場合0.7)をthreshold=0.8などにしてみてください。
※書き方はPoke-Controller本家のドキュメント、あるいはプログラム内の他の画像認識処理部分を参考にしてください。

# check party
if self.isContainTemplate('SV_AutoHatching\inbox_party_null_5.png',area=[0,720,0,300]):
    print('ERROR : changePokemonToParent - connot moved pkmn')

また、SVは入力コマンドが抜けやすく意図しない挙動が発生しやすいため、うまくいかない場合が発生しえます。その場合は原則エラーとして処理・リセットして再挑戦する仕様になっています。
上記は想定内のエラーのため、頻発するもの以外はリトライで解決します。



interruput が発生する

プログラム/画像が所定の位置にないために発生するパターンと、LINE通知の設定がされていないために発生するパターンが想定されます。
黒いウィンドウにエラーメッセージが表示されているため、そちらのメッセージをご確認ください。
どのファイルの何行目のコードまで実行できたのかがわかるので、それを参考にエラーになった箇所の画像ファイルがあるかどうか等の確認を行ってください。

LINE_imageのメッセージが出る

LINE通知の設定をしてください。
不要な場合はLINE通知のコマンドをプログラムから削除してください。

それ以外

プログラム/画像の位置が間違っている場合がほとんどです。
配置を確認し、ツールの再起動を行ってください。



タマゴが30個拾えない

プログラム全体に大きな影響がないため許容している仕様です。
目視中に中々再発せず原因不明ですので、情報があればご共有いただけると嬉しいです。



ERRORメッセージが表示される


cannot found box

指定通りにボックスの名称を設定しているかご確認ください。
孵化プログラムでは「きじゅん」「たまご」が必要です

cursor_position move_count over

●●●●●●● - moveCellFocus

黄色背景が見つからずエラーとなっています。
SVの挙動が安定せず失敗しやすい部分なので、エラーになることは織り込み済みのプログラムになっています。発生時はボックスを閉じてやり直します。
それでも頻発する場合は、色範囲の閾値の調整を実施下さい。
調整対象
SV_util_box.py内のlower,upperの色を黄色部分に合わせて適宜ご調整ください。RGBの順ではなくBGRの順になっています。
環境によって色味が違い、ボックスの背景色によっても黄色部分の色が違うので、ある程度幅を持たせた設定をお勧めします。
初期設定:lower=[0,190,200], upper=[50,255,255]

セルの黄色部分のRGB値をBGRの順に記述します


connot moved pkmn

●●●●●●● - cannot move eggs

Yボタンやminusボタンが抜けるなど、ポケモンの移動に失敗した場合に発生します。
SVの挙動が安定せず失敗しやすい部分なので、エラーになることは織り込み済みのプログラムになっています。発生時はボックスを閉じてやり直します。

※画像認識が失敗する場合
前述の通り、キャプチャ環境によって色が大きく異なる・ボックス背景の色が変わる影響で、画像認識がうまくいかないことがあります。同じ環境でもポケモンの色によっては閾値の調整・キャプチャを取り直さないと安定しないことがあるくらいSVは画面が安定しないので、うまくいかない箇所があればご自身の環境で取得した画像に差し替え・閾値調整が必要です。
参考:https://note.com/mikan_tabetaine/n/n031a1808072d#12fed93d-2afa-47da-8ba7-2361599922fe

cannot walk to basket

SVの挙動が安定せず失敗しやすい部分なので、エラーになることは織り込み済みのプログラムになっています。発生時はリセットしてやり直します。
環境差異がある部分のため、頻発する場合はご自身でいい感じに数値をご調整ください。
対象:SV_util_picnic.py(checkBasket)

checkBasket time over

タマゴパワーがうまく発動しなかったときの保険として、指定時間待ってもタマゴが取得できなかった場合エラーとしています。
SVの挙動が安定せず失敗しやすい部分なので、エラーになることは織り込み済みのプログラムになっています。発生時はリセットしてやり直します。
対象:SV_util_picnic.py(checkBasket)

makeSandwich cannot open recipe

たまに右入力のコマンドが行き過ぎてしまうようです。
SVの挙動が安定せず失敗しやすい部分なので、エラーになることは織り込み済みのプログラムになっています。発生時は料理をやり直します。
環境差異がある部分のため、頻発する場合はご自身でいい感じに数値を調整・指画像の差し替えを行ってください。
対象:SV_util_picnic.py(makeSandwich)

makeSandwich time over

Aの入力が抜ける等で、具材をうまくつかめなかったときに発生します。
SVの挙動が安定せず失敗しやすい部分なので、エラーになることは織り込み済みのプログラムになっています。発生時はリセットしてやり直します。
環境差異がある部分のため、頻発する場合はご自身でいい感じに数値を調整・指画像の差し替えを行ってください。
対象:SV_util_picnic.py(makeSandwich)


sandwich power is not get

テーブルクロスが閾値より白っぽい場合
デフォルトなどの白くないテーブルクロスをご利用ください。
具材をうまくパンに載せられなかったとき
SVの挙動が安定せず失敗しやすい部分なので、エラーになることは織り込み済みのプログラムになっています。発生時はリセットしてやり直します。
環境差異がある部分のため、頻発する場合はご自身でいい感じに数値を調整・パワーレベル表示部分の画像の差し替えを行ってください。
対象:SV_util_picnic.py(makeSandwich)


hatching - run time over

走行に失敗したときに発生します。
基本的に発生しない想定ですので、原因によって対応方法が異なります。


SKIP : ●●●●●●● - already has eggs

エラーではありません。
ボックスを開いた際にすでに手持ちにタマゴがある場合、そのタマゴを孵化するために後続の処理をスキップします。





いいなと思ったら応援しよう!