Skip to content

3 数据结构

3.1 StatusCodeEnum

说明

接口返回状态码

备注:如发现未在说明书里显示的返回码,需要查看机器人故障码表或者根据返回值的字面意思理解

导入

python
from Agilebot import StatusCodeEnum

属性

名称枚举值描述
OK0成功
INCOMPATIBLE_VERSION-1版本不兼容
CONNECTION_TIMEOUT-3连接超时
INTERFACE_NOTIMPLEMENTED-4当前控制器该接口未实现
INDEX_OUT_OF_RANGE-5索引下标越界
UNSUPPORTED_FILETYPE-6不支持的文件类型
UNSUPPORTED_PARAMETER-7不支持的机器人参数
UNSUPPORTED_SIGNAL_TYPE-8不支持的 IO 信号类型
PROGRAM_NOT_FOUND-9找不到对应的程序
PROGRAM_POSE_NOT_FOUND-10找不到对应的程序点位
WRITE_PROGRAM_POSE_FAILED-11更新写入程序点位失败
GET_ALARM_CODE_FAILED-12访问报警服务获取报警码失败
WRONG_POSITION_INFO-13控制器返回错误的点位信息
UNSUPPORTED_TRATYPE-14不支持的运动类型
INVALID_DH_LIST-15错误的变换参数列表,请联系开发人员
INTERVAL_PORTS_MUST_NOTNONE-16时间间隔和输出端口列表和电平持续时间必须非空
INVALID_IP_ADDRESS-17无效的 IP 地址
INVALID_DH_PARAMETERS-18无效的 DH 参数
INVALID_PAYLOAD_INFO-19无效的负载信息
INVALID_FLYSHOT_CONFIG-20无效的飞拍配置参数
FAILED_TO_DOWNLOAD_SAME_NAME_FILE-21因重名不允许覆写
FAILED_TO_CONVERT_CART_TO_JOINT-22转换笛卡尔坐标失败
FAILED_TO_GET_ALL_INVERSE_KINEMATICS-23获取一个回转数内的八组解失败
COORDINATE_LIMIT_EXCEEDED-24坐标系个数上限为 10 个 坐标系 ID 合法范围值是 [1, 10]
FILE_NOTEXIST-25文件不存在
INVALID_IO_LIST_PARAMETERS-26无效的 IO 列表参数
INVALID_PARAMETER-27无效的参数
NOT_FOUND-28找不到对应的数据
LOCAL_PROXY_UNSUPPORTED-29当前环境不支持本地代理
CONTROLLER_ERROR-254控制器错误,详情请联系开发人员
SERVER_ERR-255其他原因

3.2 RobotStatusEnum

说明

机器人运行状态

导入

python
from Agilebot import RobotStatusEnum

属性

名称枚举值描述
ROBOT_UNKNOWN-1未知状态
ROBOT_IDLE0机器人空闲
ROBOT_RUNNING1机器人运行中
ROBOT_TEACHING2机器人示教中
ROBOT_DRAG3机器人拖动中
ROBOR_FORCE_DRAG4机器人强制拖动中
ROBOT_IDLE_TO_RUNNING101机器人中间状态 空闲转换为运行
ROBOT_IDLE_TO_TEACHING102机器人中间状态 空闲转换为示教
ROBOT_RUNNING_TO_IDLE103机器人中间状态 运行转换为空闲
ROBOT_TEACHING_TO_IDLE104机器人中间状态 示教转换为空闲

3.3 CtrlStatusEnum

说明

控制器运行状态

导入

python
from Agilebot import CtrlStatusEnum

属性

名称枚举值描述
CTRL_UNKNOWN-1未知的控制器状态
CTRL_INIT0控制器初始化
CTRL_ENGAGED1控制器使能
CTRL_ESTOP2控制器急停
CTRL_TERMINATED3控制器中止
CTRL_ANY_TO_ESTOP101控制器中间状态 其他转换为急停
CTRL_ESTOP_TO_ENGAGED102控制器中间状态 急停到使能
CTRL_ESTOP_TO_TERMINATED103控制器中间状态 急停到中止

