小觅相机运行VINS-Fusion(一)

写在前面的话:
1.本文基于自己的另一篇博文win10+ubuntu16.04+ROS Kinetic
2.参考[4]是一篇非常好的帖子,但由于小觅托管在github的代码在不断更新,故需在某些步骤及语句做适当调整。

第一步:下载安装小觅的相机驱动

1. 安装opencv:官方链接–OpenCV Installation in Linux
【注1】:卡在IPPICV下载。解决方法是先离线下载,然后修改cmake文件并指出文件的保存位置。具体步骤参考帖子:opencv 解决ippicv下载问题
"file:///home/changshenxu/"
【注2】:编译中的一些提示及处理(尽可能地解决了大部分提示,并未全部解决)

提示处理
looking for ccache --not foundsudo apt-get install ccache
Looking for linux/videodev2.h - not foundsudo apt-get install libv4l-dev
No package 'gstreamer-video-1.0' foundsudo apt-get install libgstreamer-plugins-base1.0-dev
sudo apt-get install libgstreamer1.0-dev
Looking for sys/videoio.h - not found待解决(据说这个不是错误,且opencv会根据依赖自动调整自己的功能)
No package 'libavresample' foundsudo apt-get install libavresample-dev
No package 'gtk+-3.0' foundsudo apt-get install libgtk-3-dev

2. 安装驱动
参考[1]的步骤进行即可(仅参考驱动安装部分)。

git clone https://github.com/slightech/MYNT-EYE-S-SDK.git
cd <sdk>  // <sdk> 是指MYNT-EYE-S-SDK路径
make init
make install  //最终,默认会安装在 /usr/local 目录
make samples
make tools

./samples/_output/bin/api/camera_a // 测试!

同时,接下来需要使用ROS的接口,继续进行如下编译:

make ros

source wrappers/ros/devel/setup.bash
echo "source ~/MYNT-EYE-S-SDK-2.3.8/wrappers/ros/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

roslaunch mynt_eye_ros_wrapper display.launch  // 测试!

第二步:下载编译小觅的vins-fusion例程源码

小觅将vins-fusion作为例程(samles)托管在了github上[2]。这里有两个分支,分支docker_feat需要安装docker,分支master则不需要(使用该分支)。
下载编译使用分支master,可以参考[3],[4]流程,命令需要略作调整。

0.下载及编译

cd ~/MYNT-EYE_ws
catkin_make

source devel/setup.bash
echo "source ~/MYNT-EYE_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

【注】:catkin_make提示Could not find a package configuration file provided by "cv_bridge"以及Could not find a package configuration file provided by "image_geometry",(虽然我是安装了完整版ROS)。
解决方法:使用如下命令再安装提示中的两个包,

sudo apt-get install ros-kinetic-cv-bridge 
sudo apt-get install ros-kinetic-image-geometry

1.运行MYNT-EYE-S-SDK驱动中的 mynteye 节点

cd (local path of MYNT-EYE-S-SDK)
source ./wrappers/ros/devel/setup.bash //如果已添加到`./bashrc`,此句可省略
roslaunch mynt_eye_ros_wrapper vins_fusion.launch

2.开另一个终端,运行例程MYNT-EYE-FUSION-Sample的vins节点

cd (local path of MYNT-EYE-Fusion-Sample)
source ./devel/setup.bash //同理,此句可省略
roslaunch vins mynteye-s-stereo-imu.launch 

第三步:修改vins-fusion例程源码中的相机参数

第二步运行起来后,发现轨迹跑飞了!
这是正常现象,因为我们还未将config文件中的参数依据自己的小觅相机做修改。
相机参数的获取方法以及所需修改的源文件,参考[4]!
1.小修改
使用./samples/_output/bin/tutorials/get_img_params获取左右相机的k2,k3,k4,k5,mu,mv,u0,v0参数,并修改left_equ.yamlright_equ.yaml

2.大修改:Camera-IMU重新标定
相关的帖子参考[5]-[7],及下一篇文章小觅相机运行VINS-Fusion(二)——Camera-IMU参数标定

参考文献及链接:

[1]. 视觉SLAM——小觅相机实测vins-mono步骤
[2]. https://github.com/slightech/MYNT-EYE-VINS-FUSION-Samples.git
[3]. 小觅在知乎上的帖子一起快速上手 VINS-Fusion
[4]. 使用小觅相机标准入门版运行vins
[5]. Kalibr标定工具:Camera+IMU联合标定(MYNTEYE相机)
[6]. Kalibr 之 Camera-IMU 标定 (总结)
[7]. Kalibr标定camera-IMU详细步骤

[5]. 小觅技术支持中心

小问题汇总

1.测试小觅相机(即执行./samples/_output/bin/api/camera_a)时报错,未检测到设备。
解决:要插上小觅相机!

2.git clone下载Ceres库时没有速度。
【注】:该Ceres库是VINS的依赖;小觅相机的驱动仅依赖OpenCV,并不依赖此项。
解决:使用浏览器在它的官网上下载release版本1.14.0;再继续后续步骤即可。

3.git clone下载VINS-Fusion时,总是出现如下错误提示:
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
解决:出现此问题原因 http缓存不够或者网络不稳定等。使用如下命令加大缓存。
git config --global http.postBuffer 524288000

4.pip问题,ImportError: cannot import name main
解决:修改 usr/bin/ 目录下的pip文件

5.固件安装问题。
解决:下载缺失的固件(网址如下),并拷贝到相应位置。
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915
sudo cp **.bin /lib/firewarm/…

6.pandas 0.24.2 has requirement numpy>=1.12.0, but you’ll have numpy 1.11.0
解决:更新到指定版本 sudo pip install numpy==1.12.0

### 回答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源码的下载和编译、节点的启动等步骤需要严格按照官方指南进行操作。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值