6.1 Python API

6.1.2 API使用说明

API(ApplicationProgrammingInterface),也称为应用程序编程接口函数,是预定义的函数。 使用以下功能接口时,请在开始时输入以下代码导入我们的API库,否则无法成功运行:

# 例子
from pymycobot import Mercury

ml = Mercury('/dev/left_arm')
mr = Mercury('/dev/right_arm')

ml.power_on()
mr.power_on()

print(ml.get_angles())
print(mr.get_angles())

1.系统状态

get_system_version()

  • 功能: 获取系统版本
  • 返回值: 系统版本

get_robot_type()

  • 功能: 获取机器人id

  • 返回值: 定义规则:实际机器型号。 例如水星A1型号为4500

get_atom_version()

  • 功能: 获取最终版本号
  • 返回值: 结束参数(float)

get_robot_status()

  • 功能: 上位机错误安全状态
  • 返回值: 0 - 正常。 其他 - 机器人触发碰撞检测

2.总体状况

power_on()

  • 功能: atom开放通讯(默认开放)

    • 注意: 执行关机或按紧急停止后,需要 7 秒才能上电并恢复供电
  • 返回值:

    • 1 - 开机完成。
    • 0 - 开机失败

power_off()

  • 功能: 机械臂断电

  • 返回值:

    • 1 - 开机完成。
    • 0 - 开机失败

is_power_on()

  • 功能: 判断机械臂是否通电

  • 返回值:

    • 1: 开机
    • 0:关闭电源
    • -1: 错误

release_all_servos()

  • 功能: 释放所有机械臂
    • 注意:关节禁用后,需在1秒内启用才能控制
  • 参数data(可选):放松关节的方式。 默认为阻尼模式,如果提供了'data'参数,则可以指定为非阻尼模式(1-Undamping)。
  • 返回值:
    • 1 - 发布完成。
    • 0 - 释放失败

focus_all_servos()

  • 功能: 打开机器人扭矩输出

    • 返回值:
      • 1: 完成
      • 0:失败
      • -1: 错误

3.MDI模式及操作

get_angles()

  • 功能: 获取所有关节的度数
  • 返回值list所有级别的浮点列表

get_angle()

  • 功能: 获取单关节角度
  • 参数: joint_id (int): 1 ~ 7
  • 返回值: 关节对应的角度数组

send_angle(id, degree, speed)

  • 功能: 向机器人手臂发送一度关节
  • 参数:

    • id:关节id(genre.Angle),范围 int 1-7
    • degree: 角度值(float)

    手臂关节活动范围 | 关节id | 角度 | | ---- | ---- | | 1 | -178 ~ 178 | | 2 | -74 ~ 130 | | 3 | -178 ~ 178 | | 4 | -180 ~ 10 | | 5 | -178 ~ 178 | | 6 | -20 ~ 273 | | 7 | -180 ~ 180 |

    身体关节的活动范围。 第 11 关节是下巴摄像头。 第 12 关节是颈部。 第13关节是腰椎关节 | 关节id | 角度 | | ---- | ---- | | 11 | -60 ~ 0 | | 12 | -138 ~ 188 | | 13 | -118 ~ 118 |

    • speed:机械臂运动速度和幅度 1~100

send_angles(angles, speed)

  • 功能: 将所有角度发送到机械臂的所有关节
  • 参数:
    • angles:角度值列表(List[float]),长度 7
    • 速度: (int) 1 ~ 100

get_coords()

  • 功能: 从基于底座的坐标系获取机器人手臂坐标
  • 返回值: 坐标的浮点列表:[x, y, z, rx, ry, rz]

send_coord(id, coord, speed)

  • 功能: 发送一个坐标到机械臂
  • 参数:

    • id:发送一个坐标到机械臂,1-6对应[x, y, z, rx, ry, rz]
    • coord: 坐标值(float)

      | 坐标id | 范围 | | ---- | ---- | | 1 | -466 ~ 466 | | 2 | -466 ~ 466 | | 3 | -240 ~ 531 | | 4 | -180 ~ 180 | | 5 | -180 ~ 180 | | 6 | -180 ~ 180 |

      • speed: (int) 1-100

