MIRS1703 管理台帳へ戻る
名称 MIRS1703ソフトウェア開発完了報告書
番号 MIRS1703-REPT-0003A

最終更新日:2018.2.7

版数 最終更新日 作成 承認 改訂記事
B01 2018.2.7 片岡駿介 峯慎平 牛丸 初版

ドキュメント内目次


1. 目的
2. 製作プログラム一覧
3. プログラムの完成度評価
4. リンク
5. 総括

1. 目的

本ドキュメントはMIRS1703が開発したMIRSにおけるソフトウェアの製作内容と試験結果を示すものである。

2. 製作プログラム一覧

MIRS1703が製作したプログラム一覧を以下に示す。

2.1 製作プログラム概要

2.2 構成ファイル

Table1 ファイル構成
モジュール名 構成ファイル 概要
WEB
index.html 注文を入力するためのフォームを提供している。
orderform.js セレクトボックスの選択の検出や現在の注文をWEBフォーム上に表示する関数など。
main
cgi.py フォームデータの取得、処理を行う。
request.py キーボード入力で指令コードを受け付ける(WEBを介さない操作用、緊急停止も可能)。
arduino.py Arduinoとシリアル通信して文字コードを送受信する。
avoid
uss.py 超音波センサのオープンと値の取得。
avoid.py 超音波のオープン、初期化。障害物の検知→走行の停止、音の再生。
music.py 録音した音を流す。
linetrace
linetrace2.ino ラインセンサ値の取得、PID制御による走行、分岐判断を行う。
put
catering.ino 押し出し用のモーター制御を行う。
other 既存プログラムを改修、流用した。
mg4_develop2.ino メインプログラム。シリアル通信後、ライントレースを呼び出す。
distance.ino 既存プログラムを流用。
encoder.ino 既存のものからエンコーダーのピン割り当てを変更した。
io.ino タッチセンサ、ラインセンサに関する変更と関数の追加。
motor.ino 天板用モータに関する追記。
raspi.ino 受信データによる条件分岐を追加。
run_ctrl.ino 既存のプログラムを流用した。
slave.ino 既存のプログラムを流用した。
test.ino 角度指定の関数にラインセンサの値による調整動作を加えた関数の追加。
vel_ctrl.ino 既存のプログラムを流用した。

3. プログラムの完成度評価

1. 注文

WEBフォームにアクセス、注文することでMIRSを動作させることができた。注文データによるルートの分岐も確認できた。
発表会に来ていた人もスマホを使って注文をすることができ、評判がよかった。シンプルな仕組みだったので完成度も高かったといえる。

2. 障害物検知

単体試験では正常に動作したが、統合段階でエラーが発生し搭載することができなかった。
走行しながらの試験をより早くに行っておくべきだった。

3. ライントレース

ラインを読んでの直進、停止、分岐点の認識やPID制御による走行の補正はできた。
しかし、床や照明の影響により動作が不安定になってしまった。発表会では環境が変わったこともあり誤動作が多く、実際の動作環境を想定した試験と調整が不十分だった。

4. 押し出し

モーターの出力調整を行い、お盆を確実に押し出すことと、載せたペットボトルを倒さないことは実現できた。
押し出しバーの端への到達検知のためのタッチセンサは誤動作もみられたが、プログラムで補正した。
根本的な原因は、タッチセンサにプルアップ抵抗をつないでいないため、電圧が不安定になっていたことだった。
しかし、お盆のがたつきやテーブルに押し出したときにお盆がすべってしまうことなど調整不足を感じた。


4. リンク

RaspberryPiのプログラム
mir1703_RaspberryPi.zip

Arduinoのプログラム
mir1703_Arduino.zip

5. 総括

作業計画の見立てが甘かったこと、他パートとの連携と情報共有が不十分だった。
また、他パートの開発待ちになり、一度に行う作業が増え負担が大きくなることが起きた。
結果、実装予定の機能を省き、実装した機能の試験にも十分な時間をとることができなかった。
ライントレース、配膳のプログラム自体はテスト段階では設計通りの動作をしていた。
しかし、体育館で使用するために購入したシートの影響と、エンコーダーのパルスは正常に出ていたが、
エンコーダー値のカウントのずれが消えず、動作が不安定になった。
プログラムによる補正を試みたが、試験をできる時間が限られていたため、満足のいく結果は得られなかった。
開発していた音声、超音波機能は統合の段階でエラーが発生したため、発表会の場では披露できず残念だった。
反省点をまとめると、計画の甘さ、不具合に対する場当たり的な対処、情報共有の不足。
また、発表会では動作が地味だったり、乗せているものがペットボトルであったり、見た目の印象が悪く、
見学者からしてもわかりづらかったかと感じた。
良かった点としては、今までに学んだことがない言語に触れることができたこと、自分たちで考えたアイデアを元に開発の経験を積めたこと、
発生した不具合の原因を考えて適切な対処ができた部分があったことなどである。

MIRS1703 管理台帳へ戻る
上矢印