更新 User/task/gimbal.c

扫描标准位
This commit is contained in:
yunhai 2026-03-20 05:55:18 +08:00
parent f5fb590fae
commit a942b42d8a

View File

@ -22,7 +22,7 @@ Gimbal_t gimbal;
AI_result_t ai_gimbal_result_cmd; /*ai发送自瞄数据和 导航数据*/
Gimbal_CMD_t final_gimbal_cmd; //最终命令
Gimbal_RefereeUI_t gimbal_ui;
/* USER STRUCT END */
/* Private function --------------------------------------------------------- */
@ -46,8 +46,7 @@ void Task_gimbal(void *argument) {
/* USER CODE BEGIN */
osMessageQueueGet(task_runtime.msgq.gimbal.imu, &gimbal_imu,NULL, 0);
Gimbal_UpdateIMU(&gimbal, &gimbal_imu);
osMessageQueueGet(task_runtime.msgq.gimbal.ai.g_cmd,&ai_gimbal_result_cmd,NULL, 0);
osMessageQueueGet(task_runtime.msgq.gimbal.ai.g_cmd,&ai_gimbal_result_cmd,NULL, 0);
/* ai指令 */
// if(osMessageQueueGet(task_runtime.msgq.gimbal.ai.g_cmd, &ai_gimbal_result_cmd, NULL, 0)==osOK){
// if(ai_gimbal_result_cmd.mode==0){
@ -59,16 +58,13 @@ osMessageQueueGet(task_runtime.msgq.gimbal.ai.g_cmd,&ai_gimbal_result_cmd,NULL,
// final_gimbal_cmd.set_yaw=ai_gimbal_cmd.gimbal_t.setpoint.yaw;
// }
// }
osMessageQueueGet(task_runtime.msgq.gimbal.cmd, &cmd_gimbal, NULL, 0);
if (cmd_gimbal.ctrl_mode == GIMBAL_MODE_AI) {
if (ai_gimbal_result_cmd.mode == 0) {
/* AI无目标 */
cmd_gimbal.mode = GIMBAL_MODE_ABSOLUTE;
if (cmd_gimbal.scan_enable==) {
if (ai_gimbal_result_cmd.reserved ) {
cmd_gimbal.ctrl_mode = GIMBAL_MODE_SCAN; /* 有扫描:回退到扫描模式 */
} else {
cmd_gimbal.ctrl_mode = GIMBAL_MODE_REMOTE; /* 无扫描:保持当前姿态不动 */
@ -87,6 +83,8 @@ if (cmd_gimbal.ctrl_mode == GIMBAL_MODE_AI) {
}
Gimbal_UpdateFeedback(&gimbal);
Gimbal_DumpUI(&gimbal,&gimbal_ui);
osMessageQueueReset(task_runtime.msgq.gimbal.yaw4310);
/* 底盘跟随统一使用大YAW反馈避免跟随锁到小YAW */