PDA

View Full Version : Trouble using USB2Dynamixel and Arbotix-M at the same time



Speak1ng2m3
04-27-2015, 08:34 AM
I am in a group of students building a motion-controlled robot using Dynamixel servos. Specifically we are using the MX-64T series motors (TTL protocol) and the EX-106+ series motors (RS-485, now discontinued). To control the MX's we have an Arbotix-M from Vanadium labs and to control the EX's we have the USB2Dynamixel. We have code working for both systems separately, but we are running into an issue where we can't use both controllers on the same computer. For some reason the USB2Dynamixel cannot find the EX motors (using the Dynamixel Wizard) when the Arbotix-M is plugged in, but as soon as we remove the Arbotix, we don't run into issues with the USB2Dynamixel.

Does anyone have any inkling as to what might be going on here? We have an arduino controlling Hitec H-422 servos without issue so we don't think that serial communication is inherently the problem. Somehow the two devices are interfering with each other, though I don't think they are using the same libraries.

All help would be greatly appreciated. Also if you are curious about the project I will be glad to provide information.:veryhappy:

kgranat
04-27-2015, 10:56 AM
That's super strange. What kind of FTDI device are you using to control the ArbotiX (UartSBee, FTDI-USB cable, other)? How are you powering the two setups? Any info or pictures on the wiring will help us debug your issue.

Can you do the following:

1)Have your USB2DYNAMIXEL plugged in and your FTDI cable, but nor your ArbotiX. Does the USB2DYNAMIXEL work?

if it works,
2)Plug in your USB2DYNAMICEL, FTDI, and arbotiX - but don't have anything else plugged into your arbotix (no servos/ power/ etc). Dors the USB2DYNAMIXEL work?

If that works, start plugging in devices to your ArbotiX-M until you can repeat your problem and let us know.

KurtEck
04-27-2015, 12:23 PM
When I read this, my first questions was, what system are you plugging these into? Windows? Linux? ... Warning there are many people up here with more experience with Linux than me, so take with grain of salt.

If Linux, it has been awhile since I used USB2DYNAMIXEL (I am using USB2AX), but I believe there were cases where the device name was assumed to be something like /dev/ttyUSB0 or the like depending on protocol (FTDI, ...). If you had multiple devices of the same type, then one would be /dev/ttyUSB1 which the code may not be configured for.

Personally, in cases like this I try to setup UDEV rules so one would come up maybe like: /dev/ttyArbotix and the other /dev/ttyUSB2Dynamixel and update the software to use these. That way it does not matter in which order the devices get iterated by the system.

Again I am probably totally barking up wrong tree...

Speak1ng2m3
04-28-2015, 12:41 AM
We are using an FTDI-to-MiniUSB chip from sparkfun: https://www.sparkfun.com/products/10275. On the USB2Dynamixel (EX's) system we are using a variable power supply with the voltage set to 18.4 volts. For the MX system we are using a 13.6V supply. In both subsystems we are using separate SMPS2Dynamixels in order to smooth out the noise from the power supplies (basically just a big cap with a diode and indicator led). The grounds of these subsystems are connected. I can provide pictures and/or diagrams next time I am in the lab, which will be very soon.

That's an interesting idea about having just the FTDI chip plugged in. I am very curious to try it out. We updated both FTDI drivers to the same version (2.8.2) since the USB2Dynamixel has some trouble with 2.12. I am going to try both of those suggestions very soon and I will post the results when I find out. Thanks for taking the time to help!

Speak1ng2m3
04-28-2015, 12:48 AM
We are using a Windows computer, but it seems like you may be on to something. We found out that we couldn't use two USB2Dynamixels on the same computer because the library that the USB2Dynamixel uses closes out of any other instances of the library being run on the that computer (or something along those lines, our understanding is somewhat limited). Perhaps there is some environmental variable that both devices use as an alias despite them being different devices. Do you have much experience with Windows systems? Would there be a way on a Windows computer to control how the device is referred to? Thanks for you help!

We are currently setting up a workaround where we have another arduino hooked up to the computer, then said arduino will have a serial1 connection to the arbotix. We think there is a chance that this will fix the issue (without truly solving it, though).

Xevel
04-29-2015, 05:41 AM
Might be nothing, but try with only one power supply instead of two.