tx2+r2000激光雷达 hector建图


在上章跑通r2000例程后,利用hector算法实现纯激光雷达建图

第一步

在gui_example.lauch文件中屏蔽dummy_slam_broadcaster和rvizLocal节点,并着重修改参数scanner_ip和frame_id。完整代码如下

<?xml version="1.0"?>
<launch>
  <node pkg="pepperl_fuchs_r2000" type="r2000_node" name="r2000_driver_node" output="screen">
    <param name="scanner_ip" value="192.168.1.19"/>
    <param name="frame_id" value="laser_link"/>
    <param name="scan_frequency" value="35"/>
    <param name="samples_per_scan" value="3600"/>
  </node>
  <!--<node pkg="dummy_slam_broadcaster" type="dummy_slam_broadcaster_node" name="dummy_slam_broadcaster"/>
  <node name="rvizLocal" pkg="rviz" type="rviz" respawn="false" output="screen" args="-d $(find pepperl_fuchs_r2000)/rviz/test.rviz" required="true"/>-->
</launch>

第二步

下载hector算法

sudo apt-get install ros-kinetic-hector-slam

第三步

创建hectorlaunch文件
着重修改最后的参数scan_topic,需要和激光雷达节点发布的话题相同,可通过启动激光雷达节点后输入rostopic list命令查看
在这里插入图片描述详细参数意义可参考:https://blog.csdn.net/weixin_41459903/article/details/102795148

然后还要修改tf节点的的最后激光雷达坐标系名称,即下面代码中的laser_link,需要与gui_example.launch文件的frame_id参数名称一致

<node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0.105 0 0 0 /base_link /laser_link 100"/>

完整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="512"/>
<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="/r2000_driver_node/scan"/>
</node>


<node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0.105 0 0 0 /base_link /laser_link 100"/>




  <node pkg="rviz" type="rviz" name="rviz"
    args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/>


</launch>


效果如下
在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值