【ros】rplidar Hector Slam
想用rplidar跑一下hector slam,在网上发现了几个教程写的都不错,但是亲测发现都有点不足,综合了一下,进行补充。
1. 安装ros 和 创建工作空间
http://blog.csdn.net/u013453604/article/details/49386953
2. rplidar :
插上rplidar,看看在哪个usb口
- ls /dev/ttyUSB*
更改usb权限
- sudo chmod /dev/ttyUSB0
看看rplidar 能否正常工作
- cd catkin_ws
- souce devel/setup.bash
- roslaunch rplidar_ros view_rplidar.launch
- //开启另一个终端
- cd catkin_ws
- souce devel/setup.bash
- roslaunch rplidar_ros rplidar.launch
3. hector slam
- cd ~/catkin_ws/src
- git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam
- cd ~/catkin_ws
- catkin_make
4. 测试 这步很重要啊,launch文件http://www.aichengxu.com/view/9857089
catkin_ws/rplidar_ros_master/launch/目录下添加hector_mapping_demo.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=""/>
- <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="" />
- <param name="map_pub_period" value="" />
- <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=""/>
- <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>
- //运行下面两个launch
- roslaunch rplidar_ros hector_mapping_demo.launch
- roslaunch rplidar_ros rplidar.launch
拿着rplidar走走 就能看到 图出来了!
刚开启ros时候, 如果报错:roslaunch 不是命令,
$ cd catkin_ws
$ source devel/setup.bash
【ros】rplidar Hector Slam的更多相关文章
- rplidar & hector slam without odometry
接上一篇:1.rplidar测试 方式一:测试使用rplidar A2跑一下手持的hector slam,参考文章:用hector mapping构建地图 但是roslaunch exbotxi_br ...
- 【ros】Create a ROS package:package dependencies报错
$rospack depends1 beginner_tutorials 报错:Erros:could notn call python function 'rosdep2.rospack.init_ ...
- 【ros】.bag文件
Bags are typically created by a tool like rosbag They store the serialized message data in a file as ...
- 【ros】【bug】gtk2\3 冲突
ORBSLAM2首次运行出现GTK冲突. Gtk-ERROR **: GTK+ 3 symbols detected. Using GTK+ 2.x and GTK+ 3 in the same pr ...
- 【cartogarpher_ros】一: ros系统下的快速安装
Cartographer是一个跨多个平台和传感器配置提供 2D 和 3D实时同步定位和映射 ( SLAM ) 的系统. 使用Cartographer有Ros集成环境和无Ros环境,对于新手快速入门,推 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- 【转载】如何编写ROS的第一个程序hello_world
目录 1.工作空间的创建 2.功能包的创建 3.功能包的源代码编写 4.功能包的编译配置 5.功能包的编译 6.功能包的启动运行 既然ROS已经成功安装好了,大家一定很想亲自动动手编一个通过起手式例程 ...
- Hector SLAM解读(1)原文翻译
一种带有3D运动状态估计的slam系统 A Flexible and Scalable SLAM System with Full 3D Motion Estimation 摘要: 在许多应用场景 ...
- 【cartographer_ros】六: 发布和订阅路标landmark信息
上一节介绍了陀螺仪Imu传感数据的订阅和发布. 本节会介绍路标Landmark数据的发布和订阅.Landmark在cartographer中作为定位的修正补充,避免定位丢失. 这里着重解释一下Land ...
随机推荐
- Java 笔录
ASCII的字符编码 变量的作用域 成员变量:在类中生命都,它作用域整个类. 局部变量:在一个方法的内部或方法的一个代码的内部声明.如果在方法内部声明,它作用域是整个方法:如果在一个方法的某个代码块的 ...
- nsurl 测试ATS
LIPEIdeMacBook-Air:~ lipei$ nscurl --ats-diagnostics https://xxxxx.com/ Starting ATS Diagnostics Con ...
- 关于 Android 5.0 原生系统网络图标上的感叹号问题解决方法
解决方案 adb shell settings put global captive_portal_server g.cn 参考 关于 android 5.0 网络图标上的感叹号及其解决办法
- 一个简易的dota改键助手
那年,刚开始玩dota的时候, 发现物品栏的快捷键太不好按鸟(集中在小键盘的数字键).于是各种改键工具应运而生,像最经典的warkey, 不知不觉就用了好多年.如今,各种改键工具越来越强大了, 支持各 ...
- linux挂载移动硬盘
1. 安装ntfs-3g2. mkdir /mnt/disk3. mount -t ntfs-3g /dev/sdb /mnt/disk4.卸载 umount /dev/sdb
- WGS84坐标和UTM坐标的转换
如题.做了一个Demo,主要是把最后面的参考资料1里面的脚本改成了C语言版本的. 代码: #ifndef __COORCONV_H__ #define __COORCONV_H__ #include ...
- 用OOP设计以下场景。太阳发出太阳光,照射在墙壁上,在地面形成影子。
首先分析出有哪些实体类,太阳.太阳光.墙壁.地面.影子 然后分析太阳应该继承自发光体类.太阳光继承自光类.墙壁继承自物体类 地面是一个承载影子的容器.
- Python 集合操作
1.集合操作 集合是一个无序的,不重复的数据组合, 他的主要作业如下. 1.去重,把一个列表变成集合,就自动去重了 2.关系测试,测试两组数据之前的交集.差集.并集等关系 list_1 = [1,4, ...
- logstash5.x配置
logstash --help --可以通过此命令看到所有命令 -f, --path.config --配置文件路径 -e, --config.string --可直接运行的配置字符串 -w, --p ...
- delphi TIdHTTP Post乱码问题
这里主要说的是中文乱码的问题 1. 发过去的是乱码如下处理, 服务器采用的是UFT-8编码的情况下 uses HTTPApp; sPost := HTTPEncode(UTF8Encode ...