This is a fork of Pypot that leverages their dynamixel api, expanding it to handle MX motors using the 2.0 protocol. Every other functionality has been stripped.
Pypot is a library developed in the Inria FLOWERS team to make it easy and fast to control custom robots based on dynamixel motors. This framework provides different levels of abstraction corresponding to different types of use. More precisely, you can use pypot to:
- directly control robotis motors (both protocol v1 and v2 are supported) through a USB2serial device,
- define the structure of your particular robot and control it through high-level commands,
- define primitives and easily combine them to create complex behavior.
Pypot has been entirely written in Python to allow for fast development, easy deployment and quick scripting by non-necessary expert developers. It can also benefits from the scientific and machine learning libraries existing in Python. The serial communication is handled through the standard library and thus allows for rather high performance (10ms sensorimotor loop). It is crossed-platform and has been tested on Linux, Windows and Mac OS.
Pypot is also compatible with the CoppeliaSim simulator (formerly V-REP). This allows you to seamlessly switch from a real robot to its simulated equivalent without having to modify your code.
Finally, it has been developed to permit an easy and fast extension to other types of motors and sensors.
The full pypot documentation on a html format can be found here. It provides tutorials, examples and a complete API.
Pypot is a library entirely written in Python. It works with Python 3.5+. It is cross-platform and has been tested on Windows, Mac, Linux - yet specific usb to serial driver may be required depending on your system (see below).
You can build and install pypot with the typically python way:
cd pypot
pip install .
You will also have to install the driver for the USB2serial port. There are a few devices that have been tested with pypot that could be used:
- USB2AX - this device is designed to manage TTL communication only
- USB2Dynamixel - this device can manage both TTL and RS485 communication.
- Pixl board for RaspberryPi
For more details on the installation procedure, please refer to the installation section of the documentation.