如何跑通运行hector slam
2016-10-31 09:33
99 查看
1,安装
第一种方法:
第二种方法,从git上面获取源代码hector_slam,注意他是一堆package,我目前的方法是挨个进行
其中xxx是里面每个包的名字
2,下载bag文件Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag
3,
记住一定要加–clock,不然会报错 Geotiff node started或者SearchDir angle change too large。他的作用是在/clock话题里发布模拟的时间,这个时间和bag采集的时间一致,否则/clock里无消息
4,运行
1这里补充一点,要想bag play时仅仅发布特定的几个话题,可以用下面的命令生成一个新的bag文件
其中’topic ==”/scan” or topic == “/tf”’是符合python的语法就可以,in.bag是原始bag,out.bag是生成的仅含有想要的topic的新bag文件。
5,要想在没有tf的条件下也能map需要进行以下修改:
并且在HectorMappingRos.cpp的81行把true改为false,参照238行的条件判断。
第一种方法:
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);
相关文章推荐
- 如何得到应用程序的运行时间
- 如何让你的SQL运行得更快
- 如何取得正在运行的程序名(不是进程名)
- 类在运行时是如何构造生成的
- 如何运行C++ STL程序
- 类在运行时是如何构造生成的
- 如何做:创建自定义帐户来运行 ASP.NET
- 如何把你的应用程序作为服务来运行(1)
- 如何设置要运行的.NET Framework的版本?
- 如何在你的Linux机器上安装运行Oracle
- 如何使java Application只有一个实例运行
- 如何使.NET程序只运行单一实例
- 如何保证程序运行时系统时间不被修改!
- 如何在启动机器时自动运行adsl拨号(1)
- 如何在你的Linux机器上安装运行Oracle jdbc:thin with java (OAS) DBA
- 如何在你的Linux机器上安装运行Oracle
- 如何使广告条自动运行,仅供学习参考
- 如何准确定时运行ASP文件
- 如何安装和配置 DB2 V8.1 for Linux 和 Java 运行时环境
- 如何运行C++ STL程序