An improved scurve algoritme with lineair transition stage.
There are several types of curve's to use:
-
Template class traditional lineair curve + scurve.
scurve_pro_orig.cpp scurve_pro_orig.h
-
Template class optimized scurve with lineair transition stage & gain input [curve power]
scurve_pro_gain.cpp scurve_pro_gain.h
-
Header only optimized scurve with with lineair transition stage & gain input [curve power].
scurve.h
Video of template_4 testing acc & dcc interupts during runtime:
simplescreenrecorder-2022-01-06_12.46.51.mp4
Implemenation example :
scurve_pro_orig<double>::Result res;
res=scurve_pro_orig<double>().motion(s, vo, ve, vs, a, at_time, gain);
std::cout<<"curvel:"<<res.sc_vr<<std::endl;
at_time+=0.001;