Part 1 - How to Solve Inverse Kinematics of a 4 Leg Robot
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
quick question.... why it is norm(x,y) ? but my mind feels like norm(y,z) ... why not ?
Yes, you're right! It should be y, z. Thank you for spotting the error.
@@EngineerM hi , is there anyway i can contact with you ?
great topic, thanks 👍
This really helps. Thank you so much.
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 ;).
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?
thanks
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
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).
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.
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.
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 :)
could you explain please how we got theta 1 from left and right
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.
@@EngineerM Hi, I'm sorry but I don't get how you calculate Alpha 1, could you tell me the formula, please? Many thanks
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?
Why your voice come from left side in all? Make it "as mono" on next time.
Hi, I think the right side sound got accidentally deleted in the video editor. Should be fixed for the next one ;)
2d robotics
self.link_1 = 0.045 what is link1 ,link2,link3 denotes in the code
Hi, link1 = coxa, link2 = femur and link3 = tibia of the leg.