API Reference#
The public P7 Python SDK entry points are concentrated in AirbotClient, state data models, control enums, motion options,
exceptions, and utilities. Ordinary state getters do not acquire control authority. Ordinary motion, mode switching, and
some recovery commands require the current client to hold a valid lease.
Client and Control Authority#
| Task | Main Entry Point | Details |
|---|---|---|
| Create and close a client | AirbotClient(...), close(), context manager |
SDK Introduction and Architecture |
| Inspect client identity | get_client_id, get_source_name, get_client_instance_id, get_client_session_id |
Control Authority (Lease) |
| Acquire, release, and hand over control authority | acquire_control(), release_control(), handover_to_previous() |
Control Authority (Lease) |
The four identity entry points are read-only properties; access them without parentheses. A successful acquire_control()
means only that the lease was acquired for that call. It does not mean the robot arm is already in the required mode.
State Reading#
| State | Getter | Return Type |
|---|---|---|
| Service and FSM | get_service_state() |
ServiceState | None |
| Robot arm joints | get_arm_joint_state() |
ArmJointState | None |
| Robot arm motors | get_arm_motor_state() |
ArmMotorState | None |
| EEF joints | get_eef_joint_state() |
EEFJointState | None |
| EEF motors | get_eef_motor_state() |
EEFMotorState | None |
| IMU | get_imu_state() |
ImuState | None |
| End-effector pose | get_end_pose() |
CartesianPose | None |
| Firmware information | get_firmware_info() |
ArmFirmwareInfo | None |
These methods are all read-only. The models do not consistently carry source timestamps; a non-None result alone does
not prove that the data meets real-time-control freshness requirements. For the fields, see
ArmState (Robot Arm State), EEFState (End-Effector State),
CartesianPose (End-Effector Pose), ServiceState (Server State),
and FirmwareInfo (Firmware Information).
Control Modes and Motion#
| Task | Main Entry Point | Details |
|---|---|---|
| Switch robot-arm mode | switch_controller(), enter_gravity_compensation_mode() |
Control Modes |
| Set joint speed and send a joint target | set_arm_speed(), move_joint() |
PTP Point-to-Point Planning |
| Send a single Cartesian target | move_end_pose(), move_end_pose_linear(), move_end_pose_circle() |
PTP / LIN / CIRC |
| Send a multi-waypoint sequence | move_joint_waypoints(), move_end_pose_waypoints() |
Multi-Segment Trajectory Blending |
| Query and control the EEF | get_eef_mode(), switch_eef_control_mode(), set_eef_speed(), move_eef() |
EEFState (End-Effector State) |
Joint entry points use JointMoveOptions; Cartesian, EEF, and waypoint entry points use their corresponding options types.
A field being accepted by a model does not mean that the current mode sends it. See
Motion Options for details.
Safety and Recovery#
| Task | Main Entry Point | Important Limitation |
|---|---|---|
| Software emergency stop and reset | set_arm_emergency_stop() |
Depends on communication and cannot replace the physical emergency stop |
Clear supported UNKNOWN_ERROR conditions |
clear_error(), clear_arm_motor_err() |
Record and eliminate the cause first; requires control authority |
| Clear EEF motor errors | clear_eef_motor_err() |
Both current gRPC and DDS backends raise UnsupportedOperationError |
| Return all 7 axes to zero | return_zero() |
Produces active motion; not calibration or general-purpose fault recovery |
See Motor Error Code Troubleshooting for prerequisites, return values, and failure handling.
Package-Level Exports#
The top-level package also exports Controller, EEF modes, state models, five motion option classes, two public exceptions,
joint-limit constants, __version__, and utilities. See Controller for the control enum,
ArmControlOptions (Control Options) for motion options, and
Supported Teaching-Pendant and Gripper Models for conversion utilities.
False, client timeouts, and nonblocking returns cannot be interpreted directly as “the command was not executed.” After
a motion or recovery request fails, stop sending new targets and reconcile the outcome using the FSM, joint feedback, motor
state, and on-site observations.