Rosanswers logo

I'm researching how ROS is implementing operating services like: including hardware abstraction, low-level device control, implementation of commonly-used functionality,message-passing between processes and package management. Every where I read something about ROS this is stated in the intro but not explained clearly.

Does anyone now how they are implemented or a good source where I can find more information about this? :)

Originally posted by pieter on ROS Answers with karma: 3 on 2016-06-17

Post score: 0


1 Answer 1


Rosanswers logo

Walking through the beginner tutorials (http://wiki.ros.org/ROS/Tutorials) is a good start for any further research. In my opinion, it will be enough for you to start working on low-level controlling after understanding the architecture of ROS (included in beginner tutorials).

For example , doing serial communication between a Linux machine and your device:

  1. A simple solution is building a publisher and a subscriber.
  2. You will need a serial communication library to do the communication jobs, for example the serial package from William Woodall.
  3. You'd like to know how to install a package, then maybe learning about Git is good (going through chapter 1 to 3 will be enough for a quick start). And you'll find directly cloning the package from GitHub makes it a submodule (don't bother it now, mark it until you come across such problem later).
  4. You might want to develop your own library, like a C++ class. Then it is good to know where to put your header file and source files. A lot of related questions are asked, here is an example.
  5. However you still need to manually link the library with the executable target, by working on the CMakeList.txt file (here and here) and the package.xml file.
  6. Based on the above, search more on the Internet.

Wish this help you.

Originally posted by Neur0n with karma: 56 on 2016-06-19

This answer was ACCEPTED on the original site

Post score: 1


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.