简介
本文是前两篇博客Livox_Mid360+IMU仿真搭建、基于XTDrone的ZD550+Mid360实现的结合,将ZD550与Livox_Mid360+IMU结合,从原有的xacro文件转为sdf文件,更适合gazebo仿真的实现。
最终效果
DIY
若想实现对激光雷达参数的修改,可参考以下部分
<ray>
标签内部的元素详细定义了 Gazebo 中使用的雷达传感器的扫描特性和性能。这些设置影响雷达模拟的准确性和效果。以下是 <ray>
标签内部各个子标签的详细解释:
<scan>
标签
这个标签定义了雷达扫描的参数,包括水平和垂直扫描的配置:
-
<horizontal>
:<samples>
: 指定一次完整水平扫描中的采样点数。在这个配置中,它被设为100,表示每个完整的水平圈有100个采样点。<resolution>
: 这里指定了扫描的分辨率倍数。通常,这个值设为1意味着扫描按照设定的样本数精确进行。<min_angle>
和<max_angle>
: 设定水平扫描的起始和结束角度。此处使用表达式计算,从0弧度开始到 2π弧度结束,即一个完整的360度圈。
-
<vertical>
:<samples>
: 指定垂直扫描的样本数,此处为360,表示在垂直方向上的分辨率。<resolution>
: 同样指定垂直扫描的分辨率倍数,设为1。<min_angle>
和<max_angle>
: 设定垂直扫描的最小和最大角度,通过弧度给出。这里的角度通过将角度值转换为弧度来计算,对应于从 -3.22 度到 +56.22 度。FOV=max_angle-min_angle=59.44°,接近mid360的实际测量角度。
<range>
标签
定义雷达的测距能力:
<min>
和<max>
: 设置雷达可以测量的最小和最大距离,这里分别是0.1米和200米。<resolution>
: 指定雷达测距的分辨率,这里为0.002米,决定了雷达数据的距离精度。
<noise>
标签
定义模拟雷达数据时加入的噪声模型:
<type>
: 噪声类型,这里使用的是“gaussian”(高斯噪声),它是一种常见的模拟真实环境中传感器误差的噪声模型。<mean>
和<stddev>
: 高斯噪声的平均值和标准差,这里分别为0.0和0.01。平均值为0意味着噪声在长期平均上不会导致系统性偏差,标准差为0.01提供了噪声的变异性大小。
运行
先修改indoor1.launch的sdf文件为zmy_model
roslaunch px4 indoor1.launch
rviz
软件包下载
链接: https://pan.baidu.com/s/1hxjQr0SP2yJ6VIUEJOpZvw?pwd=acm2
提取码: acm2
将zmy_model粘贴到PX4_Firmware/Tools/sitl_gazebo/models目录下,注意修改文件内所有相关的uri,涉及到点云格式的修改,参见前文。