テストプログラムについて




1.uss_testについて
2.irs_ts_ws_testについて
3.irs_code_testについて
4.enc_testについて
5.system_checkについて
6.control_checkについて




1.uss_test

uss_appは超音波センサのテストプログラムである
出力例


センサ番号1から4まで順番に計測していく(つまり同時に複数のセンサで計測はできない)
このとき測定データは[mm]で表示され220mm以下は計測できない。
なぜ220mm以下は測定不可能であるかというと超音波センサは超音波を発信したとき発信した瞬間は受信信号は受け付けないようにしているためである。これは発信した瞬間、すぐ受信してしまうのを防ぐためである。もし発信した瞬間から受信信号を受け付けるようにしてしまうと測定データが0mm(あるいはものすごく小さい値)となってしまう可能性がある。
タイムアウトした場合は-999と表示される。
タイムアウトとは超音波を発信しても受信信号が帰ってこないことを指す。



2.irs_ts_ws_test


irs_ts_ws_testはタッチセンサ(ts)、赤外線センサ(irs)、白線センサ(ws)のテストプログラムである。
出力例


実行するとこのプログラムは周期スレッドでタッチセンサ、赤外線センサ、白線センサのon/offを 1 or 0 で表示する。
1は反応している
0は反応していない(無反応)



3.irs_code_test


irs_code_testは赤外線のコードを判別するテストプログラムである。ポストの電源を入れ赤外線センサに近づける。
出力例


irs_selctが赤外線センサの選択番号である。

このように対応している。irs 1 などの位置はセンサーマップ参照のこと。
irs_get_codeは赤外線コードがそのまま表示される。irs_get_codeが0の場合、コードが識別できていないことを示す。


4.enc_test


enc_testはロータリーエンコーダのテストプログラムである。ただし、タイヤは手動で回すこと。
出力例

これは左のデータ列が左のタイヤの回転角を示しており、右のデータ列が右のタイヤの回転角を示している。
回転角は[deg]であらわすのでタイヤを1回転させると360になる。
- は逆転というわけではなく両方のタイヤを正転させたとき上記のようになるのが正しい。
これは同じmotorを左右につけるため片方は逆転で正の値が返ってくるためである。


5.system_check


system_checkはpwm制御関数のテストプログラムである。実行すると次のようなメニューが表示される
出力例
と表示されるので1番から順にチェックを行う
1はDutyを-127〜+127で左右それぞれ指定する(このとき出力が段階的に増減することが確認できればよい)
2、3はPID(比例積分微分)モードである。距離[mm]または角度[deg]を指定する
4、5、6はLQR(最適レギュレータ法の中の制御法)モードである。距離[mm]または角度[deg]と時間[msec]を指定する


6.control_test


control_testは狭い範囲でポスト獲得の試験を行うためのプログラムである。半径1m以内にポストを2個置き、円の中心から30cm程度下がった位置でこのプログラムを実行する。