在使用poine版本的ORB_SLAM2时遇到的一些问题
2018-01-29 17:37
1726 查看
首先声明:
我是想通过这个来实现save and load 功能。
感谢原作者与poine所做的贡献。
poine版本的请参考该链接下载:http://recherche.enac.fr/~drouin/slam/orbslam2/poine_orbslam2_04_07_16.tgz
原版请参考该链接下载:https://github.com/raulmur/ORB_SLAM2
我使用的计算机配置是ubuntu 14.04, ROS indigo ,i5-7300HQ,8G内存,机械硬盘(大体上是这个样子)
不说的太复杂,只说一下我遇到的一些问题:
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
makemake的过程,在我的电脑上不可以使用make -j,会卡死,,,诸君不介意可以尝试一下,,,据说有的是没问题的。各种依赖的库请参考原作者的github:https://github.com/raulmur/ORB_SLAM2
我使用的是xTion摄像头,运行的Mono没什么太大问题,但是 Example/Monocular/TUM1.yaml 的内容要小小改一下,我记得似乎是加入图像的长宽,,,似乎。
ros订阅的topic当然要改。
然后跑RGBD相机的时候会出现闪退,如果深度或者RGB信号中,有一个特征点丢失,那么,就导致slam系统崩溃,似乎是opencv中一个矩阵的问题,我也没弄明白,难道是我的版本不对?我用的是3.3.
mono的运动剧烈之后会lost,改nFeature会好一点,治标不治本。
我的save过程进行的比较顺利,直接在system.cc中调用了这个函数,在一个107键键盘范围内的slam大约生成了十几兆的文件,保存在运行rosrun ORBSLAM2命令的目录下。
load过程,出现segmentation fault(core dumped),网上查阅资料说,这个问题可能存在的原因比较多,gdb定位,发现是unique_lock<mutex> lock(mpMap->mMutexPointCreation);这一句出的问题。后来发现属于我调用函数的时候传入参数的问题,mpMap是空的。
这篇博客写的很敷衍,很不走心,凑活着看看吧,,,以上。。。
我是想通过这个来实现save and load 功能。
感谢原作者与poine所做的贡献。
poine版本的请参考该链接下载:http://recherche.enac.fr/~drouin/slam/orbslam2/poine_orbslam2_04_07_16.tgz
原版请参考该链接下载:https://github.com/raulmur/ORB_SLAM2
我使用的计算机配置是ubuntu 14.04, ROS indigo ,i5-7300HQ,8G内存,机械硬盘(大体上是这个样子)
不说的太复杂,只说一下我遇到的一些问题:
1.编译
编译呢,要把各个build文件全部删掉(为了不出问题,全都删了吧),然后重新那个啥,都懂。。。mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
makemake的过程,在我的电脑上不可以使用make -j,会卡死,,,诸君不介意可以尝试一下,,,据说有的是没问题的。各种依赖的库请参考原作者的github:https://github.com/raulmur/ORB_SLAM2
2.运行
请参考原作者github文章;我使用的是xTion摄像头,运行的Mono没什么太大问题,但是 Example/Monocular/TUM1.yaml 的内容要小小改一下,我记得似乎是加入图像的长宽,,,似乎。
ros订阅的topic当然要改。
然后跑RGBD相机的时候会出现闪退,如果深度或者RGB信号中,有一个特征点丢失,那么,就导致slam系统崩溃,似乎是opencv中一个矩阵的问题,我也没弄明白,难道是我的版本不对?我用的是3.3.
mono的运动剧烈之后会lost,改nFeature会好一点,治标不治本。
3.save and load
作者的代码中有save的函数,但是不知道为什么没有去调用。save 的部分好像在map.cc中,load和save在一起。这些都是作者写好的。我的save过程进行的比较顺利,直接在system.cc中调用了这个函数,在一个107键键盘范围内的slam大约生成了十几兆的文件,保存在运行rosrun ORBSLAM2命令的目录下。
load过程,出现segmentation fault(core dumped),网上查阅资料说,这个问题可能存在的原因比较多,gdb定位,发现是unique_lock<mutex> lock(mpMap->mMutexPointCreation);这一句出的问题。后来发现属于我调用函数的时候传入参数的问题,mpMap是空的。
这篇博客写的很敷衍,很不走心,凑活着看看吧,,,以上。。。
相关文章推荐
- 使用SVN进行版本控制时遇到的一些问题
- 编译ORBSLAM2中遇到的一些问题
- 今天使用eclipse-hilos版本的开发项目遇到一些问题
- ORB-SLAM2编译遇到的一些问题
- 使用高版本的SDK后再导入以前用低版本的project时,会遇到一些兼容性的问题。
- 使用高版本的SDK后再导入以前用低版本的project时,会遇到一些兼容性的问题。
- 使用 swfupload 遇到的一些问题
- (水文,内容比较初级,高手勿进)使用SVN版本控制之后常见的一些问题01
- 在使用ArcGIS过程中遇到的一些问题
- 使用DEDECMS中遇到的一些零碎问题
- 使用Linq 更新数据库时遇到的一些问题及解决办法
- [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题
- .net在使用Lucene中遇到的一些问题总结
- 使用webchart过程中遇到的一些问题
- Java赋值运算符(+=、-=、*=、/=)使用中遇到的一些问题
- 使用S3C2440开发板遇到的一些问题
- 使用webchart过程中遇到的一些问题
- 使用自动生成Mipmap时遇到的一些问题
- 使用Linq 更新数据库时遇到的一些问题及解决办法
- 关于用c生成的dll在使用其他供应商的工具创建可执行模块时遇到的一些问题