Skip to content

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+

示例代码

arm/connect_disconnect.py
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+

示例代码

arm/get_arm_model_info.py
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+

示例代码

arm/get_robot_status.py
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+

示例代码

arm/get_ctrl_status.py
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+

示例代码

arm/get_servo_status.py
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+

示例代码

arm/soft_mode.py
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+

示例代码

arm/access_operate.py
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+

示例代码

arm/get_version.py
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): 不支持

示例代码

arm/switch_led_light.py
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+

示例代码

arm/servo_operate.py
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+

示例代码

arm/estop.py
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")