名称 MIRS2103 ソフト基本設計書
番号 MIRS2103-DSGN-0003

版数 最終更新日 作成 承認 改訂記事
A03 2021.10.11 真木祐弥 大沼先生 第3版

目次


1.はじめに

本ドキュメントはMIRS2103のソフトウェアの基本設計書である。
ソフトでは基本設計書に書かれている機能のうち
1.異常検知機能
2.洗浄機能
3.走行機能
4.衝突回避機能
5.レポート機能
6.ナンバー認識機能
8.制御機能 の実装に関与する。

本ドキュメントで用いる用語の定義を以下のTable1に示す。
Table1.用語一覧
用語 定義
電源ボタン Parcleの電源のON/OFFを操作するボタン
緊急停止ボタン Parcleの電源を遮断し停止するボタン
HOME Parcleが電源ボタンを押されるまで待機している地点
BASE Parcleがナンバープレートを読み取る、車の正面の位置
点検準備 傷、汚れの報告。タンクの残量の確認。不足していればその報告、管理者によって補給されるまで待機
サーバー カーシェア登録されている車両のナンバープレートの番号、その車両を点検する際のルートのデータが管理されている場所。ユーザー側には解放されていない
異常 画像認識から判断する傷や汚れの総称
レポート機能について、より詳細な定義を以下に示す。
傷、汚れの報告はカメラで撮影した写真を管理者に送信する
タンクの残量は水位センサーからパーセントで入手し、不足していれば管理者のディスプレイに表示する。

2.制約条件

屋内/晴天時の屋外
舗装路面のみの駐車場で、気温は30度以下であること
路面が濡れたり凍結したりしていない
傷、汚れの大きさはカメラの分解能から認識が難しい小ささ。洗浄範囲おさまる大きさであることが条件
車が駐車場の枠外に駐車された場合は動作を保証しない

3.動作概要

Parcleの動作に対する状態一覧を以下に示す。
Table2.状態一覧
STATE 動作
WAIT HOMEで車を待機
JUDGE 車を特定
INSPEC 車の周囲を周り、カメラで傷、汚れを探す。傷、汚れを判断する
WASH 傷、汚れの部分を洗浄する
HOMING HOMEに戻る


上記の状態遷移を図にしたものを以下に示す。

fig1.状態遷移図


動作の大まかな内容と、対応する状態を以下に示す。

1.ParcleはHOMEで待機 :WAIT
2.起動ボタンを押されたら、ライントレースでBASEまで移動する :JUDGE
3.BASEでナンバープレートの4桁の数字を画像認識で読み取り、サーバーにアクセスすることで車両を特定。点検のルートを決定する :JUDGE
4.点検のルートをたどりながらカメラで車体を動画で撮影しながら、傷、汚れを探す :INSPEC
 (傷、汚れがある場合)
 4.1.傷、汚れの部分を写真で撮影する :WASH
 4.2.傷、汚れの部分を洗浄する :WASH
 4.3.洗浄した部分を再度動画で撮影して画像認識を行い、傷、汚れと認識する部分が残っていれば傷。残っていなければ汚れと判断する :WASH
5.車からHOMEに戻る :HOMING
6.HOMINGのレポートを行う :HOMING
 (傷、汚れがある場合)
 6.1. 管理者に写真で傷、汚れを報告する :HOMING
 (タンクの残量が不足していた場合)
 6.2.管理者にタンクの残量が不足していることを報告。補給されるまでHOMEで待機する :HOMING
7.起動ボタンが押されるまでHOMEで待機する状態に戻る :WAIT


以上の動作のほかに、安全のための割り込み処理が存在する。
割り込みの条件は緊急停止ボタンが押される、電源ボタンが解除される、超音波センサが人や障害物を検知、タッチセンサが人や障害物を検知した場合である。
安全のための割り込み処理を条件と動作に分けて以下に示す。

Table3.安全のための割り込み処理
条件 直後の動作 停止後の動作
電源ボタンの解除 停止 状態をHOMINGに変更し、HOMEに戻る
超音波センサが反応 停止 10秒未満の時間で超音波センサが反応しなくなった場合、動作を再開。10秒以上反応し続けたらHOMEに戻る。
タッチセンサが反応 停止 10秒未満の時間でタッチセンサが反応しなくなった場合、動作を再開。10秒以上反応し続けたらHOMEに戻る。
緊急停止ボタンの押下 停止 緊急停止ボタンが押下されて電源が遮断されたことを電圧から読み取り、状態をHOMINGに変更する。電源復旧後、電源ボタンが解除されたらHOMEに戻る
以上の動作をフローチャートにしたものを以下のfig2に示す。


fig2.フローチャート

Parcleの動作を図にしたものを以下に示す。


fig3.動作例

4.ソフト構造

以下の図にParcleのソフト構造を示す。fig4がRaspberry Piについて。fig5がArduinoのソフト構造である。


fig4.ソフト構造(通常)_Raspi


fig5.ソフト構造(割り込み)_Raspi


fig6.ソフト構造_Arduino


以下の表にraspiの基本モジュールとその機能、使用するモジュール群を示す。

Table4.raspi基本モジュール




以下の表にarduinoの新規モジュールの説明を示す。
Table6.arduino新規モジュール


5.技術検討項目

5.1.ナンバープレートの画像認識

アーム機構先端部についたカメラで画像認識を行い、ナンバープレートの4桁の数字を認識する。
標準プログラムの一部を変更して実装する。

変更箇所


認識する数字の数を一つから四つに変更
数字を読みとる範囲を長方形エリアのエッジ抽出で行っている部分を変更する

5.2.傷、汚れの画像認識

カメラで車体の映像を撮影し、傷、汚れのついていない状態の車体のデータと比較することで傷、汚れの有無を判断する。
撮影箇所が重複することで処理がループしないよう、一度傷、汚れを撮影したあとは、一定距離機体が進み、撮影した範囲が画角からはずれるまで 傷、汚れの画像認識が作動しないようにする予定。機体が進んだ距離はロータリーエンコーダで判断する。

その際、画像処理のライブラリとしてOpenCVを使用するが、同ライブラリはC言語では使用できないため、使用言語としてPythonを使用することを技術検討として行う。変更点するモジュールについては以下のfig7に示す。
又、使用するライブラリの詳細をTable7に示す。

fig7.技術検討で変更を検討するモジュール

Table7 使用ライブラリ
使用モジュール 使用目的
OpenCV 画像取得、画像重ね合わせ処理、画像差分処理



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

MIRS DATABASE