Click here to Skip to main content
15,891,316 members
Please Sign up or sign in to vote.
2.50/5 (2 votes)
See more:
What is the best way to solve inverse kinematics of a robot? Neural network (fuzzy logic) or analytical? Do you have a source code of inverse kinematics solved by neural network? Thank you.

I have already implemented it using analytical way. Recently I have read papers stating that neural network is more efficient in solving inverse kinematics. I need a source code since, I do not have time anymore to revise my work. I do not understand neural networks that much and I believe it will greatly help my project for it to be efficient. I'm sorry if I am asking too much.
Posted
Updated 1-Feb-11 5:56am
v4
Comments
Sandeep Mewara 1-Feb-11 10:15am    
What effort have you made? Why you need a source code?
CompSciLover 1-Feb-11 11:10am    
I have already implemented it using analytical way. Recently I have read papers stating that neural network is more efficient in solving inverse kinematics. I need a source code since, I do not have time anymore to revise my work. I do not understand neural networks that much and I believe it will greatly help my project for it to be efficient. I'm sorry if I am asking to much.
Sandeep Mewara 1-Feb-11 11:15am    
Posting the details now will surely help.

If you just ask for code without any detail, you mostly don't get it.
All the best for this and your project.
CompSciLover 2-Feb-11 2:48am    
Tnx for the advice. This is my first time to post here, that is why. With further research, I now know how to use fuzzy logic as an inverse kinematic solver for a robot. i just don't know how to implement a fuzzy inteference system that solves inverse kinematics of my robot. actually , the robot I am implementing right now has 29 DOF. It is human like actually. Tnx for the post.
Sandeep Mewara 2-Feb-11 4:27am    
Sounds interesting! :)

Your question looks very strange; so I feel a bit confused. My first reaction of the question on robot kinematics was: it's not even "analytical", it's elementary school geometry! And this would be true if you consider simple industrial robots I worked with: 2-3 joints in one plain plus one more... As I could see, this is a majority. However, I do understand, there can be complex system; and I know about the use of neural networks, but that's for really complex systems and ill-posed problems that actually exist.

What I don't understand, is why are you asking about neural network approach while saying "I have already implemented it using analytical way". It you already did it and did correctly, this is an indicator of simplicity of your problem. How can you even think of applicability of neural network approach in this case? Moreover, how can you hope for any definitive answer if you conduct no idea of your robot problem and the complexity of your robot? I have an unpleasant feeling that you poorly understand this matter yourself. I would be very happy if you prove me wrong. To me, it looks like the presence of analytical solutions makes everything else an absurd. What for? Just to be "fashionable"?

I also cannot understand using brackets in "Neural network (fuzzy logic)". Are you talking about so called "neuro-fuzzy" approach. Normally, neural network and fuzzy logic (fuzzy sets and all that) are different branches of mathematics; I'm poorly familiar with neural networks, but fuzzy sets and logic is relatively easy stuff to learn. Again, I'm confused with your question. If there is a potential of using such advanced formalism in your problem, you would learn this stuff anyway, but if your were familiar with the backgrounds, your questions would be different. Do you really understand what are you asking about. Again, I have a feeling your problem is not a technical one but a whole methodical approach to knowledge and its application. And again, I would be very happy if you prove me wrong.

Best specialist I know in neural network, genetic and perhaps fuzzy methods in robotics is Anrew Kirillov, author of AForge.NET Framework: AForge.NET open source framework[^], http://en.wikipedia.org/wiki/AForge.NET[^]. He is a CodeProject author, you may want to contact him directly through CodeProject.

I saw other more or less relevant works on CodeProject, but you need to perform your search yourself.

—SA
 
Share this answer
 
v2
Comments
CompSciLover 2-Feb-11 3:04am    
For simple structures like the two-joint robotic arm, it is possible to mathematically deduce the angles at the joints given the desired location of the tip of the arm. However with more complex structures like n-joint robotic arm operatin in 3D space deducing a mathematical solution for the inverse kinematics becomes difficult.

(base from my research)Using fuzzy logic, we can construct a Fuzzy Ingerence System that deduces the inverse kinematics if the formward kinematics of the poblem is known, hence there is no need to undergo an analytical solution. Fuzzy solution is more efficent than analytical solution.

Now, I don't know how to implement a fuzzy inference system. And our adviser requires me to use fuzzy logic. I don't have time anymore to study about it. If you could just provide me with even the pseudocode, i would appreciate it. Thank you.
Sergey Alexandrovich Kryukov 2-Feb-11 3:50am    
I've updated my answer; remembered works by Andrew Kirillov, please see.
I'm more familiar with his works on vision though, you won't find much in kinematics.
Good luck.
--SA
Espen Harlinn 2-Feb-11 16:02pm    
Interesting framework, something to remember 5+
Sergey Alexandrovich Kryukov 2-Feb-11 16:48pm    
Than you, Espen.
A bit obsolete because vision is based on WinForms only, but this can be re-worked. Some problems with build, but I managed. Good quality and unbelievable diversity of methods.
--SA
My two cents on:

"if there is an analytical solution then it will outperform the neural network one".

:)
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 1-Feb-11 13:23pm    
Well, it looks obvious to me (well, 5 anyway). However, do you have a "proof link"?
--SA
CPallini 1-Feb-11 14:01pm    
Thank you. Nope, I haven't such a link, anyway, it looks obvious to me, it looks obvious to you, ... :-)
The best solution I've seen for many DOF and a limited development budget is to take advantage of the cheap game physics engines available. 'Pin' the body of a 'ragdoll'. 'Pick' an end effector and move it. You will see joint positions being calculated. All of the heavy lifting is done. There is pseudo code and more info here.
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900