No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.

dyn_tune package from dyn_tune repo

dyn_tune

Package Summary

Tags No category tags.
Version 0.0.0
License TODO
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mehdish89/dyn_tune.git
VCS Type git
VCS Version master
Last Updated 2017-11-06
Dev Status UNMAINTAINED
CI status Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The dyn_tune package

Additional Links

No additional links.

Maintainers

  • osrf

Authors

No additional authors.

dyn_tune

dyn_tune is a package providing automatic tuning of dynamically reconfigurable parameters for a simulated or physical robotic system operating in ROS. Every parameter that is defined using dynamic_reconfigure package, could potentially be tuned using this tool. The user is in charge of providing a ROS bag as ground truth/experiment, as well as defining an objective funciton over the values published on ROS topics. The objective value for each set of parameter values determines how favorable those parameter values are. A stochastic optimization algorithm is used to find the optimum set of values for the parameters.

Install / Test

Currently, the package is tested on Ubuntu 16.04 Xenial and ROS Kinetic. For installing the package, first you need to create a Catkin workspace if you dont have one already.

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_init_workspace

Then, clone the repository in it and build the workspace.

$ cd ~/catkin_ws/src
$ git clone https://github.com/mehdish89/dyn_tune
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash

Once everything is built, you could utilize the tool for parameter tuning by running the command below and using ROS services.

$ rosrun dyn_tune dyn_tune_main.py

Use the command below to see a list of services available.

$ rosservice list 
/create_function
/dyn_tune_backbone/get_loggers
/dyn_tune_backbone/set_logger_level
/list_available_functions
/optimize
/rosout/get_loggers
/rosout/set_logger_level

GUI

You could utilize the tool in a more convenient way, by installing rqt_dyn_tune package, which is a rqt plugin graphical user interface for dyn_tune.

alt text

Applications

Since the optimization method is completely end-to-end, a wide range of parameters could be tuned using dyn_tune with no knowledge of underlying mechanism required. The package could be used for tuning simulation parameters, caliberation of sensors/cameras, tuning PIDs, etc. The advantage to this method is that user only need to specify the expected outcome rather than implementing a caliberation/tuning method based on the mechanics of the task/problem. In another word, the user does not need to worry about the nature of the parameters and what is the right value for them. Instead, they are only required to specify the high-level expected outcome that should presumably be achieved by the right values for the parameters.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Recent questions tagged dyn_tune at Robotics Stack Exchange

No version for distro melodic. Known supported distros are highlighted in the buttons above.