名称 | MIRS2403 第1回ソフト詳細設計 |
---|---|
番号 | MIRS2403-SOFT-0001 |
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2025.1.24 | 中村 介 | 香川 真人 | 第2版 |
本ドキュメントはMIRS2403 華蟻のソフトウェア詳細設計書である。
機能概要をtable1に示す。
機能 | 概要 | 主要な記述言語 |
---|---|---|
自律走行 | ROS 2のNavigation 2を用いて自己位置推定、経路設定を行う | C++ |
ジャッキ制御機能 | ジャッキの昇降動作の制御を行う | Arduino言語 |
椅子認識機能 | LiDARとカメラを用いて椅子の位置、向きの認識を行う | Python |
WEBアプリケーション | 人数と配置パターンをを入力し、動作の開始指令を送る | html,css,Javascript |
Jetson Nanoのモジュール構成をfig1, table2に示す。
モジュール名 | 概要 |
---|---|
BehaviorTree | 全体の統括制御と状態遷移、椅子の状況を管理する |
odometry_publisher | エンコーダー情報のサブスクライブとオドメトリのパブリッシュ |
micro-ROS 2 Agent | micro-ROS用ノード。起動することでESP32をノードの一部として組み込めるようにする。 |
sllidar_ros2 | RPLiDARとの通信と/scanのパブリッシュ、点群の一次フィルタリング |
Navigation2 | 自律走行の主要部分。自己位置推定、経路作成を行う |
chair_detector | 椅子の位置検出 |
l4v2_camera | カメラ情報の取得 |
ros2_aruco | 椅子の位置、向き検出 |
rosbridge_suite | webとの通信 |
ESP32のモジュール構成をfig2, table3に示す。
モジュール名 | 概要 |
---|---|
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 | エンコーダーの読み取り |
以下にwebアプリに関するモジュール構成図と動作概要を示す。
モジュール名 | 概要 |
---|---|
index.html | 人数と配置パターン、配置場所を入力するクライアント。 |
demo.html | 配置場所をのみを入力するデモ用クライアント。 |
style.css | index.htmlの装飾 |
sakura.css | 桜のエフェクト |
script.js | chair_arrangement_serviceのサービスを呼び出し、情報を送る。 |
sakura.js | 桜のエフェクト |
img/ | index.htmlで使用する画像のフォルダ |
親機のフローチャートをfig4に示す。