Comments (2)
Hello! Glad to hear you're enjoying the work.
The paper I link in the README by Samuel Buss in 2009 is a overview of the approach and should provide enough details on how to implement the solver or at least provide enough information to look up math topics you aren't familiar with, yet.
Even with that paper, though, there are still quirks particularly around rotations that the paper might not touch on in too much detail if I recall, and that I still haven't fixed in this repo. Specifically you should prefer rotations that are continuous and don't suffer from something like gimbal lock or redundant representations (ie not Euler angles) so the solver can correctly take small steps toward the one solution without getting stuck. Perhaps at some point I'll make the effort to fix rotations but I've since moved on to new projects.
IK is a fairly deep topic especially for robotics and afaik there are other, more modern solutions out there, as well, which I'd still like to learn more about. Unfortunately it doesn't seem to be a topic that's commonly written about in a very approachable way. Hopefully the above paper with the implementation from this repo can help shed some more light on the topic for you!
from closed-chain-ik-js.
Thanks for the help!
from closed-chain-ik-js.
Related Issues (20)
- Solver: Provide option to revert to last converged state when diverging
- Viewer KO with Firefox v111.0.1 (Win10 x64) HOT 2
- Error running hexapod html example
- WorkerSolver: Provide callback / promise for when solve ends
- Example: Provide demo with adjustable "virtual" degrees of freedom
- IKRootsHelper: Color Goals differently or add option to disable closure joint traversal
- IKRootsHelper: Ensure lines, widgets are not double added, improve performance
- Expose Serialization, Deserialization functions HOT 1
- URDF to IK: Handle when the root rotation is not completely free HOT 2
- Improve tolerance at fully extended configurations HOT 1
- Validate and document trackJointWrap field
- Consider making ChainSolver public
- Solver / ChainSolver : Provide option for excluding joints from the solve
- Example: Add shadow casting
- Example: Adding / removing a goal causes result to diverge HOT 3
- Solver: SVD causes result to diverge sometimes
- VR Example: Investigate R2 performance HOT 3
- Solver: Investigate GCP solver
- Examples: Build examples to separate branch
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 closed-chain-ik-js.