https://github.com/threeal/piper-kit
SDK and CLI tools for AgileX PiPER robotic arm.
https://github.com/threeal/piper-kit
can-bus cli python robot robotic-arm robotics sdk socketcan
Last synced: 3 months ago
JSON representation
SDK and CLI tools for AgileX PiPER robotic arm.
- Host: GitHub
- URL: https://github.com/threeal/piper-kit
- Owner: threeal
- License: mit
- Created: 2025-06-24T12:59:28.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-10T11:08:28.000Z (3 months ago)
- Last Synced: 2025-07-10T13:10:24.603Z (3 months ago)
- Topics: can-bus, cli, python, robot, robotic-arm, robotics, sdk, socketcan
- Language: Python
- Homepage: https://threeal.github.io/piper-kit/
- Size: 110 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PiPER Kit
A Python SDK and CLI toolkit for controlling the [AgileX PiPER](https://global.agilex.ai/products/piper) 6-DOF robotic arm via CAN bus communication.
This package provides direct low-level control through socketcan interface, enabling real-time joint positioning, motion control, and safety monitoring. Features both command-line tools for quick operations and a comprehensive Python API for programmatic control with automatic resource management.
## Installation
Install from PyPI:
```bash
pip install piper-kit
```Or for development:
```bash
git clone https://github.com/threeal/piper-kit.git
cd piper-kit
uv sync
```## Usage
### CLI Commands
Enable the robotic arm (moves to home position):
```bash
piper enable
# or specify CAN interface
piper enable can1
```Disable the robotic arm (moves to safe position):
```bash
piper disable
# or specify CAN interface
piper disable can1
```### Python SDK
```python
from piper_kit import Piper# Use context manager for proper cleanup
with Piper("can0") as piper:
# Enable all joints
piper.enable_all_joints()# Set motion control
piper.set_motion_control_b("joint", 20)# Control joint positions (6 joints: J1, J2, J3, J4, J5, J6)
piper.set_joint_control(0, 0, 0, 0, 0, 0)
```## License
This project is licensed under the terms of the [MIT License](./LICENSE).
Copyright © 2025 [Alfi Maulana](https://github.com/threeal)