沼津高専 電子制御工学科 | ||||||
| ||||||
改訂記録 | ||||||
---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||
A01 | 2004.05.17 | 瀬川 | 牛丸 | 初版 | ||
A02 | 2005.04.27 | 牛丸 | 牛丸 | ドキュメント番号を所得 | ||
A03 | 2005.06.8 | 牛丸 | 牛丸 | ディレクトリの記述をバージョンに依存しないように変更 |
目次
本ドキュメントは、MIRSSTNDのソフトウェア動作試験に関する手順をまとめたドキュメントである。
ソフトウェアのチェックをするために準備するもの
ソフトウェアのチェックをするための環境設定の確認
7.駆動系のテストを行う場合は、キーボード,ディスプレイの延長ケーブルと長い電源ケーブルをつけて標準機を起動する。これでディスプレイとキーボードを使用したまま接地走行が可能となる。
Alt+F2でコンソール2に切り替えてからログインする。
> cd /home/atlmirs/mirs_std
> ./uss/uss_test
> ./irs_ts_ws/irs_ts_ws_test
> ./irs_ts_ws/irs_code_test
> ./pwm_enc/enc_test
駆動系のテストを行う前に以下のことを行う。
・駆動用バッテリを接続する。
・駆動用電源ボタン(緑)を押す。
> ./pwm_enc/system_check
各センサがすべて正常ならば、最後にポスト獲得試験を行う。これは今まで接続していたキーボードやディスプレイをすべてはずしてテストを行う。以下の手順を参照のこと。
1.いったん電源を落とす。
2.キーボードからテンキーに付け替える。
3.電源を安定化電源からバッテリーに付け替える。
4.ディスプレイケーブルをはずす。
5.電源を入れる(システム+駆動用)。
6.起動したらNumLockを押す。
> 22 aliasで22はcontrol_testが関連付けられている。
標準機の終了方法
ポスト獲得試験プログラムが正常に終了した場合:
> 666
ポスト獲得試験プログラムが正常に終了しない場合:
ディスプレイとキーボードを接続する。別コンソールでログインし、プロセスを停止(kill)させた後haltをする。
uss_test
uss_appは超音波センサのテストプログラムである。実行画面の出力例を以下に示す。
uss[1] = 245mm uss[2] = 300mm uss[3] = 220mm uss[4] = -999mm uss[1] = 250mm ・ ・ ・ ・ ・ ・ ・ ・ ・
例のようにセンサ番号の1から4まで順番に計測していく(同時に複数のセンサで計測はできない)。このとき測定データは[mm]で表示され、220mm以下は計測できない。また、タイムアウトした場合は-999と表示される。プログラムの終了はCtrl+Cで行う。
注:超音波が地面に反射して正確な値が取れない場合は筒を半分くらいに切ったもので反射を抑制する必要がある。
すべての超音波センサが指定した距離を測れているか確認できればよい。
irs_ts_ws_test
irs_ts_ws_testはタッチセンサ,赤外線センサ,白線センサのテストプログラムである。実行例を以下に示す。
TS[1] = 1 TS[2] = 0 TS[3] = 1 TS[4] = 1 IRS[1] = 0 IRS[2] = 0 IRS[3] = 0 IRS[4] = 1 WS[1] = 0 WS[2] = 0 WS[3] = 1 WS[4] = 0 TS[1] = 1 TS[2] = 0 ・ ・ ・ ・ WS[4] = 0
実行するとこのプログラムは周期スレッドでタッチセンサ(TS),赤外線センサ(IRS),白線センサ(WS)のON/OFFを1 or 0で表示する。1がセンサが反応しているときで0が無反応のときである。プログラムの終了はCtrl+Cで行う。
注:WSが反応しないときは抵抗値を変えることで感度が上がる。
すべてのセンサが反応するか確認できればよい。
irs_code_test
irs_code_testは赤外線のコードを判別するテストプログラムである。ポストの電源を入れ、赤外線センサに近づける。以下に実行例を示す。
irs_select=1 irs_get_code=2 irs_select=1 irs_get_code=0 irs_select=1 irs_get_code=0 irs_select=1 irs_get_code=2 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・
irs_selectが赤外線センサの選択番号である。センサ番号の1〜4が irs_selectの0〜3にそれぞれ対応している。irs_get_codeは赤外線のコードがそのまま表示される。上の例ではセンサ番号2番に赤外 線コードの2が入ってることを示している。また、get_codeが0のときには検出できていない。ただし、このテストプログラムは現在の仕様ではirs_selectは常に1である(ソースのループ回数をいじってある)。プログラムの終了はCtrl+Cで行う。
注:ポストの赤外線コードはディップスイッチの6が最下位bitであり、コード番号を二進数で入れる。
ポストの赤外線コードが読み取れることが確認できれば良い。
enc_test
enc_testはロータローエンコーダのテストプログラムである。ただし、タイヤは手動でまわす必要がある。以下に実行例を示す。
-0.314000 0.172700 -1.067600 0.753600 -2.669000 2.402100 -4.443100 4.364600 -5.918900 6.013100 -7.174900 7.394700 -8.760600 9.011800 -10.833000 10.895800 -13.093800 12.983900 -14.648100 14.601000 -15.951200 16.108200 -17.756701 17.976500 -20.001801 20.205900 -22.074200 22.215500 -23.895399 23.879700 -25.339800 25.167101 -26.988300 27.145300 -28.903700 29.296200 -30.819099 31.180201 -32.608898 32.844398 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・
これは左のデータ列が左のタイヤの回転角を示しており、右のデータ列が右タイヤの回転角を示している。回転角は[deg]で表示するため、タイヤ一回転で360である。また、-が逆転というわけではなく、両方のタイヤを正転させたときに上記のようになるのが正しい(同じMotorを左右につけるため片方は逆転で正の値が返ってくる)。プログラムの終了はCtrl+Cで行う。
上記のようにならない場合は配線が逆であるため、ソフト側で+,-の変更をするか、正しい配線に戻すかの作業が必要になる。
タイヤを左右ともに正転させたときに上記例のように左が-,右が+になることと、タイヤを一回転させたときに360になることが確認できればよい。
system_check
system_checkはpwm制御関数のテストプログラムである。実行すると次のようなメニューが表示される。
Please Input Mode Number 1:pwm_both_data check --> (no control) duty only (-127 to 127) 2:pwm_straight check --> (pid control) go straight as far as reserved distance 3:pwm_rotate check --> (pid control) rotate on the spot 4:pwm_lqr_straight check --> (lqr control) go straight as far as reserved distance 5:pwm_lqr_rotate check --> (lqr control) rotate on the spot 6:pwm_lqr_circle check --> (lqr control) rotate around a something 7:Exit This Menu Select Number =
と表示されるので、1番から順にチェック行う。
1はDutyを-127〜+127で左右それぞれ指定する。
2,3はPIDモードである。距離[mm]または角度[deg]を指定する。
4,5,6はLQRモードである。距離[mm]または角度[deg]と時間[msec]を指定する。
1はDuty比によって出力が段階的に増減することが確認できればよい。2〜6は指定した距離,角度移動することが確認できればよい。
control_test
control_testは狭い範囲(フィールド)でポスト獲得の試験を行うためのプログラムである。半径1m以内にポストを二個置き、円の中心から30cm程度下がった位置でこのプログラムを実行する。
関連文書 |
---|