[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 のインストール

(参考:https://learn.microsoft.com/ja-jp/windows/wsl/install)

(1) Powershellを管理者モードで起動。

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

$ wsl --install

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

※ ヘルプテキストが表示される場合は、

$ wsl --install -d <ディストリビューション名>

を実行してインストールするディストリビューションを指定してください。

(3) 再起動後、自動的にUbuntuが立ち上がるので、指示に沿ってユーザー名とパスワード設定を行う。

(4) Ubuntuのバージョンを確認し (既定では最新)、必要となるバージョンをインストールする。Ubuntuのターミナルで

$ lsb_release -a

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

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

$ wsl -l -v

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

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

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

 

3-3. Ros Noetic のインストール

(参考:http://wiki.ros.org/ja/noetic/Installation/Ubuntu)

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

$ sudo apt update

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

$ 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をインストールしたことがない場合、まず

$ sudo apt install curl

を行う。その後、

$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

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

$ sudo apt update

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

$ sudo apt install ros-noetic-desktop-full

 

3-4. Ros の環境設定

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

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

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

$ sudo apt-get install python3-catkin-tools
$ sudo apt-get install python3-rosdep

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

(3) rosdep を初期化する。

$ sudo rosdep init
$ rosdep update

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

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws
$ catkin init

 

4. rviz の起動

(参考: https://github.com/Dobot-Arm/MG400_ROS

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

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

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

(2) ビルドする。

$ cd ~/catkin_ws
$ catkin_make

(3) 環境設定をする。

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

(4) rviz を立ち上げる。

$ roslaunch mg400_description display.launch

 

トラブルシューティング

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

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

これに該当するのは、初期画面では何も表示されず、rvizの下にあるAddボタンから「TF」のdisplay typeを追加した際にはMG400のtfが表示された場合です。

PCがMesa graphics のドライバーに挙げられるNvidiaやIntelのGPU等を使用していることが原因となります。

解決方法:

$ export LIBGL_ALWAYS_SOFTWARE=1

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

  • 警告メッセージ「[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’>の上に以下を追加。

<link name="dummy"/>
<joint name="dummy_joint" type="fixed">
   <parent link="dummy"/>
   <child link="base_link"/>
</joint>
  • エラーメッセージ「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
    」が表示される

解決方法:

$ source ~/catkin_ws/devel/setup.bash

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

 

rviz上でのMG400の操作

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


 

本稿では、WSL2を利用してWindows上でUbuntuにROS Noeticをインストールし、MG400をrviz上で動かす方法をご紹介しました。

ROSでMG400を実際に動かす方法は、[MG400, Python] ROSでMG400を動かす方法 をご覧ください。

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です