Pywayne Visualization Rerun Utils — Pywayne 可视化 Re运行 Utils
v1静态3D可视化工具包,封装Rerun SDK,用于添加点云、轨迹、相机、平面和棋盘。用于在Rerun中可视化3D数据,包括SLAM轨迹、机器人姿态、相机标定目标和调试可视化。所有方法都是静态的,不需要管理viewer实例。对于SE(3)/SO(3)矩阵操作,使用pywayne-vio-se3或pywayne-vio-so3技能。
运行时依赖
安装命令
点击复制技能文档
Pywayne 可视化 Rerun Utils pywayne.visualization.rerun_utils.RerunUtils 提供静态方法用于向 Rerun 查看器添加 3D 元素。
快速开始
import numpy as np import rerun as rr from pywayne.visualization.rerun_utils import RerunUtils# 初始化 Rerun(全局调用一次) rr.init('my_app', spawn=True)
# 使用静态方法添加元素 RerunUtils.add_point_cloud(points, colors=[255, 0, 0]) RerunUtils.add_trajectory(trajectory) RerunUtils.add_camera(pose, image='path/to/image.jpg')
点云 # 单色(默认:红色) RerunUtils.add_point_cloud(points) # 多色点 colors = np.random.randint(0, 255, (100, 3)) RerunUtils.add_point_cloud(points, colors=colors, label='colored') # 数据格式:points (N, 3)
轨迹 # 单色轨迹(默认:绿色) RerunUtils.add_trajectory(trajectory) # 多色轨迹 colors = np.array([[0, 255, 0], [255, 0, 0]], dtype=np.float32) RerunUtils.add_trajectory(trajectory, colors=colors, label='path') # 数据格式:traj_endpoints (N, 3)
相机 # 只有相机(无图像) RerunUtils.add_camera(pose, label='main_camera') # 带图像的相机 RerunUtils.add_camera(pose, image='path/to/image.jpg', label='rgb_camera') # 数据格式:camera_pose (4, 4) 或 (4, 7)
平面 # 由中心和法向量定义平面 RerunUtils.add_plane_from_center_and_normal(center, normal, half_size=1.0) # 由 SE3 变换矩阵定义平面 RerunUtils.add_plane_from_Twp(Twp, half_size=1.0)
棋盘 # 标准棋盘 RerunUtils.add_chessboard_from_Twp() # 自定义棋盘颜色 RerunUtils.add_chessboard_from_Twp( rows=9, cols=6, cell_size=0.025, Twp=pose_matrix, color1=np.array([255, 0, 0]), color2=np.array([0, 0, 255]), label='calib_board' )
内部辅助函数 # 获取从 v1 到 v2 的四元数(用于平面旋转) quat = RerunUtils._get_quaternion_from_v1_and_v2(v1, v2)
重要注意事项
初始化:在使用方法之前调用 rr.init('name', spawn=True) 一次。
静态方法:所有方法都是静态类方法,无需实例化。
依赖项:需要 Rerun SDK(通过 gettool 自动下载)。
数据类型:所有位置输入必须为 float32。
坐标:Rerun 使用 ViewCoordinates.RDF(机器人中心坐标系)。
SE3 位姿:支持 (4, 4) 或 (4, 7) 矩阵格式。
颜色格式:RGB 作为 numpy 数组,形状为 (3,)。