From dbf246a7509a3899b8c49b8562421496fe986dc5 Mon Sep 17 00:00:00 2001 From: chenfu <2412777093@qq.com> Date: Tue, 21 May 2024 13:28:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9chassis=5Fcmd=5Fsend.vx=E5=8F=91?= =?UTF-8?q?=E9=80=81bug=EF=BC=8C=E7=AA=9D=E7=B3=BB=E7=89=A2=E7=97=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/cmd/robot_cmd.c | 14 +++++++++----- application/robot_def.h | 9 +++++---- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/application/cmd/robot_cmd.c b/application/cmd/robot_cmd.c index fff557e..5be3b0a 100644 --- a/application/cmd/robot_cmd.c +++ b/application/cmd/robot_cmd.c @@ -42,6 +42,8 @@ static Robot_Status_e robot_state; // 机器人整体工作状态 static Work_Mode_e vision_work_mode; // 视觉工作模式 static CANCommInstance *cmd_can_comm; // 底盘CAN通信实例 + +static chassis_direction_e chassis_direction; // 底盘方向 void RobotCMDInit() { rc_data = RemoteControlInit(&huart3); // 修改为对应串口,注意如果是自研板dbus协议串口需选用添加了反相器的那个 @@ -117,17 +119,19 @@ static void RemoteControlSet() // gimbal_cmd_send.pitch =( vision_recv_data->pitch == 0 ? gimbal_cmd_send.pitch : vision_recv_data->pitch ); // } // 左侧开关状态为[下],或视觉未识别到目标,纯遥控器拨杆控制 - chassis_cmd_send.vx = 0.0f; - if (abs(rc_data[TEMP].rc.rocker_r1) > 300) + if (abs(rc_data[TEMP].rc.rocker_r1) > 500) { - chassis_cmd_send.vx = 0.003f * (float)rc_data[TEMP].rc.rocker_r1; // _水平方向 + chassis_direction = CHASSIS_ALIGN; yaw_chassis_align_ecd = 2716; + } - else if (abs(rc_data[TEMP].rc.rocker_r_) > 300) + else if (abs(rc_data[TEMP].rc.rocker_r_) > 500) { - chassis_cmd_send.vx = 0.003f * (float)rc_data[TEMP].rc.rocker_r_; // _水平方向 + chassis_direction = CHASSIS_SIDLE; yaw_chassis_align_ecd = 765; } + + chassis_cmd_send.vx = 0.003f * ((float)rc_data[TEMP].rc.rocker_r_ + (float)rc_data[TEMP].rc.rocker_r1); gimbal_cmd_send.yaw -= 0.001f * (float)rc_data[TEMP].rc.rocker_l_; gimbal_cmd_send.pitch -= 0.0004f * (float)rc_data[TEMP].rc.rocker_l1; diff --git a/application/robot_def.h b/application/robot_def.h index a0f9334..c937da3 100644 --- a/application/robot_def.h +++ b/application/robot_def.h @@ -18,8 +18,8 @@ /* 开发板类型定义,烧录时注意不要弄错对应功能;修改定义后需要重新编译,只能存在一个定义! */ // #define ONE_BOARD // 单板控制整车 -#define CHASSIS_BOARD //底盘板 -//#define GIMBAL_BOARD //云台板 +//#define CHASSIS_BOARD //底盘板 +#define GIMBAL_BOARD //云台板 #define VISION_USE_VCP // 使用虚拟串口发送视觉数据 // #define VISION_USE_UART // 使用串口发送视觉数据 @@ -84,6 +84,7 @@ typedef enum CHASSIS_FREE_DEBUG, // 底盘单独调试模式 } chassis_mode_e; + // 云台模式设置 typedef enum { @@ -127,8 +128,8 @@ typedef struct typedef enum { - CAHSSIS_ALIGN = 0, - CHASSIS_SIDLE + CHASSIS_ALIGN = 0, + CHASSIS_SIDLE, } chassis_direction_e; /* ----------------CMD应用发布的控制数据,应当由gimbal/chassis/shoot订阅---------------- */