MIRSMG4 管理台帳へ戻る

名称 Raspberry Pi での動作試験
番号 MIRSMG4D-SYST-0008
版数 最終更新日 作成 承認 改訂記事
A01 2017.04.18 牛丸真司 牛丸真司 初版
A02 2021.05.25 牛丸真司 牛丸真司 管理台帳フォーマットへの変更
A03 2022.05.31 牛丸真司 牛丸真司 内容の一部変更
A04 2022.06.14 牛丸真司 牛丸真司 単体で動作試験からtest_camera を削除、
3.の表の test_io の概要に加筆、表を3.と4.に分離

Raspberry Pi での動作試験

1. デバイス接続

2. RaspberryPi の起動とソースファイルの展開

  1. キーボード(USB)、マウス(USB)、ディスプレイ(HDMI)を接続し、Raspberry Pi を起動する。
    無線LANでつながる状態になっていれば、これらの機器を接続せず、teraterm 等で ssh でリモートログインして以下の試験を行うことも可能である。
  2. 以下のようにmg4_pi_ver4.0.1.tar.gz をダウンロードし、tar コマンドで展開、実行ファイルの作成、テストプログラムの実行を行う。
    
      wget https://www2.denshi.numazu-ct.ac.jp:/mirsdoc2/mirsmg4d/soft/num0006b/mg4_pi_ver4.0.1.tar.gz
      tar xvfz mg4_pi_ver4.0.1.tar.gz
      cd mg4_pi_ver4.0.1
      make
      ./test_item
    
    
    標準プログラムのバージョン番号(上記では 4.0.1)は、そのとき使用しているものに読み替えること。
    なお、wget コマンドでなくブラウザでダウンロードした場合、ブラウザが自動的にgzip圧縮を解いてしまうことにより、gzip: stdin: not in gzip format というメッセージが出て展開できないことがある。その場合は xvfzxvf に変更して、次のようにタイプして展開する。
       tar xvf mg4_pi_ver4.0.1.tar.gz

3. Raspberry Pi 単体での動作試験(機能試験)

上記のプログラムを展開したディレクトリにコンパイル済みのテストプログラムが用意されている。 以下の表のテストプログラムを用いて、Raspberry 単体での動作試験が可能である。

プログラム名概要
test_ioON/OFF IO のテスト(タッチセンサの場合、押されていないと1、押されていれば0を返す。)
タッチセンサが3個付いていることを前提にしたプログラムになっており、io.c のディフォルトピン番号は4,7.8となっている。 統合試験で使用する際は、io.c 内のピン番号の変数(int pin_sw_f/l/r)の値を実際に使用するピン番号に指定すること。標準のシールド(Raspberry Piへのディバス接続の実装図)では 7 または 15 を使用するようになっている。
test_uss 超音波センサ(I2Cアドレス 0x70, 0x71)の距離計測を行う。 超音波センサのI2Cアドレスの確認・変更手順にしたがって超音波センサのI2Cアドレスを確認し、アドレスが異なっている場合はソース(uss.c) 内の wiringPiI2CReadReg8の引数のアドレスを変更して make する。
test_captureUSBカメラの画像キャプチャをチェックする。
test_number数字認識が可能かをチェックする。(MIRS2015で使用した数字ボードを50cm~100cmの距離に置いて試験する。)
test_serverサーバとの通信のチェックを行う。事前にキー登録などを行っておく必要がる。

標準機製作時の機能試験は、上記のうち test_server の除いた 4つを実施する。

4. Raspberry Pi と Arduino と接続しての動作試験(統合試験)

以下の接続写真のように Arduino (それに接続されるデバイスを含む)を Raspberry Pi と USB接続して、以下の手順にしたがって下記の表のテストを行うことが可能である。
ただし、このRaspberry Pi と Arduino を接続しての試験は、標準機を実際に走行させて意味を持つものなので、標準機組み立て後に統合試験として実施すること。



Raspberry Pi と Arduino を USB接続した状態。標準機で使用するデバイス(センサおよびモータ)を全て接続している。

  1. Arudino プログラムの loop 関数で slave() を有効にし、かつ test_*() は全てコメントアウトして、 Arduino に転送する。
  2. Raspberry Pi と Arduino を USB 接続する。
  3. Raspberry Pi を起動し、いずれかのテストプログラムを実行する。

プログラム名概要
test_request直進、回転動作等の動作指令を Arduino に送り、そのとおり動作するかチェックする。
test_dir_num正体補正を行って数字認識を行う動作をチェックする。
test_position自己位置情報を取得する。