Releases: dfki-ric/pytransform3d
Releases · dfki-ric/pytransform3d
3.12.0
Features
- Add
transformations.norm_dual_quaternion
- Add option
unit
totransformations.concatenate_dual_quaternions
to allow multiplication of unnormalized dual quaternions - Update
transformations.dual_quaternion_requires_renormalization
to check for orthogonality of real and dual quaternion - Add
rotations.robust_polar_decomposition
as an alternative orthonormalization method for rotation matrices
3.11.0
Features
- Add random sampling of rotation matrices
- Add estimation of Gaussian rotation
- Add general implementation of Frechet mean
Bugfixes
- Fix case of no rotation for batch conversion from rotation matrices to axis-angle representation
- Do not catch ImportErrors for missing plotting dependencies except matplotlib
- Fix loading of color STL meshes by trying to load with Open3D first, since trimesh does not support color information in STL files
Refactoring
- Refactor conversion of trimesh scenes to meshes when converting to Open3D mesh by implementing the composition with Open3D
3.10.1
3.10.0
Features
- Add class
plot_utils.Camera
for animations of camera frames.
Documentation
- Update installation instructions to be compatible with zsh.
- Fix array shape in a docstring.
3.9.0
Highlight
The TemporalTransformManager
now allows vectorized queries along the time axis (contributed by @JonasHablitzel), for example,
tm = TemporalTransformManager()
tm.add_transform("A", "W", A2world)
tm.add_transform("B", "W", B2world)
A2B_at_start_time, A2B_after_start_time = tm.get_transform_at_time("A", "B", [0.0, 0.1])
Features
- Add
mrp_prod_vector
to apply modified Rodrigues parameters to a vector - Add alias
rot_log_from_compact_axis_angle
forcross_product_matrix
- Add alias
check_rot_log
forcheck_skew_symmetric_matrix
- Add
batch_rotations.norm_axis_angles
- Add
batch_rotations.axis_angles_from_quaternions
- Add
trajectories.concat_many_to_many
- Add
trajectories.concat_dynamic
- Add
trajectories.screw_parameters_from_dual_quaternions
- Add
trajectories.dual_quaternions_from_screw_parameters
- Add
trajectories.dual_quaternions_power
- Add
trajectories.dual_quaternions_sclerp
- Add
trajectories.batch_dq_q_conj
- Vectorize
TimeVaryingTransform.as_matrix
andTemporalTransformManager.current_time
to enable querying transformations for multiple times at once (#301)
Bugfixes
- Fix
mrp_double
for no rotation (np.zeros(3)
)
3.8.0
Features
- Add conversions between axis-angle representation and MRP
- Add functions to write numerically stable code and avoid pitfalls
matrix_requires_renormalization
- check if rotation matrix needs renormalizationnorm_euler
- maps Euler angles to unique intervaleuler_near_gimbal_lock
- checks if angles are close to gimbal lock singularityassert_euler_almost_equal
- checks if two sets of Euler angles are similarcompact_axis_angle_near_pi
- check if angle is close to piquaternion_double
- create another quaternion that represents the same orientation (double cover)quaternion_requires_renormalization
- check if quaternion needs renormalizationmrp_near_singularity
- check if angle is close to 2 * pinorm_mrp
- normalize angle to [-pi, pi]mrp_double
- create another mrp that represents the same orientation (double cover)assert_mrp_almost_equal
- check if two mrp vectors are similartransform_requires_renormalization
- check if transformation matrix needs renormalizationassert_exponential_coordinates_almost_equal
- check if exp. coordinates are similardual_quaternion_requires_renormalization
- check if dual quaternion needs renormalizationdual_quaternion_double
- create another dual quaternion that represents the same transformation (double cover)
Documentation
- Sort API documentation of rotations and transformations by representation
- Correct documentation of angle limits for Euler angles
3.7.0
Features
- Add concatenation of modified Rodrigues parameters (#299 )
- Add
TransformGraphBase.remove_frame
(#300 )
Documentation
- Fix PDF documentation
- Link examples in user guide about rotations and transformations
- Correct grammatical errors and typos
- Document how Gaussian distributions of transformations are computed
- Fix logo for dark mode (#297)
- Review documentation of UrdfTransformManager
- Explain example "Probabilistic Product of Exponentials" step by step
- Explain example "Concatenate Uncertain Transforms" step by step
- Explain quaternion operations
3.6.2
Documentation
- Improve rotor explanation
- Review user guide sections on rotations, transformations, and camera
- Add user guide section about uncertainty module (fix #291)
- Fix sidebar in section about ambiguities
- Better names of user documentation sections
- Remove animation section
- Add cross-references in API documentation