名称 | MIRS2205ソフト詳細設計 |
---|---|
番号 | MIRS2205-SOFT-0001 |
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2022.11.7 | 相川 将斗、長澤 稔幸 | 香川 | 第2版 |
本ドキュメントはてんこっこプロジェクトに関するソフトウェア詳細設計についてまとめたものである。
MIRS2205のソフトウェア担当メンバーを以下に示す。
相川、長澤
実現したい製品機能をtable1に示す。
機能 | 目的 | 方法 | 使用言語 |
---|---|---|---|
人の判別機能 | 人を判別し実際に本人がその場にいることを確認するため | カメラユニットを用い、寮生の画像を取得。そこからOpenCVを使用した画像認識で個人を判断する。 | python |
ID認識機能 | ID認証を行うことで本人がその場にいることを確認するため | ICカードリーダを用いて学生証をかざすことでIDを取得する。 | python |
表示機能 | 所在が確認できたこと、計測した体温を本人に確認してもらうため | ディスプレイにカメラユニットから取得した画像と点呼結果、体温を表示し、寮生の顔が正常に写っているか・点呼結果・検 温結果を寮生が把握できるようにする。 | python |
点呼結果書き込み・送信機能 | 関係者に点呼の結果を確認してもらうため | 点呼結果をcsvファイルに書きこむ。 寮の管理者が点呼結果を把握できるようにcsvファイルをOutlookを用いて関係者に送信する。 | python |
体温計測機能 | 寮生の体温を測定し健康状態を確認するため | 赤外線センサを用いて画像認識とともに寮生の体温を0.1度単位で計測する。 | python |
衝突回避機能 | 追尾などの移動時に障害物への衝突を回避するため | 超音波センサを使用し、常に前方の障害物との距離を計測、 一定距離に近づいたら衝突回避の動作をさせる。 |
C言語 |
通信機能 | 送信機能を使うため | 寮にあるWi-Fiを使い通信を行う。 | python |
ライントレース走行 | 棟内を走行するため | 寮の廊下に黒い線を引き、フォトリフレクタを用いてライントレースを行う。 走行用のラインとは別に扉の前の廊下に目印をいれ、フォトリフレクタを用いて寮生の扉の前で一時停止する。 |
C言語 |
以下に各端末に必要な機能を示す。
モジュール名 | 概要 |
---|---|
pilot.c | 初期設定および、全体の動作の制御 |
line.c | ライントレース走行の制御 |
uss.c | 超音波センサの読み取り |
banp.c | タッチセンサの読み取り |
python.c | Pythonとの通信 |
request.c | Arduinoへの動作指令 |
arduino.c | Arduinoとのシリアル通信 |
モジュール名 | 概要 |
---|---|
sleve.ino | Raspberry piとのシリアル通信 |
run_ctrl.ino | 走行制御 |
vel_ctrl.ino | 速度制御 |
motor.ino | モータ制御 |
distance.ino | 距離測定 |
encorder.ino | エンコーダ読み取り |
io.ino | I/Oポートの操作、読み取り |
モジュール名 | 概要 |
---|---|
py_pilot.py | 全体の動作の制御 |
face.py | 顔認証の制御 |
dataset.py | 画像を撮影 |
training.py | dataset.pyで得た写真を学習 |
recog.py | training.pyで学習したデータを基に顔認証を行う |
id.py | 学生証の読み取り |
data.py | データの記録 |
display.py | ディスプレイに点呼結果を表示 |
send.py | 点呼結果を関係者に送信 |
thermo.py | 体温測定 |
arduino.py | Arduinoとのシリアル通信 |
ソフト面における実際の動作をフローチャートにまとめたものをfig4に示す。
各パートごとの詳細設計のリンクを以下に示す