SLAM、点云分割、ROS、机器人从业经验总结

3 篇文章 1 订阅
3 篇文章 0 订阅

2020.4.29

workspace的package缺少依赖,方法1:apt-get-install安装到默认目录下,2:github下载安装到自己的目录,链接里的方法安装到指定目录,这里能不能install两说,catkin_make编译肯定是没问题的,使用前source一下,或者加到主目录的.bashrc。

对于clion,如果找不到该package,又没法source,那么在追加到主目录.bashrc的基础上,在clion目录下启动clion就可以了,或者安装到clion平时可以检测的默认package安装目录应该也是可以的。

2019.11.26

Adaptive neighborhood selection for real-time surface normal estimation from organized point cloud data using integral images

主要函数在integral_image_normal.hpp中

pcl::IntegralImageNormalEstimation<PointInT, PointOutT>::computeFeature (PointCloudOut &output)
这里动态确定了窗口的大小。

2019.11.20

static成员变量除了声明,必须要显式定义(定义才真的分配内存),不可以在声明中初始化,只有在定义中才可以初始化(默认0初始化;

static在编译时初始化,可以没有类的对象,不与对象绑定,因此 不可以在类的构造函数中初始化;

在定义中初始化时前面不要加static。

shared_ptr初始化方式:

std::shared_ptr<TYPE> p1 = make_shared<TYPE>(CONSTRUCT_ARG)

std::shared_ptr<TYPE> p2(new TYPE)

std::shared_Ptr<TYPE> p3; p3.reset(new TYPE)//先定义后初始化

std::shared_ptr<TYPE> p4 = px

px.reset()//计数-1

reset()包含两个操作。当智能指针中有值的时候,调用reset()会使引用计数减1.当调用reset(new xxx())重新赋值时,智能指针首先是生成新对象,然后将旧对象的引用计数减1(当然,如果发现引用计数为0时,则析构旧对象),然后将新对象的指针交给智能指针保管

参考:智能指针shared_pt的用法

2019.11.19

测试代码运行时长的时候,发现远比估计时间要长,发现catkin_make默认编译方式是debug

catkin_make -DCMAKE_BUILD_TYPE=Release就好了

2019.11.18

std::chrono计时

C++11--时钟和计时器<chrono>

2019.11.14

11日的问题其实一直没有很好的解决,然后尝试把本来的package给删掉了。

编译成功,然后新出现的问题是报错nodelet加载node不成功,.so搜索到了但是加载不成功,一直怀疑是cmakelists.txt,.xm等文件的问题,憋了两天。今天把代码挨个函数的注释找出错误出现的地方,最后定位到make_shared函数,这个函数可以安全的生成shared_ptr,但是这里不知道为什么就是不行,尝试换成std::shared_ptr p(new  CLASS)的形式就完美解决了。这里是shared_ptr参考

11日的修改package名字的方法或许也是没问题的,不过这里的这个问题是最主要的,很奇怪在同事的机器上就没问题。

Ubuntu16修改显示亮度:最简单的方式解决ubuntu 16.04 屏幕亮度问题

2019.11.11

安装两个同名的package

将新的package放到一个新的catkin_workspace的src文件夹下后,要将该workspace的devel、build删除,在package文件夹下的.xml,.cmakelists, .launch等文件中更新package的名字(这个过程比较复杂,特别是大的项目),重新catkin_make一下。

如果用新的package名无法启动launch文件或者不存在这个package,使用echo $ROS_PACKAGE_PATH指令确认该package是否在ros的package的路径中,不在的话,添加之,在主目录的./bashrc文件中追加export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/你的工作空间路径/src

再次确认echo $ROS_PACKAGE_PATH,在的话应该就没问题了。

另外,更改package名字坑比较多,最好是把原来的暂时不用的package给改名屏蔽掉。

2019.11.7

PCL依赖QT, VTK等很多包,没有安装的情况下为了使用apps文件夹下的demo真的很费时间

修改过ifm深度相机的ip之后,修改了package中launch文件中的ip, 还需要修改ifm3d库的ip,按照官方troubleshoot来。若驱动报错-100001,不记得几个0个,提示连接不上,IFM3D_IP=....., no_proxy=.....,写入.bashrc。如果报错opencv...so.3.3找不到,版本冲突,sudo apt-get remove libopencv-dev。若提示nodelet启动不了,甚至rviz也不可以了,说明ROS本身出问题了,直接sudo apt-get install ros-kinetic-descktop-full,好像是这个指令,就是重装ROS,因为只是类似于修复所以很快就完事了。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值