Robot Operating System (ROS)
Framework for developing software that can be deployed on an actual robot and/or for simulation purposes. A collection of libraries and tools that can be used to create a flexible framework particularly aimed at simplfying the testing of complex robot behavior.
Prerequisites
Basic knowledge about Command Line Tools, C++ and Python.
Courses and Relevant References
-
ROS for Beginners: Basics, Motion, and OpenCV This course is ideal for a beginner as the instructor covers almost all the basic concepts about ROS and its architecture in general. Grassroot concepts such as ROS Nodes, ROS Topics, ROS Messages, ROS Services, Publishers and Subscribers and other utlities are covered thoroughly in this course. Several trivial methods like connecting a new Hardware with ROS and accessing the data of actual sensors are also covered in depth. The latter part of the course deals with the basics of Perception and using OpenCV Library with ROS in particular. Regular Updates in the course content incorporates the new features that are introduced via newer versions.
- Programming for Robotics - ROS This course is offered by the Robotic Systems Lab, ETH Zurich. It covers the architecture of ROS, creating ROS Packages, simulations with ROS using Gazebo, RViz, user inteface tools like Rqt Graph and the TF Transformation System. The instructors have also provided exercises to test one’s progress. Guides about building a legged robot and integrating ROS with other simulators have also been provided. The 2021 playlist is available on YouTube
- ROS Wiki The official documentation page of ROS. Contains basic tutorials and installation guides along with tutorials for ROS Libarires like Navigation, Robot Modelling and Visualization. It also contains tutorials for libaries with ROS Interfaces like tf2 (Transform Library) and PCL (Point Cloud Library).