ScriptController
Controller defined through a Lua script.
Runs the script defined in the file defined by script_file
, which is relative to the folder of the scone scenario:
ScriptController { script_file = "data/script_file.lua" external_files = [ "data/my_included_file.lua" ] }
Example of a Lua controller script:
function init( model, par, side ) -- This function is called at the start of the simulation -- 'model' can be used to initialize the desired actuators (see LuaModel) -- 'par' can be used to define parameters for optimization (see LuaPar) -- 'side' denotes if the controller is for a specific side (-1 = left, 0 = unspecified, 1 = right) end function update( model, time, controller ) -- This function is called at each simulation timestep -- Use it to update the actuator inputs -- 'model' can be used to update the desired actuators (see LuaModel) -- 'time' is the time elapsed since this controller was activated -- 'controller' can be used to enable/disable child controllers of this ScriptController (see LuaController) return false -- change to 'return true' to terminate the simulation early end function store_data( current_frame ) -- This function is called at each simulation timestep -- 'current_frame' can be used to store values for analysis (see LuaFrame) end
See also LuaModel, LuaBody, LuaDof, LuaActuator, LuaMuscle, LuaFrame. See Tutorial 6a and 6b for more information.
Inherits from CompositeController.
Public Attributes
Parameter | Type | Description |
---|---|---|
script_file | path | filename of the Lua script, path is relative to the .scone file |
external_files | ArrayOfFiles | Array of files used by the Lua script; files included by 'require' should be added here as external_files = [ file1, file2 ] . |
name | String | Name of the controller, uses as a prefix for the control parameters; empty by default. |
start_time | TimeInSeconds | Time [s] at which Controller becomes active; default = 0. |
stop_time | TimeInSeconds | Time [s] at which Controller becomes inactive; default = until simulation ends. |
signature_prefix | String | Prefix signature with custom string. Special tags: DATE_TIME, DATE_TIME_EXACT, SCONE_VERSION. |
signature_postfix | String | Append custom string to signature. Special tags: DATE_TIME, DATE_TIME_EXACT, SCONE_VERSION. |
signature | String | Set custom signature and omit the auto-generated signature. |
Converted from doxygen using dokugen