Skip to content

Commit 4abab3b

Browse files
author
Marc Bestmann
committed
merge
2 parents d2f5e9b + 20af456 commit 4abab3b

28 files changed

+51566
-4183
lines changed

CMakeLists.txt

+1-22
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,11 @@ project(parallel_parameter_search)
33

44

55
find_package(catkin REQUIRED COMPONENTS
6-
message_generation
76
roscpp
87
rosconsole
98
rospy
10-
std_msgs
11-
bitbots_msgs
129
)
1310

1411
catkin_python_setup()
1512

16-
## Generate services in the 'srv' folder
17-
add_service_files(
18-
FILES
19-
RequestParameters.srv
20-
SubmitFitness.srv
21-
)
22-
## Generate added messages and services with any dependencies listed here
23-
generate_messages(
24-
DEPENDENCIES
25-
std_msgs # Or other packages containing msgs
26-
)
27-
28-
catkin_package(
29-
CATKIN_DEPENDS message_runtime
30-
)
31-
32-
include_directories(
33-
${catkin_INCLUDE_DIRS}
34-
)
13+
catkin_package()

README

+3-35
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,5 @@
1-
Distributed Gazebo Parameter Learning
1+
Distributed Parameter Learning
22
=====================================
33

4-
This package allows you to optimize a generic set of parameters for an arbitrary algorithm in a distributed way in the Gazebo simulator.
5-
The process consists of a master which provides a service to get the next set of parameters and a number of workers which evaluate these parameters and send them back to the master.
6-
1. Start master node
7-
2. Start n worker nodes
8-
3. For worker in workers
9-
3.1. Get set of parameters from master using a service
10-
3.2. Evaluate the performance of these parameters
11-
3.3. Return the performance for this set of parameters to the master
12-
4. The loop ends when the master has no new parameter sets to evaluate
13-
5. The results are written in a .csv file and can be inspected with the provided scripts
14-
15-
16-
Start Master
17-
------------
18-
Make sure correct workspaces are sourced
19-
The master has to be started before the worker nodes are started. Do this with the following launch file
20-
roslaunch parallel_parameter_search master.launch
21-
22-
Start Worker
23-
------------
24-
Make sure correct workspaces are sourced
25-
The worker can run on any machine that is in a network connection to the master machine. Before starting the worker you have to set the ROS master uri to the master computer.
26-
export ROS_MASTER_URI=http://MASTERPC:11311
27-
To start a single worker you can use the following launch file
28-
roslaunch parallel_parameter_search worker.launch
29-
To start multiple workers you can use
30-
rosrun parallel_parameter_search launch_workers.py 5 1 http://MASTERPC:11311
31-
32-
Watching workers
33-
----------------
34-
You can watch workers evaluating their parameter set with the following script.
35-
You have to set the ROS master uri first.
36-
rosrun parallel_parameter_search watch_worker.py WORKER_NUMBER IP_OF_WORKER
37-
4+
This package allows you to optimize a generic set of parameters for an arbitrary algorithm in a distributed way in the Pybullet and Webots simulator.
5+
The package heavly relies on Optuna as a backend for optimization and for distributed execution via SQL database.

config/master.yaml

-51
This file was deleted.

config/worker.yaml

-22
This file was deleted.

launch/master.launch

-31
This file was deleted.

launch/restart_worler.launch

-12
This file was deleted.

launch/rviz_worker.launch

-13
This file was deleted.

launch/simulator.launch

-35
This file was deleted.

launch/test.launch

-9
This file was deleted.

launch/worker.launch

-79
This file was deleted.

package.xml

-4
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,12 @@
1414
<build_depend>rospy</build_depend>
1515
<build_depend>std_msgs</build_depend>
1616
<build_depend>rosconsole</build_depend>
17-
<build_depend>message_generation</build_depend>
18-
<build_depend>message_runtime</build_depend>
1917

2018

2119
<run_depend>roscpp</run_depend>
2220
<run_depend>rospy</run_depend>
2321
<run_depend>std_msgs</run_depend>
2422
<run_depend>rosconsole</run_depend>
25-
<run_depend>message_generation</run_depend>
26-
<run_depend>message_runtime</run_depend>
2723

2824
<run_depend>bitbots_msgs</run_depend>
2925

0 commit comments

Comments
 (0)