jsk_visualization¶
jsk_visualization is a stack for the visualization packages which are used in JSK lab.
The code is open source, and available on github.
This repository contains following ros packages:
jsk_rviz_plugins¶
jsk_rviz_plugins is a package to provide original rviz plugins.
You can use these rviz plugins, panels and tools just by launching rviz.
SegmentArray¶
What is this?¶
Visualize jsk_recognition_msgs/SegmentArray.msg
.

Sample¶
roslaunch jsk_rviz_plugins segment_array_sample.launch
BoundingBox¶
What is this?¶
Visualize jsk_recognition_msgs/BoundingBox.msg
.

BoundingBoxArray¶
What is this?¶
Visualize jsk_recognition_msgs/BoundingBoxArray.msg
.

CameraInfo¶
Visualize sensor_msgs/CameraInfo
.
Footstep¶
What is this?¶
Visualize jsk_footstep_msgs/Footstep.msg
.

HumanSkeltonArray¶
Visualize jsk_recognition_msgs/HumanSkeltonArray
LinearGauge¶
Plot a linear gauge of std_msgs/Float32
on rviz as HUD overlay.
To change caption text, please rename plugin display name on rviz Displays tab
It can increase in either horizontal or vertical direction
Sample¶
roslaunch jsk_rviz_plugins linear_gauge_sample.launch
Normal¶
This will show the Normal which is subcribed from topic (sensor_msgs::PointCloud2). The normal is assumed to have the features x,y,z,normal_x,normal_y,normal_z.
Normal Plugin
Samples¶
Plug the depth sensor which could be launched by openni.launch and execute below command.
roslaunch jsk_rviz_plugins normal_sample.launch
OverlayText¶
Draw text of jsk_rviz_plugins/OverlayText
on rviz as HUD overlay.
Sample¶
roslaunch jsk_rviz_plugins overlay_sample.launch
PeoplePositionMeasuermentArray¶
It visualizes people_msgs/PositionMeasuermentArray
.
Pictogram¶
Pictogram
Pictogram is a rviz plugin to visualize icons. Pictogram plugin uses Entypo and FontAwesome.
You need to use jsk_rviz_plugins/Pictogram
and
jsk_rviz_plugins/PictogramArray
message to use it.
You can find mapping with character
and icons at here and here.
If you set STRING_MODE, you can show the string popups.
PieChart¶
Plot a pie chart of std_msgs/Float32
on rviz as HUD overlay.
To change caption text, please rename plugin display name on rviz Displays tab
Properties¶
Topic
std_msgs::Float32
topic to subscribe tosize
Size of the plotter window
left
Left of the plotter window
top
Top of the plotter window
foreground color
Color to draw line
foreground alpha
Alpha belnding value for foreground
foreground alpha2
Alpha belnding value for foreground for indicator
background color
Background color
background alpha
Alpha belnding value for background
text size
Text size
show caption
Show caption
max value
Max value of pie chart
min value
Min value of pie chart
auto color change
Change the color automatically
max color
Max color of pie chart
Only used if auto color change is set to True
med color
Med color of pie chart
Only used if auto color change is set to True
max color change threshold
Change the max color at this threshold
Only used if auto color change is set to True
med color change threshold
Change the med color at this threshold
Only used if auto color change is set to True
clockwise rotate direction
Change the rotate direction
Sample¶
roslaunch jsk_rviz_plugins overlay_sample.launch
or
roslaunch jsk_rviz_plugins piechart_sample.launch
Plotter2D¶
Plot a line graph of std_msgs/Float32
on rviz as HUD Display.
To change caption text, please rename plugin display name on rviz Displays tab
Sample¶
roslaunch jsk_rviz_plugins overlay_sample.launch
PolygonArray¶
PolygonArray
Visualize jsk_recognition_msgs/PolygonArray
message
Properties¶
Topic
Name of topic of
jsk_recognition_msgs/PolygonArray
auto color
If it’s true, color of polygons are automatically changed
Color
Color of polygons, only enabled if
auto color
is falseAlpha
Transparency of polygons
only border
Draws only edges of polygons.
show normal
Show normal of polygons.
nromal length
Lenght of normal [m].
RvizScenePublisher¶
What is this?¶
RvizScenePublisher plugin can publish sensor_msgs/Image
of rviz.

