ego-planner开源代码之default.rviz介绍&分析
1. 源由
ego-planner开源代码之数据流分析工作的延续。
- 对于算法逻辑的数据流,在前面已经初步做了整理,部分主要模块已经有比较清晰的认识。
- 从数据流的角度,理解模块的工作逻辑,还是非常直观、简洁的。
如何从系统的角度,思考问题,尤其是一个系统由众多模块组成的复杂体系,要能够整体的理解,反而并不能一下子上手。
反之,若能够将整个系统作为一个模块
来理解,入参和出参分别如何对应和理解呢?
2. RViz 配置文件
这部分是 RViz 配置文件的内容,它定义了 RViz 的界面布局、显示的内容、工具栏和其他设置。
下面将其分块解释,并说明每一块的含义:
2.1 Panels
定义了 RViz 界面上的面板及其配置。每个面板可以显示不同的信息和功能。
Panels:
- Class: rviz/Displays
Help Height: 0
Name: Displays
Property Tree Widget:
Expanded:
- /Planning1
- /Mapping1
- /Mapping1/simulation_map1/Autocompute Value Bounds1
Splitter Ratio: 0.5
Tree Height: 170
- Class: rviz/Selection
Name: Selection
- Class: rviz/Tool Properties
Expanded:
- /2D Pose Estimate1
- /2D Nav Goal1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.588679016
- Class: rviz/Views
Expanded:
- /Current View1
- /ThirdPersonFollower1
Name: Views
Splitter Ratio: 0.5
- Class: rviz/Time
Experimental: false
Name: Time
SyncMode: 0
SyncSource: simulation_map
- Class: 面板的类型,例如
rviz/Displays
表示显示面板。 - Name: 面板的名称。
- Expanded: 面板中子项的展开状态。
- Splitter Ratio: 面板中分割器的比例,控制面板的大小分配。
- Help Height: 帮助区域的高度。
- Tree Height: 属性树的高度。
- Experimental: 表示是否使用实验性功能。
- SyncMode 和 SyncSource: 时间面板的同步模式和同步源。
2.2 Toolbars
定义了 RViz 工具栏的样式。
Toolbars:
toolButtonStyle: 2
- toolButtonStyle: 工具按钮的样式,
2
通常表示图标和文本一起显示。
2.3 Visualization Manager
定义了 RViz 的可视化管理器设置,包括显示的内容和工具。
Visualization Manager:
Class: ""
Displays:
- Class: rviz/Axes
Enabled: true
Length: 1
Name: Axes
Radius: 0.100000001
Reference Frame: <Fixed Frame>
Value: true
- Alpha: 0.5
Cell Size: 1
Class: rviz/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.0299999993
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 40
Reference Frame: <Fixed Frame>
Value: true
...
- Class: 用于表示显示的类型,例如
rviz/Axes
和rviz/Grid
。 - Enabled: 是否启用该显示项。
- Name: 显示项的名称。
- Alpha: 显示项的透明度。
- Color: 颜色设置。
- Topic: 用于显示的 ROS 话题。
- Size 和 Style: 控制显示的大小和样式。
2.4 Tools
定义了 RViz 工具栏中包含的工具及其设置。
Tools:
- Class: rviz/Interact
Hide Inactive Objects: true
- Class: rviz/Select
- Class: rviz/FocusCamera
- Class: rviz/Measure
- Class: rviz/SetInitialPose
Topic: /initialpose
- Class: rviz/SetGoal
Topic: /move_base_simple/goal
- Class: rviz/PublishPoint
Single click: true
Topic: /clicked_point
- Class: 工具的类型,例如
rviz/Interact
和rviz/Select
。 - Name: 工具的名称。
- Hide Inactive Objects: 工具的特性设置,例如是否隐藏非活动对象。
- Topic: 相关的 ROS 话题,用于工具的操作。
2.5 Views
定义了 RViz 的视图设置,包括当前视图和保存的视图。
Views:
Current:
Class: rviz/ThirdPersonFollower
Distance: 27.7380829
...
Saved:
- Class: rviz/ThirdPersonFollower
Distance: 17.4853859
...
- Class: 视图的类型,例如
rviz/ThirdPersonFollower
。 - Distance: 相机距离。
- Focal Point: 相机对焦点的坐标。
- Pitch 和 Yaw: 相机的俯仰角和偏航角。
2.6 Window Geometry
定义了 RViz 窗口的几何属性,包括窗口的大小和位置。
Window Geometry:
Displays:
collapsed: true
Height: 1007
Width: 1180
X: 442
Y: 123
...
- Height 和 Width: 窗口的高度和宽度。
- X 和 Y: 窗口的屏幕位置。
- collapsed: 面板是否折叠。
3. 总结
这些参数定义了 RViz 的整个界面配置,包括面板、工具栏、可视化管理器、工具、视图和窗口几何。
通过这些设置,可以自定义 RViz 的显示布局、工具和视图,以适应特定的应用需求。