send_coords(coords, speed, mode)

  • 功能::发送整体坐标和姿态,使机械臂头部从原点移动到您指定的点
  • 参数:
    • coords: : 坐标值列表 [x,y,z,rx,ry,rz],length6
    • 速度(int): 1 ~ 100

pause()

  • 功能: 控制指令暂停核心并停止所有运动指令

is_paused()

  • 功能: 检查程序是否暂停了移动命令
  • 返回值:
    • 1 - 暂停
    • 0 - 未暂停
    • -1 - 错误

resume()

  • 功能: 恢复机器人运动并完成之前的命令

stop()

  • 功能: 停止机器人的所有动作
  • 返回值
    • 1 - 停止
    • 0 - 不停止
    • -1 - 错误

is_in_position(data, flag)

  • 功能 :判断是否在位。
  • 参数:
    • data:提供一组数据,可以是角度或坐标值。 如果输入角度长度范围为7,如果输入坐标值长度范围为6
    • 标志数据类型(值范围0或1)
      • 0:角度
      • 1:坐标
  • 返回值
    • 1 - 正确
    • 0 - 假
    • -1 - 错误

is_moving()

  • 功能: 判断机器人是否在移动
  • 返回值:
    • 1移动
    • 0 不动
    • -1 错误

4. JOG 模式及操作

jog_angle(joint_id, direction, speed)

  • 功能: 点动控制角度
  • 参数
    • joint_id:代表机械臂的关节,用关节ID表示,范围为1到7
    • direction(int):控制机械臂运动方向,输入0为负值运动,输入1为正值运动
    • 速度:1 ~ 100

jog_coord(coord_id, direction, speed)

  • 功能: 点动控制坐标。
  • 参数:
    • coord_id: (int) 机械臂坐标范围:1~6
    • direction:(int) 控制机械臂运动方向,0 - 负值运动,1 - 正值运动
    • 速度:1 ~ 100

jog_increment_angle(joint_id, increment, speed)

  • 功能: 单关节角度增量控制
  • 参数
    • joint_id:1-7
    • increment:根据当前位置角度增量移动
    • 速度:1 ~ 100

jog_increment_coord(coord_id, increment, speed)

  • 功能: 单关节角度增量控制
  • 参数
    • joint_id:轴ID 1 - 6。
    • increment:基于当前位置坐标的增量运动
    • 速度:1 ~ 100

5.坐标控制姿态偏差角

get_solution_angles()

  • 功能: 获取零空间偏转角度值
  • 返回值:零空间偏转角度值

set_solution_angles(angle, speed)

  • 功能: 获取零空间偏转角度值

  • 参数:

    • angle : 输入关节1的角度范围,角度范围-90到90

    • 速度:1 - 100。

6.联合软件限位操作

get_joint_min_angle(joint_id)

  • 功能: 读取最小关节角度
  • 参数:
    • joint_id:输入关节 ID(范围 1-7)
  • 返回值float角度值

get_joint_max_angle(joint_id)

  • 功能: 读取最大关节角度
  • 参数:
    • joint_id:输入关节 ID(范围 1-7)
  • 返回值: float 角度值

set_joint_min(id, angle)

  • 功能: 设置最小关节角度限制
  • 参数:
    • id :输入关节 ID(范围 1-7)
    • angle:参考send_angle()接口中对应关节的限制信息,不得小于最小值

set_joint_max(id, angle)

  • 功能: 设置最小关节角度限制
  • 参数:
    • id :输入关节 ID(范围 1-7)
    • angle:参考send_angle()接口中对应关节的限制信息,不得大于最大值

7.关节电机控制

is_servo_enable(servo_id)

  • 功能: 检测关节连接状态
  • 参数:舵机id1-7
  • 返回值:
    • 1: 连接成功
    • 0:未连接
    • -1: 错误

