名称 ソフトウェア詳細設計
番号 MIRS2404-SOFT-0001

版数 最終更新日 作成 承認 改訂記事
A01 2024.12.09 大内 雅寛 西川 真結 初版




-目次-


1. ドキュメント

2. 機能概要

table1. 機能概要
機能 概要 記述言語
自律走行 ROS2とNavigation2を用いて、自己位置推定・移動経路の決定をしロボットの自立走行を行う。 Python,Arduino
水の管理・提供 ペルチェ素子を用いて水を冷却する。また、ポンプを用いて水を汲み上げる。 Arduino
Webアプリケーション(タブレット) タブレットの画面からロボットの移動の停止・再開や水の提供の操作を行えるようにする。 Python,HTML,JavaScript
Webアプリケーション(自律走行) webページでロボットの移動スケジュールを設定できるようにする。
ロボットの現在位置や今後の移動スケジュールを公開する。
Python,HTML,JavaScript

3. モジュール構成

3-1. PC


PCのモジュールの構成図を以下に示す。
fig1. PCのモジュール構成図
fig2にmirs_navigationのモジュール構成図を示す。
fig2. mirs_navigationのモジュール構成図
table2. 概要
モジュール名 概要
patrol_tree.xml Navigation2のビヘイビアツリー
mirs_navigation.launch.py Navigation2を起動する
mirs2404.launch.py navigation_control_node,web_config_node,raspi_receiver_nodeを起動する
mapNIT.pgm
mapNIT.yaml
校内のマップ
nav2_params.yaml Navigation2のパラメータファイル
fig3にnavigation_controlのモジュール構成図を示す。
fig3. navigation_controlのモジュール構成図
table3. 概要
モジュール名 概要
schedule.yaml ロボットが移動するスケジュールを設定
sections.yaml ロボットが移動する場所を設定
navigation_control_node.py ロボットの自律移動を時間に応じて管理する
web_config_node.py ナビゲーションのスケジュール設定をweb上で管理する
fig4にwebsocketのモジュール構成図を示す。
fig4. websocketのモジュール構成図
table3. 概要
モジュール名 概要
config.ini webサーバのIPアドレスを設定
raspi_receiver_node.py iPadでの操作に応じて、ROS2のサービスのリクエストを送ったりnav2のアクションをキャンセルしロボットの移動を停止したりする
iPadのwebアプリのサーバのモジュールの構成図を以下に示す。
fig5. iPadのwebアプリのサーバのモジュール構成図
table4. 概要
モジュール名 概要
config.ini webサーバのIPアドレスを設定<
socket_connection.py Navigation2を起動する
web_main.py navigation_control_node,web_config_node,raspi_receiver_nodeを起動する
display_switching.jp 校内のマップ
post.js Navigation2のパラメータファイル
progress_model.js 概要
script.js Navigation2のビヘイビアツリー
timer.js Navigation2を起動する
style.css navigation_control_node,web_config_node,raspi_receiver_nodeを起動する
index.html 校内のマップ

4.主な機能

校内移動
・LiDARを使用し屋内を自動で巡回する。
・カメラで人を検知したら一旦停止し、再度移動を始める。
・D科棟、共通棟、など、移動経路をあらかじめ決めておき、その経路を低速で走行する。

水の供給
・タンクに貯めた水をポンプを用いて吸い上げ、冷却のため一度小さいタンクに貯めた後、提供する。

ゴミ箱・カップディスペンサー
・紙コップとゴミ箱を備え付け、その場でごみを捨てられるようにする。

冷却機能
・ペルチェ素子を用いて小さいタンクを直接冷やし、水を冷却する。

タッチ操作
・タッチパネルを搭載し直感的な操作、情報提供を可能にする。
・タッチパネル操作で移動しているロボットを停止させ、給水モードに切り替える。
・ウォーターサーバーとしての給水の操作もタッチパネルを用いて行う。

位置共有
・事前に移動経路を決定しておき、WebページやLINEで現在の位置や今後の移動経路を共有する。

5. 設計・外観



fig2. プロジェクト外装(前)


fig3. プロジェクト外装(後)

6.開発項目

Table 2 開発項目
優先度 機能
A ・水の供給
・LiDARを用いた校内移動
・ゴミ箱、カップディスペンサー
B ・水の冷却
・タッチ操作
C ・位置共有

7.主要な購入物品




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