里程计不就是输出位置的么!!!!

2024-02-06 22:50
文章标签 输出 位置 里程计

本文主要是介绍里程计不就是输出位置的么!!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

里程计不就是输出位置的么!!!!视觉里程计

 

 

VIO不就是干这个的么

 

从VO到VIO,摄像头只需要给你提供图像和IMU数据就可以了,你自己去跑VIO算法嘛,得到位置信息嘛,所以这个关键不在于摄像头啊。

 

视觉惯性里程计(VIO)

https://zhuanlan.zhihu.com/p/114158536

 

 

你想的那些东西,别人早就考虑好了,而且有很完善的方案了。

 

T265能直接输出位置信息是因为内置了里程计,你也可以直接用它的图像信息和IMU,自己跑外置里程计得到位置和轨迹数据啊。

 

不光是无人机,你其他机器人位置信息得不到,其他工作都不好开展。

 

 

 

 

 

https://www.sohu.com/a/308015725_100299669

里程计的概念

在里程计问题中,我们希望测量一个运动物体的轨迹。这可以通过许多不同的手段来实现。例如,我们在汽车轮胎上安装计数码盘,就可以得到轮胎转动的距离,从而得到汽车的估计。或者,也可以测量汽车的速度、加速度,通过时间积分来计算它的位移。完成这种运动估计的装置(包括硬件和算法)叫做里程计(Odometry)。

里程计的特性

里程计一个很重要的特性,是它只关心局部时间上的运动,多数时候是指两个时刻间的运动。当我们以某种间隔对时间进行采样时,就可估计运动物体在各时间间隔之内的运动。由于这个估计受噪声影响,先前时刻的估计误差,会累加到后面时间的运动之上,这种现象称为漂移(Drift)。

视觉里程计的概念

视觉里程计VO的目标是根据拍摄的图像估计相机的运动。它的主要方式分为特征点法和直接方法。其中,特征点方法目前占据主流,能够在噪声较大、相机运动较快时工作,但地图则是稀疏特征点;直接方法不需要提特征,能够建立稠密地图,但存在着计算量大、鲁棒性不好的缺陷。

视觉里程计的基本原理

视觉里程计利用车载摄像机采集到的图像信息恢复车体本身的六自由度运动,包括三自由度的旋转和三自由度的平移。由于类似于里程计的航迹推算.这种基于图像信息的自运动估计方法被称为视觉里程计技术。视觉里程计的基本步骤包括特征提取、特征匹配、坐标变换和运动估计。当前大多数视觉里程计系统仍是基于此框架。与视觉里程计技术联系非常紧密的两个研究领域是形状信息运动复原(StructurefromMotion,SFM)算法和SLAM算法。在视觉SLAM问题中,需要同步实时估计摄像机本身的位置以及所检测的路标的空间位置及其关联,从而对其所处的环境进行地图创建。早期的SLAM算法需要依靠那些能够获得深度信息的传感器,如激光雷达、声呐等;而近年来单纯依靠机器视觉的V-SLAM开始得到关注,如单目视觉SLAM算法。其计算机制在本质上与基于非线性滤波器的视觉里程计系统非常相似。

SFM算法,也就是从二维图像数据中恢复三维场景结构以及摄像机本身的六自由度运动的方法。在这里,摄像机提供的观测量都是特征位置在摄像机坐标系下的二维投影。在经典的视觉SLAM的术语中,可以说SFM的设备只提供了方位而没有范围。对于两帧视觉里程计,有研究者将其称为基于SFM技术的视觉里程计,可以视为不需要估计场景结构的SFM算法,或者简化了的SFM算法。所以,此类视觉里程计算法的核心模块大多来自经典SFM算法。

纯视觉系统与混合系统

根据前文定义,仅仅依靠视觉信息输入的里程计系统被称为纯视觉系统。这里提到的绝大部分算法都属于纯视觉系统,但是对于增量式的两帧视觉里程汁的累积误差,除了光束法平差,也可以采用能提供全局定位信息的全球定位系统(GPS),或能够提供短期精度高的高频数据的惯性导航元件(IMU)等来改进系统性能。这种依靠其他传感器来辅助视觉进行定位导航的系统被称为混合系统。它们大都是基于非线性滤波器,如EKF,UKF等的数据融合机制。其中,又以摄像机-IMU的融合系统应用最为广泛。然而引人附加传感器的做法可能会带来新的问题,如多传感器间位置关系的精确标定,正确的数据融合等,仍需要进一步研究。

视觉里程对计算机视觉的应用,能够对无人驾驶车进行自主定位,车载视觉里程计也可以用作检测前方目标,对车的行驶方向进行决策。

 

 

 

 

 

 

确实,github上说了T265内置轮式里程计

https://github.com/IntelRealSense/librealsense/blob/master/doc/t265.md

 

我发现那个TB店家给我的话就是翻译自这里。一模一样

T265的官网也是有这个的

https://www.intelrealsense.com/zh-hans/tracking-camera-t265/#

 

