mirror of
https://gitee.com/dlmu-cone/bf_original_balance_chassis
synced 2026-07-24 03:27:45 +08:00
增加了遥控器按键功能并修改所有函数和类型定义为标准格式
This commit is contained in:
@@ -22,7 +22,6 @@
|
||||
|
||||
#include "arm_math.h"
|
||||
|
||||
|
||||
/* 根据robot_def.h中的macro自动计算的参数 */
|
||||
#define HALF_WHEEL_BASE (WHEEL_BASE / 2.0f)
|
||||
#define HALF_TRACK_WIDTH (TRACK_WIDTH / 2.0f)
|
||||
@@ -37,10 +36,10 @@ IMU_Data_t *Chassis_IMU_data;
|
||||
#endif // CHASSIS_BOARD
|
||||
static referee_info_t *referee_data; // 裁判系统的数据
|
||||
// static SuperCAP* cap; 尚未增加超级电容
|
||||
static dji_motor_instance *motor_lf; // left right forward back
|
||||
static dji_motor_instance *motor_rf;
|
||||
static dji_motor_instance *motor_lb;
|
||||
static dji_motor_instance *motor_rb;
|
||||
static DJIMotorInstance *motor_lf; // left right forward back
|
||||
static DJIMotorInstance *motor_rf;
|
||||
static DJIMotorInstance *motor_lb;
|
||||
static DJIMotorInstance *motor_rb;
|
||||
|
||||
/* chassis 包含的信息交互模块和数据*/
|
||||
static Publisher_t *chassis_pub;
|
||||
@@ -170,8 +169,8 @@ static void MecanumCalculate()
|
||||
{
|
||||
vt_lf = -chassis_vx - chassis_vy - chassis_cmd_recv.wz * LF_CENTER;
|
||||
vt_rf = -chassis_vx + chassis_vy - chassis_cmd_recv.wz * RF_CENTER;
|
||||
vt_lb = chassis_vx + chassis_vy - chassis_cmd_recv.wz * LB_CENTER;
|
||||
vt_rb = chassis_vx - chassis_vy - chassis_cmd_recv.wz * RB_CENTER;
|
||||
vt_lb = chassis_vx + chassis_vy - chassis_cmd_recv.wz * LB_CENTER;
|
||||
vt_rb = chassis_vx - chassis_vy - chassis_cmd_recv.wz * RB_CENTER;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -249,7 +248,7 @@ void ChassisTask()
|
||||
|
||||
// 获取裁判系统数据
|
||||
// 我方颜色id小于7是红色,大于7是蓝色,注意这里发送的是对方的颜色, 0:blue , 1:red
|
||||
chassis_feedback_data.enemy_color = referee_data->GameRobotStat.robot_id > 7 ? 1 : 0;
|
||||
chassis_feedback_data.enemy_color = referee_data->GameRobotStat.robot_id > 7 ? 1 : 0;
|
||||
// 当前只做了17mm的数据获取,后续根据robot_def中的宏切换双枪管和英雄42mm的情况
|
||||
chassis_feedback_data.bullet_speed = referee_data->GameRobotStat.shooter_id1_17mm_speed_limit;
|
||||
chassis_feedback_data.rest_heat = referee_data->PowerHeatData.shooter_heat0;
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
#ifndef ONE_BOARD
|
||||
#include "can_comm.h"
|
||||
static CANCommInstance *chasiss_can_comm; // 双板通信
|
||||
#endif // !ONE_BOARD
|
||||
#endif // !ONE_BOARD
|
||||
|
||||
static RC_ctrl_t *remote_control_data; // 遥控器数据,初始化时返回
|
||||
static Vision_Recv_s *vision_recv_data; // 视觉接收数据指针,初始化时返回
|
||||
static Vision_Send_s vision_send_data; // 视觉发送数据
|
||||
static RC_ctrl_t *remote_control_data; // 遥控器数据,初始化时返回
|
||||
static Vision_Recv_s *vision_recv_data; // 视觉接收数据指针,初始化时返回
|
||||
static Vision_Send_s vision_send_data; // 视觉发送数据
|
||||
|
||||
static Publisher_t *gimbal_cmd_pub;
|
||||
static Gimbal_Ctrl_Cmd_s gimbal_cmd_send; // 传递给云台的控制信息
|
||||
@@ -38,8 +38,8 @@ static Chassis_Upload_Data_s chassis_fetch_data; // 从底盘应用接收的反
|
||||
|
||||
void GimbalCMDInit()
|
||||
{
|
||||
remote_control_data = RC_init(&huart3); // 修改为对应串口,注意dbus协议串口需加反相器
|
||||
vision_recv_data = VisionInit(&huart1); // 视觉通信串口
|
||||
remote_control_data = RemoteControlInit(&huart3); // 修改为对应串口,注意dbus协议串口需加反相器
|
||||
vision_recv_data = VisionInit(&huart1); // 视觉通信串口
|
||||
|
||||
gimbal_cmd_pub = PubRegister("gimbal_cmd", sizeof(Gimbal_Ctrl_Cmd_s));
|
||||
gimbal_feed_sub = SubRegister("gimbal_feed", sizeof(Gimbal_Upload_Data_s));
|
||||
@@ -107,11 +107,11 @@ void GimbalCMDTask()
|
||||
MouseKeySetMode();
|
||||
|
||||
// 设置视觉发送数据,work_mode在前一部分设置
|
||||
vision_send_data.bullet_speed=chassis_fetch_data.bullet_speed;
|
||||
vision_send_data.enemy_color=chassis_fetch_data.enemy_color;
|
||||
vision_send_data.pitch=gimbal_fetch_data.gimbal_imu_data.Pitch;
|
||||
vision_send_data.yaw=gimbal_fetch_data.gimbal_imu_data.Yaw;
|
||||
vision_send_data.roll=gimbal_fetch_data.gimbal_imu_data.Roll;
|
||||
vision_send_data.bullet_speed = chassis_fetch_data.bullet_speed;
|
||||
vision_send_data.enemy_color = chassis_fetch_data.enemy_color;
|
||||
vision_send_data.pitch = gimbal_fetch_data.gimbal_imu_data.Pitch;
|
||||
vision_send_data.yaw = gimbal_fetch_data.gimbal_imu_data.Yaw;
|
||||
vision_send_data.roll = gimbal_fetch_data.gimbal_imu_data.Roll;
|
||||
|
||||
// 推送消息,双板通信,视觉通信等
|
||||
// 应用所需的控制数据在remotecontrolsetmode和mousekeysetmode中完成设置
|
||||
|
||||
@@ -5,10 +5,9 @@
|
||||
#include "message_center.h"
|
||||
#include "general_def.h"
|
||||
|
||||
|
||||
static attitude_t *Gimbal_IMU_data; // 云台IMU数据
|
||||
static dji_motor_instance *yaw_motor; // yaw电机
|
||||
static dji_motor_instance *pitch_motor; // pitch电机
|
||||
static attitude_t *Gimbal_IMU_data; // 云台IMU数据
|
||||
static DJIMotorInstance *yaw_motor; // yaw电机
|
||||
static DJIMotorInstance *pitch_motor; // pitch电机
|
||||
|
||||
static Publisher_t *gimbal_pub;
|
||||
static Gimbal_Upload_Data_s gimbal_feedback_data; // 回传给gimbal_cmd的云台状态信息
|
||||
|
||||
@@ -5,11 +5,10 @@
|
||||
#include "bsp_dwt.h"
|
||||
#include "general_def.h"
|
||||
|
||||
|
||||
/* 对于双发射机构的机器人,将下面的数据封装成结构体即可,生成两份shoot应用实例 */
|
||||
static dji_motor_instance *friction_l; // 左摩擦轮
|
||||
static dji_motor_instance *friction_r; // 右摩擦轮
|
||||
static dji_motor_instance *loader; // 拨盘电机
|
||||
static DJIMotorInstance *friction_l; // 左摩擦轮
|
||||
static DJIMotorInstance *friction_r; // 右摩擦轮
|
||||
static DJIMotorInstance *loader; // 拨盘电机
|
||||
// static servo_instance *lid; 需要增加弹舱盖
|
||||
|
||||
static Publisher_t *shoot_pub;
|
||||
|
||||
Reference in New Issue
Block a user