- 校正舵机中位、转向符号和阿克曼后轮差速模型\n- 增加航向角速度辅助及遥控通道调试开关\n- 将速度环提升至 200Hz,并按实际 dt 计算 PI 积分\n- 将 IMU 启动校准缩短为 2 秒\n- 为 USART3 增加 DMA 发送和 MCU 采样时间戳
39 lines
1.4 KiB
C
39 lines
1.4 KiB
C
#ifndef __BALANCE_H
|
||
#define __BALANCE_H
|
||
#include "sys.h"
|
||
#include "system.h"
|
||
|
||
#define BALANCE_TASK_PRIO 4 //Task priority //任务优先级
|
||
#define BALANCE_STK_SIZE 512 //Task stack size //任务堆栈大小
|
||
|
||
//Parameter of kinematics analysis of omnidirectional trolley
|
||
//全向轮小车运动学分析参数
|
||
#define X_PARAMETER (sqrt(3)/2.f)
|
||
#define Y_PARAMETER (0.5f)
|
||
#define L_PARAMETER (1.0f)
|
||
|
||
extern short test_num;
|
||
extern int robot_mode_check_flag;
|
||
extern u8 command_lost_count; //串口、CAN控制命令丢失时间计数,丢失1秒后停止控制
|
||
void Balance_task(void *pvParameters);
|
||
void Set_Pwm(int motor_a,int motor_b,int motor_c,int motor_d,int servo);
|
||
void Limit_Pwm(int amplitude);
|
||
float target_limit_float(float insert,float low,float high);
|
||
int target_limit_int(int insert,int low,int high);
|
||
u8 Turn_Off( int voltage);
|
||
u32 myabs(long int a);
|
||
int Incremental_PI_A (float Encoder,float Target,float dt);
|
||
int Incremental_PI_B (float Encoder,float Target,float dt);
|
||
int Incremental_PI_C (float Encoder,float Target,float dt);
|
||
int Incremental_PI_D (float Encoder,float Target,float dt);
|
||
void Get_RC(void);
|
||
void Remote_Control(void);
|
||
void Drive_Motor(float Vx,float Vy,float Vz);
|
||
void Key(void);
|
||
void Get_Velocity_Form_Encoder(void);
|
||
void Smooth_control(float vx,float vy,float vz);
|
||
void PS2_control(void);
|
||
float float_abs(float insert);
|
||
void robot_mode_check(void);
|
||
#endif
|