6.1 Python API

[toc]

6.1.2 API使用说明

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

# 示例
from pymycobot import Mercury

mc = Mercury('/dev/ttyAMA1')

print(mc.get_angles())

1. 系统状态

get_system_version()

  • 功能: 获取主控固件版本号
  • 返回值: 主控固件版本号

get_robot_type()

  • 功能: 获取机器人类型

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

get_atom_version()

  • 功能: 获取末端固件版本号
  • 返回值: 末端固件版本号(float)

get_robot_status()

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

2. 整体状况

power_on()

  • 功能: 机器人上电
  • 返回值:
    • 1 - 上电完成.
    • 0 - 上电失败

power_off()

  • 功能: 机器人下电

  • 返回值:

    • 1 - 下电完成.
    • 0 - 下电失败

is_power_on()

  • 功能: 获取机器人是否上电

  • 返回值:

    • 1: 已上电
    • 0: 未上电
    • -1: 错误

release_all_servos()

  • 功能: 放松机器人所有关节
  • 返回值:
    • 1 - 释放完成.
    • 0 - 释放失败

focus_all_servos()

  • 功能: 锁定机器人所有关节

  • 返回值:

    • 1: 锁定完成
    • 0: 锁定失败
    • -1: 错误

3. MDI模式及操作

get_angles()

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

get_angle(joint_id)

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

send_angle(id, degree, speed)

  • 功能: 单关节角度控制
  • 参数:
    • id: 关节ID, 范围 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 |
    • speed:机械臂运动速度,范围 1~100

send_angles(angles, speed)

  • 功能: 将所有角度发送到机械臂的所有关节
  • 参数:
    • angles: 长度为7的列表(List[float])
    • speed: (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: : 长度为6的浮点数坐标值 [x,y,z,rx,ry,rz]
    • speed(int): 1 ~ 100

pause()

  • 功能: 暂停机器人运动

is_paused()

  • 功能: 机器人是否处于暂停运动状态
  • 返回值:
    • 1 - 暂停
    • 0 - 不是暂停
    • -1 - 错误

resume()

  • 功能: 恢复机器人运动,解除暂停

stop()

  • 功能: 机器人停止运动
  • 返回值:
    • 1 - 停止完成
    • 0 - 停止失败
    • -1 - 错误

is_in_position(data, flag)

  • 功能: : 机器人是否到达指定位置
  • 参数:
    • data: 提供一组列表数据,可以是角度或坐标值。 如果输入角度长度范围为7,如果输入坐标值长度范围为6
    • flag 输入数据的类型
      • 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”为正值运动
    • speed: 运动速度,范围 1 ~ 100

jog_coord(coord_id, direction, speed)

  • 功能: 控制机器人单坐标持续运动.
  • 参数:
    • coord_id: (int) 坐标ID: 1~6 对应 [x,y,z,rx,ry,rz]
    • direction: (int) 控制机械臂运动方向,‘0’-负值运动,‘1’-正值运动
    • speed: 运动速度,范围 1 ~ 100

jog_increment_angle(joint_id, increment, speed)

  • 功能: 单关节角度增量控制
  • 参数:
    • joint_id: 机器人关节ID 1-7
    • increment: 根据当前指定关节的角度位置增量移动
    • speed: 运动速度,范围 1 ~ 100

jog_increment_coord(coord_id, increment, speed)

  • 功能: 单坐标角度增量控制
  • 参数:
    • joint_id: 坐标id 1 - 6. 对应 [x,y,z,rx,ry,rz]
    • increment: 根据当前指定坐标的坐标位置增量移动
    • speed: 运动速度,范围 1 ~ 100

5. 坐标控制姿态偏差角

get_solution_angles()

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

set_solution_angles(angle, speed)

  • 功能: 设置零空间偏转角值

  • 参数:

    • angle : 输入关节1的角度范围,角度范围-90到90
    • speed : 运动速度,范围 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)

  • 功能: 检测关节连接状态
  • 参数: servo id 关节ID ,范围 1-7
  • 返回值:
    • 1: 连接正常
    • 0: 连接失败
    • -1: 错误

is_all_servo_enable()

  • 功能: 检测所有关节连接状态
  • 返回值:
    • 1: 连接正常
    • 0: 连接失败
    • -1: 错误

