Skip to main content

Rainbow Python SDK

Project description

rb_sdk 사용 설명서

rb_sdk는 Rainbow 서비스 호출을 Python API 형태로 래핑한 통합 SDK입니다.

현재 진입점:

  • RBAmrSDK
  • RBManipulateSDK
  • RBRby1SDK
  • RBBaseSDK

1. 설치/의존성

워크스페이스 기준:

cd /Users/kimjongwan/Desktop/workspace/rby2/backend
uv add rb_sdk --package your_package

RBRby1SDK를 사용할 경우 추가로 rby1-sdk 설치가 필요합니다.

2. 기본 사용

from rb_sdk import RBAmrSDK, RBManipulateSDK

amr = RBAmrSDK()
manipulate = RBManipulateSDK()

rb_sdk는 lazy import를 사용하므로 from rb_sdk import ... 방식으로 가져오면 됩니다.

3. AMR SDK

RBAmrSDK 하위 모듈:

  • move
  • control
  • localization
  • map
  • setting
  • file
  • status
from rb_sdk import RBAmrSDK

sdk = RBAmrSDK()
# 예: sdk.move.*, sdk.control.* 형태로 기능 호출

4. Manipulate SDK

RBManipulateSDK 하위 모듈:

  • program
  • move
  • config
  • io
  • get_data
  • point
from rb_sdk import RBManipulateSDK

sdk = RBManipulateSDK()
# 예: sdk.program.*, sdk.move.*, sdk.io.* 형태로 호출

5. RB-Y1 SDK (RBRby1SDK)

RBRby1SDK는 공식 rby1-sdk를 감싸는 래퍼입니다.

from rb_sdk import RBRby1SDK

sdk = RBRby1SDK(endpoint="192.168.30.1:50051", model=None, auto_connect=True)

print(sdk.connected)
print(sdk.whoami())

sdk.control.power_on()
sdk.control.servo_on()

state = sdk.state.get_state()
print(state)

sdk.disconnect()

지원 메서드:

  • 공통
    • connect()
    • disconnect()
    • whoami()
    • call(method, *args, **kwargs)
  • 제어
    • control.invoke(...)
    • control.power_on()
    • control.servo_on()
  • 상태
    • state.get_state()

6. Flow Manager 연동 포인트

여러 SDK 메서드는 flow_manager_args를 받아 Step 실행 완료 시 done() 콜백과 연동되도록 설계되어 있습니다.

from rb_schemas.sdk import FlowManagerArgs
from rb_sdk import RBRby1SDK

sdk = RBRby1SDK(endpoint="192.168.30.1:50051")

def step_func(flow_manager_args: FlowManagerArgs | None = None):
    sdk.control.power_on(flow_manager_args=flow_manager_args)

7. 주의사항

  • RBBaseSDK는 내부적으로 프로세스 단위 공유 리소스를 사용합니다.
  • RBRby1SDK는 동일 프로세스에서 최초 endpoint/model 기준으로 세션이 공유됩니다.
  • 연결 대상 서비스(zenoh, rby1 endpoint)가 준비되지 않으면 런타임 예외가 발생합니다.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rainbow_rb_sdk-0.0.9.dev5.tar.gz (59.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rainbow_rb_sdk-0.0.9.dev5-py3-none-any.whl (79.2 kB view details)

Uploaded Python 3

File details

Details for the file rainbow_rb_sdk-0.0.9.dev5.tar.gz.

File metadata

  • Download URL: rainbow_rb_sdk-0.0.9.dev5.tar.gz
  • Upload date:
  • Size: 59.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for rainbow_rb_sdk-0.0.9.dev5.tar.gz
Algorithm Hash digest
SHA256 fa1bc32bb96ba9cb6ee68816d3575da5da7a804c303cc078ce439b2ab3ce6e8a
MD5 95cb7dd03a11b7859825c7755533bcb1
BLAKE2b-256 164e0034e7eca2656dbba5c4b5ac5444d7792794b599a4799e3816e8502be1c1

See more details on using hashes here.

File details

Details for the file rainbow_rb_sdk-0.0.9.dev5-py3-none-any.whl.

File metadata

File hashes

Hashes for rainbow_rb_sdk-0.0.9.dev5-py3-none-any.whl
Algorithm Hash digest
SHA256 66c600ebf416dffad83e2a60f515b109c46574f13695a016d12faa562eb9356c
MD5 5f02949ba68fb28c3ea845c7eb598c9f
BLAKE2b-256 912f77ece9f737312976e6d02ca8a3a7354ac135ce4f89a96e159d30b0393718

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page