└── README.md
/README.md:
--------------------------------------------------------------------------------
1 | # awesome-ros-mobile-robot [](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 | [](http://creativecommons.org/publicdomain/zero/1.0/)
682 |
--------------------------------------------------------------------------------