Rainbow Python SDK
Project description
rb_sdk 사용 설명서
rb_sdk는 Rainbow 서비스 호출을 Python API 형태로 래핑한 통합 SDK입니다.
현재 진입점:
RBAmrSDKRBManipulateSDKRBRby1SDKRBBaseSDK
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 하위 모듈:
movecontrollocalizationmapsettingfilestatus
from rb_sdk import RBAmrSDK
sdk = RBAmrSDK()
# 예: sdk.move.*, sdk.control.* 형태로 기능 호출
4. Manipulate SDK
RBManipulateSDK 하위 모듈:
programmoveconfigioget_datapoint
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa1bc32bb96ba9cb6ee68816d3575da5da7a804c303cc078ce439b2ab3ce6e8a
|
|
| MD5 |
95cb7dd03a11b7859825c7755533bcb1
|
|
| BLAKE2b-256 |
164e0034e7eca2656dbba5c4b5ac5444d7792794b599a4799e3816e8502be1c1
|
File details
Details for the file rainbow_rb_sdk-0.0.9.dev5-py3-none-any.whl.
File metadata
- Download URL: rainbow_rb_sdk-0.0.9.dev5-py3-none-any.whl
- Upload date:
- Size: 79.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66c600ebf416dffad83e2a60f515b109c46574f13695a016d12faa562eb9356c
|
|
| MD5 |
5f02949ba68fb28c3ea845c7eb598c9f
|
|
| BLAKE2b-256 |
912f77ece9f737312976e6d02ca8a3a7354ac135ce4f89a96e159d30b0393718
|