名称 MIRS2304 ソフトウェア開発報告書
番号 MIRS2304-SOFT-0003

版数 最終更新日 作成 承認 改訂記事
A01 2024.01.29 中野光稀,長岡さゆり,野村洸達 初版
A02 2024.01.29 中野光稀,長岡さゆり,野村洸達 香川 第2版
「7.総括」を修正

目次



1.ドキュメント概要

本ドキュメントはPETBOTのソフトウェアの開発完了報告書である。


2.自動運搬機能

自動運搬機能のプログラムはraspberryPiのrun()関数にまとめられており、pilot()関数から呼び出されている。
ペットボトルが投入された回数が規定回に達するとrun()関数が呼びだされる。


2.1.モーター駆動

2.2.基本走行

2.3.ライントレース

2.4.衝突回避

2.5.アーム駆動



3.投入機能

投入機能のプログラムはraspberryPiの input() 関数にまとめられており、 pilot() 関数から呼び出される。
ペットボトルが1つ投入されると input() 関数が終了する。投入本数の管理は pilot() 関数で行っている。
投入機能のプログラムでは、ペットボトルとキャップの投入判断、ペットボトルの分別判断、そして投入防止板の制御を行っている。

3.1 投入判断

3.2 分別判断

3.3 投入防止板の制御



4.状態表示機能


5.報告書

ソフトウェア詳細設計書、単体試験報告書へのリンクを下に示す。

ソフトウェア詳細設計書

ソフトウェア単体試験報告書.pdf


6.ソースコード

PETBOTのソースコードを以下に示す。

PETBOTソースコード


7.総括

モータ駆動の部分はもう少し詰められると感じた。止まるときにだんだん速度を遅くするプログラムを途中まで使っていたが、原因不明のバグのせいで使えなくなってしまったのが残念である。
しかし、エレベータのボタンはスムーズに押せたため良いプログラムを作れたと思う。

投入部についてはキャップ検知の部分で誤作動があった。しかし、ペットボトルの投入判断については、ほとんど誤動作がなかったため評価できる。
分別判断については透明な液体やラベルが投入されたときに誤動作が目立った。
社会実装実化を経て、カラーセンサーの増設や重量センサの使用が改善案として挙げられた。

全体においては想定通りの動きができたため評価できる。


稼働実績の表を表1に示す。

表1.稼働実績

この表から分かることを以下に示す。ここで、空白部は回収をしなかった時間帯である。

この結果を元に考察する。

 朝は回収が1本もされなかったのは、朝は飲み干したペットボトルがないと考えられる。しかし1,2限と3,4限の間には回収されていた。 また、木曜日のデータを見ると放課後も回収されている。これはその日に飲み終わったペットボトルを回収したと考えられる。そのため毎日回収するなら朝に設置し、放課後回収するのがよいと思う。
 しかし、量がたまったら自動的に中身を捨てるシステムなため、夜も常設しているのも面白いと思った。

 平均して1日に16.2本回収された。放課後までおいてない日は回収量が少ないが、この3日も多くても1日20本程度と考えられる。PETBOTの内容量は27本程度が限界なため1日に1回、放課後に中身を捨てれば人のいない時間に移動することができると考えられる。


 また追加の考察として以下の2点があげられる。

 稼働中にraspberryPiのバッテリー交換は行わなかった。放課後から次の日にかけてバッテリーを充電していた。そのため、バッテリー残量は1日持ったため回収を行わない時間帯に充電ができればバッテリーは足りる。
 駆動用バッテリーは自動運搬にしか使わなかった。

 起動は1分もあれば終わったため、気になるほど遅いということもなかった。


8.各パートへのリンク

MIRS2304 メカニクス開発報告書
MIRS2304 エレクトロニクス開発報告書





MIRS DATABASE