joint_state_publisher_guiの使い方
以前joint_state_publisherのGUI機能(上記スクショの左側のやつ)がjoint_state_publisher_guiとして独立したという話をした。ROS melodic以前の場合はとりあえずjoint_state_publisher_guiをインストールすれば使えるようになるけど、ちゃんとした使い方もメモ。
joint_state_publisher_guiのインストール
下記コマンドでインストール。melodicの部分は使用してる環境に合わせて適宜変更すること。
$ sudo apt-get install ros-melodic-joint-state-publisher-gui
launchファイルの編集
joint_state_publisher_guiをインストールするとdisplay.launch等が問題なく起動する。けど、下記のワーニングが表示されるようになる。
[WARN]: The 'use_gui' parameter was specified, which is deprecated. We'll attempt to find and run the GUI, but if this fails you should install the 'joint_state_publisher_gui' package instead and run that. This backwards compatibility option will be removed in Noetic.
今はjoint_state_publisherの情けでuse_guiがTrueになってるとGUIが表示されてるけどROS Noetic以降では使えないらしい。例として以前作った三輪車ロボットのdisplay.launchのuse_guiを消してjoint_state_publisher_guiを加えてみた。
本文にも書いとくとこんな感じ。
<launch> <!-- arguments --> <arg name="model" default="$(find mabot_description)/robots/mabot.urdf.xacro"/> <arg name="gui" default="True" /> <!-- prameters --> <param name="robot_description" command="$(find xacro)/xacro --inorder $(arg model)"/> <!-- nodes --> <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" /> <node if="$(arg gui)" name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" /> <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" /> <!-- rviz --> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find mabot_description)/launch/config/urdf.rviz" required="true" /> </launch>
追加した箇所は9行目。これでワーニングが出なくなった。if="$(arg gui)"
を付けてあげることで今まで通りgui:=False
にしたらGUIが起動しないようになってる。試しに下記コマンドで実行するとGUIが表示されない。
$ roslaunch mabot_description display.launch gui:=False