mv_arm/User/module/chassis.hpp
2026-01-14 17:33:05 +08:00

38 lines
681 B
C++

#pragma once
#include "main.h"
#include "bsp/can.h"
#include "device/motor.h"
#include "device/motor_rm.h"
#include "component/pid.h"
typedef struct
{
float m1;
float m2;
float m3;
float m4;
} motor_speed_t;
class Chassis {
public:
Chassis();
void init();
void operator()();
private:
void update_motors();
void calc_chassis();
void calc_pid();
void send_control();
KPID_t pid[4];
KPID_Params_t pid_params[4];
motor_speed_t target_speed = {0};
MOTOR_RM_Param_t motors_param[4];
MOTOR_RM_t chassis_motors[4];
float pid_output[4] = {0};
uint64_t time = 0;
uint64_t last_time = 0;
uint64_t dt = 0;
};