This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== SCONE Models ====== The central part of a predictive simulation is the (musculoskeletal) model of the entity you wish to simulate. Out-of-the-box, SCONE supports the models for the following simulation engines: * [[https://opensim.stanford.edu|OpenSim3]] * [[https://opensim.stanford.edu|OpenSim4]] * [[https://hyfydy.com|Hyfydy]] [[:hyfydy]] provides a 50-100x speedup over OpenSim, using the same muscle and contact models. ==== Model Requirements ==== Even though SCONE is compatible with any model, the following is required for use in predictive simulations: * The model must contain //actuators//, such as muscles or torque-based actuators. * In order to simulate contacts, a model requires //collision shapes// and //contact force models//. * Models typically contain //limit forces// to simulate the forces generated by tendons and bony structures when a joint reaches a certain limit. * Since the optimization process requires many individual simulations, the model must have decent //forward simulation performance//. To check simulation performance in OpenSim, hit the ''Simulate'' button in the OpenSim UI. To improve simulation performance, please consider: * It is strongly advised to **avoid OpenSim wrapping surfaces**, because of the poor performance of their implementation. * Avoid **low-mass bodies** in your model (0.1kg or less) to avoid stiff equations. * Keep the amount of muscle-tendon-units as low as possible; this is especially true when using OpenSim models. * Even though SCONE works with both 2D (planar) and 3D models, for complicated tasks (such as gait it) is advised to start off with 2D models. For examples of suitable models, please check the [[tutorials:start]]. When using a custom model, it is always advised to use these models as a starting point. ==== Using Custom Models for Gait ==== In order to use the [[:ref:gait_state_controller]], SCONE must know the names of the leg bodies and contact forces. If these names are different from the defaults (''femur'', ''calcn'' and ''foot''), you must specify them explicitly inside the [[:ref:model_open_sim3]], [[:ref:model_open_sim4]] or ModelHfd section of your SCONE scenario. For instance: <code> ModelOpenSim3 { ... leg_upper_body = my_femur_body_name leg_lower_body = my_foot_body_name leg_contact_force = my_contact_force_name ... } </code>