z1_controller/include/trajectory/EndCircleTraj.h

32 lines
983 B
C
Raw Normal View History

2022-07-20 11:11:38 +08:00
#ifndef ENDCIRCLETRAJ_H
#define ENDCIRCLETRAJ_H
#include "trajectory/EndHomoTraj.h"
class EndCircleTraj: public EndHomoTraj{
public:
EndCircleTraj(CtrlComponents *ctrlComp);
~EndCircleTraj(){}
void setEndRoundTraj(HomoMat startHomo, Vec3 axisPointFromInit,
Vec3 axisDirection, double maxSpeed, double angle,
bool keepOrientation = true);
void setEndRoundTraj(std::string stateName, Vec3 axisPointFromInit,
Vec3 axisDirection, double maxSpeed, double angle,
bool keepOrientation = true);
2022-11-11 19:49:41 +08:00
void setEndRoundTraj(Vec6 startP, Vec6 middleP, Vec6 endP, double speed);
2022-07-20 11:11:38 +08:00
private:
2022-09-13 19:53:15 +08:00
void _centerCircle(Vec3 p1, Vec3 p2, Vec3 p3);
2022-07-20 11:11:38 +08:00
bool _getEndTraj(HomoMat &homo, Vec6 &twist);
2022-11-11 19:49:41 +08:00
Vec3 _center, _omegaAxis;
double _radius, _theta;
2022-09-13 19:53:15 +08:00
Vec6 _middlePosture;
Vec6 _middleQ;
2022-11-11 19:49:41 +08:00
HomoMat _initHomoToCenter, _middleHomo, _centerHomo;
2022-07-20 11:11:38 +08:00
RotMat _initOri;
bool _keepOrientation;
};
#endif // ENDCIRCLETRAJ_H