changes

SCONE Version History

Released December 14, 2023

New Features

  • Full integration and support for Reinforcement Learning research via the SconePy Python API, see https://scone.software/doku.php?id=sconepy for more details
  • New Model Analysis window, for plotting muscles properties against model coordinates
  • New Examples and Tutorials based on improved models, including 3D examples

SCONE Studio Updates

  • 3D viewer updates
    • Ground tiles now remain visible when the model moves beyond the ground plane size
    • Viewer now has a separate default color for object geometry
    • Improved shadow rendering when mulitple objects are in the scene
    • Improved shadow rendering for scenes with static geometry
    • Added option to disable shadow casting for force arrows and static geometry
    • Contact geometry can now be hidden without hiding static geometry
    • Default contact geometry color is now the same as bone color
    • Contact force arrows can now be semi-transparent
    • Added option to automatic orbit the camera during playback
    • Playback speed can now be changed while making a video
  • You can now click on the Analysis graph legend to move it out of the way
  • Fixed dark mode support for macOS

SCONE Updates

  • Models now support min/max_muscle_activation and min/max_individual_muscle_activation; both can be used as optimization parameters
  • Hyfydy models now support ligaments (preview)
  • NoiseController now supports deterministic randomized random seeds when random_seed = 0
  • GaitMeasure option continue_after_fall [s]
  • Removed warning “Multiple child controllers have no name”
  • Muscles in Model Info now contain muscle path
  • LuaModel find_body_index

