4.1 机器人基础操作
说明
Arm 类封装了绝大多数与捷勃特机器人相关的高频接口,负责完成连接管理、状态查询、控制指令发送等核心能力。典型使用流程为:实例化 Arm(local_proxy=False) → 调用 connect() 建立与控制器 / 示教器的通信 → 根据业务调用运动、状态、I/O 等接口 → 最后调用 disconnect() 或 release_access() 等方法释放资源。实例化后无需手动加载配置,类会在内部完成 SDK 版本检查、控制器类型识别以及代理服务的自动选择,并在日志中提示所使用的通信链路。当 local_proxy=True 时请确保本机具备同网段通信能力且控制器 IP 可达;当与工业机器人配合时,若需要保持 PC 模式,应在连接后调用 acquire_access() 并在操作完成后及时 release_access() ,以避免示教器控制权限被长时间占用。
类构造函数
| 方法名 | Arm( local_proxy : bool = False) |
|---|---|
| 描述 | 捷勃特机器人类,包含所有可用接口,需初始化并连接机器人。初始化时会输出 SDK 版本与使用手册地址。 |
| 请求参数 | local_proxy : bool 是否使用本地控制器代理服务,默认为 False。- True :在本机启动代理服务,仅支持输入 IP 地址(不支持域名),需 PC 具备本地通信能力。- False :使用控制器 / 示教器内置代理服务,机器人软件需为 v7.7 及以上并已安装代理服务。 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
4.1.1 连接机器人
| 方法名 | connect( arm_controller_ip : str = COBOT_IP , teach_panel_ip : Optional[str] = None) -> StatusCodeEnum |
|---|---|
| 描述 | 连接捷勃特机器人,必须先初始化机器人。内部会判断协作 / 工业型号、自动补全示教器 IP 并启动代理服务。 |
| 请求参数 | arm_controller_ip : str 协作或工业机器人控制柜 IP 地址,缺省使用 COBOT_IP 常量。teach_panel_ip : Optional [str] 工业机器人示教器 IP,缺省时协作机器人使用控制柜 IP,工业机器人自动匹配默认示教器 IP 或沿用控制柜 IP。 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 备注 | - 仅当 local_proxy=True 且输入为有效 IP 地址时才会启动本地代理;Airbot 域名仅支持 HTTP,无法配合本地代理。- 当输入的 IP / 域名无效时返回 INVALID_IP_ADDRESS 。- 若无法连接控制器,会返回 CONTROLLER_CONNECTION_ERROR 并附带错误信息。 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
4.1.2 判断与机械臂的连接是否有效
| 方法名 | is_connected() -> bool |
|---|---|
| 描述 | 判断与机械臂的连接是否有效 |
| 请求参数 | 无参数 |
| 返回值 | bool: 连接状态,True: 连接有效,False: 连接失效 |
| 备注 | 旧版 is_connect() 已标记为即将废弃,等价功能请使用 is_connected() 。 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
4.1.3 与机器人断开连接
| 方法名 | disconnect() |
|---|---|
| 描述 | 断开和捷勃特机器人的连接 |
| 请求参数 | 无参数 |
| 返回值 | 无返回 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的基础通讯连接断开示例 / Example of a basic communication connection
"""
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 检查连接状态
# [EN] Check connection status
connect_status = arm.is_connected()
# [ZH] 打印结果
# [EN] Print the result
print(f"当前连接状态 / Current connection status: {connect_status}")
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")4.1.4 获取当前机器人型号
| 方法名 | get_arm_model_info() -> tuple[str, StatusCodeEnum] |
|---|---|
| 描述 | 获取当前机器人型号信息 |
| 请求参数 | 无参数 |
| 返回值 | str: 机器人型号如 "GBT-C5A" StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的型号获取示例 / Example of model info acquisition
"""
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 获取型号
# [EN] Get the robot model
model_info, ret = arm.get_arm_model_info()
# [ZH] 检查是否成功
# [EN] Check if successful
if ret == StatusCodeEnum.OK:
print("获取型号成功 / Get robot model successfully")
print(f"机器人型号 / Robot model: {model_info}")
else:
print(f"获取型号失败,错误代码 / Get robot model failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()4.1.5 获取机器人运行状态
| 方法名 | get_robot_status() -> tuple[RobotStatusEnum, StatusCodeEnum] |
|---|---|
| 描述 | 获取捷勃特机器人运行状态 |
| 请求参数 | 无参数 |
| 返回值 | RobotStatusEnum: 机器人运行状态 StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的机器人状态获取示例 / Example of obtaining robot status
"""
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 获取机器人运行状态
# [EN] Get the robot running status
state, ret = arm.get_robot_status()
# [ZH] 检查是否成功
# [EN] Check if successful
if ret == StatusCodeEnum.OK:
print("获取机器人运行状态成功 / Get robot running status successful")
print(f"机器人运行状态 / Robot running status: {state.msg}")
else:
print(f"获取机器人运行状态失败,错误代码 / Get robot running status failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")4.1.6 获取当前控制器运行状态
| 方法名 | get_ctrl_status() -> tuple[CtrlStatusEnum, StatusCodeEnum] |
|---|---|
| 描述 | 获取当前捷勃特机器人控制器运行状态 |
| 请求参数 | 无参数 |
| 返回值 | CtrlStatusEnum: 控制器运行状态 StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的获取运动控制器运行状态示例 / Example of the operating status of the controller
"""
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 获取运动控制器运行状态
# [EN] Get the controller running status
state, ret = arm.get_ctrl_status()
# [ZH] 检查是否成功
# [EN] Check if successful
if ret == StatusCodeEnum.OK:
print("获取运动控制器运行状态成功 / Get controller running status successful")
print(f"运动控制器运行状态 / Controller running status: {state.msg}")
else:
print(f"获取运动控制器运行状态失败,错误代码 / Get controller running status failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")4.1.7 获取当前伺服控制器状态
| 方法名 | get_servo_status() -> tuple[ServoStatusEnum, StatusCodeEnum] |
|---|---|
| 描述 | 获取当前捷勃特机器人伺服控制器状态 |
| 请求参数 | 无参数 |
| 返回值 | ServoStatusEnum: 伺服控制器状态 StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的伺服状态获取示例 / Example of obtaining servo status
"""
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 获取伺服控制器状态
# [EN] Get the servo controller status
state, ret = arm.get_servo_status()
# [ZH] 检查是否成功
# [EN] Check if successful
if ret == StatusCodeEnum.OK:
print("获取伺服控制器状态成功 / Get servo controller status successful")
print(f"伺服控制器状态 / Servo controller status: {state.msg}")
else:
print(f"获取伺服控制器状态失败,错误代码 / Get servo controller status failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")4.1.8 获取机器人当前的软状态
| 方法名 | get_soft_mode() -> tuple[SoftModeEnum, StatusCodeEnum] |
|---|---|
| 描述 | 获取捷勃特机器人当前的软状态 (PC 模式下的手 / 自动状态) |
| 请求参数 | 无参数 |
| 返回值 | SoftModeEnum: 伺服控制器状态 StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
4.1.9 设置机器人当前的软状态
| 方法名 | set_soft_mode( soft_mode : SoftModeEnum) -> StatusCodeEnum |
|---|---|
| 描述 | 设置机器人当前的软状态 (PC 模式下的手 / 自动状态) |
| 请求参数 | soft_mode : SoftModeEnum 软状态值 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的机器人软状态获取示例 / Example of obtaining the soft state of a robot
"""
from Agilebot import Arm, SoftModeEnum, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 设置机器人当前的软状态为手动限速模式
# [EN] Set the robot's current soft state to manual limit mode
ret = arm.set_soft_mode(SoftModeEnum.MANUAL_LIMIT)
# [ZH] 检查是否成功
# [EN] Check if successful
if ret == StatusCodeEnum.OK:
print(
"设置机器人当前的软状态为手动限速模式成功 / Set the robot's current soft state to manual limit mode successfully"
)
else:
print(
f"设置机器人当前的软状态为手动限速模式失败,错误代码 / Set the robot's current soft state to manual limit mode failed, error code: {ret.errmsg}"
)
arm.disconnect()
exit(1)
# [ZH] 获取机器人当前的软状态
# [EN] Get the robot's current soft state
state, ret = arm.get_soft_mode()
# [ZH] 检查是否成功
# [EN] Check if successful
if ret == StatusCodeEnum.OK:
print("获取机器人当前的软状态成功 / Get the robot's current soft state successfully")
print(f"机器人当前的软状态 / Robot current soft state: {state.name}")
else:
print(f"获取机器人当前的软状态失败,错误代码 / Get the robot's current soft state failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")4.1.10 获取机器人操作模式
| 方法名 | get_op_mode() -> tuple[SoftModeEnum, StatusCodeEnum] |
|---|---|
| 描述 | 获取当前机器人操作模式(如机器人 / 虚拟控制器的手动、自动等操作权限状态)。 |
| 请求参数 | 无参数 |
| 返回值 | SoftModeEnum: 操作模式 StatusCodeEnum: 函数执行结果 |
| 备注 | 当控制器未返回有效模式时将回退为 SoftModeEnum.UNKNOWN 。 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
4.1.11 设置机器人操作模式
| 方法名 | set_op_mode( soft_mode : SoftModeEnum) -> StatusCodeEnum |
|---|---|
| 描述 | 设置机器人操作模式,仅支持虚拟机器人 / 仿真控制器。 |
| 请求参数 | soft_mode : SoftModeEnum 目标操作模式,不能为 UNKNOWN 。 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 备注 | 如果传入 SoftModeEnum.UNKNOWN ,接口将返回 UNSUPPORTED_PARAMETER 。 |
| 兼容的机器人软件版本 | 协作 (Copper): 仅仿真;工业 (Bronze): 仅仿真 |
4.1.12 上位机获取操作权限
| 方法名 | acquire_access() |
|---|---|
| 描述 | 上位机获取操作权限,使机器人进入 PC 模式 |
| 请求参数 | 无参数 |
| 返回值 | 无返回 |
| 备注 | 仅工业机器人需要调用此接口保持 PC 模式,协作及 P7A 无需使用。内部会启动心跳线程,每 2 秒向控制器发送保活。 |
| 兼容的机器人软件版本 | 协作 (Copper): 不支持 工业 (Bronze): v7.5.0.0+ |
4.1.13 上位机返还操作权限
| 方法名 | release_access() |
|---|---|
| 描述 | 上位机返还操作权限,使机器人退出 PC 模式 |
| 请求参数 | 无参数 |
| 返回值 | 无返回 |
| 备注 | 仅工业机器人需要调用,用于停止 acquire_access() 启动的心跳线程。 |
| 兼容的机器人软件版本 | 协作 (Copper): 不支持 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的操作权限获取示例 / Example of obtaining operation permissions
"""
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
# [ZH] 检查是否连接成功
# [EN] Check if connection is successful
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 获取权限
# [EN] Acquire access
arm.acquire_access()
# [ZH] 返还权限
# [EN] Release access
arm.release_access()
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")4.1.14 获取机器人控制器版本
| 方法名 | get_controller_version() -> tuple[str, StatusCodeEnum] |
|---|---|
| 描述 | 获取当前捷勃特机器人控制器版本,建议优先使用此方法。 |
| 请求参数 | 无参数 |
| 返回值 | str: 控制器版本 StatusCodeEnum: 函数执行结果 |
| 备注 | 控制器版本低于推荐版本时,SDK 会在连接流程中输出升级建议。 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的运动控制器版本获取示例 / Example of obtaining the controller version
"""
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 获取运动控制器版本
# [EN] Get the controller version
version_info, ret = arm.get_controller_version()
# [ZH] 检查是否成功
# [EN] Check if successful
if ret == StatusCodeEnum.OK:
print("获取运动控制器版本成功 / Get controller version successful")
print(f"运动控制器版本 / Controller version: {version_info}")
else:
print(f"获取运动控制器版本失败,错误代码 / Get controller version failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")4.1.15 设置机器人 LED 指示灯
| 方法名 | switch_led_light( mode : bool) -> StatusCodeEnum |
|---|---|
| 描述 | 设置当前捷勃特机器人的 LED 指示灯 |
| 请求参数 | mode : bool,True 为打开,False 为关闭 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.1.3+ 工业 (Bronze): 不支持 |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的机器人灯环状态获取示例 / Example of obtaining the status of the LED
"""
import time
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 控制LED灯光关闭
# [EN] Control LED light off
ret = arm.switch_led_light(mode=False)
# [ZH] 检查是否成功
# [EN] Check if successful
if ret == StatusCodeEnum.OK:
print("LED灯光关闭成功 / Control LED light off successfully")
else:
print(f"LED灯光关闭失败,错误代码 / Control LED light off failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
time.sleep(5)
# [ZH] 控制LED灯光开启
# [EN] Control LED light on
ret = arm.switch_led_light(mode=True)
# [ZH] 检查是否成功
# [EN] Check if successful
if ret == StatusCodeEnum.OK:
print("LED灯光开启成功 / Control LED light on successfully")
else:
print(f"LED灯光开启失败,错误代码 / Control LED light on failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")4.1.16 机器人伺服上电
| 方法名 | servo_on() -> StatusCodeEnum |
|---|---|
| 描述 | 当前捷勃特机器人伺服上电 |
| 请求参数 | 无参数 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
4.1.17 机器人伺服下电
| 方法名 | servo_off() -> StatusCodeEnum |
|---|---|
| 描述 | 当前捷勃特机器人伺服下电 |
| 请求参数 | 无参数 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
4.1.18 机器人伺服重置
| 方法名 | servo_reset() -> StatusCodeEnum |
|---|---|
| 描述 | 当前捷勃特机器人伺服重置 |
| 请求参数 | 无参数 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的控制伺服操作示例 / Eexample of control servo operation example
"""
import time
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 机器人伺服重置
# [EN] Robot servo reset
ret = arm.servo_reset()
if ret == StatusCodeEnum.OK:
print("伺服重置成功 / Servo reset successfully")
else:
print(f"伺服重置失败,错误代码 / Servo reset failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
time.sleep(5)
# [ZH] 机器人伺服下电
# [EN] Robot servo power off
ret = arm.servo_off()
if ret == StatusCodeEnum.OK:
print("伺服下电成功 / Servo power off successfully")
else:
print(f"伺服下电失败,错误代码 / Servo power off failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
time.sleep(5)
# [ZH] 机器人伺服上电
# [EN] Robot servo power on
ret = arm.servo_on()
if ret == StatusCodeEnum.OK:
print("伺服上电成功 / Servo power on successfully")
else:
print(f"伺服上电失败,错误代码 / Servo power on failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")4.1.19 机器人紧急停止
| 方法名 | estop() -> StatusCodeEnum |
|---|---|
| 描述 | 当前捷勃特机器人紧急停止 |
| 请求参数 | 无参数 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: Arm类下的紧急停止示例 / Example of emergency stop
"""
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the Agilebot robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the Agilebot robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 机器人紧急停止
# [EN] Robot emergency stop
ret = arm.estop()
if ret == StatusCodeEnum.OK:
print("机器人紧急停止成功 / Robot emergency stop successfully")
else:
print(f"机器人紧急停止失败,错误代码 / Robot emergency stop failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the Agilebot robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")