Usually when we talk about packages, we refer to a typical structure of files and folders. This structure looks as follows:
- include/package_name/: This directory includes the headers of the libraries that you would need.
- msg/: If you develop nonstandard messages, put them here.
- scripts/: These are executable scripts that can be in Bash, Python, or any other scripting language.
- src/: This is where the source files of your programs are present. You can create a folder for nodes and nodelets or organize it as you want.
- srv/: This represents the service (srv) types.
- CMakeLists.txt: This is the CMake build file.
- package.xml: This is the package manifest.
To create, modify, or work with packages, ROS gives us tools for assistance, some ...