32 lines
940 B
C
32 lines
940 B
C
|
#ifndef ENDCIRCLETRAJ_H
|
||
|
#define ENDCIRCLETRAJ_H
|
||
|
|
||
|
#include "model/ArmDynKineModel.h"
|
||
|
#include "trajectory/EndHomoTraj.h"
|
||
|
|
||
|
class EndCircleTraj: public EndHomoTraj{
|
||
|
public:
|
||
|
EndCircleTraj(CtrlComponents *ctrlComp);
|
||
|
EndCircleTraj(ArmDynKineModel *armModel);
|
||
|
~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);
|
||
|
private:
|
||
|
bool _getEndTraj(HomoMat &homo, Vec6 &twist);
|
||
|
Vec3 _center;
|
||
|
double _radius;
|
||
|
HomoMat _centerHomo;
|
||
|
HomoMat _initHomoToCenter;
|
||
|
RotMat _initOri;
|
||
|
double _maxSpeed, _goalAngle, _speed, _angle;
|
||
|
Vec3 _omegaAxis;
|
||
|
|
||
|
bool _keepOrientation;
|
||
|
};
|
||
|
|
||
|
#endif // ENDCIRCLETRAJ_H
|