代码改变世界

【机器人】RViz中LaserScan的参数信息说明 - 教程

2025-11-21 08:12  tlnshuju  阅读(0)  评论(0)    收藏  举报

RViz 中可视化 LaserScan(通常来自 sensor_msgs/LaserScan)消息时,左侧属性面板中会列出许多参数,这些属性控制激光雷达点云的显示方式和外观。下面是各个属性的详细解释:
在这里插入图片描述


一、基础属性(Common)

属性说明
Topic要订阅的 ROS 话题名,例如 /scan。必须与发布 sensor_msgs/LaserScan 的话题一致。
Unreliable是否允许使用不可靠的(UDP)连接(即 ros::TransportHints().unreliable())。一般保持关闭即可。
Queue Size订阅消息的队列长度,控制缓冲消息数量。数值越大,占用内存越多,但丢包几率越低。

二、Style(展示风格)

这是最重要的一组设置,决定雷达数据在 RViz 中如何显示。

属性说明
Style点的显示模式,常见选项如下:
Points(点)— 显示每个激光点为小圆点。
Squares(方块)— 每个激光点是方形。
Flat Squares(平面方块)— 类似方块,但在平面上显现(贴地)。
Spheres(球形)— 每个点用球体展示,三维感更强。
Arrows— 每个点显示一个箭头(表示方向)。
Size (m)每个点或方块的尺寸(单位:米)。数值太大可能导致点重叠。
Alpha透明度(0.0–1.0)。1.0 表示完全不透明。
Decay Time数据的“衰减时间”(秒)。倘若设置为 > 0,旧数据会在此时间后逐渐消失,形成“动态”效果。设置为 0 表示始终显示最近一次扫描。

三、Color(颜色控制)

属性说明
Color Transformer控制如何为激光点上色。常见选项如下:
FlatColor:所有点使用相同颜色。
Intensity:根据激光反射强度上色(需要消息中有 intensities 字段)。
AxisColor:根据点在 X/Y/Z 方向上的位置上色(例如根据高度或角度)。
Range:根据距离上色(近距离为一种颜色,远距离为另一种)。
ColorColor Transformer = FlatColor 时使用的固定颜色。
Min Intensity / Max IntensityColor Transformer = Intensity 时的强度范围映射,用于控制颜色梯度。
Use Rainbow若启用,则颜色从红到紫呈彩虹渐变,否则应用灰度。

四、位置与方向

属性说明
Position Transform通常表现为 “XYZ” 或 “Fixed Frame”;用于确定点云在 RViz 世界坐标中的位置。
Frame消息的参考坐标系(通常为 base_laserbase_link)。必须与 RViz 的 “Fixed Frame” 保持 TF 可变换。

五、辅助属性

属性说明
Selectable是否允许单击选择单个激光点。
Autocompute Intensity Bounds当启用时,自动根据当前扫描数据计算最小/最大强度范围(用于颜色映射)。
Use rainbow控制是否使用彩虹色带(Intensity 模式下常用)。
Invert Rainbow反转彩虹色顺序。
Axis Color当使用 AxisColor 模式时选择哪个轴决定颜色变化(X/Y/Z)。

补充说明:LaserScan → PointCloud2 转换

RViz 实际上内部会把 LaserScan 数据转换为点云来显示。
每个激光点的 3D 坐标通过以下公式计算:

x = r a n g e i ⋅ cos ⁡ ( a n g l e i ) x = range_i \cdot \cos(angle_i)x=rangeicos(anglei)
y = r a n g e i ⋅ sin ⁡ ( a n g l e i ) y = range_i \cdot \sin(angle_i)y=rangeisin(anglei)
z = 0 z = 0z=0

range_iangle_i 分别来自 rangesangle_min + i * angle_increment

因此在 RViz 中看到的其实是一个平面点云。


✅ 常用设置推荐

场景推荐设置
调试激光数据分布Style=Points,Color Transformer=Range
查看障碍物反射强度Style=Squares,Color Transformer=Intensity
模拟真实雷达效果Style=Flat Squares,Decay Time=0.5
固定色展示Style=Spheres,Color Transformer=FlatColor,Color=Green