0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL2 + Ubuntu 22.04 + ROS2 Humble + uv 環境構築メモ

Posted at

WSL2 + Ubuntu 22.04 + ROS2 Humble + uv 環境構築メモ

WSL2 上で ROS2 Humble と Python 仮想環境管理ツール uv を共存させた開発環境のセットアップ手順をまとめました。
CUDA 関連の設定は省略しています(必要な方は 元記事 を参照)。
参考リンクの寄せ集めなので、新しいことはほとんどありませんが、自分用のセットアップメモとして書いておきます。
その他開発で便利な gh による GitHub 連携や、 ros2-aliases も導入します。

参考リンク


Ubuntu 22.04 のインストール

PowerShell で以下を実行します。

powershell
cd ~
mkdir wsl
cd wsl
Invoke-WebRequest https://cloud-images.ubuntu.com/wsl/releases/22.04/20240304/ubuntu-jammy-wsl-amd64-wsl.rootfs.tar.gz -OutFile ubuntu-jammy-wsl-amd64-wsl.rootfs.tar.gz
wsl --import Ubuntu-22.04-ros2 C:\Users\[USER]\wsl C:\Users\[User]\wsl\ubuntu-jammy-wsl-amd64-wsl.rootfs.tar.gz

ここではディストリビューション名を Ubuntu-22.04-ros2 としています。
[USER]は自身のWindowsのユーザーネームに置換してください。

wsl --install -d Ubuntu-22.04 でインストールすることも可能ですが、この方法であればディストリビューション名を変えることで同一マシン上に複数OSを準備することができ、便利です。

起動:

powershell
wsl -d Ubuntu-22.04-ros2

ユーザ作成と sudo 権限付与

bash
adduser yourname
gpasswd -a yourname sudo

systemd 有効化設定

/etc/wsl.conf を編集します。

bash
sudo nano /etc/wsl.conf

内容を以下のように変更します。

/etc/wsl.conf
[boot]
systemd=true

[user]
default=yourname

ctrl+O -> Enter -> ctrl+Xで保存します。
保存後、exitと打って PowerShell に戻り WSL を再起動します。

wsl -t Ubuntu-22.04-ros2
wsl -d Ubuntu-22.04-ros2

ROS2 Humble のインストール

sudo apt install -y software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install -y curl
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
sudo apt update
sudo apt upgrade -y
sudo apt install -y ros-humble-desktop ros-dev-tools ros-humble-rqt-*

CUDA 関連の設定を行う場合はこの後に追加してください。


ワークスペース作成とビルド確認

cd
mkdir -p ros2_ws/src
cd ros2_ws
sudo rosdep init
rosdep update
source /opt/ros/humble/setup.bash
colcon build

確認:

ros2 run demo_nodes_cpp talker

Publisher が起動すれば OK です。


ros2-aliases の導入

ROS2 コマンドのショートカットを提供するツールです。
ros2-aliases (GitHub)

sudo apt install fzf
git clone https://github.com/kimushun1101/ros2-aliases.git $HOME/.local/ros2-aliases
echo 'source $HOME/.local/ros2-aliases/ros2_aliases.bash' >> ~/.bashrc
source ~/.bashrc
setenvfile

例:cbcolcon build
ヘルプ:rahelp


GitHub CLI の導入

GitHub と連携してリポジトリ操作を行うには gh コマンドが便利です。

(type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) 	&& sudo mkdir -p -m 755 /etc/apt/keyrings 	&& out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg 	&& cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null 	&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg 	&& sudo mkdir -p -m 755 /etc/apt/sources.list.d 	&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null 	&& sudo apt update 	&& sudo apt install gh -y

インストール後にログイン:

gh auth login

選択肢は以下のみたいな感じに進むのがいいと思います。

GitHub.com -> SSH -> Login with a web browser

uv の導入(Python 仮想環境管理)

uv は超高速な Python 仮想環境管理ツールです。

curl -LsSf https://astral.sh/uv/install.sh | sh
echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc

再起動後に更新:

uv self update

VSCode の Python 拡張が仮想環境を自動で有効化する場合があります。
自動切り替えが不要な場合は、VSCode の設定から無効化できます。


uv と ROS2 の共存時の注意

ROS2 の python パッケージは実環境に置く必要があるので、uv の仮想環境との共存には一工夫必要です。


まとめ

  • Ubuntu 22.04 の WSL2 環境を構築
  • ROS2 Humble 導入
  • ros2-aliases で CLI 操作を効率化
  • gh で GitHub 操作を統合
  • uv で Python 仮想環境管理

CUDA を追加すれば、GPU活用も可能です。
他ツールについても必要に応じて随時追記予定です。


0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?