Part 1 - How to Solve Inverse Kinematics of a 4 Leg Robot

Sdílet
Vložit
  • čas přidán 5. 07. 2022
  • This is part 1 of the 3 video series that explains the inverse kinematics (IK) of a 4-leg robot (but can be used for robots with any number of legs).
    Apologies for the audio; I have accidentally selected the wrong setting...
    Part 1: Single Leg IK
    Part 2: Full Body IK
    Part 3: Implementation of the Full Body IK in Python
    The code explained in Part 3 is available on my GitHub account: github.com/engineerm-jp/Inver...
    ---------------------------------------------------------------------------------------------------------------------
    Hi There, thank you for visiting Engineer M's Channel.
    I hope you enjoyed some of the videos! If you could subscribe and/or give thumbs-up, I would really appreciate it; it will keep my motivation up too!
    Engineer M's CZcams Channel: / engineerm
    If you have any questions regarding the content in the video, please feel free to ask in the comment section; I will do my best to answer you :)
    Here are other videos that may be interesting to you.
    - Python Function for Motions: HEXAPOD ROBOT - • Spider Robot Motions c...
    - Hexapod Robot with Raspberry Pi - Python Code - • Hexapod Robot with Ras...
    - Walking Methods of Hexapod Robot - • How a Six-Legged Robot...
    Engineer M's Facebook Page can be found Here: / anengineer.m
    Thank You for Watching!
  • Věda a technologie

Komentáře • 22

  • @oldhabbitsdiehard
    @oldhabbitsdiehard Před rokem +2

    quick question.... why it is norm(x,y) ? but my mind feels like norm(y,z) ... why not ?

    • @EngineerM
      @EngineerM  Před rokem +2

      Yes, you're right! It should be y, z. Thank you for spotting the error.

    • @oldhabbitsdiehard
      @oldhabbitsdiehard Před rokem

      @@EngineerM hi , is there anyway i can contact with you ?

  • @frankdearr2772
    @frankdearr2772 Před 2 měsíci

    great topic, thanks 👍

  • @JohnDoe-bk3db
    @JohnDoe-bk3db Před rokem +1

    This really helps. Thank you so much.

    • @EngineerM
      @EngineerM  Před rokem

      I'm glad to hear that. In the next 2 weeks I'll upload part 2 and 3 which will be about the full body IK and implementation in Python ;).

  • @rumnesia7216
    @rumnesia7216 Před 7 měsíci

    Hi, I work in vfx and have been trying to create my own math based inverse kinematics setup based on three vectors, so what needs to happen is say for example I have a fixed point (the shoulder) then when I move the wrist point, the elbow point should also move based on a calculation. So far I use the law of cosines to give me all of the angles between the three points, and I am a bit stuck now because when the end point moves, the elbow point needs to move simultaneously so basically the difference in the end point position needs to be added or subtracted from the elbow point, and then I will use a different equation to control the twist of the plane that the triangle sits on, any idea what I should look into for this?

  • @markadyash
    @markadyash Před rokem +1

    thanks

  • @rmutegeki
    @rmutegeki Před rokem +2

    Thanks for sharing your knowledge. I do have a challenge I'm facing. What about in cases where the number of joints in the front legs is different from those at the back. Say my front leg has 3 joints (base - L1 (pan), L1-L2 (shoulder), L2 - L3(elbow) with an additional fixed joint at the wrist) whereas the back legs have 4 joints (base - L1 (pan), L1 - L2 (shoulder), L2 - L3 (Bridge), L3 - L4 (Leg/knee) and of course the fixed joint at the ankle) how does this change our (Inverse) Kinematics implementation? Thank you

    • @EngineerM
      @EngineerM  Před rokem +1

      Hi, thank you for the question. I think in the case of 4DOF links, the kinematics would become a little more difficult. If the additional joint is a fixed joint (i.e., not rotating), then I think it's possible to treat the system as 3DOF, which is easier to solve; but you may need to add additional offsets (angle and position) to account for it. (similar to how I added an offset from the center of the body to the origin of the leg).

  • @hogoromootsutsuki4079
    @hogoromootsutsuki4079 Před 3 měsíci

    I am working on a project requiring custom IK, I have tried setting an Quadratic Lerping method, get the basic relative position of each bone in my rig, then I adjust from there. But I still have problems.

  • @trashgamer854
    @trashgamer854 Před rokem +3

    I don`t get it how do you get alpha1? On page 2 it looks like alpha1 = 360 Degree or 2PI - alpha 3.
    but If I use that the formula for O1 obviously does not work.

    • @EngineerM
      @EngineerM  Před rokem

      Hi, thank you for your question. alpha 3 is calculated using the y and z coordinate. The value of alpha is assumed to be always positive somewhere within 0 ~ 360 deg (2pi). This can be obtained using a custom function that adjusts the angle depending on which quadrant the (y, z) lies. I hope this helps :)

  • @Eng.AwsNafea
    @Eng.AwsNafea Před rokem +1

    could you explain please how we got theta 1 from left and right

    • @EngineerM
      @EngineerM  Před rokem

      Hi, I'm sorry I think the confusion is because of my mistake in the drawing. Alpha 1 should start from the positive x axis. The left leg can be though as a "mirrored" version of the right leg with the mirror plan being the XZ plane. If we draw the left leg, we can geometrically see that the theta 1 from the positive y axis is a1 + a3.

    • @guty_18
      @guty_18 Před rokem

      @@EngineerM Hi, I'm sorry but I don't get how you calculate Alpha 1, could you tell me the formula, please? Many thanks

  • @FulcrumMason
    @FulcrumMason Před 3 měsíci

    your theta 1 doesnt make sense to me, IE if 0 call it x3, was 80 degrees then x1 would be 280 , by adding them or subtracting wont give you theta 1 - or am i missing something?

  • @hacerdemirel9833
    @hacerdemirel9833 Před rokem +1

    Why your voice come from left side in all? Make it "as mono" on next time.

    • @EngineerM
      @EngineerM  Před rokem +2

      Hi, I think the right side sound got accidentally deleted in the video editor. Should be fixed for the next one ;)

  • @americanveteran1382
    @americanveteran1382 Před 10 měsíci +1

    2d robotics

  • @ArunKumar-sg6jf
    @ArunKumar-sg6jf Před rokem +1

    self.link_1 = 0.045 what is link1 ,link2,link3 denotes in the code

    • @EngineerM
      @EngineerM  Před rokem

      Hi, link1 = coxa, link2 = femur and link3 = tibia of the leg.