追従指標やボールの認識による操作
・追従指標による操作
追従指標(チーズアイコン)を表示させるとそれを追従するようにIRACSが赤外線コントロールカーやロボットを操作します。
追従指標を表示させるにはツールバーのアイコンを押してください。画面に追従指標(チーズアイコン)が表示されそれをマウス操作で動かす事ができます。
画面に追従指標が表示されると車(ロボット)はそれに向かって移動します。車(ロボット)が追従指標付近に近づくと車(ロボット)は自動的に停止します。
追従指標はマウスのドラッグアンドドロップ操作で移動させる事ができます。
マウスカーソルを追従指標に移動させるとカーソルがに変わります。
その状態でマウスの左ボタンを押しながらマウスを移動させます。
追従指標もマウスの動きに合わせて移動しますので移動させたい場所に来たらマウスの左ボタンを離します。
車(ロボット)は再び追従指標に向かって動き出します。
追従指標による操作を停止するにはもう一度ツールバーのアイコンを押してください。
画面の追従指標は消えて車(ロボット)は停止します。
追従指標に対してマウスのダブルクリックを行っても追従指標による操作を停止する事ができます。
またツールバーの操作の代わりに表示メニューの追従指標コマンドでも追従指標の表示非表示を切り替える事ができます。
なおシミュレーション操作においても追従指標を追従させる事ができます。
・画像認識による操作
ボールなどの特定の画像を認識してそれを追従させたり回避するようにIRACSが赤外線コントロールカーやロボットを操作します
。
画像を認識して追従させるにはツールバーのアイコンを押してください。画面に画像認識枠が表示されます。
画面に画像認識枠が表示されると車(ロボット)はそれに向かって移動します。車(ロボット)は認識した物体(ボール)に接触しても停止しませんのでその物体を移動させる事ができます。
画像認識による追従操作を停止するにはもう一度ツールバーのアイコンを押してください。
画面の画像認識枠は消えて車(ロボット)は停止します。
またツールバーの操作の代わりに表示メニューのボール追従(ボール認識)コマンドでボール追従と停止を切り替える事ができます
認識する画像はボールのような単純な形状(角度が変わっても同じ形状)の方が認識率が高くなります。
なおシミュレーション操作においても認識画像を追従または回避させる事ができます。
・認識画像の学習
認識画像を追従または回避させるには対象となる画像を事前に学習させておく必要があります。
認識画像の学習は、設定コマンドのボール学習コマンドで行います。
ボール学習コマンドを実行すると下記のダイアログが表示されます。
カメラ画像のボールの中心位置をマウス左ボタンでクリックします。
クリックしたポイントを中心に画像認識枠が赤線で表示されます。
画像認識枠が確定したら学習ボタンを押します。
すでにボール画像を学習している場合は、以前の学習情報でボールの位置を認識しますのでマウス操作の前に画像認識枠が表示される場合があります。
この場合も同様のマウス操作で正しい画像認識枠を定義し直す事ができます。
ボール画像が正しく学習できたかどうかは認識テストボタンで確認する事ができます。
ボールを移動させてこのボタンを押して正して位置に画像認識枠が表示されればOKです。
ボールと背景の明度差があまりなかったりすると画像が画像認識枠が正しい位置に表示されない(間違ったものを認識する)場合があります。その場合は照明の具合を調整してみてください。
また複雑な形状の場合、角度が大きく異なると正しく認識されませんのでボールや円のような単純なものを対象にしてください。
正しく学習できたらOKボタンで学習を終了します。この際「学習ファイルを保存しますか?」と聞いてきます。
「はい」を答えると次回からこの学習ファイルがIRACSの起動時に自動的に読み込まれますので次回からの学習操作は不要になります。
ただし照明などの条件が変わると正しく認識できなかったり認識する対象物を変更する場合は再度学習操作を行ってください。
画像サイズ
画像認識枠の大きさを切り換えます。
学習させる対象の画像が小さい場合は32x32ドットに切り換えてください。学習する対象はなるべく画像認識枠に納まるように設定してください。ただしあまり大きく設定するとボール以外の画像も認識する対象になり正しく認識されなくなってしまいますので注意してください。
認識感度
この値を大きくすると学習した画像と一致した対象がみつからない場合でもなるべく近い画像を探し出します。その場合は誤った場所を認識してしまう事があります。
この値を小さくすると学習した画像と近い画像が探し出せなかった場合は認識できないという結果を返します。この場合は画像認識枠は表示されなかったりボールが移動しても前の位置のままになっていたりする場合があります。
初期値は75で設定しています。
認識間隔
画像認識をする頻度を定義します。値は画像認識を行うフレーム数で30の場合30フレーム(1秒)に一度、画像認識を行います。
画像認識は複雑な計算をしますので頻度を上げる(値を小さくする)と全体の処理が遅くなってしまいます。
また頻度を下げる(値を大きくする)とボールの移動に対して反応が遅くなってしまいます。
初期値は30で設定しています。
・認識画像による回避操作
ボールなどの特定の画像を認識してそれを回避させるには表示メニューのボール回避(ボール認識)コマンドでボール回避と停止を切り替える事ができます。
画像認識枠の中心との距離が一定値(50ドット)以下になった場合、車(ロボット)は回避を開始します。この場合、車(ロボット)はボールから逆の方向に進行します。
画像認識枠の中心との距離が一定値(50ドット)の2倍以上になった場合、車(ロボット)は停止します。
再びボールを車(ロボット)に近づけると回避を始めます。
なおボール回避コマンドで回避を開始させた場合、ボールと車(ロボット)の距離があって回避する必要がない場合でも車(ロボット)を少し動かします。
これは車(ロボット)の現在位置を測定するためで回避する必要がない場合は車(ロボット)を停止させます。
またプログラムで回避を行わせる場合は回避開始と終了の距離はプログラムで変更できます。
目次に戻る