Skip to content

4.1 기본 로봇 작동

개요

Arm 클래스는 Agilebot 로봇과 관련된 대부분의 고주파 인터페이스를 캡슐화하여 연결 관리, 상태 쿼리 및 제어 명령 전달을 처리합니다. 일반적인 사용법:

  1. Arm(local_proxy=False) 인스턴스화
  2. 컨트롤러/pendant와의 통신을 설정하려면 connect() 를 호출하세요.
  3. 필요에 따라 모션, 상태 또는 I/O API를 호출합니다.
  4. 마지막으로 disconnect() 또는 release_access() 를 호출하여 리소스를 확보하세요.

수동 구성이 필요하지 않습니다. 다음 작업이 자동으로 처리됩니다.

  • SDK 버전 확인
  • 컨트롤러 유형 식별
  • 프록시 서비스 선택
  • 선택한 통신 경로 로깅

메모

  • 로봇 소프트웨어 버전이 7.7.0보다 낮은 경우 Arm 클래스를 인스턴스화할 때 local_proxy=True 를 확인하고 PC에 로컬 통신 기능이 있는지 확인하세요.
  • 산업용 로봇의 경우 PC 모드를 활성 상태로 유지해야 하는 경우:
    • 펜던트 제어 권한을 신청하려면 연결 후 acquire_access() 를 호출하십시오.
    • 작업이 완료된 후 즉시 release_access() 에 전화하여 권한을 해제하세요.
    • 펜던트의 제어 권한을 장기간 점유하지 마십시오.

생성자

메서드 이름Arm( local_proxy : bool = False)
설명사용 가능한 모든 인터페이스를 캡슐화하는 Agilebot 로봇 클래스입니다.
요청 매개변수local_proxy : bool 로컬 컨트롤러 프록시 사용 여부(기본값 False ; True : 로컬에서 프록시 시작, IP 주소 입력(도메인 이름 아님)만 지원, 로컬 통신 기능이 있는 PC 필요, False : 컨트롤러/pendant 내장 프록시 서비스 사용, 로봇 소프트웨어는 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
설명Agilebot 로봇에 연결합니다. 이 방법은 협동적 /industrial 모델을 자동 감지하고, 티치 펜던트 IP를 처리하고, 적절한 프록시 서비스를 시작합니다.
요청 매개변수arm_controller_ip : str 컨트롤러 IP(기본값은 COBOT_IP ).
teach_panel_ip : 선택 사항[str] 산업용 로봇에 대한 펜던트 IP 티칭(생략된 경우 협동 로봇에는 펜던트 IP가 필요하지 않고 산업용 로봇에는 기본 펜던트 IP 또는 컨트롤러 IP를 사용함).
반환 값StatusCodeEnum: 함수 실행 결과
메모- Local proxy is started only if local_proxy=True and a valid IP address is provided; Airbot domains only support direct connection and cannot work with the local proxy.
- Invalid IP/domain values return INVALID_IP_ADDRESS .
- A failure to contact the controller returns CONTROLLER_CONNECTION_ERROR with details.
호환 로봇 소프트웨어 버전협업(Copper): v7.5.0.0+
산업용(Bronze): v7.5.0.0+

4.1.2 로봇과의 연결 상태 확인

메서드 이름is_connected() -> bool
설명로봇과의 연결이 유효한지 확인
요청 매개변수매개변수 없음
반환 값bool: 연결 상태, True: 연결이 유효함, False: 연결이 유효하지 않음
메모The legacy is_connect() method is deprecated; use is_connected() instead.
호환 로봇 소프트웨어 버전협업(Copper): v7.5.0.0+
산업용(Bronze): v7.5.0.0+

4.1.3 로봇과의 연결 끊기

메서드 이름disconnect()
설명Agilebot 로봇 연결 끊기
요청 매개변수매개변수 없음
반환 값반품 불가
호환 로봇 소프트웨어 버전협업(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]
설명Agilebot 로봇의 작동 상태를 가져옵니다.
요청 매개변수매개변수 없음
반환 값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]
설명Agilebot 로봇 컨트롤러의 현재 작동 상태를 가져옵니다.
요청 매개변수매개변수 없음
반환 값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]
설명Agilebot 로봇 서보 컨트롤러의 현재 상태를 가져옵니다.
요청 매개변수매개변수 없음
반환 값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]
설명Agilebot 로봇의 현재 소프트 모드를 가져옵니다(PC 모드 매뉴얼/auto 상태)
요청 매개변수매개변수 없음
반환 값SoftModeEnum: 소프트 모드 상태
StatusCodeEnum: 함수 실행 결과
호환 로봇 소프트웨어 버전협업(Copper): v7.5.0.0+
산업용(Bronze): v7.5.0.0+

