Python Dynamixel

Python package to use Dynamixel servos through a serial interface (unofficial, easier SDK).

https://img.shields.io/pypi/v/pydxl.svg https://img.shields.io/pypi/l/pydxl.svg https://travis-ci.com/vpoulailleau/pydxl.svg?branch=master Documentation Status Downloads Coverage Status Maintainability Maintainability

Documentation

The full documentation can be read at https://pydxl.readthedocs.io.

Example code:

import time

from pydxl import Mx28, SerialLink

link = SerialLink(
    device="/dev/ttyUSB0", baudrate=1_000_000, protocol_version=1.0
)

servo = Mx28(identifier=1, serial_link=link)
servo.ping()
servo.led = True

servo.torque_enable = True
servo.goal_position = 2000
print(servo.goal_position)
time.sleep(3)
servo.goal_position = 1500
time.sleep(3)
servo.torque_enable = False

link.close()

Features

  • Use protocol 1.0 through a serial link, known to work with:

    • U2D2

    • USB2Dynamixel

    • DARwIn-OP (after having installed a more recent Python, tested with Python 3.7.2)

  • Support servos:

    • MX-28

  • TODO: implement protocol 2.0

  • TODO: add more servo types

License

BSD 3-Clause license, feel free to contribute: https://pydxl.readthedocs.io/en/latest/contributing.html.