#include "RobotLib.h"
unsigned int gi_1=0; /*球相对于机器人的方位标记*/
unsigned int eye_ch_all=0; /*复眼通道*/
unsigned int gi_2=0; /*拨球时间计数*/
unsigned int gi_3=0; /*防后退卡死计数1*/
unsigned int gi_4=0; /*防后退卡死计数2*/
unsigned int gi_5=0; /*防后退卡死计数3*/
unsigned int gi_6=0; /*防后退卡死计数4*/
unsigned int ball_light_d=0; /*球的远近比较域值*/ /*正前或正后方火焰值与之比较的值:得出球的远近:是否带上球或碰上球*/
unsigned int backTime_cnt=0; /**后退时计数比较的域值(相当于时间控制)**/
unsigned int BoQiuTime_cnt=0; /*拨球计数(时间控制)参数*/
unsigned int ball_light_jb=0;/*拨球亮度要求*/
unsigned int psdf=0; /*前红外测距*/
unsigned int psdb=0; /*后红外测距*/
unsigned int psdl=0; /*左红外测距*/
unsigned int psdr=0; /*右红外测距*/
unsigned int back_psd_distance=0; /*后红外测距B*/
unsigned int ball_distance=0; /*球的远近*/ /*正前或正后方火焰值*/
int left_right_psddifferrence=0; /*左右红外测距之差值*/
unsigned int right_psd=0; /*右侧红外测距*/
unsigned int left_psd=0; /*左侧红外测距*/
unsigned int front_eye_2ch,front_eye_4ch,back_eye_9ch,back_eye_11ch;/*前偏左、前偏右、反偏左、反偏右复眼单路*/
unsigned int compass_1=0; /*指南针*/
unsigned int eye_1=0; /*复眼亮度最亮值*/
unsigned int psd_ff=0; /*前红外测距域值*/
unsigned int psd_bb=0; /*后红外测距域值*/
float time_1=0.0;/*防乌龙转身时间控制*/
float power_speed=0;
unsigned int ball=0;/*有没有球*/
unsigned int frontball=400;/*前拨球单敏探头亮度要求*/
unsigned int backball=400;/*后拨球单敏探头亮度要求*/
unsigned int psd_back_a;
unsigned int psd_back_b;
unsigned int psd_front_a;
unsigned int psd_front_b;
unsigned int psd_back_cum;
unsigned int eye0,eye1,eye2;
unsigned int eye_mnv;//复眼在球处于中近距离阀值 450
int my_EyeChMax()
{
int ch=0;
ch=EyeChMax();
return ch;
}
int time=0;
int key=0;
float fT;
void Run(int sl,int sr) //可设置功率,范围-100--100 可通过左下和右下按钮控制电机的停、转
{
SetMoto(0,sl*power_speed);
SetMoto(1,sr*power_speed);
SetMoto(2,-(sl+sr)*power_speed/2);
}
void RunB(int sl,int sr) //可设置功率,范围-100--100 可通过左下和右下按钮控制电机的停、转
{
SetMoto(1,-sl*power_speed);
SetMoto(0,-sr*power_speed);
SetMoto(2,(sl+sr)*power_speed/2);
}
#define A_GG_FL 0//AI(0)
#define A_GG_FR 1//AI(1)
#define A_GG_BL 2//AI(2)
#define A_GG_BR 3//AI(3)
#define WHITE 0
#define GREEN 1
#define BLACK 2
typedef struct{
int a;
int b;
}GC;
GC gc[2];
int gs;
int g_v[4];
int g_fl_l;
int g_fl_h;
int g_fr_l;
int g_fr_h;
int g_bl_l;
int g_bl_h;
int g_br_l;
int g_br_h;
int a[10];
void GetGG(void)
{
int i;
if(AI(A_GG_FL)<g_fl_l)g_v[0]=WHITE;
else if(AI(A_GG_FL)<g_fl_h)g_v[0]=GREEN;
else g_v[0]=BLACK;