webots tips 7cm まで。...2020 年6 月1 日 情報テクノロジー実験Ⅰ...

5
2020 年 6 月 1 日 情報テクノロジー実験Ⅰ メカトロニクス Webots Tips 山口博明 <赤外線近接センサ> シミュレータでは、物体の色に R 成分がないと反応しない。 測定範囲はおよそ 7cm まで。 センサ値と距離の関係は比例の関係ではない。my_controller2_3 を用いてセンサ値と距離の関係を 調べて下さい。 <カメラ> 実機では、カメラのオートバランス機能により、一面単色になるとグレーになる。 そのため、複数の色が画面に映るようにする必要がある。 実機のカメラは、シミュレータのように色が鮮明に写らない。そのため、実機は実機で色判別の閾値 の調整が必要。 色を調べるには: スナップショットでシミュレーション画像を保存し、それをペイントなどで開く。それから、スポイ トツールで調べたい色を選択し、色の編集を開いて RGB 値を確認する。

Upload: others

Post on 12-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Webots Tips 7cm まで。...2020 年6 月1 日 情報テクノロジー実験Ⅰ メカトロニクス Webots Tips 山口博明 <赤外線近接センサ> シミュレータでは、物体の色にR

2020 年 6 月 1 日

情報テクノロジー実験Ⅰ メカトロニクス

Webots Tips

山口博明

<赤外線近接センサ>

シミュレータでは、物体の色に R 成分がないと反応しない。

測定範囲はおよそ 7cm まで。

センサ値と距離の関係は比例の関係ではない。my_controller2_3 を用いてセンサ値と距離の関係を

調べて下さい。

<カメラ>

実機では、カメラのオートバランス機能により、一面単色になるとグレーになる。

そのため、複数の色が画面に映るようにする必要がある。

実機のカメラは、シミュレータのように色が鮮明に写らない。そのため、実機は実機で色判別の閾値

の調整が必要。

色を調べるには:

スナップショットでシミュレーション画像を保存し、それをペイントなどで開く。それから、スポイ

トツールで調べたい色を選択し、色の編集を開いて RGB 値を確認する。

Page 2: Webots Tips 7cm まで。...2020 年6 月1 日 情報テクノロジー実験Ⅰ メカトロニクス Webots Tips 山口博明 <赤外線近接センサ> シミュレータでは、物体の色にR

第2回テキスト 32 ページに記載の最初の発展課題を実装し、任意の座標の色をコンソールウィンド

ウに表示する。

カメラを下に向けてライントレースができる。精密機器のため、ロボットのカメラを下に向ける場合

は教員に行ってもらう。Webots でもカメラの向きを変更できる。

(1)File→Open World→e-puck_line.wbt を開く。

(2)エクスプローラ→ドキュメント→my_project→worlds→textures を開く。

(3)”floor”のコピーを作成する。その後、ペイントで”floor”を書き換える。

Page 3: Webots Tips 7cm まで。...2020 年6 月1 日 情報テクノロジー実験Ⅰ メカトロニクス Webots Tips 山口博明 <赤外線近接センサ> シミュレータでは、物体の色にR

(4)Webots 上で Reload する。

(5)Webots 上で”RectangleArena”をエクスポートする。エクスポートする時のファイル名は、例え

ば、”RectangleArena_line.wbo”とする。

(6)Webots 上で”File”→”Open World”→”my_e-puck04.wbt”を開く。その後、”RectangleArena.wbo”を

削除した上で、”RectangleArena_line.wbo”をインポートする。

Page 4: Webots Tips 7cm まで。...2020 年6 月1 日 情報テクノロジー実験Ⅰ メカトロニクス Webots Tips 山口博明 <赤外線近接センサ> シミュレータでは、物体の色にR

(7)カメラの向きについては e-puck の proto ファイルのパラメータを調整する。

“Robot”→”children”→”DEF EPUCK_CAMERA camera”→”rotation”を開く。

x軸回りで、例えば、-45 度、つまり、-0.785rad 回転させる。

Page 5: Webots Tips 7cm まで。...2020 年6 月1 日 情報テクノロジー実験Ⅰ メカトロニクス Webots Tips 山口博明 <赤外線近接センサ> シミュレータでは、物体の色にR

<キーボード>

キーボードを使用するためには、Run の後に、シミュレーションウィンドウをクリックしてアクテ

ィブにする。そうしないとキーボード入力を受け付けない。

<通信途絶>

キャリブレーション後に Bluetooth が通信途絶する場合は、バッテリが少ないか、e-puck のバッテ

リの接触不良の場合が多い。

「バッテリを入れ直す」、「電源を OFF-ON する」を行う。

あるいは、Bluetooth デバイスの相性の場合もある。パソコン搭載の Bluetooth を使用している場合

は、貸し出している Bluetooth アダプタを試すなどして解決する。

<Course Power 上で配付した参考資料>

紙コップは.wbt ファイルのモデルがある(第 4 回を参照、質量などは設定していない)

Webots 上で移動する物体が必要なとき:

第4回で作成した e-puck_only_new.wbo をインポートし、これに所望の形状をした Solid オブジェ

クトを取り付ける。また、所望の動きをするように別途 controller を作成する。

シミュレーション中にオブジェクトの translation を変更して、移動させることも可能だが、その場

合は、シミュレーションの完成度の評価に加点しない。

使用可能なヘッダファイルについて:

"C:¥Program Files¥Webots¥msys64¥usr¥include"以下にあるヘッダファイルはインクルード可能。

自作のヘッダファイルについて:

自作のヘッダファイルをインクルードする際、パスを指定しない場合は.c ファイルと同じフォルダ

を参照する。

自作のヘッダファイルに加えて、自作のソースファイル(分割)を使用する場合は、第4回テキスト

の 4-6 節に記載の作業が必要。

ファイル入出力について:

fopen()する際、パスを指定しない場合は.c ファイルと同じフォルダのファイルを開く。

参考:my_controller1_1_fileIO.c,input.txt

<Webots 特有のプログラミングにおける非推奨操作と対応>

コントローラの動作とシミュレーションウィンドウのツールバーは密接に関わっている。そのため、例

えビルドできたとしても、誤作動を起こすコーディングが存在する。

一定時間待機させるため、do{~}while()の中で無限ループ while(1)や sleep()を組み込む。

(対処方法)時刻の取得と時刻に応じた条件分岐を用いる。

異なった動作をさせるため、do{~}while()の中や、前後に do{~}while()を追加する。

(対処方法)条件分岐のみで実現できるよう、工夫する。

ヒント:my_controller3_2 では mode と云う変数を使って、直進動作とその場旋回動作を切り替えて

いる。

動作を強制終了させるため、}while(wb_robot_step(TIME_STEP)!=-1);に終了条件を追加する。

(対処方法)車輪の角速度を 0 に設定することで疑似的に終了状態とする。