The dexcelbot_apexhand_sdk package is the official Python interface for controlling the DexcelBot ApexHand.
It wraps a C++/pybind11 backend and exposes a high‑level, Pythonic API for research, teaching, and production use.
JointStatesMotorStatesHandSensorImagemove_jointmove_j_position_followregister_servo_joint_control_callbackMaxJointSpeedMaxJointAccelMaxFingerTorqueregister_hardware_error_event_callbackAll enums and data structures (such as LogLevel, ConnectionType, ErrorCode, JointId, …) are exported from the native _dexcelbot_sdk module and can be inspected directly from Python.
An ApexHand session usually follows this flow:
from dexcelbot_apexhand_sdk import (
DexcelBot,
ConnectionType,
ErrorCode,
JointId,
create_joint_control_param,
)
bot = DexcelBot()
# 1. Connect to the robot
result = bot.connect("192.168.0.102", ConnectionType.CONNECTION_TYPE_ETHERNET)
if result != ErrorCode.ERROR_CODE_OK:
raise RuntimeError(f"Connect failed: {result}")
# 2. Enable all fingers
bot.set_all_fingers_enabled()
# 3. Move one joint
cmd = create_joint_control_param(
joint_id=JointId.JOINT_ID_THUMB_MCP,
position=0.5,
velocity=0.1,
acceleration=0.0,
)
bot.move_joint([cmd])
# 4. Disconnect
bot.disconnect()
In the following sections you will find: