You can find my notes in installation of ROS in a mac and the tutorials that are available on their website here. ROS - meta operating system for your robot. It provides hardware abstraction, low level device control, implementation of commonly used functionality, message passing between processes and package management. Ot provides tools and libraries for obtaining, building, writing and running code across multiple computers. Communication in ROS - several different sytles of communication 1. synchronous RPC style communication over services 2. asynchronous streaming of data over topics 3. storage of data on a peremeter server. ROS is not realtime framework though it is possible to integrate ROS file system level - 1. Packages - are used to organize software. packages contain runtime processes (nodes), ROS dependent library, datasets config files 2. Manifests - contain metadata about packages 3. stack - aggregation of packages to perform a function. ex navigatio...