视觉slam学习之路(一)看高翔十四讲所遇到的问题

视觉SLAM十四讲学习记录

目前实验室做机器人,主要分三个方向,定位导航,建图,图像识别,之前做的也是做了下Qt上位机,后面又弄红外识别,因为这学期上课也没怎么花时间在项目,然后导师让我们确定一个方向来,便于以后发论文什么。上个礼拜看了些论文,感觉视觉slam方向还可以,图像识别毕竟不是计算机科班,可能真正要弄也很难有成果,slam也是最近才研究起来,也挺适合我们搞,需要一些高数、c++、ros等知识,学的东西也挺多的,但这样才能体现研究生的价值,不然本科生也能做,然后确定了这个研究方向,希望好好研究个一两年有所成就,研三一个师兄搞的是激光slam,找的工作待遇也不错,前景还是可以的。然后这个礼拜就主要安装了ubuntu、kde,看十四讲书,运行里面的程序,也遇到不少问题,所以就记录下来,下面这些遇到的问题也是自己写的记录,粘贴过来可能不适合大家看,不过希望有所帮助吧,凑合着看,后面希望能更新,像高博 @半闲居士 那样开个博客,哈哈。

2018年1.18

1.高翔P28 g++ helloSLAM.CPP

*遇到问题:g++ error:没有那个文件目录*
解决:需找到文件目录 cd /home/cy/slambok/ch2/ (文件目录有空格需跳 用tab?

cmake . 编译
make (%有问题
./helloSLAM 【g++就 ./a.out

2.30页

要删除之前生成的中间文件,即删除CMakelists.txt和helloSLAM.cpp以外的所有文件。否则make时会报错

.

3.31页

增加库文件,先前第2步建的build要保存,因为cmakelists.txt有之前的构建,我的错误是新建libHelloSLAM.CPP时cpp竟然是大写,然后make时报错makefile找不到,弄了半天才发现这个错误。

4.静态库文件

从编程的角度讲,通常有静态库文件和动态库文件。windows静态库文件就是.lib文件,动态库文件就是.dll文件。内容一样,都是将函数封装在一起编译后供自己或他人调用。好处在于编译后的库文件看不到源代码,可保密;同时不会因为不小心修改了函数而出问题,便于维护。
两种库的区别在于静态库被调用时直接加载到内存,而动态库再是在需要的时候加载到内存,不使用的时候再从内存释放。

unix系统的静态库文件和动态库文件后缀分别是.a和.so

5.

main函数的源文件生车可执行文件
其他源文件编译成库文件。

6.

有个疑问就是,书上调用的库文件printHello最终输出,但是之前的helloSLAM.cpp的源文件执行的却没有?
后面试了下在配置启动器更改配置文件为helloslam,则输出helloslam.cpp的源程序,增加两个配置不知为什么还是只执行usehello.难道一次只能执行一个执行文件?

7.

按debug模式竟然闪现,不能调试。
解决:问了师兄解决了,原来是配置启动器设置的调试断点不是当前启动配置,然后会出现闪现。

8.齐次坐标
参考网址

2018年1月19日

1.欧拉角
website

2.58页

useGeometry程序,书上源程序命名useGeometry.cpp,然后我自己编写源程序名是按的书上的,CMakelists按高的源代码,但是高给的源代码命名是eigenGeoetry.cpp,CMakeLists.txt中add_executable( eigenGeometry eigenGeometry.cpp )然后导致我在终端时cmake出现找不到源程序的错误eigenGeoetry.cpp,因为我命名的是useGeometry.cpp。后面MAKE完总按./useGeometry 然后出现“没有那个文件或目录”错误

解决:

add_executable( eigenGeometry eigenGeometry.cpp )改为add_executable( useGeometry useGeometry.cpp )。也就是前面那个程序名可以自己改,但是后面终端执行时./useGeometry与程序名一致,后卖弄那个需与命名的源程序名一致。

转载于:https://www.cnblogs.com/cybest/p/8903253.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值