sierra-research 1.3.6__py3-none-any.whl → 1.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sierra/__init__.py +3 -3
- sierra/core/__init__.py +3 -3
- sierra/core/batchroot.py +223 -0
- sierra/core/cmdline.py +681 -1057
- sierra/core/compare.py +11 -0
- sierra/core/config.py +96 -88
- sierra/core/engine.py +306 -0
- sierra/core/execenv.py +380 -0
- sierra/core/expdef.py +11 -0
- sierra/core/experiment/__init__.py +1 -0
- sierra/core/experiment/bindings.py +150 -101
- sierra/core/experiment/definition.py +414 -245
- sierra/core/experiment/spec.py +83 -85
- sierra/core/exproot.py +44 -0
- sierra/core/generators/__init__.py +10 -0
- sierra/core/generators/experiment.py +528 -0
- sierra/core/generators/generator_factory.py +138 -137
- sierra/core/graphs/__init__.py +23 -0
- sierra/core/graphs/bcbridge.py +94 -0
- sierra/core/graphs/heatmap.py +245 -324
- sierra/core/graphs/pathset.py +27 -0
- sierra/core/graphs/schema.py +77 -0
- sierra/core/graphs/stacked_line.py +341 -0
- sierra/core/graphs/summary_line.py +506 -0
- sierra/core/logging.py +3 -2
- sierra/core/models/__init__.py +3 -1
- sierra/core/models/info.py +19 -0
- sierra/core/models/interface.py +52 -122
- sierra/core/pipeline/__init__.py +2 -5
- sierra/core/pipeline/pipeline.py +228 -126
- sierra/core/pipeline/stage1/__init__.py +10 -0
- sierra/core/pipeline/stage1/pipeline_stage1.py +45 -31
- sierra/core/pipeline/stage2/__init__.py +10 -0
- sierra/core/pipeline/stage2/pipeline_stage2.py +8 -11
- sierra/core/pipeline/stage2/runner.py +401 -0
- sierra/core/pipeline/stage3/__init__.py +12 -0
- sierra/core/pipeline/stage3/gather.py +321 -0
- sierra/core/pipeline/stage3/pipeline_stage3.py +37 -84
- sierra/core/pipeline/stage4/__init__.py +12 -2
- sierra/core/pipeline/stage4/pipeline_stage4.py +36 -354
- sierra/core/pipeline/stage5/__init__.py +12 -0
- sierra/core/pipeline/stage5/pipeline_stage5.py +33 -208
- sierra/core/pipeline/yaml.py +48 -0
- sierra/core/plugin.py +529 -62
- sierra/core/proc.py +11 -0
- sierra/core/prod.py +11 -0
- sierra/core/ros1/__init__.py +5 -1
- sierra/core/ros1/callbacks.py +22 -21
- sierra/core/ros1/cmdline.py +59 -88
- sierra/core/ros1/generators.py +159 -175
- sierra/core/ros1/variables/__init__.py +3 -0
- sierra/core/ros1/variables/exp_setup.py +122 -116
- sierra/core/startup.py +106 -76
- sierra/core/stat_kernels.py +4 -5
- sierra/core/storage.py +13 -32
- sierra/core/trampoline.py +30 -0
- sierra/core/types.py +116 -71
- sierra/core/utils.py +103 -106
- sierra/core/variables/__init__.py +1 -1
- sierra/core/variables/base_variable.py +12 -17
- sierra/core/variables/batch_criteria.py +387 -481
- sierra/core/variables/builtin.py +135 -0
- sierra/core/variables/exp_setup.py +19 -39
- sierra/core/variables/population_size.py +72 -76
- sierra/core/variables/variable_density.py +44 -68
- sierra/core/vector.py +1 -1
- sierra/main.py +256 -88
- sierra/plugins/__init__.py +119 -0
- sierra/plugins/compare/__init__.py +14 -0
- sierra/plugins/compare/graphs/__init__.py +19 -0
- sierra/plugins/compare/graphs/cmdline.py +120 -0
- sierra/plugins/compare/graphs/comparator.py +291 -0
- sierra/plugins/compare/graphs/inter_controller.py +531 -0
- sierra/plugins/compare/graphs/inter_scenario.py +297 -0
- sierra/plugins/compare/graphs/namecalc.py +53 -0
- sierra/plugins/compare/graphs/outputroot.py +73 -0
- sierra/plugins/compare/graphs/plugin.py +147 -0
- sierra/plugins/compare/graphs/preprocess.py +172 -0
- sierra/plugins/compare/graphs/schema.py +37 -0
- sierra/plugins/engine/__init__.py +14 -0
- sierra/plugins/engine/argos/__init__.py +18 -0
- sierra/plugins/{platform → engine}/argos/cmdline.py +144 -151
- sierra/plugins/{platform/argos/variables → engine/argos/generators}/__init__.py +5 -0
- sierra/plugins/engine/argos/generators/engine.py +394 -0
- sierra/plugins/engine/argos/plugin.py +393 -0
- sierra/plugins/{platform/argos/generators → engine/argos/variables}/__init__.py +5 -0
- sierra/plugins/engine/argos/variables/arena_shape.py +183 -0
- sierra/plugins/engine/argos/variables/cameras.py +240 -0
- sierra/plugins/engine/argos/variables/constant_density.py +112 -0
- sierra/plugins/engine/argos/variables/exp_setup.py +82 -0
- sierra/plugins/{platform → engine}/argos/variables/physics_engines.py +83 -87
- sierra/plugins/engine/argos/variables/population_constant_density.py +178 -0
- sierra/plugins/engine/argos/variables/population_size.py +115 -0
- sierra/plugins/engine/argos/variables/population_variable_density.py +123 -0
- sierra/plugins/engine/argos/variables/rendering.py +108 -0
- sierra/plugins/engine/ros1gazebo/__init__.py +18 -0
- sierra/plugins/engine/ros1gazebo/cmdline.py +175 -0
- sierra/plugins/{platform/ros1robot → engine/ros1gazebo}/generators/__init__.py +5 -0
- sierra/plugins/engine/ros1gazebo/generators/engine.py +125 -0
- sierra/plugins/engine/ros1gazebo/plugin.py +404 -0
- sierra/plugins/engine/ros1gazebo/variables/__init__.py +15 -0
- sierra/plugins/engine/ros1gazebo/variables/population_size.py +214 -0
- sierra/plugins/engine/ros1robot/__init__.py +18 -0
- sierra/plugins/engine/ros1robot/cmdline.py +159 -0
- sierra/plugins/{platform/ros1gazebo → engine/ros1robot}/generators/__init__.py +4 -0
- sierra/plugins/engine/ros1robot/generators/engine.py +95 -0
- sierra/plugins/engine/ros1robot/plugin.py +410 -0
- sierra/plugins/{hpc/local → engine/ros1robot/variables}/__init__.py +5 -0
- sierra/plugins/engine/ros1robot/variables/population_size.py +146 -0
- sierra/plugins/execenv/__init__.py +11 -0
- sierra/plugins/execenv/hpc/__init__.py +18 -0
- sierra/plugins/execenv/hpc/adhoc/__init__.py +18 -0
- sierra/plugins/execenv/hpc/adhoc/cmdline.py +30 -0
- sierra/plugins/execenv/hpc/adhoc/plugin.py +131 -0
- sierra/plugins/execenv/hpc/cmdline.py +137 -0
- sierra/plugins/execenv/hpc/local/__init__.py +18 -0
- sierra/plugins/execenv/hpc/local/cmdline.py +31 -0
- sierra/plugins/execenv/hpc/local/plugin.py +145 -0
- sierra/plugins/execenv/hpc/pbs/__init__.py +18 -0
- sierra/plugins/execenv/hpc/pbs/cmdline.py +30 -0
- sierra/plugins/execenv/hpc/pbs/plugin.py +121 -0
- sierra/plugins/execenv/hpc/slurm/__init__.py +18 -0
- sierra/plugins/execenv/hpc/slurm/cmdline.py +30 -0
- sierra/plugins/execenv/hpc/slurm/plugin.py +133 -0
- sierra/plugins/execenv/prefectserver/__init__.py +18 -0
- sierra/plugins/execenv/prefectserver/cmdline.py +66 -0
- sierra/plugins/execenv/prefectserver/dockerremote/__init__.py +18 -0
- sierra/plugins/execenv/prefectserver/dockerremote/cmdline.py +66 -0
- sierra/plugins/execenv/prefectserver/dockerremote/plugin.py +132 -0
- sierra/plugins/execenv/prefectserver/flow.py +66 -0
- sierra/plugins/execenv/prefectserver/local/__init__.py +18 -0
- sierra/plugins/execenv/prefectserver/local/cmdline.py +29 -0
- sierra/plugins/execenv/prefectserver/local/plugin.py +133 -0
- sierra/plugins/{hpc/adhoc → execenv/robot}/__init__.py +1 -0
- sierra/plugins/execenv/robot/turtlebot3/__init__.py +18 -0
- sierra/plugins/execenv/robot/turtlebot3/plugin.py +204 -0
- sierra/plugins/expdef/__init__.py +14 -0
- sierra/plugins/expdef/json/__init__.py +14 -0
- sierra/plugins/expdef/json/plugin.py +504 -0
- sierra/plugins/expdef/xml/__init__.py +14 -0
- sierra/plugins/expdef/xml/plugin.py +386 -0
- sierra/{core/hpc → plugins/proc}/__init__.py +1 -1
- sierra/plugins/proc/collate/__init__.py +15 -0
- sierra/plugins/proc/collate/cmdline.py +47 -0
- sierra/plugins/proc/collate/plugin.py +271 -0
- sierra/plugins/proc/compress/__init__.py +18 -0
- sierra/plugins/proc/compress/cmdline.py +47 -0
- sierra/plugins/proc/compress/plugin.py +123 -0
- sierra/plugins/proc/decompress/__init__.py +18 -0
- sierra/plugins/proc/decompress/plugin.py +96 -0
- sierra/plugins/proc/imagize/__init__.py +15 -0
- sierra/plugins/proc/imagize/cmdline.py +49 -0
- sierra/plugins/proc/imagize/plugin.py +270 -0
- sierra/plugins/proc/modelrunner/__init__.py +16 -0
- sierra/plugins/proc/modelrunner/plugin.py +250 -0
- sierra/plugins/proc/statistics/__init__.py +15 -0
- sierra/plugins/proc/statistics/cmdline.py +64 -0
- sierra/plugins/proc/statistics/plugin.py +390 -0
- sierra/plugins/{hpc → prod}/__init__.py +1 -0
- sierra/plugins/prod/graphs/__init__.py +18 -0
- sierra/plugins/prod/graphs/cmdline.py +269 -0
- sierra/plugins/prod/graphs/collate.py +279 -0
- sierra/plugins/prod/graphs/inter/__init__.py +13 -0
- sierra/plugins/prod/graphs/inter/generate.py +83 -0
- sierra/plugins/prod/graphs/inter/heatmap.py +86 -0
- sierra/plugins/prod/graphs/inter/line.py +134 -0
- sierra/plugins/prod/graphs/intra/__init__.py +15 -0
- sierra/plugins/prod/graphs/intra/generate.py +202 -0
- sierra/plugins/prod/graphs/intra/heatmap.py +74 -0
- sierra/plugins/prod/graphs/intra/line.py +114 -0
- sierra/plugins/prod/graphs/plugin.py +103 -0
- sierra/plugins/prod/graphs/targets.py +63 -0
- sierra/plugins/prod/render/__init__.py +18 -0
- sierra/plugins/prod/render/cmdline.py +72 -0
- sierra/plugins/prod/render/plugin.py +282 -0
- sierra/plugins/storage/__init__.py +5 -0
- sierra/plugins/storage/arrow/__init__.py +18 -0
- sierra/plugins/storage/arrow/plugin.py +38 -0
- sierra/plugins/storage/csv/__init__.py +9 -0
- sierra/plugins/storage/csv/plugin.py +12 -5
- sierra/version.py +3 -2
- sierra_research-1.5.0.dist-info/METADATA +238 -0
- sierra_research-1.5.0.dist-info/RECORD +186 -0
- {sierra_research-1.3.6.dist-info → sierra_research-1.5.0.dist-info}/WHEEL +1 -2
- sierra/core/experiment/xml.py +0 -454
- sierra/core/generators/controller_generator_parser.py +0 -34
- sierra/core/generators/exp_creator.py +0 -351
- sierra/core/generators/exp_generators.py +0 -142
- sierra/core/graphs/scatterplot2D.py +0 -109
- sierra/core/graphs/stacked_line_graph.py +0 -249
- sierra/core/graphs/stacked_surface_graph.py +0 -220
- sierra/core/graphs/summary_line_graph.py +0 -369
- sierra/core/hpc/cmdline.py +0 -142
- sierra/core/models/graphs.py +0 -87
- sierra/core/pipeline/stage2/exp_runner.py +0 -286
- sierra/core/pipeline/stage3/imagizer.py +0 -149
- sierra/core/pipeline/stage3/run_collator.py +0 -317
- sierra/core/pipeline/stage3/statistics_calculator.py +0 -478
- sierra/core/pipeline/stage4/graph_collator.py +0 -319
- sierra/core/pipeline/stage4/inter_exp_graph_generator.py +0 -240
- sierra/core/pipeline/stage4/intra_exp_graph_generator.py +0 -317
- sierra/core/pipeline/stage4/model_runner.py +0 -168
- sierra/core/pipeline/stage4/rendering.py +0 -283
- sierra/core/pipeline/stage4/yaml_config_loader.py +0 -103
- sierra/core/pipeline/stage5/inter_scenario_comparator.py +0 -328
- sierra/core/pipeline/stage5/intra_scenario_comparator.py +0 -989
- sierra/core/platform.py +0 -493
- sierra/core/plugin_manager.py +0 -369
- sierra/core/root_dirpath_generator.py +0 -241
- sierra/plugins/hpc/adhoc/plugin.py +0 -125
- sierra/plugins/hpc/local/plugin.py +0 -81
- sierra/plugins/hpc/pbs/__init__.py +0 -9
- sierra/plugins/hpc/pbs/plugin.py +0 -126
- sierra/plugins/hpc/slurm/__init__.py +0 -9
- sierra/plugins/hpc/slurm/plugin.py +0 -130
- sierra/plugins/platform/__init__.py +0 -9
- sierra/plugins/platform/argos/__init__.py +0 -9
- sierra/plugins/platform/argos/generators/platform_generators.py +0 -383
- sierra/plugins/platform/argos/plugin.py +0 -337
- sierra/plugins/platform/argos/variables/arena_shape.py +0 -145
- sierra/plugins/platform/argos/variables/cameras.py +0 -243
- sierra/plugins/platform/argos/variables/constant_density.py +0 -136
- sierra/plugins/platform/argos/variables/exp_setup.py +0 -113
- sierra/plugins/platform/argos/variables/population_constant_density.py +0 -175
- sierra/plugins/platform/argos/variables/population_size.py +0 -102
- sierra/plugins/platform/argos/variables/population_variable_density.py +0 -132
- sierra/plugins/platform/argos/variables/rendering.py +0 -104
- sierra/plugins/platform/ros1gazebo/__init__.py +0 -9
- sierra/plugins/platform/ros1gazebo/cmdline.py +0 -213
- sierra/plugins/platform/ros1gazebo/generators/platform_generators.py +0 -137
- sierra/plugins/platform/ros1gazebo/plugin.py +0 -335
- sierra/plugins/platform/ros1gazebo/variables/__init__.py +0 -10
- sierra/plugins/platform/ros1gazebo/variables/population_size.py +0 -204
- sierra/plugins/platform/ros1robot/__init__.py +0 -9
- sierra/plugins/platform/ros1robot/cmdline.py +0 -175
- sierra/plugins/platform/ros1robot/generators/platform_generators.py +0 -112
- sierra/plugins/platform/ros1robot/plugin.py +0 -373
- sierra/plugins/platform/ros1robot/variables/__init__.py +0 -10
- sierra/plugins/platform/ros1robot/variables/population_size.py +0 -146
- sierra/plugins/robot/__init__.py +0 -9
- sierra/plugins/robot/turtlebot3/__init__.py +0 -9
- sierra/plugins/robot/turtlebot3/plugin.py +0 -194
- sierra_research-1.3.6.data/data/share/man/man1/sierra-cli.1 +0 -2349
- sierra_research-1.3.6.data/data/share/man/man7/sierra-examples.7 +0 -488
- sierra_research-1.3.6.data/data/share/man/man7/sierra-exec-envs.7 +0 -331
- sierra_research-1.3.6.data/data/share/man/man7/sierra-glossary.7 +0 -285
- sierra_research-1.3.6.data/data/share/man/man7/sierra-platforms.7 +0 -358
- sierra_research-1.3.6.data/data/share/man/man7/sierra-usage.7 +0 -725
- sierra_research-1.3.6.data/data/share/man/man7/sierra.7 +0 -78
- sierra_research-1.3.6.dist-info/METADATA +0 -500
- sierra_research-1.3.6.dist-info/RECORD +0 -133
- sierra_research-1.3.6.dist-info/top_level.txt +0 -1
- {sierra_research-1.3.6.dist-info → sierra_research-1.5.0.dist-info}/entry_points.txt +0 -0
- {sierra_research-1.3.6.dist-info → sierra_research-1.5.0.dist-info/licenses}/LICENSE +0 -0
@@ -1,358 +0,0 @@
|
|
1
|
-
.\" Man page generated from reStructuredText.
|
2
|
-
.
|
3
|
-
.
|
4
|
-
.nr rst2man-indent-level 0
|
5
|
-
.
|
6
|
-
.de1 rstReportMargin
|
7
|
-
\\$1 \\n[an-margin]
|
8
|
-
level \\n[rst2man-indent-level]
|
9
|
-
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
10
|
-
-
|
11
|
-
\\n[rst2man-indent0]
|
12
|
-
\\n[rst2man-indent1]
|
13
|
-
\\n[rst2man-indent2]
|
14
|
-
..
|
15
|
-
.de1 INDENT
|
16
|
-
.\" .rstReportMargin pre:
|
17
|
-
. RS \\$1
|
18
|
-
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
19
|
-
. nr rst2man-indent-level +1
|
20
|
-
.\" .rstReportMargin post:
|
21
|
-
..
|
22
|
-
.de UNINDENT
|
23
|
-
. RE
|
24
|
-
.\" indent \\n[an-margin]
|
25
|
-
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
26
|
-
.nr rst2man-indent-level -1
|
27
|
-
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
28
|
-
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
29
|
-
..
|
30
|
-
.TH "SIERRA-PLATFORMS" "7" "Apr 01, 2024" "1.3.6" "SIERRA"
|
31
|
-
.SH NAME
|
32
|
-
sierra-platforms \- The platforms SIERRA supports, and platform-specific Batch Criteria.
|
33
|
-
.SH ARGOS PLATFORM
|
34
|
-
.sp
|
35
|
-
This platform can be selected via \fB\-\-platform=platform.argos\fP\&.
|
36
|
-
.sp
|
37
|
-
This is the default platform on which SIERRA will run experiments, and uses the
|
38
|
-
\fI\%ARGoS\fP simulator. It cannot be used to run experiments on real robots.
|
39
|
-
.SS Batch Criteria
|
40
|
-
.sp
|
41
|
-
See \fI\%Batch Criteria\fP for a thorough explanation of batch criteria, but the
|
42
|
-
short version is that they are the core of SIERRA\-\-how to get it to DO stuff for
|
43
|
-
you. The following batch criteria are defined which can be used with any
|
44
|
-
\fI\%Project\fP\&.
|
45
|
-
.INDENT 0.0
|
46
|
-
.IP \(bu 2
|
47
|
-
\fI\%Population Size\fP
|
48
|
-
.IP \(bu 2
|
49
|
-
\fI\%Constant Population Density\fP
|
50
|
-
.IP \(bu 2
|
51
|
-
\fI\%Variable Population Density\fP
|
52
|
-
.UNINDENT
|
53
|
-
.SS Population Size
|
54
|
-
.sp
|
55
|
-
Changing the population size to investigate behavior across scales within a
|
56
|
-
static arena size (i.e., variable density). This criteria is functionally
|
57
|
-
identical to \fI\%Variable Population Density\fP in
|
58
|
-
terms of changes to the template XML file, but has a different semantic meaning
|
59
|
-
which can make generated deliverables more immediately understandable, depending
|
60
|
-
on the context of what is being investigated (e.g., population size
|
61
|
-
vs. population density on the X axis).
|
62
|
-
.SS Cmdline Syntax
|
63
|
-
.sp
|
64
|
-
\fBpopulation_size.{model}{N}[.C{cardinality}]\fP
|
65
|
-
.INDENT 0.0
|
66
|
-
.IP \(bu 2
|
67
|
-
\fBmodel\fP \- The population size model to use.
|
68
|
-
.INDENT 2.0
|
69
|
-
.IP \(bu 2
|
70
|
-
\fBLog\fP \- Population sizes for each experiment are distributed 1...N by
|
71
|
-
powers of 2.
|
72
|
-
.IP \(bu 2
|
73
|
-
\fBLinear\fP \- Population sizes for each experiment are distributed linearly
|
74
|
-
between 1...N, split evenly into 10 different sizes.
|
75
|
-
.UNINDENT
|
76
|
-
.IP \(bu 2
|
77
|
-
\fBN\fP \- The maximum population size.
|
78
|
-
.IP \(bu 2
|
79
|
-
\fBcardinality\fP \- If the model is \fBLinear\fP, then this can be used
|
80
|
-
to specify how many experiments to generate; i.e, it defines the \fIsize\fP of the
|
81
|
-
linear increment. Defaults to 10 if omitted.
|
82
|
-
.UNINDENT
|
83
|
-
.SS Examples
|
84
|
-
.INDENT 0.0
|
85
|
-
.IP \(bu 2
|
86
|
-
\fBpopulation_size.Log1024\fP: Static population sizes 1...1024
|
87
|
-
.IP \(bu 2
|
88
|
-
\fBpopulation_size.Linear1000\fP: Static population sizes 100...1000 (10)
|
89
|
-
.IP \(bu 2
|
90
|
-
\fBpopulation_size.Linear3.C3\fP: Static population sizes 1...3 (3)
|
91
|
-
.IP \(bu 2
|
92
|
-
\fBpopulation_size.Linear10.C2\fP: Static population sizes 5...10 (2)
|
93
|
-
.UNINDENT
|
94
|
-
.SS Constant Population Density
|
95
|
-
.sp
|
96
|
-
Changing the population size and arena size together to maintain the same population
|
97
|
-
size/arena size ratio to investigate behavior across scales.
|
98
|
-
.sp
|
99
|
-
\fBNOTE:\fP
|
100
|
-
.INDENT 0.0
|
101
|
-
.INDENT 3.5
|
102
|
-
This criteria is for \fIconstant\fP density of robots as population sizes
|
103
|
-
increase. For \fIvariable\fP robot density, use
|
104
|
-
\fI\%Population Size\fP or
|
105
|
-
\fI\%Variable Population Density\fP\&.
|
106
|
-
.UNINDENT
|
107
|
-
.UNINDENT
|
108
|
-
.SS Cmdline Syntax
|
109
|
-
.sp
|
110
|
-
\fBpopulation_constant_density.{density}.I{Arena Size Increment}.C{cardinality}\fP
|
111
|
-
.INDENT 0.0
|
112
|
-
.IP \(bu 2
|
113
|
-
\fBdensity\fP \- <integer>p<integer> (i.e. 5p0 for 5.0)
|
114
|
-
.IP \(bu 2
|
115
|
-
\fBArena Size Increment\fP \- Size in meters that the X and Y dimensions should
|
116
|
-
increase by in between experiments. Larger values here will result in larger
|
117
|
-
arenas and more robots being simulated at a given density. Must be an integer.
|
118
|
-
.IP \(bu 2
|
119
|
-
\fBcardinality\fP How many experiments should be generated?
|
120
|
-
.UNINDENT
|
121
|
-
.SS Examples
|
122
|
-
.INDENT 0.0
|
123
|
-
.IP \(bu 2
|
124
|
-
\fBpopulation_constant_density.1p0.I16.C4\fP: Constant density of 1.0. Arena
|
125
|
-
dimensions will increase by 16 in both X and Y for each experiment in the
|
126
|
-
batch (4 total).
|
127
|
-
.UNINDENT
|
128
|
-
.SS Variable Population Density
|
129
|
-
.sp
|
130
|
-
Changing the population size to investigate behavior across scales within a
|
131
|
-
static arena size. This criteria is functionally identical to
|
132
|
-
\fI\%Population Size\fP in terms of changes to the
|
133
|
-
template XML file, but has a different semantic meaning which can make generated
|
134
|
-
deliverables more immediately understandable, depending on the context of what
|
135
|
-
is being investigated (e.g., population density vs. population size on the X
|
136
|
-
axis).
|
137
|
-
.sp
|
138
|
-
\fBNOTE:\fP
|
139
|
-
.INDENT 0.0
|
140
|
-
.INDENT 3.5
|
141
|
-
This criteria is for \fIvariable\fP density of robots as population sizes
|
142
|
-
increase. For \fIconstant\fP robot density, use
|
143
|
-
\fI\%Constant Population Density\fP\&.
|
144
|
-
.UNINDENT
|
145
|
-
.UNINDENT
|
146
|
-
.SS Cmdline Syntax
|
147
|
-
.sp
|
148
|
-
\fBpopulation_variable_density.{density_min}.{density_max}.C{cardinality}\fP
|
149
|
-
.INDENT 0.0
|
150
|
-
.IP \(bu 2
|
151
|
-
\fBdensity_min\fP \- <integer>p<integer> (i.e. 5p0 for 5.0)
|
152
|
-
.IP \(bu 2
|
153
|
-
\fBdensity_max\fP \- <integer>p<integer> (i.e. 5p0 for 5.0)
|
154
|
-
.IP \(bu 2
|
155
|
-
\fBcardinality\fP How many experiments should be generated? Densities for each
|
156
|
-
experiment will be linearly spaced between the min and max densities.
|
157
|
-
.UNINDENT
|
158
|
-
.SS Examples
|
159
|
-
.INDENT 0.0
|
160
|
-
.IP \(bu 2
|
161
|
-
\fBpopulation_variable_density.1p0.4p0.C4\fP: Densities of 1.0,2.0,3.0,4.0.
|
162
|
-
.UNINDENT
|
163
|
-
.SS Environment Variables
|
164
|
-
.sp
|
165
|
-
This platform respects \fI\%SIERRA_ARCH\fP\&.
|
166
|
-
.SS Random Seeding For Reproducibility
|
167
|
-
.sp
|
168
|
-
ARGoS provides its own random seed mechanism under \fB<experiment>\fP which SIERRA
|
169
|
-
uses to seed each experiment. \fI\%Project\fP code should use this mechanism or
|
170
|
-
a similar random seed generator manager seeded by the same value so that
|
171
|
-
experiments can be reproduced exactly. By default SIERRA does not overwrite its
|
172
|
-
generated random seeds for each experiment once generated; you can override with
|
173
|
-
\fB\-\-no\-preserve\-seeds\fP\&. See ln\-sierra\-tutorials\-project\-template\-input\-file and
|
174
|
-
\fI\%Experimental Definition Requirements\fP for details on the format of the provided seed.
|
175
|
-
.SH ROS1+GAZEBO PLATFORM
|
176
|
-
.sp
|
177
|
-
This platform can be selected via \fB\-\-platform=platform.ros1gazebo\fP\&.
|
178
|
-
.sp
|
179
|
-
This is the platform on which SIERRA will run experiments using the
|
180
|
-
\fI\%Gazebo\fP simulator and \fI\%ROS1\fP\&. It cannot be used to run
|
181
|
-
experiments on real robots. To use this platform, you must setup the
|
182
|
-
\fI\%SIERRA ROSBridge\fP\&.
|
183
|
-
.sp
|
184
|
-
Worlds within ROS1+Gazebo are infinite from the perspective of physics engines,
|
185
|
-
even though a finite area shows up in rendering. So, to place robots randomly in
|
186
|
-
the arena at the start of simulation across \fI\%Experimental Runs\fP (if you want to do that) \(dqdimensions\(dq for a given world must
|
187
|
-
be specified as part of the \fB\-\-scenario\fP argument. If you don\(aqt specify
|
188
|
-
dimensions as part of the \fB\-\-scenario\fP argument, then you need to supply a
|
189
|
-
list of valid robot positions via \fB\-\-robot\-positions\fP which SIERRA will choose
|
190
|
-
from randomly for each robot.
|
191
|
-
.SS Batch Criteria
|
192
|
-
.sp
|
193
|
-
See \fI\%Batch Criteria\fP for a thorough explanation of batch criteria, but the
|
194
|
-
short version is that they are the core of SIERRA\-\-how to get it to DO stuff for
|
195
|
-
you. The following batch criteria are defined which can be used with any
|
196
|
-
\fI\%Project\fP\&.
|
197
|
-
.INDENT 0.0
|
198
|
-
.IP \(bu 2
|
199
|
-
\fI\%System Population Size\fP
|
200
|
-
.UNINDENT
|
201
|
-
.SS System Population Size
|
202
|
-
.sp
|
203
|
-
Changing the system size to investigate behavior across scales within a static
|
204
|
-
arena size (i.e., variable density). Systems are homogeneous.
|
205
|
-
.SS Cmdline Syntax
|
206
|
-
.sp
|
207
|
-
\fBpopulation_size.{model}{N}[.C{cardinality}]\fP
|
208
|
-
.INDENT 0.0
|
209
|
-
.IP \(bu 2
|
210
|
-
\fBmodel\fP \- The population size model to use.
|
211
|
-
.INDENT 2.0
|
212
|
-
.IP \(bu 2
|
213
|
-
\fBLog\fP \- Population sizes for each experiment are distributed 1...N by
|
214
|
-
powers of 2.
|
215
|
-
.IP \(bu 2
|
216
|
-
\fBLinear\fP \- Population sizes for each experiment are distributed linearly
|
217
|
-
between 1...N, split evenly into 10 different sizes.
|
218
|
-
.UNINDENT
|
219
|
-
.IP \(bu 2
|
220
|
-
\fBN\fP \- The maximum population size.
|
221
|
-
.IP \(bu 2
|
222
|
-
\fBcardinality\fP \- If the model is \fBLinear\fP, then this can be used
|
223
|
-
to specify how many experiments to generate; i.e, it defines the \fIsize\fP of the
|
224
|
-
linear increment. Defaults to 10 if omitted.
|
225
|
-
.UNINDENT
|
226
|
-
.SS Examples
|
227
|
-
.INDENT 0.0
|
228
|
-
.IP \(bu 2
|
229
|
-
\fBpopulation_size.Log1024\fP: Static population sizes 1...1024
|
230
|
-
.IP \(bu 2
|
231
|
-
\fBpopulation_size.Linear1000\fP: Static population sizes 100...1000 (10)
|
232
|
-
.IP \(bu 2
|
233
|
-
\fBpopulation_size.Linear3.C3\fP: Static population sizes 1...3 (3)
|
234
|
-
.IP \(bu 2
|
235
|
-
\fBpopulation_size.Linear10.C2\fP: Static population sizes 5...10 (2)
|
236
|
-
.UNINDENT
|
237
|
-
.SS Environment Variables
|
238
|
-
.sp
|
239
|
-
This platform ignores \fI\%SIERRA_ARCH\fP\&.
|
240
|
-
.SS Random Seeding For Reproducibility
|
241
|
-
.sp
|
242
|
-
ROS1+Gazebo do not provide a random number generator manager, but SIERRA
|
243
|
-
provides random seeds to each \fI\%Experimental Run\fP which \fI\%Project\fP
|
244
|
-
code should use to manage random number generation, if needed, to maximize
|
245
|
-
reproducability. See ln\-sierra\-tutorials\-project\-template\-input\-file and
|
246
|
-
\fI\%Experimental Definition Requirements\fP for details on the format of the provided seed. By default
|
247
|
-
SIERRA does not overwrite its generated random seeds for each experiment once
|
248
|
-
generated; you can override with \fB\-\-no\-preserve\-seeds\fP\&.
|
249
|
-
.SH ROS1+ROBOT PLATFORM
|
250
|
-
.sp
|
251
|
-
This platform can be selected via \fB\-\-platform=platform.ros1robot\fP\&.
|
252
|
-
.sp
|
253
|
-
This is the platform on which SIERRA will run experiments using \fI\%ROS1\fP on
|
254
|
-
a real robot of your choice. To use this platform, you must setup the
|
255
|
-
\fI\%SIERRA ROSBridge\fP\&. This is a generic
|
256
|
-
platform meant to work with most real robots which \fI\%ROS1\fP supports, and as
|
257
|
-
a starting point to derive more specific platform configuration for a given
|
258
|
-
robot (if needed). For all execution environments using this platform (see
|
259
|
-
\fI\%Real Robot Execution Environment Plugins\fP for examples), SIERRA will run experiments
|
260
|
-
spread across multiple robots using GNU parallel.
|
261
|
-
.sp
|
262
|
-
SIERRA designates the host machine as the ROS master, and allows you to
|
263
|
-
(optionally) specify configuration for running one or more nodes on it in the
|
264
|
-
\fB\-\-template\-input\-file\fP to gather data from robots (see below). This is
|
265
|
-
helpful in some situations (e.g., simple robots which can\(aqt manage network
|
266
|
-
mounted filesystems).
|
267
|
-
.SS Batch Criteria
|
268
|
-
.sp
|
269
|
-
See \fI\%Batch Criteria\fP for a thorough explanation of batch criteria, but the
|
270
|
-
short version is that they are the core of SIERRA\-\-how to get it to DO stuff for
|
271
|
-
you. The following batch criteria are defined which can be used with any
|
272
|
-
\fI\%Project\fP\&.
|
273
|
-
.INDENT 0.0
|
274
|
-
.IP \(bu 2
|
275
|
-
\fI\%System Population Size\fP
|
276
|
-
.UNINDENT
|
277
|
-
.SS System Population Size
|
278
|
-
.sp
|
279
|
-
Changing the system size to investigate behavior across scales within a static
|
280
|
-
arena size (i.e., variable density). Systems are homogeneous.
|
281
|
-
.sp
|
282
|
-
\fBpopulation_size.{model}{N}[.C{cardinality}]\fP
|
283
|
-
.INDENT 0.0
|
284
|
-
.IP \(bu 2
|
285
|
-
\fBmodel\fP \- The population size model to use.
|
286
|
-
.INDENT 2.0
|
287
|
-
.IP \(bu 2
|
288
|
-
\fBLog\fP \- Population sizes for each experiment are distributed 1...N by
|
289
|
-
powers of 2.
|
290
|
-
.IP \(bu 2
|
291
|
-
\fBLinear\fP \- Population sizes for each experiment are distributed linearly
|
292
|
-
between 1...N, split evenly into 10 different sizes.
|
293
|
-
.UNINDENT
|
294
|
-
.IP \(bu 2
|
295
|
-
\fBN\fP \- The maximum population size.
|
296
|
-
.IP \(bu 2
|
297
|
-
\fBcardinality\fP \- If the model is \fBLinear\fP, then this can be used
|
298
|
-
to specify how many experiments to generate; i.e, it defines the \fIsize\fP of the
|
299
|
-
linear increment. Defaults to 10 if omitted.
|
300
|
-
.UNINDENT
|
301
|
-
.SS Examples
|
302
|
-
.INDENT 0.0
|
303
|
-
.IP \(bu 2
|
304
|
-
\fBpopulation_size.Log1024\fP: Static population sizes 1...1024
|
305
|
-
.IP \(bu 2
|
306
|
-
\fBpopulation_size.Linear1000\fP: Static population sizes 100...1000 (10)
|
307
|
-
.IP \(bu 2
|
308
|
-
\fBpopulation_size.Linear3.C3\fP: Static population sizes 1...3 (3)
|
309
|
-
.IP \(bu 2
|
310
|
-
\fBpopulation_size.Linear10.C2\fP: Static population sizes 5...10 (2)
|
311
|
-
.UNINDENT
|
312
|
-
.SS Environment Variables
|
313
|
-
.sp
|
314
|
-
This platform ignores \fI\%SIERRA_ARCH\fP\&.
|
315
|
-
.SS Random Seeding For Reproducibility
|
316
|
-
.sp
|
317
|
-
ROS do not provide a random number generator manager, but SIERRA provides random
|
318
|
-
seeds to each \fI\%Experimental Run\fP which \fI\%Project\fP code should use to
|
319
|
-
manage random number generation, if needed, to maximize reproducability. See
|
320
|
-
ln\-sierra\-tutorials\-project\-template\-input\-file and
|
321
|
-
\fI\%Experimental Definition Requirements\fP for details on the format of the provided seed. By
|
322
|
-
default SIERRA does not overwrite its generated random seeds for each experiment
|
323
|
-
once generated; you can override with \fB\-\-no\-preserve\-seeds\fP\&.
|
324
|
-
.SS Real Robot Considerations
|
325
|
-
.sp
|
326
|
-
SIERRA makes the following assumptions about the robots it is allocated each
|
327
|
-
invocation:
|
328
|
-
.INDENT 0.0
|
329
|
-
.IP \(bu 2
|
330
|
-
No robots will die/run out of battery during an \fI\%Experimental Run\fP\&.
|
331
|
-
.IP \(bu 2
|
332
|
-
Password\-less ssh is setup to each robot SIERRA is handed to use (can be as a
|
333
|
-
different user than the one which is invoking SIERRA on the host machine).
|
334
|
-
.IP \(bu 2
|
335
|
-
The robots have static IP addresses, or are always allocated an IP from a
|
336
|
-
known set so you can pass the set of IPs to SIERRA to use. This set of IP
|
337
|
-
address/hostnames can be explicitly passed to SIERRA via cmdline (see
|
338
|
-
\fI\%Command Line Interface\fP) or implicitly passed via
|
339
|
-
\fI\%SIERRA_NODEFILE\fP\&.
|
340
|
-
.IP \(bu 2
|
341
|
-
The ROS environment is setup either in the .bashrc for the robot login user,
|
342
|
-
or the necessary bits are in a script which SIERRA sources on login to each
|
343
|
-
robot (this is a configuration parameter\-\-see
|
344
|
-
ln\-sierra\-tutorials\-project\-main\-config).
|
345
|
-
.IP \(bu 2
|
346
|
-
ROS does not provide a way to say \(dqRun this experiment for X seconds\(dq, so
|
347
|
-
SIERRA inserts its own timekeeper node into each robot which will exit after X
|
348
|
-
seconds and take the roslaunch process with it on each robot and/or the master
|
349
|
-
node.
|
350
|
-
.UNINDENT
|
351
|
-
.sp
|
352
|
-
See also \fI\%ROS1+Robot Platform\fP\&.
|
353
|
-
.SH AUTHOR
|
354
|
-
John Harwell
|
355
|
-
.SH COPYRIGHT
|
356
|
-
2022, John Harwell
|
357
|
-
.\" Generated by docutils manpage writer.
|
358
|
-
.
|