Skip to content

Python package to use Dynamixel servos through a serial interface.

License

Notifications You must be signed in to change notification settings

vpoulailleau/pydxl

Python Dynamixel

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

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.