MyCobot 280
Python API 使用说明
API(Application Programming Interface)即应用程序编程接口,是预先定义的函数。使用以下函数接口时,请先在开头导入我们的API库,否则无法成功运行:
# 示例
from pymycobot import MyCobot280RDKX5
mc = MyCobot280RDKX5('/dev/ttyS1')
# 获取所有关节当前角度
angles = mc.get_angles()
print(angles)
# 设置1号关节移动到40度,速度20
mc.send_angle(1, 40, 20)
1. 系统状态
get_modify_version()
- 功能: 获取修改版本号
get_system_version()
- 功能: 获取系统版本
2. 整体状态
clear_queue()
- 功能: 清空命令队列
async_or_sync()
- 功能: 设置命令执行模式
- 返回值:
0
: 异步模式1
: 同步模式get_error_information()
- 功能: 获取机器人错误信息
- 返回值:
0
: 无错误1~6
: 对应关节超限16~19
: 碰撞保护32
: 逆运动学无解33~34
: 直线运动无相邻解clear_error_information()
- 功能: 清除机器人错误信息
power_on()
- 功能: 开启与Atom通信
power_off()
- 功能: 关闭与Atom通信
is_power_on()
- 功能: 检测机械臂电源状态
- 返回值:
1
- 已上电0
- 已断电-1
- 数据错误release_all_servos(data)
- 功能: 释放所有关节
- 参数:
- data:
1
- 取消阻尼(默认阻尼)read_next_error()
- data:
- 功能: 机器人错误检测
- 返回值:
- 长度6的列表
0
: 正常1
: 通信断开2
: 通信不稳定3
: 舵机异常set_fresh_mode(mode)
- 功能: 设置命令刷新模式
- 参数:
- mode: int
1
- 优先执行最新命令0
- 队列顺序执行get_fresh_mode()
- 功能: 查询运动模式
set_vision_mode(flag)
- 功能: 设置视觉跟踪模式(限制刷新模式下send_coords的位姿翻转)
- (仅限视觉跟踪功能使用)
- 参数:
- flag: 0/1;
0
- 关闭;1
- 开启
- flag: 0/1;
3. 运动控制接口
get_angles()
- 功能: 获取所有关节角度
- 返回值:
- list: 角度浮点数列表
send_angle(id, degree, speed)
- list: 角度浮点数列表
- 功能: 发送单个关节角度
- 参数:
- id : 关节ID(1-6)
- angle : 角度值(float)
- speed : (int) 1~100
send_angles(angles, speed)
- 功能: 发送所有关节角度
- 参数:
- angles: 角度值列表(List[float]),长度6
- speed : (int) 1~100
get_coords()
- 功能: 获取基坐标系坐标
- 返回值:
- list: 坐标浮点数列表[x, y, z, rx, ry, rz]
send_coord(id, coord, speed)
- list: 坐标浮点数列表[x, y, z, rx, ry, rz]
- 功能: 发送单个坐标值
- 参数:
- id(int) : 坐标轴ID(1-6)
- coord(float) : 坐标值(mm)
- speed(int) : 1~100
send_coords(coords, speed, mode)
- 功能: 发送所有坐标值
- 参数:
- coords: 坐标值列表(List[float])[x(mm), y, z, rx(角度), ry, rz]
- speed : (int) 1~100
- mode : (int) 0 - 角度模式, 1 - 直线模式
pause()
- 功能: 暂停运动
is_paused()
- 功能: 判断机械臂是否暂停
- 返回值:
1
- 已暂停0
- 运行中-1
- 错误resume()
- 功能: 恢复运动
stop()
- 功能: 停止运动
is_in_position(data, id = 0)
- 功能: 判断是否到达目标位置
- 参数:
- data: 位置数据列表(角度或坐标),长度6
- id: 1 - 坐标模式, 0 - 角度模式
- 返回值:
1
- 是0
- 否-1
- 错误is_moving()
- 功能: 检测机械臂是否运动中
- 返回值:
0
- 静止1
- 运动中-1
- 数据错误write_angles_time_control(angles, step_time)
- 功能: 时间控制模式写入关节角度
- 参数:
- angles: 角度值
- step_time: 时间单位30ms,范围1~255
4. JOG模式与操作
jog_angle(joint_id, direction, speed)
- 功能: 关节模式点动控制
- 参数:
- joint_id: 整数1-6
- direction:
0
- 减方向,1
- 增方向 - speed: 整数(0-100)
jog_rpy(end_direction, direction, speed)
- 功能: 绕基坐标系固定轴旋转末端
- 参数:
- end_direction (int): 横滚、俯仰、偏航(1-3)
- direction (int):
1
- 正向旋转,0
- 反向旋转 - speed (int): 1~100
jog_coord(coord_id, direction, speed)
- 功能: 坐标模式点动控制
- 参数:
- coord_id: 整数1-6
- direction:
0
- 减方向,1
- 增方向 - speed: 整数(1-100)
jog_increment_angle(joint_id, increment, speed)
- 功能: 角度步进模式
- 参数:
- joint_id: 整数1-6
- increment: 角度增量值
- speed: 整数(0-100)
jog_increment_coord(axis, increment, speed)
- 功能: 坐标步进模式
- 参数:
- axis: 轴ID 1-6
- increment: 坐标增量值
- speed: 整数(1-100)
set_HTS_gripper_torque(torque)
- 功能: 设置自适应夹爪扭矩
- 参数:
- torque (int): 150~980
- 返回值:
- 0: 设置失败
- 1: 设置成功
get_HTS_gripper_torque()
- 功能: 获取夹爪扭矩
- 返回值:
- int: 150~980
get_gripper_protect_current()
- int: 150~980
- 功能: 获取夹爪保护电流
- 返回值:
- int: 1~500
init_gripper()
- int: 1~500
- 功能: 初始化夹爪
- 返回值:
- int: 0或1(1-成功)
set_gripper_protect_current(current)
- int: 0或1(1-成功)
- 功能: 设置夹爪保护电流
- 参数:
- current (int): 1~500
set_encoder(joint_id, encoder, speed)
- current (int): 1~500
- 功能: 设置单个关节电位值
- 参数:
- joint_id: 整数1-6
- 夹爪对应关节ID为7
- encoder: 目标电位值
- speed : 1-100
get_encoder(joint_id)
- 功能: 获取指定关节电位值
- 参数:
- joint_id: (int) 1-6
- 夹爪对应关节ID为7
set_encoders(encoders, sp)
- 功能: 同步设置所有关节电位值
- 参数:
- encoders: 电位值列表,长度6
- sp: 速度1~100
get_encoders()
- 功能: 获取所有关节编码器值
- 返回值:
- 编码器值列表
set_encoders_drag(encoders, speeds)
- 编码器值列表
- 功能: 发送所有编码器值和速度
- 参数:
- encoders: 编码器列表
- speeds: 通过get_servo_speeds()方法获取的速度值
get_joint_min_angle(joint_id)
- 功能: 获取指定关节最小角度
- 参数:
- joint_id: 1-6
- 返回值:
- 角度值(float)
get_joint_max_angle(joint_id)
- 角度值(float)
- 功能: 获取指定关节最大角度
- 参数:
- joint_id: 1-6
- 返回值:
- 角度值(float)
set_joint_min(id, angle)
- 角度值(float)
- 功能: 设置关节最小角度
- 参数:
- id: int
- 关节ID 1-6
- 夹爪对应关节ID为7
- angle: 0~180
set_joint_max(id, angle)
- 功能: 设置关节最大角度
- 参数:
- id: int
- 关节ID 1-6
- 夹爪对应关节ID为7
- angle: 0~180
5. 舵机控制
is_servo_enable(servo_id)
- 功能: 检测单个关节连接状态
- 参数:
- servo_id: 1-6
- 返回值:
0
- 未使能1
- 已使能-1
- 错误is_all_servo_enable()
- 功能: 检测所有关节连接状态
- 返回值:
0
- 未使能1
- 已使能-1
- 错误set_servo_data(servo_id, data_id, value, mode)
- 功能: 设置舵机指定地址数据
- 参数:
- servo_id: 关节舵机编号1-7
- data_id: 数据地址
- value: 0-4096
- mode: 0 - 单字节值(默认), 1 - 双字节值
get_servo_data(servo_id, data_id, mode)
- 功能: 读取舵机指定地址数据
- 参数:
- servo_id: 关节舵机编号1-7
- data_id: 数据地址
- mode: 0 - 单字节值(默认), 1 - 双字节值
- 返回值:
- 0-4096范围的值
set_servo_calibration(servo_id)
- 0-4096范围的值
- 功能: 校准关节当前位置为零点(对应电位值2048)
- 参数:
- servo_id: 关节舵机编号1-6
joint_brake(joint_id)
- servo_id: 关节舵机编号1-6
- 功能: 关节运动中急停(缓冲距离与当前速度正相关)
- 参数:
- joint_id: 1-6
release_servo(servo_id, mode)
- joint_id: 1-6
- 功能: 下电指定舵机
- 参数:
- servo_id: 整数1-6
- mode: 默认阻尼,设为1取消阻尼
focus_servo(servo_id)
- 功能: 上电指定舵机
- 参数:
- servo_id: 整数1-6
6. 夹爪控制
get_gripper_value(gripper_type)
- 功能: 获取夹爪状态值
- 参数:
- gripper_type (int): 默认1
1
: 自适应夹爪3
: 平行夹爪4
: 柔性夹爪
- 返回值:
- 夹爪状态值(int)
set_gripper_state(flag, speed, _type_1, is_torque)
- 夹爪状态值(int)
- 功能: 设置夹爪开关状态
- 参数:
- flag (int): 0 - 打开, 1 - 关闭, 254 - 释放
- speed (int): 1~100
- _type_1 (int): 默认1
1
: 自适应夹爪2
: 五指灵巧手3
: 平行夹爪(可省略)4
: 柔性夹爪- is_torque (int): 无类型参数时可省略
1
: 力控0
: 非力控set_gripper_value(gripper_value, speed, gripper_type, is_torque)
- 功能: 设置夹爪开合度
- 参数:
- gripper_value (int): 0~100
- speed (int): 1~100
- gripper_type (int): 默认1
1
: 自适应夹爪3
: 平行夹爪(可省略)4
: 柔性夹爪- is_torque (int): 无类型参数时可省略
1
: 力控0
: 非力控set_gripper_calibration()
- 功能: 设置当前位置为零点(对应电位值2048)
is_gripper_moving()
- 功能: 判断夹爪是否运动中
- 返回值:
0
- 静止1
- 运动中-1
- 数据错误
7. 末端ATOM功能
get_tool_system_version()
- 功能: 读取末端主次版本号
get_tool_modify_version()
- 功能: 读取末端修改版本号
is_tool_connected()
- 功能: 检测末端连接状态
set_color(r = 0, g = 0, b = 0)
- 功能: 设置机械臂顶部灯光颜色
- 参数:
- r (int): 0~255
- g (int): 0~255
- b (int): 0~255
is_tool_button_click()
- 功能: 检测末端按钮是否按下
set_digital_output(pin_no, pin_signal)
- 功能: 设置末端Atom IO状态
- 参数:
- pin_no (int): 引脚号
- pin_signal (int): 0/1
get_digital_input(pin_no)
- 功能: 获取数字输入信号值
8. 运动学算法接口
solve_inv_kinematics(target_coords, current_angles)
- 功能: 将目标坐标转换为关节角度
- 参数:
- target_coords: 目标坐标浮点数列表
- current_angles : 当前角度浮点数列表
- 返回值:
- list: 关节角度浮点数列表
9. 坐标系接口
set_tool_reference(coords)
- 功能: 设置工具坐标系
- 参数:
- coords: 坐标值列表(List[float])
- [x(mm), y, z, rx(角度), ry, rz]
get_tool_reference()
- 功能: 获取工具坐标系
set_world_reference(coords)
- 功能: 设置世界坐标系
- 参数:
- coords: 坐标值列表(List[float])
- [x(mm), y, z, rx(角度), ry, rz]
get_world_reference()
- 功能: 获取世界坐标系
set_reference_frame(rftype)
- 功能: 设置基坐标系
- 参数:
- rftype: 0 - 基坐标系, 1 - 工具坐标系
get_reference_frame()
- rftype: 0 - 基坐标系, 1 - 工具坐标系
- 功能: 获取基坐标系
- 返回值:
0
- 基坐标系,1
- 工具坐标系set_movement_type(move_type)
- 功能: 设置运动类型
- 参数:
- move_type:
1
- 直线运动,0
- 关节运动get_movement_type()
- move_type:
- 功能: 获取运动类型
- 返回值:
1
- 直线运动,0
- 关节运动set_end_type(end)
- 功能: 设置末端坐标系
- 参数:
- end: int
0
- 法兰坐标系,1
- 工具坐标系get_end_type()
- 功能: 获取末端坐标系
- 返回值:
0
- 法兰坐标系,1
- 工具坐标系
10. 9G舵机五子棋
move_round()
- 功能: 驱动9g舵机顺时针旋转一周
set_four_pieces_zero()
- 功能: 设置四件套电机零位
- 返回值:
- int:
0
或1
(1-成功)
- int:
11. 标准接口
get_angles_coords()
- 功能: 获取关节角度和坐标
get_quick_move_message()
- 功能: 获取快速移动信息
get_servo_speeds()
- 功能: 获取关节速度
- 返回值:
- 速度列表(单位:步/秒)
12. 舵机状态值接口
get_servo_currents()
- 功能: 获取所有关节电流
- 返回值:
- 电流列表(单位mA)
get_servo_voltages()
- 电流列表(单位mA)
- 功能: 获取关节电压
- 返回值:
- 电压列表(需小于24V)
get_servo_status()
- 电压列表(需小于24V)
- 功能: 获取关节状态
- 返回值:
- [电压, 传感器, 温度, 电流, 角度, 过载], 0表示正常,1表示异常
get_servo_temps()
- [电压, 传感器, 温度, 电流, 角度, 过载], 0表示正常,1表示异常
- 功能: 获取关节温度
- 返回值:
- 温度列表(单位℃)
13. 拖动轨迹接口
drag_start_record()
- 功能: 开始轨迹记录
- 返回值:
- 记录队列长度
drag_end_record()
- 记录队列长度
- 功能: 结束轨迹记录
- 返回值:
- 记录队列长度
drag_get_record_data()
- 记录队列长度
- 功能: 获取已记录轨迹
- 返回值:
- 各关节电位值(编码器值)和运行速度的列表
- 示例: [J1编码器值,J1运行速度,J2编码器值,J2运行速度,J3编码器值,J3运行速度,J4编码器值,J4运行速度,J5编码器值,J5运行速度,J6编码器值,J6运行速度]
drag_get_record_len()
- 功能: 获取已记录点总数
- 返回值:
- 记录队列长度
drag_clear_record_data()
- 记录队列长度
- 功能: 清除已记录轨迹
- 返回值:
- 记录队列长度归零
RDK X5_GPIO
用法:
import Hobot.GPIO as GPIO
setmode(mode)
- 功能: 设置GPIO针脚模式
- 参数
mode
(str
) "GPIO.BCM" 或者 "GPIO.BOARD" 进入相应模式
setup(pin_no, mode)
- 功能: 设置GPIO针脚模式
- 参数
pin_no
(str
) 脚编号mode
(str
) "GPIO.IN" 或者 "GPIO.OUT"
output(pin_no, state)
- 功能: 将引脚设置为高,低电平
- 参数说明:
pin
(int
) 引脚编号state
:GPIO.LOW设置为低电平; GPIO.HIGH设置为高电平 (吸泵低电平开启工作,高电平停止工作)
input(pin_no)
- 功能: 获取引脚电平状态
- 参数说明:
pin_no
(int
) 引脚编号
- 返回值: 0为低电平 , 1为高电平