Warm-up
This session is designed to bring the participants' abilities to the same level so that the control and planning subjects can be understood by all.
Prerequisites
Knowledge required:
- Familiarity with Ubuntu’s desktop environment. I recommend the book Linux Command Line and Shell Scripting Bible 4th Edition chapter 1 section "The Linux Desktop Environment".
- Proficiency with basic terminal commands (mainly bash). See chapter 3 and 4 of Linux Command Line and Shell Scripting Bible 4th Edition.
- Understand GNU/Linux file system. Linux Command Line and Shell Scripting Bible chapter 7 and 8.
- Python/C++ skills, including basic OOP concepts. For recap python check Think Python 2nd Edition by Allen B. Downey for C++ check Programming: Principles and Practice Using C++ 2nd Edition by Bjarne Stroustrup
- Basics of VCS (Version control system) with git. My personal recommendation is the Pro Git 2nd Edition by Scott Chacon and Ben Straub chapter 1, 2, and 3.
Fundamentals
The following links correspond to a set of notes that introduce the basic concepts required to work with ROS: