Code Monkey home page Code Monkey logo

Comments (4)

dianmuz avatar dianmuz commented on August 18, 2024

Thanks for the interest!

Currently IKBT doesn't support 7-DOF automatically. To be exact, you need to "guess" one DOF (out of the >6 DOFs) for any algorithms, since any DOF number that's greater than 6 would have infinite number of solutions.

In short it's not an error of the code. (My guess is if you set one of the DOF as known, and only put in 6 variables for IKBT, it's likely going to solve it. If you do try it out, plz let me know how it goes)

from ikbt.

mdicicco avatar mdicicco commented on August 18, 2024

Okay, thanks for the clarification. Feel free to close this issue, then.

You might want to consider a feature in the future where you can specify this kind of free variable. That's how I've seen IKFast and a few other hand coded IK solutions do it. When you make the final IK call, you provide the transform for the end-effector along with specified values for all the free variables and then it solves for the other 6 non-free variables.

from ikbt.

dianmuz avatar dianmuz commented on August 18, 2024

Thanks for the pointer! Very helpful, I'll definitely look into it :)

7 DOF support is actually one of things we're planning to build, along with 3+ parallel axes.

(BTW, you can actually run IKFast?? We tried to do it, but it always asked us to downgrade several packages. Because we have other things that depend on current versions of those packages, and the OpenRave is too gigantic for the virtual machine, we eventually gave up. I'm interested in learning how to do it without downgrading!)

from ikbt.

mdicicco avatar mdicicco commented on August 18, 2024

Closing this issue now. Keep in mind that the globals problem I mention in my original comment is going to get in the way as you go to a larger number of joints. You may want to define those globals in one file and do it programatically (just define a_n, d_n, th_n for all n up to the max_dof).

If you don't want to go full support for 6+n joints (where all n would be specified at IK call time) I think that just a special case for 7 would be very useful. Lots of robots on the market now use 7. I have a KUKA iiwa which is 7, and the Rethink robots are both 7, along with the PR2 arms.

I did get IKFast to work a long time ago, but I needed to get some email support from the developer to get it to run successfully. If I recall, the error had something to do with symbolic solver having problems with a mismatch the number of decimal points used to define the constants. My problems running IKFast were one of the reasons I was excited by your project.

from ikbt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.