3 数据结构
3.1 StatusCodeEnum
说明
接口返回状态码
备注:如发现未在说明书里显示的返回码,需要查看机器人故障码表或者根据返回值的字面意思理解
导入
from Agilebot import StatusCodeEnum属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
OK | 0 | 成功 |
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
说明
机器人运行状态
导入
from Agilebot import RobotStatusEnum属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
ROBOT_UNKNOWN | -1 | 未知状态 |
ROBOT_IDLE | 0 | 机器人空闲 |
ROBOT_RUNNING | 1 | 机器人运行中 |
ROBOT_TEACHING | 2 | 机器人示教中 |
ROBOT_DRAG | 3 | 机器人拖动中 |
ROBOR_FORCE_DRAG | 4 | 机器人强制拖动中 |
ROBOT_IDLE_TO_RUNNING | 101 | 机器人中间状态 空闲转换为运行 |
ROBOT_IDLE_TO_TEACHING | 102 | 机器人中间状态 空闲转换为示教 |
ROBOT_RUNNING_TO_IDLE | 103 | 机器人中间状态 运行转换为空闲 |
ROBOT_TEACHING_TO_IDLE | 104 | 机器人中间状态 示教转换为空闲 |
3.3 CtrlStatusEnum
说明
控制器运行状态
导入
from Agilebot import CtrlStatusEnum属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
CTRL_UNKNOWN | -1 | 未知的控制器状态 |
CTRL_INIT | 0 | 控制器初始化 |
CTRL_ENGAGED | 1 | 控制器使能 |
CTRL_ESTOP | 2 | 控制器急停 |
CTRL_TERMINATED | 3 | 控制器中止 |
CTRL_ANY_TO_ESTOP | 101 | 控制器中间状态 其他转换为急停 |
CTRL_ESTOP_TO_ENGAGED | 102 | 控制器中间状态 急停到使能 |
CTRL_ESTOP_TO_TERMINATED | 103 | 控制器中间状态 急停到中止 |
3.4 ServoStatusEnum
说明
伺服控制器状态
导入
from Agilebot import ServoStatusEnum属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
SERVO_UNKNOWN | -1 | 未知的伺服控制器状态 |
SERVO_IDLE | 1 | 伺服控制器空闲 |
SERVO_RUNNING | 2 | 伺服控制器运行中 |
SERVO_DISABLE | 3 | 伺服控制器关闭 |
SERVO_WAIT_READY | 4 | 伺服控制器等待就绪 |
SERVO_WAIT_DOWN | 5 | 伺服控制器等待关闭 |
SERVO_INIT | 10 | 伺服控制器初始化 |
3.5 SoftModeEnum
说明
机器人 PC 状态模式状态
导入
from Agilebot import SoftModeEnum属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
UNKNOWN | 0 | 未知 |
AUTO | 1 | 自动模式 |
MANUAL_LIMIT | 2 | 手动限速模式 |
MANUAL | 3 | 手动模式 |
3.6 PoseType
说明
机器人参数类型
导入
from Agilebot import PoseType属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
JOINT | 0 | 关节空间 |
CART | 1 | 笛卡尔坐标 |
3.7 TCSType
说明
坐标系类型
导入
from Agilebot import TCSType属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
JOINT | 0 | 关节空间 |
BASE | 1 | 基坐标系 |
WORLD | 2 | 世界坐标系 |
USER | 3 | 用户坐标系 |
TOOL | 4 | 工具坐标系 |
RTCP_USER | 5 | RTCP 用户坐标系 |
RTCP_TOOL | 6 | RTCP 工具坐标系 |
3.8 Joint
说明
描述机器人关节位置的数据结构
导入
from Agilebot import Joint属性
| 属性 | 类型 | 描述 |
|---|---|---|
j1 | float | 关节 1 的值 |
j2 | float | 关节 2 的值 |
j3 | float | 关节 3 的值 |
j4 | float | 关节 4 的值 |
j5 | float | 关节 5 的值 |
j6 | float | 关节 6 的值 |
j7 | float | 关节 7 的值 |
j8 | float | 关节 8 的值 |
j9 | float | 关节 9 的值 |
3.9 Position
说明
描述机器人笛卡尔位姿的数据结构
导入
from Agilebot import Position属性
| 属性 | 类型 | 描述 |
|---|---|---|
x | float | X 轴坐标 |
y | float | Y 轴坐标 |
z | float | Z 轴坐标 |
a | float | A 轴角度 |
b | float | B 轴角度 |
c | float | C 轴角度 |
3.10 Posture
说明
描述机器人形态参数的数据结构
导入
from Agilebot import Posture属性
| 属性 | 类型 | 描述 |
|---|---|---|
turn_cycle | int[] | 各轴的回转数,取值范围为..., -2,-1,0,1,2,...。各轴处在 0° 姿势下为 0;执行直线、圆弧动作时目标点回转数自动选择。对应关节回转角≥180° 时取值≥1,-179.99~179.99° 对应 0,≤-180° 时取值≤-1 |
wrist_flip | int | 腕部翻转姿态,取值范围为 - 1、0、1。在 6 轴机器人 J5 关节配置中,值 = 1 表示腕向下翻转,值 =-1 表示腕向上翻转 |
arm_up_down | int | 臂部上下姿态,取值范围为 - 1、0、1。在 6 轴机器人 J3 关节配置中,值 = 1 表示手臂在上(前向条件下,3 轴在 4 轴到 2 轴连线上方且 J3<0),值 =-1 表示手臂在下(前向条件下,3 轴在该连线下方且 J3>0) |
arm_back_front | int | 臂部前后姿态,取值范围为 - 1、0、1。在 6 轴机器人 J1 关节配置中,值 = 1 表示手臂在前(协作面向前方,2 轴在 1 轴左侧),值 =-1 表示手臂在后(协作面向前方,2 轴在 1 轴右侧) |
arm_left_right | int | 臂部左右姿态,取值范围为 - 1、0、1。在 4 轴 Scara 机器人 J2 关节配置中,值 = 1 表示 Scara 手臂在右,值 =-1 表示 Scara 手臂在左 |
3.11 BaseCartData
说明
描述机器人笛卡尔目标位姿的数据结构
导入
from Agilebot import BaseCartData属性
| 属性 | 类型 | 描述 |
|---|---|---|
position | Position | 笛卡尔位姿的数据 |
posture | Posture | 机器人形态参数 |
3.12 MotionPose
说明
描述机器人点位的结构 坐标数据中,XYZ 方向距离数据单位为毫米 (mm),角度数据单位为 度 (°),部分版本角度信息为弧度,详见功能列表返回结果说明。
导入
from Agilebot import MotionPose属性
| 属性 | 类型 | 描述 |
|---|---|---|
cartData | BaseCartData | 笛卡尔数据 |
joint | Joint | 关节数据 |
pt | PoseType | 点位类型,默认为 PoseType.JOINT |
3.13 DHparam
说明
机器人 DH 参数列表
导入
from Agilebot import DHparam属性
| 属性 | 类型 | 描述 |
|---|---|---|
id | int | DH 参数的 ID |
d | float | 关节距离 |
a | float | 杆件长度 |
alpha | float | 杆件扭角 |
offset | float | 关节转角 |
3.14 PayloadInfo
说明 机器人负载信息。
导入
from Agilebot import PayloadInfo属性
| 属性 | 类型 | 描述 |
|---|---|---|
id | int | 序号 ID |
weight | float | 负载重量(kg) |
comment | str | 注释 |
mass_center | MassCenter | 质心 |
inertia_moment | InertiaMoment | 惯性矩 |
MassCenter
| 属性 | 类型 | 描述 |
|---|---|---|
x | float | X |
y | float | Y |
z | float | Z |
InertiaMoment
| 属性 | 类型 | 描述 |
|---|---|---|
lx | float | LX |
ly | float | LY |
lz | float | LZ |
3.15 ProgramCartData
说明
程序点位信息
导入
from Agilebot import ProgramCartData属性
| 属性 | 类型 | 描述 |
|---|---|---|
baseCart | BaseCartData | 笛卡尔数据 |
uf | int | 使用的用户坐标系 ID |
tf | int | 使用的工具坐标系 ID |
3.16 ProgramPoseData
说明
程序点位信息
导入
from Agilebot import ProgramPoseData属性
| 属性 | 类型 | 描述 |
|---|---|---|
cartData | ProgramCartData | 程序点位数据 |
joint | Joint | 关节数据 |
pt | PoseType | 点位类型,默认为 PoseType.JOINT |
3.17 ProgramPose
说明
程序点位信息
导入
from Agilebot import ProgramPose属性
| 属性 | 类型 | 描述 |
|---|---|---|
poseData | ProgramPoseData | 程序点位数据 |
id | int | 点位 ID |
name | str | 点位名称 |
comment | str | 点位注释 |
3.18 PoseRegisterData
说明
寄存器点类,用于表示和处理机械臂的寄存器点数据。
导入
from Agilebot import PoseRegisterData属性
| 属性 | 类型 | 描述 |
|---|---|---|
cartData | BaseCartData | 笛卡尔数据 |
joint | Joint | 关节数据 |
pt | PoseType | 点位类型,默认为 PoseType.JOINT |
3.19 PoseRegister
说明
寄存器点类,用于表示和处理机械臂的寄存器点数据。
导入
from Agilebot import PoseRegister属性
| 属性 | 类型 | 描述 |
|---|---|---|
poseRegisterData | PoseRegisterData | 程序点位数据 |
id | int | 点位 ID |
name | str | 点位名称 |
comment | str | 点位注释 |
3.20 TransformStatusEnum
说明
离线轨迹文件转换状态的枚举
导入
from Agilebot import TransformStatusEnum属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
| TRANSFORM_START | 0 | 转换任务开始 |
| TRANSFORM_RUNNING | 1 | 转换任务执行中 |
| TRANSFORM_SUCCESS | 2 | 转换任务已完成 |
| TRANSFORM_FAILED | 3 | 转换任务失败 |
| TRANSFORM_NOT_FOUND | 4 | 转换任务没找到 |
| TRANSFORM_UNKNOWN | 5 | 未知的转换任务状态 |
3.21 HWState
说明
机器人状态 HWState 枚举
导入
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
说明
机器人坐标系相关信息
导入
from Agilebot import CoordinateSystemType属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
| UserFrame | 0 | 用户坐标系 |
| ToolFrame | 1 | 工具坐标系 |
3.23 Coordinate
说明
坐标系信息,用于工具坐标系和用户坐标系。
Coordinate system data, including tool frame and user frame.
导入
from Agilebot import Coordinate属性
| 属性 | 类型 | 描述 |
|---|---|---|
id | int | 坐标系 ID |
name | str | 坐标系名称 |
comment | str | 坐标系描述 |
data | Position | 坐标系位置数据 |
3.24 DragStatus
说明
机器人轴拖动状态类
导入
from Agilebot import DragStatus属性
| 属性 | 类型 | 描述 |
|---|---|---|
cart_status | CartStatus | 笛卡尔坐标系各轴拖动锁定状态 |
joint_status | JointStatus | 关节轴拖动锁定状态 |
is_continuous_drag | bool | 持续拖动的标志 |
3.24.1 CartStatus
说明
笛卡尔状态类,用于表示笛卡尔坐标系的状态。
导入
from Agilebot import CartStatus属性
| 属性 | 类型 | 描述 |
|---|---|---|
x | bool | X 轴状态 |
y | bool | Y 轴状态 |
z | bool | Z 轴状态 |
a | bool | A 轴状态 |
b | bool | B 轴状态 |
c | bool | C 轴状态 |
3.24.2 JointStatus
说明
关节状态类,用于表示机械臂各关节的状态。所有关节的状态默认为 True(可用)。
导入
from Agilebot import JointStatus属性
| 属性 | 类型 | 描述 |
|---|---|---|
j1 | bool | J1 轴状态 |
j2 | bool | J2 轴状态 |
j3 | bool | J3 轴状态 |
j4 | bool | J4 轴状态 |
j5 | bool | J5 轴状态 |
j6 | bool | J6 轴状态 |
j7 | bool | J7 轴状态 |
j8 | bool | J8 轴状态 |
j9 | bool | J9 轴状态 |
3.25 ModbusChannel
说明
Modbus 通道类型
导入
from Agilebot import ModbusChannel属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
| CONTROLLER_TCP_TO_485 | 2 | TCP2RS485 模块通道。 |
| WRIST_485_0 | 3 | 手腕 AI 通道。 |
| WRIST_485_1 | 4 | 手腕 DO 通道。 |
| CONTROLLER_485 | 5 | 控制柜 485 通道。 |
3.26 PayloadIdentifyState
说明
负载测定状态。
导入
from Agilebot import PayloadIdentifyState属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
| PAYLOAD_CHECK_INIT | 0 | 负载测定检查初始化中 |
| PAYLOAD_CHECK_RUNNING | 1 | 负载测定检查运行中 |
| PAYLOAD_CHECK_SUCCESS | 2 | 负载测定检查成功 |
| PAYLOAD_CHECK_FAILED | 3 | 负载测定检查失败 |
| PAYLOAD_IDENTIFY_INIT | 4 | 负载测定初始化 |
| PAYLOAD_IDENTIFY_RUNNING | 5 | 负载测定运行中 |
| PAYLOAD_IDENTIFY_SUCCESS | 6 | 负载测定成功 |
| PAYLOAD_IDENTIFY_FAILED | 7 | 负载测定失败 |
3.27 MoveMode
说明
示教运动模式
导入
from Agilebot import MoveMode属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
| Continuous | 0 | 连续运动 |
| Stepping | 1 | 步进运动 |
3.28 SignalType
说明
SignalType 是一个枚举类,用于区分不同类型的输入输出信号。它涵盖了数字信号、专用信号、手臂信号、组信号、模拟信号等多种类型,帮助在机器人控制系统中准确识别和管理不同类型的信号。
导入
from Agilebot import SignalType属性
| 名称 | 枚举值 | 描述 |
|---|---|---|
DI | 1 | 数字输入信号(Digital Input) |
DO | 2 | 数字输出信号(Digital Output) |
UI | 3 | 专用输入信号(User Input) |
UO | 4 | 专用输出信号(User Output) |
RI | 5 | 远程控制输入信号(Remote Control Input) |
RO | 6 | 远程控制输出信号(Remote Control Output) |
GI | 7 | 组输入信号(Group Input) |
GO | 8 | 组输出信号(Group Output) |
TAI | 9 | 手腕模拟输入信号(Tool Analog Input) |
TDI | 10 | 手腕数字输入信号(Tool Digital Input) |
TDO | 11 | 手腕数字输出信号(Tool Digital Output) |
AI | 12 | 模拟输入信号(Analog Input) |
AO | 13 | 模拟输出信号(Analog Output) |
3.29 SignalValue
说明
SignalValue 类用于定义信号的开关值。它通过两个常量 OFF 和 ON 来表示信号的关闭和开启状态。此类在机器人控制系统中用于控制和读取信号的状态。
导入
from Agilebot import SignalValue属性
| 名称 | 值 | 描述 |
|---|---|---|
OFF | 0 | 信号关闭 |
ON | 1 | 信号开启 |
3.30 SerialParams
说明
串口通讯参数类,用于配置 Modbus-RTU/TCP 转 485 通讯时的完整参数集合。
实例化后可直接传递给底层通讯接口,实现一键参数下发。
导入
from Agilebot import SerialParams, ModbusChannel, ModbusParity构造方法
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
)属性
| 属性 | 类型 | 描述 |
|---|---|---|
id | int | 主站 id |
channel | ModbusChannel | 通讯通道,如 CONTROLLER_TCP_TO_485 |
ip | str | CONTROLLER_TCP_TO_485 模块的地址,仅 channel 为 CONTROLLER_TCP_TO_485 时有效 |
port | int | CONTROLLER_TCP_TO_485 模块的端口,仅 channel 为 CONTROLLER_TCP_TO_485 时有效 |
baud | int | 串口波特率,可选 9600\19200\38400\57600\115200\1000000 |
data_bit | int | 数据位长度,可选 8\9 |
stop_bit | int | 停止位长度,可选 1\2 |
parity | ModbusParity | 校验位,可选 NONE\ODD\EVEN,默认无校验 ModbusParity.NONE |
timeout | int | 读 / 写超时时间,单位毫秒,默认 1000 ms |
3.31 SubPub 订阅相关类型
3.31.1 RobotTopicType
说明
机器人实时数据主题枚举,用于订阅或发布机器人状态。
导入
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_STATUS | TP 程序运行状态 |
3.31.2 RegTopicType
说明
预置寄存器主题类型枚举,用于访问控制器内部 R / MR / SR / PR 寄存器。
导入
from Agilebot import RegTopicType枚举值
| 名称 | 枚举值 | 描述 |
|---|---|---|
R | R | 通用寄存器 |
MR | MR | 运动寄存器 |
SR | SR | 字符串寄存器 |
PR | PR | 位置寄存器 |
3.31.3 IOTopicType
说明
预置 IO 主题类型枚举,涵盖数字、组、模拟、工具 IO 及专用 IO。
导入
from Agilebot import IOTopicType枚举值
| 名称 | 枚举值 | 描述 |
|---|---|---|
DI | DI | 数字输入 |
DO | DO | 数字输出 |
GI | GI | 组输入 |
GO | GO | 组输出 |
RI | RI | 远程控制输入 |
RO | RO | 远程控制输出 |
UI | UI | 专用输入 |
UO | UO | 专用输出 |
TDI | TDI | 工具数字输入 |
TDO | TDO | 工具数字输出 |
TAI | TAI | 工具模拟输入 |
AI | AI | 通用模拟输入 |
AO | AO | 通用模拟输出 |