ros2打开rviz
时间: 2025-03-24 21:20:05 浏览: 99
### 如何在 ROS2 中正确启动和配置 RViz
#### 启动 RViz 工具
要启动 ROS2 的 RViz 可视化工具,可以运行以下命令来初始化该应用程序:
```bash
ros2 run rviz2 rviz2
```
这条命令会调用 `rviz2` 节点并打开 RViz 用户界面[^1]。
---
#### 配置 RViz 环境
一旦 RViz 成功启动,可以通过以下几个方面对其进行配置以满足特定需求:
1. **加载默认配置文件**
如果存在预定义的配置文件(`.rviz` 文件),可以直接通过菜单选项 “File -> Open Config” 加载它。这有助于快速恢复之前保存的工作环境设置。
2. **添加显示插件**
在左侧的 Displays 面板中点击“Add”,可以选择多种类型的显示模块,比如:
- RobotModel:用于展示机器人的 URDF 或 SRDF 模型。
- LaserScan / PointCloud2:分别用来渲染激光扫描数据和平面点云数据。
- Path 和 MarkerArray:适合于路径规划以及自定义标记的可视化。
3. **调整全局坐标系**
设置 Global Options 下的 Fixed Frame 参数为合适的参考帧名称(通常为 `/base_link` 或其他已发布的 TF 帧)。这样能确保所有数据源都基于同一参照系被正确绘制出来。
4. **订阅话题消息**
对应每种 Display 类型,在其属性栏里指定所需监听的话题名。例如对于 Camera 显示器来说,则需填入相机图像流的主题地址如 `/camera/image_raw`。
5. **保存当前布局**
完成个性化定制之后可通过 File->Save Config As... 功能存储现有的场景参数以便日后重复利用相同的视觉效果组合。
---
#### 示例代码片段
下面给出一段简单的 Python 脚本示例,演示如何动态发布一些基本几何形状给 RViz 进行实时查看:
```python
import rclpy
from geometry_msgs.msg import Point
from visualization_msgs.msg import Marker
def main(args=None):
rclpy.init(args=args)
node = rclpy.create_node('marker_publisher')
marker_pub = node.create_publisher(Marker, 'visualization_marker', 10)
rate = node.create_rate(2)
while rclpy.ok():
marker = Marker()
marker.header.frame_id = "/map"
marker.type = marker.SPHERE
marker.action = marker.ADD
marker.scale.x = 1.0
marker.scale.y = 1.0
marker.scale.z = 1.0
marker.color.a = 1.0
marker.color.r = 1.0
marker.color.g = 0.0
marker.color.b = 0.0
marker.pose.position.x = 0.0
marker.pose.position.y = 0.0
marker.pose.position.z = 0.0
marker_pub.publish(marker)
rate.sleep()
if __name__ == '__main__':
main()
```
上述脚本创建了一个红色球体,并将其固定放置在全球地图原点处供观察者检验。
---
阅读全文
相关推荐


















