This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Frequently Asked Questions ====== ==== General ==== <accordion collapsed="true"> <panel type="default" title="What does SCONE stand for?"> SCONE is a tasty acronym for **S**imulated **C**ontroller **O**ptimizatio**N** **E**nvironment. </panel> <panel type="default" title="How can I contribute to SCONE?"> Thank you for considering! There are many ways in which you can contribute, please follow [[license#contributing_to_scone|this link]] for details. </panel> </accordion> ==== Using SCONE ==== <accordion collapsed="true"> <panel type="default" title="Do I need programming skills to use SCONE?"> No, SCONE provides an integrated Graphical User Interface (GUI) that allows simultaneous development, optimization, and analysis of predictive simulations. Control strategies are defined through a user-friendly configuration script -- check out the [[tutorials:start]] to learn more! </panel> <panel type="default" title="What kind of hardware do I need to run SCONE?"> It depends on how many optimizations you want to run simultaneously. SCONE allows you to run as many as you like, but at some point your optimizations will slow down. A single optimization will use as much as ~15 different parallel threads, so the more cores you have on your machine, the better SCONE will run. Memory-wise, SCONE optimizations have relatively low demands. For example, the gait optimization from the tutorial requires +/- 50 MB per optimization, so it will take a while before you run out of memory. Storage-wise, it's highly recommended to always use a Solid State Drive (SSD). Here is an overview of recommended specifications: ^ Machine specification ^ Number of cores ^ Memory ^ Storage ^ Typical use case ^ | Minimum | 2 (dual-core) | 4 GB | SSD | Reasonable performance, one or two optimizations at a time | | Good | 4 (quad-core) | 8 GB | SSD | Decent performance, up to three optimizations at a time | | High-end | 8 | 8+ GB | SSD | Good performance, up to six optimizations at a time | | Super high-end | 16 | 16+ GB | SSD | Great performance, up to twelve optimizations at a time | | Epic | 32+ | 16+ GB | SSD | Awesome performance, lots of simulations at a time | </panel> <panel type="default" title="Can SCONE be used for robotics research?"> Absolutely; even though SCONE has a focus on neuromuscular control, it can just as easily be used to optimize torque-based controllers found in robotics. All that is required is a supported [[doc:model|Model]] of your robot or device. SCONE especially shines when robotic assistive devices are simulated together with musculoskeletal models. </panel> <panel type="default" title="Does SCONE work with both 2D and 3D models?"> SCONE can be used with [[doc:model|any model]] -- both 2D and 3D. However, since 3D models are considerably more difficult to control, it's usually best to start by using a 2D model and extend to 3D later. </panel> <panel type="default" title="Does SCONE only work with OpenSim as a simulator?"> SCONE is simulator-agnostic, meaning it can be used with any musculoskeletal dynamics simulation software package, [[doc:api|after implementing a set of interface classes in C++]]. By default, only support for OpenSim models and simulation is included in the software. </panel> <panel type="default" title="What kind of parameters can I optimize using SCONE?"> SCONE allows you to simultaneously optimize [[doc:parameters|both model and control parameters]], according to any [[doc:objective|user-defined objective function]]. </panel> <panel type="default" title="What kind of optimization algorithm does SCONE use?"> Out-of-the-box, [[doc:optimizer|SCONE Optimizers]] support different flavors of Covariance Matrix Adaptation [Hansen 2006]. </panel> <panel type="default" title="Can the optimization of a scenario be resumed if aborted before convergence?"> At the moment, optimizations cannot be resumed directly once aborted. However, it is possible to use the result of a previous optimization as input for a new optimization. For more information, see the [[ref:Optimizer|reference manual]] on ''init_file'', or [[tutorials:standing_high_jump#setting_the_initial_parameters|this example tutorial]]. </panel> <panel type="default" title="Can I use scripting to create custom controllers or objectives?"> Since version 1.1, SCONE provides support for scripting to define custom controllers or objective functions, through [[ref:script_controller]] and [[ref:script_measure]]. SCONE scripts are based on the [[http://lua.org|Lua programming language]]. See Tutorial 6 for example scripts. </panel> <panel type="default" title="Why use Lua for scripting and not Python?"> During a SCONE optimization, multiple simulations are evaluated concurrently, using separate threads -- each of which continually evokes custom scripts to update the controller output or the objective function. Python has extremely poor performance in this situation, as it only allows a single thread to access the Python interpreter at a time -- even though the scripts are fully independent. [[http:/lua.org|Lua]], on the other hand, is much more flexible and performant in this scenario. </panel> </accordion> ==== License ==== <accordion collapsed="true"> <panel type="default" title="Can I use SCONE for my own project? What license is it published under?"> Yes, you are free to use SCONE for whatever you want, as long as you adhere to the GPL license. If your publication uses SCONE, please cite the following paper: <well> Geijtenbeek, T (2019). SCONE: Open Source Software for Predictive Simulation of Biological Motion. Journal of Open Source Software, 4(38), 1421, https://doi.org/10.21105/joss.01421</well> </panel> <panel type="default" title="Why GPL and not some less restrictive license?"> Because some of SCONE's components use GPL licenses. If at some point we can replace these libraries, we might update the license of SCONE to something less restrictive. </panel> </accordion>