0
$\begingroup$

I came across robotics library (RL), but quite unclear about its real purpose. Is it a FK/IK solver library or simply an graphical simulator?. RL has poor documentation, so its not clear how to use it. Im looking for some C++ library where there APIs to solve FK/IF analytically. Thank you.

$\endgroup$
4
$\begingroup$
  1. The best way to understand forward and inverse kinematics is to write a library for its own. A good starting point is to implement Cyclic Coordinate Descent.
  2. So called "ready-to-run" librarys like OpenRave or OMPL have an extensive C++ tutorial section too but are notorius difficult to install. Most of them only run under linux, and are not even part of Ubuntu's package manager.
  3. And a short informal note: C++ is not a high-level-language, especially not in scientific environment.
| improve this answer | |
$\endgroup$
  • $\begingroup$ Just a quick comment: doing real robotics (with real robots I mean) tends to be extremely difficult without knowing C/C++. $\endgroup$ – Ugo Pattacini Sep 2 '16 at 19:07
  • $\begingroup$ (-1) for "C++ is not a high-level-language" and (-1) for "especially not in scientific environment". $\endgroup$ – CroCo Sep 6 '16 at 17:54
  • $\begingroup$ Why would you implement cyclic coordinate descent, which is iterative, when closed-form equations are derivable? $\endgroup$ – SteveO Mar 31 '17 at 18:11
2
$\begingroup$

I haven't used it personally (yet; it's only a matter of time), but I believe the Rigid Body Dynamics Library is what you're looking for - efficient forward and inverse kinematics.

I did a lot of work with the underlying math behind that library, and even wound up (creating my account here to) asking a couple questions about it, one of which was answered by the guy that wrote that library. I'll warn you - the math isn't for the faint of heart, but I believe that, like with a lot of things, you don't really need to understand all the underlying math to understand how to apply something.

Give it a shot, and feel free to ask if you have any questions!

| improve this answer | |
$\endgroup$
  • $\begingroup$ Hello @Chuck :) Thank for your comment. I looked up upon the RL kinematic solver APIs, but I was only able to find the numerical iterative solver instead of an analytical solver. I am worried because of the computational cost and time incurred in using a numerical solver instead of an analytical solver. Now I'm thinking of solving and deriving the kinematic equation for my arm and write my own functions in my code to speed up the process. Any advices/thoughts? Thank you :) $\endgroup$ – Vino Sep 2 '16 at 5:38
  • $\begingroup$ @VinokanthVelu - If it's possible to get an analytical solution, then you could absolutely go that route. Numeric solutions will always take longer than a pre-solved analytic solution, but they shouldn't take a long amount of time. $\endgroup$ – Chuck Sep 2 '16 at 12:29
0
$\begingroup$

I recommend KDL. It is kind of de facto kinematic library for the robotics community. It has both forward and inverse kinematic solver as well as generic capabilities to model your robot. You can use it as a stand-alone C++ library or with ROS.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.