You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
1.9 KiB

2 days ago
/*
* robot_state.h
*
* Created on: Aug 2, 2024
* Author: akeguo
*/
#ifndef INC_ROBOT_STATE_H_
#define INC_ROBOT_STATE_H_
#include "BHBF_ROBOT.h"
#include "bsp_include.h"
typedef struct ChgRoad_Parameters
{
double KP11;
double KP22;
double KP33;
double KP44;
double KPCR1;
double KDCR1;
int32_t change_road_straight_count;
int32_t change_road_distance; //换道时的距离(执行换道前进程序的次数,可以理解为执行次数越多,机器人走的越远)
int32_t change_road_status_flag; //换道标志位
int32_t change_road_finish_flag;
double speed;
/**转弯*/
bool isTurn;
int Ini_Postition_L;
int Final_Postition_L;
int Ini_Postition_R;
int Final_Postition_R;
double ChgWidth;
}ChgRoad_Parameters;
typedef struct
{
double KP1;
double KP2;
double KP3;
double KP4;
double KPFB1;
double KDFB1;
int32_t deltaAngle1;
int32_t deltaAngle2;
int32_t deltaAngle3;
double ExpectationAngle;
int32_t change_road_finish_flag;
}AutoMove_Parameters;
extern ChgRoad_Parameters Chg_Pa;
extern int* AuTo_Flag;
void Manual_State_Entry(void);
void Manual_State_Do(void);
void LaneChangeDistance_Setting_State_Do(void);
void BackWardsDistance_Setting_State_Do(void);
void Auto_State_Do(void);
void Abnormal_State_Do(void);
//前进、后退、左转、右转
void Forwards_State_Do(void);
void Backwards_State_Do(void);
void TurnLeft_State_Do(void);
void TurnRight_State_Do(void);
void HALT_State_Do(void);//停止
void SwingHALT_State_Do(void);
void SwingLeft_State_Do(void);
void SwingRight_State_Do(void);
void SetLaneChangeDistance_State_Do(void);
void SetBackwardsDistance_State_Do(void);
void OtherMode_State_Do(void);
void TiltUp_Do();
void TiltDown_Do();
void TiltHalt_Do();
void TiltHome_Do();
void TiltCurrentModeDown_Do();
void SwingHome_Do();
void Auto();
void ChgLeft();
void ChgRight();
void ChgUp();
void ChgDown();
void ChgFinish();
#endif /* INC_ROBOT_STATE_H_ */