Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated wording in some areas of the angular kinematics chapter for 2024. #171

Merged
merged 1 commit into from
Feb 27, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 24 additions & 25 deletions angular.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,12 @@ After completing this chapter readers will be able to:
- apply the definition of angular velocity
- calculate the angular velocity of simple rotations
- choose Euler angles for a rotating reference frame
- calculate the angular velocity of references frames described by successive
- calculate the angular velocity of reference frames described by successive
simple rotations
- derive the time derivative of a vector in terms of angular velocities
- calculate the angular acceleration of a reference frame
- calculate the angular acceleration of successive rotations
- calculate the angular acceleration of reference frames described by
successive rotations

Introduction
============
Expand All @@ -58,7 +59,7 @@ system: typically both angular velocity and angular acceleration. Assuming that
a reference frame is fixed to a rigid body, we will start by finding the
angular kinematics of a single reference frame and then use the properties of
:ref:`Successive Orientations` to find the angular kinematics of a set of
connected reference frames.
related reference frames.

.. _Euler's Laws of Motion: https://en.wikipedia.org/wiki/Euler%27s_laws_of_motion
.. _angular momentum: https://en.wikipedia.org/wiki/Angular_momentum
Expand Down Expand Up @@ -94,10 +95,11 @@ Angular Velocity
In Ch. :ref:`Orientation of Reference Frames` we learned that reference frames
can be oriented relative to each other. If the relative orientation of two
reference frames change with respect to time, then we can calculate the angular
velocity :math:`{}^A\bar{\omega}^B` of reference frame :math:`B` when observed
from reference frame :math:`A`. If :math:`\hat{b}_x,\hat{b}_y,\hat{b}_z` are
right handed mutually perpendicular unit vectors fixed in :math:`B` then the
angular velocity of :math:`B` in :math:`A` is defined as ([Kane1985]_, pg. 16):
velocity of reference frame :math:`B` when observed from reference frame
:math:`A`. This vector is written with the notation :math:`{}^A\bar{\omega}^B`.
If :math:`\hat{b}_x,\hat{b}_y,\hat{b}_z` are right handed mutually
perpendicular unit vectors fixed in :math:`B` then the angular velocity of
:math:`B` when observed from :math:`A` is defined as ([Kane1985]_, pg. 16):

.. math::
:label: angular-velocity-definition
Expand All @@ -114,8 +116,8 @@ angular velocity of :math:`B` in :math:`A` is defined as ([Kane1985]_, pg. 16):
and angular velocities. :math:`{}^B\mathbf{C}^A` describes the orientation
of :math:`B` rotated with respect to :math:`A` and the mapping of vectors in
:math:`A` to vectors expressed in :math:`B`. Whereas
:math:`{}^A\bar{\omega}^B` describes the angular velocity of :math:`B` when
observed from :math:`A`.
:math:`{}^A\bar{\omega}^B` describes the angular velocity of :math:`B`
**when observed** from :math:`A`.

If :math:`B` is oriented with respect to :math:`A` and mutually perpendicular
unit vectors :math:`\hat{a}_x,\hat{a}_y,\hat{a}_z` are fixed in :math:`A` then
Expand Down Expand Up @@ -157,8 +159,8 @@ and establish the orientation using
B.orient_explicit(A, B_C_A.transpose())
B.dcm(A)

This now let's us write the :math:`B` unit vectors in terms of the :math:`A`
unit vectors:
This now let's write the :math:`B` unit vectors in terms of the :math:`A` unit
vectors:

.. jupyter-execute::

Expand Down Expand Up @@ -331,20 +333,20 @@ matrix exists between the two reference frames:
B.orient_axis(A, theta, A.z)
B.ang_vel_in(A)

.. todo:: Should this return the angular velocity expressed in the body fixed
frame?
.. todo:: SymPy behavior: Should this return the angular velocity expressed in
the body fixed frame?

A simple orientation and associated simple angular velocity can be formulated for
any arbitrary orientation axis vector, not just one of the three mutually
A simple orientation and associated simple angular velocity can be formulated
for any arbitrary orientation axis vector, not just one of the three mutually
perpendicular unit vectors as shown above. There is a simple angular velocity
between two reference frames :math:`A` and :math:`B` if there exists a single
unit vector :math:`\hat{k}` which is fixed in both :math:`A` and :math:`B` for
some finite time. If this is the case, then :math:`{}^A\bar{\omega}^B = \omega
\hat{k}` where :math:`\omega` is the time rate of change of the angle
:math:`\theta` between a line fixed in :math:`A` and another line fixed in
:math:`B` both of which are perpendicular to the orientation axis :math:`\hat{k}`.
We call :math:`\omega=\dot{\theta}` the angular speed of :math:`B` in
:math:`A`.
:math:`B` both of which are perpendicular to the orientation axis
:math:`\hat{k}`. We call :math:`\omega=\dot{\theta}` the :term:`angular speed`
of :math:`B` in :math:`A`.
:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_axis` can
take any arbitrary vector fixed in :math:`A` and :math:`B` to establish the
orientation:
Expand All @@ -364,13 +366,10 @@ The angular speed is then:

B.ang_vel_in(A).magnitude()

.. note:: This result should be :math:`|\dot{\theta}|`. This is a bug in SymPy,
see https://github.com/sympy/sympy/issues/23173 for more info. This
generally will not cause issues, but for certain equation of motion
derivations it could, so beware.

.. todo:: Why doesn't this simplify to theta dot? I tried ``real=True`` on
theta.
.. note:: This result could more properly be :math:`|\dot{\theta}|`. This is an
outstanding issue in SymPy, see https://github.com/sympy/sympy/issues/23173
for more info. This generally will not cause issues, but for certain
equation of motion derivations it could not be ideal, so beware.

Body Fixed Orientations
=======================
Expand Down
Loading