Comments (4)
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.
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.
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.
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)
- RRR articulated manipulator HOT 2
- dVRK PSM inverse kinematics HOT 3
- Computation won't finish HOT 1
- UR5 self tests fail HOT 4
- Python 3.x support? HOT 2
- Failed to solve UR5 HOT 5
- Interpreting outputs HOT 1
- Sum of angles cos(x-y) error HOT 3
- Stuck in a loop while solving th_5 HOT 2
- Closed-chain kinematics HOT 1
- URDF Files HOT 1
- find_xy error HOT 3
- Implementing my own arm HOT 10
- [NewRobot]For ABB CRB collaborative robots, is there an analytical inverse solution? HOT 1
- SyntaxError: Missing parentheses in call to 'print' in generated Python code HOT 2
- Python 3.6 error HOT 1
- Panda Robot IK Solutions HOT 1
- Cannot solve my 6DoF robot case HOT 4
- Kinematics with wrist displacement HOT 3
- Error getting index of unknown variable HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ikbt.