modified: User/module/gimbal.h

modified:   User/task/ai.c
This commit is contained in:
zzzhkgs@gmail.com 2026-03-15 11:27:23 +08:00
parent fc7d649d6d
commit cf8c530dc8
2 changed files with 17 additions and 0 deletions

View File

@ -27,6 +27,17 @@ extern "C" {
/* Exported macro ----------------------------------------------------------- */
/* Exported types ----------------------------------------------------------- */
/* 在 Gimbal_Vision_t 结构体中增加前馈成员 */
typedef struct {
uint8_t target_found;
float yaw;
float pit;
float yaw_v_ff; // Yaw 速度前馈
float pit_v_ff; // Pitch 速度前馈
// 如有需要可增加加速度前馈 a_ff
} Gimbal_Vision_t;
typedef enum {
GIMBAL_MODE_RELAX, /* 放松模式,电机不输出。一般情况云台初始化之后的模式 */
GIMBAL_MODE_ABSOLUTE, /* 绝对坐标系控制,控制在空间内的绝对姿态 */
@ -39,6 +50,8 @@ typedef struct {
float yaw; /* 视觉解算出的空间目标绝对 Yaw 角度 */
float pit; /* 视觉解算出的空间目标绝对 Pitch 角度 */
uint8_t target_found; /* 视觉是否已锁定目标 (0: 未锁定, 1: 锁定) */
float yaw_v_ff; // Yaw 速度前馈
float pit_v_ff; // Pitch 速度前馈
} Gimbal_Vision_t;
typedef struct {

View File

@ -94,12 +94,16 @@ static void AI_RxCpltCallback(void) {
vision_data.target_found = 1;
vision_data.yaw = ai_rx_data.yaw;
vision_data.pit = ai_rx_data.pitch;
vision_data.yaw_v_ff = ai_rx_data.yaw_vel;
vision_data.pit_v_ff = ai_rx_data.pitch_vel;
// ai_shoot_cmd.mode = SHOOT_MODE_READY;
break;
case 2: /* 控制云台且开火 */
vision_data.target_found = 1;
vision_data.yaw = ai_rx_data.yaw;
vision_data.pit = ai_rx_data.pitch;
vision_data.yaw_v_ff = ai_rx_data.yaw_vel;
vision_data.pit_v_ff = ai_rx_data.pitch_vel;
// ai_shoot_cmd.mode = SHOOT_MODE_FIRE;
break;
default: