The objective of this book is to provide the reader with a comprehensive coverage on the Robot Operating Systems (ROS) and latest related systems, which is currently considered as the main development framework for robotics applications. The book includes twenty-seven chapters organized into eight parts. Part 1 presents the basics and foundations of ROS. In Part 2, four chapters deal with navigation, motion and planning. Part 3 provides four examples of service and experimental robots. Part 4 deals with real-world deployment of applications. Part 5 presents signal-processing tools for perception and sensing. Part 6 provides software engineering methodologies to design complex software with ROS. Simulations frameworks are presented in Part 7. Finally, Part 8 presents advanced tools and frameworks for ROS including multi-master extension, network introspection, controllers and cognitive systems. This book will be a valuable companion for ROS users and developers to learn more ROS capabilities and features.