Publishing Topic¶
/rviz/image
(sensor_msgs/Image
)Scene of rviz image. You can change the topic name by changing
topic_name
in Displays.

SimpleOccupancyGridArray¶
Visualize jsk_recognition_msgs/SimpleOccupancyGridArray
.
String¶
Draw text of std_msgs/String
on rviz as HUD overlay.
Sample¶
roslaunch jsk_rviz_plugins overlay_sample.launch
TFTrajectory¶
https://youtu.be/d9YZWJ5bBZ8
Visualize trajectory of a tf frame.
TorusArray¶
TorusArray
Visualize jsk_pcl_ros/TorusArray
message
Properties¶
Topic
Name of topic of
jsk_pcl_ros/TorusArray
auto color
If it’s true, color of polygons are automatically changed
Color
Color of polygons, only enabled if
auto color
is falseAlpha
Transparency of polygons
uv-smooth
Smoothness the surface
show normal
Show normal of toruses.
nromal length
Lenght of normal [m].
TwistStamped¶
Visualize geometry_msgs/TwistStamped
by arrows. Linear velocity is represented by one arrow
and angular velocity is represented by 3 arrows for each axis.
Properties¶
linear scale (default:
1.0
)angular scale (default:
1.0
)Scale factor of size of arrows
linear color (default:
RGB(0, 255, 0)
)angular color (default:
RGB(255, 0, 0)
)Color of arrows
VideoCapture¶
VideoCapture plugin can capture video of rviz.
You need to specify valid filename and fps before capturing video. You can also specify width and height of video manually instead of using 3D viewer size if you want. After that, toggle start capture checkbox and the movie will be recorded until you uncheck the checkbox.
Be careful on creating too large video.
CancelAction¶
CancelAction
This will publish action_msg/GoalID to topic_name
/cancel.
You can choose multiple cancel goals.
ObjectFitOperatorAction¶
ObjectFitOperatorAction
This will publish jsk_rviz_plugins/ObjectFitCommand to /object_fit_command”.
If you check reversed
, the reversed version will publish.
PublishTopic¶
PublishTopic
This will publish std_msgs/Empty to the topic you designate.
RecordAction¶
RecordAction
This will publish jsk_rviz_plugins/RecordCommand to /record_command. Set the target name.
RobotCommandInterfaceAction¶
RobotCommandInterfaceAction
This will call service to /eus_command with jsk_rviz_plugins/EusCommand srv.
All the buttons are configured via ~robot_command_buttons
parameters.
See robot_command_interface_sample.launch
file to know how to use it.
Parameter format is:
robot_command_buttons:
- name: <name, required>
icon: <path to icon file, optional>
type: <"euscommand" or "emptysrv", required>
command: <S expression to send to eusclient, required if type is euscommand>
srv: <service name, required if type is "emptysrv">
- name: ...
SelectPointCloudPublishAction¶
SelectPointCloudPublishAction
This will publish sensor_msgs/PointCloud2 to /selected_pointcloud.
First, push
Select
Button and select the pointcloud region(Note that you need to choose only pointcloud. Don’t include other parts).Secord, push the SelectPointCloudPublishAction button.
Then the selected pointcloud will be published.
TransformableMarkerOperatorAction¶
TransformableMarkerOperatorAction
TransformableMarkerOperatorAction
This will call service to /request_marker_operate to insert/erase transformable_object
OverlayPickerTool¶
It is a tool to move overlay plugins interactively.
If you drag overlay widget with pressing Shift
key,
the widget is aligned to grid.
ScreenshotListenerTool¶
It is a tool to take screenshot of rviz via service interface.
Click “add button” of toolbar on rviz and you will see popup to add tools.
And /rviz/screenshot
service will be available.
You can save screenshot via service call:
$ rosservice call /rviz/screenshot foo.png
classification_result_visualizer.py¶
What is this?¶

