194 lines
3.7 KiB
C
194 lines
3.7 KiB
C
#include "config.h"
|
|
#include "string.h"
|
|
|
|
#define DEBUG
|
|
|
|
#define CONFIG_BASE_ADDRESS (ADDR_FLASH_SECTOR_11)
|
|
|
|
#ifdef DEBUG
|
|
Config_Param_t config ={
|
|
|
|
#else
|
|
|
|
static const Config_Param_t config ={
|
|
|
|
#endif
|
|
|
|
.chassis={
|
|
|
|
.motor_3508_param[0]={BSP_CAN_1,0x201,MOTOR_M3508,false,false},
|
|
.motor_3508_param[1]={BSP_CAN_1,0x202,MOTOR_M3508,false,false},
|
|
.motor_3508_param[2]={BSP_CAN_1,0x203,MOTOR_M3508,false,false},
|
|
.motor_3508_param[3]={BSP_CAN_1,0x204,MOTOR_M3508,false,false},
|
|
|
|
.motor_6020_param[0]={BSP_CAN_1,0x205,MOTOR_GM6020,false,false},
|
|
.motor_6020_param[1]={BSP_CAN_1,0x206,MOTOR_GM6020,false,false},
|
|
.motor_6020_param[2]={BSP_CAN_1,0x207,MOTOR_GM6020,false,false},
|
|
.motor_6020_param[3]={BSP_CAN_1,0x208,MOTOR_GM6020,false,false},
|
|
|
|
|
|
|
|
.C6020Omega_param={
|
|
.k=1.0f,
|
|
.p=0.5f,
|
|
.i=0.1f,
|
|
.d=0.0f,
|
|
.i_limit=1.0f,
|
|
.out_limit=1.0f,
|
|
.d_cutoff_freq= -1.0f,
|
|
.range=-1.0f
|
|
},
|
|
|
|
.C6020Angle_param={
|
|
.k=0.2f,
|
|
.p=0.21f,
|
|
.i=0.1f,
|
|
.d=0.0f,
|
|
.i_limit=1.0f,
|
|
.out_limit=30.0f,
|
|
.d_cutoff_freq= -1.0f,
|
|
.range=360
|
|
},
|
|
|
|
.M3508v_param={
|
|
// .k=0.2f,
|
|
// .p=0.25f,
|
|
// .i=0.1f,
|
|
// .d=0.0f,
|
|
// .i_limit=1.0f,
|
|
// .out_limit=1.0f,
|
|
// .d_cutoff_freq= -1.0f,
|
|
// .range=-1.0f
|
|
.k=1.0f,
|
|
.p=0.8f,
|
|
.i=0.0f,
|
|
.d=0.0f,
|
|
.i_limit=1.0f,
|
|
.out_limit=1.0f,
|
|
.d_cutoff_freq= -1.0f,
|
|
.range=-1.0f
|
|
},
|
|
.chassis_follow_gimbalPID ={
|
|
.k=1.0f,
|
|
.p=0.5f,
|
|
.i=0.1f,
|
|
.d=0.0f,
|
|
.i_limit=1.0f,
|
|
.out_limit=0.5f,
|
|
.d_cutoff_freq= -1.0f,
|
|
.range=M_2PI
|
|
},
|
|
|
|
/*这两个数据是云台6020的零点和机械限位*/
|
|
.mech_zero=1.31f,
|
|
.travel=1.4f,
|
|
|
|
},
|
|
|
|
.gimbal={
|
|
.yaw_6020_motor={BSP_CAN_2,0x209,MOTOR_GM6020,false,true},
|
|
|
|
.yaw_4310_motor={
|
|
.can=BSP_CAN_2,
|
|
.can_id = 0x1,
|
|
.master_id=0x11,
|
|
.module = MOTOR_DM_J4310,
|
|
.reverse=false
|
|
},
|
|
.pitch_4310_motor={
|
|
.can=BSP_CAN_2,
|
|
.can_id = 0x2,
|
|
.master_id=0x12,
|
|
.module = MOTOR_DM_J4310,
|
|
.reverse=true
|
|
},
|
|
.pid.pitch_4310_motor_angle={
|
|
.k = -2.0f,
|
|
.p = 2.0f,
|
|
.i = 0.0f,
|
|
.d = 0.0f,
|
|
.i_limit = 1.0f,
|
|
.out_limit = 10.0f,
|
|
.d_cutoff_freq = -1.0f,
|
|
.range = M_2PI
|
|
},
|
|
.pid.pitch_4310_motor_omega={
|
|
.k = 0.3f,
|
|
.p = 0.3f,
|
|
.i = 0.0f,
|
|
.d = 0.0f,
|
|
.i_limit = 0.0f,
|
|
.out_limit = 1.0f,
|
|
.d_cutoff_freq = -1.0f,
|
|
.range = -1.0f
|
|
},
|
|
.pid.yaw_4310_motor_angle={
|
|
.k = 2.0f,
|
|
.p = 7.0f,
|
|
.i = 0.01f,
|
|
.d = 0.1f,
|
|
.i_limit = 0.0f,
|
|
.out_limit = 7.0f,
|
|
.d_cutoff_freq = 20.0f,
|
|
.range = M_2PI
|
|
},
|
|
.pid.yaw_4310_motor_omega={
|
|
.k = 0.0f,
|
|
.p = 0.3f,
|
|
.i = 0.0f,
|
|
.d = 0.0f,
|
|
.i_limit = 0.0f,
|
|
.out_limit = 1.0f,
|
|
.d_cutoff_freq = -1.0f,
|
|
.range = -1.0f
|
|
},
|
|
.pid.yaw_6020_motor_angle={
|
|
.k = 2.0f,
|
|
.p = 2.5f,
|
|
.i = 0.0f,
|
|
.d = 0.0f,
|
|
.i_limit = 0.0f,
|
|
.out_limit = 10.0f,
|
|
.d_cutoff_freq = 0.0f,
|
|
.range = M_2PI
|
|
},
|
|
.pid.yaw_6020_motor_omega={
|
|
.k = 0.30f,
|
|
.p = 0.4f,
|
|
.i = 0.01f,
|
|
.d = 0.0f,
|
|
.i_limit = 1.0f,
|
|
.out_limit = 1.0f,
|
|
.d_cutoff_freq = -1.0f,
|
|
.range = -1.0f
|
|
},
|
|
|
|
.mech_zero={
|
|
.yaw_6020=1.31f,
|
|
.yaw_4310=0.0f,/*大yaw无限位与零点*/
|
|
.pitch_4310=1.0f,
|
|
},
|
|
.travel={
|
|
.yaw_6020=1.4f,
|
|
.yaw_4310=-1.0f,/*大yaw无限位*/
|
|
.pitch_4310=0.9f,
|
|
// .pitch_4310=-1.0f,/*pitch无限位*/
|
|
},
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
};
|
|
|
|
|
|
/**
|
|
* @brief 获取机器人配置参数
|
|
* @return 机器人配置参数指针
|
|
*/
|
|
Config_Param_t* Config_GetRobotParam(void) {
|
|
return &config;
|
|
}
|