名称 |
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: 黒板付近の掃除中 |
黒板付近の掃除をしている状態 |