Publish classification results as text markers for each classified object.
The ClassificationResult
is synchronized with one topic which represents poses for each classified object / person.
Subscribing Topic¶
~input/classes
(jsk_recognition_msgs/ClassificationResult
)Classification result
~input/boxes
(jsk_recognition_msgs/BoundingBoxArray
)Bounding boxes of classified objects
~input/poses
(geometry_msgs/PoseArray
)Poses of classified objects
~input/people
(jsk_recognition_msgs/PeoplePoseArray
)Poses of classified people
~input/ObjectDetection
(posedetection_msgs/ObjectDetection
)Poses of classified objects
Publishing Topic¶
~output
(visualization_msgs/MarkerArray
)Text message markers
Parameters¶
~appriximate_sync
(Bool, Default:false
)Option to enable approximate synchronization
~queue_size
(Int, Default:100
)Queue size of subscribers on synchronization
~slop
(Double, Default:0.1
)Slop duration on approximate synchronization
~text_color_blue
(Double, Default:1.0
)Blue of text color
~text_color_green
(Double, Default:0.0
)Green of text color
~text_color_red
(Double, Default:0.0
)Red of text color
~text_color_alpha
(Double, Default:1.0
)Alpha of text color
~text_offset_x
(Double, Default:0.0
)Text offset on x-axis for each object
~text_offset_y
(Double, Default:0.0
)Text offset on y-axis for each object
~text_offset_z
(Double, Default:0.07
)Text offset on y-axis for each object
~text_size
(Double, Default:0.05
)Text size
~marker_lifetime
(Double, Default:5.0
)Marker lifetime
~show_proba
(Bool, Default:true
)Enable to display probability for each classification
rosconsole_overlay_text.py¶
What is this?¶

