Ubuntu18.04+DSO+ROS(catkin)配置问题贴

  1. 关于Ubuntu+DSO在数据集运行部分,小心路径即可;
    一些依赖库的安装在dso之中即可,在dso文件夹中build编译生成;
    编译通过会在dso/build/lib中生成libdso.a库文件,在dso/build/bin中生成dso_dataset文件;
    (从而判断你自己的安装路径有没有出错)。
  2. 在dso_dataset文件同目录下测试sequnce_n 数据集,任一个序列下载即可;
  3. 安装ziplib用来读取数据库压缩包里的图片,原以为不用解压直接读取,但是最后测试的时候,还是要绝对路径下不同的文件;
    输入:cd ~/dso/build/bin
    ./dso_dataset files=/home/…/dso/build/bin/dataset/sequence_01/images.zip calib=/home/…/dso/build/bin/dataset/sequence_01/camera.txt gamma=/home/…/dso/build/bin/dataset/sequence_01/pcalib.txt vignette=/home/…/dso/build/bin/dataset/sequence_01/vignette.png preset=0 mode=0
    数据集运行成功后会在同目录下生成result.txt文件,是相机运动过程中每帧的外参,数据集上运动的速度还是很快的;
  4. 用自己摄像头实时运行DSO (catkin版),事先配置ROS,参考链接很多,测试出来节点控制的小乌龟就可以,不难。
    但是注意版本Ubuntu的版本对应不同的ROS,如果不适配就会出现 E:无法定位软件包的问题。
    Ubuntu18.04+DSO+ROS(catkin)配置问题贴
    我参考的配置链接 Ubuntu18.04+Melodic
    配置成功之后测试小海龟。
    Ubuntu18.04+DSO+ROS(catkin)配置问题贴
  5. ROS配置成功之后按照 ROS调用外接摄像头 配置;
    其中catkin_ws是新建的工作空间,不同的博客一般命名为catkin_ws或者catkin_dso,名称而已不影响,重要的是catkin_的前缀。
    代码理解: export DSO_PATH=/home/…/dso/
    #这里的DSO_PATH值得是dso的路径,后面省略的地方就是先前安装dso的那个文件夹;
    安装编译dso_ros和安装编译usb_cam之后,运行dso;
    代码理解: gedit ~/catkin_ws/src/dso_ros/camera.txt输入,是直接弹出文档,在里面的空白的文档里面输入camera的参数。
  6. 关于dso中笔记本相机标定,参考 dso-ros外接摄像头 暂时没有配置,直接找的网上的,数据的不对不会影响到是否可以调用dso,但是会影响到运行的效率与精度。后续补充
  7. 运行dso;
    首先第一个终端输入roscore (Roscore 大写无法调出);
    第二个终端输入source ~/catkin_dso/devel/setup.bash #这个是环境的配置,有很多链接都没有,不清楚是不是因为Ubuntu+配置的问题(疑惑脸,因为网上大多数都是Ubuntu14或者16的配置);
    代码理解: roslaunch usb_cam usb_cam-test.launch #调出自己的摄像头
    Ubuntu18.04+DSO+ROS(catkin)配置问题贴
    第三个终端输入source ~/catkin_dso/devel/setup.bash #作用同上;
    rosrun dso_ros dso_live image:=/usb_cam/image_raw calib=/home/…/catkin_dso/src/dso_ros/camera.txt mode=1
    这里的路径不同的博客里面不尽相同,主要的依据是你的camera.txt的路径(手动搜索也行),之后enter运行
  8. 迄今为止出现的一个最大的问题就是:
    Couldn’t find executable named dso_live below /home/chuanxu/catkin_dos/src/dso_ros 找不到这个可执行文件。
    参考一 最后一个问题,没有对CMakeLists.txt进行改动,编译生成的bin将会存在build目录下,rosrun会找不到,要想修改的话,修改cmake.list中bin文件路径,就是将其中一行代码set(EXECUTABLE_OUTPUT_PATH $/bin)替换成set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)。
    但是我在整体的文件夹下搜索,根本没有生成dso_live这个文件,所以应该是之前配置的错误。
    wrong
    参考二 中error2,dso-ros的版本问题,安装包的名字就是dso-ros.catkin,排除;先前讲的camera.txt的路径,也不是。
    wrong
    参考三 关于干工作空间功能包,可能自己之前配置破坏了一些文件,就按照操作把catkin_dso工作空间重新理了一番,然后按照之前的步骤重新配置生成,还是不行同样的问题。
    wrong
    参考四 可能是dso-ros的版本问题,这个里面选用了蓝鲸智能修改之后的dso_ros版本,这个我用着可以,按照之前的操作,可以运行处dso
    right至少适合我
    Ubuntu18.04+DSO+ROS(catkin)配置问题贴
  9. 上面的参考四有一个问题
    如果使用外接USB摄像头的话:修改launch中的usb_cam-test.launch的video0为video1就可以了;
    不清楚他对外部摄像头的定义是什么,我是外接的USB摄像头,修改成video1,但是无法调出的问题,后来改回video0,可以执行。