博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用小觅相机标准入门版运行vins
阅读量:4082 次
发布时间:2019-05-25

本文共 3200 字,大约阅读时间需要 10 分钟。

 

摘自:

使用小觅相机标准入门版运行vins

 

2019-02-21 19:21:20 2632

分类专栏:

版权

 

文章目录

 

运行步骤概括

  1. 下载相机驱动并编译
  2. 下载源码并编译
  3. 更新源码中的配置文件
  4. 运行vins

详细步骤

  • 前前提条件:电脑上已经安装了Ubuntu、ROS、OpenCV

第一步:下载相机驱动并编译

mkdir -p ~/ROS_WORKSPACE/mynt_eye_sdk/srccd ROS_WORKSPACE/mynt_eye_sdk/srcgit clone https://github.com/slightech/MYNT-EYE-S-SDK.gitcd MYNT-EYE-S-SDKmake rosecho "~/ROS_WORKSPACE/mynt_eye_sdk/devel/setup.bashrc:>>~/.bashrcsource ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

第二步:下载源码并编译

mkdir -p ~/ROS_WORKSPACE/vins_mono_mynt_eye/srccd ROS_WORKSPACE/vins_mono_mynt_eye/srcgit clone https://github.com/slightech/MYNT-EYE-VINS-Sample.gitcd ..catkin_makeecho "~/ROS_WORKSPACE/vins_mono_mynt_eye/devel/setup.bashrcsource ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

第三步:更新源码中的配置文件

3.1 获得相机与IMU参数

  • 获取相机参数

    cd ROS_WORKSPACE/mynt_eye_sdkmake samples                                     #编译sdk文件的sample./samples/_output/bin/tutorials/get_img_params   #获得相机的参数
    • 1
    • 2
    • 3
  • 获得的相机参数为:

    #相机内参left: {pinhole, width: 752, height: 480, fx: 358.17549797746926288fy: 359.24666800723582583cx: 388.61747233659593803cy: 240.16748092953034188 model: 0, coeffs: [-0.25326343297436710, 0.04841619345004276, 0.00059805649233287, -0.00153479593317240, 0.00000000000000000]}right: {pinhole, width: 752, height: 480, fx: 365.57553526747392425, fy: 365.54425241123698243, cx: 369.96980098269671089, cy: 230.17462048185933554, model: 0, coeffs: [-0.30954460737697198, 0.08688922042475018, 0.00020528773279130, 0.00016894963631214, 0.00000000000000000]}#相机外参Extrinsics right to left: {rotation: [0.99946790791265716, -0.00301528183741204, -0.03247782517560629,0.00305611847196011, 0.99999460066266410, 0.00120780188953115, 0.03247400795377153, -0.00130641530915091, 0.99947172650678739], translation: [121.15860396636720964, -0.18695081041847689, -2.23380732606506438]}
  • 获取imu的参数

    cd ROS_WORKSPACE/mynt_eye_sdk./samples/_output/bin/tutorials/get_imu_params   #获得imu参数
    • 1
    • 2
  • 获得IMU参数为:

    camera calib model: pinholeMotion intrinsics: {accel: {scale: [1, 0, 0, 0, 1, 0,0, 0, 1], drift: [0., 0, 0], noise: [0.01692543239797352, 0.01673531019556103, 0.01745248750459097], bias: [0.00019031356589715, 0.00016996777864587, 0.00054490537096494]}, gyro: {scale: [1, 0, 0, 0, 1, 0, 0, 0, 1], drift: [0, 0, 0], noise: [0.00108480261588199, 0.00124663678835018, 0.00110032299198064], bias: [0.00002340483413674, 0.00002359677156776, 0.00001497041805633]}} Motion extrinsics left to imu: {rotation: [-0.00646620000000000, -0.99994994000000004, -0.00763565000000000, 0.99997908999999996, -0.00646566000000000, -0.00009558000000000, 0.00004620000000000, -0.00763611000000000, 0.99997084000000003], translation: [0.00533646000000000, -0.04302922000000000, 0.02303124000000000]}

3.2: 修改源代码的参数文件

需要修改的文件为:~/ROS_WORKSPACE/vins_mono_mynt_eye/src/config/mynteye/mynteye_s_config

  • 相机投影参数

    fx、fy、cx、cy

  • 相机畸变参数

    coeffs[5]=[k1,k2,p1,p2,k3]

  • imu噪声以及随机游走参数

    得到的参数是3维的,但是源码的参数文件的数据只有一维?

第四步:运行vins

  1. 启动相机
source ~/ROS-WORKSPACE/mynt_eye_sdk/src/wrappers/ros/devel/setup.bashroslaunch mynt_eye_ros_wrapper mynteye.launch
  • 1
  • 2
  1. 运行VINS-Mono
cd ~/ROS-WORKSPACE/vins_mono_mynt_eyesource devel/setup.bashrcroslaunch vins_estimator mynteye_s.launch #注意这一句,有一个小尾巴s
  • 1
  • 2
  • 3
  1. 成功运行,得到结果
    在这里插入图片描述

注意事项

  • 每开一个新的终端,都要source一遍,否则找不到包
  • 初始化的时候,相机晃动不要太厉害,否则运行的时候会漂移
    在这里插入图片描述
  • 更详细请参考:
  • 安装小觅SDK详细步骤请参考:
  • VINS-Mono源码网址:

转载地址:http://iqlni.baihongyu.com/

你可能感兴趣的文章
快速理解和使用 ES7 await/async
查看>>
基于最新版本React Native实现JsBundle预加载,界面秒开优化
查看>>
一个基于 React Native 的 Android 企业级应用。
查看>>
Android项目代码
查看>>
react-router跳转传值
查看>>
【React 模仿大众点评 webapp】实战教程 - 文档目录总结
查看>>
Redux实例学习 - Redux套用七步骤
查看>>
为 Vue 编写一个插件
查看>>
如何在 webpack 中引入未模块化的库,如 Zepto
查看>>
IOS UI基础学习系列
查看>>
IOS UI高级学习系列
查看>>
IOS 网络学习系列
查看>>
react-native新导航组件react-navigation详解
查看>>
React Native 仿 ofo 共享单车 App
查看>>
react-native-image-picker
查看>>
官方推荐react-navigation的使用
查看>>
react-navigation跨tab路由处理
查看>>
React-Navigation官网翻译
查看>>
react阻止冒泡事件
查看>>
react-native 实现条码扫描(ios&android)
查看>>