energy changed

This commit is contained in:
sun
2019-08-09 06:38:43 +08:00
parent ef9f6e94e7
commit 05527de9e2
4 changed files with 35 additions and 29 deletions

View File

@@ -80,7 +80,7 @@ void Energy::setSmallEnergyInit() {
FILE *fp = fopen(PROJECT_DIR"/Mark/delta.txt", "r"); FILE *fp = fopen(PROJECT_DIR"/Mark/delta.txt", "r");
if (fp) { if (fp) {
fscanf(fp, "%d %d", &manual_delta_x, &manual_delta_y); fscanf(fp, "delta_x: %d, delta_y: %d", &manual_delta_x, &manual_delta_y);
fclose(fp); fclose(fp);
} }
} }

View File

@@ -29,9 +29,17 @@ void Energy::getAimPoint(cv::Point target_point_) {
extra_delta_y = 0; extra_delta_y = 0;
} }
int compensate_yaw = 0, compensate_pitch = 0;
if (mcu_data.enemy_color == ENEMY_BLUE) {
compensate_yaw = RED_COMPENSATE_YAW;
compensate_pitch = RED_COMPENSATE_PITCH;
} else if (mcu_data.enemy_color == ENEMY_RED) {
compensate_yaw = BLUE_COMPENSATE_YAW;
compensate_pitch = BLUE_COMPENSATE_PITCH;
}
double dx = -(target_point_.x - 320 - COMPENSATE_YAW - mcu_data.delta_x - manual_delta_x - extra_delta_x); double dx = -(target_point_.x - 320 - compensate_yaw - mcu_data.delta_x - manual_delta_x - extra_delta_x);
double dy = -(target_point_.y - 240 - COMPENSATE_PITCH - mcu_data.delta_y - manual_delta_y - extra_delta_y); double dy = -(target_point_.y - 240 - compensate_pitch - mcu_data.delta_y - manual_delta_y - extra_delta_y);
yaw_rotation = atan(dx / FOCUS_PIXAL) * 180 / PI; yaw_rotation = atan(dx / FOCUS_PIXAL) * 180 / PI;
pitch_rotation = atan(dy / FOCUS_PIXAL) * 180 / PI; pitch_rotation = atan(dy / FOCUS_PIXAL) * 180 / PI;
// cout << "yaw: " << yaw_rotation << '\t' << "pitch: " << pitch_rotation << endl; // cout << "yaw: " << yaw_rotation << '\t' << "pitch: " << pitch_rotation << endl;

View File

@@ -22,7 +22,6 @@ void Energy::writeDownSlightChange(cv::Mat &src) {
fclose(fp_delta); fclose(fp_delta);
} }
} }
if(fans_cnt>=1){
FILE *fp_data = fopen(PROJECT_DIR"/Mark/data.txt", "a"); FILE *fp_data = fopen(PROJECT_DIR"/Mark/data.txt", "a");
if (fp_data) { if (fp_data) {
if(mcu_data.mark == 1){ if(mcu_data.mark == 1){
@@ -44,7 +43,6 @@ void Energy::writeDownSlightChange(cv::Mat &src) {
fclose(fp_data); fclose(fp_data);
} }
} }
}
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------

View File

@@ -30,10 +30,10 @@ using namespace std;
McuData mcu_data = { // 单片机端回传结构体 McuData mcu_data = { // 单片机端回传结构体
0, // 当前云台yaw角 0, // 当前云台yaw角
0, // 当前云台pitch角 0, // 当前云台pitch角
ARMOR_STATE, // 当前状态,自瞄-大符-小符 BIG_ENERGY_STATE, // 当前状态,自瞄-大符-小符
0, // 云台角度标记位 0, // 云台角度标记位
0, // 是否为反陀螺模式 0, // 是否为反陀螺模式
ENEMY_BLUE, // 敌方颜色 ENEMY_RED, // 敌方颜色
0, // 能量机关x轴补偿量 0, // 能量机关x轴补偿量
0, // 能量机关y轴补偿量 0, // 能量机关y轴补偿量
}; };
@@ -66,7 +66,7 @@ int main(int argc, char *argv[]) {
video_gimbal = new CameraWrapper(ARMOR_CAMERA_EXPOSURE, ARMOR_CAMERA_GAIN, 2/*, "armor"*/); video_gimbal = new CameraWrapper(ARMOR_CAMERA_EXPOSURE, ARMOR_CAMERA_GAIN, 2/*, "armor"*/);
video_chassis = new CameraWrapper(ENERGY_CAMERA_EXPOSURE, ENERGY_CAMERA_GAIN, 2/*, "energy"*/); video_chassis = new CameraWrapper(ENERGY_CAMERA_EXPOSURE, ENERGY_CAMERA_GAIN, 2/*, "energy"*/);
} else { } else {
video_gimbal = new VideoWrapper(PROJECT_DIR"/test_video/red_small.avi"); video_gimbal = new VideoWrapper(PROJECT_DIR"/test_video/blue_small.avi");
video_chassis = new VideoWrapper(PROJECT_DIR"/test_video/red_small.avi"); video_chassis = new VideoWrapper(PROJECT_DIR"/test_video/red_small.avi");
} }
if (video_gimbal->init()) { if (video_gimbal->init()) {