3.4 ServoStatusEnum

说明

伺服控制器状态

导入

python
from Agilebot import ServoStatusEnum

属性

名称枚举值描述
SERVO_UNKNOWN-1未知的伺服控制器状态
SERVO_IDLE1伺服控制器空闲
SERVO_RUNNING2伺服控制器运行中
SERVO_DISABLE3伺服控制器关闭
SERVO_WAIT_READY4伺服控制器等待就绪
SERVO_WAIT_DOWN5伺服控制器等待关闭
SERVO_INIT10伺服控制器初始化

3.5 SoftModeEnum

说明

机器人 PC 状态模式状态

导入

python
from Agilebot import SoftModeEnum

属性

名称枚举值描述
UNKNOWN0未知
AUTO1自动模式
MANUAL_LIMIT2手动限速模式
MANUAL3手动模式

3.6 PoseType

说明

机器人参数类型

导入

python
from Agilebot import PoseType

属性

名称枚举值描述
JOINT0关节空间
CART1笛卡尔坐标

3.7 TCSType

说明

坐标系类型

导入

python
from Agilebot import TCSType

属性

名称枚举值描述
JOINT0关节空间
BASE1基坐标系
WORLD2世界坐标系
USER3用户坐标系
TOOL4工具坐标系
RTCP_USER5RTCP 用户坐标系
RTCP_TOOL6RTCP 工具坐标系

3.8 Joint

说明

描述机器人关节位置的数据结构

导入

python
from Agilebot import Joint

属性

属性类型描述
j1float关节 1 的值
j2float关节 2 的值
j3float关节 3 的值
j4float关节 4 的值
j5float关节 5 的值
j6float关节 6 的值
j7float关节 7 的值
j8float关节 8 的值
j9float关节 9 的值

3.9 Position

说明

描述机器人笛卡尔位姿的数据结构

导入

python
from Agilebot import Position

属性

属性类型描述
xfloatX 轴坐标
yfloatY 轴坐标
zfloatZ 轴坐标
afloatA 轴角度
bfloatB 轴角度
cfloatC 轴角度

3.10 Posture

说明

描述机器人形态参数的数据结构

导入

python
from Agilebot import Posture

属性

属性类型描述
turn_cycleint[]各轴的回转数,取值范围为..., -2,-1,0,1,2,...。各轴处在 0° 姿势下为 0;执行直线、圆弧动作时目标点回转数自动选择。对应关节回转角≥180° 时取值≥1,-179.99~179.99° 对应 0,≤-180° 时取值≤-1
wrist_flipint腕部翻转姿态,取值范围为 - 1、0、1。在 6 轴机器人 J5 关节配置中,值 = 1 表示腕向下翻转,值 =-1 表示腕向上翻转
arm_up_downint臂部上下姿态,取值范围为 - 1、0、1。在 6 轴机器人 J3 关节配置中,值 = 1 表示手臂在上(前向条件下,3 轴在 4 轴到 2 轴连线上方且 J3<0),值 =-1 表示手臂在下(前向条件下,3 轴在该连线下方且 J3>0)
arm_back_frontint臂部前后姿态,取值范围为 - 1、0、1。在 6 轴机器人 J1 关节配置中,值 = 1 表示手臂在前(协作面向前方,2 轴在 1 轴左侧),值 =-1 表示手臂在后(协作面向前方,2 轴在 1 轴右侧)
arm_left_rightint臂部左右姿态,取值范围为 - 1、0、1。在 4 轴 Scara 机器人 J2 关节配置中,值 = 1 表示 Scara 手臂在右,值 =-1 表示 Scara 手臂在左

3.11 BaseCartData

说明

描述机器人笛卡尔目标位姿的数据结构

导入

python
from Agilebot import BaseCartData

属性

属性类型描述
positionPosition笛卡尔位姿的数据
posturePosture机器人形态参数

3.12 MotionPose

说明

描述机器人点位的结构 坐标数据中,XYZ 方向距离数据单位为毫米 (mm),角度数据单位为 度 (°),部分版本角度信息为弧度,详见功能列表返回结果说明。

