/Pynamixel

Python library to use Robotis Dynamixel servos

Primary LanguagePythonMIT LicenseMIT

Pynamixel is a Python (2.7+ and 3.4+) library to use Robotis Dynamixel servos. It supports several hardwares (see below) and adding a new one is easy. It provides different layers allowing very precise control as well as a greater abstraction.

It's licensed under the MIT license. It's available on the Python package index, its documentation and its source code are on GitHub.

Questions? Remarks? Bugs? Want to contribute? Open an issue!

https://badge.waffle.io/jacquev6/Pynamixel.png?label=ready&title=ready

Supported hardwares

"Full support" means on Windows, Linux and Mac OS X, with both Python 2.7+ and 3.4+.

  • USB2AX: full support
  • USB2Dynamixel: not yet
  • U2D2: not yet

Quick start

Install from PyPI:

$ pip install Pynamixel

Import:

>>> import Pynamixel

Create a hardware:

>>> hardware = Pynamixel.hardwares.USB2AX("/dev/ttyACM0", 1000000)

Create a system and a device:

>>> system = Pynamixel.System(Pynamixel.Bus(hardware))
>>> servo = system.add_device(Pynamixel.devices.AX12, 1)

Set the servo's goal position:

>>> servo.goal_position.write(0x200)

And see that it's moving:

>>> servo.moving.read()
1