Alternatives to fsolve for solving systems of nonlinear equations with boundaries
16 views (last 30 days)
Show older comments
I’m solving an inverse kinematic problem for a four joint robotic arm. Essentially I have 3 equations (X, Y, Z) and four unknowns (Joint 1 – Joint4) so there are multiple possible solutions for each joint angle. It is a system of nonlinear equations.
fsolve is doing a wonderful job of solving the system for me, but in order to be able to apply my program to actual robot control I need to be able to add constraints to the possible range of the joint angles. They must be between 0 and pi radians.
I’ve tried lsqnonlin with boundaries but run into the problem that I have 3 equations and 4 unknowns.
Are there alternative functions that allow boundary inputs that will solve systems of nonlinear equations? Alternativly, is there a way to use/modify fsolve to force solutions into a range? I'm on R2012b.
Any thoughts would be much appreciated as I'm out of ideas and my google-fu is failing me.
2 Comments
Matt J
on 23 Mar 2013
I’ve tried lsqnonlin with boundaries but run into the problem that I have 3 equations and 4 unknowns.
How is that a problem? If you didn't care which of many solutions FSOLVE gave you, why do you care with LSQNONLIN?
Accepted Answer
More Answers (0)
See Also
Categories
Find more on Robotics in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!