名称 MIRS1903 ソフトウェア詳細設計書
番号 MIRS1903-SOFT-0002

版数 最終更新日 作成者 承認者 改訂記事
A01 2019.12.13 芹澤正太郎・長井是親・村松岳志 初版

-目次-


1.ドキュメント概要

本ドキュメントはMIRS1903システム詳細設計書である。

2.モジュール構成図

Raspberry Pi 1台目の使用モジュールをFig.1に、2台目の使用モジュールをFig.2に示す。


1台目の使用モジュール
Fig.1 1台目の使用モジュール


2台目の使用モジュール
Fig.2 2台目の使用モジュール

Raspbery Piで使用するモジュール一覧を以下のTable.2に示す。
なお、本設計書ではディスプレイと接続された方のRaspberry Pi を2としてモジュールを定義した。


今回、新規に実装する関数についてのみ関数、引数を示した。それ以外の既存部分はMIRS4Gドキュメントに準じるものとする。

Table.2 Raspberry Pi 1モジュール一覧
モジュール名 動作概要 関数 引数 戻り値
pilot.c 全体的な操作 int main() void 0 or -1
request.c Arduinoに指令を出す void request_set_runmode(run_state_t state, int speed, int dist) int speed, int dist なし
uss.c 超音波センサを読み取る
int uss_open_l() なし 0 or それ以外
int uss_open_r() なし 0 or それ以外
long uss_get_l() なし 測定値[cm] or -1
long uss_get_r() なし 測定値[cm] or -1
*snag.c 障害物を検知したときの動作モジュール int snag() なし 0 or 1
*camera_snag.c カメラによる障害物検知の画像処理を行う camera_snug() なし 0 or 1
Table.3 Raspberry Pi 2モジュール一覧
モジュール名 概要 関数名 関数機能 引数 戻り値
*camera_bumpy カメラによる床のささくれの画像処理を行う int camera() 0 0 1(ささくれを検知)または0(ささくれを検知できなかった)
*display.py ディスプレイ表示を行う
_init_ 表示フレームの設定 parent なし
SetstartFrame 画面表示 なし なし
LengthSize 縦幅入力 なし なし
WidthSize 横幅入力 なし なし
StartBut 開始処理 なし なし
StopBut 停止処理 なし なし
*bumpy 床のささくれを検知したときの動作モジュール int bumpy() なし なし なし
「*」がついたものは新規作成したモジュールである

Arduinoで使用するモジュール構成を以下のFig.2に示す。


Arduino使用モジュール
Fig.3 Arduino構成モジュール

Arduinoで使用するモジュール一覧を以下のTable.3に示す。

Table.4 Arduinoモジュール一覧
モジュール名 概要 関数名 引数 戻り値
slave.ino Raspberry Piとの通信、走行制御を行う void slave() なし なし
run_ctrl.ino 走行制御を行う
vel_ctrl.ino 走行速度制御を行う
distance.ino 走行距離の測定を行う
encoder.ino エンコーダの読み取りを行う
motor.ino モータの制御を行う
io.ino ioピンの信号を取得する
raspi.ino Raspbey Pi との通信を行う

2.1 動作フローチャート

動作フローチャートを以下に示す。

Arduino使用モジュール
Fig.4 状態遷移図

また、いかに走行動作、床のはがれ検知用モジュールの動作、障害物検知用モジュールの動作を示す。

Arduino使用モジュール
Fig.5 走行動作
Arduino使用モジュール
Fig.6 床のはがれ検知用モジュールの動作
Arduino使用モジュール
Fig.7 障害物検知用モジュールの動作

2.2 ディスプレイ表示案

wxPythonを用い、GUIを作成する。ディスプレイ表示プログラムのモジュール構成を以下に示す。
言語:Python(ver. 3.7.0)
GUIライブラリ:wxPython(ver. 4.0.7)
画面には体育館の縦横のサイズ入力が可能な欄と開始、停止ボタンを配置する。
ユーザーの入力はタッチパネルの動作を想定する。

画面のデザインを以下に示す。

ディスプレイ表示案
Fig.8 ディスプレイ表示案


3.各パートへのリンク

各パートのドキュメントのリンクを以下に示す。

詳細設計書(メカニクス)
詳細設計書(エレクトロニクス)