实现流程:
雷达仿真基本流程:
已经创建完毕的机器人模型,编写一个单独的 xacro 文件,为机器人模型添加雷达配置;
将此文件集成进xacro文件;
启动 Gazebo,使用 Rviz 显示雷达信息。
1.Gazebo 仿真雷达
1.1 新建 Xacro 文件,配置雷达传感器信息
<robot name="my_sensors" xmlns:xacro="http://wiki.ros.org/xacro">
<!-- 雷达 -->
<gazebo reference="laser"> //reference要和laser连杆名称一致
<sensor type="ray" name="rplidar"> //type雷达类型 name起名字
<pose>0 0 0 0 0 0</pose> //6D位姿
<visualize>true</visualize> //雷达射线true可视,false不可视
<update_rate>5.5</update_rate> //雷达射线更新频率 次/s
<ray>
<scan>
<horizontal>
<samples>360</samples> //采样个数,雷达旋转一周采样数
<resolution>1</resolution> //分辨率,每N个射线测距一次,设置大一点设备计算压力小,但是损失精度
<min_angle>-3</min_angle> //采样范围,单位是弧度,以机器人朝向为中心
<max_angle>3</max_angle> //逆时针为正,顺时针为负(看下面演示)
</horizontal>
</scan>
<range>
<min>0.10</min> //采样范围 单位 米
<max>30.0</max>
<resolution>0.01</resolution> //采样精度
</range>
<noise> //高斯噪声,数据采集不可能每次都准确
<type>gaussian</type>
<mean>0.0</mean>
<stddev>0.01</stddev>
</noise>
</ray>
<plugin name="gazebo_rplidar" filename="libgazebo_ros_laser.so">
<topicName>/scan</topicName> //雷达发布的话题!!!
<frameName>laser</frameName>
</plugin>
</sensor>
</gazebo>
</robot>
记住了!左正右负!
顺时针为负 -3 逆时针为正 1.5
然后把laser.xacro进行文件包含
运行gazebo看效果,能看到laser的激光射线

在运行rviz,需要进行配置:
添加LaserScan组件,在topic选择/scan(非常重要!)。激光点的大小可以设置,可以大致看出来gazebo中的仿真环境的轮廓。

版权声明:本文为weixin_51067502原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。