名称 MIRS2403 第1回ソフト詳細設計
番号 MIRS2403-SOFT-0001

版数 最終更新日 作成 承認 改訂記事
A01 2025.1.24 中村 介 香川 真人 第2版

目次

  1. ドキュメント
  2. 機能概要
  3. モジュール構成
  4. フローチャート

1.ドキュメント

本ドキュメントはMIRS2403 華蟻のソフトウェア詳細設計書である。

2.機能概要

機能概要をtable1に示す。

table1 機能

機能 概要 主要な記述言語
自律走行 ROS 2のNavigation 2を用いて自己位置推定、経路設定を行う C++
ジャッキ制御機能 ジャッキの昇降動作の制御を行う Arduino言語
椅子認識機能 LiDARとカメラを用いて椅子の位置、向きの認識を行う Python
WEBアプリケーション 人数と配置パターンをを入力し、動作の開始指令を送る html,css,Javascript

3.モジュール構成

3.1.Jetson Nano

Jetson Nanoのモジュール構成をfig1, table2に示す。

fig1.Jetson Nano モジュール概要図

table2 Jetson Nano モジュール詳細

モジュール名 概要
BehaviorTree 全体の統括制御と状態遷移、椅子の状況を管理する
odometry_publisher エンコーダー情報のサブスクライブとオドメトリのパブリッシュ
micro-ROS 2 Agent micro-ROS用ノード。起動することでESP32をノードの一部として組み込めるようにする。
sllidar_ros2 RPLiDARとの通信と/scanのパブリッシュ、点群の一次フィルタリング
Navigation2 自律走行の主要部分。自己位置推定、経路作成を行う
chair_detector 椅子の位置検出
l4v2_camera カメラ情報の取得
ros2_aruco 椅子の位置、向き検出
rosbridge_suite webとの通信

3.2.ESP32

ESP32のモジュール構成をfig2, table3に示す。

fig2. ESP32 ノード概要図

table3. ESP32 モジュール概要

モジュール名 概要
mirs24_esp32.ino setup関数及びloop関数の定義
config.h ピンやパラメータの定義
pubsub_callback.ino コールバック関数置き場(pub/sub通信関連)
server_callback.ino ros2のserver/client機能を有するコールバック関数置き場。ジャッキの動作命令の処理もサービスが行う
ros_setup.ino micro-ROSのセットアップ
vel_ctrl.ino 速度制御
vlt_obserber.ino 電圧の監視
encoder.ino エンコーダーの読み取り

3.3Webアプリケーション

以下にwebアプリに関するモジュール構成図と動作概要を示す。

fig3. webアプリ モジュール構成図

table4. webアプリ モジュール概要

モジュール名 概要
index.html 人数と配置パターン、配置場所を入力するクライアント。
demo.html 配置場所をのみを入力するデモ用クライアント。
style.css index.htmlの装飾
sakura.css 桜のエフェクト
script.js chair_arrangement_serviceのサービスを呼び出し、情報を送る。
sakura.js 桜のエフェクト
img/ index.htmlで使用する画像のフォルダ

4.フローチャート

親機のフローチャートをfig4に示す。

fig4. 全体フローチャート

5.購入物品




MIRS2031ドキュメント管理台帳