|
One Motor 0.6.0
RoboMaster全平台一站式电机驱动库
|
#include <J4310.hpp>
Public 成员函数 | |
| J4310 (Can::CanDriver &driver, uint16_t canId, uint16_t masterId) | |
| 构造一个新的 J4310 对象 | |
| tl::expected< void, Error > | enable () |
| 启用电机 | |
| tl::expected< void, Error > | disable () |
| 禁用电机 | |
| tl::expected< void, Error > | setZeroPosition () |
| 将当前位置设置为零 | |
| tl::expected< void, Error > | cleanError () |
| 清除电机错误 | |
| tl::expected< void, Error > | MITControl (float position, float velocity, float torque, float kp, float kd) |
| MIT 控制模式 | |
| tl::expected< void, Error > | posVelControl (float position, float velocity) |
| 位置和速度控制模式 | |
| tl::expected< void, Error > | velControl (float velocity) |
| 速度控制模式 | |
| tl::expected< void, Error > | refreshStatus () noexcept |
| 刷新电机状态,仅支持V13以上固件 | |
| J4310Status | getStatus () |
| 获取电机上一次接收到到的反馈帧状态 对电机进行各种控制操作均会获得反馈帧 | |
| tl::expected< J4310Status, Error > | getNewStatus (uint16_t usec=500) |
| 获取电机最新状态 | |
DM J4310 电机驱动类
|
explicit |
构造一个新的 J4310 对象
| driver | CAN 驱动程序引用 |
| canId | 电机 CAN ID |
| masterId | 用于接收消息的主机 CAN ID |
| tl::expected< void, Error > OneMotor::Motor::DM::J4310::cleanError | ( | ) |
清除电机错误
| tl::expected< void, Error > OneMotor::Motor::DM::J4310::disable | ( | ) |
禁用电机
| tl::expected< void, Error > OneMotor::Motor::DM::J4310::enable | ( | ) |
启用电机
| tl::expected< J4310Status, Error > OneMotor::Motor::DM::J4310::getNewStatus | ( | uint16_t | usec = 500 | ) |
获取电机最新状态
| usec | 指定向电机请求获取反馈帧后的延时时间。延时过低可能来不及接收最新状态;延时过高可能导致主线程阻塞 |
| J4310Status OneMotor::Motor::DM::J4310::getStatus | ( | ) |
获取电机上一次接收到到的反馈帧状态 对电机进行各种控制操作均会获得反馈帧
| 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 | 速度增益 |
| tl::expected< void, Error > OneMotor::Motor::DM::J4310::posVelControl | ( | float | position, |
| float | velocity ) |
位置和速度控制模式
| position | 目标位置 (rad) |
| velocity | 目标速度 (rad/s) |
|
noexcept |
刷新电机状态,仅支持V13以上固件
| tl::expected< void, Error > OneMotor::Motor::DM::J4310::setZeroPosition | ( | ) |
将当前位置设置为零
| tl::expected< void, Error > OneMotor::Motor::DM::J4310::velControl | ( | float | velocity | ) |
速度控制模式
| velocity | 目标速度 (rad/s) |