学习SLAM需要哪些预备知识？
还是说视觉slam吧。 先说视觉这块，首先射影几何的一些内容相机模型，单视几何，双视几何和多视几何。这些内容可以在 这本书中找到。英文版的，另外中科院的吴福朝编著的“计算机视觉中的数学方法”也很好，涵盖了上述了MVG in CV book中的大部分内容，强烈安利。 然后是一些视觉特征，这方面就是一些特征，描述子，匹配相关等。见SIFT，ORB、BRISK、SURF等文章。 数学方面首先是三维空间的刚体运动，参考 。 关于优化，SLAM中的优化方法十分基本，参考高斯牛顿，LM，结合稀疏线性代数。其实用的时候会使用一种g2o的图优化库或者ceres。参考文章 g2o: A General Framework for Graph Optimization 最难的应该算是李群和李代数，这方面可以参考book [state estimation for Robotics]( )。当然不想看书的话可以参考博客 。 为了看论文的时候能够比较流畅，还应该具备一些概率论的知识，这里推荐book[Probabilistic Robotics]( ) [pdf]( ) 话说高翔博士近期完成一本SLAM的入门book，有理论有实践，写的不错，推荐。他包含了上述在视觉slam需要的所有基础知识，真是造福大众啊。详细研读此书，以后读各种论文就不会显得那么吃力了吧。最后列举一些玩slam的一些必备工具和相关资源。 tools 1. ubuntu,  cmake, bash, vim, qt(optional). 2. OpenCV install, read the opencv reference manual and tutorial 3. ros, [install]( ), [tutorial}( ). 4. python. 可以使用pycharm,作为IDE. 为什么使用ubuntu？因为大家的代码，全是用linux，而且很多使用ros的，ros一定是要Linux的，同时还要cmake。Ubuntu是比较适合初学Linux的人，非常好用。 somethind about Calibration 1. [opencv camera Calibration]( ) 2. [matlab camera Calibration toolbox]( ) 3. [svo camera Calibration]( ) 4. [ros wiki camera Calibration]( ) 为什么要标定相机呢，因为slam的模型中假设 相机的内参数是已知的，因此有了这个内参数我们才能正确的初始化slam系统。 slam open sources 1. [svo]( ) 2. [orb slam]( ) 3. [ar_tracker_alvar githun page]( ) [ros page]( ) 4. [ros ptam]( ),原始代码不支持ros, 这里给出ros版本的代码. 原始[代码]( )[网站]( ) 5. DSO ros books 1. Learning ROS for Robotics Programming 2. 机器人操作系统（ROS）浅析 3.  ros by example some blogs about ros 1. SLAM基础学习 1. [Multiple View Geometry in Computer Vision]( )。 2. Sparse Matrix [Sparse Non-Linear Least Squares in C/C++]( ) 3. [openSLAM]( ) 4. dataset [tum]( ) 5. [PCL]( ) 6. [opencv]( ) 推荐阅读的书 1. [Multiple View Geometry in Computer Vision]( ) 2. [Probabilistic Robotics]( ) [pdf]( ) 3. [state estimation for Robotics]( ) 4. [Quaternion kinematics for the error-state KF]( ) 5. 凸优化， 6. 线性系统理论， 7. An Invitation to 3-D Vision， 8. Rigid Body Dynamics， 。 paper about  vision slam - Georg Klein and David Murray, "Parallel Tracking and Mapping for Small AR Workspaces", In Proc. International Symposium on Mixed and Augmented Reality (ISMAR'07, Nara). - D. Scaramuzza, F. Fraundorfer, "Visual Odometry: Part I - The First 30 Years and Fundamentals IEEE Robotics and Automation Magazine", Volume 18, issue 4, 2011. - F. Fraundorfer and D. Scaramuzza, "Visual Odometry : Part II: Matching, Robustness, Optimization, and Applications," in IEEE Robotics & Automation Magazine, vol. 19, no. 2, pp. 78-90, June 2012. doi: 10.1109/MRA.2012.2182810 - A Kalman Filter-Based Algorithm for IMU-Camera Calibration Observability Analysis and Performance Evaluation - SVO- Fast Semi-Direct Monocular Visual Odometry - [eth zasl sensor]( ), - Stephan Weiss. Vision Based Navigation for Micro Helicopters PhD Thesis, 2012 pdf - Stephan Weiss, Markus W. Achtelik, Margarita Chli and Roland Siegwart. Versatile Distributed Pose Estimation and Sensor Self-Calibration for Autonomous MAVs. in IEEE International Conference on Robotics and Automation (ICRA), 2012. pdf - Stephan Weiss, Davide Scaramuzza and Roland Siegwart, Monocular-SLAM–based navigation for autonomous micro helicopters in GPS-denied environments, Journal of Field Robotics (JFR), Vol. 28, No. 6, 2011, 854-874. pdf - Stephan Weiss and Roland Siegwart. Real-Time Metric State Estimation for Modular Vision-Inertial Systems. in IEEE International Conference on Robotics and Automation (ICRA), 2011. pdf - Simon Lynen, Markus Achtelik, Stephan Weiss, Margarita Chli and Roland Siegwart, A Robust and Modular Multi-Sensor Fusion Approach Applied to MAV Navigation. in Proc. of the IEEE/RSJ Conference on - - Intelligent Robots and Systems (IROS), 2013. pdf - [orb slam] - Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós. ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, 2015. (2015 IEEE Transactions on Robotics Best Paper Award). PDF. - Dorian Gálvez-López and Juan D. Tardós. Bags of Binary Words for Fast Place Recognition in Image Sequences. IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1188-1197, 2012. 最后来张脑图