cd src
pip install -e .
出厂ID:0x10
参数:
- reduction: 减速比
常用减速比:
- 二级行星:-12.45
- 三级行星:-44
- RV50:53.325
- RV100:110.205
- 谐波50:50
- 谐波100:100
from robodyno import Robot
from robodyno.nodes import MotorFactory
robot = Robot()
motor = robot.add_device('motor0', MotorFactory(), 0x15, reduction=12.45)
motor.status()
最近一次心跳包的内容
返回值:
- 电机状态dict
- state: 工作模式(1:空闲,8:使能)
- error: 错误码(1:电压不足,14:急停)
- motor_err: 电机相关错误码
- encoder_err: 编码器相关错误码
- controller_err: 控制器相关错误码
- control_mode: 控制模式(1:力矩控制,2:速度控制,3:位置控制)
- input_mode: 输入模式(1:直接值,2:带加速度,3:带滤波,5:梯形轨迹)
- timestamp: 时间戳,上一次收到心跳包的时间
get_api_version(timeout = 0)
参数:
- timeout: 请求超时时间(s),0代表无超时时间
返回值:
- API版本dict
- device_uuid: 设备uuid
- main_version: 主版本号
- sub_version: 副版本号
estop()
reboot()
clear_errors()
save_configuration()
设置参数后默认不会保存,直到调用此函数
set_can_id(id, rate)
参数:
- id:电机新CAN_ID (0x01~0x3F)
- rate: 心跳包发送周期,ms
enable()
disable()
calibrate()
校准后需保存参数
get_vbus(timeout)
参数:
- timeout
返回值:
- 总线电压值(V)
get_temperature(timeout)
参数:
- timeout
返回值:
- 电机温度(°C)
get_status(timeout)
参数:
- timeout
返回值:
- 电机状态参数(位置rad, 速度rad/s, 力矩Nm)
get_pos(timeout)
参数:
- timeout
返回值:
- 位置(rad)
get_vel(timeout)
参数:
- timeout
返回值:
- 速度(rad/s)
get_torque(timeout)
参数:
- timeout
返回值:
- 力矩(Nm)
get_controller_modes(timeout)
参数:
- timeout
返回值:
- 控制模式(control_mode, input_mode)
- control_mode: 控制模式(1:力矩控制,2:速度控制,3:位置控制)
- input_mode: 输入模式(1:直接值,2:带加速度,3:带滤波,5:梯形轨迹)
get_ramp_mode_ramp(timeout)
参数:
- timeout
返回值:
- ramp: 加速度(rad/s^2)
get_filter_mode_bandwidth(timeout)
参数:
- timeout
返回值:
- bandwidth: 滤波带宽 / 输入频率(Hz)
get_traj_mode_params(timeout)
参数:
- timeout
返回值:
- 轨迹参数(最大速度, 加速度, 减速度)
get_controller_pid(timeout)
参数:
- timeout
返回值:
- 电机PID(位置环P, 速度环P, 速度环I)
set_controller_pid(pos_p, vel_p, vel_i)
参数:
- pos_p: 位置环比例系数
- vel_p: 速度环比例系数
- vel_i: 速度环积分系数
get_limits(timeout)
参数:
- timeout
返回值:
- (输入端最大速度(r/s), 最大电流(A))
get_vel_limit(timeout)
参数:
- timeout
返回值:
- 输出端最大速度(rad/s)
get_current_limit(timeout)
参数:
- timeout
返回值:
- 最大电流(A)
set_limits(vel_limit, torque_limit)
参数:
- vel_limit: 输入端最大速度(r/s)
- torque_limit: 最大电流(A)
set_vel_limit(vel_limit)
参数:
- vel_limit: 输出端最大速度(rad/s)
position_mode()
直接PID控制位置
position_filter_mode(bandwidth)
参数:
- bandwidth: 滤波带宽 / 控制频率(Hz)
position_traj_mode(max_vel, accel, decel)
参数:
- max_vel: 最高速度
- accel: 加速度
- decel: 减速度
set_pos(position)
参数:
- position: 目标位置(rad)
velocity_mode()
速度PID控制
velocity_ramp_mode(ramp)
参数:
- ramp: 加速度(rad/s^2)
set_vel(velocity)
参数:
- velocity: 目标速度(rad/s)
torque_mode()
set_torque(torque)
参数:
- torque: 目标力矩(Nm)