VINS 运行遇到的问题

讲真,建议用跟项目一样的环境去跑,不然真的很麻烦,各种问题.

相信大家看进来也不是看我瞎扯的,上点干货.

这里可以参考一下 https://blog.csdn.net/snnily/article/details/72991139

1 OpenCV ERROR

遇到这个问题其实就是OpenCV的版本问题. 如果你的本机是Ubuntu16.04, 那么很简单你只需要在本机安装OpenCV3, 然后找到各个包里面的CMakeLists.txt, 将find_package(OpenCV REQUIRED)修改为find_package(OpenCV XXX REQUIRED), XXX是你的OpenCV版本号,一定要是OpenCV3(ubuntu14也要改).下面说说我的情况:

我的系统是Ubuntu14的所以就很麻烦,因为对应的ros-indigo默认的是opencv2.4.8,而且系统里确实有自带的这个版本,但是VINS好像用的是OpenCV3, (幸好我平时用的是OpenCV3,要不然更麻烦).

重点来了,我们需要修改cv_bridge(如果没有,先安装)里默认配置的OpenCV版本为我们自己的OpenCV3.修改 /opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake

#set(libraries "cv_bridge;/usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_video.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_superres.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_stitching.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_photo.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_ocl.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_ml.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_legacy.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_gpu.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_flann.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_features2d.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_contrib.so.2.4.8;/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.2.4.8")

set(libraries "cv_bridge;/usr/local/lib/libopencv_videostab.so.3.1.0;/usr/local/lib/libopencv_video.so.3.1.0;/usr/local/lib/libopencv_superres.so.3.1.0;/usr/local/lib/libopencv_stitching.so.3.1.0;/usr/local/lib/libopencv_photo.so.3.1.0;/usr/local/lib/libopencv_objdetect.so.3.1.0;/usr/local/lib/libopencv_ml.so.3.1.0;/usr/local/lib/libopencv_cudalegacy.so.3.1.0;/usr/local/lib/libopencv_imgproc.so.3.1.0;/usr/local/lib/libopencv_highgui.so.3.1.0;/usr/local/lib/libopencv_flann.so.3.1.0;/usr/local/lib/libopencv_features2d.so.3.1.0;/usr/local/lib/libopencv_core.so.3.1.0;/usr/local/lib/libopencv_calib3d.so.3.1.0")

上面注释掉的是原来的,下面的是我修改之后的.(有一些链接库是opencv3里面没有的所以直接去掉了)


还有一点就是我如果直接把原来的build文件夹和devel文件夹删掉重新catkin_make也是行不通.  保留原有的文件,在修改上面文件后,再执行一次catkin_make就可以运行了.(我这是莫名其妙的路数配置好的,希望路过的大神可以指导一下)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在Ubuntu 18.04上运行VINS-Fusion,您需要按照以下步骤进行操作: 1. 安装ROS(机器人操作系统):在终端中输入以下命令: ``` sudo apt-get update sudo apt-get install ros-melodic-desktop-full ``` 2. 创建ROS工作空间:在终端中输入以下命令: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 3. 下载VINS-Fusion源代码:在终端中输入以下命令: ``` cd ~/catkin_ws/src git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git ``` 4. 安装依赖项:在终端中输入以下命令: ``` cd ~/catkin_ws rosdep install --from-paths src --ignore-src -r -y ``` 5. 编译代码:在终端中输入以下命令: ``` cd ~/catkin_ws catkin_make ``` 6. 运行VINS-Fusion:在终端中输入以下命令: ``` roslaunch vins vins_rviz.launch ``` 这将启动VINS-Fusion,并在RViz中显示结果。 ### 回答2: Ubuntu18.04是一款功能强大且免费开源的操作系统,可用于所有类型的计算机和设备。VINS-Fusion是一种用于视觉惯性SLAM的多传感器融合技术。Ubuntu18.04可用于运行和测试VINS-Fusion,以下是详细说明。 首先需要确认系统已经安装好了ROS(Robotic Operating System),这是一个专门为机器人开发的系统框架。可以在终端里输入指令“roscore”来检查ROS是否正确安装和启动。在终端里输入“echo $ROS_PACKAGE\_PATH”来确保ROS的环境变量已经正确配置。 接下来需要安装VINS-Fusion的依赖项,包括Eigen、Sophus、cv-bridge等等。可以使用apt-get命令来安装这些依赖项。例如,输入“sudo apt-get install libeigen3-dev libboost-all-dev libsuitesparse-dev libeigen3-doc libopencv-dev ros-melodic-cv-bridge”安装必要的依赖项。 安装依赖项之后,需要下载并编译VINS-Fusion源代码。可以在github上下载开源代码,并将其放置在ROS的workspace下。使用“catkin\_make”编译整个workspace,就可以启动VINS-Fusion。 为了测试VINS-Fusion,需要用到一个数据集。可以从VINS-Fusion官方网站上下载数据集,或者使用自己的数据集进行测试。一旦准备好数据集,需要在终端里输入指令“rostopic list”来检查是否正确获取数据。使用“rosrun vins vins\_node”来启动VINS-Fusion节点,开始测试SLAM性能。 总之,在Ubuntu18.04上运行VINS-Fusion需要安装ROS及其依赖项,下载和编译源代码,准备好测试数据集,并运行VINS-Fusion节点来测试SLAM性能。这个过程需要耐心和技术,但在成功测试后将为机器人应用开发带来很大的帮助。 ### 回答3: Ubuntu 18.04是一款非常流行的操作系统,拥有广泛的用户群和热门的开发工具,其中VINS-Fusion是一种非常具有代表性的视觉SLAM解决方案。准备在Ubuntu 18.04上运行VINS-Fusion需要一些注意事项,下面进行详细说明。 首先,要确保在Ubuntu 18.04上安装ROS Melodic,这是ROS最新的稳定版本。ROS Melodic在Ubuntu 18.04中的安装方法可以在ROS官方网站上获取。 其次,需要按照VINS-Fusion的安装指南进行安装和配置,该指南可以在VINS-Fusion的GitHub页面上找到。安装过程需要配置一些ROS工作空间,下载和编译VINS-Fusion等步骤,确保按照指南中的步骤进行操作。 安装完成后,可以使用自己的摄像机数据进行测试。需要在ROS中启动两个节点,分别是vins_estimator和image_processor。其中vins_estimator负责执行VINS-Fusion算法,image_processor负责接收图像消息,并将其转换为ROS消息格式,并将其发布到vins_estimator节点。可以使用ROS中的rviz可视化工具来查看VINS-Fusion的输出结果。 总之,Ubuntu 18.04上VINS-Fusion的运行需要按照一定的流程进行安装和配置。其中ROS Melodic的安装、VINS-Fusion源码的下载和编译、节点的启动等步骤需要严格按照官方指南进行操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值