Mercury API

使用以下函数接口时,请先进入我们的 API 库,否则无法成功运行。有关库的下载和导入,请参见 Mercurycpp 编译和运行。

下面的 API 使用坐标、角度控制和速度参考范围如下:

坐标范围 (X, + - 466 - mm, Y: + - 466 - mm, Z: - 240 ~ 531 mm, RX/RY/RZ: + - 180 °)

X,Y,Z 速度: 1~200; RX,RY,RZ: 速度 1~40

角度范围 (J1: + - 178 °, J2: - 74 ° ~ 130 ° (机械臂放在工作台上,不超过 110°), J3: + - 178 °, J4: - 180 ° ~ 10 °, J5: + - 178 °, J6: - 20 ° ~ 273 °, J7: + - 180 °)

速度: 1~150

1 实例化 Mercury

1.1 Mercury(char* portid, int baud)

功能:实例化 Mercury

返回值:Mercury 类型,Mercury 对象的单例实例

参数说明:参数 1:串口名 参数 2:波特率

注意:在调用下面的 API 时,不需要在单独实例化,调用此 API 即可

2 机器人整体运行状态 Overall Status

2.1 PowerOn()

功能:机械臂上电

返回值:无

参数说明:无

注意:机械臂上电后,无法手动移动机械臂

2.2 PowerOff()

功能:机械臂掉电

返回值:无

参数说明:无

注意:机械臂上电后,如果想要手动移动机械臂,可以调用此 API

2.3 isPoweredOn()

功能:控制核心连接状态查询

返回值:int 类型,0--未上电,1--上电

参数说明:无

2.4 releaseAllServos()

功能:机器人关闭力矩输出

返回值:无

参数说明:无

2.5 FocusAllServos()

功能:机器人打开力矩输出

返回值:无

参数说明:无

3 输入程序控制模式 MDI Mode and Robot Control (Manual Data Input)

3.1 GetAngle()

功能:获取单关节角度

返回值:double 类型,对应关节的角度。

参数说明:参数 1:关节号(1-7)

3.2 GetAngles();

功能:读取所有角度

返回值:double*类型,指向一个存放 1-7 关节角度的 double 数组

参数说明:无

3.3 WriteAngle(int joint, double value, int speed)

功能:发送单独角度

返回值:无

参数说明:参数 1:关节号(1-7),参数 2:角度,参数 3:速度 (1-100)

3.4 WriteAngles(double* angles, int speed)

功能:发送全部关节角度

返回值:无

参数说明:参数 1:全部角度,参数 2:速度(0-100)

3.5 GetCoords()

功能:获取全部坐标

返回值:double*类型,指向一个 double 数组

参数说明:无

3.6 WriteCoord(int axis, double value, int speed)

功能:发送单参数坐标

返回值:无

参数说明:参数 1:坐标号(1-6(X-RZ)),参数 2:坐标(X:+-466mm,Y:+-466mm,Z:-290~641mm,RX/RY/RZ:+-180°),参数 3:速度(0-100)

3.7 WriteCoords(double* coords, int speed)

功能:发送全部坐标

返回值:无

参数说明:参数 1:坐标,参数 2:速度(0-100)

3.8 ProgramPause()

功能:控制核心暂停进行的指令,可以停止所有的移动指令

返回值:无

参数说明:无

3.9 isProgramPaused()

功能:检测程序是否暂停了移动的指令

返回值:int 类型,0-未停止/1-停止

参数说明:无

3.10 ProgramResume()

功能:程序恢复移动指令,继续完成上一个指令

返回值:无

参数说明:无

3.11 TaskStop()

功能:控制核心停止所有的移动指令,程序停止

返回值:无

参数说明:无

3.12 checkRunning()()

功能:检测机器人是否在运动

返回值:int 类型,1-正在运动/0-未运动

参数说明:无

3.13 IsInPosition(double* coords, bool value)

功能:检查机械臂是否到达指定点(角度或坐标)
返回值:bool 类型,返回 false——指定的点没有到达,返回 true——指定的点已经到达
参数说明:参数 1:指向包含所有角度或坐标的数组的指针参数 2:0 或 1 (坐标为 1,角度为 0)

4 JOG 运行与操作 JOG mode and operation

4.1 JogCoord(int axis, int direction, int speed)

功能:使机械臂朝坐标轴方向运动

返回值:无

参数说明:参数 1:坐标号(1-6,x y z rx ry rz),参数 2:方向(1--正方向,0--反方向),参数 3:速度(范围:0-100)

注意:此 API 会让机械臂一直朝坐标轴正反方向运动,到达限位后或者中途调用 TaskStop 才会停止运动

4.2 JogAngle(int joint, int direction, int speed)

功能:使某个关节运动直至 TaskStop 或是到达限位

返回值:无

参数说明:参数 1:关节号(1-7),参数 2:方向(1--正方向,0--反方向),参数 3:速度(范围:0-100)

注意:此 API 会让机械臂关节一直朝正反方向运动,到达限位后或者中途调用 TaskStop 才会停止运动

4.3 JogIncrement(int joint, double increment, int speed)

功能:使某个关节运动设定的角度增量

返回值:无

参数说明:参数 1:关节号(1-7),参数 2:关节增量值,速度(范围:0-100)

注意:机械臂进行步进运动:比如当前关节 1 坐标为-100,增量值为 50,运动完后,关节 1 将为 50

5 坐标控制姿态偏转角 Coordinate Control Attitude Deflection Angle

