2
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上のROS2で外部pcと通信する方法

Posted at

初めに

今回は、wsl2上にubuntu22.04とROS2を導入し、外部のpcをトピック通信を行う。

条件

  • 外部pc側にはROS2を導入済み
  • 外部pcのIPアドレスは固定済み

wsl2にubuntuを導入する。

  • windows PowerShellを管理者として実行
  • 以下のコードを打ち込み、インストール開始
wsl --install
  • インストール後、ubuntuのユーザー名と新しいパスワードを打ち込んで終了。再起動する。

wsl2にROS2を導入する

  • localeの設定
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
  • sourceのセットアップ
sudo apt install software-properties-common
sudo add-apt-repository universe
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
  • ros2のインストール
sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop
  • 環境変数のセットアップ
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source .bashrc

wsl2のmirrormodeの設定

  • cmdを開いて、以下のコマンドでwslを更新します。
wsl --update
wsl --update --pre-release
  • c:/User/<ユーザー名>の中の.wslconfigに(なければ作ってください)以下のように書き換えてネットワークをミラーモードに変更する。
[wsl2]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
  • ファイルを保存したらwsl2を再起動。
wsl --shutdown

ファイアウォールに規則を追加

  • ファイアウォールの影響で外部pcをトピック通信できないので設定を変更する。

  • コントロールパネル>システムとセキュリティ>Windows Defender ファイアウォール>詳細設定 を開く。
    スクリーンショット 2024-08-22 165717.png

  • 左上にある受信の設定を選択、新しい規則を選択
    スクリーンショット 2024-08-22 170016.png

  • カスタムを選択して次に進む
    スクリーンショット 2024-08-22 170249.png

  • すべてのプログラムを選択して次に進む
    スクリーンショット 2024-08-22 170305.png

  • 通信プロトコルをUDPに変更して次へ進む
    スクリーンショット 2024-08-22 170329.png

  • どちらの項目も「これらのIPアドレス」に変更し、「追加」のボタンからwsl2のIPアドレスと外部pcのIPアドレスを各々入力する
    スクリーンショット 2024-08-22 .png

  • 「接続を許可する」を選択して次に進む。
    スクリーンショット 2024-08-22 170359.png

  • プロファイルはデフォルトのままでよい
    スクリーンショット 2024-08-22 170413.png

  • 最後に適当に名前を付けておしまい
    スクリーンショット 2024-08-22 170442.png

参考文献

2
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
2
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?