2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 机器学习与计算机视觉(slam技术)

机器学习与计算机视觉(slam技术)

时间:2022-06-11 12:32:17

相关推荐

机器学习与计算机视觉(slam技术)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @】

slam技术,就是一边定位一边进行建图。现在比较流行的扫地机器人,其实就是slam应用的一个例子。另外工业生产上用的比较多的AGV,有一部分也是slam技术。相比较传统的磁条导航,带有slam的AGV不需要磁条,可以自己对环境进行建图,并且快速进行部署,接受服务器控制。

1、应用场景

家庭上主要是扫地机器人,工业上主要是AGV、无人叉车等,无人驾驶也算一部分。

2、slam分类

主要是激光slam和视觉slam。

3、基本流程

经典的slam一般包括三个部分。前端负责获取传感器数据、寻找特征点、特征匹配、数据融合、计算里程计、求解姿态和位置。后端负责对前端的结果数据进行进一步优化,主要有滤波优化和图优化两种方法。除了前端和后端,还有一个就是回环检测,如果识别到机器人回到了原来的场景,那么可以重新进行姿态矫正,减小传感器误差。

slam的关键在于优化和回环检测,slam做的好不好、能不能用,就在于这两个方面。

4、为什么要后端优化

传感器的数据都是有误差的,如果没有优化,我们会发现构建出来的图是一个不合理的图。即使robot转了一圈回来之后,这时会发现终点和起点没有重合。

5、soc方案

除了传统的树莓派,现在最火的应该是jetson nano,因为有gpu的加持,算力会比较强。

6、操作系统

linux,目前用的最多的其实就是ubuntu

7、slam的主要软件平台

ros,ros其实是一个中间件,习惯上称之为机器人操作系统

ros里面其实东西比较多,类似于一个大杂烩,比如说机器人手臂、仿真、地图显示什么的都可以做。slam只是其中的一部分内容。

8、机器人平台

jetbot或者类似的套件

9、slam使用的主要技术

摄像机标定、摄像机外参标定、pcl点云库、opencv库、Eigen线性代数、sophus库计算李群问题、g2o优化、robot规划、车辆控制、A*算法等等。

常用的传感器有激光、摄像头、imu、gps、轮式里程计或者轮式编码器、麦克风矩阵等等。

10、slam是否需要每一次都重构地图

理论上只需要构建以此,后面就可以直接利用了,当然也取决于地图中的关键帧信息。有了地图,就可以每时每刻都知道自己的位置,方便对路径进行规划、对车辆进行路线设计了,能做的事情也多了不少。

11、slam参考资料

目前slam的书籍比较少,除了论文,slam十四讲可以参考下。

12、目前的发展情况

激光slam比较成熟,视觉slam (比如vio)有所发展,但是做成产品还是有距离。

13、开源代码

开源代码其实挺多的。在github上搜一下,就可以出来好多,大家可以选择适合自己的。

视觉方面,比如orbslam就不错,大家可以参考这个链接,

/p/47451004

上面还有视频,体验一下slam出来的效果是什么样的。

如果是激光方面,可以直接参考ros gmapping或者hector,最新的方法可以参考Cartographer。

14、matlab资源

/Download/item/id/3868383.html

一个有趣的matlab slam代码

15、比算法更重要的事情

很多同学学slam偏向于算法,这无可厚非。但是比这更重要的是产品能否落地、能否帮助客户的问题、耐久性有没有问题、成本是否hold住,这些往往不是科学的事情,而是技术、工程的事情,甚至是商业的事情。

对于嵌入式的同学来说,slam也是一次机会。嵌入式上面的算力、网络、加速、安全等等,都是不小的一个挑战。slam的前端算法、后端优化中,特别是优化,往往是加速的重点,优化意味着更多的循环、计算和算力要求,同时为了保障实时性的要求,必须在借助于multi core、dsp、fpga、npu或者gpu的帮助了,这个就看各个供应商自己的绝活了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。