A Python SDK and CLI toolkit for controlling the AgileX 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.
Install from PyPI:
pip install piper-kitOr for development:
git clone https://github.com/threeal/piper-kit.git
cd piper-kit
uv syncEnable the robotic arm (moves to home position):
piper enable
# or specify CAN interface
piper enable can1Disable the robotic arm (moves to safe position):
piper disable
# or specify CAN interface
piper disable can1from 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)This project is licensed under the terms of the MIT License.
Copyright © 2025 Alfi Maulana