综合运动控制:雷达信息仿真及显示
(1)新建laser.xacro文件并集成到小车模型文件中(include)
编写laser.xacro文件,需要修改对照的部分是:
第三行gazebo reference部分和倒数第五行frame name的名字“laser”,该文件要作用到机器人模型的雷达连杆部分,要找到自己雷达连杆设置的名字并对应修改。该标签上面的topicname话题就是雷达传感器发布数据所用的话题,这里是/scan。
<robot name="my_sensors" xmlns:xacro="http://wiki.ros.org/xacro">
<!-- 雷达 -->
<gazebo reference="laser">
<sensor type="ray" name="rplidar">雷达类型
<pose>0 0 0 0 0 0</pose>雷达位姿
<visualize>true</visualize>gazebo是否显示雷达射线
<update_rate>5.5</update_rate>雷达射线的更新频率
<ray>
<scan>
<horizontal>
<samples>360</samples>采样个数:雷达旋转一周采样几个点
<resolution>1</resolution>分辨率:可以设置为整数n,每n个射线测距一次
<min_angle>-3</min_angle>设置雷达的采样范围(180度采样?120度采样?单位是弧度制)
<max_angle>3</max_angle>
</horizontal>
</scan>
<range>
<min>0.10</min>雷达有效范围0.1米到30米
<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>
(2)roslaunch启动env.launch和rviz
观察gazebo的结果,可以看到仿真中会显示雷达信号的波束
(3)在RVIZ中进行对应设置,显示雷达信号的组件
改坐标系Fixed Frames:odom,添加组件laserscan
topic选择/scan,可以看到rviz中出现了一些红色的点组成的边界,这就是雷达信息得到的信号,可以看到周围环境的障碍物情况
扫描二维码关注公众号,回复:
15276334 查看本文章