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をインストールする。
を実行した後、PCを再起動。既定でインストールされるLinuxのディストリビューションはUbuntuだが、ディストリビューションを指定することもできる。
※ ヘルプテキストが表示される場合は、
- wsl --install -d <ディストリビューション名>
を実行してインストールするディストリビューションを指定してください。
(3) 再起動後、自動的にUbuntuが立ち上がるので、指示に沿ってユーザー名とパスワード設定を行う。
(4) Ubuntuのバージョンを確認し (既定では最新)、必要となるバージョンをインストールする。Ubuntuのターミナルで
3.1 で確認した通りROS Noeticをインストールするためにubuntu 20.04が必要となるため、Microsoft Storeを起動し、Ubuntu 20.04を検索、入手する。
(5)wslのバージョンを確認する。Powershellで
を使う。ROSをインストールするUbuntuのディストリビューションの行に表示されているwslのバージョンが「2」になっていることを確認する。「1」の場合、
- wsl --set-version <ディストリビューション名> 2
を実行し、バージョンを変更する。
3.3 ROS Noeticのインストール
(1)apt update を実行する。Ubuntuで
(2)ROSのリポジトリを追加する。
を実行。$(lsb_release -sc) は括弧内のコマンドの実行結果に置き換える。
(3)apt-keyの設定する。 curlをインストールしたことがない場合、まず
を行う。その後、
(4)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
Dobot社が発表しているソースコードからMG400のrvizのデモを立ち上げます。
(1)ワークスペースにソースコードを展開する。
(2)ビルドする。
- cd ~/catkin_ws
- catkin_make
(3)環境設定をする。
- echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
- source ~/.bashrc
(4)rviz を立ち上げる。
- 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等を使用していることが原因となります。
解決方法:
- 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’>の上に以下を追加。
- <link name="dummy"/>
- <joint name="dummy_joint" type="fixed">
- <parent link="dummy"/>
- <child link="base_link"/>
- </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」が表示される
解決方法:
- source ~/catkin_ws/devel/setup.bash
を実行し、ワークスペースを再度有効にする。
本稿では、WSL2を利用してWindows上でUbuntuにROS Noeticをインストールし、MG400をrviz上で動かす方法をご紹介しました。
ROSでMG400を実際に動かす方法は、[MG400, Python] ROSでMG400を動かす方法 をご覧ください。