1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2 + rocker を用いたROS2開発のための環境構築

Posted at

免責事項

  • 筆者は本記事の掲載内容を用いて行う一切の行為について, 何らの責任を負うものではありません.
  • 本記事を公開するにあたり, 掲載されている情報の正確性については万全を期しておりますが, 筆者は掲載内容の正確性・完全性・信頼性・最新性を保証するものではありません.
  • 筆者はリンク先サイトについて, その掲載情報の正確性・合法性等を保証するものではありません. リンク先サイトの利用によって生じた問題に対して筆者は責任を負いません.

Introduction

この記事では Windows 10 上で WSL2 と Docker Desktop を使って ROS2 の開発を行うための環境を構築する手順を説明する.
コンテナを起動するためのツールとしてrocker1を利用している.
なお, ROSに関しては勉強中であるため, Windows + Docker ですべての機能が使えるかどうかは未確認.
環境に関する詳細な情報はEnvironmentに記載した.

Abstract

  1. WSL2, Docker Desktopをそれぞれインストール
    • 詳しい説明はReferenceの記事234を参照
  2. Ubuntu-22.04にROS2のリポジトリを追加
    • ROS2の公式ドキュメント5を参考に記述
  3. Ubuntu-22.04にrockerをインストールして動作確認
    • rockerを使ってコンテナを起動
    • rviz2が使えることを確認

1. WSL2, Docker Desktopをそれぞれインストール

WSL2 と Docker Desktop をインストールして WSL2 で Docker を使える環境を構築する

1.1. PowerShell上でコマンドを入力しWSL2をインストール

私の場合は以下の手順で特に問題なかったが, 何か問題が生じたときは公式ドキュメント2や有識者の記事3を参考にする

# PowerShell上で下のコマンドを実行することでインストール可能
# 終了したら再起動を求められるので再起動
# デフォルトのディストリビューションとしてUbuntuがインストールされる (はず)
wsl --install

# 別のディストリビューションが必要な場合は適宜インストール
# 今回はUbuntu-22.04をインストール
# インストールが完了するとユーザ名とパスワードの設定を求められるので設定する
wsl --install Ubuntu-22.04

1.2. Docker Desktopをインストール

公式サイト4のインストーラを使ってインストールする.
設定はデフォルトで問題ない.

1.3. Ubuntu-22.04からdockerを使えるか確認

# PowerShellで実行し, Ubuntu-22.04にログイン
wsl -d Ubuntu-22.04

# dockerコマンドが有効か確認
docker run hello-world

2. Ubuntu-22.04にROS2のリポジトリを追加

rockerをインストールするためにROS2のリポジトリを追加する
コマンドは公式5のドキュメントに記載されているものをそのまま持ってきた.
WSL2のUbuntu-22.04内で以下のコマンドを実行していく.

  1. 最初にロケールを設定 (ja_JP.UTF-8やその他のUTF-8でもおそらく大丈夫)
locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings
  1. 次のコマンドを使って追加
# Ubuntu Universe repositoryを追加
sudo apt install software-properties-common
sudo add-apt-repository universe

# ROS2のGPGキーを取得
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

# リポジトリを追加
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

3. Ubuntu-22.04にrockerをインストールして動作確認

aptを使ってインストールし, 動作確認

sudo apt update && sudo apt install python3-rocker

# インストールできたか確認
rocker --version

# rviz2を用いて動作確認
# GPUなし
rocker --x11 osrf/ros:crystal-desktop rviz2
# GPUあり
rocker --nvidia --x11 osrf/ros:crystal-desktop rviz2

Environment

OS

Windowsで 「設定」 >> 「システム」 >> 「詳細情報」 で確認

エディション Windows 10 Home
バージョン 22H2
OSビルド 19045.3086

WSL2 & Distribution

wsl --versionで確認

WSL バージョン 1.2.5.0
カーネル バージョン 5.15.90.1
WSLg バージョン 1.0.51
MSRDC バージョン 1.2.3770
Direct3D バージョン 1.608.2-61064218
DXCore バージョン 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Linuxディストリビューション Ubuntu-22.04

Docker Desktop

docker versionで確認

Client
Cloud integration v1.0.35
Version 24.0.2
API version 1.43
Go version go1.20.4
OS/Arch windows/amd64
Context default
Server Docker Desktop 4.21.0 (113844)
Engine
Version 24.0.2
API version 1.43 (minimum version 1.12)
Go version go1.20.4
OS/Arch linux/amd64
Experimental false
containerd
Version 1.6.21
runc
Version 1.1.7
docker-init
Version 0.19.0

Reference

  1. GitHub - osrf/rocker: A tool to run docker containers with overlays and convenient options for things like GUIs etc.

  2. WSL のインストール | Microsoft Learn 2

  3. WSL2 のインストール,WSL2 上への Ubuntu のインストールと利用(Windows 11 対応の記事)(Windows 上) 2

  4. Windows Home に Docker Desktop をインストール — Docker-docs-ja 19.03 ドキュメント 2

  5. Ubuntu (source) — ROS 2 Documentation: Humble documentation 2

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?