#ifndef __ROBOTSELECTINIT_H #define __ROBOTSELECTINIT_H #include "sys.h" #include "system.h" //Parameter structure of robot //机器人参数结构体 typedef struct { float WheelSpacing; //Wheelspacing, Mec_Car is half wheelspacing //轮距 麦轮车为半轮距 float AxleSpacing; //Axlespacing, Mec_Car is half axlespacing //轴距 麦轮车为半轴距 int GearRatio; //Motor_gear_ratio //电机减速比 int EncoderAccuracy; //Number_of_encoder_lines //编码器精度(编码器线数) float WheelDiameter; //Diameter of driving wheel //主动轮直径 float OmniTurnRadiaus; //Rotation radius of omnidirectional trolley //全向轮小车旋转半径 }Robot_Parament_InitTypeDef; // Encoder structure //编码器结构体 typedef struct { int A; int B; int C; int D; }Encoder; //The minimum turning radius of Ackermann models is determined by the mechanical structure: //the maximum Angle of the wheelbase, wheelbase and front wheels //阿克曼车型的最小转弯半径,由机械结构决定:轮距、轴距、前轮最大转角 #define MINI_AKM_MIN_TURN_RADIUS 0.350f //Wheelspacing, Mec_Car is half wheelspacing //轮距 麦轮是一半 //#define MEC_wheelspacing 0.109 #define MEC_wheelspacing 0.0930 //修正2021.03.30 #define Akm_wheelspacing 0.162f #define Diff_wheelSpacing 0.177f #define Four_Mortor_wheelSpacing 0.26f #define Tank_wheelSpacing 0.235f //Axlespacing, Mec_Car is half axlespacing //轴距 麦轮是一半 #define MEC_axlespacing 0.085 #define Akm_axlespacing 0.158f #define Diff_axlespacing 0.155f #define Four_Mortor__axlespacing 0.28f #define Tank_axlespacing 0.222f //Motor_gear_ratio //电机减速比 #define HALL_30F 30 #define HALL_60F 60 #define MD36N_5_18 5.18 #define MD36N_27 27 #define MD36N_51 51 #define MD36N_71 71 #define MD60N_18 18 #define MD60N_47 47 //Number_of_encoder_lines //编码器精度 #define Photoelectric_500 500 #define Hall_13 13 //Mecanum wheel tire diameter series //麦轮轮胎直径 #define Mecanum_60 0.060f #define Mecanum_75 0.075f #define Mecanum_100 0.100f #define Mecanum_127 0.127f #define Mecanum_152 0.152f //Omni wheel tire diameter series //轮径全向轮直径系列 #define FullDirecion_60 0.060 #define FullDirecion_75 0.075 #define FullDirecion_127 0.127 #define FullDirecion_152 0.152 #define FullDirecion_203 0.203 #define FullDirecion_217 0.217 //Black tire, tank_car wheel diameter //黑色轮胎、履带车轮直径 #define Black_WheelDiameter 0.065 //#define Tank_WheelDiameter 0.047 #define Tank_WheelDiameter 0.043 //Rotation radius of omnidirectional trolley //全向轮小车旋转半径 #define Omni_Turn_Radiaus_109 0.109 #define Omni_Turn_Radiaus_164 0.164 #define Omni_Turn_Radiaus_180 0.180 #define Omni_Turn_Radiaus_290 0.290 //The encoder octave depends on the encoder initialization Settings //编码器倍频数,取决于编码器初始化设置 #define EncoderMultiples 4 //Encoder data reading frequency //编码器数据读取频率 #define CONTROL_FREQUENCY 100 //#define PI 3.1415f //PI //圆周率 void Robot_Select(void); void Robot_Init(double wheelspacing, float axlespacing, float omni_turn_radiaus, float gearratio,float Accuracy,float tyre_diameter); #endif