RPLIDAR A2测评(三)-用RPLIDAR搭建hector_mapping-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6438|回复: 5

RPLIDAR A2测评(三)----用RPLIDAR搭建hector_mapping

[复制链接]
发表于 2016-12-28 10:59 | 显示全部楼层 |阅读模式
本帖最后由 znstj 于 2016-12-28 11:02 编辑

RPLIDAR A2测评()----RPLIDAR搭建hector_mapping

1.  安装RPLIDAR
建立catkin工作空间,在其src目录下git包:


返回工作空间 catkin_make编译

2.  下载安装hector_mapping
sudo apt-get install ros-indigo-hector-slam

3.  rplidar_ros/launch/目录下添加  hector_mapping_demo.launch文件
[mw_shl_code=xml,true]<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="rplidar_ros" type="rplidarNode" name="rplidarNode" output="screen">
    <param name="serial_port"         type="string" value="/dev/ttyUSB0"/>
    <param name="serial_baudrate"     type="int"    value="115200"/>
    <param name="frame_id"            type="string" value="laser"/>
    <param name="inverted"            type="bool"   value="false"/>
    <param name="angle_compensate"    type="bool"   value="true"/>
  </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>
[/mw_shl_code]

运行这个launch文件,可以使用hector_mapping建地图。
如下图所示
31.jpg



要注意hector_mapping是不带里程计的,手拿着都可以建地图。











                                                                                                                 Steven.Zhang



发表于 2016-12-28 11:27 | 显示全部楼层
社区第一篇评测文章

感谢感谢~~
发表于 2017-3-18 11:19 | 显示全部楼层
请问楼主,我用rplidar A2放在小车上测了下,小车没有陀螺仪和里程计模块,但是雷达制图还是准确的,所以想问是怎么做TF变换的?雷达发布给话题的数据,是没有雷达位姿信息的啊,一直被这个问题困扰,求解救,万谢!
 楼主| 发表于 2017-6-23 02:36 | 显示全部楼层
slid 发表于 2017-3-18 11:19
请问楼主,我用rplidar A2放在小车上测了下,小车没有陀螺仪和里程计模块,但是雷达制图还是准确的,所以想 ...

有里程计的,里程计是两轮差速算出来的
 楼主| 发表于 2017-6-23 02:38 | 显示全部楼层
znstj 发表于 2017-6-23 02:36
有里程计的,里程计是两轮差速算出来的

恩 hector_mapping没有  是靠雷达算出来的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-27 23:51 , Processed in 0.172108 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表