Comments (5)
I don't think that there is a general problem with the accuracy of your hardware. So first of all, every ErrorExecutionTimeCalculation is (at least when the input values are valid and within the numeric range stated in the Readme) a bug of Ruckig. So please post the input values (or a few typical ones) leading to that error here.
When you are already on a time optimal trajectory and then make slight changes e.g. to your target, that shouldn't necessrily result in a numeric error. However, Ruckig doesn't and cannot guarantee that the same trajectory will again be calculated, as you are exactly on a switching point between different trajectory profiles. When there is for example a two-step approach for calculating the trajectory, it would make sense the reduce the kinematic limits just a bit (e.g. by 1e-12
) the first time, and then increase the kinematic limits to the original values for the second time optimal profile. This way you could make sure that you get the same overall trajectory profile.
from ruckig.
Thx for your explanation.
Now i found out the problem... My usage of the offlinecheck with the second instance seems to be wrong. (If the offline check was bad, i didnt' gave these parameters to the online otg)
Without that check everything is fine. Probably the fault is, that i didt't call that cyclic like the online instance. But i copied the currentValues cyclic to the offline input structure.
resultOffline = otgExtrema.calculate(newInput, outputTrajectoryExtrema);
Could you make an simple example for the offline check case?
from ruckig.
Now i did some tests and theres no way to to get this offline check with the "calculate method" running without any errors. Most of the results are positiv, but not all (about 15% with cyclic input changes).
I have no idea why.
resultOffline = otgExtrema.calculate(newInput, outputTrajectoryExtrema);
result = otg.update(input, output);
//copy for Ruckig loop
input.current_position = output.new_position;
input.current_velocity = output.new_velocity;
input.current_acceleration = output.new_acceleration;
newInput = input; //copy for offline instance
from ruckig.
Hi,
with the latest commit regarding to issue #69 and #68 this issue is also solved 👍. Thx a lot, great work!
from ruckig.
Ok great!
from ruckig.
Related Issues (20)
- How to use ruckig::Trajectory with unknown DOF at compile time HOT 3
- Overshoot mitigation
- How are derivatives calculated? HOT 3
- High variances in calculation time HOT 2
- Time arbitrarily Ruckig? HOT 1
- Showcase for ruckig HOT 2
- Random errors from time to time
- ./example-3_waypoints Segmentation fault (core dumped) HOT 6
- How to get input waypoints time stamps when using Ruckig remote API HOT 2
- Polymorphic function params (single vs double FP) HOT 1
- Unintialized Variable
- Optional header not found HOT 1
- The problem encountered when using a class template with Ruckig. HOT 4
- Soft Terminal constrains? HOT 5
- Tutorial plot failure HOT 3
- Strange behaviour on target conditions HOT 1
- Retracement of position HOT 1
- ruckig pypi package for macos mislabeled as universal2 HOT 1
- How to integrate with an existing ros package? HOT 7
- Errors in solving cubic equation of one variable
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 ruckig.