37 lines
1.1 KiB
C++
Executable File
37 lines
1.1 KiB
C++
Executable File
#ifndef TRAJECTORY_MANAGER_H
|
|
#define TRAJECTORY_MANAGER_H
|
|
|
|
#include <vector>
|
|
#include "control/CtrlComponents.h"
|
|
#include "trajectory/JointSpaceTraj.h"
|
|
#include "trajectory/EndLineTraj.h"
|
|
#include "trajectory/EndCircleTraj.h"
|
|
#include "trajectory/StopForTime.h"
|
|
|
|
class TrajectoryManager{
|
|
public:
|
|
TrajectoryManager(CtrlComponents *ctrlComp);
|
|
TrajectoryManager(ArmDynKineModel *armModel);
|
|
TrajectoryManager(ArmDynKineModel *armModel, CSVTool *csvState);
|
|
~TrajectoryManager(){}
|
|
bool getJointCmd(Vec6 &q, Vec6 &qd);
|
|
bool getJointCmd(Vec6 &q, Vec6 &qd, double &gripperQ, double &gripperQd);
|
|
void addTrajectory(Trajectory* traj);
|
|
void setLoop(double backSpeed = 0.7);
|
|
void restartTraj();
|
|
void emptyTraj();
|
|
Vec6 getStartQ();
|
|
Vec6 getEndQ();
|
|
HomoMat getEndHomo();
|
|
// bool checkTrajectoryContinuous();
|
|
private:
|
|
CtrlComponents *_ctrlComp;
|
|
JointSpaceTraj *_trajBack;
|
|
std::vector<Trajectory*> _trajVec;
|
|
int _trajID = 0;
|
|
double _jointErr = 0.05;
|
|
bool _trajCorrect = true;
|
|
bool _loop = false;
|
|
};
|
|
|
|
#endif // TRAJECTORY_MANAGER_H
|