is_all_servo_enable()

  • 功能: 检测所有关节连接的状态
  • 返回值:
    • 1: 连接成功
    • 0:未连接
    • -1: 错误

set_servo_calibration(servo_id)

  • 功能: 校准关节执行器当前位置为角度零点
  • 参数
    • servo_id:1 - 7

release_servo(servo_id)

  • 功能: 设置指定关节扭矩输出关闭
  • 参数
    • servo_id: 1 ~ 7
  • 返回值:
    • 1: 释放成功
    • 0: 释放失败
    • -1: 错误

focus_servo(servo_id)

  • 功能:设置指定关节扭矩输出开启
  • 参数servo_id:1 ~ 7
  • 返回值:
    • 1:聚焦成功
    • 0:焦点失败
    • -1: 错误

set_break(joint_id, value)

  • 功能: 设置断点
  • 参数
    • joint_id:int。 关节 ID 1 - 7
    • :整数。 0 - 禁用,1 - 启用
  • 返回值: 0:失败; 1:成功

get_servo_speeds()

  • 功能:获取所有关节的运动速度
  • 返回值: 单位step/s

get_servo_currents()

  • 功能:获取所有关节的运动电流
  • 返回值: 0 ~ 5000 mA

get_servo_status()

  • 功能:获取所有关节的运动状态
  • 返回值:值为0表示没有错误

servo_restore(joint_id)

  • 功能:清除关节异常
  • 参数
    • joint_id:int。 关节 ID 1 - 7

8.机械臂端IO控制

set_digital_output(pin_no, pin_signal)

  • 功能: 设置IO状态
  • 参数
    • pin_no (int): PIN 码
    • pin_signal (int): 0 / 1

get_digital_input(pin_no)

  • 功能: 读取IO状态
  • 参数pin_no (int)
  • 返回值:信号

9. 机械臂末端夹具控制

set_gripper_state(flag, speed, _type_1=None)

  • 功能:自适应夹具启用

  • 参数

    • flag (int): 0 - 打开 1 - 关闭,254 - 释放

    • 速度(整数):1 ~ 100

    • _type_1 (int):

      • 1:自适应夹具(默认状态为 1)

      • 2 : 一只灵活的手,有 5 个手指

      • 3:平行夹具

      • 4:柔性夹具

set_gripper_value(gripper_value, speed, gripper_type=None)

  • 功能:设置夹具值

  • 参数

    • gripper_value (int): 0 ~ 100

    • speed(int):1 ~ 100

    • gripper_type (int):

      • 1:自适应夹具(默认状态为 1)

      • 2 : 一只灵活的手,有 5 个手指

      • 3:平行夹具

      • 4:柔性夹具

set_gripper_calibration()

  • 功能:将夹具的当前位置设置为零

set_gripper_enabled(value)

  • 功能:自适应夹具启用设置
  • 参数
    • value 1:启用 0:释放

set_gripper_mode(mode)

  • 功能:设置夹具模式
  • 参数
    • mode
      • 0:透传模式
      • 1:正常模式

get_gripper_mode()

  • 功能:获取夹具模式
  • 返回值
    • 0:透传模式
    • 1:正常模式

init_electric_gripper()

  • 功能:: 初始化电动夹爪,初次通电使用电动夹爪之前需要调用此接口进行初始化

set_electric_gripper(mode)

  • 功能:: 设置电动夹爪模式
  • 参数:
    • mode :
      • 0: 闭合夹爪
      • 1: 张开夹爪

10.机械臂末端的按钮功能

is_btn_clicked()

  • 功能:获取机械臂末端按钮的状态
  • 返回值
    • 0:没有点击
    • 1:点击

set_color(r, g, b)

  • 功能:设置机械臂末端灯颜色

  • 参数

    • r(int):0 ~ 255

    • g(int):0 ~ 255

    • b(int):0 ~ 255

11.拖动教学

