目次
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までお問い合わせください。