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