Skip to content

Releases: JuliaSpace/ReferenceFrameRotations.jl

v0.5.6

22 Sep 19:09

Choose a tag to compare

ReferenceFrameRotations v0.5.6

Diff since v0.5.5

  • The operation -(::Quaternion) is now defined.
  • The package is now tested only against Julia 1.0 and 1.5.

v0.5.5

06 May 20:04

Choose a tag to compare

ReferenceFrameRotations v0.5.5

Diff since v0.5.4

  • Quaternion now supports scalar indexing. This forced Quaternion to be a subtype of AbstractVector. Thus, it can now be broadcasted to a vector without any allocations.
  • The package is now tested only against Julia 1.0 and 1.4.

v0.5.4

22 Feb 16:04

Choose a tag to compare

ReferenceFrameRotations v0.5.4

Diff since v0.5.3

  • Improvements in the documentation of functions and macros.
  • The package is now tested only against Julia 1.0 and 1.3.

Closed issues:

  • dcm_to_quat may have wrong sign on the img part (#8)

Merged pull requests:

v0.5.3

21 May 21:05
v0.5.3

Choose a tag to compare

  • It is not necessary to use sprint to create the color sequences when using Crayons.jl.

v0.5.2

22 Apr 15:41

Choose a tag to compare

Dummy release to add Project.toml and switch to Registrator.jl.

v0.5.1

09 Mar 17:59

Choose a tag to compare

  • The conversion from DCM to Euler Angle and Axis had a bug when an identity DCM was being used. In this case, the returned axis was [NaN, NaN, NaN], when the correct is [0, 0, 0].
  • The test coverage was highly improve, reaching more than 97% of the code.
  • All the colors in printing functions are now handled by the package Crayons.jl.

v0.5.0

19 Nov 18:27

Choose a tag to compare

  • The function smallangle_to_dcm now returns a orthornormalized DCM by default. This behavior can be modified by the keyword normalize.
  • The nomenclature of all conversion functions was changed from <representation 1>2<representation 2> to <representation 1>_to_<representation 2>. Hence, for example, angle2dcm is now called angle_to_dcm. All the older names are now deprecated.
  • Many bugs were fixed in the conversion from DCM to Euler angles related to singularities, gimbal-locks, multiple representations, and signed zeros.
  • When converting from Euler angle and axis to quaternion, the real part will always be positive now.
  • The operations * and inv with EulerAngles are now defined.
  • The operations * and inv with EulerAngleAxis are now defined.
  • The conversion functions between DCM and Euler angle and axis were added (angleaxis_to_dcm and dcm_to_angleaxis).
  • EulerAngles and EulerAngleAxis structures now have a dedicated printing function.
  • The conversion functions between Euler angle and axis and Euler angles were added (angleaxis_to_angle and angle_to_angleaxis).
  • The function orthonormalize, which orthonormalizes DCMs using the Gram-Schmidt algorithm, was added.
  • The function angle_to_angle was added to modify the rotation sequence of Euler angles.
  • Many performance improvements.
  • Improvements in the printing function of quaternions.
  • The API functions inv_rotation and compose_rotation now support all the representations (DCM, Euler angle and axis, Euler angles, and quaternions).
  • A new, more general constructor for EulerAngles was added.

v0.4.1

27 Oct 15:42

Choose a tag to compare

  • The operation \ between Quaternions and Vector now supports every AbstractVector.
  • The EulerAngleAxis now stores the vector v using SVector instead of Vector. Notice that the constructors were adapted to accept all AbstractVector. Hence, it is not expected any breakage in old code.
  • The conversion between Quaternion and EulerAngleAxis now checks if the Euler angle is 0. In this case, the Euler vector [1;0;0] is used. Previously, a vector with NaN was returned.

v0.4.0

17 Oct 22:01

Choose a tag to compare

  • The function dcm2quat forced the returned Quaternion to be of the same type of DCM. However, since some floating-point operations are required to convert between these two rotation representation, then it could lead to InexactError exception. Old code that depends on the quaternion type returned from dcm2quat may break.
  • DCM{T} was defined as SMatrix{3,3,T}. However, this can lead to type-unstable functions in some cases. Hence, the definition was changed to SMatrix{3,3,T,9}. Code using DCM{T} will continue to work without problems.
  • The function eye has been marked as deprecated in favor of the initialization using the UniformScalling (I) object.
  • The norm function was not being exported.
  • The left and right division operations between two quaternions was defined. Hence, the operation inv(q)*v*q can be now written in the more compact form q\v*q.
  • DCMs and Quaternions now fully support the UniformScalling object for initialization and operations. Hence, an identity DCM can be created using DCM(I) and an identity quaternion can be created using Quaternion(I).
  • The structures and operations no longer restrict the type of the rotation representation to be real numbers. Hence, it is now possible to perform, for example, the multiplication between two integer quaternions. The type of the result will be automatically inferred.
  • The package is not tested against Julia 0.7 anymore. Although it is still supposed to work with Julia 0.7, it is highly advisable to use Julia 1.0 or higher.
  • The documentation of the functions was modified to be less verbose.

v0.3.0 - Full support for Julia 0.7 and 1.0

09 Aug 02:26

Choose a tag to compare

  • Full support for Julia 0.7 and Julia 1.0.
    • The support for Julia <= 0.6 is dropped in this version. Hence, ReferenceFrameRotations.jl will not work with those versions anymore. If it is necessary to use Julia <= 0.6, then you should need to stick with ReferenceFrameRotations.jl <= 0.2.1.