Comments (1)
Hi, I am not a maintainer and don't have a specific answer but I might be able to give a little more information that might be helpful.
There is more information about what each term in the checker refers to at https://coin-or.github.io/Ipopt/SPECIALS.html. Changing the "derivative_test_perturbation" option will change the size of the errors and "derivative_test_tol" determines the cut-off for reporting the derivative is an error.
I believe the relative size of the error would depend on the non-linearity in the supplied Jacobian. This is because it is comparing to a first order (linear) estimate of the derivative. Thus the derivatives will not be the same. So treat it more as a test to see if you have implemented the analytic derivatives correctly.
With that in mind, I implemented a cart pole trajectory optimisation problem with IFOPT as the interface to IPOPT which is what is used in TOWR. The derivative checker there revealed errors in on the order of 1e-9 for a "derivative_test_perturbation" of 1e-8 and errors on the order of 1e-4 for a "derivative_test_perturbation" of 1e-4. But again, this is a different problem with different forms for the cost and constraints.
A final note: In my experience, using the analytic derivatives instead of a finite-difference method can provide 1 to 2 orders of magnitude reduction in solution time with IPOPT so regardless it is well worth defining the Jacobian analytically.
Thanks @awinkler for the awesome work in TOWR and IFOPT.
from towr.
Related Issues (20)
- Obtain some status information of the robot HOT 2
- CMake for other projects
- Advice on how to decrease unrealistic contact forces between spline nodes HOT 5
- how to increase leg lift height when swing phase? HOT 2
- How to implement this formulation symbolically (eg. in CasADi) HOT 3
- Integrating existing height map(Grid map) with Towr HOT 3
- link for "Add your own robot" dead HOT 1
- an Error
- add cool terrains/height-maps
- Phase duration optimization under a specified gait
- Broken link in readme file HOT 1
- nonlinear trajectory optimization for quadruped robot
- ROS noetic
- Calculate forces during standing HOT 1
- ROS 2 Foxy Release HOT 2
- Assertion failed
- Experiencing a strange behaviour HOT 1
- A small bug in HeightMap::GetDerivativeOfNormalizedBasisWrt()
- Optimization reporting infeasibility on simple terrains
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 towr.