Skip to content

cbandera/rosparam_handler

Repository files navigation

rosparam_handler

Build Status

Package Summary

A unified parameter handler for nodes with automatic code generation. Save time on defining your parameters. No more redundant code. Easy error checking. Make them dynamic with a single flag.

Unified Parameter Handling for ROS

When working with ROS and Parameters, there are a couple of tools to help you with handing Parameters to your nodes and to modify them, e.g. Parameter Server and dynamic_reconfigure.

But with the multitude of options on where to specify your parameters, we often face the problem that we get a redundancy in our code and config files.

The rosparam_handler let's you:

  • specify all of your parameters in a single file.
  • use a generated struct to hold your parameters.
  • use member method for grabbing the parameters from the parameter server.
  • use member method for updating them from dynamic_reconfigure.
  • make your parameters configurable with a single flag.
  • set default, min and max values.
  • choose between global and private namespace.
  • save a lot of time on specifying your parameters in several places.
  • ...in both C++ and Python !

Usage

See the Tutorials on

Installation

rosparam_handler has been released in version 0.1.3 for

  • indigo
  • jade (EOL - version 0.1.1)
  • kinetic
  • lunar

To get the package run rosdep update && rosdep install rosparam_handler

Contribution

rosparam_handler is developed according to Vincent Driessen's Gitflow Workflow. This means,

  • the master branch is for releases only.
  • development is done on feature branches.
  • finished features are integrated via PullRequests into develop.

For a PullRequest to get merged into develop, it must pass

  • Review by one of the maintainers.
    • Are the changes introduces in scope of the rosparam_handler?
    • Is the documentation updated?
    • Are enough reasonable tests added?
    • Will these changes break the API?
    • Do the new changes follow the current style of naming?
  • Compile / Test / Run on all target environments.

Credits

This project uses Open Source components. The code was, in large parts, built upon such existing open source software. You can find the source code of their projects along with license information below. We acknowledge and are grateful to these developers for their contributions to open source.

Project: dynamic_reconfigure Copyright 2015, Open Source Robotics Foundation, Inc. License: 3-Clause BSD