名称 |
MIRS1901 詳細設計書(ソフトウェア) |
番号 |
MIRS1901-SOFT-0001 |
版数 |
最終更新日 |
作成者 |
承認者 |
改訂記事 |
A01 |
2020.02.10 |
佐藤 |
|
第2版 |
ドキュメント内目次
1.はじめに
本ドキュメントは、MIRS1901 Cocktail Projectの詳細設計(ソフトウェア)に関するものである。
2.機能概要
機能概要をtable1に示す。
Table.1 機能概要
機能 |
内容 |
走行機能 |
webアプリで入力されたプログラムをもとに動作する。
基本動作指令(逐次処理)(例:10秒なにもしない)
割り込み条件指定(例:もし何かが当たったならば、10秒前に進む)
|
webアプリによるプログラミング機能 |
基本動作指令(逐次処理)(例:10秒なにもしない)
割り込み条件指定(例:もし何かが当たったならば、10秒前に進む)
|
led機能 |
プログラムで指定されると機能する。(LEDパネル) |
感圧機能 |
Arduinoへ命令を送る |
超音波センサ |
mirs本体についている。プログラムで指定されると機能する。 |
3.モジュール構成
Table.3 Arduinoのモジュール
モジュール名 |
概要 |
motor |
モーターのPWM制御 |
encorder |
ロータリーエンコーダー値のカウント |
distance |
エンコーダー値を走行距離に変換 |
vel_ctrl |
モーターの速度PI制御 |
run_ctrl |
機体の直進、回転のP制御 |
io |
ioピンのデータの取得 |
raspi |
RaspberryPiとの通信 |
slave |
RaspberryPiとの命令で動作 |
*border |
境界線の検知 |
"*"がついているものが新規に作成するモジュールである。
Fig.2 Arduinoモジュール構成図
4.フローチャート
3.1 主要動作
3.2 mirs側動作
3.3 webアプリ動作
主要動作を図.1に示す
図.1 主要動作フローチャート
5.スレッド構成
スレッド構成は以下の通りになる。
・アプリスレッド
・動作スレッド
・通信スレッド
6.テスト項目
機能ごとのテスト
テスト名 |
テスト内容 |
アプリテスト |
アプリでプログラムすることができ、 CSVに変換されてmirsに送信されるか
|
CSV受け取りテスト
(app→mirs) |
mirsがcsvを受けとることができるか
|
走行テスト |
送信されたプログラム(csv)通りに走行できるか |
外部入力テスト |
感圧装置が機能するか、超音波が機能するか |
外部出力テスト |
LEDが発光するかどうか(ストラックアウト時ボールが当たった際発光する) |
.
7.コーディングルール
・インデントをそろえる。
・引数、関数はアルファベット小文字を使用し、2単語以上はアンダーバーで仕切る。
・関数名は頭にモジュール名を付ける。
・プログラム再編集時は編集前のファイルを別ファイルに保存し、変更点をメモ帳等に文章でまとめる。
MIRS1901 管理台帳へ戻る