set_servo_calibration(servo_id)

  • 功能: 设置关节电机当前位置为零位位置
  • 参数:
    • servo_id: 关节 ID 范围 1 - 7

release_servo(servo_id)

  • 功能: 设置指定关节电机掉使能,使电机处于放松状态
  • 参数:
    • servo_id: 关节 ID 范围 1 - 7
  • 返回值:
    • 1: 放松成功
    • 0: 放松失败
    • -1: 错误

focus_servo(servo_id)

  • 功能:: 设置指定关节电机使能,使电机处于锁定状态
  • 参数: servo_id: 关节 ID 范围 1 - 7
  • 返回值:
    • 1: 锁定成功
    • 0: 锁定失败
    • -1: 错误

set_break(joint_id, value)

  • 功能: 设置指定关节电机的刹车状态
  • 参数
    • joint_id: 关节 ID 范围 1 - 7
    • value: int. 0 - 关闭刹车, 1 - 打开刹车
  • 返回值: 0 : 失败; 1 : 成功

get_servo_speeds()

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

get_servo_currents()

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

get_servo_status()

  • 功能::获取所有关节电机的状态
  • 返回值: 0 - 正常. 1 - 异常

servo_restore(joint_id)

  • 功能::清除指定关节电机的异常状态
  • 参数
    • joint_id: int. 关节 ID 范围 1 - 7

8. 机械臂末端IO控制

set_digital_output(pin_no, pin_signal)

  • 功能: 设置IO状态
  • 参数
    • pin_no (int): IO引脚。 范围 1 - 2
    • pin_signal (int): 0 / 1

get_digital_input(pin_no)

  • 功能: 获取IO状态
  • 参数: pin_no (int) IO引脚。 范围 1 - 2
  • 返回值: 0 / 1

9. 机械臂末端夹爪控制

set_gripper_state(flag, speed, _type_1=None)

  • 功能:: 设置夹爪状态

  • 参数:

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

    • speed (int): 运动速度 1 ~ 100

    • _type_1 (int): 夹爪类型

      • 1 : 自适应夹爪 (默认)

set_gripper_value(gripper_value, speed, gripper_type=None)

  • 功能:: 设置夹爪的值

  • 参数:

    • gripper_value (int): 0 ~ 100

    • speed (int): 1 ~ 100

    • gripper_type (int):

      • 1 : 自适应夹爪 (默认)

set_gripper_calibration()

  • 功能:: 设置夹爪当前位置为零位位置

set_gripper_enabled(value)

  • 功能:: 设置自适应夹爪状态
  • 参数:
    • value 1: 使能 0: 放松

set_gripper_mode(mode)

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

get_gripper_mode()

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

10. 机械臂末端按钮以及LED功能

is_btn_clicked()

  • 功能:: 获取末端按钮状态
  • 返回值:
    • 0: 未按下
    • 1: 处于按下状态

set_color(r, g, b)

  • 功能:: 设置末端LED灯颜色

  • 参数:

    • 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()

  • 功能: 获取工具坐标系
  • 返回值: 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 - 直线运动, 0 - 关节运动.

get_movement_type()

  • 功能: 获取移动类型.
  • 返回值:
    • 1 - 直线运动
    • 0 - 关节运动

set_end_type(end)

  • 功能: 设置末端坐标系
  • 参数:
    • end (int): 0 - 法兰, 1 - 工具

get_end_type()

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

13. 圆弧运动

write_move_c(transpoint, endpoint, speed)

  • 功能: 圆弧轨迹运动
  • 参数: transpoint(list):圆弧经过点坐标 endpoint (list):圆弧结束点坐标 speed(int): 1 ~ 100

14. 底座IO控制

set_basic_output(pin_no, pin_signal)

  • 功能::设置底座IO输出状态
  • 参数
    • pin_no (int) 引脚端口号, 范围 1 ~ 6
    • pin_signal (int): 0 - 低电平. 1 - 高电平

get_basic_input(pin_no)

  • 功能: 读取底座IO输入状态
  • 参数:
    • pin_no (int) 引脚端口号, 范围 1 ~ 6
  • 返回值: 0 - 低电平. 1 - 高电平

results matching ""

    No results matching ""