46 lines
1.5 KiB
C++
Executable File
46 lines
1.5 KiB
C++
Executable File
#ifndef TRAJECTORY_H
|
|
#define TRAJECTORY_H
|
|
|
|
#include "common/math/mathTools.h"
|
|
#include "control/CtrlComponents.h"
|
|
#include "common/utilities/timer.h"
|
|
|
|
class Trajectory{
|
|
public:
|
|
Trajectory(CtrlComponents *ctrlComp);
|
|
virtual ~Trajectory(){}
|
|
virtual bool getJointCmd(Vec6 &q, Vec6 &qd){return false;};
|
|
virtual bool getJointCmd(Vec6 &q, Vec6 &qd, double &gripperQ, double &gripperQd){return false;};
|
|
virtual bool getCartesionCmd(Vec6 pastPosture, Vec6 &endPosture, Vec6 &endTwist){return false;};
|
|
|
|
void restart();
|
|
virtual void setGripper(double startQ, double endQ, double speed = M_PI);
|
|
|
|
bool correctYN(){return _settingCorrect;}
|
|
Vec6 getStartQ(){return _startQ;}
|
|
Vec6 getEndQ(){return _endQ;}
|
|
double getEndGripperQ(){return _endGripperQ;};
|
|
double getStartGripperQ(){return _startGripperQ;};
|
|
HomoMat getStartHomo(){return _startHomo;};
|
|
HomoMat getEndHomo(){return _endHomo;};
|
|
Vec6 getEndPosture(){return _endPosture;};
|
|
double getPathTime(){return _pathTime;}
|
|
protected:
|
|
void _runTime();
|
|
|
|
CtrlComponents *_ctrlComp;
|
|
ArmModel *_armModel;
|
|
CSVTool *_csvState;
|
|
bool _pathStarted = false;
|
|
bool _reached = false;
|
|
bool _settingCorrect = true;
|
|
double _startTime, _currentTime, _pathTime, _tCost;
|
|
|
|
Vec6 _qPast;
|
|
Vec6 _startQ, _endQ, _deltaQ;
|
|
HomoMat _startHomo, _endHomo;
|
|
Vec6 _startPosture, _endPosture, _deltaPosture;
|
|
double _startGripperQ, _endGripperQ;
|
|
};
|
|
|
|
#endif // TRAJECTORY_H
|