l
| 名称 | MIRS1705 基本設計書(ソフトウェア) |
|---|---|
| 番号 | MIRS1705-DSGN-0003 |
| 版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
|---|---|---|---|---|
| A01 | 2017.11.6 | 櫻井海斗 | 初版 | |
| A02 | 2017.11.9 | 松本修児 | Arduinoの標準プログラムからの変更点を追記。 |
| 機能 | 内容 |
|---|---|
| コンパイル | ユーザーによってロボットに並べられたパネルを内部の広角カメラで読み取り、次の動作を決定する。 パネルの代わりに箱が置かれている場合は、次の動作が片付けであることを記憶する。 |
| プログラム実行 | ユーザーがパネルを並べて作成したプログラムを実行する。 パネルによる動作には、前進、後退、左回転、右回転、待機、動作終了、ループスタート、ループエンドがある。 |
| パネルの片付け | ロボットの前方向に取り付けられたカメラで、地面のパネルをみつけて片付ける。 |
| スイッチの監視 | ユーザーによるスイッチ押下を監視する。 |

| クラス名 | 目的 |
|---|---|
| Camera | Webカメラの制御 |
| Electromagnet | 電磁石の制御 |
| Motor | モータの制御(内部的にはArduinoに出力を依頼するのみ) |
| TouchSensor | スイッチの制御 |
| Arm | 電磁石とモータで構成されるアームの制御 |
| DrivingUnit | 車体駆動用のモータ2つで構成される駆動部の制御 |
| Compiler | 内部のWebカメラでパネルを読み取り動作を決定 |
| ExecutionUnit | Compilerに依頼された動作を実行 |
| CUEBOT | すべてのクラスの結合 |
| 機能 | 内容 |
|---|---|
| モータ出力 | Raspberry Piから依頼を受けて、機体に使用する3つのモータに出力する。 |
| バッテリー残量確認 | 模型用バッテリーの残量を確認する。 |

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