z1_controller/include/trajectory/SCurve.h

49 lines
1.0 KiB
C
Raw Normal View History

2022-07-20 11:11:38 +08:00
#ifndef SCURVE_H
#define SCURVE_H
/* 归一化后的s曲线 */
#include <iostream>
class SCurve{
public:
SCurve(){}
~SCurve(){}
void setSCurve(double deltaQ, double dQMax, double ddQMax, double dddQMax);
void restart();
/*
使
= deltaQ * getDDs();
*/
double getDDs();
double getDDs(double t);
/*
使
= deltaQ * getDs();
*/
double getDs();
double getDs(double t);
/*
使
= deltaQ * gets();
*/
double gets();
double gets(double t);
double getT();
private:
int _getSegment(double t);
void _setFunc();
double _runTime();
bool _started = false;
double _startTime;
double _J, _aMax, _vMax;
double _T[7]; // period
double _t[7]; // moment
double _v0, _v1; // ds at _t[0], _t[1]
double _s0, _s1, _s2, _s3, _s4, _s5, _s6; // s at _t[0], _t[1]
};
#endif // SCURVE_H