Resources - sundevilrobotics/urc-code GitHub Wiki
Resources
If you know of any good learning resources (video, PDF, webpage, etc.) for the software team, please edit this page and place its link along with a short description of the resource below a categorical header. Notice: categories (headers) are alphabetized and the individual resources in each category are alphabetized by topic. Ctrl-F is your friend!
C++ and Other Languages
- Tutorial
Long, but easy to understand, video series on C++:
C++ Programming Tutorials Playlist
Git/GitHub
- Branching
Original Git branching model:
https://nvie.com/posts/a-successful-git-branching-model/ - Issues
Official video tutorial on Issues:
GitHub Issues • A Quick Look
Image Processing
- OpenCV (Python)
How to increase fps by multithreading Python:
https://www.pyimagesearch.com/2015/12/21/increasing-webcam-fps-with-python-and-opencv/
Localization and Navigation
General Algorithms and Filters
- Kalman Filter
Video series on Kalman Filters:
SPECIAL TOPICS 1 - THE KALMAN FILTER - Kalman Filter
Alternate video series on Kalman Filters with MATLAB:
Tutorial: Kalman Filter with MATLAB example part1 - Quadtree
Quadtree Video Tutorial (JavaScript):
Coding Challenge #98.1: Quadtree - Part 1
Localization
- Localization
Article explaining localization:
https://www.robotshop.com/community/blog/show/robot-localization-so-a-robot-really-knows-where-it-is
Odometry
- Odometry
Video(s) on odometry and other mobile robot controls:
Control of Mobile Robots – Odometry
SLAM
- SLAM Explanation
A simple explanation of SLAM:
https://blog.cometlabs.io/teaching-robots-presence-what-you-need-to-know-about-slam-9bf0ca037553 - RTAB-MAP
A robust VSLAM algorithm with lots of documentation:
http://introlab.github.io/rtabmap/ - Google Cartographer
A more traditional SLAM algorithm maintained by Google:
https://google-cartographer-ros.readthedocs.io/en/latest/
Navigation
- ROS
ROS Navigation Stack:
http://wiki.ros.org/navigation
Path Planning
- A*
Video explanation and example:
Path Finding Algorithm [A* Algorithm] - A*
Explanation and example code:
https://www.geeksforgeeks.org/a-search-algorithm/ - D* Lite
Video of history and explanation of D* Lite vs. A*:
Intro to Path Planning: D* Lite vs. A* - Multi-resolution Field D*
PDF research article:
Multi-resolution Field D* - Multipath Adaptive A*
Video showcasing work:
ICAPS 2014: Jorge Baier on "Making A* Run Faster than D*-Lite for Path-Planning in Partially ..."
ROS
- Info
Brief overview video (best at 1.25x speed)
What is ROS (short description) - Info
Another overview video
What is ROS? - Info
Bloomberg Technology News Video
What is ROS? Why it's Important for making Robots! - Tutorial
Brandon Rice's SDRC ROS Tutorials
ROS (C++) With Git From The Ground Up Tutorial Series - Tutorial
ROS C++ Tutorials
ROS tutorials by Justin Huang - Tutorial
ROS with Raspberry Pi Robot Tutorials by linuxfestnorthwest, Sid Faber
An Introduction to ROS, the Robot Operating System
SDRC Gist
- SDRC Gist
More links:
https://gist.github.com/bjrice13/b6eee58595a08d9f918d6a7f3c487b41