-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
60 lines (40 loc) · 2.2 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
This directory should be installed under the Gazebo models directory (typically
$HOME/.gazebo/models).
Build the controller for the juggler using CMake.
Then start juggling with:
$ gazebo ../schaal-juggler.world
from your directory used for building the plugin.
--------------------------------------------------
Alternative physics engines:
This example requires restitution to run successfully. Only ODE's restitution
model in Gazebo has been tuned to work with this example (circa Gazebo 4.0).
Bullet's restitution model should work with few changes. It remains for
to make restitution parameters settable through API calls for Gazebo's other
supported physics engines (DART and Simbody at the time of this writing).
--------------------------------------------------
Searching for parameters:
For new physics engines- or getting existing physics working with
the Schaal juggler- it may take a parameter search to find reasonable
parameters.
Replace the text "libjuggler.so" with "libjuggler-search.so" and run the
juggler as usual- except now you will tell Gazebo to use the alternative
physics engine. For example:
$ gazebo -e dart ../juggler.world
will use the DART physics engine and attempt to find good parameter settings
for the juggler. The method used is grid search, and the search will likely take
several hours. Before running the grid search you will need to set
two environment variables:
$ export GZ_BRUTE_PARAM_FILE=params
$ export GZ_BRUTE_OUTPUT_FILE=output
The first line will tell the search the ranges and steps for the parameter
search. The second line indicates where the evaluation results should go.
The grid search will terminate Gazebo when complete. Assuming that
your file is named 'output', you will likely want to sort it to find
parameters that yield juggling, like so:
$ sort -g -k5 < output
The tail of this output should look something like this:
bounce:1:ball-geom mu:0:ball-geom limit:0.59000000000000008 period:2.2000000000000002 20000
This means that the parameters bounce=1.0, mu=0.0, limit=0.59, and
period=2.2 yielded a juggle for 20000 iterations (the maximum used in the
search). If the juggle does not last 20000 iterations, the juggling failed
some time before.