名称 | MIRS2104基本設計書(ソフト) |
---|---|
番号 | MIRS2104-DSGN-0004 |
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A02 | 2021.10.04 | 浅野悠也・尾崎優太 | 香川先生 | 第2版 |
機能名 | 目的 | 詳細 |
---|---|---|
音声出力機能 | 子供を案内するため | 音声で子供に話しかけ、横断歩道をわたる。子供が接近したことを検知したら動作する。 |
握手検知機能 | 子供と手をつないでいることを認識するため | タッチセンサを用いて子供がロボットに取り付けられている手を握っていることを検知し動作する。 |
横断機能 | 子供と同時に横断するため | 直進する。 |
登下校記録機能 | 保護者に対して子供が安全に登下校していることを通知するため | ICカードリーダーを用いて子供の登下校を記録し、保護者に通知メールを送る。 |
横断行動評価機能 | 車の接近状況から子供の横断を評価するため | 車の位置及び子供の横断の情報から、子供の横断を評価する。 |
子供接近検知機能 | 子供が接近を検知するため | カメラ若しくはセンサを用いて、ロボットに子供の接近を検知させ、接近を検知押したら音声を出力する。 |
接近検知機能 | 人や障害物が接近した際に動作を停止するため | 超音波センサを用いて人や障害物を検知し停止する。 |
緊急停止機能 | 問題発生時に緊急停止するため | 緊急停止ボタン押下検知時にすべての動作を停止する。スマートフォンからの遠隔操作も可能にする。 |
遠隔操作機能 | スマートフォンで特定の操作を遠隔で行う | LINE APIを用いて遠隔でMIRSに発進、停止等の操作を行えるようにする。 |
機能名 | 目的 | 詳細 |
---|---|---|
スタート | MIRSを待機状態にする | 子供が接近するまでMIRSを待機させる。 |
ストップ | MIRSをその場で停止させる | MIRSをその場で停止させる。スタートにより再始動する。 |
緊急停止 | MIRSの全動作を強制的に止める | MIRSと通信したまま全動作を強制的に終了させる。MIRSを再起動することにより再使用が可能になる。 |
手動操作 | MIRSを特定の操作可能な状態にする | 直進、回転などの標準プログラムの動作を遠隔で使用可能にする。 |
状況表示 | MIRSの動作状態を画面に表示する | MIRSの動作状況をスマートフォンに表示する。 |
Fig.1 動作フローチャート
Arduinoのモジュール構成をFig.2に示す。水色のモジュールについては新規で作成を行う。また、Fig.2のモジュールの詳細をTab.3に示す。
Fig.2 モジュール図
Tab.3 モジュール詳細
モジュール名称 | 用途 |
---|---|
ino_control.ino(新規作成) | RaspberryPiとの通信を行う |
emergency.ino(新規作成) | 非常停止用動作プログラム。LINE APIからの非常停止指示に基づき停止動作を行う |
run_ctrl.ino | 走行系制御 |
vel_ctrl.ino | 速度制御 |
motor.ino | モータ制御 |
distance.ino | 距離計測 |
encorder.ino | エンコーダ読み取りモジュール |
io.ino | I/Oポートの操作 |
RaspberryPiには、C言語モジュールによる実装を主とし、Python言語モジュールを補助的に利用する。
RaspberryPiのモジュール構成をFig.3に示す。水色のモジュールについては新規で作成を行う。また、Fig.3のモジュールの詳細をTab.4に示す。
Fig.3 モジュール図
Tab.4 モジュール詳細
モジュール名称 | 用途 |
---|---|
py_con.py(新規作成) | 初期設定および、全体の動作を司る |
python.c(新規作成) | Pythonプログラムを通信を行う |
c_request.c | Arduinoに命令を送る |
aruduino.c | Arduinoに命令を送る |
uss.c | 超音波センサの読み取り |
get_image.c | 画像撮影を行う |
RaspberryPiのモジュール構成をFig.4に示す。水色のモジュールについては新規で作成を行う。また、Fig.4のモジュールの詳細をTab.5に示す。
Fig.4 モジュール図
Tab.5 モジュール詳細
モジュール名称 | 用途 |
---|---|
py_con.py(新規作成) | 初期設定および、全体の動作を司る |
line.py(新規作成) | LINEの送受信を行う |
speaker.py(新規作成) | スピーカーの制御を行う |
py_request.py(新規作成) | Arduinoに命令を出す |
iccard.py(新規作成) | ICカードリーダーの制御を行う |
iden.py(新規作成) | 横断歩道上の識別を行う |
各パートのリンクを以下に示す。
基本設計書(全体)
基本設計書(エレキ)
基本設計書(ソフト)
基本設計書(ハード)