关于机器人状态估计(15)-VIO与VSLAM精度答疑、融合前端、主流深度相机说明与近期工程汇总

这篇具有很好参考价值的文章主要介绍了关于机器人状态估计(15)-VIO与VSLAM精度答疑、融合前端、主流深度相机说明与近期工程汇总。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

VIOBOT种子用户有了一定的数量,日常大家也会进行交流,整理总结一下近期的交流与答疑。

VIO-SLAM(作为三维SLAM,相对于Lidar-SLAM和LIO-SLAM)在工程上落地的长期障碍,不仅在算法精度本身,还有相对严重的鲁棒性问题,尺度问题,世界观问题和沉重的开销/成本问题。

这些我在过往的文章中已经提过了多次,我们组的核心工作也是一步步去解决这些通用性问题,工作已经持续了21个月,绝大部分问题也close掉了;剩下的少量遗留问题是极难解决的部分还在持续努力中。这些工程问题的本质是一些解决起来非常麻烦,看起来难以通用,同时在不同场景中还能跳出各种不同幺蛾子的状态估计问题。它们严重和直接地影响了VIO的工程化。

1.首先讲一下精度问题:

(1)大部分paper的RMSE和ATE指标是衡量精度的重要标准,但是大家要牢记,很多时候论文的指标是建立在理想状态上(如几个主要的数据集,其传感器指标和调校的精度都是非常严谨的),如果是建立在传感器组实际运行上,这个传感器组的标定和优化往往也是由数位强悍的科研人员完成,其组合本身的精度和指标都非常高。

(2)精度并不是玄学,综合精度取决于一系列的东西(而并不仅仅是优化方法):包括传感器组合类型,快门类型,内参,外参标定,imu的bias,传感器之间的对时,单目还是双目,前端所使用的方法,优化的具体类型(比如大家通常的理解都是BA会比KF强,实际也未必,并不是说你花了更多的算力开销,就一定会取得更好的优化结果,比如在算力有限的时候,KF更优),尤其是运行的场景(室内还是室外?光度的变化是比较稳定还是更为激烈)。任何的非线性优化都会有长期的误差积累,在长期重复运行中回环会变得尤其重要(因此一般没有回环,不能算是一个完整的SLAM,只是一个里程计)。长期运行在三旋转和三平移的误差控制当中,旋转的控制会更加的重要,因为轻微的旋转误差会带来更大的偏移量。其实关于这个部分的详解,在过去的文章中都大致提过了,主体内容太长这边就只概要了。

2.其次讲一下融合前端:

从VINS-FUSION开始,大家越来越重视在VIO系统中多传感器间融合融态的重要性,VIO本身就是相机与IMU的融合。GNSS/RTK也是非常常见的融合系统(工程中部分情况下松耦合做先验或相对信标,也不排除做得很好的紧耦合如GVINS)。

那VIO前端呢? 其实前端未来的主流就是融合前端(但得建立在足够的开销控制能力上)。2016年的SVO以及后续的SVO2是典型的融合前端,半直接法+特征点法。紫川目前的设计是直接法+ORB特征点法,徐浩博士使用Super point+LK光流。这几个方法里SVO很令人佩服,一个是古早(虽然开源得比较晚),第二个是考虑得全面(包括开销),缺点就是开源中缺失了真实传感器优化部分,还有世界观相对稀疏。

Super point的问题在于相当重(VGA分辨率在Titan X卡上70帧),导致在端侧做的话点数少帧率低,还有在开源框架下调试和优化麻烦一些。在徐浩博士的分享和交流后,我总隐约有个感觉,未来的主流方法也许是直接法+Superpoint,不分主辅(回环以superpoint来做)。从科学和工程的逻辑来说,这是一种很好的组合。

大家通过细心的观察,也会发现,融合前端的组合往往都是互补的,ORB和Superpoint强于处理明显的特征点,ORB增加质心与描述子,SuperPoint虽重但非常鲁棒可适应不同的光度条件。而LK光流和直接法都更擅长解决图像梯度本身并形成更连续的物体轮廓。

VIOBOT目前如果仅仅作为一个里程计来使用,从三相性及世界观来说可以说相当完美,除了一些极端光度变化/或极低照度场景。作为里程计使用的话可以通过一系列方式给其进行绝对/相对信标的输入,如RTK/轮速计以及其他定位装置等。

3.主流深度相机说明:

主流深度相机有2类:

(1)主动投射积分类:i-TOF/结构光

vio 精度,机器人,前端,数码相机

(2)双目视差运算类:双目深度相机

vio 精度,机器人,前端,数码相机

两类都有一个优点:稠密

都有一个很大的缺点:稠密点云开销极重,稠密SLAM以及点云处理在端侧可用性很低,高度依赖PCL/PCA/ICP,开销沉重。降采样本身又会失去稠密本身的意义,比较适配于避障和尾段作业的修偏,不适合作为完整SLAM前端使用。

第一类技术含量较高,具体原理就不多说了资料很多,多了2个缺点:距离很短,室外受干扰很多,还需要ISP的强力支持(积分和滤波开销都不小)

第二类比较暴力,标准的视差运算(重复且简单,调整双目基线即可),可以用GPU/NPU强算,目前原厂也有不少ASIC上的支撑(目前如Movidus/海思DV500等),明年会更多。同时第二类除核心缺点外,还有一个缺点:孔洞效应。当然目前VIOBOT的点云也同样存在这个缺点,这些就是工程和科学结合到一定程度后难以避免的一些原理性问题了。

另外第二类目前有很少数优秀厂家结合了可见光部分的纹理特征进行实时同步,通过目标检测进行双光融合,这类效果部分解决了孔洞效应问题,但实现难度较大,同时仍然存在无法完整端侧SLAM的问题。

4.VIOBOT近期工程汇总:

(1)进一步增强通用性

(2)完善全局一致性模块与先验建图

未进行全局一致性收敛的运行/点云优化状态(全程约600米户外运行):

vio 精度,机器人,前端,数码相机

完整的SLAM系统,最终都需要此模块,基于回环地图,规整轨迹与所有半稠密点云,整体完成如下所示的半稠密综合点云状态效果:

vio 精度,机器人,前端,数码相机

vio 精度,机器人,前端,数码相机

在这种基础框架上接入底图(如Googlemap,无人机航拍图),或再进一步进行线性插值,完整的先验地图就进入了可用状态。加入路径规划与动态避障,便成为了完整的自感知定位建图系统

vio 精度,机器人,前端,数码相机

(3)半稠密点云的避障测试

工作4其实与2/3紧密相关,传统特征点法点云,作为机器语言难以直接使用的核心原因就在于有点无边,往往需要大量的补全工作-如MESH/LIMAP/CANNY等,但这类补全工作往往都开销甚高,需要离线运行。VIOBOT目前融合前端的最大优势就在于边廓清晰,从本质上相对稠密深度相机其实只是稀疏化了。

(4)点云滤波相关工作

这块工作即难且烦,以后真正实际做好了再详细分解。文章来源地址https://www.toymoban.com/news/detail-576741.html

