Rviz2: .rvizファイルの記述方法について
海洋ロボコンをやってた人です。
今回は、.rvizファイルの書き方を引き継ぎも兼ねて記述しておきます。
経緯としては、descriptionやmoveit、SLAM等で.rvizファイルを呼び出すときに、自分好みの状態でRvizを起動させたかったからです。
また、.rvizファイルについての記事も少なかったので、雑に備忘録としてまとめます。
皆様のお力添えになれば幸いです。
Rviz2: .rvizファイルの記述方法について
本内容を説明する上で使用するモデルは、アイコンでも表示されているマンタ型ロボットで紹介していきます。
なお、ロボットのハード設計からソフト設計まで全て私が担当しており、所属研究室の教授からも承諾を得ています。
また、Rvizとはja/rviz-ROS Wiki に記載があるように、ROS用の3D可視化ツールです。
ROSで使用される様々なデータをGUI等で可視化でき、ロボットの状態や外部情報を直感的に認識できるので、幅広く使われていますね。
ここではRvizの基本的な操作は省略していますので、ご了承ください。
それでは、xxx.rvizファイルの記述について説明していきたいと思います。
Panels
まずはPanelsについてです。Panelsは
- Displays
- Selection
- Toop Properties
- Views
の4つの設定ができ、RvizではDefaultでDisplaysとViewsが表示されています。
またheaderのPanelsボタンからチェックを入れると、他のパネルも使用することができます。
Panelsは、以下のように記述されていることが多いです。
Panels:
- Class: rviz_common/Displays
Help Height: 78
Name: Displays
Property Tree Widget:
Expanded:
- /RobotModel1
Splitter Ratio: 0.5
Tree Height: 591
- Class: rviz_common/Selection
Name: Selection
- Class: rviz_common/Tool Properties
Expanded:
- /2D Pose Estimate1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.5886790156364441
- Class: rviz_common/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.5
Displaysに表示するクラスが増えてくると、各Displayの詳細が広がっており見にくいことがあります。
そういう場合は、Expanded下の記述を削除してあげると、Displaysパネルがスッキリして見やすくなります。
Property Tree Widget:
Expanded:
- - /RobotModel1
Visualization Manager
.rvizファイルではVisualization Manager下で
- Displays
- Selection
- Toop Properties
- Views
の詳細を自由に記載することができます。
私自身、.rvizファイルを扱うときはDisplays下を編集することが多いです。
Visualization Manager:
Class: ""
Displays:
- Class: rviz_default_plugins/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.029999999329447746
Value: Lines
Name: Grid
Normal Cell Count: 0
Alpha: 0.5
Cell Size: 1
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 10
Reference Frame: <Fixed Frame>
Value: true
- Class: rviz_default_plugins/TF
Enabled: true
Frame Timeout: 15
Frames:
All Enabled: true
Marker Scale: 0.3
Name: TF
Show Arrows: true
Show Axes: true
Show Names: true
Tree:
{}
Update Interval: 0
Value: false
- Class: rviz_imu_plugin/Imu
Name: Imu
Enabled: true
Topic: /bno055/imu
fixed_frame_orientation: false
Axes properties:
Enable axes: true
Axes scale: 0.2
- Class: jsk_rviz_plugin/Plotter2D
Name: Depth[m]
Enabled: true
Topic: /bar30/depth
width: 100
height: 100
left: 50
top: 50
auto scale: false
max value: 5
min value: -5
foreground color: 114; 159; 207
foreground alpha: 0.7
Global Options:
Background Color: 48; 48; 48
Default Light: true
Fixed Frame: base_link
Frame Rate: 30
Tools:
- Class: rviz_default_plugins/Interact
Hide Inactive Objects: true
- Class: rviz_default_plugins/MoveCamera
- Class: rviz_default_plugins/Select
- Class: rviz_default_plugins/FocusCamera
- Class: rviz_default_plugins/Measure
Line color: 128; 128; 0
- Class: rviz_default_plugins/SetInitialPose
Theta std deviation: 0.2617993950843811
Topic: /initialpose
X std deviation: 0.5
Y std deviation: 0.5
- Class: rviz_default_plugins/SetGoal
Topic: /move_base_simple/goal
- Class: rviz_default_plugins/PublishPoint
Single click: true
Topic: /clicked_point
Value: true
Views:
Current:
Class: rviz_default_plugins/Orbit
Distance: 1.8
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Focal Point:
X: -0.0016349668148905039
Y: -0.014781012199819088
Z: 0.017814036458730698
Focal Shape Fixed Size: true
Focal Shape Size: 0.05000000074505806
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.009999999776482582
Pitch: 0.46039697527885437
Target Frame: <Fixed Frame>
Value: Orbit (rviz)
Yaw: 0.593582272529602
Saved: ~
Classのrviz_default_pluginsは、Rvizで用意されているプラグインを呼び出すことができ、Topic名を自由に変更してカスタマイズできます。
クラスの宣言をしたら、Expandした"Show Names: true"や"Show Axes: true"などの設定値を羅列するだけです。
また、jsk_rviz_pluginなど他のプラグインを使う場合も同様に
- Class: jsk_rviz_plugin/Plotter2D
と定義してTopic名や設定値を記述すれば問題なく動作します。
さらに、ViewsのDistance, Yaw, PitchでどこからのViewにするかを決めることができるので、どの視点からロボットが可視化できてると見やすいかを好みに設定しましょう。
Viewsの画面を真上からのViewに固定したい場合はOrbitからTopDownOrthoに変更します。
Views:
Current:
- Class: rviz_default_plugins/Orbit
- Value: Orbit (rviz)
+ Class: rviz_default_plugins/TopDownOrtho
+ Value: TopDownOrtho (rviz)
Window Geometry
最後に、Window Geometryです。
名前の通り、Rvizのウィンドウ設定ができます。
Height・Widthで、Rvizウィンドウの高さ、幅を変更できます。
また、X・Yでウィンドウ表示位置を変更することができます。
Window Geometry:
Displays:
collapsed: false
Height: 800
Width: 1200
X: 900
Y: 450
Hide Left Dock: false
Hide Right Dock: false
QMainWindow State: 000000ff00000000fd000000040000000000000142000002d9fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000037000002d9000000ca00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002d9fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000037000002d9000000a100fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004c000000044fc0100000002fb0000000800540069006d00650100000000000004c00000026b00fffffffb0000000800540069006d0065010000000000000450000000000000000000000267000002d900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Tool Properties:
collapsed: false
Views:
collapsed: false
以上、.rvizファイルを作る時の参考にしていただければ幸いです。
Discussion