📄 utilities.h
字号:
#ifndef UTILITIES_H
#define UTILITIES_H
#include "../Common/LocomotionCommand.h"
#include "../Common/HeadCommand.h"
class Utilities
{
public:
class HeadPoints {
public:
HeadPoints() {
sTilt2 = 0;
eTilt2 = 0;
sPan = 0;
ePan = 0;
frames = 0;
}
HeadPoints(double _sTilt2, double _eTilt2, double _sPan, double _ePan, int _frames) {
sTilt1 = 0.0;
eTilt1 = 0.0;
sTilt2 = _sTilt2;
eTilt2 = _eTilt2;
sPan = _sPan;
ePan = _ePan;
frames = _frames;
}
HeadPoints(double _sTilt1, double _eTilt1, double _sTilt2, double _eTilt2, double _sPan, double _ePan, int _frames) {
sTilt1 = _sTilt1;
eTilt1 = _eTilt1;
sTilt2 = _sTilt2;
eTilt2 = _eTilt2;
sPan = _sPan;
ePan = _ePan;
frames = _frames;
}
double sTilt1;
double eTilt1;
double sTilt2;
double eTilt2;
double sPan;
double ePan;
double frames;
};
Utilities();
// allows us to fiddle the locomotioncommand directly
void RawCommand(LocomotionCommand lc);
// Steps
void Step(int type, double frontStrideLength, double backStrideLength, double turn, double strafe, double stepFrequency);
void TurnWithBall(double turn, double stepFrequency);
void TurnWithBallHeadDown(double turn, double stepFrequency);
void StrafeWithBall(double strafe, double stepFrequency);
void Kick(int type, bool allowHeadUse);
void Kick(int type, bool allowHeadUse, double angle);
// Head Actions
void Head_Pan(double left, double right, double tilt, double speed,bool reset);
void Head_PanForBall(bool reset, bool right, int totalFrames);
void Head_FollowObject(int cx, int cy);
void Head_FollowObjectHeadDown(int cx, int cy);
void Head_MoveTo(double tilt, double pan, double roll);
bool Head_FlickLook(bool left, bool restart);
bool Head_MoveThroughPoints(HeadPoints points[], int arraySize, bool reset = false);
bool Head_MoveThroughPointsNoClosest(HeadPoints points[], int arraySize, bool reset = false);
bool SpinNotSlap(int type, double oppGoalHeading);
bool IsQueueEmpty();
void ClearQueue();
// Others
double GetHeadingToOwnGoal();
double GetHeadingToGoal();
double GetHeadingToGoalRam();
double GetClosestRobotAngle(double maxDistance);
};
#endif // UTILITIES_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -