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

版数 最終更新日 作成 承認 改訂記事
A02 2022.2.4 真木祐弥 渡邊敬矢 山口卓人 香川誠人 第2版

目次


1.はじめに

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

2.ソースコード

作成したプログラムのソースコードへのリンクを以下に示す。
これらのファイルはZIP形式でダウンロードされる。
/mg4_pi_ver4.0.0
/basis_flames :比較対象画像用フォルダ
/build
/img
/include :ヘッダファイル格納フォルダ
/input :python-C間通信用フォルダ
/output :python-C間通信用フォルダ
/src :ソースコードのフォルダ
/temp_flames :撮影した画像の保存フォルダ
*.py *その他実行ファイル
/mg4_arduino_ver320 :ソースコード(構造は詳細設計ドキュメントに記載)
            
            
ParCle_raspberry piプログラム
ParCle_Arduinoプログラム

3.画像処理モジュール詳細

使用するソースコード: ARMD.py damage_detect.py

カメラで取得した画像から、openCVを用いたホワイトボードに貼った4つのARマーカーで囲まれた部分にホワイトボード用マーカーで書かれた汚れの認識を行う機能。
取得した画像のARマーカーで囲まれた部分に対して、線形変換を行うことで、撮影した方向に依存せず、正面からの視点で比較が可能である。 取得した画像と元データの傷、汚れのない画像を比較し、差分画像の値が高い場所を異常個所として検出する。
開発が完了した機能の評価は以下のとおりである。

   ParCle_異常検出機能 試験報告書

4.洗浄動作アーム制御詳細

使用するソースコード:  height_ctrl.ino pressure.ino motor.ino run_ctrl.ino dig_a_ctrl.ino

アームでは、アーム先端の垂直動作を実現するにあたり、逆運動学を用いて、アーム先端の高さhを入力、 アームの角度Θを出力とする計算を行い、Θに従属する変数として、モーターの移動距離rを取得する。
またPID制御器は、rから足回りへの出力、Θからアーム用モータへの出力の二つを用意する。

また、車体の壁面の凹凸に対応するために、アーム先端の圧力センサを一定値に保つように、 足回りに関するPID制御器の入力に圧力センサの値をベースにフィードバックをする。

開発が完了した機能の評価は以下のとおりである。

   ParCle_洗浄機能 試験報告書

また動作のイメージをそれぞれfig.1に示す。


fig.1 アーム洗浄動作のイメージ図


5.ライントレース制御詳細

使用するソースコード:  linetrace.ino motor.ino run_ctrl.ino
フォトリフレクタで得た値から白線上での走行、洗浄動作後のライントレースへの復帰、回転を行う機能。
白線を踏んでいるフォトリフレクタの数と位置から場合分けを行う。
発表会本番のデモ動作の時もそうだったが、動作が全体的に不安定だった。
センサの値が安定しないことに対応できるよう根本から動作原理を変えるか、センサの変更など対応を早くすべきだったと思う。
開発が完了した機能の評価は以下のとおりである。

   ParCle_ライントレース機能 試験報告書

6.Arduino RaspberryPi間通信プロトコル詳細

使用するソースコード:  raspi.ino arduino.c
状態表示灯の色情報をArduinoに常に送信するために、fig.2のように通信プロトコルを変更した。
旧プロトコルではArduinoに送信する状態IDに2byte変数を使用していた。これは-32768~32767の範囲の数字を扱えるが、
状態IDは多くても10個程度しか作られないため、半分の1byte分に状態表示灯の色番号を乗せた通信プロトコルに変更した。

fig.2 動作の一連の流れ

7.ソフトウェア統合詳細

使用するソースコード:  pilot.c
電源ボタンを押してから点検が終了するまでの一連の流れを、各モジュールの機能を統合する。
各モジュールの使用箇所とその大まかな流れは以下のfig.3にフローチャートにて示す。
また、全体の流れを制御するのはraspberryPi上のPilotプログラムである。

fig.3 動作の一連の流れ
開発が完了した機能の評価は以下のとおりである。

   ParCle_ソフトウェア統合 試験報告書



MIRS 2103 ドキュメント管理台帳

MIRS DATABASE