Fixes

  • 3D viewer camera now keeps focus point when setting the camera position (using r, x, y or z)
  • Muscle excitation values in OpenSim models are now correctly clamped when queried; this slightly increases the overall metabolic energy consumption measures for OpenSim models (fixes #7)
  • Removed defunct sconepy.Muscle.set_excitation(), fixes #6
  • Automatic reload now also works after Save As
  • Active scenario now favors current tab
  • Missing Gait Analysis plot data is now a warning instead of an error
  • SCONE Studio now opens .scone files when clicked
  • The 'discard' button now works properly when reloading a file with edits

Released June 7, 2023

New Features

  • SCONE Studio now automatically reloads open files that were modified in another editor
  • ScriptController can now have child Controllers, which can be enabled/disabled from within the script update() function
  • Hyfydy now supports sphere-capsule and capsule-capsule collisions
  • Hyfydy has a major increase in collision performance when there are many collision geometries

Updates

  • Reflex min/max_control_value can now be optimized
  • Added SconePy.Model.get_tendon_length()
  • Simulation statistics now includes simulation_step_size and simulation_step_count
  • EffortMeasure now stores individual muscle efforts for Wang2012 and Uchida2016
  • Default contact geometry transparency is now 0.5
  • Progress bar during evaluation is now more responsive
  • Model asymmetry check now shows specific asymmetries

Fixes

  • DofMeasure units are now in meters for translational Dofs, added “in_degrees” setting for rotational Dofs (default = 1)
  • SequentialController now only writes data for the active controller, preventing controller data from being overwritten by inactive controllers

Released April 9, 2023

New Features

  • gui_profiler
  • Messages log level can now be set in Preferences → Scone Studio → User Interface Settings

Updates

  • Updated progress graph refresh rate and message
  • 3D Viewer can now visualize contact forces using a single arrow per body (Preferences → User Interface → Combine body contact forces)
  • Objectives can now be evaluated even if they contain no free parameters
  • Analysis view now has maximum zoom level and better edge handling
  • Data analysis and playback now remains available after simulation errors
  • Models can now be evaluated without ModelObjective; S: scone

Released April 3, 2023

New Features

  • SCONE is now officially supported on macOS
  • SconePy now supports using SCONE Measures to be used for Reinforcement Learning via current_measure()
  • Hyfydy models now use a new integrator by default, increasing both performance and accuracy

Updates

  • Hyfydy Tutorials and Examples no longer include HfdConfig
  • Optimization / Evaluation
    • Optimizers now have use_best_as_mean setting
    • Objectives can now be evaluated even if they contain no free parameters
    • Models can now be evaluated without ModelObjective; S: scone
    • Controllers and Measures can now be defined inside Models without type property
  • SconePy
    • sconepy.quaternion.get_rotation_vector()
    • sconepy.Body.com_acc(), ang_acc()
    • sconepy.model.log_measure_report()
    • sconepy.model.set_simulation_end_time(), has_simulation_ended()
    • sconepy.current_measure(), final_measure()
  • Progress graph
    • Progress graph refresh rate can now be configured
    • Progress window now shows optimization time
  • Analysis view
    • Analysis view now has maximum zoom level and better edge handling
    • Data analysis and playback now remains available after simulation errors
  • 3D Viewer can now visualize contact forces using a single arrow per body (Preferences → User Interface → Combine body contact forces)
  • Messages log level can now be set in Preferences → Scone Studio → User Interface Settings
  • Asymmetric model components are now shown in the Model Info window
  • GaitStateController now has use_model_com_reference_pos for state transitions based on sagittal_pos

Fixes

  • OpenSim models now correctly load init_state when initial_load = 0
  • ModelConverter now mirrors joint limits correctly
  • FeedForwardController now displays an error message when there are no matching actuators
  • scone_version is now added in LoadScenario() if a .par file is loaded
  • Model components are now properly cleared, fixes User Input / Blueprint crash
  • CmaPoolOptimizer now has better documentation

Released January 9, 2023

New Features

  • SCONE now includes a Python API, designed and streamlined for machine learning applications. Click here for more information.
  • SCONE now fully supports Linux (Ubuntu 20.04 or higher). It can be installed via a .deb package and a .tar.gz archive.
  • Added support for converting OpenSim4 models and scenarios to Hyfydy, via Tools → Convert to Hyfydy…

Updates

  • Measures:
    • MuscleMeasure now supports force measurement.
    • EffortMeasure now supports measure type ActuatorTorque, use in combination with order for quadratic, cubic, etc. penalties.
    • DofMeasure now supports actuator_torque.
    • DofMeasure 'force' is renamed to 'limit_torque' (backwards compatible).
  • Optimization:
    • Improved MimicMeasure optimization performance through data caching.
    • Optimizers now have the option to specify multiple init files, each with its own settings, using the init { … } syntax (also in 2.0.6).
    • CmaOptimizer now has enable_boundary_transformer option.
    • Added Optimizer setting output_individual_search_points to write .par files for each individual search point (useful for debug purposes).
  • 3D visualizer:
    • The 3D visualizer can now follow specific bodies via the setting view.camera_follow_body.
    • Perturbation forces are now visualized with longer and thinner arrows.
  • Gait Analysis:
    • Gait Analysis plots now automatically extend the Y-axis range to fit the data.
    • Added option to set font sizes for gait analysis plots (Tools → Preferences → User Interface → Gait Analysis).
  • ScriptController / ScriptMeasure:
    • Lua scripts can now convert quaternions to euler angles, via SconePy.Quat.to_euler()
    • LuaJoint.reaction_force(), limit_torque(), limit_power(), load()
    • Added muscle_tendon_length() and muscle_tendon_velocity(), renamed contraction_velocity() to fiber_velocity()
    • The current timestamp can now be accessed in Lua script update() functions, via update( model, timestamp ). This allows ScriptController scripts to easily access the time since a controller is activated.
  • .sto files can now be played back without Optimizer.
  • Extracted data channels now includes time column.
  • Model now supports neural_delays, used SconePy Python API.
  • OpenSim 4 simulations now only log errors.
  • Added option to enter a Hyfydy License Key via the SCONE command line interface (sconecmd).
  • Updated Help → About license information.

Fixes

  • Fixed issue where 3D Viewer window would stop working after a simulation error.
  • Improved finding the SCONE install folder and related error handling.
  • Fixed issue where SCONE Studio would not work properly if the system locale has comma as decimal separator (Linux).
  • Folders are no longer stored in settings if they are the default.
  • BodyEulerOriSensor could return invalid number in rare cases, output can be slightly different now.
  • Default ModelOpenSim3::GetSimulationEndTime() is now set to MAX.
  • Fixed signs for contralateral BodyEulerOriSensor and BodyAngularVelocitySensor.
  • Reflex parameters with source from opposite side now have _o postfix.
  • Move text editor cursor to line start after Ctrl+/.
  • Improved error handling when updating tutorials and examples.
  • Updated error message when ffmpeg is missing.
  • Removed warning for when muscle tendon length is smaller than zero.

Released July 26, 2022

New Features

  • Optimizers now have the option to specify multiple init files, each with its own settings, using the init { … } syntax.

Updates

  • Lua Scripts now support the following functions:
    • muscle:muscle_tendon_length()
    • muscle_tendon_velocity()
    • muscle:active_fiber_force()
    • muscle:active_force_length_multiplier()
    • muscle:passive_fiber_force()
    • muscle:max_contraction_velocity()
    • model:mass()
    • model:gravity()
    • renamed muscle:contraction_velocity() to muscle:fiber_velocity()
  • Lua scripts can now convert quaternions to euler angles, using quat:euler_angle_xyz().
  • ReflexController delay is now a parameter that can be optimized.
  • MuscleMeasure now supports “force” measurement.
  • .sto files can now be played back if the folder contains a .scone file without an Optimizer.
  • Perturbation forces are now visualized with longer and thinner arrows, to improve visibility.
  • Added option to set font sizes for gait analysis plots (Tools → Preferences → User Interface → Gait Analysis).
  • Removed scone_settings_schema.zml external file dependency.

Fixes

  • Fixed signs for contralateral BodyEulerOriSensor and BodyAngularVelocitySensor.
  • Reflex parameters with source from opposite side now have _o postfix.

Released May 27, 2022

Updates

  • New Lua Script functions for muscles: tendon_length(), normalized_tendon_length(), tendon_slack_length().
  • Gait Analysis plots now have 'mirror_left' option for non-sided channels (e.g. pelvis_list, pelvis_rotation).
  • Reflexes now have 'par_name' option to override the parameter name.
  • Model conversion tool now remembers previous input name

Fixes

  • Measure “name” property now works correctly again (regression in 2.0.4).

Released May 13, 2022

New Features

  • Writing evaluation data to .sto files is now optional (via Preferences → User Interface → File settings), data can now be written manually to .sto files via File → Save Evaluation Data (Ctrl+Shift+E).
  • config.scone can now be opened directly from the Optimization Results browser.
  • GaitStateController, EffortMeasure, GaitMeasure now support omnidirectional use, via omnidirectional and use_initial_heading settings.
  • New BodyEulerOriSensor to replace broken BodyOrientationSensor, used by default in BodyOrientationReflex
  • DofReflex and BodyOrientationReflex now have mirror_left option, which mirrors the output for left sided actuators. Useful in combination with pelvis_list, pelvis_rotation, etc.

Updates

  • Evaluation results are now written to file in the background to decrease waiting time.
  • Greatly improved MimicMeasure performance through data caching.

Fixes

  • Fixed issue when pressing enter on a directory to evaluate the latest .par would fail after the file had been deleted.
  • BodyOrientationReflex opposite bodies now work correctly, using bodyname_o.
  • Performance evaluation (Ctrl+P) with ReplicationObjective now works properly.

Released April 19, 2022

Updates

  • Updated Model Conversion user interface

Fixes

  • Fixed issue causing the Model Conversion Tool to remove bodies attached by WeldJoints
  • Fixed automatic indentation with '{' or '[' inside line comments

Released April 6, 2022

Updates

  • Added option to export muscle activations from Coordinates
  • Actuator Input data now includes muscle excitation
  • Added support for activations in state_init_file, new settings state_init_file_ignore_activations and initialize_activations_from_controller
  • Optimization Results and Analysis can now be activated through shortcut shown in Windows menu

Fixes

  • Fixed joint_motor_force max_torque application
  • Fixed rounding error of sliders in CoordinateEditor
  • Fixed video generation during playback (closes #4)

Released March 17, 2022

Updates

  • MimicMeasure can now read both .sto and .txt
  • MimicMeasure now has activation_error_weight
  • ReflexController now has new BodyOrientationReflex (experimental)

Fixes

  • Fixed rounding error of sliders in CoordinateEditor
  • Fixed visualization of .obj files with extra orientation in transform

Released February 18, 2022

SCONE 2.0 is a major new release with following new features:

  • Support for new simulation engines OpenSim 4.3 and Hyfydy, allowing for the latest features and drastically improved optimization speeds (using Hyfydy).
  • Select muscles and bodies directly in the 3D viewer.
  • New Model Information window that contains information on all model components.
  • New Coordinate Editor that allows you to tweak model coordinates and change initial poses.
  • Updated Tutorials and Examples.
  • Several improvements to the Editor, Analysis and Optimization, as well as many bugfixes.

New Simulation Engines

SCONE includes support for the following simulation engines:

All Controllers and Measures can be used interchangeably with each of these simulation engines. All engines are included in the Windows 64 bit installer for SCONE.

Hyfydy is state-of-the-art musculoskeletal simulation software that provides a 50-100x speedup over OpenSim. See https://hyfydy.com for more information and a free trial.

Tutorials and Examples

  • All Tutorials have been updated and fine-tuned and are now available for both OpenSim and Hyfydy.
  • Additional Examples are now included for OpenSim3, OpenSim4 and Hyfydy.

New Components

  • New Model Info window that shows all model properties. It can be activated by clicking on muscles or bodies in the 3D viewer.
  • New Coordinates window that allows you to edit the model coordinates and export initial poses.
  • New Evaluation Report window that shows information about how a Measure is computed in an evaluation.

3D Visualizer Improvements

  • Hover over any muscle or body in the 3D viewer to see its name; click to see its properties.
  • Muscle color can now represent activation, force or fiber length.
  • Model geometry is now cached and loads much faster when a scenario is reloaded.
  • Added visualization of model center-of-mass, joint moments and body moments.
  • Viewer now supports static camera (enable via View –> Static Camera).
  • Added configuration options for tile size, tile count and contact geometry transparency.
  • Fixed shading of scaled geometry files.
  • Fixed scaling of .obj geometry.
  • Many other visualization improvements and fixes.

Editor Improvements

  • Added support for drag-and-drop from the Windows File Explorer to open files.
  • Toggle comments via Ctrl+/.
  • Duplicate selected text or the current line via Ctrl+U.
  • Reload the current document via Ctrl+R.
  • Scenario files now support inline macro expansion, e.g. “text${var}”, which can be useful for adding a macro to a signature.
  • Many more minor improvements and fixes.

Analysis Improvements

  • Added support for outputting muscle moments, moment arms, coordinate moments and powers.
  • Added option to keep all data frames for analysis, but not for file storage.
  • The Analysis graph now automatically scales the Y-axis to fit the data shown.
  • Analysis view filter now supports wildcards (* and ?); activate filter with Ctrl+L.
  • Several Gait Analysis improvements and fixes.

Optimization Improvements

  • Current SCONE version is now stored in results to improve backwards compatibility in the future.
  • Improved error handling and reporting in optimizations.
  • New settings init_file_include and init_file_exclude to control which parameters are read from file.
  • The Optimization Results file browser now allows users to move multiple files or folders to the recycle bin at once.
  • Pressing the return key on a folder in Optimization Results automatically evaluates the most recent .par file in that folder.
  • Many more fixes and improvements.

Other Improvements

  • Optimization Results can now be benchmarked with Ctrl+P and Ctrl+Shift+P.
  • When editing preferences, leaving a setting blank now restores its default value.

Other Fixes

  • Camera and view settings are now applied correctly on scenario load.
  • Added extra checks to prevent crash in case of missing filenames.
  • fixed issue where camera control would stop working after saving image.
  • Analysis cursor position is now more accurate with irregular time intervals.
  • Muscles that connect to both sides of the root segment are now handled correctly
  • Analysis windows are now updated correctly after loading a .sto from the optimization results (#247).
  • Updated warning message when gait analysis channels are missing, removed message: “lerp_map() was called on empty map” (#247).
  • sconecmd now supports -r in combination with -o (#230).
  • GaitStateController transition parameters are now optimized individually when symmetric = 0 (#214).
  • GaitStateController shows an error message (instead of crashing) when an uneven number of legs has been detected.
  • MimicMeasure::stop_time default is now set to match end of storage file.
  • SequentialController now correctly stores Analysis data of child controllers.
  • Fixed issue where evaluation would start automatically when loading while playback is active.
  • Line widths in Analysis view and progress windows now default to 1. It turns out other values lead to poor performance.
  • Fixed checking if document is modified, increasing editing performance.
  • Editor now gets focus after opening file.
  • MimicMeasure error limits are now disabled (0) by default, peak_error_limit is set to 2 * average_error_limit by default.
  • Updated documentation for GaitStateController and GaitMeasure (#69).
  • EffortMeasure computation is now correct again when use_cost_of_transport = 0.
  • CmaPoolOptimizer now works again.
  • Fixed inaccurate warning of unused parameters in CmaPoolOptimizer.
  • Fixed progress graph zooming with pooled CmaPoolOptimizer.
  • pooled_evaluator is now properly initialized so it doesn't need to restart all threads immediately.
  • EffortMeasure now shows name in Analysis Window and .sto output.
  • Fixed incorrect optimization timing when optimizations took longer than 922 seconds.

Released June 19, 2020

New Features

  • New Parameter View window that shows all optimization parameters in the current scenario.
  • New Evaluation Report window that shows the measure results from the most recent evaluation.
  • Context-sensitive help: pressing F1 in the scenario shows on-line help for the keyword under the cursor.
  • New StepMeasure for penalizing stride length and/or step duration, thanks to Dimitar Stanev.
  • GaitStateController can now have single-sided controllers, using the legs parameter.
  • Help menu now has links for About… and User Forum
  • New (very useful!) text editor option: Press Ctrl + / to toggle comments for the current selection.
  • .scone files now support // and /* */ style comments.
  • New menu option Window → Reset Window Layout to restore the original window layout.
  • EffortMeasure now supports SquaredMuscleActivation.
  • SequentialController now outputs which controller is active in the AnalysisWindow, as 'active_index'. Closes #200.
  • FeedForwardController now has include and exclude settings for targeting specific actuators.
  • Measures now have a threshold_transition setting for gradually decreasing the measure if they approach the threshold (if any).
  • BodyMeasure now uses direction and has option for magnitude.
  • GaitMeasure base_bodies now use model foot bodies by default, instead of toes_l / toes_r. This will result in a slightly different outcome for existing scenarios that have no base_bodies specified.
  • New command line option -b for benchmarking a scenario
  • MimicMeasure now has average_error_limit and peak_error_limit options for early termination
  • Option to store linear and angular momentum.

Updates and Fixes

  • Edit → Find and Find Next now also work with .lua files.
  • Find Text now starts at the next occurrence. Added a hint for using F3 / Shift + F3. Closes #188.
  • RangePenalty documentation now shows min and max parameters instead of 'range'.
  • The RangePenalty default of (-inf, inf) now works correctly with angle types, such as in DofMeasure postion / velocity.
  • When creating a video while ffmpeg is not found, an error message is shown instead of a silent exit.
  • Fixed issue where loading an invalid OpenSim model could crash SCONE.
  • Fixed tab order in AnalysisView tab order between filter and select checkbox.
  • Error for unnamed child controllers is now warning again.
  • Fixed rare invalid cycle detection in Gait Analysis.
  • Fixed Lua automatic indentation when using 'for' or 'while'.
  • Simulation no longer crashes when no controller is defined.
  • Models are now called ModelOpenSim3 / ModelOpenSim4 to be consistent with the online help. Tutorials have been updated.
  • Current optimization progress is now shown in optimization window tooltip.
  • SCONE now always logs to the terminal under Linux.
  • Message “Invalid scenario settings” now shows invalid setting(s) in message window.
  • Gait Analysis now provides more useful error messages when loading a template.
  • No longer is a restart required after selecting a different gait analysis template.

Released March 3, 2020

New Features and Updates

  • Gait Analysis support, allowing users to extract gait cycles from simulation results, and compare gait parameters to norm data
  • Scripting improvements and updates:
    • Greatly improved error handling in Lua scripts, closes #184, closes #80, closes #81
    • ScriptMeasure and ScriptController now support 'external_files', which can be used to add files included by a 'require' keyword. closes
    • Support for automatic indentation when editing Lua files
    • Renamed LuaMuscle::fiber_force() to LuaMuscle:force()
  • Video output and visualization:
    • Add option to automatically set resolution of a video by resizing the viewer window (floating windows only)
    • Video output now supports mp4 (default), avi and mov container formats
    • Added optional visualization of Body Center of Mass (COM)
  • Data analysis:
    • Added option to permanently 'Keep' specific graphs in the Analysis window (Ctrl+Shift+k), allowing easy comparison between different results
    • Added option to extract specific channels to separate tab-separated file, via Tools → Preferences → Advanced
    • Added option to output relation between dof and muscle length to file, via Tools → Muscle Analysis
    • Added option to show model information to the messages window, via Tools → &Model Analysis
  • FeedForwardController now supports SineWave, with parameterizable amplitude, frequency, phase, and offset
  • Added initial_equilibration_activation parameter for to Model
  • Pressing F2 in Optimization Results now allows renaming files and folders

Fixes

  • Fix several crashes related to scenario or script errors
  • Progress window now report error message in case of flat fitness on first generation
  • Fixed message “Could not find Optimizer”: SCONE no longer tries to evaluate a .scone file that doesn't have the word “Optimizer” in it
  • Pressing “Cancel” when asked to “Save Changes” now works correctly
  • Fixed default file type when using “File → Save As…”, closes #186
  • Fixed crash when trying that write to an .sto that is open in anther program, closes #185
  • Fixed GaitMeasure step length and step duration reporting
  • EffortMeasure Wang2012 is now guaranteed to be non-negative
  • Fixed potential crashes in SconeStorageDataModel::timeValue(), SconeStorageDataModel::label() and SconeStorageDataModel::getSeries()
  • Many documentation fixes and updates
  • Viewer no longer gets keyboard focus after evaluating a .par file
  • Double-clicking a folder in “Optimization Results” now opens the folder instead of showing an error

Released January 7, 2020

New Features and Updates

  • Updates to ScriptController and ScriptMeasure:
    • LuaBody now has support for mass(), inertia_diagonal(), closes #176
    • LuaDofs can now be used as actuators, through is_actuated(), add_input(), input(), min_input(), max_input(), min_torque(), max_torque(). See online documentation for details. closes #177
    • Added Lua string library to ScriptController and ScriptMeasure, closes #95
    • ScriptController init function now has 'side' parameter, which denotes if the controller is for a specific side (-1 = left, 0 = any, 1 = right). closes #96
    • Documentation updates
  • Added support for concurrent_optimizations in CmaPoolOptimizer
  • New output channels for muscles: mtu_length, mtu_velocity
  • Improved performance of writing .sto output
  • Added simulation statistics in output

Fixes

  • StudioModel no longer crashes when objective is no ModelObjective
  • Fixed crash when trying to save as an unknown file format
  • Improved error message when an invalid state is entered in GaitStateController. closes #179

Released December 10, 2019

New Features and Updates

  • Added support for displaying .obj and .stl files
  • Display geometries that exist in the model folder are now automatically copied to the output folder during optimization. To prevent excessive copies, please copy the display geometries to the shared 'geometries' folder.
  • Optimizer report now includes time, number_of_evals, evals_per_sec

Fixes

  • Fixed issue causing the initial parameter file (init_file) of an optimization not to be copied to the output folder, making it impossible to playback optimization results that use init_file
  • GaitStateController now displays a proper warning message when no legs are defined in the model
  • Increased maximum data output frequency to 1e6

Released November 27, 2019

New Features and Updates

  • Support for building SCONE on Linux, many thanks to Dimitar Stanev
  • Support for Travis-CI build integration, many thanks to Dimitar Stanev and Chris Dembia
  • Added support for optimizing OpenSim models with ContactMesh contact geometry
  • 3D Viewer settings are now remembered when restarting SCONE
  • Added joint force visualization option to 3D viewer
  • Improved support for the concept of legs, which is used by GaitController and ground reaction force reporting. Model-specific leg elements can now be specified through leg_upper_body and leg_contact_force parameters in OpenSim3Model. Previously, these values were hard-coded to their default values femur and foot.

Fixes

  • Fixed issue where duplicate external resources would cause an error during optimization
  • GaitMeasure documentation of upper_body and base_bodies
  • Fixed infinite loop when no suitable initial state could be found in models that define contact geometry but no contact force
  • Resolved issue where SCONE could crash if a ContactGeometry for a foot body segment did not exist

Released November 12, 2019

New Features and Updates

  • SCONE scenarios are now loaded an visualized immediately after a file is opened or saved
  • Improved support for editing and optimizing more model properties (using Properties { … }) directly in the SCONE scenario. These include ContactGeometry (position, radius, etc.), Joint, and Coordinate properties. Closes #78
  • Major performance improvement of the SCONE User Interface when the 3D visualizer is not actively used
  • 3D viewer now supports keyboard shortcuts for orbit (Left, Right, PgUp, PgDn), pan (Shift + Arrow keys) and zoom (Up and Down)
  • Ctrl + Space now toggles playback
  • Ctrl + E now evaluates the currently selected scenario
  • Visualizer no longer uses emissive component, added ambient_intensity parameter
  • SCONE Unit tests are now performed in parallel for improved performance

Fixes

  • When optimizing a scenario, the copied versions of models and scripts are now used, so you can freely edit the originals during an active optimization
  • Fixed incorrect “Please select a .scone file” error while optimizing or evaluating a scenario
  • PieceWiseLinear and PieceWiseConstant functions now check if dt > 0
  • ImitationObjective was broken, now it works again

Released September 13, 2019

Fixes

  • ScriptMeasure / ScriptController: Fixed issue causing contact_force(), contact_moment() and contact_point() to return zero
  • ScriptMeasureJump.lua (from Tutorial 6a) now demonstrates use of body:contact_force()

Released September 9, 2019

Fixes

  • ScriptMeasure / ScriptController: Contact forces are now accessed correctly using contact_force(), contact_moment() and contact_point()
  • File Save (Ctrl + s) now works with .lua files (closes #77)
  • Open File (Ctrl + o) now shows all supported file formats by default
  • Jumping tutorials now explicitly maximize results
  • Documentation fixes
  • Minor performance enhancements

Released July 25, 2019

Fixes

  • ScriptController and ScriptMeasure: Lua scripts now support 'require' for including other scripts located in the same folder
  • FeedForwardController now supports CoordinateActuators
  • FeedForwardController no longer crashes when no actuators could be found

Released June 25, 2019

New Features and Updates

  • Contacts forces are now correctly reported and displayed in the SCONE 3D visualizer.
  • Ground plane visualization now supports tilt and offsets.
  • GaitMeasure takes into account ground plane slopes when detecting falling.
  • Improved support for defining symmetric / asymmetric controllsers. The 'symmetric' property now works as expected in all controllers and is inherited from parent controllers if not specified (root controller defaults to true).
  • Scripting (ScriptMeasure and ScriptController):
    • Added support store_data() for writing data to .sto and SCONE analysis window
    • Improved error handling and reporting for scripts
    • added body:point_pos and body:point_vel
    • added functionality to LuaVec3 and LuaQuat (see reference manual)
  • Added warning in folder preferences dialog to avoid network drives (issue #53)
  • Pressing F5 will now evaluate the currently active scenario (if any)
  • When pressing Ctrl + T or Ctrl + F5 while a .lua file is active, scone tries to open a .scone instead.
  • Updated tutorials and documentation

Fixes

  • All open files are now checked for modification when running a scenario
  • Close current tab (Ctrl+W) now works correctly
  • Jump tutorials now use correct init_file
  • JumpMeasure now supports both 'body' and 'target_body', matching documentation and maintaining backwards compatibility
  • Text modification detection now works properly with undo
  • Text documents are now automatically focused when opened

Released May 29, 2019

New Features and Updates

  • Added new MuscleMeasure for penalizing muscle activation, length and contraction velocity (issue #36).
  • RangePenalty now supports 'mode' setting, allowing the final penalty to be the 'average' (default), 'lowest', or 'highest' of all recorded
  • New measure_type in EfforMeasure: SquaredMuscleStress. This minimizes the sum of (F/PCSA)^2 for all muscles.
  • Controllers now have 'name' member that is used as a prefix for all parameter names. This should prevent undesired parameter name clashes when combining controllers. CompositeController displays warning when child controllers have identical names.
  • Added warning in folder preferences dialog to avoid network drives (issue #53)
  • Documentation updates
  • Tutorial updates

Fixes

  • SequentialController now works correctly
  • NoiseController more accurately handles cases where the noise STD is zero
  • tutorial 6b, renamed 'gyro' to 'external balance device'

Released May 20, 2019

New Features and Updates

  • SCONE now has a powerful new scripting interface for custom controllers and measures
    • Using the lua scripting language (http://lua.org)
    • Create custom controllers using ScriptController
    • Create custom measures using ScriptMeasures
    • Support for writing custom data to .sto and SCONE Analysis window
  • The SCONE Studio editor now supports Find (Ctrl+F) and Find Next / Previous (F3 / Shift+F3)
  • The .SCONE file format is now more strict:
    • Comments using ; // /* and */ are no longer supported
    • Only single line comments '#' and multi-line comments '###' are supported
  • Improved unit testing
  • Many documentation updates and fixes

Fixes

  • Jump tutorials now use correct init_file
  • Editor now handles undo/redo of document formatting as single step
  • JumpMeasure now supports both 'body' and 'target_body', matching documentation and keeping backwards compatibility

Released April 18, 2019

Updates

  • Documentation updates
  • Depricated StateController, TimeStateController and SensorStateController

Released April 16, 2019

Updates

Fixes

  • SCONE now ignores the initial_load setting when a model does not have contact geometry, preventing the software from hanging.

Released April 4, 2019

Updates

  • SCONE now displays a warning dialog when a scenario contains invalid setting
  • New and updated tutorials
  • Added keyboard shurtcuts in SCONE viewer:
    • 'r' reset viewer camera
    • 'x' view model along x direction
    • 'y' view model along y direction
    • 'z' view model along z direction
  • Improved reading and error reporting of SCONE scenarios

Fixes

  • Fixed visualization of scaled OpenSim models (OpenSim3)
  • Restored DATE_TIME_EXACT tag in signatures

Released February 13, 2019

Updates

  • New tutorials
  • Improved scone scenario notation, 'type' parameter can now be omitted
  • Model properties can now be set via ModelProperties
  • External files can now be included using « FILENAME »
  • Improved appearance
  • Added unit tests
  • DATE_TIME year now uses 2 digits

Fixes

  • NoiseController now works when noise sigma is zero
  • Better handling of upper / lower parameter bounds during optimizaiton

Released January 8, 2019

Fixes

  • Issue where negative tendon lengths would cause a crash in the visualization
  • Issue where simulations with a duration with a decimal point would not terminate correctly

Released December 14, 2018

Updates

  • Ground reaction force is now output both as normalized [gBW] as unnormalized [N] data.
  • New data output: Center of Pressure (CoP) and Ground Reaction Moment [Nm]

Released December 6, 2018

Fixes

  • Fixed regression reading vector data

Released December 6, 2018

Fixes

  • When evaluating a scenario from sconecmd.exe, the average parameters are now used instead of the best, in order to be consistent with scenario test (Ctrl + T) from SCONE studio.

Released December 5, 2018

Fixes

  • Fixed issue reading state_init_optimization.exclude from legacy scripts
  • Fixed issue where data output settings were not read when running from command-line

Released November 19, 2018

Updates

  • Ground plane can now be hidden

Fixes

  • Fixed auto-formatting issues in scone editor
  • Correctly handle transform and scale of display geometry

Released November 14, 2018

New Features and Updates

  • Improved support for batch processing through the command line interface
  • Added setting for output video quality and video frame rate
  • Example updates

Released October 17, 2018

New Features and Updates

  • MuscleReflex can now act with activation as source (using KA, A0 and allow_neg_A)
  • Reflexes can now use contralateral sources, using _o postfix.
  • Added initial_load and initial_load_dof to allow control over the initial position of the model

Fixes

  • Sided reflex data in analysis output is now displayed correctly
  • Invalid initial_load settings now produce a warning instead of an error
  • Documentation fixes

Released October 12, 2018

Fixes

  • Fixed issue where settings could not be loaded the first time
  • Fixed error in the Gait GH2010 example

Released October 11, 2018

New Features and Updates

  • Many visualization improvements
  • New, more robust system for storing settings
  • Example gait model updates (fixed gastroc length issue)
  • Documentation updates

Fixes

  • Several minor stability improvements

Released October 5, 2018

New Features and Updates

  • NoiseController for simulating Motor Noise
  • BodyMeasure for measuring position, speed and velocity of a point on a body
  • JumpMeasure now has offset on body for measuring height
  • Controllers can now be defined outside Model
  • Updated Examples

Fixes

  • Simulation errors are now properly reported
  • .par filenames are now written correctly with extremely high / low fitness

Changes to SCONE are officially published since version 0.16.0