名称 MIRS2204詳細設計書(ソフト)
番号 MIRS2204-SOFT-0001

版数 最終更新日 作成 承認 改訂記事
A01 2022.11.9 志村拓真・河合陽杜 香川先生 第1版

目次



1.ドキュメント概要

本ドキュメントは、KOZUTUMIプロジェクトのソフトウェア詳細設計書である。

2.担当者

MIRS2204のソフトウェア担当メンバーを以下に示す。
・河合陽杜
・志村拓真

3.基本設計

Tab.1に基本設計に関する表を示す。
Tab.1 基本機能
機能名 目的 詳細 記述言語
追従機能 利用者に追従するため 距離センサを用いて利用者との距離、進行方向を検知して追従を行う。 c言語
衝突防止機能 人や物との衝突を避けるため。 距離センサを用いて周囲の物体との距離を保つ。 c言語
緊急停止機能 問題発生時に緊急停止するため。 強い衝撃が与えられた時に動作を停止する。 c言語
重量検知機能 荷物の落下や盗難を検知できるようにするため。 圧力センサで「KOZUTUMI」に乗せられた荷物の重量の変化を検知する。 c言語
遠隔操作機能 スマートフォンでの操作を可能にするため。 スマートフォンアプリでの遠隔操作を可能にする。 python
音声通知機能 状態が遷移した時や緊急時に音で利用者に知らせるため。 スピーカーで音を発する。 c言語

4.各モジュールの接続配線

   4.1Arduinoモジュール構成

   Arduinoのモジュール構成をFig.1に示す。水色のモジュールについては新規で作成を行う。また、Fig.1のモジュールの詳細をTab.2に示す。
   Arduinoのソフトウェアは、標準プログラムをベースとして、走行系のプログラムを記述する。

Fig.1 Arduinoモジュール図

Tab.2 Arduinoモジュール詳細

モジュール名称 用途
slave raspberrypiとの通信を行う。
scan マルチプレクサの管理を行う。センサの値を読み取る。
run_ctrl 走行系制御。
vel_ctrl 速度制御。
distance 距離計測。
encorder エンコーダ読み取りモジュール。
ems 緊急停止。

   4.2 Raspberry Pi モジュール構成

   RaspberryPiには、C言語モジュールによる実装を主とし、Python言語モジュールを補助的に利用する。

      4.2.1 C言語モジュール作成

      C言語のモジュール構成をFig.2に示す。水色のモジュールについては新規で作成を行う。また、Fig.2のモジュールの詳細をTab.3に示す。
      RaspberryPiのC言語の利用法として、原則としてC言語を利用し、センサーを制御する。そのうえで、PythonやArduinoとの通信も行う。

Fig.2 C言語モジュール図

Tab.3 C言語モジュール詳細

モジュール名称 用途
control 初期設定および、全体の動作を司る。
python Pythonプログラムと通信を行う。
arduino arduinoプログラムと通信を行う。
io i/oポートの操作。
run 追従時の走行制御。
tracking 追従時の計算処理。
stay 待機時の処理。
return 帰還状態の処理。

      4.2.2 Python言語モジュール作成

      RaspberryPiのモジュール図をFig3に、その詳細をTab.4に示す。
      Pythonを利用しないと、効率的な制御ができない場合のみ、Pythonを利用する。主に、LINEAPIやスピーカーの制御に利用する。

Fig.3 Python言語モジュール図

Tab.4 Python言語モジュール詳細

モジュール名称 用途
main 初期設定および、全体の動作を司る。
c_com cプログラムとの通信を行う。
line LINEの送受信を行う。
camera カメラからの映像を受け取り、処理を行う。
img_prc 同一人物判定の処理を行う。

5.フローチャート

Fig.4には全体の動作の状態遷移図を示す。
Fig.5には追従状態の動作のフローチャートを示す。

Fig.4 全体の動作の状態遷移図

Fig.5追従状態の動作のフローチャート




MIRS2204ドキュメント管理台帳へ