基于立体视觉和GPU加速的视觉里程系统(VINS)

2023-05-16

注意:本文只适用于 Kerloud SLAM Indoor无人机产品

Kerloud SLAM Indoor配备有Nvidia TX2模块和Intel Realsense D435i立体摄像头。凭借更强大的GPU内核,硬件配置能够通过纯视觉实现完全自主的室内定位。VINS系统为视觉辅助自主控制和其他应用(如 SLAM、AR(增强现实))开辟了广泛的机会。该产品适合需要深入研究计算机视觉和机器人自主控制的高端用户。

背景

VINS系统是基于香港科技大学空中机器人组 (https://uav.hkust.edu.hk)的原创作品,相关资源可以在本教程的参考部分中找到。该方法将IMU数据与机载计算机视觉无缝融合,可输出实时姿态估计。它提供了从前端IMU预集成到后端全局优化的完整通路,如下图所示:

在这里插入图片描述

包含内容

请注意,原始开源代码无法直接部署在无人机上,需要复杂的设置才能让用户实现成功飞行。我们所做的工作包括以下几个方面:

  • 具备必要前提(如OpenCV、英特尔实感库等)的完整软件环境配置

  • 包含内参、外参的相机校准

  • VINS与Realsense立体视觉融合的配置

  • 与飞控集成以实现底层状态估计

  • 数据集仿真、手持移动和自主飞行测试

如何使用

位于路径~/src/catkin_ws_VINS-Fusion-gpu中的VINS系统工作区包含如下软件包:

  • VINS-Fusion-gpu:具备GPU加速的VINS算法包,专为Kerloud无人机定制。

  • vison_opencv:用于连接ROS与OpenCV的软件包。

  • pose_converter:用于连接里程计系统与飞控系统的软件包。

可使用如下指令启动VINS系统:

	# terminal 1
	roscore
	
	# terminal 2: launch mavros node
	cd ~/src/catkinws_realsense \
	&& source devel/setup.bash \
	&& roslaunch mavros px4.launch fcu_url:=/dev/ttyPixhawk:921600
	
	# terminal 3: launch realsense driver node
	cd ~/src/catkinws_realsense \
	&& source devel/setup.bash \
	&& roslaunch realsense2_camera rs_d435i_kerloud_stereo_slam.launch
	
	# terminal 4: launch VINS node
	cd ~/src/catkin_ws_VINS-Fusion-gpu \
	&& source devel/setup.bash \
	&& rosrun vins vins_node /home/ubuntu/src/catkin_ws_VINS-Fusion-gpu/src/VINS-Fusion-gpu/config/kerloud_tx2_d435i/realsense_stereo_imu_config.yaml
	
	# (Optional) terminal 5: launch vins-loop-fusion node
	cd ~/src/catkin_ws_VINS-Fusion-gpu \
	&& source devel/setup.bash \
	&& rosrun loop_fusion loop_fusion_node /home/ubuntu/src/catkin_ws_VINS-Fusion-gpu/src/VINS-Fusion-gpu/config/kerloud_tx2_d435i/realsense_stereo_imu_config.yaml
	
	# terminal 6: launch pose_converter node
	cd ~/src/catkin_ws_VINS-Fusion-gpu \
	&& source devel/setup.bash \
	&& roslaunch pose_converter poseconv.launch
	
	# (Optional) terminal 7: launch rviz for visualization
	cd ~/src/catkin_ws_VINS-Fusion-gpu \
	&& source devel/setup.bash \
	&& roslaunch vins vins_rviz.launch

或者更简单地:

	cd ~/src/catkin_ws_VINS-Fusion-gpu \
	&& bash run.sh

演示

使用数据集仿真

基于Euroc数据集的仿真测试可以使用以下命令进行:

	cd ~/src/catkin_ws_VINS-Fusion-gpu \
	&& source devel/setup.bash \
	&& roslaunch vins vins_rviz.launch \
	&& rosrun vins vins_node ~/src/catkin_ws_VINS-Fusion-gpu/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml
	
	# Optional:
	cd ~/src/catkin_ws_VINS-Fusion-gpu \
	&& source devel/setup.bash \
	&& rosrun loop_fusion loop_fusion_node ~/src/catkin_ws_VINS-Fusion-gpu/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml \
	&& rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag

在这里插入图片描述

地面测试

VINS手持测试:
在这里插入图片描述VINS动态地面测试:
在这里插入图片描述

自主室内悬停

在这里插入图片描述

参考资料

更多内容请参考Kerloud UAV主页:
https://kerlouduav.readthedocs.io/en/latest/tutorials_zh/vins-fusion_zh.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于立体视觉和GPU加速的视觉里程系统(VINS) 的相关文章

  • C语言求1-1/3+1/5-1/7+...——小程序,大道理

    问题 xff1a 用C语言编写程序求1 1 3 43 1 5 1 7 43 示例 xff1a 1 include lt stdio h gt 2 void main 3 int n 61 1 4 float sum 61 0 a 61 1
  • C程序设计 (第三版) 谭浩强著 中文高清PDF版下载

    C程序设计 第三版 谭浩强著 中文高清PDF版下载 转载于 https www cnblogs com gavinhughhu archive 2009 12 08 1619072 html
  • 浅谈OCR之Onenote 2010

    上一次我们讨论了Tesseract OCR引擎的用法 xff0c 作为一款老牌的OCR引擎 xff0c 目前已经开源 xff0c 最新版本3 0中更是加入了中文OCR功能 xff0c 再加上Google的更新 维护 xff0c 可以说是潜力
  • element-ui弹窗实现自定义宽度

    lt el dialog title 61 34 title 34 visible sync 61 34 hiddenDialogCommon 34 width 61 34 width 34 64 close 61 34 closeDilo
  • Linux内核设计与实现 原书第3版中文版pdf

    下载地址 xff1a 网盘下载 内容简介 编辑 Linux内核设计与实现 原书第3版 基于Linux 2 6 34内核详细介绍了 Linux内核系统 xff0c 覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容 Linux内核设计与
  • STM32电路设计注意

    以后画STM32的电路板 VDDA一定要接 张JF说 VDDA是给内部的时钟电路供电的 还有一定要留 串口或者 下载调试口 xff08 串口 xff09 或者显示器接口 输入输出设备最好都留着 这样才能方便调试 转载于 https www
  • Kerloud vision 视觉无人机室内定位演示

    产品介绍 云讷科技 xff08 深圳 xff09 有限公司作为无人机之都的一家创业公司 xff0c 旨在立足智能技术 xff0c 传播科技文化 xff0c 可以提供以无人系统为主打的行业方案和教育方案 xff0c 包括无人机飞行控制器 视觉
  • 欢迎走进VSLAM

    1 开启新技术之门 SLAM xff0c 全称叫做Simultaneous Localization and Mapping xff0c 中文叫做同时定位与建图 SLAM技术发展到如今已经几十年 xff0c 目前以激光雷达作为主传感器的SL
  • 《Opprentice: Towards Practical and Automatic Anomaly Detection Through Machine Learning》 笔记

    以下我为这篇 Opprentice Towards Practical and Automatic Anomaly Detection Through Machine Learning 做的阅读笔记 Jeanva ABSTRACT Howe
  • linux系统如何进行录屏

    linux系统如何录屏 安装SimpleScreenRecorder 按Ctrl 43 ALt 43 T打开终端 添加源 xff1a sudo add apt repository ppa maarten baert simplescree
  • 立体视觉 之 三个坐标系

    计算机视觉中 xff0c 常用的有三个坐标系 xff1a 图像坐标系 相机坐标系和世界坐标系 它们之间的关系 xff0c 可以通过三个变换 来表示 xff1a 仿射变换 xff0c 投影变换 xff0c 刚体变换 这三个变换是三维重构几何框
  • IIS部署网站(建站)

    双击IIS图标 xff0c 运行IIS服务器 xff1b 如下图所示 xff1a 2 IIS打开后 xff0c 选中网站 xff0c 然后右键 xff0c 在弹出的菜单中 xff0c 选择新建 xff0c 然后选择网站 xff1b 如下图所
  • 自动化学报投稿过程记录

    2017年2月28号 注册账号后投稿2017年3月2号 稿件状态中有了管理员的名字 xff0c 不再是默认的admin center xff0c 同时显示等待主编指定副主编2017年3月15号左右 等待编委选择审稿人2017年3月22号 收
  • 树莓派入门之装系统

    1 首先下载一个格式化SD卡的工具 xff0c 格式化SD卡https www sdcard org downloads formatter 4 eula windows 2 下载Win32 DiskImager xff0c 这是一个把镜像
  • php的la框架,PHP“企业模式”直观描述(lavale,yii,thinkphp)

    相信大家都接触过php框架吧 xff0c lavale xff0c yii xff0c thinkphp xff0c 简单来书这些都是企业模式 这些模板虽然各不相同 xff0c 各具优势 xff0c 但是归根结底都是一样的 xff0c 框架
  • 网络摄像头100万至500万分辨率多少?传输带宽占用多少?存储空间是多少?

    网络摄像头100万 200万 300万 400万 500万分辨率多少 xff1f 传输带宽分别是多少 xff1f 存储空间是多少 xff1f 500W 2560 1920 300W 2048 1536 200W 1920 1080 200W
  • generate报错 make_melodic版本运行 catkin_make后报错

    因为之前貌似找不到navigation 所以我在src目录下git clone了官方的navigation 然后发现 43 43 43 processing catkin package 39 amcl 39 61 61 gt add su
  • 树莓派无人机开发指南之一:系统篇

    一 树莓派介绍 树莓派作为一款物美价廉的微型电脑 xff0c 被广发应用于物联网 开源电子和机器人等领域 它的官方组织是Raspberry Pi foundation xff0c 并被Broadcom公司支持 树莓派版本从2012年开始至今
  • python以下划线开头的变量名含义

    Python核心风格 xff1a 避免用下划线作为变量名的开始 因为下划线对解释器有特殊的意义 xff0c 而且是内建标识符所使用的符号 xff0c 我们建议程序员避免用下划线作为变量名的开始 一般来讲 xff0c 变量名 xxx被看作是
  • 【eclipse】eclipse报错:the resource is not on the build path of a java project

    最近在eclipse中 xff0c 使用svn导入svn上的一个maven项目 xff0c 但是导入后类的包并没有以源码包的方式显示 xff0c 而是以普通文件包的方式显示出来 xff0c 在对类进行F3等操作时就报错 xff1a the

随机推荐