One Motor 0.6.0
RoboMaster全平台一站式电机驱动库
载入中...
搜索中...
未找到
OneMotor::Motor::DM::J4310类 参考

DM J4310 电机驱动类 更多...

#include <J4310.hpp>

Public 成员函数

 J4310 (Can::CanDriver &driver, uint16_t canId, uint16_t masterId)
 构造一个新的 J4310 对象
 
tl::expected< void, Errorenable ()
 启用电机
 
tl::expected< void, Errordisable ()
 禁用电机
 
tl::expected< void, ErrorsetZeroPosition ()
 将当前位置设置为零
 
tl::expected< void, ErrorcleanError ()
 清除电机错误
 
tl::expected< void, ErrorMITControl (float position, float velocity, float torque, float kp, float kd)
 MIT 控制模式
 
tl::expected< void, ErrorposVelControl (float position, float velocity)
 位置和速度控制模式
 
tl::expected< void, ErrorvelControl (float velocity)
 速度控制模式
 
tl::expected< void, ErrorrefreshStatus () noexcept
 刷新电机状态,仅支持V13以上固件
 
J4310Status getStatus ()
 获取电机上一次接收到到的反馈帧状态 对电机进行各种控制操作均会获得反馈帧
 
tl::expected< J4310Status, ErrorgetNewStatus (uint16_t usec=500)
 获取电机最新状态
 

详细描述

DM J4310 电机驱动类

构造及析构函数说明

◆ J4310()

OneMotor::Motor::DM::J4310::J4310 ( Can::CanDriver & driver,
uint16_t canId,
uint16_t masterId )
explicit

构造一个新的 J4310 对象

参数
driverCAN 驱动程序引用
canId电机 CAN ID
masterId用于接收消息的主机 CAN ID

成员函数说明

◆ cleanError()

tl::expected< void, Error > OneMotor::Motor::DM::J4310::cleanError ( )

清除电机错误

返回
操作结果

◆ disable()

tl::expected< void, Error > OneMotor::Motor::DM::J4310::disable ( )

禁用电机

返回
操作结果

◆ enable()

tl::expected< void, Error > OneMotor::Motor::DM::J4310::enable ( )

启用电机

返回
操作结果

◆ getNewStatus()

tl::expected< J4310Status, Error > OneMotor::Motor::DM::J4310::getNewStatus ( uint16_t usec = 500)

获取电机最新状态

参数
usec指定向电机请求获取反馈帧后的延时时间。延时过低可能来不及接收最新状态;延时过高可能导致主线程阻塞
返回
包含电机状态或错误信息的expected结构体

◆ getStatus()

J4310Status OneMotor::Motor::DM::J4310::getStatus ( )

获取电机上一次接收到到的反馈帧状态 对电机进行各种控制操作均会获得反馈帧

注解
若想获取当前最新状态,需配合 refreshStatus 函数,或直接使用 getNewStatus函数
返回
J4310Status

◆ MITControl()

tl::expected< void, Error > OneMotor::Motor::DM::J4310::MITControl ( float position,
float velocity,
float torque,
float kp,
float kd )

MIT 控制模式

参数
position目标位置 (rad)
velocity目标速度 (rad/s)
torque目标扭矩 (N*m)
kp位置增益
kd速度增益
返回
操作结果

◆ posVelControl()

tl::expected< void, Error > OneMotor::Motor::DM::J4310::posVelControl ( float position,
float velocity )

位置和速度控制模式

参数
position目标位置 (rad)
velocity目标速度 (rad/s)
返回
操作结果

◆ refreshStatus()

tl::expected< void, Error > OneMotor::Motor::DM::J4310::refreshStatus ( )
noexcept

刷新电机状态,仅支持V13以上固件

返回
操作结果

◆ setZeroPosition()

tl::expected< void, Error > OneMotor::Motor::DM::J4310::setZeroPosition ( )

将当前位置设置为零

返回
操作结果

◆ velControl()

tl::expected< void, Error > OneMotor::Motor::DM::J4310::velControl ( float velocity)

速度控制模式

参数
velocity目标速度 (rad/s)
返回
操作结果

该类的文档由以下文件生成: