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!
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