Inspexel
The swiss army knife for dynamixel servo motors
We developed a new command line tool called inspexel (inspector dynamixel).
It has a support for dynamixel motors (MX, MX(2), X, Pro, AX) and can use protocol version 1 and 2 for communication.
Detect motors
A single command will detect motors on the bus reads all their registers: inspexel detect --read_all
.
It gives a nice overview over their state and how they deviate from the default value.
Map motors into filesystem
Another function, which can be used for scripting or just exploring a motors functionality is the fuse option. Calling inspexel fuse
will map every register of the detected motors into the linux file system.
You can list all available motors with
ls dynamixelFS/motors
To read a single register you can call
cat dynamixelFS/motors/0/register-by-name/Present\ Temperature
To set values to register
echo 60 > dynamixelFS/motors/0/register-by-name/Temperature\ Shutdown
Motivation
This tools purpose is to have a command line tool to configure dynamixel motors. Dynamixel motors are being used in many robotic projects but it seems like some tooling around them is missing.
There exists the robotis tool RoboManager which only runs under Windows. There are also other projects like Mixcell (https://github.com/clebercoutof/mixcell) which brings some of the functionality to linux.
One big issues with these tools are that they have GUI which makes it hard to use them over ssh on remote computers. Also it is not possible to use them inside of scripts.
Source
The Project is an open source software and can be found at https://github.com/gottliebtfreitag/inspexel/