gym_ignition.randomizers.model

gym_ignition.randomizers.model.sdf

class gym_ignition.randomizers.model.sdf.Distribution(value)

Bases: enum.Enum

An enumeration.

Gaussian = 2
Uniform = 1
class gym_ignition.randomizers.model.sdf.GaussianParams(variance, mean)

Bases: NamedTuple

mean: float

Alias for field number 1

variance: float

Alias for field number 0

class gym_ignition.randomizers.model.sdf.Method(value)

Bases: enum.Enum

An enumeration.

Absolute = 1
Additive = 2
Coefficient = 3
class gym_ignition.randomizers.model.sdf.RandomizationData(xpath, distribution, parameters, method, ignore_zeros, force_positive, element)

Bases: NamedTuple

distribution: str

Alias for field number 1

element: lxml.etree.Element

Alias for field number 6

force_positive: bool

Alias for field number 5

ignore_zeros: bool

Alias for field number 4

method: gym_ignition.randomizers.model.sdf.Method

Alias for field number 3

parameters: Union[gym_ignition.randomizers.model.sdf.UniformParams, gym_ignition.randomizers.model.sdf.GaussianParams]

Alias for field number 2

xpath: str

Alias for field number 0

class gym_ignition.randomizers.model.sdf.RandomizationDataBuilder(randomizer)

Bases: object

Builder class of a RandomizationData object.

Parameters

randomizer (SDFRandomizer) – The SDFRandomizer object to which the created randomization will be inserted.

add()

Close the chaining of methods and return to the SDF randomizer the configuration.

Raises

RuntimeError – If the XPath pattern does not find any match in the SDF.

Return type

None

at_xpath(xpath)

Set the XPath pattern associated to the randomization.

Parameters

xpath (str) – The XPath pattern.

Return type

RandomizationDataBuilder

Returns

The randomization builder to allow chaining methods.

force_positive(force_positive=True)

Force the randomized value to be greater than zero.

This option is helpful to enforce that values e.g. the mass will stay positive regardless of the applied distribution parameters.

Parameters

force_positive (bool) – True to force positive parameters, false otherwise.

Return type

RandomizationDataBuilder

Returns

The randomization builder to allow chaining methods.

ignore_zeros(ignore_zeros)

Ignore the randomization of values that are zero.

If the value to randomize has a default value of 0 in the SDF, when this method is chained the randomization is skipped. In the case of a multi-match XPath pattern, the values that are not zero are not skipped.

Parameters

ignore_zeros (bool) – True if zeros should be ignored, false otherwise.

Return type

RandomizationDataBuilder

Returns

The randomization builder to allow chaining methods.

method(method)

Set the randomization method.

Parameters

method (Method) – The desired randomization method.

Return type

RandomizationDataBuilder

Returns

The randomization builder to allow chaining methods.

sampled_from(distribution, parameters)

Set the distribution associated to the randomization.

Parameters
Return type

RandomizationDataBuilder

Returns

The randomization builder to allow chaining methods.

class gym_ignition.randomizers.model.sdf.SDFRandomizer(sdf_model)

Bases: object

Randomized SDF files generator.

Parameters

sdf_model (str) – The absolute path to the SDF file.

Raises

ValueError – If the SDF file does not exist.

clean()

Clean the SDF randomizer.

Return type

None

find_xpath(xpath)

Find the elements that match an XPath pattern.

This method could be helpful to test the matches of a XPath pattern before using it in at_xpath().

Parameters

xpath (str) – The XPath pattern.

Return type

List[Element]

Returns

A list of elements matching the XPath pattern.

get_active_randomizations()

Return the active randomizations.

This method could be helpful also in the case of multi-match XPath patterns to validate that the inserted randomizations have been processed correctly.

Return type

List[RandomizationData]

Returns

The list of the active randomizations.

insert(randomization_data)

Insert a randomization.

Parameters

randomization_data – A new randomization.

Return type

None

new_randomization()

Start the chaining to build a new randomization.

Return type

RandomizationDataBuilder

Returns

A randomization builder.

process_data()

Process all the inserted randomizations.

Raises

RuntimeError – If the XPath of a randomization has no matches.

Return type

None

sample(pretty_print=False)

Sample a randomized SDF string.

Parameters

pretty_print – True to pretty print the output.

Raises
  • ValueError – If the distribution of a randomization is not recognized.

  • ValueError – If the method of a randomization is not recognized.

Return type

str

Returns

The randomized model as SDF string.

seed(seed)

Seed the SDF randomizer.

Parameters

seed (int) – The seed number.

Return type

None

class gym_ignition.randomizers.model.sdf.UniformParams(low, high)

Bases: NamedTuple

high: float

Alias for field number 1

low: float

Alias for field number 0