Property Control Stimulus

The property control stimuli is very similar to the property control node.  It allows you to control the property of any object within the simulation. However, instead of being driven by the neural network, the property control stimulus is set directly by the user over a given time span. You add the stimulus to any part just as you would normally. Right click on the object and select "Add stimulus." This will open the "Select stimulus" dialog. Choose the property control item. This will add the property control stimulus to the workspace. When selected it will have the properties shown in figure 1. As with any other stimulus, you can set its start and end times as needed. You can also set the value type to be constant or equation. If you select equation then you can specify a time varying equation to use for this stimulus.


Figure 1. Property stimulus properties

As with the property control node, you must set the linked object and linked property that you want to control. First, click on the linked object. This will display a tree-vew list of all objects in the system that can be controlled. Once you have selected the appropriate object then click on the linked property. It will display a list of the properties for the chosen object.

Once you have configured the object and property you want to control then there are 4 other properties that must be set to configure you stimulus. The start value is the value you want to set for the property when it is first activated. The end value is the value you want to set when the stimulus is deactivated. The stimulus value is what is used if you have specified a contact value type. If you have specified an equation type, then it will use the equation settings. Finally, you must set the threshold value. This determines how often the property is actually set for that object. Setting property values directly is a fairly expensive operation, so you do not want to do it on every time step. Instead, you can use the threshold to set a minimum change that must occur before it sets the property. If you set this to 0 then it will set the property every single time the input value changes by anything. However, if you do this then you will essentially be setting the property on every time step, and that can seriously slow down your simulation. So you need to try and set this to some reasonable value. So for example, lets say you are trying to control the visibility of an item in the simulation. You want it to be invisible unless the stimulus is on. To do this you would set the visibility of that part to be off in general. Then set the start value to be 1 and the end value to be 1, and the stimulus value to be 1, with a threshold of 0.5. This will make the part visible when the stimulus is activated, keep it visible for the duration of the stimulus, and then turn it invisible when the stimulus is deactivated.