I need to find a way to solve invrese kinematics for Comau SMART-3 robot. Could you give me a few hints where to start looking? I have no idea about robotics and I couldn't find an algorithm for this specific robot.
5 Answers
To expand on Ugo's answer, some libraries that implement these general IK algorithms:
- OpenRave
- ROS MoveIt!
- Matlab Robotics Toolkit
- Orocos
For people just starting out with kinematics, I highly suggest using one of these powerful libraries.
Aside from somewhat rare cases, there is no recipe for solving Inverse Kinematics (IK) of specific manipulators that are equipped with a number of degrees of freedom (DOF) greater than or equal to 6. Even for DOF<6, roboticists tend to apply numeric methods rather than filling sheets of paper to come up with geometric solutions.
This is to say that the question "can you point me at IK algorithms for this robot?" is wrongly posed, because we just have generic IK algorithms, meaning that such a methodology is not tightly linked to any particular robot. However, in my opinion, also asking "can you tell me something about IK?" is not valid in the SE context, given that the discipline is so broad and needs to be the matter of a careful study. You have to read a book and understand all the details behind, even the smallest; we have plenty of online resources available for that. Answers to the latter question can be also derived by browsing SE (look here), even though they represent quite a shallow view on the problem.
Anyway, a quick search gives the following result about experimenting a specific IK method (just one out of the large variety of available techniques) with the SMART-3: link. This resource might be also introductory to the IK theory.
Like Ugo, I think it is doubtful that you will find a "plug and play" IK implementation for a commercial robot. There are several approaches to IK, one method that I know of for robotic arms is based on Denavit-Hartenberg parameters which allows you to very deliberately setup a transformation matrix representation of the arm. With these matrices, you can implement forward and inverse kinematics as outlined here. Unfortunately for you, a 6-axis robot arm is pretty tough for having "no idea about robotics". For robotic arms with a high degree of freedom, the IK problem is complicated by the fact that there can be two solutions for many of the joints, the "elbow up" and the "elbow down" solution. Thus numerical methods are typically needed. This will probably require a lot of learning to get it working for your robot.
Did a quick search and found additional StackExchange discussion on this topic that may be useful.
From my side, I believe the Robotic toolbox provides a trajectory map and it might be useful with it to find the inverse kinematics of the manipulator.
MATLAB: https://ch.mathworks.com/help/robotics/ug/inverse-kinematics-algorithms.html
Depending on how deep you want to dive in to this topic, I can recommend the book by Peter Corke (http://petercorke.com/wordpress/). It should be in stock in most universities. One may complain, that it simplifies some points every now and then, but for the entry level it is the weapon of choice, in my opinion.
Further, for modelling a robot, it might be valuable to understand Denavit–Hartenberg parameters (also covered in the previously mentioned book).