[MG400] WindowsのWSL2にROSをインストールし、MG400をrviz上で動かす方法

[MG400] WindowsのWSL2にROSをインストールし、MG400をrviz上で動かす方法

1. はじめに



rvizはRobot Operating System (ROS) の3次元可視化ツールです。ロボットの位置や姿勢を表示することができ、センサーから取得した距離データやカメラからの映像を表示することもできます。
本稿では、 Windows の Windows Subsystem for Linux (WSL) を利用してROSをインストールし、MG400をrviz上で動かす方法についてご案内します。

2. 環境




以下の環境にて、この手順が有効であることを確認しています。

OS: Windows 10 (64bit)
WSL: version 2
Ubuntu: 20.04
ROS: Noetic


3. WSL2を使ったROS (Noetic) のインストール


ROSは主にLinuxのOSで動作します。ここでは、Windows上でUbuntu Linuxを使ってROSをインストールするために、UbuntuをWindows上で動かすことができるWSLを利用します。

3.1 ROSとUbuntuの対応関係

はじめに、ROSとUbuntuのバージョンの対応関係をご確認ください。

 ROSのバージョン
 Ubuntuのバージョン
 Melodic
 18.04
 Noetic
 20.04

本稿では、Ubuntu 20.04を使い、ROS Noeticをインストールしました。

3.2 WSL2・Ubuntuのインストール


(1)PowerShellを管理者モードで起動。
(2)wslをインストールする。

  1. wsl --install

を実行した後、PCを再起動。既定でインストールされるLinuxのディストリビューションはUbuntuだが、ディストリビューションを指定することもできる。


※ ヘルプテキストが表示される場合は、
  1. wsl --install -d <ディストリビューション名>
を実行してインストールするディストリビューションを指定してください。


(3) 再起動後、自動的にUbuntuが立ち上がるので、指示に沿ってユーザー名とパスワード設定を行う。
(4) Ubuntuのバージョンを確認し (既定では最新)、必要となるバージョンをインストールする。Ubuntuのターミナルで

  1. lsb_release -a

3.1 で確認した通りROS Noeticをインストールするためにubuntu 20.04が必要となるため、Microsoft Storeを起動し、Ubuntu 20.04を検索、入手する。

(5)wslのバージョンを確認する。Powershellで

  1. wsl -l -v

を使う。ROSをインストールするUbuntuのディストリビューションの行に表示されているwslのバージョンが「2」になっていることを確認する。「1」の場合、

  1. wsl --set-version <ディストリビューション名> 2

を実行し、バージョンを変更する。



3.3 ROS Noeticのインストール


(1)apt update を実行する。Ubuntuで

  1. sudo apt update

(2)ROSのリポジトリを追加する。

  1. sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

を実行。$(lsb_release -sc) は括弧内のコマンドの実行結果に置き換える。

(3)apt-keyの設定する。 curlをインストールしたことがない場合、まず

  1. sudo apt install curl

を行う。その後、


(4)apt update を再実行する。

  1. sudo apt update

(5)ROS Noeticをインストールする。

  1. sudo apt install ros-noetic-desktop-full


3.4 ROSの環境設定

(1) .bashrc へ環境設定を追加する。

  1. echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
  2. source ~/.bashrc

(2)ツールをインストールする。

  1. sudo apt-get install python3-catkin-tools
  2. sudo apt-get install python3-rosdep

を実行。※ Melodicの場合、「python3」を「python」で置き換えて実行。

(3)rosdep を初期化する。

  1. sudo rosdep init
  2. rosdep update

(4)catkinのワークスペースを作成する。

  1. mkdir -p ~/catkin_ws/src
  2. cd ~/catkin_ws
  3. catkin init

4. rviz


4.1 rvizの起動


Dobot社が発表しているソースコードからMG400のrvizのデモを立ち上げます。

(1)ワークスペースにソースコードを展開する。

  1. cd ~/catkin_ws/src
  2. git clone https://github.com/Dobot-Arm/MG400_ROS.git

(2)ビルドする。

  1. cd ~/catkin_ws
  2. catkin_make

(3)環境設定をする。

  1. echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
  2. source ~/.bashrc

(4)rviz を立ち上げる。

  1. roslaunch mg400_description display.launch

4.2 rviz上でのMG400の操作

別ウィンドウに表示されるジョイントコントローラーを使用しMG400の4軸の値(ラジアン)を変更すると、MG400を動かすことができます。






トラベルシューティング

rvizを起動するときに以下のエラーが出ることがあります。

1.rvizは起動されたが、メッシュが表示されない

これに該当するのは、初期画面では何も表示されず、rvizの下にあるAddボタンから「TF」のdisplay typeを追加した際にはMG400のtfが表示された場合です。
PCがMesa graphics のドライバーに挙げられるNvidiaやIntelのGPU等を使用していることが原因となります。

解決方法:

  1. export LIBGL_ALWAYS_SOFTWARE=1

を実行し、ハードウェアアクセラレーションを無効化する。


2.警告メッセージ「[WARN] [1686119331.352348699]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.」が表示される

解決方法:

MG400_ROS/mg400_description/urdf/mg400_description.urdfを開いて、<link name=’base_link’>の上に以下を追加。

  1. <link name="dummy"/>
  2. <joint name="dummy_joint" type="fixed">
  3.   <parent link="dummy"/>
  4.   <child link="base_link"/>
  5. </joint>

3. エラーメッセージ「RLException: [display.launch] is neither a launch file in package [mg400_description] nor is [mg400_description] a launch file name
The traceback for the exception was written to the log file」が表示される

解決方法:

  1. source ~/catkin_ws/devel/setup.bash

を実行し、ワークスペースを再度有効にする。




本稿では、WSL2を利用してWindows上でUbuntuにROS Noeticをインストールし、MG400をrviz上で動かす方法をご紹介しました。
ROSでMG400を実際に動かす方法は、[MG400, Python] ROSでMG400を動かす方法 をご覧ください。


ご不明点等ございましたら、お気軽に dobot@techshare.co.jp までお問い合わせください。

    • Related Articles

    • [MG400] ROSでMG400を動かす方法~Python編~

      1. はじめに 本稿では、ROS を使ったプログラムでMG400を実際に動かす方法をご案内します。ここでは、例としてPythonを使って書いたプログラムをご紹介します。 WindowsにROSをインストールする方法は、以前の記事をご参照ください。 [MG400] WindowsのWSL2にROSをインストールし、MG400をrviz上で動かす方法 2. 環境 以下の環境にて、この手順が有効であることを確認しています。 OS: Windows 10 (64bit) WSL: version 2 ...