| 名称 | MIRS1802 ソフトウェア基本設計書 | 
|---|---|
| 番号 | MIRS1802-DSGN-0002-0003 | 
| 版数 | 最終更新日 | 作成 | 承認 | 改訂記事 | 
|---|---|---|---|---|
| A01 | 望月翔太 | 初版 | 
本ドキュメントは、MIRS1802のソフトウェア基本設計書である。
					MIRSへ搭載する機能を以下にまとめる。
					 - 既定の走行ルートを走行する。
					 - カメラを用いて落ちているゴミを検知する。
					 - 検知したゴミへ近づく。
					 - 音声でゴミの検知を通知する。
					 - ゴミ箱の満杯を検知する。
					 - 音声でゴミ箱の満杯を通知する。
					 - 電子コンパスを用いてMIRS本体の向いている方向を認識する。
					 - ゴミ箱の蓋の開閉をタッチセンサで認識する。
					 - 時間計測により待機と走行の状態を変化させる。
					 - 既定の位置へ帰還し待機する。
					 - 非常停止ボタンが押されたら停止する。
				
					 各機能を実現するためのモジュール構成を図と表に分け、Fig.1にRasPiモジュール構成図、Fig.2にArduinoモジュール構成図、Table.1にRasPiモジュール一覧、Table.2にArduinoモジュール一覧を示す。
				

| モジュール名 | 目的 | 
|---|---|
| pilot.c | 初期操作 | 
| main.c | 全体動作を管理するためのモジュール | 
| run.c | 走行を行うためのモジュール | 
| request.c | arduinoへ命令を送るためのモジュール | 
| arduino.c | arduinoとシリアル通信を行うためのモジュール | 
| uss.c | 超音波センサ読み取りのためのモジュール | 
| io.c | タッチセンサ読み取りのためのモジュール | 
| direction.c | 正対補正のための回転量を決めるためのモジュール | 
| position.c | 自己座標を保持するためのモジュール | 
| timer.c | 起動時間、停止時間を管理するためのモジュール | 
| trash_detection.c | カメラでゴミを検知するためのモジュール | 
| speak.c | 音声を出力するためのモジュール | 
| compass.c | 電子コンパスで方向を取得するためのモジュール | 
| モジュール名 | 目的 | 
|---|---|
| slave.ino | 各種の処理実行させるためのモジュール | 
| run_ctrl.ino | P制御でモータの速度制御を行うためのモジュール | 
| vel_ctrl.ino | PI制御でモータの速度制御を行うためのモジュール | 
| distance.ino | エンコーダ値をタイヤの走行距離に換算するためのモジュール | 
| encorder.ino | エンコーダ値のカウントのためのモジュール | 
| motor.ino | PWM値を与え、モータを動作させるためのモジュール | 
| io.ino | ioピン読み取りのためのモジュール | 
| raspi.ino | RaspberryPiと通信を行うためのモジュール | 
| infared.ino | 赤外線の値を取得するためのモジュール |