└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # awesome-ros-mobile-robot [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 2 | This repository provides some useful resources and informations about **autonomous mobile robots (AMR)** research based on **ROS**. It would mainly focus on basic function of mobile robots(like **odometry**, **SLAM**, **navigation** and **manipulation**). 3 | (including both **Chinese** and **English** materials) 4 | 5 | [](https://www.ros.org/) 6 | 7 | - ROS1: http://wiki.ros.org/Distributions 8 | 9 | 10 | 11 | - ROS2: https://github.com/ros2/ros2_documentation/blob/rolling/source/Releases.rst 12 | 13 | # Index: 14 | * [0.Robotics](README.md#0_robotics) 15 | * [1.Robot-Operating-System(ROS)](README.md#1_robot_operating_system) 16 | * [2.Robotic-Platform](README.md#2_robotic_platform) 17 | * [3.Robotic-Sensing](README.md#3_robotic_sensing) 18 | * [4.Calibration](README.md#4_calibration) 19 | * [5.Odometry](README.md#5_odometry) 20 | * [6.SLAM](README.md#6_slam) 21 | * [7.Localization](README.md#7_localization) 22 | * [8.Mapping](README.md#8_mapping) 23 | * [9.Navigation](README.md#9_navigation) 24 | * [10.Manipulation](README.md#10_manipulation) 25 | * [11.Others (Non-tech)](README.md#11_others_non_tech_part) 26 | * 11-1. Famous robotics company 27 | * 11-2. Famous robotics conference&journal 28 | * 11-3. Famous robotics competition in Taiwan 29 | * 11-4. Famous ros organizations & activities 30 | 31 | # 0_Robotics 32 | 📚 Books 33 | * "Introduction to Algorithms", Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein 34 | * "Multiple View Geometry in Computer Vision", Richard Hartley, Andrew Zisserman 35 | * "Probabilistic Robotics", Sebastian Thrun 36 | * "Introduction to Linear Algebra", Five Edition, Gilbert Strang 37 | * "Pattern Recognition and Machine Learning", Christopher M. Bishop 38 | * "Introduction to autonomous mobile robots" Siegwart, Roland, Illah Reza Nourbakhsh, and Davide Scaramuzza 39 | * "視覺 SLAM 十四講:從理論到實踐", 高翔 40 | 41 | 📖 Courses 42 | * "5 Minutes with Cyrill" {Cyrill Stachniss} Cyrill Stachniss 43 | * https://www.youtube.com/playlist?list=PLgnQpQtFTOGSO8HC48K9sPuNliY1qxzV9 44 | * "Matlab Lecture" {Matlab} 45 | * https://www.youtube.com/user/MATLAB/playlists 46 | * "Control System Lecture" {Brian Douglas} Brian Douglas 47 | * https://www.youtube.com/user/ControlLectures/playlists 48 | * "Robotics Sensing Related Lecture" {Cyrill Stachniss} Cyrill Stachniss 49 | * https://www.youtube.com/c/CyrillStachniss/playlists 50 | * "Robot Mapping" {Universität of Freiburg} Cyrill Stachniss 51 | * http://ais.informatik.uni-freiburg.de/teaching/ws13/mapping/ 52 | * "Introduction to Mobile Robotics" {Universität of Freiburg} Wolfram Burgard, et al. 53 | * http://ais.informatik.uni-freiburg.de/teaching/ss13/robotics/ 54 | * "Robotics (1)" {NTU} Pei Chun Lin 55 | * https://www.coursera.org/learn/robotics1, http://peichunlin.me.ntu.edu.tw/Homepage/Intro2Robotics.htm 56 | * "Control of Mobile Robots" {Georgia Tech} Magnus Egerstedt 57 | * https://www.coursera.org/learn/mobile-robot" 58 | * "Modern Robotics: Mechanics, Planning, and Control" {Northwestern University} Kevin Lynch 59 | * https://www.coursera.org/specializations/modernrobotics 60 | * "Robotics" {UPenn} Vijay Kumar, et al. 61 | * https://zh-tw.coursera.org/specializations/robotics 62 | * "Linear algebra" {NTU} Hung-yi Lee 63 | * http://speech.ee.ntu.edu.tw/~tlkagk/courses_LA18.html 64 | * "Linear algebra" {MIT} Gilbert Strang 65 | * https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/ 66 | * "Machine Learning" {NTU} Hung-yi Lee 67 | * http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML19.html 68 | * "Machine Learning" {STANFORD} Andrew Ng 69 | * https://www.coursera.org/learn/machine-learning 70 | * "Probabilistic Systems Analysis and Applied Probability" {MIT} John Tsitsiklis 71 | * https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-fall-2010/ 72 | * "Deep Reinforcement Learning" {UCB} Sergey Levine 73 | * http://rail.eecs.berkeley.edu/deeprlcourse/ 74 | * "Vision Algorithms for Mobile Robotics" {ETHZ} D. Scaramuzza 75 | * http://rpg.ifi.uzh.ch/teaching.html 76 | * "Self-Driving Cars" {TORONTO} 77 | * https://www.coursera.org/specializations/self-driving-cars 78 | 79 | 📜 Paper Libraries 80 | * "IEEE Xplore Digital Library": https://ieeexplore.ieee.org/Xplore/home.jsp 81 | * "arXiv.org e-Print archive": https://arxiv.org/ 82 | * "Open review": https://openreview.net/ 83 | * "CVF open access": https://openaccess.thecvf.com/menu 84 | * "Google Scholar": https://scholar.google.com/ 85 | * "Sci-Hub": https://sci-hub.tw/ 86 | * "Airiti Library ": http://www.airitilibrary.com/home/index/ 87 | * "National Digital Library of Theses and Dissertations in Taiwan": https://ndltd.ncl.edu.tw 88 | 89 | # 1_Robot_Operating_System 90 | 👾 ROS Official Website 91 | * "The ROS Status": https://status.ros.org/ ```(check if any server is down)``` 92 | * "The ROS Website": https://www.ros.org ```(home)``` 93 | * "The ROS Wiki": https://wiki.ros.org ```(pkg info)``` 94 | * "The ROS Documentation Site": http://docs.ros.org ```(msg info)``` 95 | * "The ROS Answer": https://answers.ros.org/questions/ ```(Q&A)``` 96 | 97 | 🗣 ROS Related Blogs & Channels & Forums 98 | * "The construct": https://www.youtube.com/channel/UCt6Lag-vv25fTX3e11mVY1Q 99 | * "JetsonHacks": https://www.youtube.com/channel/UCQs0lwV6E4p7LQaGJ6fgy5Q 100 | * "鳥哥的Linux私房菜": http://linux.vbird.org/ 101 | * "半閒居士": https://www.cnblogs.com/gaoxiang12/ 102 | * "泡泡機器人頻道": https://space.bilibili.com/38737757/ 103 | * "泡泡機器人論壇": http://paopaorobot.org/bbs/ 104 | 105 | 📚 Books 106 | * "C++ Primer", Stanley B. Lippman, Josée Lajoie, Barbara E. Moo 107 | * "C++ Concurrency in Action, 2nd Edition", Anthony Williams 108 | * "Design Patterns: Elements of Reusable Object-Oriented Software", The "Gang of Four": Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides 109 | * "Head First Design Patterns, 2nd Edition", Eric Freeman, Elisabeth Robson 110 | * "Clean Code: A Handbook of Agile Software Craftsmanship", Robert C. Martin 111 | * "ROS by Example", python, Patrick Goebel 112 | * "Mastering ROS for Robotics Programming", Lentin Joseph 113 | * "Learning ROS for Robotics Programming", Enrique Fernandez et al. 114 | * "Programming Robots with ROS: A Practical Introduction to the Robot Operating System", Morgan Quigley et al. 115 | * "機器人作業系統ROS 淺析", Jason M. O'Kane, 肖軍浩譯 116 | * "機器人作業系統ROS 史話36篇", 張新宇, http://www.roseducation.org/docs/ROS_history.pdf 117 | 118 | 🤝 System Integration Tool 119 | * Multiple Machines with Multi-Master: http://wiki.ros.org/multimaster_fkie 120 | * Multiple Machines with One Master: http://wiki.ros.org/ROS/NetworkSetup 121 | * Multiple Tasks with Smach(state machine): http://wiki.ros.org/smach 122 | * Bridge for Non-ROS Programs(JSON API): https://wiki.ros.org/rosbridge_suite 123 | * Bridge communication between ROS 1 and ROS 2: https://github.com/ros2/ros1_bridge 124 | 125 | # 2_Robotic_Platform 126 | 🤖 ROS Robot Overview 127 | * "Aerial, Ground, Marine, Manipulator, Component": https://robots.ros.org/ 128 | 129 | 🚘 Wheel Robot Configurations 130 | > (ref: Siegwart, Roland, Illah Reza Nourbakhsh, and Davide Scaramuzza. Introduction to autonomous mobile robots. MIT press, 2011, Table 2.1, p.34~36) 131 | 132 | 133 | 134 | 🚗 Race Car Projects 135 | * "MIT": https://mit-racecar.github.io 136 | * "Penn": http://f1tenth.org/ [without slam, NAV] 137 | * "UCB": http://www.barc-project.com/projects/ [without laser] 138 | * "Georgia Tech": https://github.com/AutoRally [for outdoor] 139 | * "Taiwan Hypharos": https://github.com/Hypha-ROS/hypharos_racecar 140 | 141 | 🤖 ROS Mobile Robot Github 142 | * "turtlebot": https://github.com/turtlebot 143 | * "turtlebot3": https://github.com/ROBOTIS-GIT/turtlebot3 144 | * "clearpath husky": https://github.com/husky 145 | * "clearpath jackel": https://github.com/jackal 146 | * "Robotnik XL-GEN": https://github.com/RobotnikAutomation/summit_xl_sim or summit_xl_common 147 | * "Robotnik RB-KAIROS": https://github.com/RobotnikAutomation/rbkairos_sim or rbkairos_common 148 | 149 | 🤖 ROS Mobile Manipulator Github 150 | * "Personal Robot 2 (PR2)": https://github.com/PR2 151 | * "kuka youbot": https://github.com/youbot 152 | * "fetch robotics": https://github.com/fetchrobotics 153 | * "clearpath husky+UR5": http://www.clearpathrobotics.com/assets/guides/husky/HuskyManip.html 154 | * "clearpath husky+dualUR5": http://www.clearpathrobotics.com/assets/guides/husky/HuskyDualManip.html 155 | * "Robotnik RB-1": https://github.com/RobotnikAutomation/rb1_sim or rb1_common 156 | 157 | 🤖 ROS Manipulator Github 158 | * "Franka Emika panda": https://github.com/frankaemika/franka_ros | https://github.com/ros-planning/panda_moveit_config 159 | * "Universal Robot 3/5/10/e": https://github.com/ros-industrial/universal_robot 160 | * "Techman Robot": https://github.com/kentsai0319/techman_robot 161 | 162 | 💻 Processing Unit (SBC/IPC) 163 | * Raspberry Pi(RPI), BeagleBone Black(BBB), Odroid XU4, Odroid N2, Asus Tinker Board 164 | * NVIDIA Jetson TX1, NVIDIA Jetson TX2, NVIDIA Jetson NANO, NVIDIA Jetson Xavier 165 | * ADLINK Neuron, 166 | 167 | 🕹 Motor & Controller & Encoder 168 | * Elmo Motion Control Ltd 169 | * RLS d.o.o. (Rotary and Linear Motion Sensors) 170 | * Dr. Fritz Faulhaber GmbH & Co. KG 171 | * Maxon group motors & drivers 172 | * Dexmart motors & drivers (Trumman Technology Corp) 173 | 174 | # 3_Robotic_Sensing 175 | 📷 RGB Camera 176 | * "usb camera": http://wiki.ros.org/usb_cam 177 | * "gstream-based camera": http://wiki.ros.org/gscam 178 | * "opencv camera": http://wiki.ros.org/cv_camera 179 | 180 | 📸 RGB-D Camera 181 | * "Microsoft kinectv1 with openni": https://github.com/ros-drivers/openni_camera 182 | * "Microsoft kinectv1 with freenect": https://github.com/ros-drivers/freenect_stack 183 | * "Microsoft kinect one/v2": https://github.com/code-iai/iai_kinect2 184 | * "Asus xtion with openni2": https://github.com/ros-drivers/openni2_camera 185 | * "Intel RealSense d455/d435/d435i/d415": https://github.com/intel-ros/realsense 186 | * "Occipital Structure Sensor/Core": https://structure.io/ 187 | 188 | 🎥 Stereo Camera 189 | * "Stereolabs ZED": http://wiki.ros.org/zed-ros-wrapper 190 | * "Carnegie Robotics MultiSense™ S7": http://docs.carnegierobotics.com/S7/ 191 | * "e-Con Systems Tara Stereo Camera": https://github.com/dilipkumar25/see3cam 192 | * "Nerian SP1": http://wiki.ros.org/nerian_sp1 193 | 194 | 🔦 Laser Rangefinder [laser scanners] [scanning rangefinder] 195 | – often represent 2D laser scanning 196 | * "hokuyo_urg": http://wiki.ros.org/urg_node (old: http://wiki.ros.org/hokuyo_node 197 | * "hokuyo_utm": http://wiki.ros.org/urg_node (old: http://wiki.ros.org/hokuyo_node 198 | * "ydlidar": https://github.com/YDLIDAR/ydlidar_ros 199 | * "rplidar": http://wiki.ros.org/rplidar 200 | * "sick": http://wiki.ros.org/sick_scan 201 | 202 | 💡 LIDAR [light detection and ranging] [light imaging, detection, and ranging] [3D laser scanning ] 203 | – often represent 3D laser scanning 204 | * "Velodyne": http://wiki.ros.org/velodyne 205 | * "Livox": https://github.com/hku-mars/loam_livox 206 | 207 | 🍎 IMU [inertial measurement unit] 208 | * "Xsense": http://wiki.ros.org/xsens_driver 209 | * "MicroStrain 3DM-GX2": http://wiki.ros.org/microstrain_3dmgx2_imu 210 | * "SparkFun 9DOF Razor IMUM0": http://wiki.ros.org/razor_imu_9dof 211 | 212 | 🚨 3D Scanning & Novel Sensing Device 213 | * "Kaarta": https://www.kaarta.com/ 214 | * "Matterport": https://matterport.com/ 215 | * "Microsoft azure-kinect-dk": https://azure.microsoft.com/zh-tw/services/kinect-dk/ 216 | * "Intel RealSense Tracking Camera T265": https://www.intelrealsense.com/tracking-camera-t265/ 217 | * "Intel RealSense LiDAR Camera L515": https://www.intelrealsense.com/lidar-camera-l515/ 218 | 219 | 🎙 Microphone Array 220 | * "ReSpeaker Mic Array v2.0": http://wiki.seeedstudio.com/ReSpeaker_Mic_Array_v2.0/ 221 | 222 | 🔊 Text To Speech (TTS) 223 | * "gTTS": https://pypi.org/project/gTTS/ 224 | * "sound_play": http://wiki.ros.org/sound_play 225 | 226 | 🗣 Speech Recognition / Speech To Text (STT) 227 | * "SpeechRecognition": https://pypi.org/project/SpeechRecognition/ 228 | 229 | 🚀 Vocal Assistant 230 | * "Amazon Alexa": https://www.amazon.com/Amazon-Echo-And-Alexa-Devices/b?ie=UTF8&node=9818047011 231 | * "Google Nest": https://store.google.com/product/google_nest_mini 232 | * "Apple Homepod": https://www.apple.com/tw/shop/buy-homepod/homepod/ 233 | * "Mi AI Speaker": https://www.mi.com/aispeaker 234 | * "ASUS Smart Speaker": https://www.asus.com/tw/ASUS-Smart-Speaker/ASUS-Smart-Speaker-Xiao-Bu/ 235 | * "PyAIML -- The Python AIML Interpreter": https://github.com/cdwfs/pyaiml 236 | 237 | 👾 Matrix Barcode (Fiducial Marker Systems, or ARTag, or Auxiliary marker) 238 | * "ARTag": http://wiki.ros.org/ar_track_alvar 239 | * "AprilTag": http://wiki.ros.org/apriltag_ros 240 | * "CALTag": http://www.cs.ubc.ca/labs/imager/tr/2010/Atcheson_VMV2010_CALTag/ 241 | * "comparison": Sagitov, Artur, et al. "ARTag, AprilTag and CALTag Fiducial Marker Systems: Comparison in a Presence of Partial Marker Occlusion and Rotation." ICINCO (2). 2017. 242 | 243 | 🔅 Learning-Based Feature Extractor 244 | * ```Alexnet, VGG, ResNet, InceptionV3, DenseNet, GoogleNet, MobileNet, SqueezeNet, etc.``` 245 | * "Pytorch implementation": https://pytorch.org/docs/stable/torchvision/models.html 246 | 247 | 🔅 Learning-Based Object Detection 248 | * "Faster R-CNN" 249 | > Ren, Shaoqing, et al. "Faster r-cnn: Towards real-time object detection with region proposal networks." Advances in neural information processing systems. 2015. 250 | * "SSD" 251 | > Liu, Wei, et al. "Ssd: Single shot multibox detector." European conference on computer vision. Springer, Cham, 2016. 252 | * "YOLOv3": https://github.com/leggedrobotics/darknet_ros 253 | > (v4) Bochkovskiy, Alexey, Chien-Yao Wang, and Hong-Yuan Mark Liao. "YOLOv4: Optimal Speed and Accuracy of Object Detection." arXiv preprint arXiv:2004.10934 (2020). 254 | > (v3) Redmon, Joseph, and Ali Farhadi. "Yolov3: An incremental improvement." arXiv preprint arXiv:1804.02767 (2018). 255 | > (v2) Redmon, Joseph, and Ali Farhadi. "YOLO9000: better, faster, stronger." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017. 256 | > (v1) Redmon, Joseph, et al. "You only look once: Unified, real-time object detection." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016. 257 | 258 | 🔅 Learning-Based Human Pose Estimation 259 | * "OpenPose": https://github.com/CMU-Perceptual-Computing-Lab/openpose 260 | * "OpenPose-plugin": https://github.com/ildoonet/tf-pose-estimation 261 | 262 | # 4_Calibration 263 | 📷 Camera Calibration (Intrinsic and Extrinsic parameters) 264 | * "camera_calibration": http://wiki.ros.org/camera_calibration 265 | * "format converter": http://wiki.ros.org/camera_calibration_parsers 266 | 267 | 👁 Hand-Eye Calibration 268 | * "easy_handeye": https://github.com/IFL-CAMP/easy_handeye 269 | 270 | 🍎 IMU (Sparkfun Razer 9dof-razor-imu-m0) Calibration 271 | * "Github Wiki": https://github.com/Razor-AHRS/razor-9dof-ahrs/wiki/Tutorial 272 | * "ROS Wiki": http://wiki.ros.org/razor_imu_9dof 273 | * "Sparkfun Official Guide": https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide/all 274 | * "My Calibration Guide": https://github.com/shannon112/imu_calibration/blob/master/README.md 275 | 276 | # 5_Odometry 277 | ☠︎ Visual Based Ego-Motion Backbone 278 | * Components 279 | * Feature Keypoint & Desciptor - ```SURF, SIFT, ORB``` 280 | * Feature Matching - ```Brute-Force, FLANN``` 281 | * https://docs.opencv.org/3.4/db/d27/tutorial_py_table_of_contents_feature2d.html 282 | * Optical Flow - ```Lucas-Kanade (LK)``` 283 | * Motion Estimation: 284 | * 2D-2D: Epipolar Geometry & Triangulation 285 | * 2D-3D: Perspective-n-Point (PnP) - ```P3P, DLT, EPnP, UPnP, BA``` 286 | * 3D-3D: Iterative Closest Point (ICP) - ```ICP(SVD), GICP, NDT, IPDA, Non-LinearOpt```, ```point2point, point2plane``` 287 | * Direct Method - ```Dense, Semi-Dense, Sparse``` 288 | * Solutions 289 | * Extract Feature Keypoint -> Desciptor -> Matching -> Motion Estimation 290 | * Extract Feature Keypoint -> Optical Flow -> Motion Estimation 291 | * Extract Feature Keypoint -> Sparse Direct Method 292 | * Semi-Dense/Dense Direct Method 293 | 294 | 📚 Odometry Survey Paper 295 | * Delmerico, Jeffrey, and Davide Scaramuzza. "A benchmark comparison of monocular visual-inertial odometry algorithms for flying robots." 2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018. 296 | * G. Huang, "Visual-Inertial Navigation: A Concise Review," 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 2019, pp. 9572-9582. 297 | 298 | 🏆 Odometry Algorithm Ranking 299 | * "KITTI": http://www.cvlibs.net/datasets/kitti/eval_odometry.php 300 | 301 | 🚖 Wheel Odometry 302 | * "ros_control": http://wiki.ros.org/ros_control 303 | > Chitta, Sachin, et al. "ros_control: A generic and simple control framework for ROS." (2017). 304 | 305 | 💡 2D Laser Based Odometry 306 | * "rf2o": https://github.com/MAPIRlab/rf2o_laser_odometry 307 | > M. Jaimez, J. Monroy, J. Gonzalez-Jimenez, Planar Odometry from a Radial Laser Scanner. A Range Flow-based Approach, IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, pp. 4479-4485, 2016. 308 | 309 | 📷 3D Visual Based Odometry (Mono) 310 | * "VINS-Mono": https://github.com/HKUST-Aerial-Robotics/VINS-Mono 311 | > Qin, Tong, Peiliang Li, and Shaojie Shen. "Vins-mono: A robust and versatile monocular visual-inertial state estimator." IEEE Transactions on Robotics 34.4 (2018): 1004-1020. 312 | * "SVO": https://github.com/uzh-rpg/rpg_svo | http://rpg.ifi.uzh.ch/svo2.html ```Sparse Direct Method``` 313 | > Forster, Christian, Matia Pizzoli, and Davide Scaramuzza. "SVO: Fast semi-direct monocular visual odometry." 2014 IEEE international conference on robotics and automation (ICRA). IEEE, 2014. 314 | * "DSO": https://github.com/JakobEngel/dso ```Sparse Direct Method``` 315 | > Engel, Jakob, Vladlen Koltun, and Daniel Cremers. "Direct sparse odometry." IEEE transactions on pattern analysis and machine intelligence 40.3 (2017): 611-625. 316 | * "VISO2": http://wiki.ros.org/viso2_ros | http://www.cvlibs.net/software/libviso/ 317 | > Geiger, Andreas, Julius Ziegler, and Christoph Stiller. "Stereoscan: Dense 3d reconstruction in real-time." 2011 IEEE Intelligent Vehicles Symposium (IV). Ieee, 2011. 318 | > Kitt, Bernd, Andreas Geiger, and Henning Lategahn. "Visual odometry based on stereo image sequences with ransac-based outlier rejection scheme." 2010 ieee intelligent vehicles symposium. IEEE, 2010. 319 | * "OKVIS": https://github.com/ethz-asl/okvis | https://github.com/ethz-asl/okvis_ros 320 | > Leutenegger, Stefan, et al. "Keyframe-based visual–inertial odometry using nonlinear optimization." The International Journal of Robotics Research 34.3 (2015): 314-334. 321 | * "ROVIO": https://github.com/ethz-asl/rovio 322 | > Bloesch, Michael, et al. "Robust visual inertial odometry using a direct EKF-based approach." 2015 IEEE/RSJ international conference on intelligent robots and systems (IROS). IEEE, 2015. 323 | > Bloesch, Michael, et al. "Iterated extended Kalman filter based visual-inertial odometry using direct photometric feedback." The International Journal of Robotics Research 36.10 (2017): 1053-1072. 324 | * "RotRocc+, RotRocc, ROCC, MonoROCC" 325 | > M. Buczko and V. Willert: Flow-Decoupled Normalized Reprojection Error for Visual Odometry. 19th IEEE Intelligent Transportation Systems Conference (ITSC) 2016. 326 | > M. Buczko, V. Willert, J. Schwehr and J. Adamy: Self-Validation for Automotive Visual Odometry. IEEE Intelligent Vehicles Symposium (IV) 2018. 327 | > M. Buczko and V. Willert: Monocular Outlier Detection for Visual Odometry. IEEE Intelligent Vehicles Symposium (IV) 2017. 328 | > M. Buczko and V. Willert: How to Distinguish Inliers from Outliers in Visual Odometry for High-speed Automotive Applications. IEEE Intelligent Vehicles Symposium (IV) 2016. 329 | 330 | 📸 3D RGB-D/Stereo Based Odometry 331 | * "VINS-Fusion": https://github.com/HKUST-Aerial-Robotics/VINS-Fusion 332 | > Qin, Tong, and Shaojie Shen. "Online temporal calibration for monocular visual-inertial systems." 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2018. 333 | * "DVO": https://github.com/tum-vision/dvo 334 | > Kerl, Christian, Jürgen Sturm, and Daniel Cremers. "Robust odometry estimation for RGB-D cameras." 2013 IEEE International Conference on Robotics and Automation. IEEE, 2013. 335 | > Steinbrücker, Frank, Jürgen Sturm, and Daniel Cremers. "Real-time visual odometry from dense RGB-D images." 2011 IEEE international conference on computer vision workshops (ICCV Workshops). IEEE, 2011. 336 | * "SOFT": https://github.com/Mayankm96/Stereo-Odometry-SOFT 337 | > Cvišic, Igor, et al. "Soft-slam: Computationally efficient stereo visual slam for autonomous uavs." Journal of field robotics (2017). 338 | > Cvišić, Igor, and Ivan Petrović. "Stereo odometry based on careful feature selection and tracking." 2015 European Conference on Mobile Robots (ECMR). IEEE, 2015. 339 | * "VISO2": http://wiki.ros.org/viso2_ros | http://www.cvlibs.net/software/libviso/ 340 | > Geiger, Andreas, Julius Ziegler, and Christoph Stiller. "Stereoscan: Dense 3d reconstruction in real-time." 2011 IEEE Intelligent Vehicles Symposium (IV). Ieee, 2011. 341 | > Kitt, Bernd, Andreas Geiger, and Henning Lategahn. "Visual odometry based on stereo image sequences with ransac-based outlier rejection scheme." 2010 ieee intelligent vehicles symposium. IEEE, 2010. 342 | 343 | 🔅 3D LiDAR Based Odometry 344 | * "LOAM & V-LOAM": https://github.com/laboshinl/loam_velodyne 345 | > J Zhang, S Singh, "LOAM: Lidar Odometry and Mapping in Real-time", Robotics: Science and Systems Conference (RSS 2014) 346 | > J Zhang, S Singh, "Visual-lidar Odometry and Mapping: Low-drift, Robust, and Fast", IEEE International Conference on Robotics and Automation (ICRA) 347 | > J. Zhang, M. Kaess and S. Singh: Real-time Depth Enhanced Monocular Odometry. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) 2014. 348 | * "LIMO": https://github.com/johannes-graeter/limo 349 | > Graeter, Johannes, Alexander Wilczynski, and Martin Lauer. "Limo: Lidar-monocular visual odometry." 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2018. 350 | 351 | 🤖 Learning Based Odometry 352 | * "DeepVO": https://github.com/ChiWeiHsiao/DeepVO-pytorch | https://github.com/ildoonet/deepvo 353 | > S. Wang, R. Clark, H. Wen and N. Trigoni, "DeepVO: Towards end-to-end visual odometry with deep Recurrent Convolutional Neural Networks," 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 2017, pp. 2043-2050. 354 | * "VINET": https://github.com/HTLife/VINet 355 | > Clark, Ronald, et al. "VINet: Visual-Inertial Odometry as a Sequence-to-Sequence Learning Problem." AAAI. 2017. 356 | 357 | 🍥 Odometry Fusion 358 | * EKF | "robot_pose_ekf": http://wiki.ros.org/robot_pose_ekf 359 | * EKF & UKF | "robot_localization": http://docs.ros.org/melodic/api/robot_localization/html/index.html 360 | > Moore, Thomas, and Daniel Stouch. "A generalized extended kalman filter implementation for the robot operating system." Intelligent autonomous systems 13. Springer, Cham, 2016. 335-348. 361 | 362 | # 6_SLAM 363 | 🏛 SLAM Theorem & Tutorial 364 | * T. Bailey and H. F. Durrant-Whyte, “Simultaneous localisation and map- ping (SLAM): Part II”, IEEE Robot. Auton. Syst., vol. 13, no. 3, pp. 108–117, 2006. 365 | * H. F. Durrant-Whyte and T. Bailey, “Simultaneous localisation and map- ping (SLAM): Part I”, IEEE Robot. Autom. Mag., vol. 13, no. 2, pp. 99–110, Jun. 2006 366 | * Strasdat, Hauke, José MM Montiel, and Andrew J. Davison. "Visual SLAM: why filter?." Image and Vision Computing 30.2 (2012): 65-77. (comparison between filter and graph) 367 | * Grisetti, Giorgio, et al. "A tutorial on graph-based SLAM." IEEE Intelligent Transportation Systems Magazine 2.4 (2010): 31-43. 368 | 369 | 📚 SLAM Survey Paper 370 | * Cesar Cadena ; Luca Carlone ; Henry Carrillo ; Yasir Latif ; Davide Scaramuzza ; José Neira ; Ian Reid ; John J. Leonard, “Past, Present, and Future of Simultaneous Localization And Mapping: Towards the Robust-Perception Age”, IEEE Transactions on RoboticsYear: 2016, Volume: 32, Issue: 6Pages: 1309 - 1332 371 | * Jamiruddin, Redhwan, et al. "Rgb-depth slam review." arXiv preprint arXiv:1805.07696 (2018). 372 | * Zollhöfer, Michael, et al. "State of the Art on 3D Reconstruction with RGB‐D Cameras." Computer graphics forum. Vol. 37. No. 2. 2018. 373 | 374 | ☠︎ SLAM Backbone (Back-End) 375 | * Kalman Filter Based 376 | * ```Kalman Filter (KF), Extend Kalman Filte (EKF), Unscented Kalman Filte (UKF)``` 377 | * ```Extended Information Filter (EIF), Sparse Extended Information Filter (SEIF)``` 378 | * Particle Filter Based 379 | * ```Gmapping, FastSLAM, FastSLAM2.0``` 380 | * Graph Optimization Based 381 | * Method: ```Bundle Adjustment(BA), Pose Graph, Factor Graph``` 382 | * Regression Solution: ```Gaussian Netwon (GN), Leverberg Marquert(LM)``` 383 | * Efficiently Solving: ```Cholesky Factorization, QR Decomposition, Conjugate Gradients``` 384 | * [Ceres Solver Library](http://ceres-solver.org/): S. Agarwal and M. Keir. "Ceres solver." [online]. Available: http://ceres-solver.org/ 385 | * [g2o Library](https://github.com/RainerKuemmerle/g2o): Kümmerle, Rainer, et al. "g 2 o: A general framework for graph optimization." 2011 IEEE International Conference on Robotics and Automation. IEEE, 2011. 386 | * [GTSAM](https://gtsam.org/): Dellaert, Frank. Factor graphs and GTSAM: A hands-on introduction. Georgia Institute of Technology, 2012. 387 | * [iSAM](http://people.csail.mit.edu/kaess/isam/): (1)Kaess, M., Ranganathan, A., and Dellaert, F. (2008). iSAM: Incremental smoothing and mapping.IEEE Trans. Robotics, 24(6):1365–1378. (2)Kaess, M., Johannsson, H., Roberts, R., Ila, V., Leonard, J., and Dellaert, F. (2012). iSAM2:Incremental smoothing and mapping using the Bayes tree.Intl. J. of Robotics Research, 31:217–236. (iSAM2 is available as part of the GTSAM) 388 | * [SLAM++](https://sourceforge.net/p/slam-plus-plus/wiki/Home/): Ila, Viorela, et al. "SLAM++-A highly efficient and temporally scalable incremental SLAM framework." The International Journal of Robotics Research 36.2 (2017): 210-230. 389 | * Learning Based 390 | 391 | 📐 SLAM Benchmark (Dataset) 392 | * "The KITTI Vision Benchmark & Dataset": http://www.cvlibs.net/datasets/kitti/ 393 | > Geiger, Andreas, Philip Lenz, and Raquel Urtasun. "Are we ready for autonomous driving? the kitti vision benchmark suite." 2012 IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2012. 394 | * "MIT Stata Center Dataset": https://projects.csail.mit.edu/stata/# 395 | > Fallon, Maurice, et al. "The mit stata center dataset." The International Journal of Robotics Research 32.14 (2013): 1695-1699. 396 | * "Radish Dataset": http://ais.informatik.uni-freiburg.de/slamevaluation/datasets.php 397 | > Howard and N. Roy, “The robotics data set repository (Radish),”2003. [Online]. Available: http://radish.sourceforge.net/ 398 | * "TUM RGB-D SLAM Benchmark & Dataset": https://vision.in.tum.de/data/datasets/rgbd-dataset 399 | > Sturm, Jürgen, et al. "A benchmark for the evaluation of RGB-D SLAM systems." 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2012. 400 | * "ICL-NUIM RGB-D Benchmark & Dataset": https://www.doc.ic.ac.uk/~ahanda/VaFRIC/iclnuim.html 401 | > A. Handa, T. Whelan, J. McDonald, and A. J. Davison, “A bench-mark for rgb-d visual odometry, 3d reconstruction and slam,” inRobotics and automation (ICRA), 2014 IEEE international conferenceon. IEEE, 2014, pp. 1524–1531. 402 | * "EuRoC MAV Dataset": https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets 403 | > Burri, Michael, et al. "The EuRoC micro aerial vehicle datasets." The International Journal of Robotics Research 35.10 (2016): 1157-1163. 404 | * "Benchmark" 405 | > R.K ̈ummerle, B.Steder, C.Dornhege, M.Ruhnke, G.Grisetti, C.Stachniss, and A.Kleiner, "On measuring the accuracy of SLAM algorithms," Autonomous Robots, vol. 27, no. 4, pp. 387–407, 2009. 406 | * "Survey Paper" 407 | > Cai, Ziyun, et al. "RGB-D datasets using microsoft kinect or similar sensors: a survey." Multimedia Tools and Applications 76.3 (2017): 4313-4355. 408 | 409 | 💡 2D Laser Based SLAM 410 | * "Cartographer": https://google-cartographer-ros.readthedocs.io/en/latest/ 411 | > Wolfgang Hess ; Damon Kohler ; Holger Rapp ; Daniel Andor, “Real-time loop closure in 2D LIDAR SLAM ”, 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, 2016, pp. 1271-1278. 412 | * "Gmapping": http://wiki.ros.org/gmapping 413 | > G. Grisetti, C. Stachniss and W. Burgard, "Improved Techniques for Grid Mapping With Rao-Blackwellized Particle Filters," IEEE Transactions on Robotics, vol. 23, no. 1, pp. 34-46, Feb. 2007. 414 | * "Hector": http://wiki.ros.org/hector_slam 415 | > S. Kohlbrecher, O. von Stryk, J. Meyer and U. Klingauf, "A flexible and scalable SLAM system with full 3D motion estimation," 2011 IEEE International Symposium on Safety, Security, and Rescue Robotics, Kyoto, 2011, pp. 155-160. 416 | * "Karto": http://wiki.ros.org/slam_karto 417 | > Vincent, R., Limketkai, B., & Eriksen, M. (2010, April). Comparison of indoor robot localization techniques in the absence of GPS. In Detection and Sensing of Mines, Explosive Objects, and Obscured Targets XV (Vol. 7664, p. 76641Z). International Society for Optics and Photonics. 418 | * "FastSLAM": 419 | > Montemerlo, Michael, et al. "FastSLAM: A factored solution to the simultaneous localization and mapping problem." Aaai/iaai 593598 (2002). 420 | > Montemerlo, Michael, et al. "FastSLAM 2.0: An improved particle filtering algorithm for simultaneous localization and mapping that provably converges." IJCAI. 2003. 421 | 422 | 423 | 📷 3D Visual Based SLAM (Mono) 424 | * "MonoSLAM": https://github.com/hanmekim/SceneLib2 ```Feature + EKF``` 425 | > Davison, Andrew J., et al. "MonoSLAM: Real-time single camera SLAM." IEEE transactions on pattern analysis and machine intelligence 29.6 (2007): 1052-1067. 426 | * "PTAM": http://www.robots.ox.ac.uk/~gk/PTAM/ ```Feature + BA``` 427 | > Klein, Georg, and David Murray. "Parallel tracking and mapping for small AR workspaces." 2007 6th IEEE and ACM international symposium on mixed and augmented reality. IEEE, 2007. 428 | * "ORB-SLAM": https://github.com/raulmur/ORB_SLAM2 ```Feature + (BA + Pose-Graph)``` 429 | > 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. 430 | > 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. 431 | * "LSD-SLAM": ```Semi-dense Direct Method + Pose-Graph``` 432 | > Engel, Jakob, Thomas Schöps, and Daniel Cremers. "LSD-SLAM: Large-scale direct monocular SLAM." European conference on computer vision. Springer, Cham, 2014. 433 | 434 | 📸 3D RGB-D/Stereo Based SLAM 435 | * "DTAM": https://github.com/anuranbaka/OpenDTAM 436 | > Newcombe, Richard A., Steven J. Lovegrove, and Andrew J. Davison. "DTAM: Dense tracking and mapping in real-time." 2011 international conference on computer vision. IEEE, 2011. 437 | * "ORB-SLAM2": https://github.com/raulmur/ORB_SLAM2 438 | > Raúl Mur-Artal and Juan D. Tardós. ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras. IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255-1262, 2017. 439 | * "ORB-SLAM3": https://github.com/UZ-SLAMLab/ORB_SLAM3 440 | > [ORB-SLAM3] Carlos Campos, Richard Elvira, Juan J. Gómez Rodríguez, José M. M. Montiel and Juan D. Tardós, ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM, Under review. 441 | > [IMU-Initialization] Carlos Campos, J. M. M. Montiel and Juan D. Tardós, Inertial-Only Optimization for Visual-Inertial Initialization, ICRA 2020. 442 | > [ORBSLAM-Atlas] Richard Elvira, J. M. M. Montiel and Juan D. Tardós, ORBSLAM-Atlas: a robust and accurate multi-map system, IROS 2019. 443 | > [ORBSLAM-VI] Raúl Mur-Artal, and Juan D. Tardós, Visual-inertial monocular SLAM with map reuse, IEEE Robotics and Automation Letters, vol. 2 no. 2, pp. 796-803, 2017. 444 | * "DVO-SLAM": https://github.com/tum-vision/dvo_slam 445 | > Kerl, Christian, Jürgen Sturm, and Daniel Cremers. "Dense visual SLAM for RGB-D cameras." 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2013. 446 | * "RGBDSLAMv2": https://felixendres.github.io/rgbdslam_v2/ 447 | > Endres, Felix, et al. "3-D mapping with an RGB-D camera." IEEE transactions on robotics 30.1 (2013): 177-187. 448 | * "RTAB-Map": http://introlab.github.io/rtabmap/ | https://github.com/introlab/rtabmap_ros 449 | > M. Labbé and F. Michaud, “RTAB-Map as an Open-Source Lidar and Visual SLAM Library for Large-Scale and Long-Term Online Operation,” in Journal of Field Robotics, vol. 36, no. 2, pp. 416–446, 2019. (Wiley) Universit ́e de Sherbrooke 450 | > M. Labbé and F. Michaud, “Long-term online multi-session graph-based SPLAM with memory management,” in Autonomous Robots, vol. 42, no. 6, pp. 1133-1150, 2018. 451 | > M. Labbé and F. Michaud, “Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2014. 452 | > M. Labbé and F. Michaud, “Appearance-Based Loop Closure Detection for Online Large-Scale and Long-Term Operation,” in IEEE Transactions on Robotics, vol. 29, no. 3, pp. 734-745, 2013. 453 | > M. Labbé and F. Michaud, “Memory management for real-time appearance-based loop closure detection,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011, pp. 1271–1276. 454 | * "KinectFusion": https://www.microsoft.com/en-us/research/project/kinectfusion-project-page/ 455 | > Izadi, Shahram, et al. "KinectFusion: real-time 3D reconstruction and interaction using a moving depth camera." Proceedings of the 24th annual ACM symposium on User interface software and technology. ACM, 2011. 456 | > Newcombe, Richard A., et al. "Kinectfusion: Real-time dense surface mapping and tracking." ISMAR. Vol. 11. No. 2011. 2011. 457 | * "ElasticFusion": https://github.com/mp3guy/ElasticFusion 458 | > Whelan, Thomas, et al. "ElasticFusion: Dense SLAM without a pose graph." Robotics: Science and Systems, 2015. 459 | * "BundleFusion": http://graphics.stanford.edu/projects/bundlefusion/ 460 | > Dai, Angela, et al. "Bundlefusion: Real-time globally consistent 3d reconstruction using on-the-fly surface reintegration." ACM Transactions on Graphics (ToG) 36.3 (2017): 24. 461 | * "KO-Fusion": https://www.youtube.com/watch?v=yigoIYoY7Wg (mobile manipulator) 462 | > Houseago, Charlie, Michael Bloesch, and Stefan Leutenegger. "KO-Fusion: Dense Visual SLAM with Tightly-Coupled Kinematic and Odometric Tracking." 2019 International Conference on Robotics and Automation (ICRA). IEEE, 2019. 463 | * "arm-slam": https://www.youtube.com/watch?v=QrFyaxFUs9w (manipulator) 464 | > M. Klingensmith, S. S. Sirinivasa and M. Kaess, "Articulated Robot Motion for Simultaneous Localization and Mapping (ARM-SLAM)," in IEEE Robotics and Automation Letters, vol. 1, no. 2, pp. 1156-1163, July 2016. 465 | 466 | 🔅 3D LiDAR Based SLAM 467 | * "Zebedee": https://research.csiro.au/robotics/zebedee/ (handheld device) 468 | > M. Bosse, R. Zlot and P. Flick, "Zebedee: Design of a Spring-Mounted 3-D Range Sensor with Application to Mobile Mapping," in IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1104-1119, Oct. 2012. 469 | * "Kaarta": https://www.kaarta.com/ (handheld device) 470 | > Zhang, Ji, and Sanjiv Singh. "Laser–visual–inertial odometry and mapping with high robustness and low drift." Journal of Field Robotics 35.8 (2018): 1242-1264. 471 | * "LIO-SAM": https://github.com/TixiaoShan/LIO-SAM (handheld device) 472 | > Shan, Tixiao and Englot, Brendan and Meyers, Drew and Wang, Wei and Ratti, Carlo and Rus Daniela, "LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping," 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, 2020 473 | * "hdl_graph_slam": https://github.com/koide3/hdl_graph_slam 474 | > Kenji Koide, Jun Miura, and Emanuele Menegatti, A Portable 3D LIDAR-based System for Long-term and Wide-area People Behavior Measurement, Advanced Robotic Systems, 2019 475 | * "BLAM": https://github.com/erik-nelson/blam 476 | > E. Nelson, BLAM: berkeley localization and mapping, [online]. Available: https://github.com/erik-nelson/blam. 477 | * "Lego-LOAM": https://github.com/RobustFieldAutonomyLab/LeGO-LOAM 478 | > T. Shan and B. Englot, "LeGO-LOAM: Lightweight and Ground- Optimized Lidar Odometry and Mapping on Variable Terrain," 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, 2018, pp. 4758- 4765. 479 | * "Cartographer": https://google-cartographer-ros.readthedocs.io/en/latest/ 480 | > Wolfgang Hess ; Damon Kohler ; Holger Rapp ; Daniel Andor, “Real-time loop closure in 2D LIDAR SLAM ”, 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, 2016, pp. 1271-1278. 481 | * "IMLS-SLAM" 482 | > Deschaud, Jean-Emmanuel. "IMLS-SLAM: scan-to-model matching based on 3D data." 2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018. 483 | 484 | 🐭 Cognitive Related SLAM 485 | * "ViTa-SLAM": https://github.com/aalto-intelligent-robotics/ViTa-SLAM 486 | > Struckmeier, Oliver, et al. "ViTa-SLAM: A Bio-inspired Visuo-Tactile SLAM for Navigation while Interacting with Aliased Environments." 2019 IEEE International Conference on Cyborg and Bionic Systems (CBS). IEEE, 2019. 487 | 488 | 🏷 Semantic Related SLAM 489 | * "Kimera": https://github.com/MIT-SPARK/Kimera 490 | > Rosinol, Antoni, et al. "Kimera: an open-source library for real-time metric-semantic localization and mapping." arXiv preprint arXiv:1910.02490 (2019). 491 | 492 | # 7_Localization 493 | 📌 Localization on 2D Occupancy Grid Map 494 | * AMCL: Adaptive (or KLD-sampling) Monte Carlo Localization: http://wiki.ros.org/amcl 495 | > S. Thrun, W. Burgard, and D. Fox. Probabilistic Robotics. MIT Press, 2005. 496 | * mrpt_localization: http://wiki.ros.org/mrpt_localization 497 | > J.L. Blanco, J. Gonzalez-Jimenez, J.A. Fernandez-Madrigal, "Optimal Filtering for Non-Parametric Observation Models: Applications to Localization and SLAM", The International Journal of Robotics Research (IJRR), vol. 29, no. 14, 2010. 498 | > J. Gonzalez-Jimenez, J.L. Blanco, C. Galindo, A. Ortiz-de-Galisteo, J.A. Fernandez-Madrigal, F.A. Moreno, J. Martinez, "Mobile Robot Localization based on Ultra-Wide-Band Ranging: A Particle Filter Approach", Robotics and Autonomous Systems, vol. 57, no. 5, pp. 496--507, 2009. 499 | 500 | 🌲 SLAM Algorithms Support Pure Localization: 501 | * ```Cartographer, ORB_SLAM2, RTAB-Map``` 502 | 503 | # 8_Mapping 504 | 📍 Basic Mapping Backbones 505 | * "2D Occupancy Grid Map" ```(Binary or Probability)``` 506 | * "3D Occupancy Grid Map" ```(Binary or Probability)``` 507 | * "Octomap": https://octomap.github.io/ ```(for collision checking)``` 508 | * An Efficient Probabilistic 3D Mapping Framework Based on Octrees / 3D Probability Occupancy Grid Map 509 | > Hornung, Armin & Wurm, Kai & Bennewitz, Maren & Stachniss, Cyrill & Burgard, Wolfram, "OctoMap: An efficient probabilistic 3D mapping framework based on octrees. Autonomous Robots.", Autonomous Robots Journal (2013). 34. 10.1007/s10514-012-9321-0. 510 | 511 | 🗺 Basic Mapping Methods 512 | * "map_server": http://wiki.ros.org/map_server ```(loading, saving)``` 513 | * "octomap_server": http://wiki.ros.org/octomap_server ```(loading, saving, mapping)``` 514 | 515 | 📍 Advanced 3D Mapping Backbones 516 | * "Surfels" 517 | > Pfister, Hanspeter, et al. "Surfels: Surface elements as rendering primitives." Proceedings of the 27th annual conference on Computer graphics and interactive techniques. 2000. 518 | * "Truncated Signed Distance Function (SDF)" 519 | > Curless, Brian, and Marc Levoy. "A volumetric method for building complex models from range images." Proceedings of the 23rd annual conference on Computer graphics and interactive techniques. 1996. 520 | * "Truncated Signed Distance Function (TSDF)" 521 | > R. A. Newcombe, S. Izadi, O. Hilliges, D. Molyneaux, D. Kim, A. J.Davison, P. Kohi, J. Shotton, S. Hodges, and A. Fitzgibbon, “Kinect-fusion: Real-time dense surface mapping and tracking,” in Mixed and augmented reality (ISMAR), 2011 10th IEEE international symposiumon, pp. 127–136, IEEE, 2011 522 | * "Euclidean Signed Distance Fields (ESDF)" ```(for collision checking)``` 523 | > Ratliff, Nathan, et al. "CHOMP: Gradient optimization techniques for efficient motion planning." 2009 IEEE International Conference on Robotics and Automation. IEEE, 2009. 524 | 525 | 🗺 Advanced 3D Mapping Methods 526 | * "voxblox (ESDF&TSDF based)": https://github.com/ethz-asl/voxblox 527 | > Helen Oleynikova, et al. “Voxblox: Incremental 3D Euclidean Signed Distance Fields for On-Board MAV Planning”, in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2017. 528 | * "OpenChisel (TSDF based)": https://github.com/personalrobotics/OpenChisel 529 | > Klingensmith, Matthew, et al. "Chisel: Real Time Large Scale 3D Reconstruction Onboard a Mobile Device using Spatially Hashed Signed Distance Fields." Robotics: science and systems. Vol. 4. 2015. 530 | * "DenseSurfelMapping (Surfel based)": https://github.com/HKUST-Aerial-Robotics/DenseSurfelMapping 531 | > Wang, Kaixuan, Fei Gao, and Shaojie Shen. "Real-time scalable dense surfel mapping." 2019 International Conference on Robotics and Automation (ICRA). IEEE, 2019. 532 | 533 | # 9_Navigation 534 | 🚗 ROS Navigation Stack (move_base architecture) https://github.com/ros-planning/navigation 535 | * "move_base": http://wiki.ros.org/move_base 536 | * "move_base_flex": http://wiki.ros.org/move_base_flex 537 | 538 | 539 | 🚘 Global Planner 540 | * ```global_planner, carrot_planner, navfn, sbpl_lattice_planner, srl_global_planner, voronoi_planner``` 541 | * "A* (A Star)" 542 | > Hart, Peter E., Nils J. Nilsson, and Bertram Raphael. "A formal basis for the heuristic determination of minimum cost paths." IEEE transactions on Systems Science and Cybernetics 4.2 (1968): 100-107. 543 | * "Dijkstra's" 544 | > Dijkstra, Edsger W. "A note on two problems in connexion with graphs." Numerische mathematik 1.1 (1959): 269-271. 545 | 546 | 🚘 Local Planner 547 | * ```dwa_local_planner, teb_local_planner, base_local_planner, eband_local_planner, robotino_local_planner, asr_ftc_local_planner, simple_local_planner``` 548 | * "Timed Elastic Band (TEB)": http://wiki.ros.org/teb_local_planner 549 | > C. Rösmann, W. Feiten, T. Wösch, F. Hoffmann and T. Bertram: Efficient trajectory optimization using a sparse model. Proc. IEEE European Conference on Mobile Robots, Spain, Barcelona, Sept. 2013, pp. 138–143. 550 | > C. Rösmann, F. Hoffmann and T. Bertram: Integrated online trajectory planning and optimization in distinctive topologies, Robotics and Autonomous Systems, Vol. 88, 2017, pp. 142–153. 551 | > C. Rösmann, F. Hoffmann and T. Bertram: Kinodynamic Trajectory Optimization and Control for Car-Like Robots, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, Sept. 2017. 552 | * "Dynamic Window Approach (DWA)": http://wiki.ros.org/dwa_local_planner 553 | > D. Fox, W. Burgard and S. Thrun, "The dynamic window approach to collision avoidance," in IEEE Robotics & Automation Magazine, vol. 4, no. 1, pp. 23-33, March 1997. 554 | 555 | 🚘 Advanced Local Planner 556 | * Velocity Obstacle (VO) 557 | > Fiorini, Paolo, and Zvi Shiller. "Motion planning in dynamic environments using velocity obstacles." The International Journal of Robotics Research 17.7 (1998): 760-772. 558 | * Reciprocal Velocity Obstacle (RVO) http://gamma.cs.unc.edu/RVO2/ | https://github.com/daenny/collvoid 559 | > Van den Berg, Jur, Ming Lin, and Dinesh Manocha. "Reciprocal velocity obstacles for real-time multi-agent navigation." 2008 IEEE International Conference on Robotics and Automation. IEEE, 2008. 560 | * Optimal Reciprocal Collision Avoidance (ORCA) http://gamma.cs.unc.edu/ORCA/ 561 | > Van Den Berg, Jur, et al. "Reciprocal n-body collision avoidance." Robotics research. Springer, Berlin, Heidelberg, 2011. 3-19. 562 | 563 | 🚘 Recovery Behavior 564 | * ```rotate_recovery, move_slow_and_clear, stepback_and_steerturn_recovery``` 565 | 566 | 🏎️ Novel Navigation Strategy 567 | * "MIT AerospaceControlsLab DRL navigation": http://acl.mit.edu/projects/socially-acceptable-navigation 568 | > 1. Chen, Y. F., Liu, S.-Y., Liu, M., Miller, J., and How, J. P., “Motion Planning with Diffusion Maps,” IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Korea: 2016. 569 | > 2. Chen, Yu Fan, et al. "Decentralized non-communicating multiagent collision avoidance with deep reinforcement learning." 2017 IEEE international conference on robotics and automation (ICRA). IEEE, 2017. 570 | > 3. Chen, Yu Fan, et al. "Socially aware motion planning with deep reinforcement learning." 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2017. 571 | > 4. M. Everett, et al. "Motion Planning Among Dynamic, Decision-Making Agents with Deep Reinforcement Learning," 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 2018 572 | * "Google AI Research PRM-RL navigation": https://ai.googleblog.com/2019/02/long-range-robotic-navigation-via.html 573 | > 1. A. Faust et al. "PRM-RL: Long-range Robotic Navigation Tasks by Combining Reinforcement Learning and Sampling-Based Planning," 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, QLD, 2018, pp. 5113-5120. 574 | > 2. H. L. Chiang, et al. "Learning Navigation Behaviors End-to-End With AutoRL," in IEEE Robotics and Automation Letters, vol. 4, no. 2, pp. 2007-2014, April 2019. 575 | > 3. Francis, Anthony, et al. "Long-range indoor navigation with PRM-RL." IEEE Transactions on Robotics (2020). 576 | * "ETHz Autonomous System Lab navigation": https://www.youtube.com/watch?v=GPp5mnybm8g | https://www.youtube.com/watch?v=h1rm0BW3eVE | https://www.youtube.com/watch?v=ZedKmXzwdgI 577 | > 1. Pfeiffer, Mark, et al. "Predicting actions to act predictably: Cooperative partial motion planning with maximum entropy models." 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2016. 578 | > 2. Pfeiffer, Mark, et al. "From perception to decision: A data-driven approach to end-to-end motion planning for autonomous ground robots." 2017 ieee international conference on robotics and automation (ICRA). IEEE, 2017. 579 | 580 | 🛀 Coverage Navigation (cleaning or weeding robot) 581 | * "Survey Paper": 582 | > Galceran, Enric, and Marc Carreras. "A survey on coverage path planning for robotics." Robotics and Autonomous systems 61.12 (2013): 1258-1276. 583 | 584 | # 10_Manipulation 585 | 🖐️ ROS Moveit (move_group architecture) https://github.com/ros-planning/moveit.git 586 | 587 | 588 | 📚 Planner Library 589 | * "Open Motion Planning Library (OMPL)" 590 | * Website: https://ompl.kavrakilab.org/ 591 | * Intro: https://moveit.ros.org/assets/pdfs/2013/icra2013tutorial/OMPLoverview-ICRA2013.pdf 592 | * Roadmap Based Planner: ```PRM(Probabilistic roadmap), PRM*, Lazy-PRM, LazyPRM*``` 593 | * Tree Based Planner: ```RRTConnect (default), RRT(Rapidly-exploring random tree), RRT*, T-RRT, Bi-TRRT, LB-TRRT, SBL, STRIDE, KPIECE, B-KPIECE, LB-KPIECE, EST, Bi-EST, Proj-EST, PDST, SPARS, SPARS2``` 594 | * "Search Based Planning Library (SBPL)" 595 | * Website: http://www.sbpl.net/ 596 | * Intro: https://www.cs.cmu.edu/~maxim/files/tutorials/robschooltutorial_oct10.pdf 597 | * Search Based Planner: ```ARA*, Anytime D*, R*``` 598 | * "Covariant Hamiltonian Optimiza-tion for Motion Planning (CHOMP)" 599 | * Intro: https://www.ri.cmu.edu/pub_files/2009/5/icra09-chomp.pdf 600 | * Orocos Kinematics and Dynamics Library (KDL) for FK/IK modeling 601 | * https://www.orocos.org/kdl.html 602 | 603 | # 11_Others_Non_Tech_Part 604 | ## 11-1_Famous Robotics Related Company 605 | 🏬 Robotic Companies 606 | | categories | companies | 607 | | -------- | -------- | 608 | | Research center | Toyota_Research_Institute(TRI), Microsoft_Research, Google_AI, DeepMind, Facebook_Artificial_Intelligence_Research(FAIR), Berkeley_Artificial_Intelligence_Research (BAIR), Nvidia_Research | 609 | | Manipulator | ABB, FANUC, KUKA, YASKAWA, Techman_Robot, HIWIN, Universal_Robots, Innfos | 610 | | Mobile Robot(AGV, base only) | Omron_Robotics, Clearpath_Robotics&OTTO_Motors, Amazon_Robotics(Kiva_System/Canvas_Tech), Yujin_Robotics, ROBOTIS, Fetch_Robotics, GreenTrans, KUKA, iRobot, Pal_Robotics, Robotnik | 611 | | Service robot(with torso) | Willow_Garage, Softbank_Robotics, Fetch_Robotics, Pal_Robotics, Innfos, Robotnik | 612 | | Dual Arms | ABB, Rethink_Robotics | 613 | | Humanoid | Boston_Dynamics, Softbank_Robotics, Pal_Robotics, UBTECH_Robotics | 614 | | Quadruped | Boston_Dynamics, Unitree_Robotics, MIT_Cheetah, ANYrobotics(ANYmal), Standford_Doggo, Innfos | 615 | | Research Robot | Willow_Garage(Pr2), Facebook(pyrobot), ROBOTIS(turtlebot3), Fetch_Robotics, Robotnik(RB-1) | 616 | | Educational Robot Kit | Trossen_Robotics, Niryo, Oz_Robotics | 617 | | Drone | Dji, Tello | 618 | | ROS2.0 | ADLINK(DDS), ROBOTIS(Turtlebot3) | 619 | | CleaningBot | iRobot, Xiaomi | 620 | | Gripper | ROBOTIQ, TOYO | 621 | | Self-Driving Cars | Alphabet_Waymo, Uber_ATG, Apple_Project_Titan, Tesla, Toyota_Research_Institute(TRI), Baidu_Apollo, AutoX | 622 | | Delivery Robots | Starship, Amazon_Robotics_Scout(Dispatch) | 623 | 624 | ## 11-2_Famous Robotics Publications 625 | 📝 Top conferences: 626 | * IEEE International Conference on Robotics and Automation (ICRA) 627 | * IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) 628 | 629 | 🏠 Related Societies: 630 | 631 | | Society | Website | Conferences / Transactions 632 | | -------- | -------- | ------------ 633 | | IEEE Robotics and Automation Society (RAS) | https://www.ieee-ras.org/ | https://ras.papercept.net/conferences/scripts/start.pl 634 | | IEEE Industrial Electronics Society (IES) | http://www.ieee-ies.org/ | http://www.ieee-ies.org/conferences 635 | | IEEE Control System Society (CSS) | http://ieeecss.org/ | http://ieeecss.org/conferences/general-information 636 | | IEEE Systems, Man and Cybernetics (SMC) | https://www.ieeesmc.org/ | https://www.ieeesmc.org/conferences/calendar/ 637 | | AAAS Science Robotics | https://robotics.sciencemag.org/ | https://www.sciencemag.org/journals/robotics/call-for-papers 638 | | Conference on Robot Learning (CoRL) | https://www.robot-learning.org | https://www.robot-learning.org/program/paper-explorer 639 | 640 | 🛠 Tools: 641 | * "Google Scholar Rank": https://scholar.google.com/citations?view_op=top_venues&hl=en&vq=eng_robotics ```(h5-index, h5-median)``` 642 | * "Journal Citation Reports (JCR)": https://jcr.clarivate.com/ ```(Impact Factor, Eigenfactor Score, Article Influence Score)``` 643 | * "Compress PDF Online": https://www.pdf2go.com/compress-pdf 644 | 645 | ## 11-3_Famous Robotics Competition 646 | 🌎 Global: 647 | * "DARPA Robotics Challenge": https://en.wikipedia.org/wiki/DARPA_Robotics_Challenge 648 | * "RoboCup": https://en.wikipedia.org/wiki/RoboCup 649 | * "Amazon Robotics/Picking Challenge": http://amazonpickingchallenge.org/ 650 | * "ICRA Robot Competitions: including lots of competitions would be different every years" 651 | * "IROS Robot Competitions: including lots of competitions would be different every years" 652 | 653 | 🇹🇼 Taiwan: 654 | * "SKS 新光保全智慧型保全機器人競賽": https://www.facebook.com/sksrobot/ 655 | * "PMC 全國智慧機器人競賽 Robot competition": http://www.pmccontest.com/ 656 | * "HIWIN 上銀智慧機械手實作競賽": http://www.hiwin.org.tw/Awards/HIWIN_ROBOT/Original.aspx 657 | * "SiliconAwards 旺宏金矽獎": http://www.mxeduc.org.tw/SiliconAwards/ 658 | 659 | ## 11-4_Famous ROS Organizations & Activities 660 | 🚀 ROS Related Work: 661 | * "ROS-industrial": https://rosindustrial.org/ 662 | * "ROS2.0": https://design.ros2.org/ 663 | * "ROS-H": https://acutronicrobotics.com/technology/H-ROS/" 664 | 665 | 🏢 Organizations/Communities: 666 | * "Open Source Robotics Foundation (OSRF)": https://www.openrobotics.org/ 667 | * "Open Source Robotics Corporation (OSRC)": https://www.openrobotics.org/ 668 | * "ROS.Taiwan": https://www.facebook.com/groups/ros.taiwan/ 669 | * "ROS.Taipei": https://www.facebook.com/groups/ros.taipei/ 670 | 671 | 🎪 Activities: 672 | * "ROScon": https://roscon.ros.org/ 673 | * "ROSDevCon": http://www.rosdevcon.com/ 674 | * "ROS Summer School(CN)": http://www.roseducation.org/ 675 | * "ROS Summer School(TW)": http://www.taoyuan-ros.com.tw/ 676 | 677 | ----- 678 | 679 | ## License 680 | 681 | [![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/) 682 | --------------------------------------------------------------------------------