思岚科技 RPLIDAR A1M8 + hector_slam 建图
一、环境配置和基础测试
二、hector_slam 安装
-
我这里是
18.04
下的Medolic
版本:$ sudo apt-get install ros-melodic-hector-slam
- 1
三、launch 文件编写
- 在
~/catkin_ws/src/rplidar_ros/launch/
下编写launch
文件,然后编译工作空间:
<launch>
<node pkg=“hector_mapping” type=“hector_mapping” name=“hector_mapping” output=“screen”>
<!– Frame names –>
<param name=“pub_map_odom_transform” value=“true”/>
<param name=“map_frame” value=“map” />
<param name=“base_frame” value=“base_link” />
<param name=“odom_frame” value=“base_link” />
<!– Tf use –>
<param name=“use_tf_scan_transformation” value=“true”/>
<param name=“use_tf_pose_start_estimate” value=“false”/>
<!– Map size / start point –>
<param name=“map_resolution” value=“0.05”/>
<param name=“map_size” value=“2048”/>
<param name=“map_start_x” value=“0.5”/>
<param name=“map_start_y” value=“0.5” />
<param name=“laser_z_min_value” value = “-1.0” />
<param name=“laser_z_max_value” value = “1.0” />
<param name=“map_multi_res_levels” value=“2” />
<param name=“map_pub_period” value=“2” />
<param name=“laser_min_dist” value=“0.4” />
<param name=“laser_max_dist” value=“5.5” />
<param name=“output_timing” value=“false” />
<param name=“pub_map_scanmatch_transform” value=“true” />
<!–<param name=“tf_map_scanmatch_transform_frame_name” value=“scanmatcher_frame” />–>
<!– Map update parameters –>
<param name=“update_factor_free” value=“0.4”/>
<param name=“update_factor_occupied” value=“0.7” />
<param name=“map_update_distance_thresh” value=“0.2”/>
<param name=“map_update_angle_thresh” value=“0.06” />
<!– Advertising config –>
<param name=“advertise_map_service” value=“true”/>
<param name=“scan_subscriber_queue_size” value=“5”/>
<param name=“scan_topic” value=“scan”/>
</node>
<node pkg=“tf” type=“static_transform_publisher” name=“base_to_laser_broadcaster” args=“0 0 0 0 0 0 /base_link /laser 100”/>
<node pkg=“rviz” type=“rviz” name=“rviz”
args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/>
</launch>
-
四、运行建图节点
-
这里首先打开我们的
激光雷达
节点,然后运行我们刚编写的Slam
节点。$ roslaunch rplidar_ros rplidar.launch $ roslaunch rplidar_ros slam.launch
- 1
- 2
-
rviz
中的建图效果如图所示:
五、小结
-
本篇博客主要参考了 Rplidar A1/A2使用及Hector_SLAM建图 这一篇教程。
-
小提示
1
,如果通过github
源码编译安装功能包的话,就不需要再利用sudo apt-get install
的形式进行安装,否则可能会导致索引问题。之前在使用差速轮仿真库arbotix
的时候就遇到这种问题,我同时安装了源码和apt
的包,节点运行时优先索引到了源码下的功能包,然后提示py
文件没权限(py
文件很多,去挨个赋予权限肯定不是一劳永逸的办法),最后把源码下的包和catkin_ws/share
中的编译文件全删除了,仅用apt
的包就一点问题没有,我的经验就是,需要看源码的都用源码安装,只是拿来用的就用apt
安装。 -
小提示
2
,在~/catkin_ws/src/rplidar_ros/launch/
下新建launch
文件:$ cd ~/catkin_ws/src/rplidar_ros/launch/ $ touch slam.launch
- [转载](https://blog.youkuaiyun.com/sinat_25923849/article/details/108527802?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.no_search_link&utm_relevant_index=2)
-