l MIRS1705-DSGN-0003 基本設計書(ソフトウェア) MIRS1705 管理台帳へ戻る

名称 MIRS1705 基本設計書(ソフトウェア)
番号 MIRS1705-DSGN-0003

版数 最終更新日 作成 承認 改訂記事
A01 2017.11.6 櫻井海斗 初版
A02 2017.11.9 松本修児 Arduinoの標準プログラムからの変更点を追記。

ドキュメント内目次


1.はじめに

本ドキュメントは、MIRS1705のソフトウェアに関する基本設計書である。


2.Raspberry Pi


2.1 構造設計

Raspberry Piにおける機能概要をTable1に示す。

Table1 Raspberry Pi 機能概要
機能 内容
コンパイル ユーザーによってロボットに並べられたパネルを内部の広角カメラで読み取り、次の動作を決定する。
パネルの代わりに箱が置かれている場合は、次の動作が片付けであることを記憶する。
プログラム実行 ユーザーがパネルを並べて作成したプログラムを実行する。
パネルによる動作には、前進、後退、左回転、右回転、待機、動作終了、ループスタート、ループエンドがある。
パネルの片付け ロボットの前方向に取り付けられたカメラで、地面のパネルをみつけて片付ける。
スイッチの監視 ユーザーによるスイッチ押下を監視する。


Raspberry Piのクラス図をFig.1に示す。

Fig.1 Raspberry Pi クラス図
Fig.1 Raspberry Pi クラス図


2.2 機能設計

Raspberry Piのプログラムで使用するクラスの構成内容を、低級なものから順にTable2に示す。

Table2 Raspberry Pi 構成内容
クラス名 目的
Camera Webカメラの制御
Electromagnet 電磁石の制御
Motor モータの制御(内部的にはArduinoに出力を依頼するのみ)
TouchSensor スイッチの制御
Arm 電磁石とモータで構成されるアームの制御
DrivingUnit 車体駆動用のモータ2つで構成される駆動部の制御
Compiler 内部のWebカメラでパネルを読み取り動作を決定
ExecutionUnit Compilerに依頼された動作を実行
CUEBOT すべてのクラスの結合



3.Arduino


3.1 構造設計

Arduinoにおける機能概要をTable3に示す。

Table3 Arduino 機能概要
機能 内容
モータ出力 Raspberry Piから依頼を受けて、機体に使用する3つのモータに出力する。
バッテリー残量確認 模型用バッテリーの残量を確認する。


Arduinoのモジュール構成図をFig.2に示す。
なお、標準プログラムからの変更点は機能設計で述べる。

Fig.2 Arduino モジュール構成図
Fig.2 Arduino モジュール構成図


3.2 機能設計

Arduinoのプログラムで使用するモジュールの構成内容をTable4に示す。

Table4 Arduino 構成内容
モジュール名 目的 変更内容
motor モータのPWM制御を行う。 アーム用モータの制御を追加。
encoder エンコーダの読み取りを行う。 アーム用エンコーダの読み取りを追加。
io Arduinoに接続された機器(バッテリー等)の制御を行う。
raspi Raspberry Piとの通信処理を行う。 やり取りするデータの変更にあわせ、プログラムを改善。
slave motor, encoder, io, raspiの結合。 下位モジュールの変更にあわせ、全面書き直し。



4.各パートへのリンク

基本設計書(全体)
基本設計書(メカニクス)
基本設計書(エレクトロニクス)



MIRS DATABASE