drag_teach_save()

  • 功能: 开始录制并拖动教学点。
    • 注意:为了显示最佳运动效果,录制时间不应超过90秒

drag_teach_pause()

  • 功能: 暂停采样

drag_teach_execute()

  • 功能: 开始拖动示教点,仅执行一次。

drag_teach_clean()

  • 功能: 清除样品。

12.笛卡尔空间坐标参数设置

set_tool_reference(coords)

  • 功能: 设置工具坐标系。
  • 参数coords: (list) [x, y, z, rx, ry, rz]。
  • 返回值: NULL

get_tool_reference(coords)

  • 功能: 获取工具坐标系。
  • 返回值: oords: (list) [x, y, z, rx, ry, rz]

set_world_reference(coords)

  • 功能: 设置世界坐标系。
  • 参数coords: (list) [x, y, z, rx, ry, rz]。
  • 返回值: NULL

get_world_reference()

  • 功能: 获取世界坐标系。
  • 返回值: list [x, y, z, rx, ry, rz]。

set_reference_frame(rftype)

  • 功能: 设置基础坐标系。
  • 参数:rftype: 0 - 基础 1 - 工具。

get_reference_frame()

  • 功能: 设置基础坐标系。
  • 返回值:
    • 0 - 基数
    • 1 - 工具。

set_movement_type(move_type)

  • 功能: 设置运动类型。
  • 参数
    • move_type:1 - movel,0 - moveJ。

get_movement_type()

  • 功能: 获取运动类型。
  • 返回值:
    • 1 - 移动
    • 0 - moveJ

set_end_type(end)

  • 功能: 获取结束坐标系
  • 参数:
    • end (int)0 - 法兰,1 - 工具

get_end_type()

  • 功能: 获取结束坐标系
  • 返回值:
    • 0 - 法兰
    • 1 - 工具

13.圆周运动

write_move_c(transpoint, endpoint, speed)

  • 功能:圆弧轨迹运动
  • 参数: transpoint(list):经过点坐标的圆弧 endpoint(list):圆弧端点坐标 速度(int): 1 ~ 100

14.设置底层IO输入/输出状态

set_basic_output(pin_no, pin_signal)

  • 功能:设置基本IO输出
  • 参数
    • pin_no (int) Pin 端口号,范围 1 ~ 6
    • pin_signal (int):0 - 低。 1 - 高

get_basic_input(pin_no)

  • 功能:设置基本IO输出
  • 参数
    • pin_no (int) Pin 端口号,范围 1 ~ 6
    • pin_signal (int):0 - 低。 1 - 高

tool_serial_restore()

  • 功能:485恢复出厂设置

tool_serial_ready()

  • 功能: 设置485通讯
  • 返回值: 0:未设置 1:设置完成

tool_serial_available()

  • 功能: 设置485通讯
  • 返回值: 0-正常 1-机器人触发碰撞检测

tool_serial_read_data()

  • 功能: 读取固定长度数据。 读取之前,先读取缓冲区长度。 读取后数据将被清除
  • 参数: data_len (int):要读取的字节数,范围1 ~ 45
  • 返回值: 0:未设置 1:设置完成

tool_serial_write_data()

  • 功能: 结束485发送数据,数据长度范围为1 ~ 45字节
  • 返回值: 0-正常 1-机器人触发碰撞检测

tool_serial_flush()

  • 功能: 清除485缓冲区
  • 返回值: 0-正常 1-机器人触发碰撞检测

tool_serial_peek()

  • 功能: 查看缓冲区中的第一条数据,数据不会被清除
  • 返回值: 1字节数据

tool_serial_set_baud(baud)

  • 功能: 设置485波特率,默认115200
  • 参数:波特率(int):波特率
  • 返回值: NULL

tool_serial_set_timeout(max_time)

  • 功能: 设置 485 超时时间(以毫秒为单位),默认 30ms
  • 参数
    • max_time: (int): 超时
  • 返回值: NULL

← 上一页 | 下一页 →

results matching ""

    No results matching ""