Skip to content

Evaluation Space

Michael Dyck edited this page Sep 17, 2020 · 2 revisions

Definition of Evaluation Space

Definition of Evaluation Parameters

  • Launch the Evaluation Framework's Unity component by using the new menu item EvaluationFramework<Launch
  • A new window EvaluationParameterManager pops up. This window allows you to define the EvaluationParameters of the Evaluation Space. Besides that, a GameObject EvaluationFramework is automatically created. Do not delete this GameObject.
  • clicking the Add Parameter button creates a ScriptableObject inside a specific folder
    • the appearance of this ScriptableObject in the Inspector is modified through a CustomEditor script
  • EvaluationParameters have to be public variables of script Components of any GameObject in the scene. Currently, integer, float and boolean variables are supported. Drag and drop the Sphere GameObject into the respective space of the Inspector-window of the ScriptableObject.
  • In doing so, the inspector window lists all script Components, as well as the available public variables of the selected script Component.
  • Selecting the variable forceXMultiplier of the Movement Component as EvaluationParameter adds the possibility to specify minimum, maximum and step values for the selected paramter.
  • Specifying these values for an EvaluationParameter "spans" a vector ranging from minimum to maximum, at a given step size. This means, that for all values in this range, the Unity simulation model is simulated once later on.
  • For the parameter forceXMultiplier, specify the following values
    • Min: 0
    • Max: 20
    • Step: 5
    • [optional] Unit: N
  • This basically specifies a vector with the following elements: [0, 5, 10, 15, 20]. For all these values for the variable forceXMultiplier the Unity project will be simulated later on.
  • Subsequently hitting the Save and Add Parameter to Manager saves these settings and lists them in the aforementioned EvaluationParameterManager window.
  • Repeat this process for the variables forceJumpMultiplier and mass, using the following settings:
    • forceJumpMultiplier: Min: 0, Max: 10, Step: 2, [optional] Unit: N
    • mass: Min: 1, Max: 5, Step: 5, [optional] Unit: kg
  • Afterwards, the EvaluationParameterManager window should look like this
  • Now click the button Specify Path To Framework-Base-Folder
    • This opens the Windows popup window to select a folder
    • Select the EvaluationFramework folder on your Computer
  • Now enter any name you like that from now on is the name of the evaluation currently performed, e.g. "DemonstrationEvaluation". The name itself does not matter, but it is important that you remember it for later usage.
  • Finally, click the Save Evaluation Parameters button

Definition of Objective Values

  • Saving the EvaluationParamters automatically opens a new ObjectiveValueManager window
  • The process of selecting ObjectiveValues as public variables from any GameObject is equivalent to selecting EvaluationParamters, with the only difference that no minimum, maximum and step values have to be specified for the ObjectiveValues
  • Select the following variables of the Sphere GameObject:
    • highestPosition (Unit: m)
    • totalDistanceTravelled (Unit: m)
    • quitDueToTimeConstraint (Unit: -)
    • totalForceApplied (Unit: N)
  • Finally, your ObjectiveValueManager window should look like this
  • Click the Done Choosing Objective Values button to close the *ObjectiveValueManager window and save the paramters

Build the Project

  • Now Unity automatically focuses back to the EvaluationParamterManager window
  • Click the BuildExecutable button to build the Unity scene into an executable
  • Finally finish the process by clicking Finish Selection Process

Inspect Results of the Selection Process

If you now navigate to the Evaluations subfolder of your EvaluationFramework folder of the repository, a new folder exists with the name you specified earlier in the selection process.
Inside this folder, two JSON files (ParamterFiles\[EvaluationParameterSet.json/ObjectiveValueSet.json]) exist, specifying the previously selected Evaluation Space. Additionally, the Executables subfolder contains the built Unity project.


© Siemens AG, 2020

Author: Michael Dyck (m.dyck@gmx.net)