导入

python
from Agilebot import MotionPose

属性

属性类型描述
cartDataBaseCartData笛卡尔数据
jointJoint关节数据
ptPoseType点位类型,默认为 PoseType.JOINT

3.13 DHparam

说明

机器人 DH 参数列表

导入

python
from Agilebot import DHparam

属性

属性类型描述
idintDH 参数的 ID
dfloat关节距离
afloat杆件长度
alphafloat杆件扭角
offsetfloat关节转角

3.14 PayloadInfo

说明 机器人负载信息。

导入

python
from Agilebot import PayloadInfo

属性

属性类型描述
idint序号 ID
weightfloat负载重量(kg)
commentstr注释
mass_centerMassCenter质心
inertia_momentInertiaMoment惯性矩

MassCenter

属性类型描述
xfloatX
yfloatY
zfloatZ

InertiaMoment

属性类型描述
lxfloatLX
lyfloatLY
lzfloatLZ

3.15 ProgramCartData

说明

程序点位信息

导入

python
from Agilebot import ProgramCartData

属性

属性类型描述
baseCartBaseCartData笛卡尔数据
ufint使用的用户坐标系 ID
tfint使用的工具坐标系 ID

3.16 ProgramPoseData

说明

程序点位信息

导入

python
from Agilebot import ProgramPoseData

属性

属性类型描述
cartDataProgramCartData程序点位数据
jointJoint关节数据
ptPoseType点位类型,默认为 PoseType.JOINT

3.17 ProgramPose

说明

程序点位信息

导入

python
from Agilebot import ProgramPose

属性

属性类型描述
poseDataProgramPoseData程序点位数据
idint点位 ID
namestr点位名称
commentstr点位注释

3.18 PoseRegisterData

说明

寄存器点类,用于表示和处理机械臂的寄存器点数据。

导入

python
from Agilebot import PoseRegisterData

属性

属性类型描述
cartDataBaseCartData笛卡尔数据
jointJoint关节数据
ptPoseType点位类型,默认为 PoseType.JOINT

3.19 PoseRegister

说明

寄存器点类,用于表示和处理机械臂的寄存器点数据。

导入

python
from Agilebot import PoseRegister

属性

属性类型描述
poseRegisterDataPoseRegisterData程序点位数据
idint点位 ID
namestr点位名称
commentstr点位注释

3.20 TransformStatusEnum

说明

离线轨迹文件转换状态的枚举

导入

python
from Agilebot import TransformStatusEnum

属性

名称枚举值描述
TRANSFORM_START0转换任务开始
TRANSFORM_RUNNING1转换任务执行中
TRANSFORM_SUCCESS2转换任务已完成
TRANSFORM_FAILED3转换任务失败
TRANSFORM_NOT_FOUND4转换任务没找到
TRANSFORM_UNKNOWN5未知的转换任务状态

3.21 HWState

说明

机器人状态 HWState 枚举

导入

python
from Agilebot import HWState

属性

名称描述
TOPIC_JOINT发布机械臂关节状态反馈
TOPIC_CURRENT_CARTESIAN发布 TCP 当前笛卡尔坐标
TOPIC_UF发布当前用户坐标系信息
TOPIC_TF发布当前工具坐标系信息
TOPIC_VELOCITY发布全局速度比率
TOPIC_RUNNING_STATUS发布控制器运行状态
TOPIC_INTERPRETER_STATUS发布解释器状态
TOPIC_ROBOT_STATUS发布机器人状态
TOPIC_CTRL_STATUS发布控制器状态
TOPIC_SERVO_STATUS发布伺服控制器状态
TOPIC_TRAJECTORY_RECORDS_STATUS发布轨迹复现记录状态

3.22 CoordinateSystemType

说明

机器人坐标系相关信息

导入

python
from Agilebot import CoordinateSystemType

属性

名称枚举值描述
UserFrame0用户坐标系
ToolFrame1工具坐标系

3.23 Coordinate

说明

