3D Rigid Body Angular Velocity

version 1.1 (2.97 KB) by Mitchell Tillman
Computes angular velocity between two 3D coordinate frames (3x3 matrices).


Updated 15 Sep 2021

From GitHub

View License on GitHub

Purpose: Returns the 3D angular velocity vector and scalar magnitude of a reference frame between two time points, in degrees or radians per second. Can handle rotation about any one or all three axes simultaneously. All computations are returned in the space-fixed coordinate system. See header comments in code for details.

The origins of both reference frames are both at the same point on the rigid body.
Within each reference frame, the axes are all orthogonal to one another.

First, computes the linear difference vector for each of the three axes. Because these three vectors all lie within the plane of rotation, their cross product produces the orientation of the axis of rotation. Then the axes are projected onto the plane of rotation, and their angular displacement times the sampling frequency (Hz) produces the magnitude of the angular velocity. Positive or negative angular velocity (direction of rotation) is evaluated by cross(frame1,frame2). Finally, the angular velocity vector is multiplied by the angular velocity magnitude.

Cite As

Mitchell Tillman (2022). 3D Rigid Body Angular Velocity (https://github.com/mtillman14/Ref-Frames-Angular-Velocity/releases/tag/v1.1), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2020b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.