44 lines
1003 B
C
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;
|
||
|
};
|