| 名称 |
MIRS2301 子機ソフト詳細設計 |
| 番号 |
MIRS2301-SOFT-0002 |
| 版数 |
最終更新日 |
作成 |
承認 |
改訂記事 |
| A01 |
2023.11.21 |
小野颯斗 |
香川真人 |
初版 |
目次
1.ドキュメント
2.機能概要
3.モジュール構成
4.フローチャート
1.ドキュメント
本ドキュメントはROCASLの子機のソフトウェア詳細設計書である。
2.機能概要
機能概要をTable1に示す。
Table.1:子機の機能
| 機能 |
概要 |
記述言語 |
| マッピング |
ライダーを使い周辺情報を取得 |
ros,python, JETSON |
| 床掃除 |
マッピング情報をもとに床を走行 |
C言語,ESP32 |
| 親機と通信 |
親機のESP32と通信する |
C言語,ESP32 |
| i2c通信 |
JETSONとESP32で通信する |
python,JETSON ,C言語,ESP32 |
3.モジュール構成
3.1.JETSON
子機のJETSONのモジュール構成をfigure1, Table2に示す。

figure1. :子機・JETSONのモジュール構成
Table.2:JETSONのモジュール詳細
| モジュール名 |
概要 |
| main_node |
JETSONの動作の制御をする |
| cartographer_node |
マッピングと自己位置推定 |
| setgoal_node |
ゴールの設定 |
| move_base_node |
ルート作成 |
| calculate_node |
ゴールへのモータ出力を計算する |
| i2c_node |
i2cで通信する |
3.2.ESP32
子機のESP32のモジュール構成をfigure2, Table3に示す。

figure2. :ESP32のモジュール構成
Table.3:ESP32のモジュール詳細
| モジュール名 |
概要 |
| main.ino |
全体の状態遷移をする |
| i2c.ino |
i2c通信をする |
| motor.ino |
モータの制御をする |
| bt.ino |
bluetoothで通信をする |
| io.ino |
タッチセンサの監視をする |
4.フローチャート
子機のフローチャートをfigure3に示す。また、それぞれの状態についてTable4に示す。

figure3. :子機フローチャート
Table.4:状態遷移表
| 状態名 |
概要 |
| 0: 停止中 |
完全に停止している状態 |
| 1: 掃除中 |
移動しながら掃除をしている状態 |
| 2: 黒板付近の掃除中 |
黒板付近の掃除をしている状態 |