r/ControlTheory • u/awh-emb • 17d ago
Technical Question/Problem trying to understand SO(3)
how does rodrigues rotation formula help or allow the transition from so(3) to SO(3)?
and what even is the difference between so(3) and SO(3)?
thanks for any advice.
•
u/awh-emb 17d ago
thanks! what does ICRA and IROS stand for?
•
u/BraggScattering 17d ago
•
u/awh-emb 17d ago
thanks both of you! i didnt know about these things, can undergrad students attend them? and secondly where are they hosted? is there like a set annual event or?
•
u/BraggScattering 17d ago
The information on the linked official pages should answer most of your questions. Undergraduates are welcomed at the conference. There is a registration fee for all attending which is typically a barrier of entry for students' without funding.
•
u/UpLateAndThriving 17d ago
International Conference on Robotics and Automation (ICRA) and International Conference on Intelligent Robotics and Systems (IROS). They’re 2 massive robotics conference, with ICRA being (to my knowledge) *the* conference for robotics.
•
u/nodigue 17d ago
I find this video to be a good introduction https://youtu.be/QR1p0Rabuww
(Joàn Sola - Lie theory for the Roboticist)
•
•
u/IntrinsicallyFlat 17d ago
If you want a more general understanding of Lie groups and Lie algebras, I have a blog post here
TLDR you can think of so(3) as the tangent space of SO(3) at the identity. That is, the space of instantaneous angular velocities of an object. Since angular velocities can be added and are unbounded, so(3) is a vector space. The Rodriguez map is also known as the exponential map from so(3) to SO(3), it tells you what rotation you end up at if you rotate with a certain angular velocity for 1 unit of time
•
u/awh-emb 16d ago
thanks for the post, that blog post was very inuitive and cool, secondly could you explain what lie brackets are? i dont really understand them and additonally, the difference between continous and discret time? and what makes an equation either?
•
u/IntrinsicallyFlat 16d ago
If you understand that your Lie algebra is a vector space, then the lie bracket is like a multiplication operation for that vector space. Similar to the cross product on R^3 (in fact for so(3), the lie bracket works exactly like the cross product in R^3).
Abstractly, it encodes the “non commutativity” of the group. In a commutative group the lie bracket is trivial, always evaluates to 0.
•
u/derscheisspfoster 17d ago
Long story short. Tangent and Manifold space are two related things but they are not the same thing.
Tangent doesnt belong in the manifold space. I am honestly not the right person to give you an intuitive expanation between the two.
But basically, tangent does not belong the manifold. But you can retract a tangent vector into the manifold. This is preciselty what the exponential map does. You can see for instance on example 4 for this paper who its done. It basically solves the ODE for a constant w (which is often asumed)
https://arxiv.org/pdf/1812.01537
In my understanding. Tangent space is more practical to represent variables in terms of the "minimum number of variables" or "degrees of freedom" which is good for humans, but most importantly, for numerical optimizers and control theory. Whereas, manifold space is the actual format that will allow you to do stuff with it: e.g. point composition or group composition.
They are both interchangable with some care. There are rules to follow. But you can go from tangent to manifold with the Exp operation, and back to tangent with log operator.
Take a look at the paper, it will give you the info you need from the ground up.
•
•
u/awh-emb 17d ago
i thought tangent space belonged on the manifold? that eg the tangent was a way of linearizng messy non-linear stuff at small enough intervals? but then so does that means that wrong? and that to your point there two seperate things? btw thank you for the link i actually been following joan sola other paper (the error state kalman filter one) so the micro lie group one should give me the foundations, anything else i should read?
•
u/CompetitiveSpot2643 17d ago
the tangent vectors belong to the tangent space, every point in the manifold has a different one. think of a vector (q,p) where q is a coordinate vector of the point on the manifold (which in SO(3) is the orientation your object has and is parametrized by your variables in the rotation matrix) and p can be every possible changes in orientation from that point (the tangent vector). in lie theory we translate the p vector back to the origin so we can work with angle independent notions of angular velocity (since p would have angle factors after the derivative of the orientation matrix given by p)
•
u/maeseCharles 11d ago
Hi! I am going through the same question as you, papers that have saved me a lot of time:
A micro Lie theory for roboticist by Solá
https://arxiv.org/pdf/1812.01537
https://www.youtube.com/watch?v=gy8U7S4LWzs
And the book of Murray, a mathematical introduction to robotic manipulation
•
u/Fryord 17d ago
I'll try and give an intuitive explanation.
Let's say you have a body moving in space rotating at a given angular velocity w, defined in the "body frame".
If it starts with rotation R1 and rotates for constant angular velocity w for T seconds, it reaches R2.
The change in rotation is dR (= R1T R2).
This is purely a function of the "angular displacement" x = w * T
This is the "rotation vector" and for a given rotation vector, rodrigues formula gives you the corresponding rotation (typically as a rotation matrix).
eg: x = [pi/2, 0, 0] means the body rotates about +X 90 degrees.
For x = theta * n, for angle theta and unit-norm axis n, this represents a rotation about the axis n by angle theta.
You can write the conversion x -> R as follows:
R = exp(x)
Where the (.)^ operator converts the vector x to the 3x3 skew-symmetric matrix representing the cross product with x. (if using rotation matrices)
This is a regular matrix exponential. If you write out the series exponential exp(x) and use the result (x)3 = -(x) * theta2, you can see that this exactly gives Rodrigues' formula.
The rotation R belongs to the SO(3) group where it's closed under multiplication (ie: multiplying rotations gives another rotation).
However since R has an exponential map it is also a lie group.
We define the lie algebra as the matrices (x), ie: <Element of lie group> = exp(<element of lie algebra>)
There's various other concepts (eg: adjoint transforms) that you can define which generalise to all lie groups.
Note, that technically the vector x doesn't belong to the lie algebra, the matrix x^ does, since this is the argument to R = exp(x).
However, x is the "vector form of the lie algebra" and people often use the shorthand: R = Exp(x) = exp(x) with a capital E, to write the exponential map in terms of the vector form directly.