坐标系信息,用于工具坐标系和用户坐标系。
Coordinate system data, including tool frame and user frame.

导入

python
from Agilebot import Coordinate

属性

属性类型描述
idint坐标系 ID
namestr坐标系名称
commentstr坐标系描述
dataPosition坐标系位置数据

3.24 DragStatus

说明

机器人轴拖动状态类

导入

python
from Agilebot import DragStatus

属性

属性类型描述
cart_statusCartStatus笛卡尔坐标系各轴拖动锁定状态
joint_statusJointStatus关节轴拖动锁定状态
is_continuous_dragbool持续拖动的标志

3.24.1 CartStatus

说明

笛卡尔状态类,用于表示笛卡尔坐标系的状态。

导入

python
from Agilebot import CartStatus

属性

属性类型描述
xboolX 轴状态
yboolY 轴状态
zboolZ 轴状态
aboolA 轴状态
bboolB 轴状态
cboolC 轴状态

3.24.2 JointStatus

说明

关节状态类,用于表示机械臂各关节的状态。所有关节的状态默认为 True(可用)。

导入

python
from Agilebot import JointStatus

属性

属性类型描述
j1boolJ1 轴状态
j2boolJ2 轴状态
j3boolJ3 轴状态
j4boolJ4 轴状态
j5boolJ5 轴状态
j6boolJ6 轴状态
j7boolJ7 轴状态
j8boolJ8 轴状态
j9boolJ9 轴状态

3.25 ModbusChannel

说明

Modbus 通道类型

导入

python
from Agilebot import ModbusChannel

属性

名称枚举值描述
CONTROLLER_TCP_TO_4852TCP2RS485 模块通道。
WRIST_485_03手腕 AI 通道。
WRIST_485_14手腕 DO 通道。
CONTROLLER_4855控制柜 485 通道。

3.26 PayloadIdentifyState

说明

负载测定状态。

导入

python
from Agilebot import PayloadIdentifyState

属性

名称枚举值描述
PAYLOAD_CHECK_INIT0负载测定检查初始化中
PAYLOAD_CHECK_RUNNING1负载测定检查运行中
PAYLOAD_CHECK_SUCCESS2负载测定检查成功
PAYLOAD_CHECK_FAILED3负载测定检查失败
PAYLOAD_IDENTIFY_INIT4负载测定初始化
PAYLOAD_IDENTIFY_RUNNING5负载测定运行中
PAYLOAD_IDENTIFY_SUCCESS6负载测定成功
PAYLOAD_IDENTIFY_FAILED7负载测定失败

3.27 MoveMode

说明

示教运动模式

导入

python
from Agilebot import MoveMode

属性

名称枚举值描述
Continuous0连续运动
Stepping1步进运动

3.28 SignalType

说明

SignalType 是一个枚举类,用于区分不同类型的输入输出信号。它涵盖了数字信号、专用信号、手臂信号、组信号、模拟信号等多种类型,帮助在机器人控制系统中准确识别和管理不同类型的信号。

导入

python
from Agilebot import SignalType

属性

名称枚举值描述
DI1数字输入信号(Digital Input)
DO2数字输出信号(Digital Output)
UI3专用输入信号(User Input)
UO4专用输出信号(User Output)
RI5远程控制输入信号(Remote Control Input)
RO6远程控制输出信号(Remote Control Output)
GI7组输入信号(Group Input)
GO8组输出信号(Group Output)
TAI9手腕模拟输入信号(Tool Analog Input)
TDI10手腕数字输入信号(Tool Digital Input)
TDO11手腕数字输出信号(Tool Digital Output)
AI12模拟输入信号(Analog Input)
AO13模拟输出信号(Analog Output)

3.29 SignalValue

说明

SignalValue 类用于定义信号的开关值。它通过两个常量 OFFON 来表示信号的关闭和开启状态。此类在机器人控制系统中用于控制和读取信号的状态。

导入

python
from Agilebot import SignalValue

属性

名称描述
OFF0信号关闭
ON1信号开启

3.30 SerialParams

说明