4.1.9 로봇의 현재 소프트 모드 설정

메서드 이름set_soft_mode( soft_mode : SoftModeEnum) -> StatusCodeEnum
설명로봇의 현재 소프트 모드 설정(PC 모드 매뉴얼/auto 상태)
요청 매개변수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]
설명현재 로봇 작동 모드(예: robots/virtual 컨트롤러에 대한 수동, 자동 등 작동 권한 상태)를 가져옵니다.
요청 매개변수매개변수 없음
반환 값SoftModeEnum: 동작 모드
StatusCodeEnum: 함수 실행 결과
메모컨트롤러가 유효하지 않은 모드를 반환하면 SoftModeEnum.UNKNOWN 로 대체됩니다.
호환 로봇 소프트웨어 버전협업(Copper): v7.5.0.0+
산업용(Bronze): v7.5.0.0+

4.1.11 로봇 동작 모드 설정

메서드 이름set_op_mode( soft_mode : SoftModeEnum) -> StatusCodeEnum
설명로봇 동작 모드를 설정합니다. 가상 로봇/simulators.에만 지원됩니다.
요청 매개변수soft_mode : 대상 SoftModeEnum( UNKNOWN 일 수 없음).
반환 값StatusCodeEnum: 함수 실행 결과
메모SoftModeEnum.UNKNOWN 를 전달하면 UNSUPPORTED_PARAMETER 가 반환됩니다.
호환 로봇 소프트웨어 버전협업(Copper): 시뮬레이션 전용
산업용(Bronze): 시뮬레이션 전용

4.1.12 상위컴퓨터가 제어권한을 획득하다

메서드 이름acquire_access()
설명PC는 제어권한을 획득하여 로봇을 PC mode에 투입합니다. 모드를 활성 상태로 유지하기 위해 내부적으로 하트비트 스레드를 시작합니다.
요청 매개변수매개변수 없음
반환 값반품 불가
메모산업용 로봇에만 이 호출이 필요합니다. 협동로봇과 P7A는 그렇지 않습니다.
호환 로봇 소프트웨어 버전협업(Copper): 지원되지 않음
산업용(Bronze): v7.5.0.0+

4.1.13 상위 컴퓨터에서 제어 권한 해제

메서드 이름release_access()
설명PC 제어 권한을 해제하여 PC mode 하트비트를 중지하고 제어권을 티치 펜던트에 다시 넘겨줍니다.
요청 매개변수매개변수 없음
반환 값반품 불가
메모산업용 로봇에만 이 호출이 필요합니다.
호환 로봇 소프트웨어 버전협업(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]
설명Agilebot 로봇의 현재 컨트롤러 버전을 가져옵니다.
요청 매개변수매개변수 없음
반환 값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
설명Agilebot 로봇의 LED 표시등 스위치 제어
요청 매개변수mode : 부울 LED 상태(참 켜짐, 거짓 꺼짐)
반환 값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
설명Agilebot 로봇의 서보 전원을 켜세요
요청 매개변수매개변수 없음
반환 값StatusCodeEnum: 함수 실행 결과
호환 로봇 소프트웨어 버전협업(Copper): v7.5.0.0+
산업용(Bronze): v7.5.0.0+

4.1.17 로봇 서보 전원 끄기

메서드 이름servo_off() -> StatusCodeEnum
설명Agilebot 로봇의 서보 전원을 끄십시오.
요청 매개변수매개변수 없음
반환 값StatusCodeEnum: 함수 실행 결과
호환 로봇 소프트웨어 버전협업(Copper): v7.5.0.0+
산업용(Bronze): v7.5.0.0+

4.1.18 로봇 서보 재설정

메서드 이름servo_reset() -> StatusCodeEnum
설명Agilebot 로봇의 서보 재설정
요청 매개변수매개변수 없음
반환 값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
설명Agilebot 로봇이 즉시 비상 정지를 수행하도록 합니다.
요청 매개변수매개변수 없음
반환 값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")