5.1 GetSolutionAngles()

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

返回值:double 类型零空间偏转角数值

参数说明:无

5.2 SetSolutionAngles(double angle ,int speed)

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

返回值:无

参数说明:参数 1:零空间偏转角数值(范围+-90°);参数 2:速度(范围 0-100)

6 底座 basicIO 控制 basic IO Control

6.1 setBasicIOutput(int pin_number, int pin_signal)

功能:设置底座 IO 输出

返回值:无

参数说明:参数 1:引脚号(basic 输出引脚号),参数 2:状态(0--低电平,1--高电平)

6.2 getBasicIInput(int pin_number)

功能:读取底座 IO 输出

返回值:引脚状态,0--低电平,1--高电平

参数说明:参数 1::basic 输入引脚号

7 设置软件关节限位 Software Joint Limit

7.1 getJointMin(int joint)

功能:读取关节最小角度

返回值:double 类型,关节最小能运行到的角度

参数说明:参数 1:关节号(1-6)

7.2 getJointMax(int joint)

功能:读取关节最大角度

返回值:double 类型,关节最大能运行到的角度

参数说明:参数 1:关节号(1-6)

7.3 setJointMin(int joint, double angle)

功能:设置关节最小角度

返回值:无

参数说明:参数 1:关节号(1-6),参数 2:最小角度(关节最小能运行到的角度)

7.4 setJointMax(int joint, double angle)

功能:设置关节最大角度

返回值:无

参数说明:参数 1:关节号(1-6),参数 2:最大角度(关节最大能运行到的角度)

8 拖动示教 Drag and play

8.1 DragTechSave()

功能:启动拖动示教录制点位

返回值:无

参数说明:无

8.2 DragTechExecute()

功能:执行示教点位

返回值:无

参数说明:无

8.3 DragTechPause()

功能:暂停点位录制

返回值:无

参数说明:无

注意:暂停之后机械臂处于放松状态

9 笛卡尔空间坐标参数设定 Cartesian space coordinate parameter setting

9.1 setToolReference(double x,double y, double z, double rx, double ry, double rz)

功能:设置工具坐标系

返回值:无

参数说明:参数 1:x ,参数 2: y ,参数 3: z ,参数 4: rx ,参数 5: ry ,参数 6: rz (参数范围:x(-2800~280.00) (10xmm),y (-2800~280.00)(10xmm),z(-2800~280.00)(10xmm),rx (-3140~3140) (1000xRd),ry(-3140~3140) (1000xRd),rz (--3140~3140)(1000xRd))

9.2 getToolReference()

功能:获取工具坐标系

返回值:double *类型,指向存放 6 个 double 类型数据(x,y,z,rx,ry,rz)的数组

参数说明:无

9.3 setWorldReference(double x, double y, double z, double rx, double ry, double rz)

功能:设置世界坐标系

返回值:无

参数说明:参数 1:x ,参数 2: y ,参数 3: z ,参数 4: rx ,参数 5: ry ,参数 6: rz (参数范围:x(-2800~280.00) (10xmm),y (-2800~280.00)(10xmm),z(-2800~280.00)(10xmm),rx (-3140~3140) (1000xRd),ry(-3140~3140) (1000xRd),rz (--3140~3140)(1000xRd))

9.4 getWorldReference()

功能:获取世界坐标系

返回值:double *类型,指向存放 6 个 double 类型数据(x,y,z,rx,ry,rz)的数组

参数说明:无

9.5 setMovementType(int movement)

功能:设置移动类型

返回值:无

参数说明:参数 1:1-movel, 0-moveJ

9.6 getMovementType()

功能:获取移动类型

返回值:int 类型,1-movel, 0-moveJ

参数说明:无

9.7 setEndType(int endtype)

功能:设置末端坐标系

返回值:无

参数说明:参数 1:0-法兰 1-工具

9.8 getEndType()

功能:获取末端坐标系

返回值:int 类型,0-法兰 1-工具

参数说明:无

10 圆弧运动

10.1 WriteMovC(float transpointx, float transpointy, float transpointz, float transpointrx, float transpointry, float transpointrz, float endpointx , float endpointy , float endpointz, float endpointrx, float endpointry, float endpointrz, int speed)

功能:圆弧轨迹运动

返回值:无

参数说明:transpoint 为圆弧途径点,endpoint 为圆弧结束点。参数 1: transpointx, 参数 2: transpointy, 参数 3: transpointz,参数 4: transpointrx, 参数 5: transpointry, 参数 6: transpointrz,参数 7: endpointx , 参数 8: endpointy , 参数 9: endpointz ,参数 10: endpointrx, 参数 11: endpointry, 参数 12: endpointrz, 参数 13: 速度(1-100)

11 关节电机状态 servo state value

11.1 GetServoSpeeds()

功能:获取关节运行速度,运行时才有速度,单位:步/s

返回值:int*类型的指针,指向一个存放 1-7 关节速度大小的 int[7]数组,范围:+-3000

参数说明:无

11.2 GetServoCurrents()

功能:获取关节电流

返回值:int*类型的指针,指向一个存放 1-7 关节电流大小的 int[7]数组,范围:0-5000

参数说明:无

11.3 GetServoStatus()

功能:获取关节状态,0-->各关节正常

返回值:int*类型的指针,指向一个存放 1-7 关节状态的 int[7]数组,状态:0--ok,1-欠压,2-过温,3-过流

参数说明:无

results matching ""

    No results matching ""