Skip to content

Releases: opensim-org/opensim-core

OpenSim 4.5.1

23 Aug 06:34
f81e7c3
Compare
Choose a tag to compare

API-only release in preparation for the CMBBE 2024 OpenSim workshop.

Changes included in this release can be found in both CHANGELOG.md and CHANGELOG_MOCO.md

OpenSim 4.5

10 Mar 04:25
Compare
Choose a tag to compare

Core libraries corresponding to the OpenSim 4.5 release.

Changes included in this release can be found in both CHANGELOG.md and CHANGELOG_MOCO.md
(Moco 1.3.0).

OpenSim 4.4.1

18 Jul 03:29
Compare
Choose a tag to compare

API-only release in preparation for the TGCS 2023 OpenSim workshop.

Some important changes in this release include:

  • IMU::calcGyroscopeSignal() now reports angular velocities in the IMU frame.
  • Made Component::getSocketNames a const member method (previously: non-const)
  • Modifed the swig interface files to make OpenSim::PathPointSet adopt new PathPoints inserted into it. (Issue #3276)
  • Remove references to obsoleted dependency BTK, use ezc3d exclusively.
  • Improve documentation for MotionType to serve scripting users (Issue #3324).
  • Added OpenSim::AbstractSocket::canConnectTo(Object const&) const, for faster socket connectivity checks (#3451)
  • Fixed the CoordinateCouplerConstraint bug preventing functions with multiple independent coordinates (#3435)
  • Added SIMBODY_EXTRA_CMAKE_ARGS to dependencies/CMakeLists.txt, which lets integrators customize Simbody via the OpenSim superbuild (#3455)
  • The property, input, output, and socket macros (e.g. OpenSim_DECLARE_PROPERTY) can now be used outside of the OpenSim namespace and no longer require a using namespace OpenSim; declaration in order to work (#3468)
  • Fixed issues #3083 #2575 where analog data is not pulled out from c3d files, a a new function getAnalogDataTable() has been added to the C3DFileAdapter
  • Add calcMomentum, calcAngularMomentum, calcLinearMomentum, and associated Outputs to Model (#3474)
  • Fix issue where a different init.py is used by conda package and dev environment, the fix allows developers to install local builds into conda. (#3502)
  • Fixed a bug where failing MocoProblems with path constraints returned a zero time vector.
  • Added getSphereForce, getHalfSpaceForce, and associated Outputs sphere_force and half_space_force to SmoothSphereHalfSpaceForce.
  • Added convenience methods MocoGoal::setEndpointConstraintBounds and MocoGoal::getEndpointConstraintBounds.

OpenSim 4.4

31 Jul 16:50
Compare
Choose a tag to compare

Code base for opensim-core used for version 4.4 release

OpenSim 4.3

07 Sep 18:19
e26229f
Compare
Choose a tag to compare

Code base of opensim-core corresponding to release 4.3

OpenSim 4.2

14 Jul 15:51
fcedec9
Compare
Choose a tag to compare

Release 4.2 of the OpenSim core libraries (including Moco)

OpenSim 4.1

03 Feb 19:32
20d53d6
Compare
Choose a tag to compare

Release 4.1 of OpenSim core libraries

OpenSim 4.0

12 Nov 23:51
5bd0f43
Compare
Choose a tag to compare
Merge pull request #2343 from opensim-org/XMLDocument_40000

Prepare for releasing 4.0

Beta release of 4.0 API for GUI integration and user testing

22 Mar 21:04
Compare
Choose a tag to compare

This release is intended to freeze user facing API changes and to enable GUI integration and internal and external user testing.

Some important changes since the alpha include:

  • revised and more complete Model::print... methods to print general and specific model information, such as the number of bodies or the names of every Component in the model, to the console
  • DataTable enhancements to read and write tables of different numeric types like: Vec3, SpatialVec, Quaternion and being able to grow tables by appending columns
  • the user-facing option to reverse the sense of a Joint (e.g. from child to parent) was removed. Joints now always provide generalized coordinates that describe the motion of the child frame in the parent and may be reversed internally to obtain an efficient multibody tree representation of the model.
  • no more internal (silent) clamping of muscle excitation (controls) to Muscle models. Input controls must satisfy the max_control and min_control settings of an actuator (includes muscles) otherwise an Exception is thrown.
  • update to the PathPoint hierarchy, with MovingPathPoint now deriving directly from anAbstractPathPoint and excludes stationary information that remains in PathPoint.
  • Connector was renamed to Socket. A component has a list of sockets that connect it to its dependencies (that are other components)
  • Component::connect() was replaced by Component::finalizeConnections() to distinguish the Component level operation of satisfying its dependencies (Sockets and Inputs) in finalizeConnections(), from the individual Socket/Input task of connecting to its respective Component/Output (connect()).

Alpha Pre-release of 4.0 for Internal Testing and Example Writing

15 Dec 00:11
Compare
Choose a tag to compare

This release is intended primarily for the @opensim-org/dev-team to test with scripting environments and for updating and writing scripting examples.

A few key changes since devweek0716 include:

  • Connector and Input macros for auto generating connect methods.
  • Reporter::addToReport for including Outputs of Components to a Reporter
  • conversion of TimeSeriesTable<T> to (flatten) and from (pack) a TimeSeriesTable<double> and reading/writing from tables from/to .sto files
  • Frame::attachGeometry convenience method for slapping on (displayable) Geomtery

See README.md for instructions for building the OpenSim libraries from source.

To set up MATLAB for scripting with your local build of opensim-core, we recommend you follow the Manual Setup instructions (scroll down to the heading "Manual Setup" and click "expand"). You should make the following change to the edit classpath.txt step:

  • On Windows, use: <opensim-core-install>/sdk/Java/org-opensim-modeling.jar instead of what is specified.
  • On macOS, use: <opensim-core-install>/share/java/org-opensim-modeling.jar instead of what is specified.