Publish message for overlaying ROS console output on rviz.
Subscribing Topic¶
/rosout
(rosgraph_msgs/Log
)ROS console output.
Publishing Topic¶
~output
(jsk_rviz_plugins/OverlayText
)Text message displayed on rviz with OverlayText plugin.
Parameters¶
~nodes
(List of String, Default:[]
)Node names whose messages will be published. If an empty list is specified (default), then messages from all nodes will be published.
~nodes_regexp
(String, Default:""
)Regular expression used to filter unmatching nodes. If an empty string is specified (default), then messages from all nodes will be published.
Note that the combination of ~nodes
and ~nodes_regexp
is AND
filter.
~ignore_nodes
(List of String, Default:[]
)Node names whose messages won’t be published. This parameter takes priority over
~nodes
ornodes_regexp
.~exclude_regexes
(List of String, Default:[]
)Regular expressions used to exclude matching messages.
~line_buffer_length
(Int, Default:100
)Max number of messages stored in buffer.
~reverse_lines
(Bool, default:True
)If True, the order of stored messages in the buffer will be reversed.
Sample¶
roslaunch jsk_rviz_plugins overlay_sample.launch
jsk_rqt_plugins¶
rqt_plugins created in JSK Lab.
rqt_2d_plot¶
Plot data of specified topic as scatter plot.
Topic Type¶
jsk_recognition_msgs/PlotData
Optional Arguments¶
--line
: Plot with lines instead of scatter.--fit-line
: Plot line with least-square fitting.--fit-line-ransac
: Plot line with RANSAC.--fit-line-ransac-outlier
: Plot line with RANSAC.
Sample¶
$ roslaunch jsk_rqt_plugins sample_2dplot.launch
rqt_3d_plot¶
Plot multiple topics in 3-dimentional layout.
Topic Type¶
numeric data such as
std_msgs/Float32
Optional Arguments¶
-P
,--pause
: Start in paused state.-L
,--line
: Show lines rather than polygon representation.--no-legend
: Do not show legend.-B
,--buffer
: The length of the buffer. (default = 100)
Sample¶
$ roslaunch jsk_rqt_plugins sample_3dplot.launch
rqt_drc_mini_maxwell¶
Subscribe specified topic and show status in facial expression.
Subscribing Topic¶
/drc_2015_environment/is_disabled
(std_msgs/Bool
)/drc_2015_environment/is_blackout
(std_msgs/Bool
)/drc_2015_environment/next_whiteout_time
(std_msgs/Time
)
If is_disabled
is True, then it frowns and the background color becomes gray.
If is_disabled
is False and is_blackout
is True, then it frowns and the background color becomes red.
next_whiteout_time
is enabled only in this condition.
If is_disabled
is False and is_blackout
is False, then it smiles and the background color becomes green.
Sample¶
$ roslaunch jsk_rqt_plugins sample_drc_mini_maxwell.launch
rqt_histogram_plot¶
Plot histogram data. It supported array fields of topics and jsk_recognition_msgs/HistogramWithRange
.
If you want to specify x-values of figure, use jsk_recognition_msgs/HistogramWithRange
.
rqt_image_view2¶
rqt wrapper of image_view2.
It retrieves image_marked
topic from image_view2
and publish event
topic to image_view2
.
Sample¶
$ roslaunch jsk_rqt_plugins sample_image_view2.launch
rqt_status_light¶
Subscribe specified topic and show status in a simple color.
Topic Type¶
std_msgs/UInt8
Correspondence between Value and Color¶
1
: green2
: yellow(other)
: gray
Usage¶
$ rosrun jsk_rqt_plugins rqt_status_light
$ rostopic pub -r 10 /sample_data std_msgs/UInt8 1 # Select /sample_data in window here
rqt_string_label¶
Subscribe string under specified topic and show the string message.
Topic Type¶
Any topic type which has
string
slot
Usage¶
$ rosrun jsk_rqt_plugins rqt_string_label
$ rostopic pub -r 10 /sample_string std_msgs/String 'This is a sample string.' # Select /sample_string/data in window here
rqt_yn_btn¶
Serves yes/no buttons. The buttons are enabled when there is a request.
Advertising Service¶
rqt_yn_btn
(jsk_rqt_plugins/YesNo
)
Usage¶
$ rosrun jsk_rqt_plugins rqt_yn_btn rqt_yn_btn:=yes_no
$ rosservice call /yes_no "Select Yes or No" # push button here
yes: True
jsk_interactive_marker¶
jsk_interactive_marker is a code using interactive marker.
moveit_msgs/DisplayRobotState
を利用してrviz上にロボットを表示させる¶
rviz上に自由にロボットを配置し、可視化するにはmoveit_msgs/DisplayRobotState
が便利です。
これを利用することで、関節角度+ルートリンク位置を指定することでロボットを可視化できます。
サンプルはroslaunch jsk_interactive_marker sample_display_robot_state.launch
で確認できます。
moveit_msgs/DisplayRobotState
を利用するためには、moveit_ros_visualization
からRobotState
を選択します.
このRobotState
プラグインは2つのパラメータ、1つのトピックに依存します。
parameter
/robot_description
ロボットの形状を読むために、
robot_description
を必要とします。/robot_description_semantic
moveitで利用される、マニピュレータ情報等を保持するパラメータ。一般には
srdf
というファイルで管理されることが多い。 仮想ジョイントを追加することができるため、これを利用してルートリンクに6自由度の仮想ジョイントを追加してrviz上にロボットを配置させる。
topic
Robot State Topic
(moveit_msgs/DisplayRobotState
)トピック名はプラグインのフォームで設定可能。
ロボットのルートリンクを指定するため、以下のようなsrdf
を/robot_description_semantics
に設定する必要があります。
<?xml version="1.0" ?>
<robot name="JAXON_RED">
<virtual_joint name="world_joint" type="floating" parent_frame="odom" child_link="BODY" />
<passive_joint name="world_joint" />
</robot>
このsrdfはmoveitでのプランニングを行うためには情報が少なすぎますが、可視化には十分です。
このようなsrdf
を自動的に設定するためのスクリプトが
package://jsk_interactive_marker/scripts/semantic_robot_state_generator.py
として提供されています。
このスクリプトで設定されるsrdf
はworld_joint
という仮想ジョイントがルートリンクとオドメトリ原点との間に設定されます。
これはmoveit標準の命名則と一致しているため、moveit_configで生成したsrdfをsemantic_robot_state_generator.py
の代わりに用いることもできます。
euslisp
からmoveit_msgs/DisplayRobotState
を生成する関数としてangle-vector-to-display-robot-state
がpackage://jsk_interactive_marker/euslisp/display-robot-state.lにて提供されています。
これを用いると、以下のようにしてrviz上にロボットを可視化できます。
(load "package://hrpsys_ros_bridge_tutorials/euslisp/jaxon_red-interface.l")
(setq *robot* (instance jaxon_red-robot :init))
(send *robot* :fix-leg-to-coords (make-coords))
(ros::roseus "foo")
(ros::advertise "/robot_state" moveit_msgs::DisplayRobotState)
(ros::publish "/robot_state" (angle-vector-to-display-robot-state *robot* (send (send *robot* :link "BODY") :copy-worldcoords)))
注意点¶
rvizでRobotState
を追加する前にrobot_description_state
が設定されている必要があります。
そうでないと、ルートリンクの表示がおかしくなります。
camera_info_publisher¶
camera_info_publisher
provides camera info topics to an image or pointcloud without camera info.
Parameters¶
~yaml_filename
(String, default: ``)Path to yaml file which has camera info information.
~frame_id
(String, default:camera
)Frame id of camera info.
~parent_frame_id_
(Bool, default:base_link
)Frame id of interactive marker.
~sync_pointcloud
(String, default:false
)Synchronize camera info to pointcloud. If both
~sync_pointcloud
and~sync_image
are not specified, camera info is published at a static rate.~sync_image
(String, default:false
)Synchronize camera info to image.
~static_rate
(Double, default:30.0
)Static rate at which camera info is published. If both
~sync_pointcloud
and~sync_image
are not specified, camera info is published at a static rate.~width
(Double, default:640
)With of published camera info. This parameter is enabled when
~yaml_filename
is not speficied. This parameter can be changed by dynamic reconfigure.~height
(Double, default:480
)Height of published camera info. This parameter is enabled when
~yaml_filename
is not speficied. This parameter can be changed by dynamic reconfigure.~f
(Double, default:525
)F of published camera_info. This parameter is enabled when
~yaml_filename
is not speficied. This parameter can be changed by dynamic reconfigure.
Subscribing Topics¶
~input
(sensor_msgs/Image
orsensor_msgs/Pointcloud2
)Image or pointcloud whose camera info is published.
Publishing Topics¶
~camera_info
(sensor_msgs/CameraInfo
)Camera info which has the same timestamp as the input topic.
Sample¶
roslaunch jsk_interactive_marker sample_camera_info_publisher.launch
marker_6dof¶
marker_6dof
provides interactive marker to control a marker of primitive shape or mesh shape.
Parameters¶
~object_type
(String, default:sphere
)Type of object shape. cube, sphere, line, and mesh are available.
~frame_id
(String, default:/map
)Frame id of marker.
~publish_tf
(Bool, default:False
)Tf of marker pose is published if true.
~tf_frame
(String, default:object
)frame id of published tf. This value is used only when
~publish_tf
is true.~tf_duration
(Double, default:0.1
)Time interval of published tf. This value is used only when
~publish_tf
is true.~publish_pose_periodically
(Bool, default:False
)Pose of marker is published periodically if true. Pose topic is published only when marker is moved via Rviz if false.
~object_x
(Double, default:1.0
)~object_y
(Double, default:1.0
)~object_z
(Double, default:1.0
)X, Y, Z scale of object.
~object_r
(Double, default:1.0
)~object_g
(Double, default:1.0
)~object_b
(Double, default:1.0
)~object_a
(Double, default:1.0
)Red, Green, Blue and Alpha value of object.
~initial_x
(Double, default:0.0
)~initial_y
(Double, default:0.0
)~initial_z
(Double, default:0.0
)Initial X, Y, Z position of marker.
~initial_orientation
(Vector of Double, default:[0.0, 0.0, 0.0, 1.0]
)Initial orientation of marker described in quaternion.
Subscribing Topics¶
~feedback
(visualization_msgs/InteractiveMarkerFeedback
)~move_marker
(geometry_msgs/PoseStamped
)You can control markers through topics above.
Publishing Topics¶
~update
(visualization_msgs/InteractiveMarkerUpdate
)~update_full
(visualization_msgs/InteractiveMarkerInit
)Current marker state
~pose
(geometry_msgs/PoseStamped
)Pose of marker. You can select publishing policy via
~publish_pose_periodically
./tf
(tf2_msgs/TFMessage
)Tf of marker pose. Available only when
~publish_tf
is true.
Sample¶
roslaunch jsk_interactive_marker marker_6dof_sample.launch
polygon_marker¶
polygon_marker
is a simple code to provide interactive marker to select
one polygon out of multiple polygons represented in jsk_recognition_msgs/PolygonArray
.
Subscribing Topics¶
~polygon_array
(jsk_recognition_msgs/PolygonArray
)Input polygons
Publishing Topics¶
~selected_index
(jsk_recognition_msgs/Int32Stamped
)Selected index of the polygon.
~selected_polygon
(geometry_msgs/PolygonStamped
)Selected polygon as
geometry_msgs/PolygonStamped
~selected_polygon_array
(jsk_recognition_msgs/PolygonArray
)Selected polygon as
jsk_recognition_msgs/PolygonArray
.
transformable_markers_client.py¶
transformable_markers_client.py
has features below:
Insert markers to
transformable_server_sample
Auto save of user interaction of the markers
Publish topics of reusable msgs after conversion from the markers (ex. BOX -> BoundingBox)
Parameters¶
~config_file
(String, requried)Config file to insert markers, and auto save the interaction. The format is like below:
boxes:
- name: box_a # (requried)
frame_id: map # (optional, default: /map)
dimensions: [0.09, 0.13, 0.15] # (optional, default: [1, 1, 1])
position: [1, 0, 0] # (optional, default: [0, 0, 0, 1])
orientation: [0.0, 0.0, 0.0, 1.0] # (optional, default: [0, 0, 1])
...
~config_auto_save
(Bool, default: True)Enable the feature to save the config automatically.
Required ROS name¶
~server
Node name of
transformable_server_sample
server.
Publishing Topics¶
~output/boxes
(jsk_recognition_msgs/BoundingBoxArray
)Converted boxes from marker: BOX -> BoundingBox.
Sample¶
roslaunch jsk_interactive_marker sample_transformable_markers_client.launch
transformable_server_sample¶
transformable
provides interactive marker to control some object models.
Parameters¶
~server_name
Name of interactive server.
~use_parent_and_child
(default:false
)Flag for using
ParentAndChildInteractiveServer
.If true, you can use associate markers like below:
rosservice call /simple_marker/set_parent_marker "parent_topic_name: ''
parent_marker_name: 'drill'
child_marker_name: 'hand'"
If parent_topic_name==empty
, it uses self server,
and only 1 hierarchy is supported.
~display_interactive_manipulator
(Bool, default:true
)Flat to show the 6dof interactive manipulator for all objects.
~display_interactive_manipulator_only_selected
(Bool, default:false
)Flag to show the 6dof interactive manipulator only for the selected object. This flag does nothing if
~display_interactive_manipulator
isfalse
.~display_description_only_selected
(Bool, default:false
)Flag to show the description only for the selected object.
Usage¶
roslaunch jsk_interactive_marker urdf_model_marker.launch
then, in different terminal You can insert box marker by this command
rosservice call /simple_marker/request_marker_operate "operate: {type: 0, action: 0, frame_id: '', name: '', description: '', mesh_resource: '',
mesh_use_embedded_materials: false}"
You can insert model by this command
rosservice call /simple_marker/request_marker_operate "operate: {type: 3, action: 0, frame_id: 'map', name: 'hand', description: '', mesh_resource: 'package://hrpsys_ros_bridge_tutorials/models/HRP3HAND_R_meshes/RARM_LINK6_mesh.dae',
mesh_use_embedded_materials: true}"
Topics¶
You can control markers through topics below (Please Read msg Structure by rosmsg show or some other) (The default topic name is /simple_marker, server name is the same)
/simple_marker/set_color
/simple_marker/feedback [visualization_msgs/InteractiveMarkerFeedback]
/simple_marker/set_radius
/simple_marker/set_control_relative_pose
/simple_marker/add_pose_relative [geometry_msgs::Pose]
/simple_marker/set_z
/simple_marker/set_x
/simple_marker/set_y
/simple_marker/add_pose [geometry_msgs::Pose]
/simple_marker/set_control_pose [geometry_msgs::PoseStamped]
/simple_marker/set_pose [geometry_msgs::PoseStamped]
You can get marker info by topics below
/simple_marker/marker_dimensions [jsk_interactive_marker/MarkerDimensions]
/simple_marker/pose [geometry_msgs/PoseStamped]
/simple_marker/focus_object_marker_name [std_msgs/String]
/simple_marker/pose_with_name [jsk_interactive_marker/PoseStampedWithName]
/simple_marker/focus_marker_name_text [jsk_rviz_plugins/OverlayText]
/tf [tf2_msgs/TFMessage] (with marker name, tf is published)
/simple_marker/focus_marker_pose_text [jsk_rviz_plugins/OverlayText]
Services¶
You can control markers through topics below
/simple_marker/request_marker_operate -> for inserting marker
/simple_marker/set_focus
/simple_marker/set_color
/simple_marker/set_control_pose
/simple_marker/set_parameters
/simple_marker/set_pose
/simple_marker/set_dimensions
/simple_marker/set_parent_marker
/simple_marker/hide
You can get marker info through topics below
/simple_marker/get_control_pose
/simple_marker/get_color
/simple_marker/get_focus
/simple_marker/get_dimensions
/simple_marker/get_type
/simple_marker/get_pose
/simple_marker/get_existence
urdf_model_marker¶
urdf_model_marker
provides interactive marker to control robot model.
Parameters¶
~server_name
Name of nteractive server.
~use_dynamic_tf
(default:true
)Use
dynamic_tf_publisher
if it is true.~model_config
Collection of parameters.
name
description
scale
pose
offset
use_visible_color
frame-id
registration
fixed_link
model
use_robot_description
model_param
robot
mode
initial_joint_state
name
position
display
Sample¶
roslaunch jsk_interactive_marker urdf_model_marker.launch
Tips about visualization¶
Record rviz¶
kazam¶
You can use kazam to record desktop movie easily.
sudo apt-get install kazam
glc¶
You can use glc to record OpenGL rendering.
glc is the best way to record OpenGL application because it can record movie efficiently.
glc record OpenGL rendering to a special file called .glc
and you can convert the .glc
into several movie format.
It is also good for irtviewer.
Install¶
You can install glc via ppa package. (see this tutorial)
sudo add-apt-repository ppa:arand/ppa
sudo apt-get update
sudo apt-get install glc
Capture¶
You can use glc as wrap command like:
glc rviz
If you want to use it in launch file, use launch-prefix
attribute:
<node pkg="rviz" type="rviz" name="rviz" launch-prefix="glc" />
You need to type Shift + F8
to start and stop capturing. (see this tutorial for detail)
Convert to movie¶
You can use glc_encode.sh
under jsk_tools
.
rosrun jsk_tools glc_encode.sh foo.glc