agilexrobotics/piper_sdk

The code for controlling the Piper robotic arm

What it solves

It provides a software development kit (SDK) for controlling and interacting with the Piper robot arm. It simplifies the process of communicating with the hardware by handling the low-level CAN bus data frames and converting them into usable data types for developers.

How it works

The SDK acts as an interface between the computer and the robot arm's built-in CAN module. It uses the python-can library to send and receive data frames over a CAN bus. The C_PiperInterface class manages the connection, handles the activation of CAN ports, and provides high-level methods to read joint angles, check firmware versions, and configure the robot's master-slave mode.

Who it’s for

Robotics developers and researchers who are using the Piper robot arm and need a programmatic way to control its movements and monitor its state.

Highlights

  • CAN Bus Integration: Includes scripts to find, activate, and manage single or multiple CAN modules.
  • Multi-Arm Support: Provides configurations for master-slave setups and dual-arm data reading.
  • Flexible Installation: Available via PyPI, GitHub cloning, or wheel files.
  • Safety Limits: Includes optional SDK-level joint and gripper position limits to prevent hardware damage.

Related

  • Project
  • Project
  • Project
  • Project
  • Project