您的位置:首页 > 其它

如何跑通运行hector slam

2016-10-31 09:33 99 查看
1,安装

第一种方法:

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


第二种方法,从git上面获取源代码hector_slam,注意他是一堆package,我目前的方法是挨个进行

catkin_make install -DCATKIN_WHITELIST_PACKAGES="xxx"


其中xxx是里面每个包的名字

2,下载bag文件Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag

3,

rosbag play Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag  --clock


记住一定要加–clock,不然会报错 Geotiff node started或者SearchDir angle change too large。他的作用是在/clock话题里发布模拟的时间,这个时间和bag采集的时间一致,否则/clock里无消息

4,运行

roslaunch hector_slam_launch tutorial.launch


1这里补充一点,要想bag play时仅仅发布特定的几个话题,可以用下面的命令生成一个新的bag文件

rosbag filter in.bag out.bag 'topic =="/scan" or topic == "/tf"'


其中’topic ==”/scan” or topic == “/tf”’是符合python的语法就可以,in.bag是原始bag,out.bag是生成的仅含有想要的topic的新bag文件。

5,要想在没有tf的条件下也能map需要进行以下修改:

<param name="pub_map_odom_transform" value="true"/>
<param name="map_frame" value="map" />
<param name="base_frame" value="base_frame" />
<param name="odom_frame" value="base_frame" />


并且在HectorMappingRos.cpp的81行把true改为false,参照238行的条件判断。

private_nh_.param("use_tf_scan_transformation", p_use_tf_scan_transformation_,false);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hector slam 教程 步骤