名称 MIRS1905 ソフトウェア開発完了報告書
番号 MIRS1905-SOFT-0002
版数 最終更新日 作成者 承認者 改訂記事
A01 2020/2/10 赤池寛太 初版

1.はじめに

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

2.内容・評価

2.1.走行プログラム

担当:佐塚
ソースコード(c言語|zipファイル)
main関数でパーまんが移動するために走行処理を行いつつ、超音波センサと状態遷移用LEDを点滅させるためのスレッドを2つ用意し、それぞれ走行中に正常に動作するか確認した。前者は一定の距離に障害物があると必ず停止し、後者は移動中だということを知らせるために走りながら背中を光らせるプログラムであった。前者のほうは元々組み込む予定があっただけあり完成度はかなり高かった。
しかし、走行中の外乱に弱いところや、安定した走行を実現することができないなど様々な問題点が残った。本来ならば外で走らせ社会実装を行う予定でいたが、そこまで至らなかった。

2.2.Arduino拡張プログラム

担当:佐塚・室伏
ソースコード(Arduino言語|zipファイル)
今回標準プログラムをベースとして拡張機能として昇降用モータ用、ライントレース用のプログラムを作成し、単体動作を確認したところ昇降用モータは詳細設計通り実装できたが、ライントレースはセンサの関係上うまく動作しなかった。

2.3.画像認識プログラム

担当:津川
ソースコード(python|zipファイル)
車を認識する精度、遅延ともに実用に耐えうると判断できる程度にできた。
Webアプリケーションに値を返す関数も問題なく機能した。
しかし、実際に運用するにはマルチスレッドもしくはそれに類するシステムの構築が必要であったが、そのシステムの実装には至らなかった。
また、現在のプログラムでは一台ずつの通過にしか対応していないという課題が残ってしまった。

2.4.プロセス間通信

担当:赤池
ソースコード(c言語・python※・bashスクリプト|zipファイル)
※疑似カウント用プログラム。RaspberryPiの処理性能では画像認識によるカウントを追加実装できなかったため。
今回、c言語でコーディングされたメインプログラムとpythonでコーディングされた画像認識プログラム間のプロセス間通信はbashスクリプトを経由して行った。理由としては、c言語とpython間の直接プロセス間通信が難解であったこと、両プログラムともRaspbian(linuxOS)上のシェルスクリプト上で動作していることが挙げられる。
このプロセス間通信は、指定した周期(1sec)での正常なプロセス間通信が行えたため、完成したといえる。
しかし、通信したいプログラムがともにシェルスクリプト上で実行されることが条件となる。また、データ受信はc言語内でforループ処理を用いて行っているため、応答性能を高めた場合、CPUに大きな負荷をかけてしまうため、今回のような限定的な用途にのみ使用できる。そのため、応用性は低いと考えられる。

2.5.WEBアプリケーション

担当:赤池
ソースコードは前項zipファイルに統合。WEBアプリケーションのリンク
今回WEBアプリケーションを製作するにあたり、フロントエンドはHTMLとCSS、バックエンドはJavaScriptを用いた。理由としては、ドキュメントマネージャを務めるにあたりHTMLとCSSに触れたこと、JavaScriptのコーディングをしたことがなく、この機会に学習したいと考えたことが挙げられる。
今回はMIRSからのデータ受信のみを実装し、指定周期(3sec)での更新に対応することができた。しかし、このプログラムも前項のように限定的に使用できるものである。
理由として、シェルコマンドあるscpコマンドを使用しているためlinuxOS上でプログラムが動作している必要がある。また、scpコマンドはインターネット回線速度に大きな影響を受けるため、インターネット回線が不安定な場合、動作に深刻な遅延が生じてしまう。
今回のMIRS発表会は会場が体育館でKDDIによる回線が安定しており、自身のスマートフォンがテザリング可能であったため、深刻な動作遅延は起きなかった。そのため今回のMIRS発表会用アプリケーションとしては完成したといえる。

3.総括

駐車場管理ロボットしての自分たちが目指していた単体の機能は完成した。
しかし、計画では社会実装までこぎ着けていたはずなのに結果として単体までしか完成させることができず、予定より大幅に計画がくるってしまった。
また、画像認識プログラムとWeb上でのカウントができなかったことは残念であった。
全体の開発を終えて、今まで経験したことないシステム開発などを行えたのでソフトチームとしてはとてもよい経験になった。将来この経験を活かしていきたい。