串口通讯参数类,用于配置 Modbus-RTU/TCP 转 485 通讯时的完整参数集合。
实例化后可直接传递给底层通讯接口,实现一键参数下发。

导入

python
from Agilebot import SerialParams, ModbusChannel, ModbusParity

构造方法

python
SerialParams(
    id: int = 1,
    channel: ModbusChannel = ModbusChannel.CONTROLLER_TCP_TO_485,
    ip: str = "10.27.1.80",
    port: int = 502,
    baud: int = 9600,
    data_bit: int = 8,
    stop_bit: int = 1,
    parity: ModbusParity = ModbusParity.NONE,
    timeout: int = 1000
)

属性

属性类型描述
idint主站 id
channelModbusChannel通讯通道,如 CONTROLLER_TCP_TO_485
ipstrCONTROLLER_TCP_TO_485 模块的地址,仅 channel 为 CONTROLLER_TCP_TO_485 时有效
portintCONTROLLER_TCP_TO_485 模块的端口,仅 channel 为 CONTROLLER_TCP_TO_485 时有效
baudint串口波特率,可选 9600\19200\38400\57600\115200\1000000
data_bitint数据位长度,可选 8\9
stop_bitint停止位长度,可选 1\2
parityModbusParity校验位,可选 NONE\ODD\EVEN,默认无校验 ModbusParity.NONE
timeoutint读 / 写超时时间,单位毫秒,默认 1000 ms

3.31 SubPub 订阅相关类型

3.31.1 RobotTopicType

说明
机器人实时数据主题枚举,用于订阅或发布机器人状态。

导入

python
from Agilebot import RobotTopicType

枚举值

名称描述
JOINT_POSITION关节实际位置
CARTESIAN_POSITION当前用户工具坐标系下 TCP 笛卡尔位姿(x,y,z,rx,ry,rz)
TCP_WORLD_CARTESIAN世界坐标系下的 TCP 笛卡尔位姿
TCP_BASE_CARTESIAN基坐标系下的 TCP 笛卡尔位姿
USER_FRAME当前用户坐标系编号
TOOL_FRAME当前工具坐标系编号
VELOCITY_RATIO全局速度比率(0–100 %)
GLOBAL_ACC_RATIO全局加速度比率(0–100 %)
CALIBRATE_STATUS轴组校准状态
TRAJECTORY_RECORD轨迹记录状态
RUNNING_STATUS控制器运行状态
INTERPRETER_STATUS解释器状态(运行 / 暂停 / 停止 / 错误)
ROBOT_STATUS机器人本体综合状态
CTRL_STATUS控制器就绪状态
SERVO_STATUS伺服使能状态
USER_OP_MODE当前用户操作模式
SOFT_OP_MODE当前软操作模式
OPERATION_STATUS操作状态
PERFORMANCE_GEAR性能档位
POWER_STATUS电源状态
POWER_ON_STATUS上电状态
SAFETY_ALARM安全报警
SAFETY_PLANE_STATUS安全平面状态
TOOL_POSTURE_LIMIT_STATUS工具姿态限制状态
JOINTS_RECORD关节记录
TP_PROGRAM_STATUSTP 程序运行状态

3.31.2 RegTopicType

说明
预置寄存器主题类型枚举,用于访问控制器内部 R / MR / SR / PR 寄存器。

导入

python
from Agilebot import RegTopicType

枚举值

名称枚举值描述
RR通用寄存器
MRMR运动寄存器
SRSR字符串寄存器
PRPR位置寄存器

3.31.3 IOTopicType

说明
预置 IO 主题类型枚举,涵盖数字、组、模拟、工具 IO 及专用 IO。

导入

python
from Agilebot import IOTopicType

枚举值

名称枚举值描述
DIDI数字输入
DODO数字输出
GIGI组输入
GOGO组输出
RIRI远程控制输入
RORO远程控制输出
UIUI专用输入
UOUO专用输出
TDITDI工具数字输入
TDOTDO工具数字输出
TAITAI工具模拟输入
AIAI通用模拟输入
AOAO通用模拟输出