RAPP Platform Wiki  v0.6.0
RAPP Platform is a collection of ROS nodes and back-end processes that aim to deliver ready-to-use generic services to robots
 All Files Pages
? How-to-create-a-new-RAPP-Platform-ROS-node?

In order to create a new functionality in the RAPP Platform, usually a new ROS package needs to be created. Some general guidelines follow:

  • Rename the package to a specific name that shows what it does (beginning with rapp_). Split in multiple packages if necessary.
  • Move the srv files in rapp_platform_ros_communications (in a new subfolder) and declare the correct dependencies in the package's CMakeLists.txt and package.xml. Do not forget to give an intuitive name at your service
  • The ROS package should have the following folders and files:
    • cfg: Contains configuration files
    • launch: Contains the ROS package's launchers
    • src: Contains the source files (either C++ or Python)
    • tests: Contains the unit and functional tests (the folder's name must be tests!)
    • README.md: Contains the same information to the RAPP Platform wiki corresponding page
    • setup.py: If you have a python node this file should exist. Also a __init__.py file should exist in the src folder in order to create functional tests.
  • Rename the srv file and the service topic to comply with the rest of the platform
  • Rename the launch file to comply with the rest of the platform
  • Call the launch file from rapp_platform_launch.launch in the rapp_platform_launchers package, in order to be spawned with everything else
  • Add unit / functional tests
  • Add Doxygen documentation in your code
  • Add a description of your package here: https://github.com/rapp-project/rapp-platform/wiki
  • Create a README.md in the ROS package with the same information as in the wiki registration