Giter Site home page Giter Site logo

Comments (5)

pantor avatar pantor commented on August 12, 2024

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.

Danielxyz123 avatar Danielxyz123 commented on August 12, 2024

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.

Danielxyz123 avatar Danielxyz123 commented on August 12, 2024

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.

Danielxyz123 avatar Danielxyz123 commented on August 12, 2024

Hi,

with the latest commit regarding to issue #69 and #68 this issue is also solved 👍. Thx a lot, great work!

from ruckig.

pantor avatar pantor commented on August 12, 2024

Ok great!

from ruckig.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.