UTSM Sim — ROS2 Humble コンテナ化シミュレーション環境
概要
UTSM sim は、UTS Motorsports の自律走行ソフトウェアスタックの開発を支援するために設計されたコンテナ化された ROS2 Humble 環境です。主要な目的は「再現性のある開発環境」を提供することで、Docker と docker-compose を使って ROS2 ノードの実装・試験・可視化を容易にします。ROS Gym ブリッジにより強化学習や Gym ベースのシミュレータと ROS2 間でデータをやり取りでき、RViz によるセンサ・トピック可視化、noVNC や X11 を通した GUI アクセス、NVIDIA GPU のサポートなど実車・学習モデル開発に必要な要素が揃っています。README には対応 OS(Ubuntu 22.04、Windows、macOS)や GPU オプションの説明が含まれ、学内チームや個人開発者向けにローカルで一貫したワークフローを提供します。
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 5
- ファイル数: 8
- メインの言語: Python
主な特徴
- ROS2 Humble をベースにしたコンテナ化開発環境(Docker / docker-compose)
- ROS Gym ブリッジによる強化学習・シミュレーション連携
- RViz を用いたトピック可視化と noVNC/X11 による GUI アクセス
- NVIDIA GPU 対応(nvidia-docker2 を利用した GPU パススルーサポート)
技術的なポイント
UTSM sim の設計は「再現性」と「開発効率」に重点を置いています。Dockerfile と docker-compose.yml によって ROS2 Humble 環境をイメージ化し、依存関係やツールチェーンを固定化することでチーム間の環境差異を減らします。entrypoint.sh はコンテナ起動時の環境設定やワークスペースのビルド(colcon 等)を自動化し、開発者はホストのソースをボリュームマウントして即座に編集・テストできます。GPU を用いるケースでは nvidia-docker2 を介したデバイスパススルーを想定しており、noVNC を用いたブラウザベースのデスクトップで RViz やツール群を操作可能です。ROS Gym ブリッジは Gym 環境と ROS2 トピック・サービス/アクションを仲介し、強化学習アルゴリズムとロボットソフトの統合テストが行える点が特徴です。結果としてシミュレーション・可視化・学習実験を単一のコンテナスタックで回せる設計になっています。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- Dockerfile: file
- README.md: file
- docker-compose.yml: file
- entrypoint.sh: file
…他 3 ファイル
補足(推定される使い方):
- docker-compose up で各コンテナ(ROS2、GUI/noVNC、Gym ブリッジ等)を一括起動
- ホストのワークスペースをマウントして colcon ビルド、ros2 run / ros2 launch でノード実行
- RViz はブラウザ(noVNC)または X11 フォワーディングで可視化
- GPU を使用する場合は nvidia-docker2 の導入と docker-compose の設定変更が必要
使いどころと拡張性
教育用途や学生プロジェクト、競技チームのプロトタイピングに向き、各自のアルゴリズムを既存の ROS2 ネットワークに統合して実験できます。コンテナ化されているため CI/CD パイプラインへの組み込みや、クラウド上でのテスト環境再現も容易です。Gym ブリッジを介した強化学習実験は、外部の RL ライブラリ(Stable Baselines3 等)と組み合わせることで効率的に学習ループを回せます。
まとめ
ROS2 開発とシミュレーションを手早く始めたいチーム向けの実用的なコンテナ環境。
リポジトリ情報:
- 名前: utsm_sim
- 説明: Containerised ROS2 Humble environment for development of the UTS Motorsports Autonomous software stack. Includes a ROS Gym bridge, RViz visualization, and a development workspace for implementing and testing nodes in a reproducible Docker environment.
- スター数: 2
- 言語: Python
- URL: https://github.com/UTSME59/utsm_sim
- オーナー: UTSME59
- アバター: https://avatars.githubusercontent.com/u/171889535?v=4