ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

dornhege's answer is pretty good, but to relate it to purpose:

Packages are the basic unit of creating/building ROS code. They are the lowest-level building block of what you can build in ROS. They may contain a particular algorithm, library, set of messages, or some other basic building block.

Stacks are the basic unit of releasing ROS code. They usually collect together thematically similar Packages. Ultimately Stacks are meant to bundle together code that is developed together and is mutually interdependent. For example, the navigation stack consists of several planner packages, a high-level ROS node, a localization package, and obstacle data structures.

Repositories are just code repositories, i.e. and svn/hg/git/bzr repository. These code repositories are usually associated with organizations or a community of developers.