想用rplidar跑一下hector slam,在网上发现了几个教程写的都不错,但是亲测发现都有点不足,综合了一下,进行补充。

1. 安装ros 和 创建工作空间

http://blog.csdn.net/u013453604/article/details/49386953

2. rplidar  :

https://hollyqood.wordpress.com/2015/12/01/ros-slam-2-hector-slam-2d%E5%9C%B0%E5%9C%96%E5%BB%BA%E7%BD%AE/

插上rplidar,看看在哪个usb口

  1. ls /dev/ttyUSB*

更改usb权限

  1. sudo chmod /dev/ttyUSB0

看看rplidar 能否正常工作

  1. cd catkin_ws
  2. souce devel/setup.bash
  3. roslaunch rplidar_ros view_rplidar.launch
  4.  
  5. //开启另一个终端
  6. cd catkin_ws
  7. souce devel/setup.bash
  8. roslaunch rplidar_ros rplidar.launch

3. hector slam

  1. cd ~/catkin_ws/src
  2. git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam
  3. cd ~/catkin_ws
  4. catkin_make

4. 测试  这步很重要啊,launch文件http://www.aichengxu.com/view/9857089

catkin_ws/rplidar_ros_master/launch/目录下添加hector_mapping_demo.launch文件,内容如下:

  1. <launch>
  2. <node pkg "hector_mapping" type="hector_mapping" name="hector_mapping" output="screen">
  3. <!-- Frame names -->
  4. <param name="pub_map_odom_transform" value="true"/>
  5. <param name="map_frame" value="map" />
  6. <param name="base_frame" value="base_link" />
  7. <param name="odom_frame" value="base_link" />
  8.  
  9. <!-- Tf use -->
  10. <param name="use_tf_scan_transformation" value="true"/>
  11. <param name="use_tf_pose_start_estimate" value="false"/>
  12.  
  13. <!-- Map size / start point -->
  14. <param name="map_resolution" value="0.05"/>
  15. <param name="map_size" value=""/>
  16. <param name="map_start_x" value="0.5"/>
  17. <param name="map_start_y" value="0.5" />
  18. <param name="laser_z_min_value" value = "-1.0" />
  19. <param name="laser_z_max_value" value = "1.0" />
  20. <param name="map_multi_res_levels" value="" />
  21.  
  22. <param name="map_pub_period" value="" />
  23. <param name="laser_min_dist" value="0.4" />
  24. <param name="laser_max_dist" value="5.5" />
  25. <param name="output_timing" value="false" />
  26. <param name="pub_map_scanmatch_transform" value="true" />
  27. <!--<param name="tf_map_scanmatch_transform_frame_name" value="scanmatcher_frame" />-->
  28.  
  29. <!-- Map update parameters -->
  30. <param name="update_factor_free" value="0.4"/>
  31. <param name="update_factor_occupied" value="0.7" />
  32. <param name="map_update_distance_thresh" value="0.2"/>
  33. <param name="map_update_angle_thresh" value="0.06" />
  34.  
  35. <!-- Advertising config -->
  36. <param name="advertise_map_service" value="true"/>
  37. <param name="scan_subscriber_queue_size" value=""/>
  38. <param name="scan_topic" value="scan"/>
  39. </node>
  40.  
  41. <node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0 0 0 0 /base_link /laser 100"/>
  42.  
  43. <node pkg="rviz" type="rviz" name="rviz"
  44. args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/>
  45.  
  46. </launch>
  1. //运行下面两个launch
  2.  
  3. roslaunch rplidar_ros hector_mapping_demo.launch
  4. roslaunch rplidar_ros rplidar.launch

拿着rplidar走走 就能看到 图出来了!

刚开启ros时候, 如果报错:roslaunch 不是命令,

$ cd catkin_ws

$ source devel/setup.bash

