使いやすいスコアの作り方 実践編

PatMaxとSearchMaxを組み合わせる方法をご紹介したところ結構好感触だったので調子にのって実践編をご紹介します。

以前の記事「使いやすいスコアの作り方 PatMax+SearchMax(RSI)を組み合わせる」はこちら。

VisionProのQuickBuildの画面で説明しますが、CVLの場合は適宜読み替えてください。

作り方

  1. PatMaxを配置します
  2. SearchMaxを配置します

実行時にSearchMaxに開始位置を与えるための設定

  1. SearchMax.RunParams.StartPoseにPatMaxの位置結果
  2. SearchMax.RunParams.ZoneAngle.NominalにPatMaxの角度結果
  3. SearchMax.RunParams.ZoneScale.NominalにPatMaxのスケール結果

ここでは、角度、スケールの結果を与えています。不要ならば接続する必要はありません。
注意点は、SearchMax.RunParams.StartPoseだけではだめで、自由度パラメタのNominalを設定する必要があるところです。
Nominalを与えることで、SearchMaxの自由度は何も設定する必要がなく、すなわち角度範囲もスケール範囲もゼロです。そのため処理時間も最低限で済みます。

QuickBuildで設定する場合にPatMaxやSearchMaxのデフォルトのターミナルでは上記のターミナルが表示されていません。PatMaxやSearchMaxを右クリックして、「ターミナルの追加...」を選んでターミナルを追加してください。

PatMaxのように値を渡す側は「出力を追加」、SearchMaxのように値を受け取る側は「入力を追加」ボタンで追加します。
ダイアログ左上の「表示:全て(フィルタなし)」の部分は、デフォルトでは「特定」になっていてすべてのプロパティが表示されていないので「全て」に変更してください。またPatMaxのZoneScale.Nominalなど結果の出力を追加するにはPatMaxを一度実行して結果を実際に出力しないと選択できません。

モデルをPatMaxと同じにするための設定

  1. SearchMax.Pattern.TrainImageにPatMax.Pattern.TrainImage
  2. SearchMax.Pattern.OriginにPatMax.Pattern.Origin
  3. SearchMax.Pattern.TrainReginにPatMax.Pattern.TrainRegion

PatMaxから開始位置、角度、スケールをもらって動くためには、モデルが同一である必要があります。これらの設定をしておくことでSearchMaxではPatMaxのモデル登録後、何も設定せずにモデル登録ボタンを押すだけです。

ここまでの設定をするとQuickBuildは下図のようになっているはずです。

サンプル

VisionPro 7.1で作ったサンプルです。ダウンロードしたファイルをQuickBuildのジョブ編集画面にドロップしてください。
もしくはToolBlockを配置してToolBlockの「開く」から開いてください。
PatMaxとSearchMaxのモデルだけ再登録すれば使えるはずです。

PMA_SearchMax_Sample.vpp 直