SPQR-Team-2019-REVAMPED/include/strategy_roles/corner_kick_2.h

44 lines
1003 B
C++

#pragma once
#include "sensors/data_source_camera_vshapedmirror.h"
#include "sensors/sensors.h"
#include "strategy_roles/game.h"
#define CK2_SPINNER_OVERHEAD 10
#define CK2_KICK_LIMIT_TILT1 200
#define CK2_KICK_LIMIT_MAX 315
#define CK2_KICK_LIMIT_MIN 45
class CornerKick2 : public Game{
public:
CornerKick2();
CornerKick2(LineSystem* ls, PositionSystem* ps);
private:
void realPlay() override;
void init() override;
void catchBall();
void spinner(int);
unsigned long timer = 0;
int state = 0;
int ball_catch_state = 0;
int ball_catch_timer = 0;
bool ball_catch_flag = false;
float ball_catch_tilt = 0;
int goal_coords = 0;
ComplementaryFilter* ballAngleFilter = new ComplementaryFilter(0.85);
int limitx = 0, spinner_state = 0;
bool spinner_flag = false;
float tilt1 = 0, tilt2 = 0, spinner_tilt = 0;
unsigned long spinner_timer = 0;
};