到了这里,关于关于机器人状态估计(15)-VIO与VSLAM精度答疑、融合前端、主流深度相机说明与近期工程汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ROS EKF 机器人位姿估计功能包:robot_pose_ekf | 仿真环境实践

    仿真环境为 一个无人机,具备3D POSE里程计数据,和imu数据。 将 robot_pose_ekf.launch 文件进行如下更改 即关掉2D轮速里程计 打开imu和vo里程计 并将话题重映射 vo重映射为/firefly/odometry_sensor1/odometry imu_data重映射为/firefly/imu 启动 robot_pose_ekf 节点 出现如下报错 [ERROR] [1686016442.63011

    2024年02月09日
    浏览(30)
  • ros2 基础学习 15- URDF:机器人建模方法

    ROS是机器人操作系统,当然要给机器人使用啦,不过在使用之前,还得让ROS认识下我们使用的机器人,如何把一个机器人介绍给ROS呢? 为此,ROS专门提供了一种机器人建模方法——URDF(Unified Robot Description Format,统一机器人描述格式),用来描述机器人外观、性能等各方面属

    2024年02月01日
    浏览(35)
  • 关于开发微信个人号机器人/ 微信机器人开发指南

    该文章介绍了微信机器人的基本概念、开发流程、常用技术和开发工具等内容,对初学者非常友好。 微信机器人是一种可以自动执行特定任务的程序,可以在微信平台上进行交互。它可以通过接收用户的信息并作出相应的回应,从而提供更好的用户体验和增强用户参与度。

    2024年02月09日
    浏览(35)
  • 关于机器人机械臂参数辨识

    前几天在逛github发现一个dynamic identification的仓库,代码非常全。同时也看了对应的文章,虽然参数辨识不是文章最终目的,但是仍能感受到作者在参数辨识领域的了解程度和功底。这篇博客主要记录一下这几天学习该仓库的一些心得吧,对机器人参数辨识有兴趣的小伙伴欢迎

    2024年02月03日
    浏览(23)
  • “做了一辈子机器人,深知其困难” | 一场关于机器人的深度对话

    2023年12月19日,深圳市美团机器人研究院学术年会在清华大学深圳国际研究生院成功举办。会议回顾了研究院成立一年来的进展和成果,并邀请了各界专家共同讨论机器人技术的未来发展趋势。 从左至右依次为:张鹏、王田苗、张宏、张建伟、汪玉、许华哲 在圆桌论坛环节,

    2024年02月02日
    浏览(38)
  • FANUC机器人IO通信板卡(CRMA15和CRMA16)详解

    以R-30iB Mate控制柜为例 , 主板配有28点输入、24点输出的外围设备控制接口。由CRMA15和CRMA16两根电缆连接到外围设备上的IO印刷电路板。 如下图所示, 下面我们看下这个印刷电路板的具体引脚排列(每块板都有50个引脚): 如下图所示, 红色圈出的为输入信号,紫色圈出的为

    2024年02月07日
    浏览(173)
  • 机器人学习-关于经典路径规划(二)

    8.Roadmap路线图 即将学习的第一组离散化方法被称为路线图,该方法使用一个简单的连通图来表示配置空间——类似于用地铁地图来表示城市。 路线图方法通常分两个阶段实现: — 构建阶段 从空间的连续表示中构建图形。这个阶段通常会花费大量的时间和精力,但是生成的图

    2024年02月16日
    浏览(33)
  • 机器人学习-关于经典路径规划(一)

    1.内容简介 识别不同类型的路径规划算法 理解一组算法的内部工作原理 评估算法对特定应用的适用性 实现搜索算法 2.路径规划示例 术语 完整性 ——如果一个算法能够在起点和目标之间找到一条路径,那么这个算法就是完整的。 最优性 ——如果一个算法能够找到最佳的解

    2024年02月06日
    浏览(39)
  • 第13集 关于库卡机器人运动参数说明

    1、Parameter bei PTP PTP 参数 过渡点 PTP VB=100% VE=100%  (调速度)ACC=100% (加速度)RobWzg=xy Base=xy SPSTrig=0[1/100s] 工作点 PTP VB=100% VE=0% ACC=100% RobWzg=xy Base=xy SPSTrig=5[1/100s] 2 、Parameter bei LIN LIN  参数 过渡点 LIN VB=max 2000mm/sec VE=100% ACC=100% RobWzg=xy Base=xy SPSTrig=0[1/100s] 工作点 LIN VB=max 2000m

    2024年02月05日
    浏览(29)
  • AIGC: 关于ChatGPT中实现一个聊天机器人

    规划一个聊天机器人 智能化完全于依托于GPT, 而产品化是我们需要考虑的事情 比如,如何去构建一个聊天机器人 聊天机器人它的处理逻辑其实非常的清晰 我们输入问题调用 GPT 然后,GPT 给我们生成回答就可以了 需要注意的是,聊天机器人不同于调用API进行一个简单的测试

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包