轮式里程计是否意味着只能输出X,Y的坐标

 

 

https://github.com/IntelRealSense/librealsense/blob/master/doc/t265.md

.

 

 

https://www.intelrealsense.com/zh-hans/tracking-camera-t265/

 

 

https://item.jd.com/42908922261.html

 

 

https://zhuanlan.zhihu.com/p/114158536

这里也说了,一种可以让T265直接输出,另一种想自己开发的,可以从T265获取原始图像和IMU数据。

这篇关于里程计不就是输出位置的么!!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/685796

相关文章

chart 完成拓扑图单节点拖拽不影响其他节点位置

就是做这种的功能,箭头原本是可以动态重复移动的,但不知道哪里问题导致没箭头了,然后补了个edgeSymbol: ['','arrow'], 字段,才增加了箭头。 拖拽某个节点,只有关联到的线条会跟着变动其他的节点位置不变。 参考 https://gallery.echartsjs.com/editor.html?c=x8Fgri22P9 https://echarts.baidu.com/exa

神经网络第三篇:输出层及softmax函数

在上一篇专题中,我们以三层神经网络的实现为例,介绍了如何利用Python和Numpy编程实现神经网络的计算。其中,中间(隐藏)层和输出层的激活函数分别选择了 sigmoid函数和恒等函数。此刻,我们心中不难发问:为什么要花一个专题来介绍输出层及其激活函数?它和中间层又有什么区别?softmax函数何来何去?下面我们带着这些疑问进入本专题的知识点: 1 输出层概述 2 回归问题及恒等函数 3

ScrollView 往上滑动,里面的一个View停在某个位置的思路

1.scrollView的contentoffset 为view的左上角,减去此时scrollView的左上角 2.而且还不需要让那个红色的view removeFromSuperView ,直接self.view AddSubView 就会自动从原来的那个View脱离开来 3.以后遇到问题的思路。当发现UIView很许多奇特的效果的时候,思考它是不是在不断的改变父控件。 #pragma m

算法7— 判断一个单链表是否有环,如果有,找出环的起始位置

第一种方法是从单链表head开始,每遍历一个,就把那个node放在hashset里,走到下一个的时候,把该node放在hashset里查找,如果有相同的,就表示有环,如果走到单链表最后一个node,在hashset里都没有重复的node,就表示没有环。 这种方法需要O(n)的空间和时间。 第二种方法是设置两个指针指向单链表的head, 然后开始遍历,第一个指针走一步,第二个指针走两步,如果没

C语言中的字符输入/输出和验证输入

在C语言中,字符输入/输出功能允许程序与用户进行交互,读取用户的输入信息并展示输出结果。同时,验证输入的作用在于确保用户输入的数据符合预期,以提高程序的稳定性和可靠性,防止无效输入引发的错误或异常行为,从而提供更好的用户体验。 基础概念 输入(Input):指的是向程序填充数据的过程,通常来源于用户输入、文件读取或其他外部数据源。 输出(Output):指的是将数据显示在屏幕上、打印机上或

JS输出工具

1、alert()弹窗会以文本的格式输出; 2、document.write()输出到页面,会以html的语法解析里面的内容; 3、prompt(“提示文字”,”默认值”)输入框。 alert()弹窗会以文本的格式输出 注意: alert()中英文单双引号不能同时存在。document.write()输出到页面 这个效果跟在body部分加h1标签是一样的。promp

WGDI之深入理解blockinfo输出结果

blockinfo模块输出文件以csv格式进行存放,共23列,可以用EXCEL直接打开。 block info 其中16列非常容易裂解,描述如下 id 即共线性的结果的唯一标识chr1,start1,end1 即参考基因组(点图的左边)的共线性范围(对应GFF1的位置)chr2,start2,end2 即参考基因组(点图的上边)的共线性范围(对应GFF2的位置)pvalue 即共

输入一个整数,判断其是否是2^n,是就输出这个数,不是就输出和它最接近的为2^n的那个整数。

输入一个整数,判断其是否是2^n,若是,输出这 //个数,若不是,输出和它最接近的为2^n的那个整数。 附加源代码1: #include<stdio.h>#include<stdlib.h>#include<math.h>int main(){int input;//键盘输入一个整数inputint i,j;//i,j待会儿存放input与左边和右边的为2^n的差值int m

SqlServer书上:使用游标输出学生姓名、选修课程名称和期末考试成绩

--使用游标输出学生姓名、选修课程名称和期末考试成绩use teachinggodeclare @sname nchar(8),@cname nchar(10),@final numeric(6,2)--定义变量declare sc_cursor cursor --定义游标forselect sname,cname,finalfrom score join student on(sc

数据分离技术之输出水仙花数

//数据分离-水仙花数 (一个三位数,各位数的立方等于本身) #include<stdio.h> #include<stdlib.h> //100-999 int main() { for(int i=100;i<1000;i++) { int a = i%10;//个位 int b = i/10%10;//十位 int c = i/100;//