Lie theory for the roboticist

Поділитися
Вставка
  • Опубліковано 16 вер 2024
  • Lie theory for the roboticist
    Joan Solà
    Robotics & AI Summer School 2020
    www.iri.upc.ed...

КОМЕНТАРІ • 76

  • @Artsmitica
    @Artsmitica Місяць тому +2

    Thank you Joan. A joy to watch. A pleasure to understand.

  • @kenbraithwaite9998
    @kenbraithwaite9998 3 роки тому +35

    This is an excellent motivation and overview for anyone new to Lie Theory, not just roboticists.

  • @dulimarta
    @dulimarta 2 роки тому +19

    I have been reading about Lie Group and Lie Algebra from several sources, but this video is the ultimate source that explains al the concepts very clearly

  • @oldcowbb
    @oldcowbb Рік тому +4

    why is no one in the comment section saying this: this is beautiful!!

  • @swagatochatterjee7104
    @swagatochatterjee7104 3 роки тому +4

    Today I found the video, I just want to thank you for the paper. It has been a lifesaver for a self learner

  • @TheDarktsun
    @TheDarktsun 2 роки тому +10

    Thank you for this explanation. I am looking into Lie algebras for QFT and found it poorly explained elsewhere. This explanation of the exponential is highly intuitive. I am most impressed and this is a great help to my research 🙏

  • @hvpnathan
    @hvpnathan 2 роки тому +6

    I finally can understand the Lie theory. Thanks for this excellent video.

  • @ryanhewitt9902
    @ryanhewitt9902 3 роки тому +14

    Thank you for creating this presentation! This is the perfect level of detail for my situation and is well structured.

  • @dariuszmaton5375
    @dariuszmaton5375 3 роки тому +4

    Fantastic answer to that last question.

  • @renjithravindran5018
    @renjithravindran5018 2 роки тому +5

    This lecture was extremely useful in understanding constrained optimization in machine learning using lie theory. Thanks a lot!!

  • @urewiofdjsklcmx
    @urewiofdjsklcmx 3 роки тому +4

    Excellent intuitive explanation of a very abstract topic

  • @Karim-nq1be
    @Karim-nq1be 3 роки тому +6

    Amazing course and teaching skills. IMO Great example of how you should introduce a topic to make it more easily understandable.

  • @noditschi
    @noditschi 9 місяців тому +1

    I had not expected to enjoy a lecture this much when it was targeted at roboticists. It helped solidify a few topics and relations that I had difficulty grasping from several other sources.

    • @joansola02
      @joansola02 8 місяців тому

      We roboticists are a little dumb. We need to make it very easy 😀.

    • @noditschi
      @noditschi 8 місяців тому +1

      @@joansola02 Don't know how to feel about this when the two robotocists that I personally know have been much faster than me grasping maths since 6th and 9th grade. 😁🥴🤪

  • @minhhungnguyen7867
    @minhhungnguyen7867 2 роки тому +4

    This is the definitive go-to video for people who wish to learn Lie theory like me. I'm so happy to finally be able to understand the paper regarding state estimation that I've been reading thus far. May I ask if there's a donation I can make to help keep the channel posting such quality material to the masses?

    • @joansola02
      @joansola02 2 роки тому +3

      Thanks for these words. We actually produce these videos as part of a Summer School (which has been running for three years already), not so much as part of a channel that produces content. The summer school covers many different topics in Robotics and AI. We also have public funding so it's not necessary to accept donations! Thanks!!

  • @laiha3015
    @laiha3015 2 роки тому +3

    I‘ m amazed at that extremely round he can draw a circle just by cursor! Fabulous!

    • @joansola02
      @joansola02 2 роки тому +2

      Noooo! I used a masking tape roll!

  • @BCarli1395
    @BCarli1395 7 місяців тому +1

    Thank you, sir. This is very helpful.

  • @quimicki
    @quimicki 2 роки тому +4

    What a great way to explain these concepts, thanks so much for sharing!

  • @rajanalexander4949
    @rajanalexander4949 3 роки тому +2

    Thanks for your engaging presentation on a topic which combines two of my favourite topics!

  • @user-om2rg2kn9d
    @user-om2rg2kn9d 3 роки тому +4

    Thank you for what you have done.

  • @LangwasserTV
    @LangwasserTV 2 роки тому +4

    I so much needed this. Thank you for providing this helpful video!

  • @SaiManojPrakhya
    @SaiManojPrakhya 2 роки тому +2

    Thank you so much for this excellent explanation!

  • @pseudolullus
    @pseudolullus Рік тому +2

    Gràcies Joan!

  • @vezeteueugeniu4426
    @vezeteueugeniu4426 3 роки тому +3

    very clear and easy to understand, thank you

  • @aladdin1776
    @aladdin1776 2 роки тому +1

    Thank you very much for this wonderful and perfect presentation

  • @rajeshviky
    @rajeshviky 3 роки тому +3

    Thank you! It was very intuitive.

  • @yurongyou2654
    @yurongyou2654 3 роки тому +2

    This is fantastic!! Thanks for sharing!

  • @michapeka2800
    @michapeka2800 3 роки тому +2

    Thank you for sharing.

  • @nononononobita
    @nononononobita 3 роки тому +3

    Thanks!

  • @er-wl9sy
    @er-wl9sy 3 роки тому +2

    Best explaination. Thank you

  • @weixinjiang9147
    @weixinjiang9147 3 роки тому +2

    Really helpful! Thanks for the sharing!

  • @marofe
    @marofe 3 роки тому +2

    Great examples! Thanks

  • @eslemnisa9671
    @eslemnisa9671 2 роки тому +1

    Fantastic and perfect!!!

  • @abdallahkassir9200
    @abdallahkassir9200 3 роки тому +3

    Cool!

  • @jaimeafarah7445
    @jaimeafarah7445 2 роки тому +3

    Referring to the upper part of the image at 1:08:09
    and from previous page at 49:41 I redefine here the skew matrix as S that is:
    [ω] × ≡ S & the basis Ez as : Ez ≡ [S([0,0,1])]₃ₓ₃ = [S(k)]₃ₓ₃
    Where k is the unit vector in the z axis k = (0,0,1)
    Let also
    [Rz(θ)]₃ₓ₃ be the rotation matrix by angle θ around the z axis in 3D
    and V a vector V = ( V₁ , V₂ , V₃ )
    my understanding for example :
    [S(k)]₃ₓ₃ (Lie algebra) : τ^ ∊ m −⊳ exp −⊳ R³ (3D manifold)
    Since d/dθ [Rz(θ)]₃ₓ₃ = [S(k)]₃ₓ₃ [Rz(θ)]₃ₓ₃
    then [Rz(θ)]₃ₓ₃ = exp { θ S(k)]₃ₓ₃ } −⊳ thus it is an exponential map.
    For the lower part of the image at 1:08:09
    Vector τ ∊ R³ −⊳ Exp −⊳ χ ∈ M
    Since S(A)B = A×B then [S(k)]₃ₓ₃ B = k × B
    with B = [Rz(θ)]₃ₓ₃ V ≡ V° it follows
    d/dθ { [Rz(θ)]₃ₓ₃ V } = [S(k)]₃ₓ₃ [Rz(θ)]₃ₓ₃ V = [S(k)]₃ₓ₃ V° = k × V°
    where V° is the vector V after rotation
    Using Rodrigues Formula for rotation the above becomes
    d/dθ V° = k × { V cos θ + ( k × V )sin θ + k( k ⋅ V )(1 - cos θ ) }
    = k × V cos θ + k × ( k × V )sin θ
    = ( -V₂ , V₁ , 0 ) cos θ + ( -V₁ , -V₂ , 0 )sin θ
    So d/dθ V° = ( -V₂ , V₁ , 0 ) cos θ + ( -V₁ , -V₂ , 0 )sin θ
    after integrating then V° = ( -V₂ , V₁ , 0 ) sin θ + ( V₁ , V₂ , 0 )cos θ + Vᵢ
    = ( V₁ cos θ - V₂ sin θ , V₂ cos θ + V₁ sin θ , V₃ )
    where Vᵢ = ( 0 , 0 , V₃ ) is a constant of integration.
    also V° = ( exp { θ [S(k)]₃ₓ₃ } ) V
    What is meant by " Exp " instead of exp ? is it : V° = { Exp S(k) } V ≜ V ⊕ S(k) ?
    (omitting θ) that is to say : Exp S = exp (θS) ?

    • @joansola02
      @joansola02 2 роки тому

      Hi Jaime. Regarding the question at the end: yes, Exp(a) = exp(skew(a)) in SO(2) and SO(3), and Exp(a) = exp(hat(a)) in the general case.
      Regarding the rest of your commentary, I guess you are just thinking out loud 🙂. What you did seems like constructing a one-parameter group, so rotating about a single axis with the single parameter being the rotation angle. But I fail to see what is your point.

  • @yizhouchen652
    @yizhouchen652 3 роки тому +2

    thanks!!!

  • @Myblogband
    @Myblogband 9 місяців тому +1

    So I think the empty set is not in the group.

  • @UnfinishedEngineer
    @UnfinishedEngineer 7 місяців тому +1

    that (*) is congugate that refers to inverse?

    • @joansola02
      @joansola02 7 місяців тому +1

      Yes. The general Lie group operation is "inverse". In the groups of unit complex numbers and quaternions, this is achieved with the conjugate. In rotation matrices, with the transpose. Each Lie group has its own form for the "inverse".

  • @neoneo1503
    @neoneo1503 2 роки тому +2

    cant say no more but thanks!

  • @pratikprajapati8620
    @pratikprajapati8620 3 роки тому +1

    What the heck 42:04? That’s awesome 🤩 Thanks a lot

    • @joansola02
      @joansola02 3 роки тому

      Hahaha best comment, thanks!

  • @spaghettihair
    @spaghettihair 2 роки тому +1

    At the end, is the presented Kalman filter equivalent to the one from the classic formulation?

    • @joansola02
      @joansola02 2 роки тому +2

      It depends on what you mean with equivalent! It's an EKF where the Jacobians are computed according to Lie theory, and the estimation is performed in the tangent space, then brought to the manifold with (+).

    • @oldcowbb
      @oldcowbb 9 місяців тому +1

      ​@@joansola02 if i understand correctly, the Jacobians are basically the Jacobians of the Log and Exp maps

    • @joansola02
      @joansola02 Місяць тому

      @@oldcowbb Hello. Sorry for being so late here. The Jacobians of a function are the derivatives of these function when the perturbations are made and evaluated at the tangent spaces of this function (departing and destination spaces). These derivatives are computed with the plus and minus signs, which are themselves defined via the exp and log maps. If this function happens to be the exponential map, then the jacobian is the derivative of exp, which happens to be called the "jacobian of the group".
      For example let R;Q be two rot matrices in SO(3). The function f(R;Q)=Q.tr*R has two departure spaces, both SO(3), and one destination space, also SO(3). It has thus two Jacobians: one wrt R and one wrt Q. They happen to be:
      df/dR = I
      df/dQ = d(Q.tr*R)/d(Q.tr) * d(Q.tr)/dQ = R.tr * (-Q) = - R.tr * Q
      and these are by no means the jacobians of exp or log. You can check the paper "a micro Lie theory for state estimation in robotics" for all proofs and developments of these derivatives and many more.

    • @joansola02
      @joansola02 8 днів тому

      @@oldcowbb No, the Jacobians in the EKF are those of the motion and measurement functions.
      The motion function is X

  • @oldcowbb
    @oldcowbb 9 місяців тому +1

    so all the covariances are handled in tangent space, so all the adhoc implementations i've been doing are actually correct lol

  • @drkevinsullivan
    @drkevinsullivan Рік тому +1

    Tiny error? Around 28:40. 19th century (18 hundreds), not 18th century.

    • @joansola02
      @joansola02 Рік тому +2

      Indeed!! Thank you for pointing it out! 🙂

  • @xephyr417
    @xephyr417 2 роки тому +3

    Bruh did you freehand that perfect circle at 1:03:07? Insane.

    • @joansola02
      @joansola02 2 роки тому +1

      Noooo! I used a masking tape roll!

  • @thuanbach6405
    @thuanbach6405 2 роки тому +1

    very clear thank you so muchhh

  • @sumitsarkar4517
    @sumitsarkar4517 2 роки тому +1

    The red curve on Manifold N (followed by sigma1(h) red point) as perturbation tau1 on Manifold M goes to zero (1:19:28) is due to the non linear property of mapping function f. Had f been a linear function it would have been a straight line on the tangent space . Am I correct in my understanding...please help !

    • @joansola02
      @joansola02 2 роки тому +1

      Yes @Sumit Sankar you are correct! It's the non-linearity of f() that produces a non-straight path on the tangent space of N. However, be careful, being f() a function of the elements in M, which are not vectors, stating that f() might be linear is dangerous or at least not obvious.

    • @sumitsarkar4517
      @sumitsarkar4517 2 роки тому +1

      @@joansola02 Thanx a lot !

    • @pau1976
      @pau1976 2 роки тому +1

      @@joansola02 for the definitions of derivative using the "(+)" and "(-)" operators to be correct, both, "x" as well as "f()" of "f(x)" need to be Lie Groups? I understand if you try to implement the "Lie Group derivative", it only makes sense if "x" is a Lie Group and f() is a Lie Group, as you need the exponential and logarithm to implement "(+)" and "(-)". Unless "f(x)" is just a linear map of lie groups....

    • @joansola02
      @joansola02 2 роки тому +1

      @@pau1976 Not necessarily. First, consider that vectors can be put in Lie group form, so (+) and (-) apply to them. Second, for non-Lie groups, you need at least the elements to be in a manifold. Then you need to define appropriate mappings. In the manifolds ocntext, (+) is known as retraction, and (-) as lift. Once (+) and (-) are defined, the definition of the derivative given in this course is valid and all consequences too (jacobians, covariances, kalman filters, or whatever you want). In fact, (+) and (-) are the retract and lift mappings in the context of Lie groups when the exponential map is used. But other maps are possible, leading to other definitions, which would also be valid to define derivatives, errors, covariances, etc. in the tangent space. Please look for information about "lift and retract" in the context of differentiable manifolds. M. Kaess at Georgia Tech has some documents about this. The library GTSAM is also using this.

    • @pau1976
      @pau1976 2 роки тому +1

      @@joansola02 Thanks a lot for the quick and detailed reply. Just to be sure about a detail, when using "exponential" for Lie Groups you get always the "right" point on the manifold. On the other side, a retraction is, in most cases, only locally correct but as most optimization processes are local ( like gradient descend ), it's good enough. Is that understanding correct? ( more formally if exp(ht), where "t" is a screw and "h" is the length along the screw "t", it will fall on SE(3) with a geodesic of length "h". On the other side Rx(ht) where "t" is a unit vector on the tangent space of "x", and "h" a length, it is not guaranteed that the pont on the manifold has a length "h" along the geodesic pointed by "t")

  • @minooisbusy
    @minooisbusy 3 роки тому +2

    1:09:04 Plus and minus operators

  • @drspoular
    @drspoular Рік тому

    من ممكن ان تبحث هذه الشجرتين حتي يتضح صلوا على النبي صلى الله عليه وسلم

  • @thygrrr
    @thygrrr 11 місяців тому +2

    Lies!