从零开始学习SLAM

最近6个月开始做SLAM的项目,就一步步把资源的链接给共享出来。

项目内容:主要是从Andrew Davison中的MonoSLAM中起步,做Co-SLAM 推及 Swarm SLAM

下面都是我看过或者亲身实践过的,大家可以相互交流

项目途中,所以文章还是草稿,会实时的更新。

一,入门篇

  1. Andrew Davison的课程: http://www.doc.ic.ac.uk/~ajd/Robotics/index.html

    AD在在week 8里面推荐了slam的两个入门 Tutorial 1 和Tutorial 2

  2. Tutorial的两篇文章文笔灰常秀丽,但是不操作还是云里雾里:

    所以这里有一个瑞士苏黎世理工的学生练习

    大家把excise 3:SLAM(EKF)做了,也就差不多了解些slam的原理了

    关于练习3的答案,我过几天上传好, 答案

  3. 对于我这个学渣来说,EKF其实还是比较难理解,所以推荐一本书,详见第三章,学霸无视

二、现有资源

  1. OpenSLAM:https://openslam.org/

    这个网站中含有很多slam方面的资料,编写的程序也各有不同,很权威

  2. Kitti这个图库,大家可以下载做simulation:http://www.cvlibs.NET/datasets/kitti/

  3. 个人感觉exercise 3练习后,可以选择 Javier Civera 的程序进行试手,感觉灰常不错。注意对calibration的调整

    http://webdiis.unizar.es/~jcivera/code/1p-ransac-ekf-monoslam.html

  4. 对于JC的1p RANSAC-monoSLAM有一定了解了,可以试试用SURF去实现

    这里有个南理工哥们的论文还不错,可以参考 http://cdmd.cnki.com.cn/Article/CDMD-10288-1012319519.htm

三、有用的书籍

  1. Multiple View Geometry in Computer Vision Second Edition ,http://www.robots.ox.ac.uk/~vgg/hzbook/

    计算机视觉方面大神级别的书,也有中文版,点此下载中英文双版

  2. Robotics Vision and Control , pdf下载:http://robotics.itee.uq.edu.au/~metr4202/tpl/Robotics%20Vision%20&%20Control.pdf

    通过MATLAB几乎把机器人学给贯穿了,里面每章节都有对应的Code,关于里面Matlab的codes,需要留言

    澳大利亚昆士兰理工大学的Peter Corke是机器视觉领域的大牛人物,他所编写的Robotics, vision and control一书更是该领域的经典教材

    配套有matlab工具箱。工具箱分为两部分,一部分为机器人方面的,另一部分为视觉方面的工具箱

    源代码都是开放免费下载的: http://petercorke.com/Toolbox_software.html

  3. Probabilistic Robotics. 这本书是导师推荐的

    他说这本书的理解要有很好的数学基础,大神一定要读,很多不懂的都会柳暗花明

    http://www.probabilistic-robotics.org/

(其实不是我ZB,我在法国留学,导师推荐的都是英语法语的,木有中文。。。。)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习SLAM(Simultaneous Localization and Mapping)是一个相对复杂的过程,但是你可以按照以下步骤开始学习: 1. 学习基础知识:首先,你需要了解机器人感知、运动控制和地图构建的基本概念。熟悉概率和统计的基本概念也是非常有帮助的,因为SLAM中经常使用到这些方法。 2. 学习传感器:了解常用的传感器,如激光雷达、摄像头和惯性测量单元(IMU),以及它们的工作原理、数据处理方法和误差模型。 3. 学习SLAM算法:掌握常见的SLAM算法,如扩展卡尔曼滤波(EKF)、粒子滤波(PF)和图优化。理解这些算法的原理和实现方式是非常重要的。 4. 编程实践:选择一种编程语言(如C++或Python)并开始实践编写SLAM算法的代码。使用开源库,如ROS(Robot Operating System)或PCL(Point Cloud Library)可以加速你的学习过程。 5. 实验和调试:通过实验和调试来验证你的SLAM算法。使用模拟器或真实的机器人进行实验,分析结果并调整算法参数以优化性能。 6. 阅读论文和参考资料:定期阅读与SLAM相关的最新研究论文和参考资料,了解最新的算法和技术发展。 7. 实际项目:最终,尝试应用你所的知识到实际项目中。参与开源项目或者参加机器人比赛等活动,将帮助你更深入地理解和实践SLAM技术。 需要注意的是,SLAM是一个广泛而复杂的领域,需要持续学习和实践才能真正掌握。所以,耐心和持之以恒的学习态度是非常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值