ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under an open source, BSD license.
ROS is great tool to control robot. It can run on all support hardware. A “Java/.Net 5” software/library for robotics.
- Simple to install, all packages are available through apt
- program is organized from smaller packages
- ROS build tool =catkin
This is CMake-based build tool, can link to other library
- ROS use publish/subcribe model
- A lot of tools, all free, all unitied
visulizaton: rviz、simulator: gazebo、GUI: rqt
ROS is very good at:
- Distributed computation: ROS can use computation resource very effective
- Software reuse: write code once and run on every hardware that support ROS
- Rapid testing: ROS can accelarate the testing process