最近在写《动手学ROS2》的课程的第九章机器人仿真,需要给机器人添加传感器,为了更好的仿真,我们需要给传感器添加一些噪声,今天这篇文章就是关于Gazebo的传感器噪声的,希望对大家有所帮助。
传感器噪声每一个或几乎每个传感器的输出中都有噪声。相机可能有色差、声纳有多路径效应和激光会有不正确的距离读数。我们必须在仿真的传感器中添加噪声,以使得仿真的传感器和真实传感器产生的数据更加接近。
Gazebo 有一个内置的噪声模型,可以应用高斯噪声到各种传感器。虽然高斯噪声可能不是非常现实,它总比没有好,并作为一个很好的第一阶近似噪声。高斯噪声也比较容易应用于数据流。
第 1 步:可视化传感器数据让我们从查看当前的 Velodyne 输出开始,然后我们可以添加噪声。
打开 Gazebo,插入 Velodyne 传感器。
- gazebo
- 选择左上角附近的插入选项卡。
- 向下滚动并选择 Velodyne HDL-32 型号。
- 单击渲染窗口中的某个位置。
在激光束前面添加一个 Box,这样我们就可以得到有用的数据。
- 选择渲染窗口上方工具栏中的 Box 图标。
- 在激光束前左键单击以放置盒子。
我们可以通过 Gazebo 的主题可视化器仔细查看传感器数据。
按 Ctrl-t,打开主题选择器。找话题。/gazebo/default/velodyne/top/sensor/scan
选择主题,然后按确定以打开激光可视化器。/gazebo/default/velodyne/top/sensor/scan
请注意输出的流畅线条。
第 2 步:向传感器添加噪声可以使用标签访问 Gazebo 的噪声模型。有关更多信息,请参见 sdformat.org/spec
。
打开 Velodyne 模型。
gedit ~/.gazebo/models/velodyne_hdl32/model.sdf
添加一个元素作为元素的子元素。我们将首先应用大量的噪点,这样效果就很容易看到了。
0 0 -0.004645 1.5707 0 0
true
gaussian
0.0
0.1
再次将 Velodyne 传感器添加到 Gazebo,并在横梁前插入一个盒子。 打开主题可视化工具 (Ctrl-t),然后选择 Velodyne 激光扫描主题。输出应该看起来很嘈杂。
现在让我们将噪音降低到合理的程度。
0 0 -0.004645 1.5707 0 0
true
gaussian
0.0
0.02
总结
以上就是关于gazebo噪声的介绍,下一节小鱼将常见传感器的噪声写一下。敬请期待~