Page 1 of 1

Mathematical function for robot assembly - help?

Posted: Thu Feb 10, 2022 11:09 am
by AlexD
Hi,
I'm a Solidworks/CAD novice/hobbiest and not sure if i'm looking in the right place for my solution. I'm in the process of building a hexapod robot and wanted some help working out the maths. The image below shows an assembly mock-up of one of the legs - the chassis on the Left, 3 rotational pivot points, and the tip of the foot far right.

What I need is a formula/function that can describe what angles are needed to give a specific XYZ position of the tip of the foot relative to the chassis - i.e. f(x,y,z) = angle1,angle2,angle3 (i am aware there will be 2 sets of answers for each set of XYZ coords). I'm sure Solidworks must know this to simulate motion and was hoping someone could at least point me in the right direction? If not Solidworks, is there something else out there?

Thanks
Alex
image.png

Re: Mathematical function for robot assembly - help?

Posted: Thu Feb 10, 2022 12:33 pm
by JSculley
What you are describing is called Inverse Kinematics. It isn't easy and SOLIDWORKS does not do it.

Re: Mathematical function for robot assembly - help?

Posted: Fri Feb 11, 2022 4:16 am
by AlexD
Thanks - I have some reading to do!

Re: Mathematical function for robot assembly - help?

Posted: Fri Feb 11, 2022 9:19 am
by SPerman
Depending on the degrees of freedom, the math behind this can be quite significant. Simultaneously solving multiple nonlinear equations.

Re: Mathematical function for robot assembly - help?

Posted: Sat Feb 12, 2022 7:44 am
by AlexD
Worse still, the model above is simplified - the actual model uses servos and push rods.

Re: Mathematical function for robot assembly - help?

Posted: Wed Mar 16, 2022 6:45 am
by the_h4mmer
AlexD wrote: Thu Feb 10, 2022 11:09 am
What I need is a formula/function that can describe what angles are needed to give a specific XYZ position of the tip of the foot relative to the chassis - i.e. f(x,y,z) = angle1,angle2,angle3
I'll preface my answer with saying that I'm all about the pursuit of knowledge and understanding, so I'm not trying to discourage your research in the slightest when I ask; why? Why do you need this?

I presume that you're looking to understand how to position/move the joint(s)/leg(s) for various types of locomotion, but are you sure you need a formula to do so? If you're attempting to integrate something like machine vision for use in computing the optimal positioning for traversal, I could see this being useful, but if you're making a bot that just moves, I would suspect (I don't know) you won't need to be so formal. Again, not discouraging you from pursuing the answer, because I for one would be interested in your findings, but I also would be interested in seeing your project complete and only ask in hopes that it helps you do so quicker.