17namespace OneMotor::Motor::DJI
34 template <u
int8_t
id, MotorMode mode>
60 void setRef(
float ref)
noexcept;
74 std::unique_ptr<PIDController> ang_pid_;
75 std::atomic<float> ang_ref_;
135 std::unique_ptr<PIDController> pos_pid_;
136 std::unique_ptr<PIDController> ang_pid_;
137 std::atomic<float> pos_ref_;
138 std::atomic<float> ang_ref_ = {16384};
Control::PIDController< Control::Positional, float, Control::WithDeadband, Control::WithIntegralLimit, Control::WithOutputLimit, Control::WithOutputFilter, Control::WithDerivativeFilter > PIDController
PID控制器的类型别名,方便在M3508类中使用。
定义 M3508Base.hpp:20
MotorMode
定义了M3508电机的控制模式。
定义 M3508.hpp:24
@ Position
位置闭环控制模式
定义 M3508.hpp:25
@ Angular
速度闭环控制模式
定义 M3508.hpp:26
CAN总线驱动类,封装了底层CAN接口的打开、关闭、发送和接收回调注册等操作。
定义 CanDriver.hpp:32
M3508Base(Can::CanDriver &driver)
基类构造函数。
定义 N_M3508Base.cpp:10
void editAngPID(const std::function< void(PIDController *)> &func)
在运行时修改速度环的PID参数。
定义 N_M3508.cpp:61
void setRef(float ref) noexcept
设置目标角速度。
定义 N_M3508.cpp:55
M3508(Can::CanDriver &driver, const Control::PID_Params< float > &ang_params)
速度模式的构造函数。
定义 N_M3508.cpp:41
void editAngPID(const std::function< void(PIDController *)> &func)
在运行时修改速度环的PID参数。
定义 N_M3508.cpp:132
void setAngRef(float ang_ref) noexcept
设置速度环的最大输出,即位置环PID的输出限幅。该选项目前没有实际作用。
定义 N_M3508.cpp:111
void setPosRef(float pos_ref) noexcept
设置目标位置(角度)。
定义 N_M3508.cpp:117
void editPosPID(const std::function< void(PIDController *)> &func)
在运行时修改位置环的PID参数。
定义 N_M3508.cpp:123
M3508(Can::CanDriver &driver, const Control::PID_Params< float > &pos_params, const Control::PID_Params< float > &ang_params)
位置模式的构造函数。
定义 N_M3508.cpp:95
M3508电机类的前向声明。
定义 M3508.hpp:35
一个与平台无关的CAN帧结构体。
定义 CanFrame.hpp:35