통합 모션 제어: 레이더 정보 시뮬레이션 및 디스플레이
(1) 새 laser.xacro 파일을 생성하고 자동차 모델 파일에 통합(include)
laser.xacro 파일을 작성하기 위해 수정하고 비교해야 하는 부분은 다음과 같습니다.
세 번째 줄에 가제보 참조 부분과 밑에서 다섯 번째 줄에 프레임 이름의 "레이저"라는 이름, 이 파일은 로봇 모델의 레이더 링크 부분에 적용될 것이므로 자신의 이름을 찾아야 합니다. 레이더 링크 설정을 변경하고 그에 따라 수정하십시오. 이 레이블의 주제 이름 주제는 레이더 센서가 데이터를 게시하는 데 사용하는 주제입니다. 여기서는 /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를 시작합니다.
전망대의 결과를 관찰하면 레이더 신호의 빔이 시뮬레이션에 표시되는 것을 볼 수 있습니다.
(3) RVIZ에서 해당 설정을 지정하여 레이더 신호의 구성 요소를 표시합니다.
좌표계 고정 프레임 변경: odom, 구성 요소 laserscan 추가
주제 선택/스캔, rviz에 빨간 점이 몇 개 있는 것을 볼 수 있습니다. 이것은 레이더 정보에서 얻은 신호이며, 주변 환경의 장애물을 볼 수 있습니다.