如何跑通运行hector slam
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_Mapp
·
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);
更多推荐
已为社区贡献1条内容
所有评论(0)