【ros】rplidar Hector Slam的更多相关文章

  1. rplidar & hector slam without odometry

    接上一篇:1.rplidar测试 方式一:测试使用rplidar A2跑一下手持的hector slam,参考文章:用hector mapping构建地图 但是roslaunch exbotxi_br ...

  2. 【ros】Create a ROS package:package dependencies报错

    $rospack depends1 beginner_tutorials 报错:Erros:could notn call python function 'rosdep2.rospack.init_ ...

  3. 【ros】.bag文件

    Bags are typically created by a tool like rosbag They store the serialized message data in a file as ...

  4. 【ros】【bug】gtk2\3 冲突

    ORBSLAM2首次运行出现GTK冲突. Gtk-ERROR **: GTK+ 3 symbols detected. Using GTK+ 2.x and GTK+ 3 in the same pr ...

  5. 【cartogarpher_ros】一: ros系统下的快速安装

    Cartographer是一个跨多个平台和传感器配置提供 2D 和 3D实时同步定位和映射 ( SLAM ) 的系统. 使用Cartographer有Ros集成环境和无Ros环境,对于新手快速入门,推 ...

  6. Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  7. 【转载】如何编写ROS的第一个程序hello_world

    目录 1.工作空间的创建 2.功能包的创建 3.功能包的源代码编写 4.功能包的编译配置 5.功能包的编译 6.功能包的启动运行 既然ROS已经成功安装好了,大家一定很想亲自动动手编一个通过起手式例程 ...

  8. Hector SLAM解读(1)原文翻译

      一种带有3D运动状态估计的slam系统 A Flexible and Scalable SLAM System with Full 3D Motion Estimation 摘要: 在许多应用场景 ...

  9. 【cartographer_ros】六: 发布和订阅路标landmark信息

    上一节介绍了陀螺仪Imu传感数据的订阅和发布. 本节会介绍路标Landmark数据的发布和订阅.Landmark在cartographer中作为定位的修正补充,避免定位丢失. 这里着重解释一下Land ...

随机推荐

  1. Java 笔录

    ASCII的字符编码 变量的作用域 成员变量:在类中生命都,它作用域整个类. 局部变量:在一个方法的内部或方法的一个代码的内部声明.如果在方法内部声明,它作用域是整个方法:如果在一个方法的某个代码块的 ...

  2. nsurl 测试ATS

    LIPEIdeMacBook-Air:~ lipei$ nscurl --ats-diagnostics https://xxxxx.com/ Starting ATS Diagnostics Con ...

  3. 关于 Android 5.0 原生系统网络图标上的感叹号问题解决方法

    解决方案 adb shell settings put global captive_portal_server g.cn 参考 关于 android 5.0 网络图标上的感叹号及其解决办法

  4. 一个简易的dota改键助手

    那年,刚开始玩dota的时候, 发现物品栏的快捷键太不好按鸟(集中在小键盘的数字键).于是各种改键工具应运而生,像最经典的warkey, 不知不觉就用了好多年.如今,各种改键工具越来越强大了, 支持各 ...

  5. linux挂载移动硬盘

    1. 安装ntfs-3g2. mkdir /mnt/disk3. mount -t ntfs-3g /dev/sdb /mnt/disk4.卸载 umount /dev/sdb

  6. WGS84坐标和UTM坐标的转换

    如题.做了一个Demo,主要是把最后面的参考资料1里面的脚本改成了C语言版本的. 代码: #ifndef __COORCONV_H__ #define __COORCONV_H__ #include ...

  7. 用OOP设计以下场景。太阳发出太阳光,照射在墙壁上,在地面形成影子。

    首先分析出有哪些实体类,太阳.太阳光.墙壁.地面.影子 然后分析太阳应该继承自发光体类.太阳光继承自光类.墙壁继承自物体类 地面是一个承载影子的容器.

  8. Python 集合操作

    1.集合操作 集合是一个无序的,不重复的数据组合, 他的主要作业如下. 1.去重,把一个列表变成集合,就自动去重了 2.关系测试,测试两组数据之前的交集.差集.并集等关系 list_1 = [1,4, ...

  9. logstash5.x配置

    logstash --help --可以通过此命令看到所有命令 -f, --path.config --配置文件路径 -e, --config.string --可直接运行的配置字符串 -w, --p ...

  10. delphi TIdHTTP Post乱码问题

    这里主要说的是中文乱码的问题 1. 发过去的是乱码如下处理, 服务器采用的是UFT-8编码的情况下 uses  HTTPApp;      sPost := HTTPEncode(UTF8Encode ...