controllers::IController
控制器抽象基类 如何根据反馈计算输出 何时调用对应的电机接口发送命令 派生类只需要关心: 控制权申请、启停状态这些通用逻辑在基类里统一处理。
构造与析构
2IController
controllers::IController::IController (motors::IMotor *motor, const ControlMode ctrl_mode)
上游未提供说明。
core/motor_if.hpp:303~IController
virtual controllers::IController::~IController ()=default
上游未提供说明。
core/motor_if.hpp:248成员函数
5disable
virtual void controllers::IController::disable ()
停用控制器,并释放已持有的电机
core/motor_if.hpp:281enable
virtual bool controllers::IController::enable ()
启用控制器,并尝试获取电机控制权 启用后是否成功持有电机
core/motor_if.hpp:261enabled
bool controllers::IController::enabled () const
控制器当前是否处于启用状态
core/motor_if.hpp:293getMotor
motors::IMotor * controllers::IController::getMotor () const
取得绑定的电机对象 用于直接从控制器读取电机相应数据,比如获取当前输出角度,输出速度等
core/motor_if.hpp:300update
virtual void controllers::IController::update ()=0
周期更新控制器 通常在固定频率任务中调用,例如 1 kHz 控制任务。
core/motor_if.hpp:255成员变量
3ctrl_mode_
ControlMode controllers::IController::ctrl_mode_
解析后的最终控制模式
core/motor_if.hpp:353enabled_
bool controllers::IController::enabled_
控制器是否已经成功持有电机
core/motor_if.hpp:356motor_
motors::IMotor* controllers::IController::motor_
绑定的电机对象
core/motor_if.hpp:352