跳转到内容

MotorDrivers::Controller API

文档稀疏
符号
43
已记录
37
类型
4
继承关系
2
源码分支
main

6 / 43 个公开 API 符号没有说明。

继承关系总览

继承图尚未加载。

全部继承关系

共 4 个类型

类型目录
类

controllers::MotorPosController

查看源码

电机位置控制器 对初学者来说,可以把它理解成“把目标角度逐步变成驱动器能理解的控制命令”的中间层。

继承关系

基类
  • IController公开

构造与析构

2

MotorPosController

函数公开
        controllers::MotorPosController::MotorPosController (motors::IMotor *motor, const Config &cfg)
      

motor 被控制的电机 cfg 控制器配置

controllers/motor_pos_controller.hpp:56

成员函数

2

setRef

函数公开
        void controllers::MotorPosController::setRef (float position, float max_velocity=kNoLimit)
      

设置位置参考 position 目标输出轴角度,单位 deg max_velocity 位置环输出的最大目标角速度限制; 传 kNoLimit(默认)表示不施加额外限制

controllers/motor_pos_controller.hpp:69

成员变量

9

嵌套类型

1
结构体

controllers::MotorPosController::Config

查看源码

位置控制器配置

成员变量

5

internal_set_ratio

变量公开
        uint32_t controllers::MotorPosController::Config::internal_set_ratio
      

当驱动器支持内部位置指令时,发送频率相对于控制器 update 频率的分频。 用于只需要较低频率维持控制指令,同时需要节约总线负载的情况 如果只能发送内部速度指令,则会降速度指令的频率为位置环更新频率 应 >= 1

controllers/motor_pos_controller.hpp:49

position_pid

变量公开
        PIDMotor::Config controllers::MotorPosController::Config::position_pid
      

位置环 PID 配置,用于“角度 -> 目标角速度”

controllers/motor_pos_controller.hpp:37

velocity_pid

变量公开
        PIDMotor::Config controllers::MotorPosController::Config::velocity_pid
      

速度环 PID 配置,用于“目标角速度 -> 电流输出”

controllers/motor_pos_controller.hpp:38
类

controllers::MotorVelController

查看源码

电机速度控制器 外部 PID 模式下,输出为电流 / 力矩类命令 内部速度模式下,直接把目标速度交给驱动器内部闭环 它负责把“目标速度”转换成电机可以执行的命令:

继承关系

基类
  • IController公开

构造与析构

2

MotorVelController

函数公开
        controllers::MotorVelController::MotorVelController (motors::IMotor *motor, const Config &cfg)
      

motor 被控制的电机 cfg 控制器配置

controllers/motor_vel_controller.hpp:49

成员函数

4

setRef

函数公开
        void controllers::MotorVelController::setRef (float velocity, float max_current=kNoLimit, float ff=0.0f)
      

设置速度参考 velocity 目标输出轴速度,单位 rpm max_current 外部 PID 模式下临时电流/力矩输出上限; 传 kNoLimit(默认)表示不施加额外限制 ff 前馈输入,使用者应该根据实际情况自己计算前馈值,直接传入该函数

controllers/motor_vel_controller.hpp:69

成员变量

7

嵌套类型

1
结构体

controllers::MotorVelController::Config

查看源码

速度控制器配置

成员变量

3

internal_set_ratio

变量公开
        uint32_t controllers::MotorVelController::Config::internal_set_ratio
      

当可以发送内部速度指令时,发送频率相对于 update 频率的分频。 用于只需要较低频率维持控制指令,同时需要节约总线负载的情况 应 >= 1

controllers/motor_vel_controller.hpp:42

其他公开符号

文件

4

controllers/motor_pos_controller.hpp

文件

通用位置控制器 syhanjin 2026-01-28 ControlMode InternalPos :电机只支持位置指令时,直接把目标角度交给驱动器 InternalVelPos :电机同时支持速度指令和位置指令时,位置控制器直接发送位置指令 内部速度模式:位置环先算出目标角速度,再交给驱动器内部速度环 外部 PID 模式:位置环算目标角速度,速度环再算电流输出 这个控制器统一处理“目标是一个角度”的场景。 根据电机支持的能力和的选择,它会自动走不同的控制路径:

controllers/motor_pos_controller.hpp

controllers/motor_vel_controller.hpp

文件

通用速度控制器 syhanjin 2026-01-28 _rad _rps getVelocity() setInternalVelocity() 这里的“速度”应理解为电机角速度参考。 整个电机控制驱动里,速度默认单位都是 rpm,除非变量名明确带有、等后缀。 控制器要求参考值和绑定电机的/保持一致。

controllers/motor_vel_controller.hpp