Calculate Rotational Body Rate for Vector Motion | Vector A & B

  • Thread starter Thread starter SEG9585
  • Start date Start date
  • Tags Tags
    Motion Vector
SEG9585
Messages
34
Reaction score
0
I've been stuck on this problem for a little while and was wondering if anyone could help me out:

I have 2 unit vectors, say vector A and vector B.
Vector B is stationary (never changes), while Vector A is arbitrary 3-d unit vector which may move with a 3-dimensional rotational body rate [dx dy dz] in degrees/second.

I need to figure out the body rate which would, after a given body rate quantity (in deg/sec), cause Vector A to pass directly through Vector B.

In other words, I need a rotational body rate which would move along the vector (Vector A - Vector B).

I know that there is more than 1 solution to this problem, since one of the three parameters needs to be 0 in order to move directly through the other vector (think in terms of pointing a cannon -- moving dx and dy is all you need to point the cannon correctly. If you add dz the cannon will be rotating on its axis and end up curving around the target).

Thanks for any help with this...
 
Physics news on Phys.org
None of the parameters needs to be 0 if I understand this... looking at the cannon, imagine it starts pointing up. It could curve in a circular arc and come back into the plane directly at one other height, for example.

The terminology you're using is a bit confusing though, perhaps you can explain
 
Imagine a 3-d plane, you are on the origin looking in a direction as defined by a unit vector. You want to move such that you will end up at another defined unit vector. Say you were looking at [1 1 1] and want to move to [0 0 1], to get there you would need a horizontal angular rate and a vertical angular rate (and 0 rotational rate), which would be [-1 -1 0]. If you had a rotational component you would end up slewing so that your other rates start curving you away from the target.

The above example is easy, but say your vector was [.1 .2 .3] and target was [.4 .5 .6]. To move to that vector, you need to move in the direction [.3 .3 .3], but I don't know what this translates to in terms of degrees/time [dx dy 0].
 
You aren't trying to find something like [dx,dy,0], what you need is a rate of change vector that makes A rotate along the plane that A and B form. So you may need a z component, depending on which two vectors you want. Also note the answer won't be unique, because you can have A do a full circle + more in one direction and it would still reach the same point again.

I would start the problem by finding the unit vectors in the direction of A and B, so you don't need to worry about what size they are (which is what's messing up the second example you gave). If you rotate A/|A| such that it passes through B/|B|, then rotating A the same way makes it pass through B.

Do you know what polar spherical coordinates are? Because if you can put A and B into those, you're pretty much done
 
Sorry if I am slow but I'm still not getting the results I need.
Here's a specific example:

A = [.4756 .8668 -.15]

B = [.9361 .53 -.2248]

I want to move from A to B at a rate of 5 degrees per second (magnitude), and record each new position of A every second (record A every time it moves 5 degrees in a MATLAB script). What calculation do I apply to A for every iteration so that it will eventually hit B?
 
Let A and B be unit vectors in 3-space spanned by orthonormal vectors
e1, e2, e3. A = a1e1 + a2e2 + a3e3 with a similar expression for B.
Since AA = BB =1 (unit vectors), we can bring A into coincidence with
B by writing
B = (AA)B = A(AB) = A(A.B + A^B).
(Contrary to popular opinion, vectors can be multiplied together!)
A.B = cos(phi_b), the usual inner product;
A^B = i sin(phi_b), where i is a unit bivector defining the plane containing A and B.
phi_b = arccos(a1b1 + a2b2 + a3b3).
To get i, just divide A^B by sin(phi_b).
A^B = (a1e1 + a2e2 + a3e3)^(b1e1 + b2e2 + b3e3)
= (a1b2 - a2b1)e1e2 + (a2b3 - a3b2)e2e3 + (a3b1 - a1b3)e3e1
=: c3e1e2 + c1e2e3 + c2e3e1, so that
i = A^B/sin(phi_b).
Now, armed with the value of i, we can calculate
the vector v(phi) in the i-plane corresponding to any value of phi:
v(phi) = A cos(phi) + Ai sin(phi), where Ai sin(phi_b) is the vector :
Ai sin(phi_b) = (a1e1 + a2e2 + a3e3)(c3e12 + c1e23 + c2e31)
= (a3c2 - a2c3)e1 + (a1c3 - a3c1)e2 + (a2c1 - a1c2)e3.
Here we have used em en = -en em and em em = 1.
Your vectors A and B are

A = 0.47559106 0.86678370 -0.14999718
B = 0.93610000 0.53000000 -0.22480000
Note that A is a unit vector (this is required!) but B is not. This
means that the phi is not a rotation angle as such but just a parameter
for interpolating between the starting (unit) vector A and the final
vector V, which becomes B at phi_b; i.e. A is rotated and scaled to get B.
If B is first normalized, then A is rotated but not scaled. Product Ai is
Ai = 1.4166382 e1 -0.81935448 e2 -0.24308883 e3.
8 vectors V(phi) follow:
Phi(radians) Vector
.000000 [ 0.475591 0.866784 -.149997]
.504386E-01 [ 0.546409 0.824372 -.162062]
.100877 [ 0.615838 0.779863 -.173715]
.151316 [ 0.683699 0.733371 -.184926]
.201754 [ 0.749822 0.685013 -.195667]
.252193 [ 0.814038 0.634913 -.205910]
.302632 [ 0.876183 0.583198 -.215629]
.353070 [ 0.936100 0.530000 -.224800]

I hope this is more or less what you wished for. If you want to learn
more about multiplying vectors together, download the pdf-file at the link:

http://www.mrao.cam.ac.uk/~clifford/publications/abstracts/imag_numbs.html
 
Last edited:
##\textbf{Exercise 10}:## I came across the following solution online: Questions: 1. When the author states in "that ring (not sure if he is referring to ##R## or ##R/\mathfrak{p}##, but I am guessing the later) ##x_n x_{n+1}=0## for all odd $n$ and ##x_{n+1}## is invertible, so that ##x_n=0##" 2. How does ##x_nx_{n+1}=0## implies that ##x_{n+1}## is invertible and ##x_n=0##. I mean if the quotient ring ##R/\mathfrak{p}## is an integral domain, and ##x_{n+1}## is invertible then...
The following are taken from the two sources, 1) from this online page and the book An Introduction to Module Theory by: Ibrahim Assem, Flavio U. Coelho. In the Abelian Categories chapter in the module theory text on page 157, right after presenting IV.2.21 Definition, the authors states "Image and coimage may or may not exist, but if they do, then they are unique up to isomorphism (because so are kernels and cokernels). Also in the reference url page above, the authors present two...
When decomposing a representation ##\rho## of a finite group ##G## into irreducible representations, we can find the number of times the representation contains a particular irrep ##\rho_0## through the character inner product $$ \langle \chi, \chi_0\rangle = \frac{1}{|G|} \sum_{g\in G} \chi(g) \chi_0(g)^*$$ where ##\chi## and ##\chi_0## are the characters of ##\rho## and ##\rho_0##, respectively. Since all group elements in the same conjugacy class have the same characters, this may be...
Back
Top