目前实验室做机器人,主要分三个方向,定位导航,建图,图像识别,之前做的也是做了下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.齐次坐标 参考:http://blog.csdn.net/janestar/article/details/44244849
 
2018年1月19日
1.欧拉角https://www.zhihu.com/question/47736315
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与程序名一致,后卖弄那个需与命名的源程序名一致。

视觉slam学习之路(一)看高翔十四讲所遇到的问题的更多相关文章

  1. 我的学习之路_第三十四章_jsp

    jsp 在只有servlet时,输出页面内容比较麻烦(成本高,java代码中输出HTML标签),所以需要一种技术,主要是HTML页面的代码(HTML,css,js),可以嵌入java代码,来实现动态页 ...

  2. 高翔《视觉SLAM十四讲》从理论到实践

    目录 第1讲 前言:本书讲什么:如何使用本书: 第2讲 初始SLAM:引子-小萝卜的例子:经典视觉SLAM框架:SLAM问题的数学表述:实践-编程基础: 第3讲 三维空间刚体运动 旋转矩阵:实践-Ei ...

  3. 《SLAM十四讲》个人学习知识点梳理

    0.引言 从六月末到八月初大概一个月时间一直在啃SLAM十四讲[1]这本书,这本书把SLAM中涉及的基本知识点都涵盖了,所以在这里做一个复习,对这本书自己学到的东西做一个梳理. 书本地址:http:/ ...

  4. 高博-《视觉SLAM十四讲》

    0 讲座 (1)SLAM定义 对比雷达传感器和视觉传感器的优缺点(主要介绍视觉SLAM) 单目:不知道尺度信息 双目:知道尺度信息,但测量范围根据预定的基线相关 RGBD:知道深度信息,但是深度信息对 ...

  5. 《视觉SLAM十四讲》第2讲

    目录 一 视觉SLAM中的传感器 二 经典视觉SLAM框架 三 SLAM问题的数学表述 注:原创不易,转载请务必注明原作者和出处,感谢支持! 本讲主要内容: (1) 视觉SLAM中的传感器 (2) 经 ...

  6. 视觉slam十四讲第七章课后习题6

    版权声明:本文为博主原创文章,转载请注明出处: http://www.cnblogs.com/newneul/p/8545450.html 6.在PnP优化中,将第一个相机的观测也考虑进来,程序应如何 ...

  7. 视觉slam十四讲第七章课后习题7

    版权声明:本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/newneul/p/8544369.html  7.题目要求:在ICP程序中,将空间点也作为优化变量考虑进来 ...

  8. 浅读《视觉SLAM十四讲:从理论到实践》--操作1--初识SLAM

    下载<视觉SLAM十四讲:从理论到实践>源码:https://github.com/gaoxiang12/slambook 第二讲:初识SLAM 2.4.2 Hello SLAM(书本P2 ...

  9. 《视觉SLAM十四讲》第1讲

    目录 一 视觉SLAM 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 视觉SLAM 什么是视觉SLAM? SLAM是Simultaneous Localization and Mappin ...

随机推荐

  1. JVM GC算法

    在判断哪些内存需要回收和什么时候回收用到GC 算法,本文主要对GC 算法进行讲解. JVM垃圾判定算法 常见的JVM垃圾判定算法包括:引用技术算法.可达性分析算法. 引用技术算法(Reference ...

  2. 漫谈Java IO之普通IO流与BIO服务器

    今天来复习一下基础IO,也就是最普通的IO. 网络IO的基本知识与概念 普通IO以及BIO服务器 NIO的使用与服务器Hello world Netty的使用与服务器Hello world 输入流与输 ...

  3. 基于FPGA的Cordic算法实现

    CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数.双曲线.指数.对数的 ...

  4. C语言第三次作业总结

    本次作业的亮点 总体情况 大部分同学基本掌握了单层循环结构的写法,懂得了代码调试的过程 PTA通过率及作业质量都不错,希望再接再厉 推荐博客 黄毓颖 推荐理由:代码思路清晰,格式良好:调试过程相当形象 ...

  5. 项目Alpha冲刺Day10

    一.会议照片 二.项目进展 1.今日安排 解决前后台联调问题,完善全局的请求和路由跳转处理,添加空文件完善路由信息,优化界面跳转等待.完成个人信息和修改密码.修改前台数据组织和方法调用方式.解决登录和 ...

  6. php的打印sql语句的方法

    echo M()->_sql(); 这样就可以调试当前生成的sql语句: //获取指定天的开始时间和结束时间 $datez="2016-05-12"; $t = strtot ...

  7. thinkphp调试技巧

    调试的经验:很多时候程序调试不出来,但是又找不出错误,往往是拼写错误可能是很小的拼写错误,很难看出,或者多了一个空格,比如在配置路由的时候'URL_ROUTER_ON '=true,这样设置就会错误, ...

  8. js 防止重复点击

    1.添加flag 适用于ajax 表单提交,提交之前flag = false , 提及中,true ,提交后false 2.事件重复点击: <script> var throttle = ...

  9. EasyUI DataGrid 实现单行/多行编辑功能

    要实现 EasyUI DataGrid 的可编辑很简单,在需要编辑的列添加 editor [编辑器]就可以了. 单行编辑 // 初始化数据列表 function initDatagrid() { $( ...

  10. MySQL关系表查询两个表的数据

    如下,有四张表:游戏类型表,游戏表,点卡和游戏关系表,点卡表 CREATE TABLE `gamesType`( `tId` INT AUTO_INCREMENT NOT NULL PRIMARY K ...