| 名称 | 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 | 赤外線の値を取得するためのモジュール |