Skip to content

Releases: opensim-org/opensim-core

Release 4.5.2

22 Apr 22:30
5bc7d33
Compare
Choose a tag to compare

What's Changed

  • Add MocoExpressionBasedParameterGoal by @AllisonJohn in #3869
  • [Moco] Add support for the Bordalba et al. (2023) projection method for kinematic constraints by @nickbianco in #3587
  • Add ExpressionBasedFunction by @nickbianco in #3892
  • Add ForceProducer and ForceConsumer APIs by @adamkewley in #3891
  • Add ConstantCurvatureJoint to the bindings by @nickbianco in #3957
  • Add methods and Outputs for calculating the momentum of a Body by @nickbianco in #3962
  • Trim filtered table to original time range in TabOpLowPassFilter by @nickbianco in #3969
  • Throw if passed in name or index of marker is invalid, remove index based lookup (possibly API breaking) by @aymanhab in #3970
  • Uniform Time Sampling in XsenseDataReader and ADPMDataReader by @alexbeattie42 in #3977
  • Allow paths fit by PolynomialPathFitter to depend on more than 6 coordinates by @nickbianco in #4001
  • Add activation dynamics smoothing property to DeGrooteFregly2016Muscle by @nickbianco in #4007
  • Add Moco 3D tracking example with foot-ground contact by @nickbianco in #4008
  • Python Moco 2D walking examples by @nicos1993 in #4019
  • Remove tropter as Moco solver by @aymanhab in #3988
  • Update TableUtilities::filterLowpass to apply padding after resampling by @nickbianco in #4020
  • Add ExpressionBasedPathForce by @nickbianco in #4035
  • Expose the energy dissipation state variable in BushingForce by @nickbianco in #4054

New Contributors

Full Changelog: 4.5.1...4.5.2

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()).