U2D2 is a communication interface device that simply connects the controller and DYNAMIXEL.
U2D2 is designed to work with regular PCs and laptops as well as most Linux and Windows system.
However, depending on the OS, assigned port name and number could be different.
DYNAMIXEL Workbench is used as a linux based library before, but it is now recommended to use DYNAMIXEL Wizard 2.0 for configuring DYNAMIXEL and DYNAMIXEL SDK for programming software.
DYNAMIXEL Workbench is not an optimized solution for certain application and not all DYNAMIXEL features are implemented in it.
It also may not support latest DYNAMIXELs because of the way it is designed.
Thanks Will. Do you have the list of features that are not implemented for the X-series?
Please refer to DYNAMIXEL Workbench manual below for more information.
Again, it is not recommended to use DYNAMIXEL Workbench as it is not an optimized library.
Thanks Will. What development system do you recommend?
It really depends on which hardware and software you are going to use for your project.
In most cases where custom hardware and software are used, I recommend to use the DYNAMIXEL SDK.
If it is an Arduino project, DYNAMIXEL Shield library or DYNAMIXEL2Arduino library can be used.
In case of using U2D2 without any embedded controllers(such as OpenCR or OpenCM9.04), it is also recommended to use DYNAMIXEL SDK.
Thanks Will. I have not decided which hardware and software to use for my project yet but most likely I will be using Linux. I can use OpenCM9.04 and Workbench to make the motors turn but after hearing the limitations, I need to consider other options. In the past you recommended using Intel based CPU if using OpenCR due to compatibility issues.. How about U2D2? Is it compatible with non-Intel based CPU?
From the eManual of OpenCM9.04 and Dynamixel SDK, they are compatible but I cannot seem to find information on how to use Dynamixel SDK via the OpenCM9.04. Is there a guide?
If this project is running on OpenCM9.04, I recommend to use DYNAMIXEL2Arduino library.
DYNAMIXEL2Arduino is a wrapper library of DYNAMIXEL SDK to help developers easily access DYNAMIXEL.
However, if you are pursuing a maximum optimization and freedom, DYNAMIXEL SDK will be the best choice.
The reason that I recommended Intel based CPU is because OpenCR Arduino example cannot be compiled under the ARM based CPU.
U2D2 does not necessarily follow this as long as the SBC support the FTDI USB driver.
If you have installed OpenCM9.04 board manager on Arduino IDE, you should have the OpenCM9.04 examples which also includes DYNAMIXEL SDK examples.
We do not provide a separate manual for OpenCM9.04 and DYNAMIXEL SDK, but the examples will give you enough information on how to use the library.
Thanks Will. To use the Linux version of the Dynamixel SDK, which version of Ubuntu do you recommend?
I have been programming in C for many years. Only used C++ for one project. As you know, C++ is an extension of C and we can write C programs using C++ compilers. Do you recommend me to use the C or C++ version of Dynamixel SDK? Do they have the same functionalities and performance?