rigid_body_motion.ReferenceFrame¶
- class rigid_body_motion.ReferenceFrame(name=None, parent=None, translation=None, rotation=None, timestamps=None, inverse=False, discrete=False)[source]¶
A three-dimensional reference frame.
- __init__(name=None, parent=None, translation=None, rotation=None, timestamps=None, inverse=False, discrete=False)[source]¶
Constructor.
- Parameters
- name: str, optional
The name of this reference frame.
- parent: str or ReferenceFrame, optional
The parent reference frame. If str, the frame will be looked up in the registry under that name. If not specified, this frame will be a root node of a new reference frame tree.
- translation: array_like, optional
The translation of this frame wrt the parent frame. Not applicable if there is no parent frame.
- rotation: array_like, optional
The rotation of this frame wrt the parent frame. Not applicable if there is no parent frame.
- timestamps: array_like, optional
The timestamps for translation and rotation of this frame. Not applicable if this is a static reference frame.
- inverse: bool, default False
If True, invert the transform wrt the parent frame, i.e. the translation and rotation are specified for the parent frame wrt this frame.
- discrete: bool, default False
If True, transformations with timestamps are assumed to be events. Instead of interpolating between timestamps, transformations are fixed between their timestamp and the next one.
Methods
__init__([name, parent, translation, …])Constructor.
Remove this frame from the registry.
from_dataset(ds, translation, rotation, …)Construct a reference frame from a Dataset.
from_rotation_dataarray(da, timestamps, parent)Construct a reference frame from a rotation DataArray.
from_rotation_matrix(mat, parent[, name, …])Construct a static reference frame from a rotation matrix.
from_translation_dataarray(da, timestamps, …)Construct a reference frame from a translation DataArray.
get_transformation(to_frame)Alias for lookup_transform.
iter_path_reverse()Iterate up the tree from the current node.
lookup_angular_velocity([reference, …])Estimate angular velocity of this frame wrt a reference.
lookup_linear_velocity([reference, …])Estimate linear velocity of this frame wrt a reference.
lookup_transform(to_frame)Look up the transformation from this frame to another.
lookup_twist([reference, represent_in, …])Estimate linear and angular velocity of this frame wrt a reference.
register([update])Register this frame in the registry.
transform_angular_velocity(arr, to_frame[, …])Transform array of angular velocities from this frame to another.
transform_linear_velocity(arr, to_frame[, …])Transform array of linear velocities from this frame to another.
transform_points(arr, to_frame[, axis, …])Transform array of points from this frame to another.
transform_quaternions(arr, to_frame[, axis, …])Transform array of quaternions from this frame to another.
transform_vectors(arr, to_frame[, axis, …])Transform array of vectors from this frame to another.
Attributes
ancestorsAll parent nodes and their parent nodes.
anchestorsAll parent nodes and their parent nodes - see
ancestors.childrenAll child nodes.
depthNumber of edges to the root Node.
descendantsAll child nodes and all their child nodes.
heightNumber of edges on the longest path to a leaf Node.
is_leafNode has no children (External Node).
is_rootNode is tree root.
leavesTuple of all leaf nodes.
parentParent Node.
pathPath of this Node.
rootTree Root Node.
separatorThe
NodeMixinclass extends any Python class to a tree node.siblingsTuple of nodes with the same parent.