ダウンロード
最新バージョン : 2.1.0-RELESE
| 2.1.0-RELESE | ダウンロードページ |
OpenRTM@Github
OpenRTM-aist GitHubサイト
ROS
Robot Operating System
Choreonoid
モーションエディタ/シミュレータ
DAQ-Middleware
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
産総研が提供するRTC集
東京オープンソースロボティクス協会
| 2.1.0-RELESE | ダウンロードページ |
OpenRTM-aist GitHubサイト
Robot Operating System
モーションエディタ/シミュレータ
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
産総研が提供するRTC集
東京オープンソースロボティクス協会
コンテナ技術を活用したソフトウェアプロファイルに基づくソフトウェアモジュール生成・運用に関する研究
目的
ロボットシステム開発において、ソフトウェアモジュールの動作環境構築は大きな課題です。 従来の開発手法では、以下のような問題が頻発していました。
本研究では、これらの課題を解決するために、「ISO 22166-202規格準拠の情報モデル」と「コンテナ技術(Docker)」を融合させ、環境構築から運用までを自動化するシステムを開発しました。
概要
本プロジェクトでは、異種ミドルウェアのロボットソフトウェアモジュールの動作環境を自動生成するシステムを開発しました。
このシステムは、ロボットソフトウェアモジュールの仕様記述から、その実行環境(Dockerコンテナ)を自動生成するツールキットです。 以下の図のように、XML形式の情報モデル(SIM)を中心として、環境構築に必要なファイルを自動生成します。
リポジトリ内は処理の段階ごとに以下の3つのツールで構成されています。
1. SIM_generator (GUI Tool) PythonのGUIフレームワーク Streamlit を用いたプロファイル作成ツールです。 ISO 22166-202規格に準拠した情報モデル(XML)を、ブラウザベースの直感的な操作で生成できます。複雑なXML構造を意識することなく、必須項目や依存関係を定義可能です。
2. Dockerfile_generator SIM_generatorで作成されたXMLを解析し、ミドルウェア(ROS 1/ROS 2/OpenRTM)や依存ライブラリ、Gitリポジトリからのソースコード取得命令を含んだ Dockerfile を自動生成します。 OSバージョン(Ubuntu 18.04/20.04/22.04等)やROSディストリビューション(Noetic/Humble等)を自動判別して記述します。
3. robot_container_env (Compose Generator) 生成された複数のDockerfileを組み合わせてシステム全体を起動するための docker-compose.yml を自動生成します。 特に、ROS 2利用時には FastDDS の設定ファイル(XML)や通信設定を自動で注入し、コンテナ間通信(Integration Mode)を容易に実現します。
特徴
仕様
開発環境 / 動作環境
システム構成
関連動画 (デモンストレーション・操作手順)
各ツールの操作手順と、最終的なシミュレーション動作の様子です。
ソースコード・リンク
本ツールのソースコードはGitHubにて公開しています。