概要
Moveit ProをWSL2上にインストールする方法について解説します。
Moveit Proを使用するには有料のライセンスを取得する必要があります(今回は省略)
MoveIt Proとは
MoveIt Proは、PickNik Roboticsが開発した商用グレードのロボット制御ソフトウェアプラットフォームです。オープンソースのMoveIt 2をベースにしながら、より高度な機能と使いやすさを提供しています。MoveIt Proは、特に非構造化環境でのロボットアプリケーション開発を迅速化するために設計されています。
MoveIt 2との主な違い
MoveIt Proは、オープンソースのMoveIt 2と比較して以下のような特徴があります:
- 商用グレードの信頼性: 産業用途に耐えうる安定性とサポートを提供
- 視覚的なプログラミング環境: 直感的なドラッグ&ドロップインターフェースを通じて、複雑なロボット制御アプリケーションを構築可能
- 機械学習と高度なアルゴリズム: リアルタイムの物体認識や動的な経路計画など、AIを活用した高度な機能を提供
- 豊富な組み込み機能: 200以上の事前構築された「ビヘイビア」(動作)を提供
- デジタルツイン: 高精度なシミュレーション環境でアプリケーションを開発・テスト可能
- ハードウェア非依存: あらゆるROSベースのロボットハードウェアと互換性がある
- プロフェッショナルサポート: 技術的サポートとトレーニングを提供
インストール要件
MoveIt ProをWSL2環境にインストールするための要件は以下の通りです:
- WSL2(Windows Subsystem for Linux 2)
- Ubuntu 22.04以降(この記事ではUbuntu 24.04を使用)
- 十分なディスク容量(最低20GB)
- 十分なメモリ(最低8GB、推奨12GB以上)
インストール手順
以下の手順に従って、WSL2環境にMoveIt Proをインストールします。
1. Dockerのインストール
MoveIt ProはDockerを使用して実行環境を構築します。まず、Dockerをインストールします。
# Dockerがインストールされているか確認
docker run hello-world
# インストールされていない場合は以下のコマンドでインストール
sudo apt-get install curl
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo groupadd docker
sudo usermod -aG docker $USER
sg docker "newgrp $(id -gn)"
インストール後、ログアウトして再度ログインするか、以下のコマンドを実行してDockerグループの変更を反映させます:
newgrp docker
以下のコマンドでDockerが正常に動作することを確認します:
docker run hello-world
2. NVIDIA GPU対応(オプション)
NVIDIA GPUを使用する場合は、NVIDIA Container Toolkitをインストールする必要があります:
# GPGキーとリポジトリの追加
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# パッケージリストの更新
sudo apt-get update
# NVIDIA Container Toolkitのインストール
sudo apt-get install -y nvidia-container-toolkit
# DockerでNVIDIA GPUを使用できるように構成
sudo nvidia-ctk runtime configure --runtime=docker
# Dockerデーモンを再起動
sudo service docker restart
インストールが成功したかを確認するには:
docker run --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi
3. MoveIt Proのインストール
重要: WSL2環境では、最新バージョン(8.0.x以降)のMoveIt Proをインストールする際に問題が発生することがあります。これは、最新バージョンがWSL2環境で完全にサポートされていない機能(zram-config)に依存しているためです。そのため、バージョン7.7.1を使用することをお勧めします。
# 7.7.1バージョンをダウンロード
curl -Lo /tmp/moveit-pro-7.7.1-any.deb https://github.com/PickNikRobotics/moveit_pro_deb/raw/main/picknik/moveit-pro-7.7.1-any.deb
# インストール
sudo apt install /tmp/moveit-pro-7.7.1-any.deb
注意:リリース候補(RC)バージョン(例:moveit-pro-7.7.1-rc1-any.deb
)ではなく、正式リリースバージョン(moveit-pro-7.7.1-any.deb
)を選択してください。
4. 設定ディレクトリの権限を修正
インストール後、設定ディレクトリの所有権を修正する必要がある場合があります:
sudo chown -R $USER:$USER ~/.config/moveit_pro/
5. MoveIt Proの初回起動
以下のコマンドでMoveIt Proを起動します:
moveit_pro run
ここで毎回ライセンスキーを入力する必要があります。
初回実行時には、必要なDockerイメージのダウンロードと構築が行われ、設定に関するいくつかのプロンプトが表示されます。推奨設定に従って進めてください。
MoveIt Pro Runtimeがバックグラウンドでロードされ、MoveIt Pro開発者プラットフォームのUIが準備されるため、Windows側のブラウザでアクセスします(http://localhost:80 )。
ブラウザでMoveit Proの画面が起動した後に画面左の「Application - Basic Examples」などを押せばサンプルが動きます。
WSL2環境での最適化
メモリ割り当ての調整
WSL2では、MoveIt Proのような計算集約型アプリケーションが快適に動作するよう、適切なリソース割り当てが重要です。Windowsの%UserProfile%
ディレクトリに.wslconfig
ファイルを作成または編集し、以下の設定を行いましょう:
[wsl2]
memory=12GB # 利用可能なRAMに合わせて調整
processors=8 # 利用可能なCPUコア数に合わせて調整
設定後は、WSL2を再起動してください:
# Windowsのコマンドプロンプトまたはパワーシェルで実行
wsl --shutdown
サンプルアプリケーションの実行
MoveIt Proには様々なサンプル「ロボット構成」が付属しています。以下のコマンドで利用可能な構成を確認できます:
moveit_pro run --list
代表的なサンプルの実行例:
# 研究室環境のシミュレーション
moveit_pro run -c lab_sim
# 飛行機格納庫での貨物箱を移動するモバイルマニピュレータ
moveit_pro run -c hangar_sim
# エンジンブロック加工のシミュレーション
moveit_pro run -c grinding_sim
トラブルシューティング
DockerDNSの問題
WSL2環境では、Dockerのネットワーク構成が長時間実行されると劣化する既知の問題があります。以下のコマンドでDockerを再起動することで解決できる場合があります:
sudo service docker restart
GPUが認識されない場合
GPUが正しく認識されない場合は、以下を確認してください:
- Windowsホスト側でNVIDIAドライバーが最新バージョンであること
- WSL2のGPUサポートが有効になっていること(
wsl --update
で更新) - NVIDIA Container Toolkitが正しく設定されていること