3D Rigid Body Angular Velocity
Updated 15 Sep 2021
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.
Mitchell Tillman (2021). 3D Rigid Body Angular Velocity (https://github.com/mtillman14/Ref-Frames-Angular-Velocity/releases/tag/v1.1), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!